diff --git a/.DS_Store b/.DS_Store index c7125dd..731716a 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/dist/kernel.js b/dist/kernel.js index 7f5f2ac..0bd233c 100644 --- a/dist/kernel.js +++ b/dist/kernel.js @@ -4996,12 +4996,13 @@ class WidgetView extends ContentView { return result; } sync(view) { + //ADDED EXTRA ARGUMENT TO PROVIDE PREVIOUS VERSION if (!this.dom || !this.widget.updateDOM(this.dom, view)) { if (this.dom && this.prevWidget) this.prevWidget.destroy(this.dom); this.prevWidget = null; this.setDOM(this.widget.toDOM(view)); - //console.error('Sync'); + this.dom.contentEditable = "false"; } } @@ -5818,6 +5819,7 @@ class BlockWidgetView extends ContentView { } get children() { return noChildren; } sync(view) { + console.error('Sync'); if (!this.dom || !this.widget.updateDOM(this.dom, view)) { if (this.dom && this.prevWidget) this.prevWidget.destroy(this.dom); @@ -7635,7 +7637,7 @@ function skipAtoms(view, oldPos, pos, selected) { if (pos.from > from && pos.from < to) { pos = oldPos.head > pos.from ? EditorSelection.cursor(from, 1) : EditorSelection.cursor(to, -1); moved = true; - + //ADDED if skipped though selection or a cursor move if (value.widget.skipPosition) { pos = value.widget.skipPosition(pos, oldPos, selected); } @@ -7983,7 +7985,7 @@ class MouseSelection { } function addsSelectionRange(view, event) { let facet = view.state.facet(clickAddsSelectionRange); - return facet.length ? facet[0](event) : browser.mac ? event.metaKey : event.ctrlKey; + return facet.length ? facet[0](event) : browser.mac ? event.altKey : event.altKey; } function dragMovesSelection(view, event) { let facet = view.state.facet(dragMovesSelection$1); @@ -8551,11 +8553,11 @@ class BlockInfo { return new BlockInfo(this.from, this.length + other.length, this.top, this.height + other.height, detail); } } -var QueryType = /*@__PURE__*/(function (QueryType) { +var QueryType$1 = /*@__PURE__*/(function (QueryType) { QueryType[QueryType["ByPos"] = 0] = "ByPos"; QueryType[QueryType["ByHeight"] = 1] = "ByHeight"; QueryType[QueryType["ByPosNoHeight"] = 2] = "ByPosNoHeight"; -return QueryType})(QueryType || (QueryType = {})); +return QueryType})(QueryType$1 || (QueryType$1 = {})); const Epsilon = 1e-3; class HeightMap { constructor(length, // The number of characters covered @@ -8587,8 +8589,8 @@ class HeightMap { let me = this, doc = oracle.doc; for (let i = changes.length - 1; i >= 0; i--) { let { fromA, toA, fromB, toB } = changes[i]; - let start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle.setDoc(oldDoc), 0, 0); - let end = start.to >= toA ? start : me.lineAt(toA, QueryType.ByPosNoHeight, oracle, 0, 0); + let start = me.lineAt(fromA, QueryType$1.ByPosNoHeight, oracle.setDoc(oldDoc), 0, 0); + let end = start.to >= toA ? start : me.lineAt(toA, QueryType$1.ByPosNoHeight, oracle, 0, 0); toB += end.to - toA; toA = end.to; while (i > 0 && start.from <= changes[i - 1].toA) { @@ -8596,7 +8598,7 @@ class HeightMap { fromB = changes[i - 1].fromB; i--; if (fromA < start.from) - start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle, 0, 0); + start = me.lineAt(fromA, QueryType$1.ByPosNoHeight, oracle, 0, 0); } fromB += start.from - fromA; fromA = start.from; @@ -8751,9 +8753,9 @@ class HeightMapGap extends HeightMap { } } lineAt(value, type, oracle, top, offset) { - if (type == QueryType.ByHeight) + if (type == QueryType$1.ByHeight) return this.blockAt(value, oracle, top, offset); - if (type == QueryType.ByPosNoHeight) { + if (type == QueryType$1.ByPosNoHeight) { let { from, to } = oracle.doc.lineAt(value); return new BlockInfo(from, to - from, 0, 0, BlockType.Text); } @@ -8858,12 +8860,12 @@ class HeightMapBranch extends HeightMap { } lineAt(value, type, oracle, top, offset) { let rightTop = top + this.left.height, rightOffset = offset + this.left.length + this.break; - let left = type == QueryType.ByHeight ? value < rightTop : value < rightOffset; + let left = type == QueryType$1.ByHeight ? value < rightTop : value < rightOffset; let base = left ? this.left.lineAt(value, type, oracle, top, offset) : this.right.lineAt(value, type, oracle, rightTop, rightOffset); if (this.break || (left ? base.to < rightOffset : base.from > rightOffset)) return base; - let subQuery = type == QueryType.ByPosNoHeight ? QueryType.ByPosNoHeight : QueryType.ByPos; + let subQuery = type == QueryType$1.ByPosNoHeight ? QueryType$1.ByPosNoHeight : QueryType$1.ByPos; if (left) return base.join(this.right.lineAt(rightOffset, subQuery, oracle, rightTop, rightOffset)); else @@ -8878,7 +8880,7 @@ class HeightMapBranch extends HeightMap { this.right.forEachLine(from, to, oracle, rightTop, rightOffset, f); } else { - let mid = this.lineAt(rightOffset, QueryType.ByPos, oracle, top, offset); + let mid = this.lineAt(rightOffset, QueryType$1.ByPos, oracle, top, offset); if (from < mid.from) this.left.forEachLine(from, mid.from - 1, oracle, top, offset, f); if (mid.to >= from && mid.from <= to) @@ -9368,35 +9370,35 @@ class ViewState { let marginTop = 0.5 - Math.max(-0.5, Math.min(0.5, bias / 1000 /* VP.Margin */ / 2)); let map = this.heightMap, oracle = this.heightOracle; let { visibleTop, visibleBottom } = this; - let viewport = new Viewport(map.lineAt(visibleTop - marginTop * 1000 /* VP.Margin */, QueryType.ByHeight, oracle, 0, 0).from, map.lineAt(visibleBottom + (1 - marginTop) * 1000 /* VP.Margin */, QueryType.ByHeight, oracle, 0, 0).to); + let viewport = new Viewport(map.lineAt(visibleTop - marginTop * 1000 /* VP.Margin */, QueryType$1.ByHeight, oracle, 0, 0).from, map.lineAt(visibleBottom + (1 - marginTop) * 1000 /* VP.Margin */, QueryType$1.ByHeight, oracle, 0, 0).to); // If scrollTarget is given, make sure the viewport includes that position if (scrollTarget) { let { head } = scrollTarget.range; if (head < viewport.from || head > viewport.to) { let viewHeight = Math.min(this.editorHeight, this.pixelViewport.bottom - this.pixelViewport.top); - let block = map.lineAt(head, QueryType.ByPos, oracle, 0, 0), topPos; + let block = map.lineAt(head, QueryType$1.ByPos, oracle, 0, 0), topPos; if (scrollTarget.y == "center") topPos = (block.top + block.bottom) / 2 - viewHeight / 2; else if (scrollTarget.y == "start" || scrollTarget.y == "nearest" && head < viewport.from) topPos = block.top; else topPos = block.bottom - viewHeight; - viewport = new Viewport(map.lineAt(topPos - 1000 /* VP.Margin */ / 2, QueryType.ByHeight, oracle, 0, 0).from, map.lineAt(topPos + viewHeight + 1000 /* VP.Margin */ / 2, QueryType.ByHeight, oracle, 0, 0).to); + viewport = new Viewport(map.lineAt(topPos - 1000 /* VP.Margin */ / 2, QueryType$1.ByHeight, oracle, 0, 0).from, map.lineAt(topPos + viewHeight + 1000 /* VP.Margin */ / 2, QueryType$1.ByHeight, oracle, 0, 0).to); } } return viewport; } mapViewport(viewport, changes) { let from = changes.mapPos(viewport.from, -1), to = changes.mapPos(viewport.to, 1); - return new Viewport(this.heightMap.lineAt(from, QueryType.ByPos, this.heightOracle, 0, 0).from, this.heightMap.lineAt(to, QueryType.ByPos, this.heightOracle, 0, 0).to); + return new Viewport(this.heightMap.lineAt(from, QueryType$1.ByPos, this.heightOracle, 0, 0).from, this.heightMap.lineAt(to, QueryType$1.ByPos, this.heightOracle, 0, 0).to); } // Checks if a given viewport covers the visible part of the // document and not too much beyond that. viewportIsAppropriate({ from, to }, bias = 0) { if (!this.inView) return true; - let { top } = this.heightMap.lineAt(from, QueryType.ByPos, this.heightOracle, 0, 0); - let { bottom } = this.heightMap.lineAt(to, QueryType.ByPos, this.heightOracle, 0, 0); + let { top } = this.heightMap.lineAt(from, QueryType$1.ByPos, this.heightOracle, 0, 0); + let { bottom } = this.heightMap.lineAt(to, QueryType$1.ByPos, this.heightOracle, 0, 0); let { visibleTop, visibleBottom } = this; return (from == 0 || top <= visibleTop - Math.max(10 /* VP.MinCoverMargin */, Math.min(-bias, 250 /* VP.MaxCoverMargin */))) && (to == this.state.doc.length || @@ -9533,10 +9535,10 @@ class ViewState { } lineBlockAt(pos) { return (pos >= this.viewport.from && pos <= this.viewport.to && this.viewportLines.find(b => b.from <= pos && b.to >= pos)) || - scaleBlock(this.heightMap.lineAt(pos, QueryType.ByPos, this.heightOracle, 0, 0), this.scaler); + scaleBlock(this.heightMap.lineAt(pos, QueryType$1.ByPos, this.heightOracle, 0, 0), this.scaler); } lineBlockAtHeight(height) { - return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(height), QueryType.ByHeight, this.heightOracle, 0, 0), this.scaler); + return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(height), QueryType$1.ByHeight, this.heightOracle, 0, 0), this.scaler); } elementAtHeight(height) { return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(height), this.heightOracle, 0, 0), this.scaler); @@ -9616,8 +9618,8 @@ class BigScaler { constructor(oracle, heightMap, viewports) { let vpHeight = 0, base = 0, domBase = 0; this.viewports = viewports.map(({ from, to }) => { - let top = heightMap.lineAt(from, QueryType.ByPos, oracle, 0, 0).top; - let bottom = heightMap.lineAt(to, QueryType.ByPos, oracle, 0, 0).bottom; + let top = heightMap.lineAt(from, QueryType$1.ByPos, oracle, 0, 0).top; + let bottom = heightMap.lineAt(to, QueryType$1.ByPos, oracle, 0, 0).bottom; vpHeight += bottom - top; return { from, to, top, bottom, domTop: 0, domBottom: 0 }; }); @@ -9675,7 +9677,7 @@ function buildTheme(main, spec, scopes) { } }); } -const baseTheme$1$1 = /*@__PURE__*/buildTheme("." + baseThemeID, { +const baseTheme$1$2 = /*@__PURE__*/buildTheme("." + baseThemeID, { "&": { position: "relative !important", boxSizing: "border-box", @@ -9826,6 +9828,11 @@ const baseTheme$1$1 = /*@__PURE__*/buildTheme("." + baseThemeID, { ".cm-panels": { boxSizing: "border-box", position: "sticky", + borderRadius: "4px", + marginTop: "0.5rem", + width: '30%', + minWidth: '190px', + marginLeft: 'auto', left: 0, right: 0 }, @@ -9833,12 +9840,6 @@ const baseTheme$1$1 = /*@__PURE__*/buildTheme("." + baseThemeID, { 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" @@ -9876,31 +9877,24 @@ const baseTheme$1$1 = /*@__PURE__*/buildTheme("." + baseThemeID, { }, ".cm-button": { verticalAlign: "middle", - color: "inherit", + color: "#333338", fontSize: "70%", padding: ".2em 1em", - borderRadius: "1px" + borderRadius: "4px" }, "&light .cm-button": { - backgroundImage: "linear-gradient(#eff1f5, #d9d9df)", - border: "1px solid #888", - "&:active": { - backgroundImage: "linear-gradient(#b4b4b4, #d0d3d6)" - } + background: "#eee" }, "&dark .cm-button": { - backgroundImage: "linear-gradient(#393939, #111)", - border: "1px solid #888", - "&:active": { - backgroundImage: "linear-gradient(#111, #333)" - } + background: "#eee" }, ".cm-textfield": { verticalAlign: "middle", color: "inherit", fontSize: "70%", + borderRadius: '0.25rem', border: "1px solid silver", - padding: ".2em .5em" + padding: ".0em .5em" }, "&light .cm-textfield": { backgroundColor: "white" @@ -11034,7 +11028,7 @@ class EditorView { } mountStyles() { this.styleModules = this.state.facet(styleModule); - StyleModule.mount(this.root, this.styleModules.concat(baseTheme$1$1).reverse()); + StyleModule.mount(this.root, this.styleModules.concat(baseTheme$1$2).reverse()); } readMeasured() { if (this.updateState == 2 /* UpdateState.Updating */) @@ -11655,6 +11649,14 @@ function getKeymap(state) { Keymaps.set(bindings, map = buildKeymap(bindings.reduce((a, b) => a.concat(b), []))); return map; } +/** +Run the key handlers registered for a given scope. The event +object should be a `"keydown"` event. Returns true if any of the +handlers handled it. +*/ +function runScopeHandlers(view, event, scope) { + return runHandlers(getKeymap(view.state), event, view, scope); +} let storedPrefix = null; const PrefixTimeout = 4000; function buildKeymap(bindings, platform = currentPlatform) { @@ -12749,7 +12751,7 @@ const tooltipPlugin = /*@__PURE__*/ViewPlugin.fromClass(class { scroll() { this.maybeMeasure(); } } }); -const baseTheme$2 = /*@__PURE__*/EditorView.baseTheme({ +const baseTheme$4 = /*@__PURE__*/EditorView.baseTheme({ ".cm-tooltip": { zIndex: 100, boxSizing: "border-box" @@ -12816,7 +12818,7 @@ const noOffset = { x: 0, y: 0 }; Facet to which an extension can add a value to show a tooltip. */ const showTooltip = /*@__PURE__*/Facet.define({ - enables: [tooltipPlugin, baseTheme$2] + enables: [tooltipPlugin, baseTheme$4] }); /** Get the active tooltip view for a given tooltip, if available. @@ -12829,6 +12831,175 @@ function getTooltip(view, tooltip) { return found < 0 ? null : plugin.manager.tooltipViews[found]; } +const panelConfig = /*@__PURE__*/Facet.define({ + combine(configs) { + let topContainer, bottomContainer; + for (let c of configs) { + topContainer = topContainer || c.topContainer; + bottomContainer = bottomContainer || c.bottomContainer; + } + return { topContainer, bottomContainer }; + } +}); +/** +Get the active panel created by the given constructor, if any. +This can be useful when you need access to your panels' DOM +structure. +*/ +function getPanel(view, panel) { + let plugin = view.plugin(panelPlugin); + let index = plugin ? plugin.specs.indexOf(panel) : -1; + return index > -1 ? plugin.panels[index] : null; +} +const panelPlugin = /*@__PURE__*/ViewPlugin.fromClass(class { + constructor(view) { + this.input = view.state.facet(showPanel); + this.specs = this.input.filter(s => s); + this.panels = this.specs.map(spec => spec(view)); + let conf = view.state.facet(panelConfig); + this.top = new PanelGroup(view, true, conf.topContainer); + this.bottom = new PanelGroup(view, false, conf.bottomContainer); + this.top.sync(this.panels.filter(p => p.top)); + this.bottom.sync(this.panels.filter(p => !p.top)); + for (let p of this.panels) { + p.dom.classList.add("cm-panel"); + if (p.mount) + p.mount(); + } + } + update(update) { + let conf = update.state.facet(panelConfig); + if (this.top.container != conf.topContainer) { + this.top.sync([]); + this.top = new PanelGroup(update.view, true, conf.topContainer); + } + if (this.bottom.container != conf.bottomContainer) { + this.bottom.sync([]); + this.bottom = new PanelGroup(update.view, false, conf.bottomContainer); + } + this.top.syncClasses(); + this.bottom.syncClasses(); + let input = update.state.facet(showPanel); + if (input != this.input) { + let specs = input.filter(x => x); + let panels = [], top = [], bottom = [], mount = []; + for (let spec of specs) { + let known = this.specs.indexOf(spec), panel; + if (known < 0) { + panel = spec(update.view); + mount.push(panel); + } + else { + panel = this.panels[known]; + if (panel.update) + panel.update(update); + } + panels.push(panel); + (panel.top ? top : bottom).push(panel); + } + this.specs = specs; + this.panels = panels; + this.top.sync(top); + this.bottom.sync(bottom); + for (let p of mount) { + p.dom.classList.add("cm-panel"); + if (p.mount) + p.mount(); + } + } + else { + for (let p of this.panels) + if (p.update) + p.update(update); + } + } + destroy() { + this.top.sync([]); + this.bottom.sync([]); + } +}, { + provide: plugin => EditorView.scrollMargins.of(view => { + let value = view.plugin(plugin); + return value && { top: value.top.scrollMargin(), bottom: value.bottom.scrollMargin() }; + }) +}); +class PanelGroup { + constructor(view, top, container) { + this.view = view; + this.top = top; + this.container = container; + this.dom = undefined; + this.classes = ""; + this.panels = []; + this.syncClasses(); + } + sync(panels) { + for (let p of this.panels) + if (p.destroy && panels.indexOf(p) < 0) + p.destroy(); + this.panels = panels; + this.syncDOM(); + } + syncDOM() { + if (this.panels.length == 0) { + if (this.dom) { + this.dom.remove(); + this.dom = undefined; + } + return; + } + if (!this.dom) { + this.dom = document.createElement("div"); + this.dom.className = this.top ? "cm-panels cm-panels-top" : "cm-panels cm-panels-bottom"; + this.dom.style[this.top ? "top" : "bottom"] = "0"; + let parent = this.container || this.view.dom; + parent.insertBefore(this.dom, this.top ? parent.firstChild : null); + } + let curDOM = this.dom.firstChild; + for (let panel of this.panels) { + if (panel.dom.parentNode == this.dom) { + while (curDOM != panel.dom) + curDOM = rm(curDOM); + curDOM = curDOM.nextSibling; + } + else { + this.dom.insertBefore(panel.dom, curDOM); + } + } + while (curDOM) + curDOM = rm(curDOM); + } + scrollMargin() { + return !this.dom || this.container ? 0 + : Math.max(0, this.top ? + this.dom.getBoundingClientRect().bottom - Math.max(0, this.view.scrollDOM.getBoundingClientRect().top) : + Math.min(innerHeight, this.view.scrollDOM.getBoundingClientRect().bottom) - this.dom.getBoundingClientRect().top); + } + syncClasses() { + if (!this.container || this.classes == this.view.themeClasses) + return; + for (let cls of this.classes.split(" ")) + if (cls) + this.container.classList.remove(cls); + for (let cls of (this.classes = this.view.themeClasses).split(" ")) + if (cls) + this.container.classList.add(cls); + } +} +function rm(node) { + let next = node.nextSibling; + node.remove(); + return next; +} +/** +Opening a panel is done by providing a constructor function for +the panel through this facet. (The panel is closed again when its +constructor is no longer provided.) Values of `null` are ignored. +*/ +const showPanel = /*@__PURE__*/Facet.define({ + enables: panelPlugin +}); + /** A gutter marker represents a bit of information attached to a line in a specific gutter. Your own custom markers have to extend this @@ -12864,7 +13035,25 @@ Markers given to this facet should _only_ define an in all gutters for the line). */ const gutterLineClass = /*@__PURE__*/Facet.define(); +const defaults = { + class: "", + renderEmptyElements: false, + elementStyle: "", + markers: () => RangeSet.empty, + lineMarker: () => null, + lineMarkerChange: null, + initialSpacer: null, + updateSpacer: null, + domEventHandlers: {} +}; const activeGutters = /*@__PURE__*/Facet.define(); +/** +Define an editor gutter. The order in which the gutters appear is +determined by their extension priority. +*/ +function gutter(config) { + return [gutters(), activeGutters.of(Object.assign(Object.assign({}, defaults), config))]; +} const unfixGutters = /*@__PURE__*/Facet.define({ combine: values => values.some(x => x) }); @@ -17032,6 +17221,265 @@ function foldInside(node) { let first = node.firstChild, last = node.lastChild; return first && first.to < last.from ? { from: first.to, to: last.type.isError ? node.to : last.from } : null; } +function syntaxFolding(state, start, end) { + let tree = syntaxTree(state); + if (tree.length < end) + return null; + let inner = tree.resolveInner(end, 1); + let found = null; + for (let cur = inner; cur; cur = cur.parent) { + if (cur.to <= end || cur.from > end) + continue; + if (found && cur.from < start) + break; + let prop = cur.type.prop(foldNodeProp); + if (prop && (cur.to < tree.length - 50 || tree.length == state.doc.length || !isUnfinished(cur))) { + let value = prop(cur, state); + if (value && value.from <= end && value.from >= start && value.to > end) + found = value; + } + } + return found; +} +function isUnfinished(node) { + let ch = node.lastChild; + return ch && ch.to == node.to && ch.type.isError; +} +/** +Check whether the given line is foldable. First asks any fold +services registered through +[`foldService`](https://codemirror.net/6/docs/ref/#language.foldService), and if none of them return +a result, tries to query the [fold node +prop](https://codemirror.net/6/docs/ref/#language.foldNodeProp) of syntax nodes that cover the end +of the line. +*/ +function foldable(state, lineStart, lineEnd) { + for (let service of state.facet(foldService)) { + let result = service(state, lineStart, lineEnd); + if (result) + return result; + } + return syntaxFolding(state, lineStart, lineEnd); +} +function mapRange(range, mapping) { + let from = mapping.mapPos(range.from, 1), to = mapping.mapPos(range.to, -1); + return from >= to ? undefined : { from, to }; +} +/** +State effect that can be attached to a transaction to fold the +given range. (You probably only need this in exceptional +circumstances—usually you'll just want to let +[`foldCode`](https://codemirror.net/6/docs/ref/#language.foldCode) and the [fold +gutter](https://codemirror.net/6/docs/ref/#language.foldGutter) create the transactions.) +*/ +const foldEffect = /*@__PURE__*/StateEffect.define({ map: mapRange }); +/** +State effect that unfolds the given range (if it was folded). +*/ +const unfoldEffect = /*@__PURE__*/StateEffect.define({ map: mapRange }); +/** +The state field that stores the folded ranges (as a [decoration +set](https://codemirror.net/6/docs/ref/#view.DecorationSet)). Can be passed to +[`EditorState.toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) and +[`fromJSON`](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) to serialize the fold +state. +*/ +const foldState = /*@__PURE__*/StateField.define({ + create() { + return Decoration.none; + }, + update(folded, tr) { + folded = folded.map(tr.changes); + for (let e of tr.effects) { + if (e.is(foldEffect) && !foldExists(folded, e.value.from, e.value.to)) + folded = folded.update({ add: [foldWidget.range(e.value.from, e.value.to)] }); + else if (e.is(unfoldEffect)) + folded = folded.update({ filter: (from, to) => e.value.from != from || e.value.to != to, + filterFrom: e.value.from, filterTo: e.value.to }); + } + // Clear folded ranges that cover the selection head + if (tr.selection) { + let onSelection = false, { head } = tr.selection.main; + folded.between(head, head, (a, b) => { if (a < head && b > head) + onSelection = true; }); + if (onSelection) + folded = folded.update({ + filterFrom: head, + filterTo: head, + filter: (a, b) => b <= head || a >= head + }); + } + return folded; + }, + provide: f => EditorView.decorations.from(f), + toJSON(folded, state) { + let ranges = []; + folded.between(0, state.doc.length, (from, to) => { ranges.push(from, to); }); + return ranges; + }, + fromJSON(value) { + if (!Array.isArray(value) || value.length % 2) + throw new RangeError("Invalid JSON for fold state"); + let ranges = []; + for (let i = 0; i < value.length;) { + let from = value[i++], to = value[i++]; + if (typeof from != "number" || typeof to != "number") + throw new RangeError("Invalid JSON for fold state"); + ranges.push(foldWidget.range(from, to)); + } + return Decoration.set(ranges, true); + } +}); +function findFold(state, from, to) { + var _a; + let found = null; + (_a = state.field(foldState, false)) === null || _a === void 0 ? void 0 : _a.between(from, to, (from, to) => { + if (!found || found.from > from) + found = { from, to }; + }); + return found; +} +function foldExists(folded, from, to) { + let found = false; + folded.between(from, from, (a, b) => { if (a == from && b == to) + found = true; }); + return found; +} +const defaultConfig = { + placeholderDOM: null, + placeholderText: "…" +}; +const foldConfig = /*@__PURE__*/Facet.define({ + combine(values) { return combineConfig(values, defaultConfig); } +}); +/** +Create an extension that configures code folding. +*/ +function codeFolding(config) { + let result = [foldState, baseTheme$1$1]; + if (config) + result.push(foldConfig.of(config)); + return result; +} +const foldWidget = /*@__PURE__*/Decoration.replace({ widget: /*@__PURE__*/new class extends WidgetType { + toDOM(view) { + let { state } = view, conf = state.facet(foldConfig); + let onclick = (event) => { + let line = view.lineBlockAt(view.posAtDOM(event.target)); + let folded = findFold(view.state, line.from, line.to); + if (folded) + view.dispatch({ effects: unfoldEffect.of(folded) }); + event.preventDefault(); + }; + if (conf.placeholderDOM) + return conf.placeholderDOM(view, onclick); + let element = document.createElement("span"); + element.textContent = conf.placeholderText; + element.setAttribute("aria-label", state.phrase("folded code")); + element.title = state.phrase("unfold"); + element.className = "cm-foldPlaceholder"; + element.onclick = onclick; + return element; + } + } }); +const foldGutterDefaults = { + openText: "⌄", + closedText: "›", + markerDOM: null, + domEventHandlers: {}, + foldingChanged: () => false +}; +class FoldMarker extends GutterMarker { + constructor(config, open) { + super(); + this.config = config; + this.open = open; + } + eq(other) { return this.config == other.config && this.open == other.open; } + toDOM(view) { + if (this.config.markerDOM) + return this.config.markerDOM(this.open); + let span = document.createElement("span"); + span.textContent = this.open ? this.config.openText : this.config.closedText; + span.title = view.state.phrase(this.open ? "Fold line" : "Unfold line"); + return span; + } +} +/** +Create an extension that registers a fold gutter, which shows a +fold status indicator before foldable lines (which can be clicked +to fold or unfold the line). +*/ +function foldGutter(config = {}) { + let fullConfig = Object.assign(Object.assign({}, foldGutterDefaults), config); + let canFold = new FoldMarker(fullConfig, true), canUnfold = new FoldMarker(fullConfig, false); + let markers = ViewPlugin.fromClass(class { + constructor(view) { + this.from = view.viewport.from; + this.markers = this.buildMarkers(view); + } + update(update) { + if (update.docChanged || update.viewportChanged || + update.startState.facet(language) != update.state.facet(language) || + update.startState.field(foldState, false) != update.state.field(foldState, false) || + syntaxTree(update.startState) != syntaxTree(update.state) || + fullConfig.foldingChanged(update)) + this.markers = this.buildMarkers(update.view); + } + buildMarkers(view) { + let builder = new RangeSetBuilder(); + for (let line of view.viewportLineBlocks) { + let mark = findFold(view.state, line.from, line.to) ? canUnfold + : foldable(view.state, line.from, line.to) ? canFold : null; + if (mark) + builder.add(line.from, line.from, mark); + } + return builder.finish(); + } + }); + let { domEventHandlers } = fullConfig; + return [ + markers, + gutter({ + class: "cm-foldGutter", + markers(view) { var _a; return ((_a = view.plugin(markers)) === null || _a === void 0 ? void 0 : _a.markers) || RangeSet.empty; }, + initialSpacer() { + return new FoldMarker(fullConfig, false); + }, + domEventHandlers: Object.assign(Object.assign({}, domEventHandlers), { click: (view, line, event) => { + if (domEventHandlers.click && domEventHandlers.click(view, line, event)) + return true; + let folded = findFold(view.state, line.from, line.to); + if (folded) { + view.dispatch({ effects: unfoldEffect.of(folded) }); + return true; + } + let range = foldable(view.state, line.from, line.to); + if (range) { + view.dispatch({ effects: foldEffect.of(range) }); + return true; + } + return false; + } }) + }), + codeFolding() + ]; +} +const baseTheme$1$1 = /*@__PURE__*/EditorView.baseTheme({ + ".cm-foldPlaceholder": { + backgroundColor: "#eee", + border: "1px solid #ddd", + color: "#888", + borderRadius: ".2em", + margin: "0 1px", + padding: "0 1px", + cursor: "pointer" + }, + ".cm-foldGutter span": { + padding: "0 1px", + cursor: "pointer" + } +}); /** A highlight style associates CSS styles with higlighting @@ -17191,7 +17639,7 @@ const defaultHighlightStyle$1 = /*@__PURE__*/HighlightStyle.define([ color: "#f00" } ]); -const baseTheme$1 = /*@__PURE__*/EditorView.baseTheme({ +const baseTheme$3 = /*@__PURE__*/EditorView.baseTheme({ "&.cm-focused .cm-matchingBracket": { backgroundColor: "#328c8252" }, "&.cm-focused .cm-nonmatchingBracket": { backgroundColor: "#bb555544" } }); @@ -17239,7 +17687,7 @@ const bracketMatchingState = /*@__PURE__*/StateField.define({ }); const bracketMatchingUnique = [ bracketMatchingState, - baseTheme$1 + baseTheme$3 ]; /** Create an extension that enables bracket matching. Whenever the @@ -19279,7 +19727,7 @@ const defaultKeymap = /*@__PURE__*/[ { key: "Mod-Alt-\\", run: indentSelection }, { key: "Shift-Mod-k", run: deleteLine }, { key: "Shift-Mod-\\", run: cursorMatchingBracket }, - { key: "Mod-/", run: toggleComment }, + { key: "Mod-/", win: "Alt+/", linux: "Alt+/", run: toggleComment }, { key: "Alt-A", run: toggleBlockComment } ].concat(standardKeymap); /** @@ -19290,6 +19738,34 @@ this. */ const indentWithTab = { key: "Tab", run: indentMore, shift: indentLess }; +function crelt() { + var elt = arguments[0]; + if (typeof elt == "string") elt = document.createElement(elt); + var i = 1, next = arguments[1]; + if (next && typeof next == "object" && next.nodeType == null && !Array.isArray(next)) { + for (var name in next) if (Object.prototype.hasOwnProperty.call(next, name)) { + var value = next[name]; + if (typeof value == "string") elt.setAttribute(name, value); + else if (value != null) elt[name] = value; + } + i++; + } + for (; i < arguments.length; i++) add(elt, arguments[i]); + return elt +} + +function add(elt, child) { + if (typeof child == "string") { + elt.appendChild(document.createTextNode(child)); + } else if (child == null) ; else if (child.nodeType != null) { + elt.appendChild(child); + } else if (Array.isArray(child)) { + for (var i = 0; i < child.length; i++) add(elt, child[i]); + } else { + throw new RangeError("Unsupported child node: " + child) + } +} + const basicNormalize = typeof String.prototype.normalize == "function" ? x => x.normalize("NFKD") : x => x; /** @@ -19413,6 +19889,272 @@ class SearchCursor { if (typeof Symbol != "undefined") SearchCursor.prototype[Symbol.iterator] = function () { return this; }; +const empty = { from: -1, to: -1, match: /*@__PURE__*//.*/.exec("") }; +const baseFlags = "gm" + (/x/.unicode == null ? "" : "u"); +/** +This class is similar to [`SearchCursor`](https://codemirror.net/6/docs/ref/#search.SearchCursor) +but searches for a regular expression pattern instead of a plain +string. +*/ +class RegExpCursor { + /** + Create a cursor that will search the given range in the given + document. `query` should be the raw pattern (as you'd pass it to + `new RegExp`). + */ + constructor(text, query, options, from = 0, to = text.length) { + this.text = text; + this.to = to; + this.curLine = ""; + /** + Set to `true` when the cursor has reached the end of the search + range. + */ + this.done = false; + /** + Will contain an object with the extent of the match and the + match object when [`next`](https://codemirror.net/6/docs/ref/#search.RegExpCursor.next) + sucessfully finds a match. + */ + this.value = empty; + if (/\\[sWDnr]|\n|\r|\[\^/.test(query)) + return new MultilineRegExpCursor(text, query, options, from, to); + this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? "i" : "")); + this.test = options === null || options === void 0 ? void 0 : options.test; + this.iter = text.iter(); + let startLine = text.lineAt(from); + this.curLineStart = startLine.from; + this.matchPos = toCharEnd(text, from); + this.getLine(this.curLineStart); + } + getLine(skip) { + this.iter.next(skip); + if (this.iter.lineBreak) { + this.curLine = ""; + } + else { + this.curLine = this.iter.value; + if (this.curLineStart + this.curLine.length > this.to) + this.curLine = this.curLine.slice(0, this.to - this.curLineStart); + this.iter.next(); + } + } + nextLine() { + this.curLineStart = this.curLineStart + this.curLine.length + 1; + if (this.curLineStart > this.to) + this.curLine = ""; + else + this.getLine(0); + } + /** + Move to the next match, if there is one. + */ + next() { + for (let off = this.matchPos - this.curLineStart;;) { + this.re.lastIndex = off; + let match = this.matchPos <= this.to && this.re.exec(this.curLine); + if (match) { + let from = this.curLineStart + match.index, to = from + match[0].length; + this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0)); + if (from == this.curLineStart + this.curLine.length) + this.nextLine(); + if ((from < to || from > this.value.to) && (!this.test || this.test(from, to, match))) { + this.value = { from, to, match }; + return this; + } + off = this.matchPos - this.curLineStart; + } + else if (this.curLineStart + this.curLine.length < this.to) { + this.nextLine(); + off = 0; + } + else { + this.done = true; + return this; + } + } + } +} +const flattened = /*@__PURE__*/new WeakMap(); +// Reusable (partially) flattened document strings +class FlattenedDoc { + constructor(from, text) { + this.from = from; + this.text = text; + } + get to() { return this.from + this.text.length; } + static get(doc, from, to) { + let cached = flattened.get(doc); + if (!cached || cached.from >= to || cached.to <= from) { + let flat = new FlattenedDoc(from, doc.sliceString(from, to)); + flattened.set(doc, flat); + return flat; + } + if (cached.from == from && cached.to == to) + return cached; + let { text, from: cachedFrom } = cached; + if (cachedFrom > from) { + text = doc.sliceString(from, cachedFrom) + text; + cachedFrom = from; + } + if (cached.to < to) + text += doc.sliceString(cached.to, to); + flattened.set(doc, new FlattenedDoc(cachedFrom, text)); + return new FlattenedDoc(from, text.slice(from - cachedFrom, to - cachedFrom)); + } +} +class MultilineRegExpCursor { + constructor(text, query, options, from, to) { + this.text = text; + this.to = to; + this.done = false; + this.value = empty; + this.matchPos = toCharEnd(text, from); + this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? "i" : "")); + this.test = options === null || options === void 0 ? void 0 : options.test; + this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Chunk.Base */)); + } + chunkEnd(pos) { + return pos >= this.to ? this.to : this.text.lineAt(pos).to; + } + next() { + for (;;) { + let off = this.re.lastIndex = this.matchPos - this.flat.from; + let match = this.re.exec(this.flat.text); + // Skip empty matches directly after the last match + if (match && !match[0] && match.index == off) { + this.re.lastIndex = off + 1; + match = this.re.exec(this.flat.text); + } + if (match) { + let from = this.flat.from + match.index, to = from + match[0].length; + // If a match goes almost to the end of a noncomplete chunk, try + // again, since it'll likely be able to match more + if ((this.flat.to >= this.to || match.index + match[0].length <= this.flat.text.length - 10) && + (!this.test || this.test(from, to, match))) { + this.value = { from, to, match }; + this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0)); + return this; + } + } + if (this.flat.to == this.to) { + this.done = true; + return this; + } + // Grow the flattened doc + this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2)); + } + } +} +if (typeof Symbol != "undefined") { + RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] = + function () { return this; }; +} +function validRegExp(source) { + try { + new RegExp(source, baseFlags); + return true; + } + catch (_a) { + return false; + } +} +function toCharEnd(text, pos) { + if (pos >= text.length) + return pos; + let line = text.lineAt(pos), next; + while (pos < line.to && (next = line.text.charCodeAt(pos - line.from)) >= 0xDC00 && next < 0xE000) + pos++; + return pos; +} + +function createLineDialog(view) { + let input = crelt("input", { class: "cm-textfield", name: "line" }); + let dom = crelt("form", { + class: "cm-gotoLine", + onkeydown: (event) => { + if (event.keyCode == 27) { // Escape + event.preventDefault(); + view.dispatch({ effects: dialogEffect.of(false) }); + view.focus(); + } + else if (event.keyCode == 13) { // Enter + event.preventDefault(); + go(); + } + }, + onsubmit: (event) => { + event.preventDefault(); + go(); + } + }, crelt("label", view.state.phrase("Go to line"), ": ", input), " ", crelt("button", { class: "cm-button", type: "submit" }, view.state.phrase("go"))); + function go() { + let match = /^([+-])?(\d+)?(:\d+)?(%)?$/.exec(input.value); + if (!match) + return; + let { state } = view, startLine = state.doc.lineAt(state.selection.main.head); + let [, sign, ln, cl, percent] = match; + let col = cl ? +cl.slice(1) : 0; + let line = ln ? +ln : startLine.number; + if (ln && percent) { + let pc = line / 100; + if (sign) + pc = pc * (sign == "-" ? -1 : 1) + (startLine.number / state.doc.lines); + line = Math.round(state.doc.lines * pc); + } + else if (ln && sign) { + line = line * (sign == "-" ? -1 : 1) + startLine.number; + } + let docLine = state.doc.line(Math.max(1, Math.min(state.doc.lines, line))); + view.dispatch({ + effects: dialogEffect.of(false), + selection: EditorSelection.cursor(docLine.from + Math.max(0, Math.min(col, docLine.length))), + scrollIntoView: true + }); + view.focus(); + } + return { dom }; +} +const dialogEffect = /*@__PURE__*/StateEffect.define(); +const dialogField = /*@__PURE__*/StateField.define({ + create() { return true; }, + update(value, tr) { + for (let e of tr.effects) + if (e.is(dialogEffect)) + value = e.value; + return value; + }, + provide: f => showPanel.from(f, val => val ? createLineDialog : null) +}); +/** +Command that shows a dialog asking the user for a line number, and +when a valid position is provided, moves the cursor to that line. + +Supports line numbers, relative line offsets prefixed with `+` or +`-`, document percentages suffixed with `%`, and an optional +column position by adding `:` and a second number after the line +number. +*/ +const gotoLine = view => { + let panel = getPanel(view, createLineDialog); + if (!panel) { + let effects = [dialogEffect.of(true)]; + if (view.state.field(dialogField, false) == null) + effects.push(StateEffect.appendConfig.of([dialogField, baseTheme$1])); + view.dispatch({ effects }); + panel = getPanel(view, createLineDialog); + } + if (panel) + panel.dom.querySelector("input").focus(); + return true; +}; +const baseTheme$1 = /*@__PURE__*/EditorView.baseTheme({ + ".cm-panel.cm-gotoLine": { + padding: "2px 6px 4px", + "& label": { fontSize: "80%" } + } +}); + const defaultHighlightOptions = { highlightWordAroundCursor: false, minSelectionLength: 1, @@ -19516,6 +20258,706 @@ const defaultTheme = /*@__PURE__*/EditorView.baseTheme({ ".cm-selectionMatch": { backgroundColor: "#99ff7780" }, ".cm-searchMatch .cm-selectionMatch": { backgroundColor: "transparent" } }); +// Select the words around the cursors. +const selectWord = ({ state, dispatch }) => { + let { selection } = state; + let newSel = EditorSelection.create(selection.ranges.map(range => state.wordAt(range.head) || EditorSelection.cursor(range.head)), selection.mainIndex); + if (newSel.eq(selection)) + return false; + dispatch(state.update({ selection: newSel })); + return true; +}; +// Find next occurrence of query relative to last cursor. Wrap around +// the document if there are no more matches. +function findNextOccurrence(state, query) { + let { main, ranges } = state.selection; + let word = state.wordAt(main.head), fullWord = word && word.from == main.from && word.to == main.to; + for (let cycled = false, cursor = new SearchCursor(state.doc, query, ranges[ranges.length - 1].to);;) { + cursor.next(); + if (cursor.done) { + if (cycled) + return null; + cursor = new SearchCursor(state.doc, query, 0, Math.max(0, ranges[ranges.length - 1].from - 1)); + cycled = true; + } + else { + if (cycled && ranges.some(r => r.from == cursor.value.from)) + continue; + if (fullWord) { + let word = state.wordAt(cursor.value.from); + if (!word || word.from != cursor.value.from || word.to != cursor.value.to) + continue; + } + return cursor.value; + } + } +} +/** +Select next occurrence of the current selection. Expand selection +to the surrounding word when the selection is empty. +*/ +const selectNextOccurrence = ({ state, dispatch }) => { + let { ranges } = state.selection; + if (ranges.some(sel => sel.from === sel.to)) + return selectWord({ state, dispatch }); + let searchedText = state.sliceDoc(ranges[0].from, ranges[0].to); + if (state.selection.ranges.some(r => state.sliceDoc(r.from, r.to) != searchedText)) + return false; + let range = findNextOccurrence(state, searchedText); + if (!range) + return false; + dispatch(state.update({ + selection: state.selection.addRange(EditorSelection.range(range.from, range.to), false), + effects: EditorView.scrollIntoView(range.to) + })); + return true; +}; + +const searchConfigFacet = /*@__PURE__*/Facet.define({ + combine(configs) { + return combineConfig(configs, { + top: false, + caseSensitive: false, + literal: false, + wholeWord: false, + createPanel: view => new SearchPanel(view), + scrollToMatch: range => EditorView.scrollIntoView(range) + }); + } +}); +/** +Add search state to the editor configuration, and optionally +configure the search extension. +([`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) will automatically +enable this if it isn't already on). +*/ +function search(config) { + return config ? [searchConfigFacet.of(config), searchExtensions] : searchExtensions; +} +/** +A search query. Part of the editor's search state. +*/ +class SearchQuery { + /** + Create a query object. + */ + constructor(config) { + this.search = config.search; + this.caseSensitive = !!config.caseSensitive; + this.literal = !!config.literal; + this.regexp = !!config.regexp; + this.replace = config.replace || ""; + this.valid = !!this.search && (!this.regexp || validRegExp(this.search)); + this.unquoted = this.unquote(this.search); + this.wholeWord = !!config.wholeWord; + } + /** + @internal + */ + unquote(text) { + return this.literal ? text : + text.replace(/\\([nrt\\])/g, (_, ch) => ch == "n" ? "\n" : ch == "r" ? "\r" : ch == "t" ? "\t" : "\\"); + } + /** + Compare this query to another query. + */ + eq(other) { + return this.search == other.search && this.replace == other.replace && + this.caseSensitive == other.caseSensitive && this.regexp == other.regexp && + this.wholeWord == other.wholeWord; + } + /** + @internal + */ + create() { + return this.regexp ? new RegExpQuery(this) : new StringQuery(this); + } + /** + Get a search cursor for this query, searching through the given + range in the given state. + */ + getCursor(state, from = 0, to) { + let st = state.doc ? state : EditorState.create({ doc: state }); + if (to == null) + to = st.doc.length; + return this.regexp ? regexpCursor(this, st, from, to) : stringCursor(this, st, from, to); + } +} +class QueryType { + constructor(spec) { + this.spec = spec; + } +} +function stringCursor(spec, state, from, to) { + return new SearchCursor(state.doc, spec.unquoted, from, to, spec.caseSensitive ? undefined : x => x.toLowerCase(), spec.wholeWord ? stringWordTest(state.doc, state.charCategorizer(state.selection.main.head)) : undefined); +} +function stringWordTest(doc, categorizer) { + return (from, to, buf, bufPos) => { + if (bufPos > from || bufPos + buf.length < to) { + bufPos = Math.max(0, from - 2); + buf = doc.sliceString(bufPos, Math.min(doc.length, to + 2)); + } + return (categorizer(charBefore(buf, from - bufPos)) != CharCategory.Word || + categorizer(charAfter(buf, from - bufPos)) != CharCategory.Word) && + (categorizer(charAfter(buf, to - bufPos)) != CharCategory.Word || + categorizer(charBefore(buf, to - bufPos)) != CharCategory.Word); + }; +} +class StringQuery extends QueryType { + constructor(spec) { + super(spec); + } + nextMatch(state, curFrom, curTo) { + let cursor = stringCursor(this.spec, state, curTo, state.doc.length).nextOverlapping(); + if (cursor.done) + cursor = stringCursor(this.spec, state, 0, curFrom).nextOverlapping(); + return cursor.done ? null : cursor.value; + } + // Searching in reverse is, rather than implementing inverted search + // cursor, done by scanning chunk after chunk forward. + prevMatchInRange(state, from, to) { + for (let pos = to;;) { + let start = Math.max(from, pos - 10000 /* FindPrev.ChunkSize */ - this.spec.unquoted.length); + let cursor = stringCursor(this.spec, state, start, pos), range = null; + while (!cursor.nextOverlapping().done) + range = cursor.value; + if (range) + return range; + if (start == from) + return null; + pos -= 10000 /* FindPrev.ChunkSize */; + } + } + prevMatch(state, curFrom, curTo) { + return this.prevMatchInRange(state, 0, curFrom) || + this.prevMatchInRange(state, curTo, state.doc.length); + } + getReplacement(_result) { return this.spec.unquote(this.spec.replace); } + matchAll(state, limit) { + let cursor = stringCursor(this.spec, state, 0, state.doc.length), ranges = []; + while (!cursor.next().done) { + if (ranges.length >= limit) + return null; + ranges.push(cursor.value); + } + return ranges; + } + highlight(state, from, to, add) { + let cursor = stringCursor(this.spec, state, Math.max(0, from - this.spec.unquoted.length), Math.min(to + this.spec.unquoted.length, state.doc.length)); + while (!cursor.next().done) + add(cursor.value.from, cursor.value.to); + } +} +function regexpCursor(spec, state, from, to) { + return new RegExpCursor(state.doc, spec.search, { + ignoreCase: !spec.caseSensitive, + test: spec.wholeWord ? regexpWordTest(state.charCategorizer(state.selection.main.head)) : undefined + }, from, to); +} +function charBefore(str, index) { + return str.slice(findClusterBreak(str, index, false), index); +} +function charAfter(str, index) { + return str.slice(index, findClusterBreak(str, index)); +} +function regexpWordTest(categorizer) { + return (_from, _to, match) => !match[0].length || + (categorizer(charBefore(match.input, match.index)) != CharCategory.Word || + categorizer(charAfter(match.input, match.index)) != CharCategory.Word) && + (categorizer(charAfter(match.input, match.index + match[0].length)) != CharCategory.Word || + categorizer(charBefore(match.input, match.index + match[0].length)) != CharCategory.Word); +} +class RegExpQuery extends QueryType { + nextMatch(state, curFrom, curTo) { + let cursor = regexpCursor(this.spec, state, curTo, state.doc.length).next(); + if (cursor.done) + cursor = regexpCursor(this.spec, state, 0, curFrom).next(); + return cursor.done ? null : cursor.value; + } + prevMatchInRange(state, from, to) { + for (let size = 1;; size++) { + let start = Math.max(from, to - size * 10000 /* FindPrev.ChunkSize */); + let cursor = regexpCursor(this.spec, state, start, to), range = null; + while (!cursor.next().done) + range = cursor.value; + if (range && (start == from || range.from > start + 10)) + return range; + if (start == from) + return null; + } + } + prevMatch(state, curFrom, curTo) { + return this.prevMatchInRange(state, 0, curFrom) || + this.prevMatchInRange(state, curTo, state.doc.length); + } + getReplacement(result) { + return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g, (m, i) => i == "$" ? "$" + : i == "&" ? result.match[0] + : i != "0" && +i < result.match.length ? result.match[i] + : m)); + } + matchAll(state, limit) { + let cursor = regexpCursor(this.spec, state, 0, state.doc.length), ranges = []; + while (!cursor.next().done) { + if (ranges.length >= limit) + return null; + ranges.push(cursor.value); + } + return ranges; + } + highlight(state, from, to, add) { + let cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* RegExp.HighlightMargin */), Math.min(to + 250 /* RegExp.HighlightMargin */, state.doc.length)); + while (!cursor.next().done) + add(cursor.value.from, cursor.value.to); + } +} +/** +A state effect that updates the current search query. Note that +this only has an effect if the search state has been initialized +(by including [`search`](https://codemirror.net/6/docs/ref/#search.search) in your configuration or +by running [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) at least +once). +*/ +const setSearchQuery = /*@__PURE__*/StateEffect.define(); +const togglePanel = /*@__PURE__*/StateEffect.define(); +const searchState = /*@__PURE__*/StateField.define({ + create(state) { + return new SearchState(defaultQuery(state).create(), null); + }, + update(value, tr) { + for (let effect of tr.effects) { + if (effect.is(setSearchQuery)) + value = new SearchState(effect.value.create(), value.panel); + else if (effect.is(togglePanel)) + value = new SearchState(value.query, effect.value ? createSearchPanel : null); + } + return value; + }, + provide: f => showPanel.from(f, val => val.panel) +}); +class SearchState { + constructor(query, panel) { + this.query = query; + this.panel = panel; + } +} +const matchMark = /*@__PURE__*/Decoration.mark({ class: "cm-searchMatch" }), selectedMatchMark = /*@__PURE__*/Decoration.mark({ class: "cm-searchMatch cm-searchMatch-selected" }); +const searchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class { + constructor(view) { + this.view = view; + this.decorations = this.highlight(view.state.field(searchState)); + } + update(update) { + let state = update.state.field(searchState); + if (state != update.startState.field(searchState) || update.docChanged || update.selectionSet || update.viewportChanged) + this.decorations = this.highlight(state); + } + highlight({ query, panel }) { + if (!panel || !query.spec.valid) + return Decoration.none; + let { view } = this; + let builder = new RangeSetBuilder(); + for (let i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) { + let { from, to } = ranges[i]; + while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* RegExp.HighlightMargin */) + to = ranges[++i].to; + query.highlight(view.state, from, to, (from, to) => { + let selected = view.state.selection.ranges.some(r => r.from == from && r.to == to); + builder.add(from, to, selected ? selectedMatchMark : matchMark); + }); + } + return builder.finish(); + } +}, { + decorations: v => v.decorations +}); +function searchCommand(f) { + return view => { + let state = view.state.field(searchState, false); + return state && state.query.spec.valid ? f(view, state) : openSearchPanel(view); + }; +} +/** +Open the search panel if it isn't already open, and move the +selection to the first match after the current main selection. +Will wrap around to the start of the document when it reaches the +end. +*/ +const findNext = /*@__PURE__*/searchCommand((view, { query }) => { + let { to } = view.state.selection.main; + let next = query.nextMatch(view.state, to, to); + if (!next) + return false; + let selection = EditorSelection.single(next.from, next.to); + let config = view.state.facet(searchConfigFacet); + view.dispatch({ + selection, + effects: [announceMatch(view, next), config.scrollToMatch(selection.main, view)], + userEvent: "select.search" + }); + selectSearchInput(view); + return true; +}); +/** +Move the selection to the previous instance of the search query, +before the current main selection. Will wrap past the start +of the document to start searching at the end again. +*/ +const findPrevious = /*@__PURE__*/searchCommand((view, { query }) => { + let { state } = view, { from } = state.selection.main; + let prev = query.prevMatch(state, from, from); + if (!prev) + return false; + let selection = EditorSelection.single(prev.from, prev.to); + let config = view.state.facet(searchConfigFacet); + view.dispatch({ + selection, + effects: [announceMatch(view, prev), config.scrollToMatch(selection.main, view)], + userEvent: "select.search" + }); + selectSearchInput(view); + return true; +}); +/** +Select all instances of the search query. +*/ +const selectMatches = /*@__PURE__*/searchCommand((view, { query }) => { + let ranges = query.matchAll(view.state, 1000); + if (!ranges || !ranges.length) + return false; + view.dispatch({ + selection: EditorSelection.create(ranges.map(r => EditorSelection.range(r.from, r.to))), + userEvent: "select.search.matches" + }); + return true; +}); +/** +Select all instances of the currently selected text. +*/ +const selectSelectionMatches = ({ state, dispatch }) => { + let sel = state.selection; + if (sel.ranges.length > 1 || sel.main.empty) + return false; + let { from, to } = sel.main; + let ranges = [], main = 0; + for (let cur = new SearchCursor(state.doc, state.sliceDoc(from, to)); !cur.next().done;) { + if (ranges.length > 1000) + return false; + if (cur.value.from == from) + main = ranges.length; + ranges.push(EditorSelection.range(cur.value.from, cur.value.to)); + } + dispatch(state.update({ + selection: EditorSelection.create(ranges, main), + userEvent: "select.search.matches" + })); + return true; +}; +/** +Replace the current match of the search query. +*/ +const replaceNext = /*@__PURE__*/searchCommand((view, { query }) => { + let { state } = view, { from, to } = state.selection.main; + if (state.readOnly) + return false; + let next = query.nextMatch(state, from, from); + if (!next) + return false; + let changes = [], selection, replacement; + let effects = []; + if (next.from == from && next.to == to) { + replacement = state.toText(query.getReplacement(next)); + changes.push({ from: next.from, to: next.to, insert: replacement }); + next = query.nextMatch(state, next.from, next.to); + effects.push(EditorView.announce.of(state.phrase("replaced match on line $", state.doc.lineAt(from).number) + ".")); + } + if (next) { + let off = changes.length == 0 || changes[0].from >= next.to ? 0 : next.to - next.from - replacement.length; + selection = EditorSelection.single(next.from - off, next.to - off); + effects.push(announceMatch(view, next)); + effects.push(state.facet(searchConfigFacet).scrollToMatch(selection.main, view)); + } + view.dispatch({ + changes, selection, effects, + userEvent: "input.replace" + }); + return true; +}); +/** +Replace all instances of the search query with the given +replacement. +*/ +const replaceAll = /*@__PURE__*/searchCommand((view, { query }) => { + if (view.state.readOnly) + return false; + let changes = query.matchAll(view.state, 1e9).map(match => { + let { from, to } = match; + return { from, to, insert: query.getReplacement(match) }; + }); + if (!changes.length) + return false; + let announceText = view.state.phrase("replaced $ matches", changes.length) + "."; + view.dispatch({ + changes, + effects: EditorView.announce.of(announceText), + userEvent: "input.replace.all" + }); + return true; +}); +function createSearchPanel(view) { + return view.state.facet(searchConfigFacet).createPanel(view); +} +function defaultQuery(state, fallback) { + var _a, _b, _c, _d; + let sel = state.selection.main; + let selText = sel.empty || sel.to > sel.from + 100 ? "" : state.sliceDoc(sel.from, sel.to); + if (fallback && !selText) + return fallback; + let config = state.facet(searchConfigFacet); + return new SearchQuery({ + search: ((_a = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _a !== void 0 ? _a : config.literal) ? selText : selText.replace(/\n/g, "\\n"), + caseSensitive: (_b = fallback === null || fallback === void 0 ? void 0 : fallback.caseSensitive) !== null && _b !== void 0 ? _b : config.caseSensitive, + literal: (_c = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _c !== void 0 ? _c : config.literal, + wholeWord: (_d = fallback === null || fallback === void 0 ? void 0 : fallback.wholeWord) !== null && _d !== void 0 ? _d : config.wholeWord + }); +} +function getSearchInput(view) { + let panel = getPanel(view, createSearchPanel); + return panel && panel.dom.querySelector("[main-field]"); +} +function selectSearchInput(view) { + let input = getSearchInput(view); + if (input && input == view.root.activeElement) + input.select(); +} +/** +Make sure the search panel is open and focused. +*/ +const openSearchPanel = view => { + let state = view.state.field(searchState, false); + if (state && state.panel) { + let searchInput = getSearchInput(view); + if (searchInput && searchInput != view.root.activeElement) { + let query = defaultQuery(view.state, state.query.spec); + if (query.valid) + view.dispatch({ effects: setSearchQuery.of(query) }); + searchInput.focus(); + searchInput.select(); + } + } + else { + view.dispatch({ effects: [ + togglePanel.of(true), + state ? setSearchQuery.of(defaultQuery(view.state, state.query.spec)) : StateEffect.appendConfig.of(searchExtensions) + ] }); + } + return true; +}; +/** +Close the search panel. +*/ +const closeSearchPanel = view => { + let state = view.state.field(searchState, false); + if (!state || !state.panel) + return false; + let panel = getPanel(view, createSearchPanel); + if (panel && panel.dom.contains(view.root.activeElement)) + view.focus(); + view.dispatch({ effects: togglePanel.of(false) }); + return true; +}; +/** +Default search-related key bindings. + + - Mod-f: [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) + - F3, Mod-g: [`findNext`](https://codemirror.net/6/docs/ref/#search.findNext) + - Shift-F3, Shift-Mod-g: [`findPrevious`](https://codemirror.net/6/docs/ref/#search.findPrevious) + - Alt-g: [`gotoLine`](https://codemirror.net/6/docs/ref/#search.gotoLine) + - Mod-d: [`selectNextOccurrence`](https://codemirror.net/6/docs/ref/#search.selectNextOccurrence) +*/ +const searchKeymap = [ + { key: "Mod-f", run: openSearchPanel, scope: "editor search-panel" }, + { key: "F3", run: findNext, shift: findPrevious, scope: "editor search-panel", preventDefault: true }, + { key: "Mod-g", run: findNext, shift: findPrevious, scope: "editor search-panel", preventDefault: true }, + { key: "Escape", run: closeSearchPanel, scope: "editor search-panel" }, + { key: "Mod-Shift-l", run: selectSelectionMatches }, + { key: "Alt-g", run: gotoLine }, + { key: "Mod-d", run: selectNextOccurrence, preventDefault: true }, +]; +class SearchPanel { + constructor(view) { + this.view = view; + let query = this.query = view.state.field(searchState).query.spec; + this.commit = this.commit.bind(this); + this.searchField = crelt("input", { + value: query.search, + placeholder: phrase(view, "Find"), + "aria-label": phrase(view, "Find"), + class: "cm-textfield", + name: "search", + form: "", + "main-field": "true", + onchange: this.commit, + onkeyup: this.commit + }); + this.replaceField = crelt("input", { + value: query.replace, + placeholder: phrase(view, "Replace"), + "aria-label": phrase(view, "Replace"), + class: "cm-textfield", + name: "replace", + form: "", + onchange: this.commit, + onkeyup: this.commit + }); + this.caseField = crelt("input", { + type: "checkbox", + name: "case", + form: "", + checked: query.caseSensitive, + onchange: this.commit + }); + this.reField = crelt("input", { + type: "checkbox", + name: "re", + form: "", + checked: query.regexp, + onchange: this.commit + }); + this.wordField = crelt("input", { + type: "checkbox", + name: "word", + form: "", + checked: query.wholeWord, + onchange: this.commit + }); + function button(name, onclick, content) { + return crelt("button", { class: "cm-button", name, onclick, type: "button" }, content); + } + this.dom = crelt("div", { onkeydown: (e) => this.keydown(e), class: "cm-search" }, [ + this.searchField, + button("next", () => findNext(view), [phrase(view, "next")]), + button("prev", () => findPrevious(view), [phrase(view, "previous")]), + button("select", () => selectMatches(view), [phrase(view, "all")]), + ...view.state.readOnly ? [] : [ + crelt("br"), + this.replaceField, + button("replace", () => replaceNext(view), [phrase(view, "replace")]), + button("replaceAll", () => replaceAll(view), [phrase(view, "replace all")]) + ], + crelt("button", { + name: "close", + onclick: () => closeSearchPanel(view), + "aria-label": phrase(view, "close"), + type: "button" + }, ["×"]) + ]); + } + commit() { + let query = new SearchQuery({ + search: this.searchField.value, + caseSensitive: this.caseField.checked, + regexp: this.reField.checked, + wholeWord: this.wordField.checked, + replace: this.replaceField.value, + }); + if (!query.eq(this.query)) { + this.query = query; + this.view.dispatch({ effects: setSearchQuery.of(query) }); + } + } + keydown(e) { + if (runScopeHandlers(this.view, e, "search-panel")) { + e.preventDefault(); + } + else if (e.keyCode == 13 && e.target == this.searchField) { + e.preventDefault(); + (e.shiftKey ? findPrevious : findNext)(this.view); + } + else if (e.keyCode == 13 && e.target == this.replaceField) { + e.preventDefault(); + replaceNext(this.view); + } + } + update(update) { + for (let tr of update.transactions) + for (let effect of tr.effects) { + if (effect.is(setSearchQuery) && !effect.value.eq(this.query)) + this.setQuery(effect.value); + } + } + setQuery(query) { + this.query = query; + this.searchField.value = query.search; + this.replaceField.value = query.replace; + this.caseField.checked = query.caseSensitive; + this.reField.checked = query.regexp; + this.wordField.checked = query.wholeWord; + } + mount() { + this.searchField.select(); + } + get pos() { return 80; } + get top() { return this.view.state.facet(searchConfigFacet).top; } +} +function phrase(view, phrase) { return view.state.phrase(phrase); } +const AnnounceMargin = 30; +const Break = /[\s\.,:;?!]/; +function announceMatch(view, { from, to }) { + let line = view.state.doc.lineAt(from), lineEnd = view.state.doc.lineAt(to).to; + let start = Math.max(line.from, from - AnnounceMargin), end = Math.min(lineEnd, to + AnnounceMargin); + let text = view.state.sliceDoc(start, end); + if (start != line.from) { + for (let i = 0; i < AnnounceMargin; i++) + if (!Break.test(text[i + 1]) && Break.test(text[i])) { + text = text.slice(i); + break; + } + } + if (end != lineEnd) { + for (let i = text.length - 1; i > text.length - AnnounceMargin; i--) + if (!Break.test(text[i - 1]) && Break.test(text[i])) { + text = text.slice(0, i); + break; + } + } + return EditorView.announce.of(`${view.state.phrase("current match")}. ${text} ${view.state.phrase("on line")} ${line.number}.`); +} +const baseTheme$2 = /*@__PURE__*/EditorView.baseTheme({ + ".cm-panel.cm-search": { + padding: "0.25rem 0.5rem 0.25rem 0.5rem", + position: "relative", + "& [name=close]": { + position: "absolute", + top: "0", + right: "0.5rem", + backgroundColor: "inherit", + border: "none", + font: "inherit", + padding: 0, + margin: 0 + }, + "& input, & button, & label": { + margin: ".2em .6em .2em 0" + }, + "& input[type=checkbox]": { + marginRight: ".2em" + }, + "& label": { + fontSize: "80%", + whiteSpace: "pre" + } + }, + "&light .cm-searchMatch": { backgroundColor: "#ffff0054" }, + "&dark .cm-searchMatch": { backgroundColor: "#00ffff8a" }, + "&light .cm-searchMatch-selected": { backgroundColor: "#ff6a0054" }, + "&dark .cm-searchMatch-selected": { backgroundColor: "#ff00ff8a" } +}); +const searchExtensions = [ + searchState, + /*@__PURE__*/Prec.lowest(searchHighlighter), + baseTheme$2 +]; /** An instance of this is passed to completion source functions. @@ -20249,10 +21691,25 @@ class CompletionTooltip { this.info = null; } let { completion } = open.options[open.selected]; - let { info } = completion; + let { info, label, c } = completion; if (!info) return; - let infoResult = typeof info === 'string' ? document.createTextNode(info) : info(completion); + let infoResult = typeof info === 'string' ? document.createTextNode(info + ' ') : info(completion); + + if (!infoResult) + return; + + if (!c) { //if not custom + const parent = document.createElement('span'); + parent.appendChild(infoResult); + infoResult = parent; + const lnk = document.createElement('a'); + lnk.innerText = '🔎'; + lnk.href = '/docFind/'+label; + lnk.target = "blank"; + infoResult.appendChild(lnk); + } + if (!infoResult) return; if ('then' in infoResult) { @@ -27033,34943 +28490,442 @@ const spreadsheet = { } }; -/* +function newESC() { + return ({ state, dispatch }) => { + if (state.readOnly) return false; + let changes = state.changeByRange((range) => { + let { from, to } = range; + //if (atEof) from = to = (to <= line.to ? line : state.doc.lineAt(to)).to -Take[Drop[Names["System`*"], 110 + 6], All]; -Map[If[! (KeyExistsQ[Information[#] // First, "Usage"] // TrueQ), - Missing[], <|"label" -> #, "type" -> "keyword", - "info" -> StringLimitTake[ - Information[#]["Usage"] // TextString // ToString, - 100]|>] &, %]; -ExportString[% // DeleteMissing, "JSON"] + return { + changes: { from, to, insert: "EC" }, + range: EditorSelection.cursor(from + 2) + }; + }); -*/ + dispatch( + state.update(changes, { scrollIntoView: true, userEvent: "input" }) + ); + return true; + }; +} +function Completions(context, defaultFunctions) { + let word = context.matchBefore(/\w*/); + if (word.from === word.to && !context.explicit) return null; + //console.log(defaultFunctions); + return { + from: word.from, + options: defaultFunctions.data + }; +} -/* -{"EC[CapitalAlpha]", "EC[CapitalBeta]", "EC[CapitalGamma]", - "EC[CapitalDelta]", "EC[CapitalEpsilon]", "EC[CapitalZeta]", - "EC[CapitalEta]", "EC[CapitalTheta]", "EC[CapitalIota]", - "EC[CapitalKappa]", "EC[CapitalLambda]", "EC[CapitalMu]", - "EC[CapitalNu]", "EC[CapitalXi]", "EC[CapitalOmicron]", "EC[CapitalPi]", - "EC[CapitalRho]", "EC[CapitalSigma]", "EC[CapitalTau]", - "EC[CapitalUpsilon]", "EC[CapitalPhi]", "EC[CapitalChi]", - "EC[CapitalPsi]", "EC[CapitalOmega]", "EC[Alpha]", "EC[Beta]", - "EC[Gamma]", "EC[Delta]", "EC[CurlyEpsilon]", "EC[Zeta]", "EC[Eta]", - "EC[Theta]", "EC[Iota]", "EC[Kappa]", "EC[Lambda]", "EC[Mu]", "EC[Nu]", - "EC[Xi]", "EC[Omicron]", "EC[Pi]", "EC[Rho]", "EC[FinalSigma]", - "EC[Sigma]", "EC[Tau]", "EC[Upsilon]", "EC[CurlyPhi]", "EC[Chi]", - "EC[Psi]", "EC[Omega]", "EC[CurlyTheta]", "EC[CurlyCapitalUpsilon]", - "EC[Phi]", "EC[CurlyPi]", "EC[CapitalStigma]", "EC[Stigma]", - "EC[CapitalDigamma]", "EC[Digamma]", "EC[CapitalKoppa]", "EC[Koppa]", - "EC[CapitalSampi]", "EC[Sampi]", "EC[CurlyKappa]", "EC[CurlyRho]", - "EC[Epsilon]"}; -With[{s = #}, - <|"label" -> Switch[StringDrop[StringTake[s, 4], 2], - - "Ca", - ToLowerCase[ - StringDrop[StringTake[s, 3], 2] <> - StringDrop[StringTake[s, 10], 9]], "Cu", - ToLowerCase[ - StringDrop[StringTake[s, 3], 2] <> - StringDrop[StringTake[s, 10 - 2], 9 - 2]], _, - ToLowerCase[StringDrop[StringTake[s, 3], 2]]], - "type" -> "text", "apply" -> #, - "detail" -> StringDrop[StringDrop[#, 2], -1] - |> - - ] & /@ %; -ExportString[%, "JSON" -*/ +// used pattern building blocks +var Identifier = "[a-zA-Z\\$][a-zA-Z0-9\\$]*"; +var pBase = "(?:\\d+)"; +var pFloat = "(?:\\.\\d+|\\d+\\.\\d*|\\d+)"; +var pFloatBase = "(?:\\.\\w+|\\w+\\.\\w*|\\w+)"; +var pPrecision = "(?:`(?:`?" + pFloat + ")?)"; -let defaultFunctions = [ - { - "label":"AASTriangle", - "type":"keyword", - "info":"AASTriangle[Î\\[PlusMinus], Îb2, a] returns a filled triangle with angles Î\\[PlusMinus] and Î\.b2 and side length a, where a is adj" - }, - { - "label":"AbelianGroup", - "type":"keyword", - "info":"AbelianGroup[{n , n , …}] represents the direct product of the cyclic groups of degrees n , n , ….\n " - }, - { - "label":"Abort", - "type":"keyword", - "info":"Abort[] generates an interrupt to abort a computation. " - }, - { - "label":"AbortKernels", - "type":"keyword", - "info":"AbortKernels[] aborts evaluations running in all parallel subkernels." - }, - { - "label":"AbortProtect", - "type":"keyword", - "info":"AbortProtect[expr] evaluates expr, saving any aborts until the evaluation is complete. " - }, - { - "label":"AbortScheduledTask", - "type":"keyword", - "info":"AbortScheduledTask[task] interrupts any currently evaluating instances of the cloud task task." - }, - { - "label": "WLXEmbed", - "type":"keyword", - "info":"Renders an inline WLX or HTML strings into DOM" - }, - { - "label":"Above", - "type":"keyword", - "info":"Above is a symbol that represents the region above an object for purposes of placement." - }, - { - "label":"Abs", - "type":"keyword", - "info":"Abs[z] gives the absolute value of the real or complex number z. " - }, - { - "label":"AbsArg", - "type":"keyword", - "info":"AbsArg[z] gives the list {Abs[z], Arg[z]} of the number z." - }, - { - "label":"AbsArgPlot", - "type":"keyword", - "info":"AbsArgPlot[f, {x, x , x }] generates a plot of Abs[f] colored by Arg[f] as a function of x ∈ ïž\\[Micro] f" - }, - { - "label":"Absolute", - "type":"keyword", - "info":"System`Absolute" - }, - { - "label":"AbsoluteCorrelation", - "type":"keyword", - "info":" " - }, - { - "label":"AbsoluteCorrelationFunction", - "type":"keyword", - "info":"AbsoluteCorrelationFunction[data, hspec] estimates the absolute correlation function at lags hspec f" - }, - { - "label":"AbsoluteCurrentValue", - "type":"keyword", - "info":"AbsoluteCurrentValue[item] gives the absolute current value of item at a location in the Wolfram Sys" - }, - { - "label":"AbsoluteDashing", - "type":"keyword", - "info":"AbsoluteDashing[{d , d , …}] is a graphics directive which specifies that lines which follow are to " - }, - { - "label":"AbsoluteFileName", - "type":"keyword", - "info":"AbsoluteFileName[\"name\"] gives the full absolute version of the name for a file in your filesystem." - }, - { - "label":"AbsoluteOptions", - "type":"keyword", - "info":"AbsoluteOptions[expr] gives the absolute settings of options specified in an expression such as a gr" - }, - { - "label":"AbsolutePointSize", - "type":"keyword", - "info":"AbsolutePointSize[d] is a graphics directive which specifies that points which follow are to be show" - }, - { - "label":"AbsoluteThickness", - "type":"keyword", - "info":"AbsoluteThickness[d] is a graphics directive which specifies that lines which follow are to be drawn" - }, - { - "label":"AbsoluteTime", - "type":"keyword", - "info":"AbsoluteTime[] gives the total number of seconds since the beginning of January 1, 1900, in your tim" - }, - { - "label":"AbsoluteTiming", - "type":"keyword", - "info":"AbsoluteTiming[expr] evaluates expr, returning a list of the absolute number of seconds in real time" - }, - { - "label":"AcceptanceThreshold", - "type":"keyword", - "info":"AcceptanceThreshold is an option that specifies the minimum threshold at which a result is considere" - }, - { - "label":"AccountingForm", - "type":"keyword", - "info":"AccountingForm[expr] prints with all numbers in expr given in standard accounting notation. Accounti" - }, - { - "label":"Accumulate", - "type":"keyword", - "info":"Accumulate[list] gives a list of the successive accumulated totals of elements in list. " - }, - { - "label":"Accuracy", - "type":"keyword", - "info":"Accuracy[x] gives the effective number of digits to the right of the decimal point in the number x. " - }, - { - "label":"AccuracyGoal", - "type":"keyword", - "info":"AccuracyGoal is an option for various numerical operations which specifies how many effective digits" - }, - { - "label":"AcousticAbsorbingValue", - "type":"keyword", - "info":"AcousticAbsorbingValue[pred, vars, pars] represents a time or frequency domain absorbing boundary co" - }, - { - "label":"AcousticImpedanceValue", - "type":"keyword", - "info":"AcousticImpedanceValue[pred, vars, pars] represents a time or frequency domain impedance boundary co" - }, - { - "label":"AcousticNormalVelocityValue", - "type":"keyword", - "info":"AcousticNormalVelocityValue[pred, vars, pars] represents a time or frequency domain normal velocity " - }, - { - "label":"AcousticPDEComponent", - "type":"keyword", - "info":"AcousticPDEComponent[vars, pars] yields an acoustic PDE term component with variables vars and param" - }, - { - "label":"AcousticPressureCondition", - "type":"keyword", - "info":"AcousticPressureCondition[pred, vars, pars] represents a time or frequency domain pressure boundary " - }, - { - "label":"AcousticRadiationValue", - "type":"keyword", - "info":"AcousticRadiationValue[pred, vars, pars] represents a time or frequency radiation boundary condition" - }, - { - "label":"AcousticSoundHardValue", - "type":"keyword", - "info":"AcousticSoundHardValue[pred, vars, pars] represents a time or frequency domain sound hard boundary c" - }, - { - "label":"AcousticSoundSoftCondition", - "type":"keyword", - "info":"AcousticSoundSoftCondition[pred, vars, pars] represents a time or frequency domain sound soft bounda" - }, - { - "label":"ActionDelay", - "type":"keyword", - "info":"System`ActionDelay" - }, - { - "label":"ActionMenu", - "type":"keyword", - "info":"ActionMenu[name, {lbl :> act , lbl :> act , …}] represents an action menu with label name and with" - }, - { - "label":"ActionMenuBox", - "type":"keyword", - "info":"System`ActionMenuBox" - }, - { - "label":"ActionMenuBoxOptions", - "type":"keyword", - "info":"ActionMenuBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Action" - }, - { - "label":"Activate", - "type":"keyword", - "info":"Activate[expr] replaces all instances of Inactive[f] in expr with f.Activate[expr, patt] replaces on" - }, - { - "label":"Active", - "type":"keyword", - "info":"Active is an option for ButtonBox, Cell, and Notebook that specifies whether a button should be acti" - }, - { - "label":"ActiveClassification", - "type":"keyword", - "info":"ActiveClassification[f, {conf , conf , …}] gives an object representing the result of active classif" +// regular expressions +var reBaseForm = new RegExp( + "(?:" + + pBase + + "(?:\\^\\^" + + pFloatBase + + pPrecision + + "?(?:\\*\\^[+-]?\\d+)?))" +); +var reFloatForm = new RegExp( + "(?:" + pFloat + pPrecision + "?(?:\\*\\^[+-]?\\d+)?)" +); +var reIdInContext = new RegExp( + "(?:`?)(?:" + Identifier + ")(?:`(?:" + Identifier + "))*(?:`?)" +); + +let builtins = []; + +const builtinsSpecial = [ + "True", + "False", + "All", + "None", + "Null", + "Full", + "$Failed", + "$Aborted" +]; + +function tokenBase(stream, state) { + var ch; + + // get next character + ch = stream.next(); + + // string + if (ch === '"') { + state.tokenize = tokenString; + return state.tokenize(stream, state); + } + + // comment + if (ch === "(") { + if (stream.eat("*")) { + state.commentLevel++; + state.tokenize = tokenComment; + return state.tokenize(stream, state); + } + } + + // go back one character + stream.backUp(1); + + // look for numbers + // Numbers in a baseform + if (stream.match(reBaseForm, true, false)) { + return "number"; + } + + // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition + // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow. + if (stream.match(reFloatForm, true, false)) { + return "number"; + } + + // usage + if ( + stream.match( + /([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/, + true, + false + ) + ) { + return "meta"; + } + + // message + if ( + stream.match( + /([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/, + true, + false + ) + ) { + return "string.special"; + } + + // this makes a look-ahead match for something like variable:{_Integer} + // the match is then forwarded to the mma-patterns tokenizer. + if ( + stream.match( + /([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/, + true, + false + ) + ) { + return "variableName.special"; + } + + // catch variables which are used together with Blank (_), BlankSequence (__) or BlankNullSequence (___) + // Cannot start with a number, but can have numbers at any other position. Examples + // blub__Integer, a1_, b34_Integer32 + if ( + stream.match( + /[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/, + true, + false + ) + ) { + return "variableName.special"; + } + if (stream.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/, true, false)) { + return "variableName.special"; + } + if (stream.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/, true, false)) { + return "variableName.special"; + } + + // Named characters in Mathematica, like \[Gamma]. + if (stream.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/, true, false)) { + return "character"; + } + + // Match all braces separately + if (stream.match(/(?:\[|\]|{|}|\(|\))/, true, false)) { + return "bracket"; + } + + // Catch Slots (#, ##, #3, ##9 and the V10 named slots #name). I have never seen someone using more than one digit after #, so we match + // only one. + if (stream.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/, true, false)) { + return "variableName.constant"; + } + + // Literals like variables, keywords, functions + if (stream.match(reIdInContext, true, false)) { + if (builtinsSpecial.indexOf(stream.current()) > -1) return "number"; + if (builtins.indexOf(stream.current()) > -1 || builtins.length == 0) return "keyword"; + if (stream.current() in state.localVars) return "atom"; + + state.localVars[stream.current()] = true; + + return "function"; + } + + // operators. Note that operators like @@ or /; are matched separately for each symbol. + if ( + stream.match( + /(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/, + true, + false + ) + ) { + return "operator"; + } + + // everything else is an error + stream.next(); // advance the stream. + return "error"; +} + +function tokenString(stream, state) { + var next, + end = false, + escaped = false; + while ((next = stream.next()) != null) { + if (next === '"' && !escaped) { + end = true; + break; + } + escaped = !escaped && next === "\\"; + } + if (end && !escaped) { + state.tokenize = tokenBase; + } + return "string"; +} + +function tokenComment(stream, state) { + var prev, next; + while (state.commentLevel > 0 && (next = stream.next()) != null) { + if (prev === "(" && next === "*") state.commentLevel++; + if (prev === "*" && next === ")") state.commentLevel--; + prev = next; + } + if (state.commentLevel <= 0) { + state.tokenize = tokenBase; + } + return "comment"; +} + +const mathematica = { + name: "mathematica", + extendVariables: function (symbol) { + //not implemented }, - { - "label":"ActiveClassificationObject", - "type":"keyword", - "info":"ActiveClassificationObject[…] represents the result of an ActiveClassification process." + startState: function () { + //.log("tocken string"); + + return { tokenize: tokenBase, commentLevel: 0, localVars: {} }; }, - { - "label":"ActiveItem", - "type":"keyword", - "info":"System`ActiveItem" + token: function (stream, state) { + if (stream.eatSpace()) return null; + return state.tokenize(stream, state); }, - { - "label":"ActivePrediction", - "type":"keyword", - "info":"ActivePrediction[f, {conf , conf , …}] gives an object representing the result of active prediction " + languageData: { + commentTokens: { block: { open: "(*", close: "*)" } } + } +}; + +let wolframLanguage = {}; + +wolframLanguage.of = (vocabulary) => { + + return [ + StreamLanguage.define(mathematica), + autocompletion({ + override: [ + async (ctx) => Completions(ctx, vocabulary) + //snippetCompletion('mySnippet(${one}, ${two})', {label: 'mySnippet'}) + ] + }), + keymap.of([{ key: "Escape", run: newESC() }]) + ]; +}; + +wolframLanguage.reBuild = (vocabulary) => { + builtins = vocabulary.map((e) => e.label); +}; + +const transferFiles = (list, ev, view, handler) => { + if (list.length == 0) return; + const id = new Date().valueOf(); + handler.transaction(ev, view, id, list.length); + // server.kernel.emitt('', `<|"Id" -> "${id}", "Length" -> ${list.length}|>`, 'Transaction'); + + for (const file of list) { + readFile(file, (name, result) => { + handler.file(ev, view, id, name, result); + }); + } + +}; + +function readFile(file, cbk) { + const reader = new FileReader(); + reader.addEventListener('load', (event) => { + let compressedData = base64ArrayBuffer(event.target.result); + //console.log(compressedData); + cbk(file.name, compressedData); + }); + + reader.addEventListener('progress', (event) => { + if (event.loaded && event.total) { + const percent = (event.loaded / event.total) * 100; + console.log(percent); + } + }); + + reader.readAsArrayBuffer(file); +} + + +//drag and drop and past events +const DropPasteHandlers = (hd, hp) => EditorView.domEventHandlers({ + drop(ev, view) { + //console.log("codeMirror :: paste ::", ev); // Prevent default behavior (Prevent file from being opened) + ev.preventDefault(); + + const filesArray = []; + + if (ev.dataTransfer.items) { + // Use DataTransferItemList interface to access the file(s) + [...ev.dataTransfer.items].forEach((item, i) => { + // If dropped items aren't files, reject them + if (item.kind === "file") { + const file = item.getAsFile(); + console.log(`… file[${i}].name = ${file.name}`); + filesArray.push(file); + } + }); + } else { + // Use DataTransfer interface to access the file(s) + [...ev.dataTransfer.files].forEach((file, i) => { + console.log(`… file[${i}].name = ${file.name}`); + filesArray.push(file); + }); + } + + transferFiles(filesArray, ev, view, hd); + + }, + + paste(ev, view) { + + let paste = (ev.clipboardData || window.clipboardData); + for (const obj of paste.items) { + //console.log(obj); + if (obj.kind === "string") { + switch(obj.type) { + case 'text/plain': + + break; + case "image/png": + ev.preventDefault(); + transferFiles([obj.getAsFile()], ev, view, hp); + break; + } + } else { + ev.preventDefault(); + transferFiles([obj.getAsFile()], ev, view, hp); + } + } + } +}); + +const GreekMatcher = new MatchDecorator({ + regexp: /\\\[(\w+)\]/g, + decoration: (match) => { + //console.log(match); + return Decoration.replace({ + widget: new GreekWidget(match[1]) + }) + } +}); + +const Greekholder = ViewPlugin.fromClass( + class { + constructor(view) { + this.Greekholder = GreekMatcher.createDeco(view); + } + update(update) { + this.Greekholder = GreekMatcher.updateDeco(update, this.Greekholder); + } }, { - "label":"ActivePredictionObject", - "type":"keyword", - "info":"ActivePredictionObject[…] represents the result of an ActivePrediction process." - }, - { - "label":"ActiveStyle", - "type":"keyword", - "info":"ActiveStyle is an option for Hyperlink and related constructs that specifies styles to add when the " - }, - { - "label":"AcyclicGraphQ", - "type":"keyword", - "info":"AcyclicGraphQ[g] yields True if the graph g is an acyclic graph and False otherwise." - }, - { - "label":"AddOnHelpPath", - "type":"keyword", - "info":"AddOnHelpPath is a global option that specifies which directories are searched for additional help f" - }, - { - "label":"AddSides", - "type":"keyword", - "info":"AddSides[rel, x] adds x to each side of the equation or inequality rel.AddSides[rel , rel ] adds the" - }, - { - "label":"AddTo", - "type":"keyword", - "info":"x += dx adds dx to x and returns the new value of x. " - }, - { - "label":"AddToSearchIndex", - "type":"keyword", - "info":"AddToSearchIndex[obj, content] adds the specified content to the existing search index object obj. A" - }, - { - "label":"AddUsers", - "type":"keyword", - "info":"AddUsers[group, {user , …}] adds the users user to the permissions group group. \n " - }, - { - "label":"AdjacencyGraph", - "type":"keyword", - "info":"AdjacencyGraph[amat] gives the graph with adjacency matrix amat.AdjacencyGraph[{v , v , …}, amat] gi" - }, - { - "label":"AdjacencyList", - "type":"keyword", - "info":"AdjacencyList[g, v] gives a list of vertices adjacent to vertex v.AdjacencyList[g, patt] gives a lis" - }, - { - "label":"AdjacencyMatrix", - "type":"keyword", - "info":"AdjacencyMatrix[g] gives the vertex–vertex adjacency matrix of the graph g.AdjacencyMatrix[{v  w, …" - }, - { - "label":"AdjacentMeshCells", - "type":"keyword", - "info":"AdjacentMeshCells[mr, cellspec, d] gives cells of dimension d adjacent to the cell specified by cell" - }, - { - "label":"Adjugate", - "type":"keyword", - "info":"Adjugate[m] gives the adjugate of a square matrix m." - }, - { - "label":"AdjustmentBox", - "type":"keyword", - "info":"AdjustmentBox[box, opts] is a low-level box construct which displays with the placement of box adjus" - }, - { - "label":"AdjustmentBoxOptions", - "type":"keyword", - "info":"AdjustmentBoxOptions is an option that specifies settings for AdjustmentBox objects." - }, - { - "label":"AdjustTimeSeriesForecast", - "type":"keyword", - "info":"AdjustTimeSeriesForecast[tproc, forecast, newdata] adjusts forecast using new observations newdata a" - }, - { - "label":"AdministrativeDivisionData", - "type":"keyword", - "info":"AdministrativeDivisionData[entity, property] gives the value of the specified property for the admin" - }, - { - "label":"AffineHalfSpace", - "type":"keyword", - "info":"AffineHalfSpace[{p , …, p }, w] represents AffineSpace[{p , …, p }] extended in the directio" - }, - { - "label":"AffineSpace", - "type":"keyword", - "info":"AffineSpace[{p , …, p }] represents the affine space passing through the points p .AffineSpace[p" - }, - { - "label":"AffineStateSpaceModel", - "type":"keyword", - "info":"AffineStateSpaceModel[{a, b, c, d}, x] represents the affine state-space model x ' (t) ï\\[PlusMinus] a(x(t)) + b" - }, - { - "label":"AffineTransform", - "type":"keyword", - "info":"AffineTransform[m] gives a TransformationFunction that represents an affine transform that maps r to" - }, - { - "label":"After", - "type":"keyword", - "info":"After is a symbol that represents the region after an object for purposes of placement." - }, - { - "label":"AggregatedEntityClass", - "type":"keyword", - "info":"AggregatedEntityClass[class, \"prop\"  f] represents an entity class containing a single entity with " - }, - { - "label":"AggregationLayer", - "type":"keyword", - "info":"AggregationLayer[f] represents a layer that aggregates an array of arbitrary rank into a vector, usi" - }, - { - "label":"AircraftData", - "type":"keyword", - "info":"AircraftData[entity, property] gives the value of the specified property for the aircraft entity.Air" - }, - { - "label":"AirportData", - "type":"keyword", - "info":"AirportData[entity, property] gives the value of the specified property for the airport entity.Airpo" - }, - { - "label":"AirPressureData", - "type":"keyword", - "info":"AirPressureData[] gives the most recent measurement for air pressure near the current location.AirPr" - }, - { - "label":"AirSoundAttenuation", - "type":"keyword", - "info":"AirSoundAttenuation[spec, frequency] returns the sound attenuation coefficient in moist air for the " - }, - { - "label":"AirTemperatureData", - "type":"keyword", - "info":"AirTemperatureData[] gives the most recent measurement for air temperature near the current location" - }, - { - "label":"AiryAi", - "type":"keyword", - "info":"AiryAi[z] gives the Airy function Ai(z). " - }, - { - "label":"AiryAiPrime", - "type":"keyword", - "info":" â€\.b2\nAiryAiPrime[z] gives the derivative of " - }, - { - "label":"AiryAiZero", - "type":"keyword", - "info":" th " - }, - { - "label":"AiryBi", - "type":"keyword", - "info":"AiryBi[z] gives the Airy function Bi(z). " - }, - { - "label":"AiryBiPrime", - "type":"keyword", - "info":" â€\.b2\nAiryBiPrime[z] gives the derivative of " - }, - { - "label":"AiryBiZero", - "type":"keyword", - "info":" th " - }, - { - "label":"AlgebraicIntegerQ", - "type":"keyword", - "info":"AlgebraicIntegerQ[a] yields True if a is an algebraic integer, and yields False otherwise." - }, - { - "label":"AlgebraicNumber", - "type":"keyword", - "info":" " - }, - { - "label":"AlgebraicNumberDenominator", - "type":"keyword", - "info":"AlgebraicNumberDenominator[a] gives the smallest positive integer n such that n a is an algebraic in" - }, - { - "label":"AlgebraicNumberNorm", - "type":"keyword", - "info":"AlgebraicNumberNorm[a] gives the norm of the algebraic number a." - }, - { - "label":"AlgebraicNumberPolynomial", - "type":"keyword", - "info":"AlgebraicNumberPolynomial[a, x] gives the polynomial in x corresponding to the AlgebraicNumber objec" - }, - { - "label":"AlgebraicNumberTrace", - "type":"keyword", - "info":"AlgebraicNumberTrace[a] gives the trace of the algebraic number a." - }, - { - "label":"AlgebraicRules", - "type":"keyword", - "info":"System`AlgebraicRules" - }, - { - "label":"AlgebraicRulesData", - "type":"keyword", - "info":"AlgebraicRulesData is an object returned by AlgebraicRules. Its OutputForm appears to be a list of r" - }, - { - "label":"Algebraics", - "type":"keyword", - "info":"Algebraics represents the domain of algebraic numbers, as in x ∈ Algebraics. " - }, - { - "label":"AlgebraicUnitQ", - "type":"keyword", - "info":"AlgebraicUnitQ[a] yields True if a is an algebraic unit, and yields False otherwise." - }, - { - "label":"Alignment", - "type":"keyword", - "info":"Alignment is an option which specifies how the contents of a displayed object should be aligned with" - }, - { - "label":"AlignmentMarker", - "type":"keyword", - "info":"System`AlignmentMarker" - }, - { - "label":"AlignmentPoint", - "type":"keyword", - "info":"AlignmentPoint is an option which specifies how objects should by default be aligned when they appea" - }, - { - "label":"All", - "type":"keyword", - "info":"All is a setting used for certain options. In Part and related functions, All specifies all parts at" - }, - { - "label":"AllowAdultContent", - "type":"keyword", - "info":"System`AllowAdultContent" - }, - { - "label":"AllowedCloudExtraParameters", - "type":"keyword", - "info":"AllowedCloudExtraParameters is an option for APIFunction and related functions that specifies whethe" - }, - { - "label":"AllowedCloudParameterExtensions", - "type":"keyword", - "info":"AllowedCloudParameterExtensions is an option for APIFunction and related functions that specifies wh" - }, - { - "label":"AllowedDimensions", - "type":"keyword", - "info":"AllowedDimensions is an option for Grid and related functions that specifies the allowed minimum and" - }, - { - "label":"AllowedFrequencyRange", - "type":"keyword", - "info":"AllowedFrequencyRange is an option for audio and signal processing functions that specifies the rang" - }, - { - "label":"AllowedHeads", - "type":"keyword", - "info":"AllowedHeads is an option that specifies the heads of subexpressions into which a function may desce" - }, - { - "label":"AllowGroupClose", - "type":"keyword", - "info":"AllowGroupClose is an option for Cell that specifies whether a cell group can be closed normally." - }, - { - "label":"AllowIncomplete", - "type":"keyword", - "info":"System`AllowIncomplete" - }, - { - "label":"AllowInlineCells", - "type":"keyword", - "info":"AllowInlineCells is an option for SelectedCells, Cell, and related constructs that specifies whether" - }, - { - "label":"AllowKernelInitialization", - "type":"keyword", - "info":"System`AllowKernelInitialization" - }, - { - "label":"AllowLooseGrammar", - "type":"keyword", - "info":"AllowLooseGrammar is an option for GrammarRules and related functions that specifies whether grammat" - }, - { - "label":"AllowReverseGroupClose", - "type":"keyword", - "info":"AllowReverseGroupClose is an option for Cell that specifies whether a cell group can be reverse clos" - }, - { - "label":"AllowScriptLevelChange", - "type":"keyword", - "info":"AllowScriptLevelChange is an option for fractions and grids that controls whether certain operators," - }, - { - "label":"AllowVersionUpdate", - "type":"keyword", - "info":"AllowVersionUpdate is an option for PacletInstall and PacletInstallSubmit that specifies whether a n" - }, - { - "label":"AllTrue", - "type":"keyword", - "info":"AllTrue[{e , e , …}, test] yields True if test[e ] is True for all of the e .AllTrue[expr, test, lev" - }, - { - "label":"Alphabet", - "type":"keyword", - "info":"Alphabet[] gives a list of the lowercase letters a through z in the English alphabet.Alphabet[type] " - }, - { - "label":"AlphabeticOrder", - "type":"keyword", - "info":"AlphabeticOrder[string , string ] gives 1 if \"string \" appears before \"string \" in alphabetical orde" - }, - { - "label":"AlphabeticSort", - "type":"keyword", - "info":"AlphabeticSort[list] sorts the elements of list into alphabetical order.AlphabeticSort[list, lang] s" - }, - { - "label":"AlphaChannel", - "type":"keyword", - "info":"AlphaChannel[color] returns the opacity of color.AlphaChannel[image] returns the alpha channel of im" - }, - { - "label":"AlternateImage", - "type":"keyword", - "info":"AlternateImage is an option to CDFInformation that specifies an image that should be used if the plu" - }, - { - "label":"AlternatingFactorial", - "type":"keyword", - "info":"AlternatingFactorial[n] gives the alternating factorial a(n)." - }, - { - "label":"AlternatingGroup", - "type":"keyword", - "info":"AlternatingGroup[n] represents the alternating group of degree n." - }, - { - "label":"AlternativeHypothesis", - "type":"keyword", - "info":"AlternativeHypothesis is an option for hypothesis testing functions like LocationTest that specifies" - }, - { - "label":"Alternatives", - "type":"keyword", - "info":"p | p | … is a pattern object that represents any of the patterns p . \n 1 2 " - }, - { - "label":"AltitudeMethod", - "type":"keyword", - "info":"AltitudeMethod is an option for SunPosition, MoonPosition, and related functions that determines whe" - }, - { - "label":"AmbientLight", - "type":"keyword", - "info":"AmbientLight[col] is a three-dimensional graphics directive that specifies the uniform ambient light" - }, - { - "label":"AmbiguityFunction", - "type":"keyword", - "info":"AmbiguityFunction is an option for SemanticInterpretation, Interpreter, and related functions that s" - }, - { - "label":"AmbiguityList", - "type":"keyword", - "info":"AmbiguityList[{expr , expr , …}] represents possible results derived from an ambiguous semantic inte" - }, - { - "label":"Analytic", - "type":"keyword", - "info":"Analytic is an option for Limit and Series. With Analytic -> True, unrecognized functions are treate" - }, - { - "label":"AnatomyData", - "type":"keyword", - "info":"AnatomyData[entity, property] gives the value of the specified property for the anatomical structure" - }, - { - "label":"AnatomyForm", - "type":"keyword", - "info":"AnatomyForm[g] is a graphics directive used in AnatomyPlot3D that specifies how anatomy entity‐based" - }, - { - "label":"AnatomyPlot3D", - "type":"keyword", - "info":"AnatomyPlot3D[primitives, options] represents a three-dimensional graphical image that works with an" - }, - { - "label":"AnatomySkinStyle", - "type":"keyword", - "info":"AnatomySkinStyle is an option of AnatomyPlot3D that specifies what style to use for automatically in" - }, - { - "label":"AnatomyStyling", - "type":"keyword", - "info":"AnatomyStyling[g] is a graphics directive used in AnatomyPlot3D that specifies how anatomy entity‐ba" - }, - { - "label":"AnchoredSearch", - "type":"keyword", - "info":"AnchoredSearch is an option for Find and FindList that specifies whether the text searched for must " - }, - { - "label":"And", - "type":"keyword", - "info":"e && e && … is the logical AND function. It evaluates its arguments in order, giving False immedia" - }, - { - "label":"AndersonDarlingTest", - "type":"keyword", - "info":"AndersonDarlingTest[data] tests whether data is normally distributed using the Anderson–Darling test" - }, - { - "label":"AngerJ", - "type":"keyword", - "info":" μ\nA" - }, - { - "label":"AngleBisector", - "type":"keyword", - "info":"AngleBisector[{q , p, q }] gives the bisector of the interior angle at p formed by the triangle with" - }, - { - "label":"AngleBracket", - "type":"keyword", - "info":"AngleBracket[x, y, …] displays as 〈 x, y, … 〉." - }, - { - "label":"AnglePath", - "type":"keyword", - "info":"AnglePath[{θ , θ , θ , …}] gives the list of 2D coordinates corresponding to a path that starts at {" - }, - { - "label":"AnglePath3D", - "type":"keyword", - "info":"AnglePath3D[{{Î\\[PlusMinus] , Î\.b2 , Î\.b3 }, {Î\\[PlusMinus] , Î\.b2 , Î\.b3 }, …}] gives the list of 3D coordinates of a path of an object" - }, - { - "label":"AngleVector", - "type":"keyword", - "info":"AngleVector[θ] gives the list representing the 2D unit vector at angle θ relative to the x axis.Angl" - }, - { - "label":"AngularGauge", - "type":"keyword", - "info":"AngularGauge[value] draws a gauge showing value in the range 0 to 1.AngularGauge[value, {min, max}] " - }, - { - "label":"Animate", - "type":"keyword", - "info":"Animate[expr, {u, u , u }] generates an animation of expr in which u varies continuously from u " - }, - { - "label":"AnimatedImage", - "type":"keyword", - "info":"AnimatedImage[{image , image , …}] generates an animation whose frames are the successive image . An" - }, - { - "label":"AnimationCycleOffset", - "type":"keyword", - "info":"AnimationCycleOffset is an option for cells that specifies the relative position of the next graphic" - }, - { - "label":"AnimationCycleRepetitions", - "type":"keyword", - "info":"AnimationCycleRepetitions is an option for cells that specifies the number of times a given animatio" - }, - { - "label":"AnimationDirection", - "type":"keyword", - "info":"AnimationDirection is an option which specifies the direction to run an animation. " - }, - { - "label":"AnimationDisplayTime", - "type":"keyword", - "info":"AnimationDisplayTime is an option for Cell that specifies the minimum time in seconds for which a ce" - }, - { - "label":"AnimationRate", - "type":"keyword", - "info":"AnimationRate is an option for Animate and Animator that specifies at what rate an animation should " - }, - { - "label":"AnimationRepetitions", - "type":"keyword", - "info":"AnimationRepetitions is an option to Animate and related functions that specifies how many times the" - }, - { - "label":"AnimationRunning", - "type":"keyword", - "info":"AnimationRunning is an option to Animate and related functions that specifies whether the animation " - }, - { - "label":"AnimationRunTime", - "type":"keyword", - "info":"AnimationRunTime is an option to Animator and related functions that indicates how long the animatio" - }, - { - "label":"AnimationTimeIndex", - "type":"keyword", - "info":"AnimationTimeIndex is an option to Animator and related functions that specifies the current time in" - }, - { - "label":"AnimationVideo", - "type":"keyword", - "info":"AnimationVideo[fexpr, {u, u , u }] generates a video of fexpr in which u varies from u to u " - }, - { - "label":"Animator", - "type":"keyword", - "info":"Animator[u] represents an object that displays with the value of u being continually increased from " - }, - { - "label":"AnimatorBox", - "type":"keyword", - "info":"System`AnimatorBox" - }, - { - "label":"AnimatorBoxOptions", - "type":"keyword", - "info":"AnimatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Animator" - }, - { - "label":"AnimatorElements", - "type":"keyword", - "info":"System`AnimatorElements" - }, - { - "label":"Annotate", - "type":"keyword", - "info":"Annotate[obj, key  value] sets the annotation key  value for the object obj.Annotate[{obj, itemspe" - }, - { - "label":"Annotation", - "type":"keyword", - "info":"Annotation[expr, data] represents an expression expr, with annotation data.Annotation[expr, data, \"t" - }, - { - "label":"AnnotationDelete", - "type":"keyword", - "info":"AnnotationDelete[obj] deletes all annotations of the object obj.AnnotationDelete[{obj, itemspec}] de" - }, - { - "label":"AnnotationKeys", - "type":"keyword", - "info":"AnnotationKeys[obj] lists all annotation keys available for the object obj.AnnotationKeys[{obj, item" - }, - { - "label":"AnnotationRules", - "type":"keyword", - "info":"AnnotationRules is an option that allows specification of annotations to objects and items in object" - }, - { - "label":"AnnotationValue", - "type":"keyword", - "info":"AnnotationValue[obj, key] gives the annotation value associated with key for the object obj.Annotati" - }, - { - "label":"Annuity", - "type":"keyword", - "info":"Annuity[p, t] represents an annuity of fixed payments p made over t periods.Annuity[p, t, q] represe" - }, - { - "label":"AnnuityDue", - "type":"keyword", - "info":"AnnuityDue[p, t] represents an annuity due of fixed payments p made over t periods.AnnuityDue[p, t, " - }, - { - "label":"Annulus", - "type":"keyword", - "info":"Annulus[{x, y}, {r , r }] represents an annulus centered at {x, y} with inner radius r " - }, - { - "label":"AnomalyDetection", - "type":"keyword", - "info":"AnomalyDetection[{example , example , …}] generates an AnomalyDetectorFunction[…] based on the examp" - }, - { - "label":"AnomalyDetector", - "type":"keyword", - "info":"AnomalyDetector is an option for functions such as Classify that specifies an anomaly detector for t" - }, - { - "label":"AnomalyDetectorFunction", - "type":"keyword", - "info":"AnomalyDetectorFunction[…] represents a function generated by AnomalyDetection for detecting whether" - }, - { - "label":"Anonymous", - "type":"keyword", - "info":"Anonymous represents an option or other value that indicates the absence of a name." - }, - { - "label":"Antialiasing", - "type":"keyword", - "info":"Antialiasing is an option that specifies whether antialiasing should be done." - }, - { - "label":"Antihermitian", - "type":"keyword", - "info":"Antihermitian[{1, 2}] represents the symmetry of an antihermitian matrix." - }, - { - "label":"AntihermitianMatrixQ", - "type":"keyword", - "info":"AntihermitianMatrixQ[m] gives True if m is explicitly antihermitian, and False otherwise." - }, - { - "label":"Antisymmetric", - "type":"keyword", - "info":"Antisymmetric[{s , …, s }] represents the symmetry of a tensor that is antisymmetric in the slots s " - }, - { - "label":"AntisymmetricMatrixQ", - "type":"keyword", - "info":"AntisymmetricMatrixQ[m] gives True if m is explicitly antisymmetric, and False otherwise." - }, - { - "label":"Antonyms", - "type":"keyword", - "info":"Antonyms[\"word\"] returns the antonyms associated with the specified word." - }, - { - "label":"AnyOrder", - "type":"keyword", - "info":"AnyOrder[p , p , …] is a grammar rules pattern object that represents a sequence of elements matchin" - }, - { - "label":"AnySubset", - "type":"keyword", - "info":"AnySubset[{c , c , …}] represents an element in an interpreter or form that accepts any subset of th" - }, - { - "label":"AnyTrue", - "type":"keyword", - "info":"AnyTrue[{e , e , …}, test] yields True if test[e ] is True for any of the e .AnyTrue[expr, test, lev" - }, - { - "label":"Apart", - "type":"keyword", - "info":"Apart[expr] rewrites a rational expression as a sum of terms with minimal denominators. Apart[expr, " - }, - { - "label":"ApartSquareFree", - "type":"keyword", - "info":"ApartSquareFree[expr] rewrites a rational expression as a sum of terms whose denominators are powers" - }, - { - "label":"APIFunction", - "type":"keyword", - "info":"APIFunction[{name  type , name  type , …}, fun] represents an API with parameters name that eva" - }, - { - "label":"Appearance", - "type":"keyword", - "info":"Appearance is an option for displayed objects such as Button and Slider that specifies the general t" - }, - { - "label":"AppearanceElements", - "type":"keyword", - "info":"AppearanceElements is an option for functions like Manipulate that specifies what elements should be" - }, - { - "label":"AppearanceRules", - "type":"keyword", - "info":"AppearanceRules is an option for form and page generation functions that specifies the overall appea" - }, - { - "label":"AppellF1", - "type":"keyword", - "info":"AppellF1[a, b , b , c, x, y] is the Appell hypergeometric function of two variables F (a ; b , b ;" - }, - { - "label":"Append", - "type":"keyword", - "info":"Append[expr, elem] gives expr with elem appended. Append[elem] represents an operator form of Append" - }, - { - "label":"AppendCheck", - "type":"keyword", - "info":"System`AppendCheck" - }, - { - "label":"AppendLayer", - "type":"keyword", - "info":"AppendLayer[] represents a net layer that takes an input array and appends another array to it." - }, - { - "label":"AppendTo", - "type":"keyword", - "info":"AppendTo[x, elem] appends elem to the value of x, and resets x to the result. " - }, - { - "label":"Application", - "type":"keyword", - "info":"f ï”\\[Degree] g or Application[f, g] represents the formal application of f to g." - }, - { - "label":"ApplicationIdentificationKey", - "type":"keyword", - "info":"System`ApplicationIdentificationKey" - }, - { - "label":"Apply", - "type":"keyword", - "info":"f @@ expr or Apply[f, expr] replaces the head of expr by f. f@@@expr or Apply[f, expr, {1}] replaces" - }, - { - "label":"ApplySides", - "type":"keyword", - "info":"ApplySides[f, rel] applies f to each side of the equation or inequality rel." - }, - { - "label":"ApplyTo", - "type":"keyword", - "info":"ApplyTo[x, f] or x\/\/= f computes f[x] and resets x to the result." - }, - { - "label":"ArcCos", - "type":"keyword", - "info":" -1\nArcCos[z] gives the arc cosine cos (z) of the complex number z" - }, - { - "label":"ArcCosh", - "type":"keyword", - "info":" -1\nArcCosh[z] gives the inverse hyperbolic cosine" - }, - { - "label":"ArcCot", - "type":"keyword", - "info":" -1\nArcCot[z] gives the arc cotangent cot (z) of the complex nu" - }, - { - "label":"ArcCoth", - "type":"keyword", - "info":" -1\nArcCoth[z] gives the inverse hyperbolic cot" - }, - { - "label":"ArcCsc", - "type":"keyword", - "info":" -1\nArcCsc[z] gives the arc cosecant csc (z) of the complex numb" - }, - { - "label":"ArcCsch", - "type":"keyword", - "info":" -1\nArcCsch[z] gives the inverse hyperbolic cose" - }, - { - "label":"ArcCurvature", - "type":"keyword", - "info":"ArcCurvature[{x , …, x }, t] gives the curvature of the parametrized curve whose Cartesian coordinat" - }, - { - "label":"ARCHProcess", - "type":"keyword", - "info":"ARCHProcess[κ, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }] represents an autoregressive conditionally heteroscedastic process of or" - }, - { - "label":"ArcLength", - "type":"keyword", - "info":"ArcLength[reg] gives the length of the one-dimensional region reg.ArcLength[{x , …, x }, {t, t , t" - }, - { - "label":"ArcSec", - "type":"keyword", - "info":" -1\nArcSec[z] gives the arc secant sec (z) of the complex number z" - }, - { - "label":"ArcSech", - "type":"keyword", - "info":" -1\nArcSech[z] gives the inverse hyperbolic secant" - }, - { - "label":"ArcSin", - "type":"keyword", - "info":" -1\nArcSin[z] gives the arc sine sin (z) of the complex number z. " - }, - { - "label":"ArcSinDistribution", - "type":"keyword", - "info":"ArcSinDistribution[{x , x }] represents the arc sine distribution supported between x and x " - }, - { - "label":"ArcSinh", - "type":"keyword", - "info":" -1\nArcSinh[z] gives the inverse hyperbolic sine sin" - }, - { - "label":"ArcTan", - "type":"keyword", - "info":" -1 " - }, - { - "label":"ArcTanh", - "type":"keyword", - "info":" -1\nArcTanh[z] gives the inverse hyperbolic tange" - }, - { - "label":"Area", - "type":"keyword", - "info":"Area[reg] gives the area of the two-dimensional region reg.Area[{x , …, x }, {s, s , s }, {t, t " - }, - { - "label":"Arg", - "type":"keyword", - "info":"Arg[z] gives the argument of the complex number z. " - }, - { - "label":"ArgMax", - "type":"keyword", - "info":"ArgMax[f, x] gives a position x at which f is maximized.ArgMax[f, {x, y, …}] gives a position {x " - }, - { - "label":"ArgMin", - "type":"keyword", - "info":"ArgMin[f, x] gives a position x at which f is minimized.ArgMin[f, {x, y, …}] gives a position {x " - }, - { - "label":"ArgumentCountQ", - "type":"keyword", - "info":"ArgumentCountQ[head, len, min, max] tests whether the number len of arguments of a function head is " - }, - { - "label":"ArgumentsOptions", - "type":"keyword", - "info":"ArgumentsOptions[f[args], n] tries to separate args into a list of n positional arguments followed b" - }, - { - "label":"ARIMAProcess", - "type":"keyword", - "info":" " - }, - { - "label":"ArithmeticGeometricMean", - "type":"keyword", - "info":"ArithmeticGeometricMean[a, b] gives the arithmetic‐geometric mean of a and b. " - }, - { - "label":"ARMAProcess", - "type":"keyword", - "info":"ARMAProcess[{a , …, a }, {b , …, b }, v] represents a weakly stationary autoregressive moving-averag" - }, - { - "label":"Around", - "type":"keyword", - "info":"Around[x, Î\.b4] represents an approximate number or quantity with a value around x and an uncertainty Î\.b4" - }, - { - "label":"AroundReplace", - "type":"keyword", - "info":"AroundReplace[expr, {s  Around[x , Î\.b4 ], s  Around[x , Î\.b4 ], …}] propagates uncertainty in expr by" - }, - { - "label":"ARProcess", - "type":"keyword", - "info":"ARProcess[{a , …, a }, v] represents a weakly stationary autoregressive process of order p with norm" - }, - { - "label":"Array", - "type":"keyword", - "info":"Array[f, n] generates a list of length n, with elements f[i]. Array[f, n, r] generates a list using " - }, - { - "label":"ArrayComponents", - "type":"keyword", - "info":"ArrayComponents[array] gives an array in which all identical elements of array are replaced by an in" - }, - { - "label":"ArrayDepth", - "type":"keyword", - "info":"ArrayDepth[expr] gives the depth to which expr is a full array, with all the parts at a particular l" - }, - { - "label":"ArrayFilter", - "type":"keyword", - "info":"ArrayFilter[f, array, r] applies f to all range-r blocks in the specified array.ArrayFilter[f, array" - }, - { - "label":"ArrayFlatten", - "type":"keyword", - "info":"ArrayFlatten[{{m , m , …}, {m , m , …}, …}] creates a single flattened matrix from a matrix of m" - }, - { - "label":"ArrayMesh", - "type":"keyword", - "info":"ArrayMesh[array] generates a mesh region from an array of rank d in which each cell has a geometric " - }, - { - "label":"ArrayPad", - "type":"keyword", - "info":"ArrayPad[array, m] gives an array with m zeros of padding on every side. ArrayPad[array, m, padding]" - }, - { - "label":"ArrayPlot", - "type":"keyword", - "info":"ArrayPlot[array] generates a plot in which the values in an array are shown in a discrete array of s" - }, - { - "label":"ArrayPlot3D", - "type":"keyword", - "info":"ArrayPlot3D[array] generates a plot in which the values in an array are shown in a discrete array of" - }, - { - "label":"ArrayQ", - "type":"keyword", - "info":"ArrayQ[expr] gives True if expr is a full array or a SparseArray object, and gives False otherwise. " - }, - { - "label":"ArrayReduce", - "type":"keyword", - "info":"ArrayReduce[f, array, n] reduces dimension n of array by applying f.ArrayReduce[f, array, n ;; n ] " - }, - { - "label":"ArrayResample", - "type":"keyword", - "info":"ArrayResample[array, {n , n , …}] resamples array to have dimensions {n , n , …}.ArrayResample[array" - }, - { - "label":"ArrayReshape", - "type":"keyword", - "info":"ArrayReshape[list, dims] arranges the elements of list into a rectangular array with dimensions dims" - }, - { - "label":"ArrayRules", - "type":"keyword", - "info":"ArrayRules[SparseArray[…]] gives the rules {pos  val , pos  val , …} specifying elements in a sp" - }, - { - "label":"Arrays", - "type":"keyword", - "info":"Arrays[{d , …, d }] represents the domain of arrays of rank r and dimensions d .Arrays[{d , …, d }, " - }, - { - "label":"Arrow", - "type":"keyword", - "info":"Arrow[{pt , pt }] is a graphics primitive that represents an arrow from pt to pt .Arrow[{pt , pt }," - }, - { - "label":"Arrow3DBox", - "type":"keyword", - "info":"System`Arrow3DBox" - }, - { - "label":"ArrowBox", - "type":"keyword", - "info":"System`ArrowBox" - }, - { - "label":"Arrowheads", - "type":"keyword", - "info":"Arrowheads[spec] is a graphics directive specifying that arrows that follow should have arrowheads w" - }, - { - "label":"ASATriangle", - "type":"keyword", - "info":"ASATriangle[Î\\[PlusMinus], c, Î\.b2] returns a filled triangle with angles Î\\[PlusMinus] and Î\.b2 and side length c, and c is adjac" - }, - { - "label":"Ask", - "type":"keyword", - "info":"Ask[\"key\"] is a construct for use inside AskFunction that gives the value associated with key, or in" - }, - { - "label":"AskAppend", - "type":"keyword", - "info":"AskAppend[\"key\"] is a construct for use inside AskFunction that asks for a new value, appends it to " - }, - { - "label":"AskConfirm", - "type":"keyword", - "info":"AskConfirm[\"key\"] is a construct for use inside AskFunction that asks for confirmation of the curren" - }, - { - "label":"AskDisplay", - "type":"keyword", - "info":"AskDisplay[expr] is a construct for use inside AskFunction that displays the result of evaluating ex" - }, - { - "label":"AskedQ", - "type":"keyword", - "info":"AskedQ[\"key\"] is a construct for use inside AskFunction that gives True if a value is currently asso" - }, - { - "label":"AskedValue", - "type":"keyword", - "info":"AskedValue[\"key\"] is a construct for use inside AskFunction that gives the value associated with key" - }, - { - "label":"AskFunction", - "type":"keyword", - "info":"AskFunction[body] evaluates body, interactively asking for values specified by Ask[…] and related co" - }, - { - "label":"AskState", - "type":"keyword", - "info":"AskState[] is a construct for use inside AskFunction that returns an association of all values in th" - }, - { - "label":"AskTemplateDisplay", - "type":"keyword", - "info":"AskTemplateDisplay[fun] is a construct for use inside AskFunction that displays the result of applyi" - }, - { - "label":"AspectRatio", - "type":"keyword", - "info":"AspectRatio is an option for Graphics and related functions that specifies the ratio of height to wi" - }, - { - "label":"AspectRatioFixed", - "type":"keyword", - "info":"AspectRatioFixed is an option for Cell that specifies whether graphics in the cell should be constra" - }, - { - "label":"Assert", - "type":"keyword", - "info":"Assert[test] represents the assertion that test is True. If assertions have been enabled, test is ev" - }, - { - "label":"AssessmentFunction", - "type":"keyword", - "info":"AssessmentFunction[key] represents a tool for assessing whether answers are correct according to the" - }, - { - "label":"AssessmentResultObject", - "type":"keyword", - "info":"AssessmentResultObject[assoc] represents the results of an assessment.AssessmentResultObject[{aro , " - }, - { - "label":"AssociateTo", - "type":"keyword", - "info":"AssociateTo[a, key  val] changes the association a by adding the key-value pair key  val.Associate" - }, - { - "label":"Association", - "type":"keyword", - "info":"Association[key  val , key  val , …] or  key  val , key  val , …  represents an associatio" - }, - { - "label":"AssociationFormat", - "type":"keyword", - "info":"AssociationFormat is an option to TextString and related functions that determines how associations " - }, - { - "label":"AssociationMap", - "type":"keyword", - "info":"AssociationMap[f, {key , key , …}] creates the association  key  f[key ], key  f[key ], … .Ass" - }, - { - "label":"AssociationQ", - "type":"keyword", - "info":"AssociationQ[expr] gives True if expr is a valid Association object, and False otherwise." - }, - { - "label":"AssociationThread", - "type":"keyword", - "info":"AssociationThread[{key , key , …}  {val , val , …}] gives the association  key  val , key  val" - }, - { - "label":"AssumeDeterministic", - "type":"keyword", - "info":"AssumeDeterministic is an option for functions such as BayesianMinimization that specifies whether o" - }, - { - "label":"Assuming", - "type":"keyword", - "info":"Assuming[assum, expr] evaluates expr with assum appended to ECAssumptions, so that assum is included " - }, - { - "label":"Assumptions", - "type":"keyword", - "info":"Assumptions is an option for functions such as Simplify, Refine, and Integrate that specifies defaul" - }, - { - "label":"AstronomicalData", - "type":"keyword", - "info":"AstronomicalData[\"name\", \"property\"] gives the value of the specified property of the astronomical o" - }, - { - "label":"Asymptotic", - "type":"keyword", - "info":"Asymptotic[expr, x  x ] gives an asymptotic approximation for expr near x .Asymptotic[expr, {x, x ," - }, - { - "label":"AsymptoticDSolveValue", - "type":"keyword", - "info":"AsymptoticDSolveValue[eqn, f, x  x ] computes an asymptotic approximation to the differential equat" - }, - { - "label":"AsymptoticEqual", - "type":"keyword", - "info":" * * " - }, - { - "label":"AsymptoticEquivalent", - "type":"keyword", - "info":" * * " - }, - { - "label":"AsymptoticExpectation", - "type":"keyword", - "info":"AsymptoticExpectation[expr, x  dist, a  a ] computes an asymptotic approximation for the expectati" - }, - { - "label":"AsymptoticGreater", - "type":"keyword", - "info":" * * " - }, - { - "label":"AsymptoticGreaterEqual", - "type":"keyword", - "info":" * * " - }, - { - "label":"AsymptoticIntegrate", - "type":"keyword", - "info":" " - }, - { - "label":"AsymptoticLess", - "type":"keyword", - "info":" * * " - }, - { - "label":"AsymptoticLessEqual", - "type":"keyword", - "info":" * * " - }, - { - "label":"AsymptoticOutputTracker", - "type":"keyword", - "info":"AsymptoticOutputTracker[sys, {f , …}, {p , …}] gives the state feedback control law that causes the " - }, - { - "label":"AsymptoticProbability", - "type":"keyword", - "info":"AsymptoticProbability[pred, x  dist, a  a ] computes an asymptotic approximation for the probabili" - }, - { - "label":"AsymptoticProduct", - "type":"keyword", - "info":" " - }, - { - "label":"AsymptoticRSolveValue", - "type":"keyword", - "info":"AsymptoticRSolveValue[eqn, f, x  ∞] computes an asymptotic approximation to the difference equation" - }, - { - "label":"AsymptoticSolve", - "type":"keyword", - "info":"AsymptoticSolve[eqn, y  b, x -> a] computes asymptotic approximations of solutions y[x] of the equa" - }, - { - "label":"AsymptoticSum", - "type":"keyword", - "info":" " - }, - { - "label":"Asynchronous", - "type":"keyword", - "info":"Asynchronous is an option for WolframAlpha that determines whether to use the asynchronous features " - }, - { - "label":"AsynchronousTaskObject", - "type":"keyword", - "info":"AsynchronousTaskObject[\"name\", id, sessionid] is an object that represents asynchronous evaluations " - }, - { - "label":"AsynchronousTasks", - "type":"keyword", - "info":"AsynchronousTasks[] returns a list of running asynchronous tasks." - }, - { - "label":"Atom", - "type":"keyword", - "info":"Atom[\"sym\"] represents an atom with atomic symbol \"sym\".Atom[\"sym\", name  value, …] represents an a" - }, - { - "label":"AtomCoordinates", - "type":"keyword", - "info":"AtomCoordinates is an option for Molecule and related functions that specifies the three-dimensional" - }, - { - "label":"AtomCount", - "type":"keyword", - "info":"AtomCount[mol] gives the number of atoms in the molecule represented by mol.AtomCount[mol, patt] giv" - }, - { - "label":"AtomDiagramCoordinates", - "type":"keyword", - "info":"AtomDiagramCoordinates is an option for Molecule and related functions that specifies the two-dimens" - }, - { - "label":"AtomLabels", - "type":"keyword", - "info":"AtomLabels is an option for MoleculePlot and MoleculePlot3D that specifies what labels and label pos" - }, - { - "label":"AtomLabelStyle", - "type":"keyword", - "info":"AtomLabelStyle is an option for MoleculePlot and MoleculePlot3D that specifies the style to use for " - }, - { - "label":"AtomList", - "type":"keyword", - "info":"AtomList[mol] gives the list of atoms in the molecule represented by mol.AtomList[mol, patt] gives t" - }, - { - "label":"AtomQ", - "type":"keyword", - "info":"AtomQ[expr] yields True if expr is an expression which cannot be divided into subexpressions, and yi" - }, - { - "label":"AttachCell", - "type":"keyword", - "info":"AttachCell[expr] makes expr a cell attached to the current cell being evaluated.AttachCell[obj, expr" - }, - { - "label":"AttachedCell", - "type":"keyword", - "info":"AttachedCell is an option for Cells that indicates whether to find cells that created with AttachCel" - }, - { - "label":"AttentionLayer", - "type":"keyword", - "info":"AttentionLayer[] represents a trainable net layer that learns to pay attention to certain portions o" - }, - { - "label":"Attributes", - "type":"keyword", - "info":"Attributes[symbol] gives the list of attributes for a symbol. Attributes[\"symbol\"] gives the attribu" - }, - { - "label":"Audio", - "type":"keyword", - "info":"Audio[file] represents audio stored in the given file.Audio[url] represents audio stored in the give" - }, - { - "label":"AudioAmplify", - "type":"keyword", - "info":"AudioAmplify[audio, s] multiplies all samples of audio by a factor s. " - }, - { - "label":"AudioAnnotate", - "type":"keyword", - "info":"AudioAnnotate[audio, prop] computes the property prop and adds it as an annotation to audio.AudioAnn" - }, - { - "label":"AudioAnnotationLookup", - "type":"keyword", - "info":"AudioAnnotationLookup[audio] gives all annotations associated to audio.AudioAnnotationLookup[audio, " - }, - { - "label":"AudioBlockMap", - "type":"keyword", - "info":"AudioBlockMap[f, audio, dur] applies f to non-overlapping partitions of length dur in audio. AudioBl" - }, - { - "label":"AudioCapture", - "type":"keyword", - "info":"AudioCapture[] creates a temporary interactive interface for capturing an audio signal.AudioCapture[" - }, - { - "label":"AudioChannelAssignment", - "type":"keyword", - "info":"AudioChannelAssignment is an option for Audio and related functions that specifies a mapping from au" - }, - { - "label":"AudioChannelCombine", - "type":"keyword", - "info":"AudioChannelCombine[{audio , audio , …}] creates a multichannel audio object by combining the sequen" - }, - { - "label":"AudioChannelMix", - "type":"keyword", - "info":"AudioChannelMix[audio] mixes channels of audio by averaging and returns a center-panned stereo audio" - }, - { - "label":"AudioChannels", - "type":"keyword", - "info":"AudioChannels[audio] returns the number of channels in the Audio object audio.AudioChannels[video] r" - }, - { - "label":"AudioChannelSeparate", - "type":"keyword", - "info":"AudioChannelSeparate[audio] gives a list of Audio objects, each of which represents one channel of a" - }, - { - "label":"AudioData", - "type":"keyword", - "info":"AudioData[audio] gives an array of audio samples.AudioData[audio, \"type\"] gives an array of audio sa" - }, - { - "label":"AudioDelay", - "type":"keyword", - "info":"AudioDelay[audio, delay] creates audio by adding repeated decaying echos to audio spaced by the spec" - }, - { - "label":"AudioDelete", - "type":"keyword", - "info":"AudioDelete[audio, t] deletes the first t seconds of audio.AudioDelete[audio, -t] deletes the last t" - }, - { - "label":"AudioDevice", - "type":"keyword", - "info":"AudioDevice is an option for Audio and related functions that specifies the device to use for playba" - }, - { - "label":"AudioDistance", - "type":"keyword", - "info":"AudioDistance[audio , audio ] returns a distance measure between audio and audio .\n " - }, - { - "label":"AudioEncoding", - "type":"keyword", - "info":"AudioEncoding is an option for Export and other functions that specifies the audio encoding to use w" - }, - { - "label":"AudioFade", - "type":"keyword", - "info":"AudioFade[audio] returns audio in which the beginning and end of audio are faded.AudioFade[audio, t]" - }, - { - "label":"AudioFrequencyShift", - "type":"keyword", - "info":"AudioFrequencyShift[audio, freq] gives audio by shifting the spectrum of audio by freq.AudioFrequenc" - }, - { - "label":"AudioGenerator", - "type":"keyword", - "info":"AudioGenerator[model] generates one second of audio of a given model.AudioGenerator[model, t] genera" - }, - { - "label":"AudioIdentify", - "type":"keyword", - "info":"AudioIdentify[audio] yields the result of attempting to identify what audio is a recording of.AudioI" - }, - { - "label":"AudioInputDevice", - "type":"keyword", - "info":"AudioInputDevice is an option for AudioCapture that specifies the device to use for audio recording." - }, - { - "label":"AudioInsert", - "type":"keyword", - "info":"AudioInsert[audio, t  new] inserts the audio signal new at time t.AudioInsert[audio, {t , t , …}  " - }, - { - "label":"AudioInstanceQ", - "type":"keyword", - "info":"AudioInstanceQ[audio, obj] gives True if audio sounds to be an instance of the object obj, and gives" - }, - { - "label":"AudioIntervals", - "type":"keyword", - "info":"AudioIntervals[audio] returns audible intervals of audio.AudioIntervals[audio, crit] returns interva" - }, - { - "label":"AudioJoin", - "type":"keyword", - "info":"AudioJoin[audio , audio , …] or AudioJoin[{audio , audio , …}] concatenates all audio and returns a" - }, - { - "label":"AudioLabel", - "type":"keyword", - "info":"AudioLabel is an option for an Audio object that specifies the label to show on the object." - }, - { - "label":"AudioLength", - "type":"keyword", - "info":"AudioLength[audio] returns the number of samples in the Audio object audio." - }, - { - "label":"AudioLocalMeasurements", - "type":"keyword", - "info":"AudioLocalMeasurements[audio, \"prop\"] computes the property \"prop\" locally for partitions of audio.A" - }, - { - "label":"AudioLooping", - "type":"keyword", - "info":"AudioLooping is an option for AudioStream and related functions to specify the playback looping." - }, - { - "label":"AudioLoudness", - "type":"keyword", - "info":"AudioLoudness[audio] computes the loudness of audio according to the EBU momentary definition.AudioL" - }, - { - "label":"AudioMeasurements", - "type":"keyword", - "info":"AudioMeasurements[audio, \"prop\"] computes the property \"prop\" for the entire audio.AudioMeasurements" - }, - { - "label":"AudioNormalize", - "type":"keyword", - "info":"AudioNormalize[audio] normalizes audio so that the maximum absolute value of its samples is 1.AudioN" - }, - { - "label":"AudioOutputDevice", - "type":"keyword", - "info":"AudioOutputDevice is an option for Audio and related functions that specifies the device to use for " - }, - { - "label":"AudioOverlay", - "type":"keyword", - "info":"AudioOverlay[{audio , audio , …}] returns an audio object by overlaying all audio .\n " - }, - { - "label":"AudioPad", - "type":"keyword", - "info":"AudioPad[audio, t] adds t seconds of silence to the end of audio.AudioPad[audio, {t , t }] adds t s" - }, - { - "label":"AudioPan", - "type":"keyword", - "info":"AudioPan[audio] returns a center-panned stereo audio object from a mono audio. AudioPan[audio, pan] " - }, - { - "label":"AudioPartition", - "type":"keyword", - "info":"AudioPartition[audio, dur] partitions an audio object into non-overlapping segments of duration dur." - }, - { - "label":"AudioPause", - "type":"keyword", - "info":"AudioPause[] pauses the playback of all AudioStream objects.AudioPause[astream] pauses the playback " - }, - { - "label":"AudioPitchShift", - "type":"keyword", - "info":"AudioPitchShift[audio, r] applies pitch shifting to audio by the ratio r, shifting every frequency f" - }, - { - "label":"AudioPlay", - "type":"keyword", - "info":"AudioPlay[audio] returns a new AudioStream object from audio and starts the playback.AudioPlay[astre" - }, - { - "label":"AudioPlot", - "type":"keyword", - "info":"AudioPlot[audio] plots the waveform of audio.AudioPlot[{audio , audio , …}] plots waveforms of all a" - }, - { - "label":"AudioQ", - "type":"keyword", - "info":"AudioQ[audio] yields True if audio has the form of a valid Audio object, and False otherwise." - }, - { - "label":"AudioRecord", - "type":"keyword", - "info":"AudioRecord[] returns a new AudioStream object and starts to record from the default input audio dev" - }, - { - "label":"AudioReplace", - "type":"keyword", - "info":"AudioReplace[audio, {t , t }  new] replaces the audio signal between t and t with the new signal " - }, - { - "label":"AudioResample", - "type":"keyword", - "info":"AudioResample[audio, sr] resamples audio to have the sample rate of sr." - }, - { - "label":"AudioReverb", - "type":"keyword", - "info":"AudioReverb[audio] adds reverberation to audio.AudioReverb[audio, model] adds reverberation followin" - }, - { - "label":"AudioReverse", - "type":"keyword", - "info":"AudioReverse[audio] reverses audio so that the signal is played backward." - }, - { - "label":"AudioSampleRate", - "type":"keyword", - "info":"AudioSampleRate[audio] returns the sample rate of the Audio object audio.AudioSampleRate[video] retu" - }, - { - "label":"AudioSpectralMap", - "type":"keyword", - "info":"AudioSpectralMap[f, audio] transforms audio by applying the function f to its short-time Fourier tra" - }, - { - "label":"AudioSpectralTransformation", - "type":"keyword", - "info":"AudioSpectralTransformation[f, audio] returns a modified version of audio by applying a time-frequen" - }, - { - "label":"AudioSplit", - "type":"keyword", - "info":"AudioSplit[audio, t] splits audio at time t.AudioSplit[audio, {t , t , …}] splits audio at times t ." - }, - { - "label":"AudioStop", - "type":"keyword", - "info":"AudioStop[] stops the playback of all AudioStream objects.AudioStop[astream] stops the playback of t" - }, - { - "label":"AudioStream", - "type":"keyword", - "info":"AudioStream[source] creates a new AudioStream object from source.AudioStream[id] is an object that r" - }, - { - "label":"AudioStreams", - "type":"keyword", - "info":"AudioStreams[] returns all existing streams.AudioStreams[audio] returns all existing streams that or" - }, - { - "label":"AudioTimeStretch", - "type":"keyword", - "info":"AudioTimeStretch[audio, r] applies time stretching to audio by the specified factor r." - }, - { - "label":"AudioTrackApply", - "type":"keyword", - "info":"AudioTrackApply[f, video] applies the function f to the first audio track of the Video object video." - }, - { - "label":"AudioTrackSelection", - "type":"keyword", - "info":"AudioTrackSelection is an option that specifies the audio tracks of interest." - }, - { - "label":"AudioTrim", - "type":"keyword", - "info":"AudioTrim[audio] trims silence from the beginning and end of audio.AudioTrim[audio, t] returns the f" - }, - { - "label":"AudioType", - "type":"keyword", - "info":"AudioType[audio] returns the data type used to represent samples in the Audio object audio." - }, - { - "label":"AugmentedPolyhedron", - "type":"keyword", - "info":"AugmentedPolyhedron[poly] gives the augmented polyhedron poly by replacing each face by a pyramid. A" - }, - { - "label":"AugmentedSymmetricPolynomial", - "type":"keyword", - "info":"AugmentedSymmetricPolynomial[{r , r , …}] represents a formal augmented symmetric polynomial with ex" - }, - { - "label":"Authenticate", - "type":"keyword", - "info":"System`Authenticate" - }, - { - "label":"Authentication", - "type":"keyword", - "info":"Authentication is an option for cloud, web and SSH access functions that allows authentication param" - }, - { - "label":"AuthenticationDialog", - "type":"keyword", - "info":"AuthenticationDialog[] initiates a standard dialog for entering username\/password authentication inf" - }, - { - "label":"AutoAction", - "type":"keyword", - "info":"AutoAction is an option for objects such as Slider, Locator, and Button that specifies whether they " - }, - { - "label":"Autocomplete", - "type":"keyword", - "info":"Autocomplete[{string , string , …}, \"string\"] gives a list of the string that can complete string.A" - }, - { - "label":"AutocompletionFunction", - "type":"keyword", - "info":"AutocompletionFunction[…] represents a function to be applied to a string to generate possible compl" - }, - { - "label":"AutoCopy", - "type":"keyword", - "info":"AutoCopy is an option for notebooks and cloud objects that specifies whether to automatically make a" - }, - { - "label":"AutocorrelationTest", - "type":"keyword", - "info":"AutocorrelationTest[data] tests whether the data is autocorrelated.AutocorrelationTest[data, k] test" - }, - { - "label":"AutoDelete", - "type":"keyword", - "info":"AutoDelete is an option for boxes that specifies whether a box is automatically deleted when its con" - }, - { - "label":"AutoEvaluateEvents", - "type":"keyword", - "info":"System`AutoEvaluateEvents" - }, - { - "label":"AutoGeneratedPackage", - "type":"keyword", - "info":"AutoGeneratedPackage is an option for notebooks that specifies whether a package is automatically cr" - }, - { - "label":"AutoIndent", - "type":"keyword", - "info":"AutoIndent is an option for Style and Cell that specifies what automatic indentation should be done " - }, - { - "label":"AutoIndentSpacings", - "type":"keyword", - "info":"System`AutoIndentSpacings" - }, - { - "label":"AutoItalicWords", - "type":"keyword", - "info":"AutoItalicWords is an option for Cell that gives a list of words that should automatically be put in" - }, - { - "label":"AutoloadPath", - "type":"keyword", - "info":"AutoloadPath is a global option that specifies from which directories packages are automatically loa" - }, - { - "label":"AutoMatch", - "type":"keyword", - "info":"System`AutoMatch" - }, - { - "label":"Automatic", - "type":"keyword", - "info":"Automatic represents an option or other value that is to be chosen automatically by a built‐in funct" - }, - { - "label":"AutomaticImageSize", - "type":"keyword", - "info":"System`AutomaticImageSize" - }, - { - "label":"AutoMultiplicationSymbol", - "type":"keyword", - "info":"AutoMultiplicationSymbol is an option for objects such as Cell and Notebook that specifies when to a" - }, - { - "label":"AutoNumberFormatting", - "type":"keyword", - "info":"System`AutoNumberFormatting" - }, - { - "label":"AutoOpenNotebooks", - "type":"keyword", - "info":"AutoOpenNotebooks is a global option that specifies which notebooks should be automatically opened w" - }, - { - "label":"AutoOpenPalettes", - "type":"keyword", - "info":"AutoOpenPalettes is a global option that specifies the palettes that are automatically opened when t" - }, - { - "label":"AutoOperatorRenderings", - "type":"keyword", - "info":"AutoOperatorRenderings is an option for cells and notebooks that specifies automatic renderings to b" - }, - { - "label":"AutoQuoteCharacters", - "type":"keyword", - "info":"System`AutoQuoteCharacters" - }, - { - "label":"AutoRefreshed", - "type":"keyword", - "info":"AutoRefreshed[expr] represents an expression to be reevaluated every hour and made available in the " - }, - { - "label":"AutoRemove", - "type":"keyword", - "info":"AutoRemove is an option specifying whether tasks, generators, cloud objects and related constructs s" - }, - { - "label":"AutorunSequencing", - "type":"keyword", - "info":"AutorunSequencing is an option for Manipulate that specifies how autorun should use the controls pro" - }, - { - "label":"AutoScaling", - "type":"keyword", - "info":"System`AutoScaling" - }, - { - "label":"AutoScroll", - "type":"keyword", - "info":"AutoScroll is an option to SelectionMove and related functions that specifies whether a notebook sho" - }, - { - "label":"AutoSpacing", - "type":"keyword", - "info":"AutoSpacing is an option for Style and Cell that specifies whether spaces between successive charact" - }, - { - "label":"AutoStyleOptions", - "type":"keyword", - "info":"System`AutoStyleOptions" - }, - { - "label":"AutoStyleWords", - "type":"keyword", - "info":"System`AutoStyleWords" - }, - { - "label":"AutoSubmitting", - "type":"keyword", - "info":"AutoSubmitting[spec] represents an element of a form that automatically submits the whole form if it" - }, - { - "label":"Axes", - "type":"keyword", - "info":"Axes is an option for graphics functions that specifies whether axes should be drawn. " - }, - { - "label":"AxesEdge", - "type":"keyword", - "info":"AxesEdge is an option for three-dimensional graphics functions that specifies on which edges of the " - }, - { - "label":"AxesLabel", - "type":"keyword", - "info":"AxesLabel is an option for graphics functions that specifies labels for axes. " - }, - { - "label":"AxesOrigin", - "type":"keyword", - "info":"AxesOrigin is an option for graphics functions that specifies where any axes drawn should cross. " - }, - { - "label":"AxesStyle", - "type":"keyword", - "info":"AxesStyle is an option for graphics functions that specifies how axes should be rendered. " - }, - { - "label":"AxiomaticTheory", - "type":"keyword", - "info":"AxiomaticTheory[\"theory\"] gives an axiomatic representation of the specified axiomatic theory.Axioma" - }, - { - "label":"Axis", - "type":"keyword", - "info":"Axis is a symbol that represents the axis for purposes of alignment and positioning. " - }, - { - "label":"Axis3DBox", - "type":"keyword", - "info":"System`Axis3DBox" - }, - { - "label":"Axis3DBoxOptions", - "type":"keyword", - "info":"System`Axis3DBoxOptions" - }, - { - "label":"AxisBox", - "type":"keyword", - "info":"System`AxisBox" - }, - { - "label":"AxisBoxOptions", - "type":"keyword", - "info":"System`AxisBoxOptions" - }, - { - "label":"AxisLabel", - "type":"keyword", - "info":"AxisLabel is an option for AxisObject that specifies a label for the axis." - }, - { - "label":"AxisObject", - "type":"keyword", - "info":"AxisObject[path] is a Graphics primitive that represents an axis with a quantitative scale along the" - }, - { - "label":"AxisStyle", - "type":"keyword", - "info":"AxisStyle is an option for AxisObject that specifies how to style the path of an axis." - }, - { - "label":"BabyMonsterGroupB", - "type":"keyword", - "info":"BabyMonsterGroupB[] represents the sporadic simple baby monster group B." - }, - { - "label":"Back", - "type":"keyword", - "info":"Back is a symbol that represents the back of a graphic for purposes of placement and alignment." - }, - { - "label":"BackFaceColor", - "type":"keyword", - "info":"System`BackFaceColor" - }, - { - "label":"BackFaceGlowColor", - "type":"keyword", - "info":"System`BackFaceGlowColor" - }, - { - "label":"BackFaceOpacity", - "type":"keyword", - "info":"System`BackFaceOpacity" - }, - { - "label":"BackFaceSpecularColor", - "type":"keyword", - "info":"System`BackFaceSpecularColor" - }, - { - "label":"BackFaceSpecularExponent", - "type":"keyword", - "info":"System`BackFaceSpecularExponent" - }, - { - "label":"BackFaceSurfaceAppearance", - "type":"keyword", - "info":"System`BackFaceSurfaceAppearance" - }, - { - "label":"BackFaceTexture", - "type":"keyword", - "info":"System`BackFaceTexture" - }, - { - "label":"Background", - "type":"keyword", - "info":"Background is an option that specifies what background color to use. " - }, - { - "label":"BackgroundAppearance", - "type":"keyword", - "info":"System`BackgroundAppearance" - }, - { - "label":"BackgroundTasksSettings", - "type":"keyword", - "info":"System`BackgroundTasksSettings" - }, - { - "label":"Backslash", - "type":"keyword", - "info":"Backslash[x, y, …] displays as x ∖ y ∖ …." - }, - { - "label":"Backsubstitution", - "type":"keyword", - "info":"System`Backsubstitution" - }, - { - "label":"Backward", - "type":"keyword", - "info":"Backward is a symbol that represents the backward direction for purposes of motion and animation." - }, - { - "label":"Ball", - "type":"keyword", - "info":"Ball[p] represents the unit ball centered at the point p.Ball[p, r] represents the ball of radius r " - }, - { - "label":"Band", - "type":"keyword", - "info":"Band[{i, j}] represents the sequence of positions on the diagonal band that starts with {i, j} in a " - }, - { - "label":"BandpassFilter", - "type":"keyword", - "info":"BandpassFilter[data, {ω , ω }] applies a bandpass filter with cutoff frequencies ω and ω to an arr" - }, - { - "label":"BandstopFilter", - "type":"keyword", - "info":"BandstopFilter[data, {ω , ω }] applies a bandstop filter with cutoff frequencies ω and ω to an arr" - }, - { - "label":"BarabasiAlbertGraphDistribution", - "type":"keyword", - "info":"BarabasiAlbertGraphDistribution[n, k] represents a Barabasi–Albert graph distribution for n-vertex g" - }, - { - "label":"BarChart", - "type":"keyword", - "info":"BarChart[{y , y , …, y }] makes a bar chart with bar lengths y , y , ….BarChart[{…, w [y , …], …, w" - }, - { - "label":"BarChart3D", - "type":"keyword", - "info":"BarChart3D[{y , y , …}] makes a 3D bar chart with bar lengths y , y , … .BarChart3D[{…, w [y , …], …" - }, - { - "label":"BarcodeImage", - "type":"keyword", - "info":"BarcodeImage[\"string\", format] generates a barcode image of \"string\" in the specified format.Barcode" - }, - { - "label":"BarcodeRecognize", - "type":"keyword", - "info":"BarcodeRecognize[image] recognizes a barcode in image and returns it as a string.BarcodeRecognize[im" - }, - { - "label":"BaringhausHenzeTest", - "type":"keyword", - "info":"BaringhausHenzeTest[data] tests whether data follows a MultinormalDistribution using the Baringhaus–" - }, - { - "label":"BarLegend", - "type":"keyword", - "info":"BarLegend[cf] generates a legend that identifies colors from the color function cf with an automatic" - }, - { - "label":"BarlowProschanImportance", - "type":"keyword", - "info":"BarlowProschanImportance[rdist] gives the Barlow–Proschan importances for all components in the Reli" - }, - { - "label":"BarnesG", - "type":"keyword", - "info":"BarnesG[z] gives the Barnes G-function G(z)." - }, - { - "label":"BarOrigin", - "type":"keyword", - "info":"BarOrigin is an option to BarChart and related functions that specifies the origin placement for bar" - }, - { - "label":"BarSpacing", - "type":"keyword", - "info":"BarSpacing is an option to BarChart and related functions that controls the spacing between bars and" - }, - { - "label":"BartlettHannWindow", - "type":"keyword", - "info":"BartlettHannWindow[x] represents a Bartlett–Hann window function of x." - }, - { - "label":"BartlettWindow", - "type":"keyword", - "info":"BartlettWindow[x] represents a Bartlett window function of x." - }, - { - "label":"BaseDecode", - "type":"keyword", - "info":"BaseDecode[\"string\"] decodes the Base64 data contained in a string and returns the result as a byte " - }, - { - "label":"BaseEncode", - "type":"keyword", - "info":"BaseEncode[ba] encodes the byte array ba as a Base64 string.BaseEncode[ba, \"encoding\"] encodes using" - }, - { - "label":"BaseForm", - "type":"keyword", - "info":"BaseForm[expr, n] prints with the numbers in expr given in base n. " - }, - { - "label":"Baseline", - "type":"keyword", - "info":"Baseline is a symbol that represents the baseline for purposes of alignment and positioning. " - }, - { - "label":"BaselinePosition", - "type":"keyword", - "info":"BaselinePosition is an option that specifies where the baseline of an object is considered to be for" - }, - { - "label":"BaseStyle", - "type":"keyword", - "info":"BaseStyle is an option for formatting and related constructs that specifies the base style to use fo" - }, - { - "label":"BasicRecurrentLayer", - "type":"keyword", - "info":"BasicRecurrentLayer[n] represents a trainable recurrent layer that takes a sequence of vectors and p" - }, - { - "label":"BatchNormalizationLayer", - "type":"keyword", - "info":"BatchNormalizationLayer[] represents a trainable net layer that normalizes its input data by learnin" - }, - { - "label":"BatchSize", - "type":"keyword", - "info":"BatchSize is an option for NetTrain and related functions that specifies the size of a batch of exam" - }, - { - "label":"BatesDistribution", - "type":"keyword", - "info":"BatesDistribution[n] represents the distribution of a mean of n random variables uniformly distribut" - }, - { - "label":"BattleLemarieWavelet", - "type":"keyword", - "info":"BattleLemarieWavelet[] represents the Battle–Lemarié wavelet of order 3.BattleLemarieWavelet[n] repr" - }, - { - "label":"BayesianMaximization", - "type":"keyword", - "info":"BayesianMaximization[f, {conf , conf , …}] gives an object representing the result of Bayesian maxim" - }, - { - "label":"BayesianMaximizationObject", - "type":"keyword", - "info":"BayesianMaximizationObject[…] represents the result of a Bayesian maximization process." - }, - { - "label":"BayesianMinimization", - "type":"keyword", - "info":"BayesianMinimization[f, {conf , conf , …}] gives an object representing the result of Bayesian minim" - }, - { - "label":"BayesianMinimizationObject", - "type":"keyword", - "info":"BayesianMinimizationObject[…] represents the result of a Bayesian minimization process. " - }, - { - "label":"Because", - "type":"keyword", - "info":"Because[x, y] displays as x âˆ\\[Micro] y." - }, - { - "label":"BeckmannDistribution", - "type":"keyword", - "info":"BeckmannDistribution[μ , μ , σ , σ ] represents the Beckmann distribution with means μ and μ and s" - }, - { - "label":"Beep", - "type":"keyword", - "info":"Beep[] generates an audible beep when evaluated. " - }, - { - "label":"Before", - "type":"keyword", - "info":"Before is a symbol that represents the region before an object for purposes of placement." - }, - { - "label":"Begin", - "type":"keyword", - "info":"Begin[\"context`\"] resets the current context. " - }, - { - "label":"BeginDialogPacket", - "type":"keyword", - "info":"BeginDialogPacket[integer] is a WSTP packet that indicates the start of the Dialog subsession refere" - }, - { - "label":"BeginPackage", - "type":"keyword", - "info":"BeginPackage[\"context`\"] makes context` and System` the only active contexts. BeginPackage[\"context`" - }, - { - "label":"BellB", - "type":"keyword", - "info":"BellB[n] gives the Bell number B . BellB[n, x] gives the Bell polynomial B (x). \n " - }, - { - "label":"BellY", - "type":"keyword", - "info":"BellY[n, k, {x , …, x }] gives the partial Bell polynomial Y (x , …, x ).BellY[n," - }, - { - "label":"Below", - "type":"keyword", - "info":"Below is a symbol that represents the region below an object for purposes of placement." - }, - { - "label":"BenfordDistribution", - "type":"keyword", - "info":"BenfordDistribution[b] represents a Benford distribution with base parameter b." - }, - { - "label":"BeniniDistribution", - "type":"keyword", - "info":"BeniniDistribution[Î\\[PlusMinus], Î\.b2, σ] represents a Benini distribution with shape parameters Î\\[PlusMinus] and Î\.b2 and scale" - }, - { - "label":"BenktanderGibratDistribution", - "type":"keyword", - "info":"BenktanderGibratDistribution[a, b] represents a Benktander distribution of type I with parameters a " - }, - { - "label":"BenktanderWeibullDistribution", - "type":"keyword", - "info":"BenktanderWeibullDistribution[a, b] represents a Benktander distribution of type II with parameters " - }, - { - "label":"BernoulliB", - "type":"keyword", - "info":"BernoulliB[n] gives the Bernoulli number B . BernoulliB[n, x] gives the Bernoulli polynomial B (x). " - }, - { - "label":"BernoulliDistribution", - "type":"keyword", - "info":"BernoulliDistribution[p] represents a Bernoulli distribution with probability parameter p." - }, - { - "label":"BernoulliGraphDistribution", - "type":"keyword", - "info":"BernoulliGraphDistribution[n, p] represents a Bernoulli graph distribution for n-vertex graphs with " - }, - { - "label":"BernoulliProcess", - "type":"keyword", - "info":"BernoulliProcess[p] represents a Bernoulli process with event probability p." - }, - { - "label":"BernsteinBasis", - "type":"keyword", - "info":" th\nBernsteinBasis[d, n, x] represents the n Bernstein ba" - }, - { - "label":"BesagL", - "type":"keyword", - "info":"BesagL[pdata, r] estimates Besag's L function L(r) for point data pdata at radius r.BesagL[pproc, r]" - }, - { - "label":"BesselFilterModel", - "type":"keyword", - "info":"BesselFilterModel[n] designs a lowpass Bessel filter of order n and cutoff frequency 1.BesselFilterM" - }, - { - "label":"BesselI", - "type":"keyword", - "info":"BesselI[n, z] gives the modified Bessel function of the first kind I (z). \n " - }, - { - "label":"BesselJ", - "type":"keyword", - "info":"BesselJ[n, z] gives the Bessel function of the first kind J (z). \n " - }, - { - "label":"BesselJZero", - "type":"keyword", - "info":" th " - }, - { - "label":"BesselK", - "type":"keyword", - "info":"BesselK[n, z] gives the modified Bessel function of the second kind K (z). \n " - }, - { - "label":"BesselY", - "type":"keyword", - "info":"BesselY[n, z] gives the Bessel function of the second kind Y (z). \n " - }, - { - "label":"BesselYZero", - "type":"keyword", - "info":" th " - }, - { - "label":"Beta", - "type":"keyword", - "info":"Beta[a, b] gives the Euler beta function Β(a, b). Beta[z, a, b] gives the incomplete beta function Β" - }, - { - "label":"BetaBinomialDistribution", - "type":"keyword", - "info":"BetaBinomialDistribution[Î\\[PlusMinus], Î\.b2, n] represents a beta binomial mixture distribution with beta distribu" - }, - { - "label":"BetaDistribution", - "type":"keyword", - "info":"BetaDistribution[Î\\[PlusMinus], Î\.b2] represents a continuous beta distribution with shape parameters Î\\[PlusMinus] and Î\.b2." - }, - { - "label":"BetaNegativeBinomialDistribution", - "type":"keyword", - "info":"BetaNegativeBinomialDistribution[Î\\[PlusMinus], Î\.b2, n] represents a beta negative binomial mixture distribution w" - }, - { - "label":"BetaPrimeDistribution", - "type":"keyword", - "info":"BetaPrimeDistribution[p, q] represents a beta prime distribution with shape parameters p and q. Beta" - }, - { - "label":"BetaRegularized", - "type":"keyword", - "info":"BetaRegularized[z, a, b] gives the regularized incomplete beta function I (a, b). \n " - }, - { - "label":"Between", - "type":"keyword", - "info":"Between[x, {min, max}] is equivalent to min ≤ x ≤ max.Between[x, {{min , max }, {min , max }, …}] is" - }, - { - "label":"BetweennessCentrality", - "type":"keyword", - "info":"BetweennessCentrality[g] gives a list of betweenness centralities for the vertices in the graph g.Be" - }, - { - "label":"Beveled", - "type":"keyword", - "info":"System`Beveled" - }, - { - "label":"BeveledPolyhedron", - "type":"keyword", - "info":"BeveledPolyhedron[poly] gives the beveled polyhedron of poly, by beveling each edge. BeveledPolyhedr" - }, - { - "label":"BezierCurve", - "type":"keyword", - "info":"BezierCurve[{pt , pt , …}] is a graphics primitive that represents a Bézier curve with control point" - }, - { - "label":"BezierCurve3DBox", - "type":"keyword", - "info":"System`BezierCurve3DBox" - }, - { - "label":"BezierCurve3DBoxOptions", - "type":"keyword", - "info":"BezierCurve3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Bez" - }, - { - "label":"BezierCurveBox", - "type":"keyword", - "info":"System`BezierCurveBox" - }, - { - "label":"BezierCurveBoxOptions", - "type":"keyword", - "info":"BezierCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Bezie" - }, - { - "label":"BezierFunction", - "type":"keyword", - "info":"BezierFunction[{pt , pt , …}] represents a Bézier function for a curve defined by the control points" - }, - { - "label":"BilateralFilter", - "type":"keyword", - "info":"BilateralFilter[data, σ, μ] applies a bilateral filter of spatial spread σ and pixel value spread μ " - }, - { - "label":"BilateralLaplaceTransform", - "type":"keyword", - "info":"BilateralLaplaceTransform[expr, t, s] gives the bilateral Laplace transform of expr. BilateralLaplac" - }, - { - "label":"BilateralZTransform", - "type":"keyword", - "info":"BilateralZTransform[expr, n, z] gives the bilateral Z transform of expr.BilateralZTransform[expr, {n" - }, - { - "label":"Binarize", - "type":"keyword", - "info":"Binarize[image] creates a binary image from image by replacing all values above a globally determine" - }, - { - "label":"BinaryDeserialize", - "type":"keyword", - "info":"BinaryDeserialize[ByteArray[…]] recovers an expression from a binary representation generated by Bin" - }, - { - "label":"BinaryDistance", - "type":"keyword", - "info":"BinaryDistance[u, v] gives the binary distance between vectors u and v, equal to 0 if they are ident" - }, - { - "label":"BinaryFormat", - "type":"keyword", - "info":"BinaryFormat is an option for OpenRead and related functions that specifies that a stream should be " - }, - { - "label":"BinaryImageQ", - "type":"keyword", - "info":"BinaryImageQ[image] yields True if image has the form of a binary Image or Image3D object, and False" - }, - { - "label":"BinaryRead", - "type":"keyword", - "info":"BinaryRead[stream] reads one byte of raw binary data from an input stream, and returns an integer fr" - }, - { - "label":"BinaryReadList", - "type":"keyword", - "info":"BinaryReadList[\"file\"] reads all remaining bytes from a file, and returns them as a list of integers" - }, - { - "label":"BinarySerialize", - "type":"keyword", - "info":"BinarySerialize[expr] gives a binary representation of any expression expr as a ByteArray object." - }, - { - "label":"BinaryWrite", - "type":"keyword", - "info":"BinaryWrite[channel, b] writes a byte of data, specified as an integer from 0 to 255. BinaryWrite[ch" - }, - { - "label":"BinCounts", - "type":"keyword", - "info":"BinCounts[{x , x , …}] counts the number of elements x whose values lie in successive integer bins." - }, - { - "label":"BinLists", - "type":"keyword", - "info":"BinLists[{x , x , …}] gives lists of the elements x whose values lie in successive integer bins.Bin" - }, - { - "label":"BinnedVariogramList", - "type":"keyword", - "info":"BinnedVariogramList[{loc  val , loc  val , …}] computes a variogram using binned values. BinnedV" - }, - { - "label":"Binomial", - "type":"keyword", - "info":"Binomial[n, m] gives the binomial coefficient (n).\n\n m" - }, - { - "label":"BinomialDistribution", - "type":"keyword", - "info":"BinomialDistribution[n, p] represents a binomial distribution with n trials and success probability " - }, - { - "label":"BinomialPointProcess", - "type":"keyword", - "info":"BinomialPointProcess[n, reg] represents a binomial point process with n points in the region reg." - }, - { - "label":"BinomialProcess", - "type":"keyword", - "info":"BinomialProcess[p] represents a binomial process with event probability p." - }, - { - "label":"BinormalDistribution", - "type":"keyword", - "info":" " - }, - { - "label":"BiorthogonalSplineWavelet", - "type":"keyword", - "info":"BiorthogonalSplineWavelet[] represents a biorthogonal spline wavelet of order 4 and dual order 2.Bio" - }, - { - "label":"BioSequence", - "type":"keyword", - "info":"BioSequence[type, \"seq\"] represents the biomolecular sequence of the given type corresponding to a s" - }, - { - "label":"BioSequenceBackTranslateList", - "type":"keyword", - "info":"BioSequenceBackTranslateList[bioseq] gives the generalized back translations of a peptide sequence b" - }, - { - "label":"BioSequenceComplement", - "type":"keyword", - "info":"BioSequenceComplement[bioseq] gives the biological complement of the sequence bioseq." - }, - { - "label":"BioSequenceInstances", - "type":"keyword", - "info":"BioSequenceInstances[bioseq] expands the possibly degenerate sequence bioseq into all fully specifie" - }, - { - "label":"BioSequenceModify", - "type":"keyword", - "info":"BioSequenceModify[seq, \"mod\"] gives the result of applying the modification \"mod\" to the sequence se" - }, - { - "label":"BioSequencePlot", - "type":"keyword", - "info":"BioSequencePlot[bioseq] creates a two-dimensional schematic diagram of the biomolecular sequence bio" - }, - { - "label":"BioSequenceQ", - "type":"keyword", - "info":"BioSequenceQ[bioseq] returns True if bioseq is a valid BioSequence expression, and False otherwise.B" - }, - { - "label":"BioSequenceReverseComplement", - "type":"keyword", - "info":"BioSequenceReverseComplement[bioseq] biologically complements and reverses the sequence bioseq." - }, - { - "label":"BioSequenceTranscribe", - "type":"keyword", - "info":"BioSequenceTranscribe[bioseq] transcribes DNA into RNA or inverts the transcription of RNA back to D" - }, - { - "label":"BioSequenceTranslate", - "type":"keyword", - "info":"BioSequenceTranslate[bioseq] translates a DNA or RNA sequence bioseq to a peptide sequence.BioSequen" - }, - { - "label":"BipartiteGraphQ", - "type":"keyword", - "info":"BipartiteGraphQ[g] yields True if the graph g is a bipartite graph and False otherwise." - }, - { - "label":"BiquadraticFilterModel", - "type":"keyword", - "info":"BiquadraticFilterModel[{ω, q}] creates a lowpass biquadratic filter using the characteristic frequen" - }, - { - "label":"BirnbaumImportance", - "type":"keyword", - "info":"BirnbaumImportance[rdist, t] gives the Birnbaum importances for all components in the ReliabilityDis" - }, - { - "label":"BirnbaumSaundersDistribution", - "type":"keyword", - "info":"BirnbaumSaundersDistribution[Î\\[PlusMinus], λ] represents the Birnbaum–Saunders distribution with shape paramete" - }, - { - "label":"BitAnd", - "type":"keyword", - "info":"BitAnd[n , n , …] gives the bitwise AND of the integers n . \n 1 2 " - }, - { - "label":"BitClear", - "type":"keyword", - "info":" k\nBitClear[n, k] sets to 0 the" - }, - { - "label":"BitGet", - "type":"keyword", - "info":" k\nBitGet[n, k] gets the bit correspon" - }, - { - "label":"BitLength", - "type":"keyword", - "info":"BitLength[n] gives the number of binary bits necessary to represent the integer n. " - }, - { - "label":"BitNot", - "type":"keyword", - "info":"BitNot[n] gives the bitwise NOT of the integer n. " - }, - { - "label":"BitOr", - "type":"keyword", - "info":"BitOr[n , n , …] gives the bitwise OR of the integers n . \n 1 2 " - }, - { - "label":"BitRate", - "type":"keyword", - "info":"BitRate is an option that specifies an approximate number of bits per second when creating video and" - }, - { - "label":"BitSet", - "type":"keyword", - "info":" k\nBitSet[n, k] sets to 1 the bit" - }, - { - "label":"BitShiftLeft", - "type":"keyword", - "info":"BitShiftLeft[n, k] shifts the binary bits in the integer n to the left by k places, padding with zer" - }, - { - "label":"BitShiftRight", - "type":"keyword", - "info":"BitShiftRight[n, k] shifts the binary bits in the integer n to the right by k places, dropping bits " - }, - { - "label":"BitXor", - "type":"keyword", - "info":"BitXor[n , n , …] gives the bitwise XOR of the integers n . \n 1 2 " - }, - { - "label":"BiweightLocation", - "type":"keyword", - "info":"BiweightLocation[list] gives the value of the biweight location estimator of the elements in list.Bi" - }, - { - "label":"BiweightMidvariance", - "type":"keyword", - "info":"BiweightMidvariance[list] gives the value of the biweight midvariance of the elements in list.Biweig" - }, - { - "label":"Black", - "type":"keyword", - "info":"Black represents the color black in graphics or style specifications. " - }, - { - "label":"BlackmanHarrisWindow", - "type":"keyword", - "info":"BlackmanHarrisWindow[x] represents a Blackman–Harris window function of x." - }, - { - "label":"BlackmanNuttallWindow", - "type":"keyword", - "info":"BlackmanNuttallWindow[x] represents a Blackman–Nuttall window function of x." - }, - { - "label":"BlackmanWindow", - "type":"keyword", - "info":"BlackmanWindow[x] represents a Blackman window function of x." - }, - { - "label":"Blank", - "type":"keyword", - "info":"_ or Blank[] is a pattern object that can stand for any Wolfram Language expression. _h or Blank[h] " - }, - { - "label":"BlankForm", - "type":"keyword", - "info":"BlankForm is an internal symbol used for formatting and printing." - }, - { - "label":"BlankNullSequence", - "type":"keyword", - "info":"___ (three _ characters) or BlankNullSequence[] is a pattern object that can stand for any sequence " - }, - { - "label":"BlankSequence", - "type":"keyword", - "info":"__ (two _ characters) or BlankSequence[] is a pattern object that can stand for any sequence of one " - }, - { - "label":"Blend", - "type":"keyword", - "info":"Blend[{col , col }, x] gives a color obtained by blending a fraction 1 - x of color col and x of co" - }, - { - "label":"Block", - "type":"keyword", - "info":"Block[{x, y, …}, expr] specifies that expr is to be evaluated with local values for the symbols x, y" - }, - { - "label":"BlockchainAddressData", - "type":"keyword", - "info":"BlockchainAddressData[\"address\"] gives available information connected with the specified address on" - }, - { - "label":"BlockchainBase", - "type":"keyword", - "info":"BlockchainBase is an option for various blockchain functions that specifies which blockchain to use." - }, - { - "label":"BlockchainBlockData", - "type":"keyword", - "info":"BlockchainBlockData[\"hash\"] gives information about the block with the specified hash on the blockch" - }, - { - "label":"BlockchainContractValue", - "type":"keyword", - "info":"BlockchainContractValue[caddr] gets the result obtained from a Wolfram expression contract at blockc" - }, - { - "label":"BlockchainData", - "type":"keyword", - "info":"BlockchainData[] gives information about the blockchain specified by ECBlockchainBase.BlockchainData[" - }, - { - "label":"BlockchainGet", - "type":"keyword", - "info":"BlockchainGet[id] retrieves data from the Wolfram blockchain for the transaction with the specified " - }, - { - "label":"BlockchainKeyEncode", - "type":"keyword", - "info":"BlockchainKeyEncode[key, form] encodes a private or public key in the specified blockchain format." - }, - { - "label":"BlockchainPut", - "type":"keyword", - "info":"BlockchainPut[expr] adds expr to the Wolfram blockchain." - }, - { - "label":"BlockchainTokenData", - "type":"keyword", - "info":"BlockchainTokenData[\"name\"] gives information about the use of tokens with the specified name on a b" - }, - { - "label":"BlockchainTransaction", - "type":"keyword", - "info":"BlockchainTransaction[assoc] represents a blockchain transaction built from the components in the as" - }, - { - "label":"BlockchainTransactionData", - "type":"keyword", - "info":"BlockchainTransactionData[txid] gives information about the blockchain transaction with ID txid on t" - }, - { - "label":"BlockchainTransactionSign", - "type":"keyword", - "info":"BlockchainTransactionSign[obj, key] digitally signs a blockchain transaction using the specified pri" - }, - { - "label":"BlockchainTransactionSubmit", - "type":"keyword", - "info":"BlockchainTransactionSubmit[obj] submits the transaction specified in the BlockchainTransaction obje" - }, - { - "label":"BlockMap", - "type":"keyword", - "info":"BlockMap[f, list, n] applies f to non-overlapping sublists of length n in list. BlockMap[f, list, n," - }, - { - "label":"BlockRandom", - "type":"keyword", - "info":"BlockRandom[expr] evaluates expr with all pseudorandom generators localized, so that uses of SeedRan" - }, - { - "label":"BlomqvistBeta", - "type":"keyword", - "info":" " - }, - { - "label":"BlomqvistBetaTest", - "type":"keyword", - "info":"BlomqvistBetaTest[v , v ] tests whether the vectors v and v are independent.BlomqvistBetaTest[m , " - }, - { - "label":"Blue", - "type":"keyword", - "info":"Blue represents the color blue in graphics or style specifications. " - }, - { - "label":"Blur", - "type":"keyword", - "info":"Blur[image] gives a blurred version of image.Blur[image, r] gives a version of image blurred over pi" - }, - { - "label":"BodePlot", - "type":"keyword", - "info":"BodePlot[lsys] generates a Bode plot of a linear time-invariant system lsys.BodePlot[lsys, {ω , ω " - }, - { - "label":"BohmanWindow", - "type":"keyword", - "info":"BohmanWindow[x] represents a Bohman window function of x." - }, - { - "label":"Bold", - "type":"keyword", - "info":"Bold represents a bold font weight." - }, - { - "label":"Bond", - "type":"keyword", - "info":"Bond[{id , id }] represents a single chemical bond between atoms with indices id and id .Bond[{id ," - }, - { - "label":"BondCount", - "type":"keyword", - "info":"BondCount[mol] gives the number of bonds in the molecule mol.BondCount[mol, patt] gives the number o" - }, - { - "label":"BondLabels", - "type":"keyword", - "info":"BondLabels is an option for MoleculePlot and MoleculePlot3D that specifies what labels and label pos" - }, - { - "label":"BondLabelStyle", - "type":"keyword", - "info":"BondLabelStyle is an option for MoleculePlot and MoleculePlot3D that specifies the style to use for " - }, - { - "label":"BondList", - "type":"keyword", - "info":"BondList[mol] gives the list of bonds in the molecule mol.BondList[mol, patt] gives the list of bond" - }, - { - "label":"BondQ", - "type":"keyword", - "info":"BondQ[m, bond] gives True if bond is a bond in the molecule m, and False otherwise." - }, - { - "label":"Bookmarks", - "type":"keyword", - "info":"Bookmarks is an option for Manipulate and related functions that gives a list of bookmark settings." - }, - { - "label":"Boole", - "type":"keyword", - "info":"Boole[expr] yields 1 if expr is True and 0 if it is False. " - }, - { - "label":"BooleanConsecutiveFunction", - "type":"keyword", - "info":" " - }, - { - "label":"BooleanConvert", - "type":"keyword", - "info":"BooleanConvert[expr] converts the Boolean expression expr to disjunctive normal form.BooleanConvert[" - }, - { - "label":"BooleanCountingFunction", - "type":"keyword", - "info":"BooleanCountingFunction[k , n] represents a Boolean function of n variables that gives True if at " - }, - { - "label":"BooleanFunction", - "type":"keyword", - "info":" th\nBooleanFunction[k, n] represents the k Boolean function" - }, - { - "label":"BooleanGraph", - "type":"keyword", - "info":"BooleanGraph[bfunc, g , …, g ] gives the Boolean graph defined by the Boolean function bfunc on the " - }, - { - "label":"BooleanMaxterms", - "type":"keyword", - "info":" th\nBooleanMaxterms[k, n] represents the k maxterm in n var" - }, - { - "label":"BooleanMinimize", - "type":"keyword", - "info":"BooleanMinimize[expr] finds a minimal-length disjunctive normal form representation of expr.BooleanM" - }, - { - "label":"BooleanMinterms", - "type":"keyword", - "info":" th\nBooleanMinterms[k, n] represents the k minterm in n var" - }, - { - "label":"BooleanQ", - "type":"keyword", - "info":"BooleanQ[expr] returns True if expr is either True or False." - }, - { - "label":"BooleanRegion", - "type":"keyword", - "info":"BooleanRegion[bfunc, {reg , reg , …}] represents the Boolean combination bfunc of regions reg , reg " - }, - { - "label":"Booleans", - "type":"keyword", - "info":"Booleans represents the domain of Booleans, as in x ∈ Booleans. " - }, - { - "label":"BooleanStrings", - "type":"keyword", - "info":"BooleanStrings is an option to TextString and related functions that determines what strings corresp" - }, - { - "label":"BooleanTable", - "type":"keyword", - "info":"BooleanTable[bf] gives a list of truth values for all possible combinations of variable values suppl" - }, - { - "label":"BooleanVariables", - "type":"keyword", - "info":"BooleanVariables[expr] gives a list of the Boolean variables in the Boolean expression expr.BooleanV" - }, - { - "label":"BorderDimensions", - "type":"keyword", - "info":"BorderDimensions[image] gives the pixel width of uniform borders of image in the form {{left, right}" - }, - { - "label":"BorelTannerDistribution", - "type":"keyword", - "info":"BorelTannerDistribution[Î\\[PlusMinus], n] represents a Borel–Tanner distribution with shape parameters Î\\[PlusMinus] and n." - }, - { - "label":"Bottom", - "type":"keyword", - "info":"Bottom is a symbol that represents the bottom for purposes of alignment and positioning. " - }, - { - "label":"BottomHatTransform", - "type":"keyword", - "info":"BottomHatTransform[image, ker] gives the morphological bottom-hat transform of image with respect to" - }, - { - "label":"BoundaryDiscretizeGraphics", - "type":"keyword", - "info":"BoundaryDiscretizeGraphics[g] discretizes a 2D or 3D graphic g into a BoundaryMeshRegion.BoundaryDis" - }, - { - "label":"BoundaryDiscretizeRegion", - "type":"keyword", - "info":"BoundaryDiscretizeRegion[reg] discretizes the region reg into a BoundaryMeshRegion.BoundaryDiscretiz" - }, - { - "label":"BoundaryMesh", - "type":"keyword", - "info":"BoundaryMesh[mreg] gives a BoundaryMeshRegion from a MeshRegion mreg. " - }, - { - "label":"BoundaryMeshRegion", - "type":"keyword", - "info":"BoundaryMeshRegion[{p , p , …}, {bcell [{i , …}], bcell [{j , …}], …}] yields a mesh with boundary c" - }, - { - "label":"BoundaryMeshRegionQ", - "type":"keyword", - "info":"BoundaryMeshRegionQ[reg] yields True if the region reg is a valid BoundaryMeshRegion object and Fals" - }, - { - "label":"BoundaryStyle", - "type":"keyword", - "info":"BoundaryStyle is an option for plotting functions that specifies the style in which boundaries of re" - }, - { - "label":"BoundedRegionQ", - "type":"keyword", - "info":"BoundedRegionQ[reg] gives True if reg is a bounded region and False otherwise. " - }, - { - "label":"BoundingRegion", - "type":"keyword", - "info":"BoundingRegion[{pt , pt , …}] gives the minimal axis-aligned bounding box for the points pt , pt , …" - }, - { - "label":"Bounds", - "type":"keyword", - "info":"System`Bounds" - }, - { - "label":"Box", - "type":"keyword", - "info":"System`Box" - }, - { - "label":"BoxBaselineShift", - "type":"keyword", - "info":"BoxBaselineShift is an option for AdjustmentBox that specifies how much the baseline of the box shou" - }, - { - "label":"BoxData", - "type":"keyword", - "info":"BoxData[boxes] is a low-level representation of the contents of a typesetting cell." - }, - { - "label":"BoxDimensions", - "type":"keyword", - "info":"System`BoxDimensions" - }, - { - "label":"Boxed", - "type":"keyword", - "info":"Boxed is an option for Graphics3D that specifies whether to draw the edges of the bounding box in a " - }, - { - "label":"Boxes", - "type":"keyword", - "info":"Boxes is a symbol that represents typeset boxes in InputField and related functions." - }, - { - "label":"BoxForm", - "type":"keyword", - "info":"System`BoxForm" - }, - { - "label":"BoxFormFormatTypes", - "type":"keyword", - "info":"BoxFormFormatTypes is a global option that specifies the list of typeset format types that are curre" - }, - { - "label":"BoxFrame", - "type":"keyword", - "info":"BoxFrame is an option for FrameBox objects that specifies whether to draw a frame around the content" - }, - { - "label":"BoxID", - "type":"keyword", - "info":"System`BoxID" - }, - { - "label":"BoxMargins", - "type":"keyword", - "info":"BoxMargins is an option for AdjustmentBox objects that specifies the margins to leave around the con" - }, - { - "label":"BoxMatrix", - "type":"keyword", - "info":"BoxMatrix[r] gives a (2 r + 1) × (2r + 1) matrix of 1s.BoxMatrix[r, w] gives a (2 r + 1) × (2r + 1) " - }, - { - "label":"BoxObject", - "type":"keyword", - "info":"BoxObject[id] is an object that represents a box structure in an open notebook in the front end." - }, - { - "label":"BoxRatios", - "type":"keyword", - "info":"BoxRatios is an option for Graphics3D that gives the ratios of side lengths for the bounding box of " - }, - { - "label":"BoxRotation", - "type":"keyword", - "info":"System`BoxRotation" - }, - { - "label":"BoxRotationPoint", - "type":"keyword", - "info":"System`BoxRotationPoint" - }, - { - "label":"BoxStyle", - "type":"keyword", - "info":"BoxStyle is an option for three-dimensional graphics functions that specifies how the bounding box s" - }, - { - "label":"BoxWhiskerChart", - "type":"keyword", - "info":"BoxWhiskerChart[{x , x , …}] makes a box‐and‐whisker chart for the values x .BoxWhiskerChart[{x , x " - }, - { - "label":"Bra", - "type":"keyword", - "info":"System`Bra" - }, - { - "label":"BracketingBar", - "type":"keyword", - "info":"BracketingBar[x, y, …] displays as  x, y, … ." - }, - { - "label":"BraKet", - "type":"keyword", - "info":"System`BraKet" - }, - { - "label":"BrayCurtisDistance", - "type":"keyword", - "info":"BrayCurtisDistance[u, v] gives the Bray–Curtis distance between vectors u and v." - }, - { - "label":"BreadthFirstScan", - "type":"keyword", - "info":"BreadthFirstScan[g, s, {event  f , event  f , …}] performs a breadth-first scan (bfs) of the gra" - }, - { - "label":"Break", - "type":"keyword", - "info":"Break[] exits the nearest enclosing Do, For, or While. " - }, - { - "label":"BridgeData", - "type":"keyword", - "info":"BridgeData[entity, property] gives the value of the specified property for the bridge entity.BridgeD" - }, - { - "label":"BrightnessEqualize", - "type":"keyword", - "info":"BrightnessEqualize[image] adjusts the brightness across image, correcting uneven illumination.Bright" - }, - { - "label":"BroadcastStationData", - "type":"keyword", - "info":"BroadcastStationData[entity, property] gives the value of the specified property for the broadcast s" - }, - { - "label":"Brown", - "type":"keyword", - "info":"Brown represents the color brown in graphics or style specifications. " - }, - { - "label":"BrownForsytheTest", - "type":"keyword", - "info":" " - }, - { - "label":"BrownianBridgeProcess", - "type":"keyword", - "info":"BrownianBridgeProcess[σ, {t , a}, {t , b}] represents the Brownian bridge process from value a at ti" - }, - { - "label":"BrowserCategory", - "type":"keyword", - "info":"System`BrowserCategory" - }, - { - "label":"BSplineBasis", - "type":"keyword", - "info":" " - }, - { - "label":"BSplineCurve", - "type":"keyword", - "info":"BSplineCurve[{pt , pt , …}] is a graphics primitive that represents a nonuniform rational B-spline c" - }, - { - "label":"BSplineCurve3DBox", - "type":"keyword", - "info":"System`BSplineCurve3DBox" - }, - { - "label":"BSplineCurve3DBoxOptions", - "type":"keyword", - "info":"BSplineCurve3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for BS" - }, - { - "label":"BSplineCurveBox", - "type":"keyword", - "info":"System`BSplineCurveBox" - }, - { - "label":"BSplineCurveBoxOptions", - "type":"keyword", - "info":"BSplineCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for BSpl" - }, - { - "label":"BSplineFunction", - "type":"keyword", - "info":"BSplineFunction[{pt , pt , …}] represents a B-spline function for a curve defined by the control poi" - }, - { - "label":"BSplineSurface", - "type":"keyword", - "info":"BSplineSurface[array] is a graphics primitive that represents a nonuniform rational B-spline surface" - }, - { - "label":"BSplineSurface3DBox", - "type":"keyword", - "info":"System`BSplineSurface3DBox" - }, - { - "label":"BSplineSurface3DBoxOptions", - "type":"keyword", - "info":"BSplineSurface3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for " - }, - { - "label":"BubbleChart", - "type":"keyword", - "info":"BubbleChart[{{x , y , z }, {x , y , z }, …}] makes a bubble chart with bubbles at positions {x , y }" - }, - { - "label":"BubbleChart3D", - "type":"keyword", - "info":"BubbleChart3D[{{x , y , z , u }, {x , y , z , u }, …}] makes a 3D bubble chart with bubbles at posit" - }, - { - "label":"BubbleScale", - "type":"keyword", - "info":"BubbleScale is an option to BubbleChart and related functions that specifies how the scale of each b" - }, - { - "label":"BubbleSizes", - "type":"keyword", - "info":"BubbleSizes is an option to BubbleChart and related functions that specifies the range of sizes used" - }, - { - "label":"BuildingData", - "type":"keyword", - "info":"BuildingData[entity, property] gives the value of the specified property for the building entity.Bui" - }, - { - "label":"BulletGauge", - "type":"keyword", - "info":"BulletGauge[value, reference, {min, max}] draws a bullet gauge showing value and reference in a rang" - }, - { - "label":"BusinessDayQ", - "type":"keyword", - "info":"BusinessDayQ[date] returns True if the date is a business day and returns False otherwise." - }, - { - "label":"ButterflyGraph", - "type":"keyword", - "info":"ButterflyGraph[n] gives the order-n butterfly graph. ButterflyGraph[n, b] gives the base-b order-n b" - }, - { - "label":"ButterworthFilterModel", - "type":"keyword", - "info":"ButterworthFilterModel[n] creates a lowpass Butterworth filter of order n and cutoff frequency of 1." - }, - { - "label":"Button", - "type":"keyword", - "info":"Button[label, action] represents a button that is labeled with label, and evaluates action whenever " - }, - { - "label":"ButtonBar", - "type":"keyword", - "info":"ButtonBar[{lbl :> act , lbl :> act , …}] represents a bar of buttons with labels lbl that perform" - }, - { - "label":"ButtonBox", - "type":"keyword", - "info":"ButtonBox[boxes] is a low-level box construct that represents a button in a notebook expression." - }, - { - "label":"ButtonBoxOptions", - "type":"keyword", - "info":"ButtonBoxOptions is an option that specifies settings for ButtonBox." - }, - { - "label":"ButtonCell", - "type":"keyword", - "info":"System`ButtonCell" - }, - { - "label":"ButtonContents", - "type":"keyword", - "info":"System`ButtonContents" - }, - { - "label":"ButtonData", - "type":"keyword", - "info":"ButtonData is an option for the low-level function ButtonBox that specifies the second argument to g" - }, - { - "label":"ButtonEvaluator", - "type":"keyword", - "info":"ButtonEvaluator is an option for the low-level function ButtonBox that specifies where the expressio" - }, - { - "label":"ButtonExpandable", - "type":"keyword", - "info":"ButtonExpandable is an option for the low-level function ButtonBox that specifies whether the button" - }, - { - "label":"ButtonFrame", - "type":"keyword", - "info":"ButtonFrame is an option for the low-level function ButtonBox that specifies the type of frame to di" - }, - { - "label":"ButtonFunction", - "type":"keyword", - "info":"ButtonFunction is an option for the low-level function ButtonBox that specifies the function to exec" - }, - { - "label":"ButtonMargins", - "type":"keyword", - "info":"ButtonMargins is an option for ButtonBox that specifies how much space in printer's points to leave " - }, - { - "label":"ButtonMinHeight", - "type":"keyword", - "info":"ButtonMinHeight is an option for the low-level function ButtonBox that specifies the minimum total h" - }, - { - "label":"ButtonNote", - "type":"keyword", - "info":"ButtonNote is an option for ButtonBox that specifies what should be displayed in the status line of " - }, - { - "label":"ButtonNotebook", - "type":"keyword", - "info":"ButtonNotebook[] gives the notebook, if any, that contains the button which initiated the current ev" - }, - { - "label":"ButtonSource", - "type":"keyword", - "info":"ButtonSource is an option for the low-level function ButtonBox that specifies the first argument to " - }, - { - "label":"ButtonStyle", - "type":"keyword", - "info":"ButtonStyle is an option for ButtonBox that specifies the default properties for the button. " - }, - { - "label":"ButtonStyleMenuListing", - "type":"keyword", - "info":"System`ButtonStyleMenuListing" - }, - { - "label":"Byte", - "type":"keyword", - "info":"Byte represents a single byte of data in Read. " - }, - { - "label":"ByteArray", - "type":"keyword", - "info":"ByteArray[{b , b , …}] constructs a ByteArray object containing the byte values b .ByteArray[\"string" - }, - { - "label":"ByteArrayFormat", - "type":"keyword", - "info":"ByteArrayFormat[ba] attempts to determine what ImportByteArray format could be used to import the By" - }, - { - "label":"ByteArrayFormatQ", - "type":"keyword", - "info":"ByteArrayFormatQ[ba, \"fmt\"] gives True if the ByteArray object ba might be imported as format \"fmt\" " - }, - { - "label":"ByteArrayQ", - "type":"keyword", - "info":"ByteArrayQ[expr] gives True if expr is a valid ByteArray object, and False otherwise." - }, - { - "label":"ByteArrayToString", - "type":"keyword", - "info":"ByteArrayToString[ba] returns a string by decoding the data in the byte array ba, assuming UTF-8 enc" - }, - { - "label":"ByteCount", - "type":"keyword", - "info":"ByteCount[expr] gives the number of bytes used internally by the Wolfram System to store expr. " - }, - { - "label":"ByteOrdering", - "type":"keyword", - "info":"ByteOrdering is an option for BinaryRead, BinaryWrite, and related functions that specifies what ord" - }, - { - "label":"C", - "type":"keyword", - "info":" th\nC[i] is the default form for the i parameter or constant " - }, - { - "label":"CachedValue", - "type":"keyword", - "info":"System`CachedValue" - }, - { - "label":"CacheGraphics", - "type":"keyword", - "info":"System`CacheGraphics" - }, - { - "label":"CachePersistence", - "type":"keyword", - "info":"CachePersistence is an option for CloudObject and related cloud functions that specifies the time du" - }, - { - "label":"CalendarConvert", - "type":"keyword", - "info":"CalendarConvert[date, calendar] converts the date object date to the specified calendar type calenda" - }, - { - "label":"CalendarData", - "type":"keyword", - "info":"CalendarData[cal] gives the default parameters associated with the date calendar cal.CalendarData[co" - }, - { - "label":"CalendarType", - "type":"keyword", - "info":"CalendarType is an option that determines the calendar system in which all dates are to be interpret" - }, - { - "label":"Callout", - "type":"keyword", - "info":"Callout[data, expr] displays expr in a plot as a callout pointing to data.Callout[data, expr, pos] d" - }, - { - "label":"CalloutMarker", - "type":"keyword", - "info":"CalloutMarker is an option for Callout that specifies what marker to draw at the end of the leader i" - }, - { - "label":"CalloutStyle", - "type":"keyword", - "info":"CalloutStyle is an option for Callout that specifies what style to use for callouts." - }, - { - "label":"CallPacket", - "type":"keyword", - "info":"CallPacket[integer, list] is a WSTP packet encapsulating a request to invoke the external function n" - }, - { - "label":"CanberraDistance", - "type":"keyword", - "info":"CanberraDistance[u, v] gives the Canberra distance between vectors u and v." - }, - { - "label":"Cancel", - "type":"keyword", - "info":"Cancel[expr] cancels out common factors in the numerator and denominator of expr. " - }, - { - "label":"CancelButton", - "type":"keyword", - "info":"CancelButton[] represents a Cancel button in a dialog that closes the dialog window when clicked.Can" - }, - { - "label":"CandlestickChart", - "type":"keyword", - "info":"CandlestickChart[{{date , {open , high , low , close }}, …}] makes a chart with candles representing" - }, - { - "label":"CanonicalGraph", - "type":"keyword", - "info":"CanonicalGraph[g] gives a canonical form of the graph g.CanonicalGraph[{v  w, …}] uses rules v  w " - }, - { - "label":"CanonicalizePolygon", - "type":"keyword", - "info":"CanonicalizePolygon[poly] gives a canonical representation of the polygon poly with shared coordinat" - }, - { - "label":"CanonicalizePolyhedron", - "type":"keyword", - "info":"CanonicalizePolyhedron[poly] gives a canonical representation of the polyhedron poly with shared coo" - }, - { - "label":"CanonicalizeRegion", - "type":"keyword", - "info":"CanonicalizeRegion[reg] gives a canonical representation of the region reg." - }, - { - "label":"CanonicalName", - "type":"keyword", - "info":"CanonicalName[entity] gives the canonical name for the entity specified by entity.CanonicalName[{ent" - }, - { - "label":"CanonicalWarpingCorrespondence", - "type":"keyword", - "info":"CanonicalWarpingCorrespondence[s , s ] gives the canonical time warping (CTW) correspondence between" - }, - { - "label":"CanonicalWarpingDistance", - "type":"keyword", - "info":"CanonicalWarpingDistance[s , s ] gives the canonical time warping (CTW) distance between sequences s" - }, - { - "label":"CantorMesh", - "type":"keyword", - "info":" th " - }, - { - "label":"CantorStaircase", - "type":"keyword", - "info":"CantorStaircase[x] gives the Cantor staircase function F (x).\n " - }, - { - "label":"Canvas", - "type":"keyword", - "info":"Canvas[] represents an empty canvas in the current notebook in which you can do free-form drawing.Ca" - }, - { - "label":"Cap", - "type":"keyword", - "info":"Cap[x, y, …] displays as x ⌢ y ⌢ …." - }, - { - "label":"CapForm", - "type":"keyword", - "info":"CapForm[type] is a graphics primitive that specifies what type of caps should be used at the ends of" - }, - { - "label":"CapitalDifferentialD", - "type":"keyword", - "info":"CapitalDifferentialD[x] displays as  x." - }, - { - "label":"Capitalize", - "type":"keyword", - "info":"Capitalize[string] yields a string in which the first character has been made uppercase.Capitalize[s" - }, - { - "label":"CapsuleShape", - "type":"keyword", - "info":"CapsuleShape[{{x , y , z }, {x , y , z }}, r] represents the filled capsule between points {x , y , " - }, - { - "label":"CaptureRunning", - "type":"keyword", - "info":"CaptureRunning is an option for signal acquisition functions that specifies whether to immediately s" - }, - { - "label":"CardinalBSplineBasis", - "type":"keyword", - "info":"System`CardinalBSplineBasis" - }, - { - "label":"CarlemanLinearize", - "type":"keyword", - "info":"CarlemanLinearize[sys, spec] Carleman linearizes the nonlinear state-space model sys according to sp" - }, - { - "label":"CarlsonRC", - "type":"keyword", - "info":"CarlsonRC[x, y] gives the Carlson's elliptic integral R (x, y).\n " - }, - { - "label":"CarlsonRD", - "type":"keyword", - "info":"CarlsonRD[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n " - }, - { - "label":"CarlsonRE", - "type":"keyword", - "info":"CarlsonRE[x, y] gives the Carlson's elliptic integral R (x, y).\n " - }, - { - "label":"CarlsonRF", - "type":"keyword", - "info":"CarlsonRF[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n " - }, - { - "label":"CarlsonRG", - "type":"keyword", - "info":"CarlsonRG[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n " - }, - { - "label":"CarlsonRJ", - "type":"keyword", - "info":"CarlsonRJ[x, y, z, ρ] gives Carlson's elliptic integral R (x, y, z, ρ).\n " - }, - { - "label":"CarlsonRK", - "type":"keyword", - "info":"CarlsonRK[x, y] gives the Carlson's elliptic integral R (x, y).\n " - }, - { - "label":"CarlsonRM", - "type":"keyword", - "info":"CarlsonRM[x, y, ρ] gives Carlson's elliptic integral R (x, y, ρ).\n " - }, - { - "label":"CarmichaelLambda", - "type":"keyword", - "info":"CarmichaelLambda[n] gives the Carmichael function λ(n)." - }, - { - "label":"CaseOrdering", - "type":"keyword", - "info":"CaseOrdering is an option for AlphabeticSort and related functions that specifies how upper versus l" - }, - { - "label":"Cases", - "type":"keyword", - "info":"Cases[{e , e , …}, pattern] gives a list of the e that match the pattern. Cases[{e , …}, pattern  " - }, - { - "label":"CaseSensitive", - "type":"keyword", - "info":"CaseSensitive[patt] represents a string pattern that requires matching typographical case, even with" - }, - { - "label":"Cashflow", - "type":"keyword", - "info":"Cashflow[{c , c , …, c }] represents a series of cash flows occurring at unit time intervals.Cashflo" - }, - { - "label":"Casoratian", - "type":"keyword", - "info":"Casoratian[{y , y , …}, n] gives the Casoratian determinant for the sequences y , y , … depending on" - }, - { - "label":"Catalan", - "type":"keyword", - "info":"Catalan is Catalan's constant, with numerical value ≃ 0.915966. " - }, - { - "label":"CatalanNumber", - "type":"keyword", - "info":" th\nCatalanNumber[n] gives the n Catalan number C .\n " - }, - { - "label":"Catch", - "type":"keyword", - "info":"Catch[expr] returns the argument of the first Throw generated in the evaluation of expr. Catch[expr," - }, - { - "label":"CategoricalDistribution", - "type":"keyword", - "info":"CategoricalDistribution[{c , c , …}] generates a uniform categorical distribution over classes c , c" - }, - { - "label":"Catenate", - "type":"keyword", - "info":"Catenate[{list , list , …}] yields a single list with all elements from the list in order. Catenate" - }, - { - "label":"CatenateLayer", - "type":"keyword", - "info":"CatenateLayer[] represents a net layer that takes a list of input arrays and catenates them.Catenate" - }, - { - "label":"CauchyDistribution", - "type":"keyword", - "info":"CauchyDistribution[a, b] represents a Cauchy distribution with location parameter a and scale parame" - }, - { - "label":"CauchyPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"CauchyWindow", - "type":"keyword", - "info":"CauchyWindow[x] represents a Cauchy window function of x.CauchyWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n" - }, - { - "label":"CayleyGraph", - "type":"keyword", - "info":"CayleyGraph[group] returns a Cayley graph representation of group." - }, - { - "label":"CDF", - "type":"keyword", - "info":"CDF[dist, x] gives the cumulative distribution function for the distribution dist evaluated at x.CDF" - }, - { - "label":"CDFDeploy", - "type":"keyword", - "info":"CDFDeploy[\"file.cdf\", expr] deploys expr in a form that can be played by Wolfram Player.CDFDeploy[\"f" - }, - { - "label":"CDFInformation", - "type":"keyword", - "info":"CDFInformation[expr] gives a list of properties relevant to a CDF deployed with the content expr.CDF" - }, - { - "label":"CDFWavelet", - "type":"keyword", - "info":"CDFWavelet[] represents a Cohen–Daubechies–Feauveau wavelet of type \"9\/7\". CDFWavelet[\"type\"] repres" - }, - { - "label":"Ceiling", - "type":"keyword", - "info":"Ceiling[x] gives the smallest integer greater than or equal to x. Ceiling[x, a] gives the smallest m" - }, - { - "label":"CelestialSystem", - "type":"keyword", - "info":"CelestialSystem is an option for SunPosition, MoonPosition, and related functions that specifies the" - }, - { - "label":"Cell", - "type":"keyword", - "info":"Cell[contents] is the low-level representation of a cell inside a Wolfram System notebook. Cell[cont" - }, - { - "label":"CellAutoOverwrite", - "type":"keyword", - "info":"CellAutoOverwrite is an option for Cell which specifies whether an output cell should be overwritten" - }, - { - "label":"CellBaseline", - "type":"keyword", - "info":"CellBaseline is an option for Cell which specifies where the baseline of the cell should be assumed " - }, - { - "label":"CellBoundingBox", - "type":"keyword", - "info":"System`CellBoundingBox" - }, - { - "label":"CellBracketOptions", - "type":"keyword", - "info":"CellBracketOptions is an option for cells that specifies settings for cell brackets." - }, - { - "label":"CellChangeTimes", - "type":"keyword", - "info":"CellChangeTimes is an option to Cell that specifies when changes were made to the cell." - }, - { - "label":"CellContents", - "type":"keyword", - "info":"System`CellContents" - }, - { - "label":"CellContext", - "type":"keyword", - "info":"CellContext is an option for Cell which specifies the context to use for the evaluation of the conte" - }, - { - "label":"CellDingbat", - "type":"keyword", - "info":"CellDingbat is an option for Cell which specifies what dingbat to use to emphasize a cell. " - }, - { - "label":"CellDynamicExpression", - "type":"keyword", - "info":"CellDynamicExpression is an option for cells that specifies an expression to be dynamically updated " - }, - { - "label":"CellEditDuplicate", - "type":"keyword", - "info":"CellEditDuplicate is an option for Cell which specifies whether the front end should make a copy of " - }, - { - "label":"CellElementsBoundingBox", - "type":"keyword", - "info":"System`CellElementsBoundingBox" - }, - { - "label":"CellElementSpacings", - "type":"keyword", - "info":"System`CellElementSpacings" - }, - { - "label":"CellEpilog", - "type":"keyword", - "info":"CellEpilog is an option for Cell which gives an expression to evaluate after each ordinary evaluatio" - }, - { - "label":"CellEvaluationDuplicate", - "type":"keyword", - "info":"CellEvaluationDuplicate is an option for Cell which specifies whether the front end should make a co" - }, - { - "label":"CellEvaluationFunction", - "type":"keyword", - "info":"CellEvaluationFunction is an option for Cell that gives a function to be applied to every expression" - }, - { - "label":"CellEvaluationLanguage", - "type":"keyword", - "info":"System`CellEvaluationLanguage" - }, - { - "label":"CellEventActions", - "type":"keyword", - "info":"CellEventActions is an option for Cell that gives a list of actions to perform when specified events" - }, - { - "label":"CellFrame", - "type":"keyword", - "info":"CellFrame is an option for Cell that specifies whether a frame should be drawn around a cell. " - }, - { - "label":"CellFrameColor", - "type":"keyword", - "info":"CellFrameColor is an option that specifies the color of the frame around a cell." - }, - { - "label":"CellFrameLabelMargins", - "type":"keyword", - "info":"CellFrameLabelMargins is an option for cells that specifies the absolute margins in printer's points" - }, - { - "label":"CellFrameLabels", - "type":"keyword", - "info":"CellFrameLabels is an option that specifies the labels associated with the frame around a cell." - }, - { - "label":"CellFrameMargins", - "type":"keyword", - "info":"CellFrameMargins is an option for Cell that specifies the absolute margins in printer’s points to le" - }, - { - "label":"CellFrameStyle", - "type":"keyword", - "info":"System`CellFrameStyle" - }, - { - "label":"CellGroup", - "type":"keyword", - "info":"CellGroup[{cell , cell , …}] gives an open group of cells that can appear in a Wolfram System notebo" - }, - { - "label":"CellGroupData", - "type":"keyword", - "info":"CellGroupData[{cell , cell , …}] is a low-level construct that represents an open group of cells in " - }, - { - "label":"CellGrouping", - "type":"keyword", - "info":"CellGrouping is a notebook option that specifies how cells in the notebook should be assembled into " - }, - { - "label":"CellGroupingRules", - "type":"keyword", - "info":"CellGroupingRules is an option for cells that specifies the rules used for grouping a cell." - }, - { - "label":"CellHorizontalScrolling", - "type":"keyword", - "info":"CellHorizontalScrolling is an option for cells that specifies whether the contents of a cell can be " - }, - { - "label":"CellID", - "type":"keyword", - "info":"CellID is an option for Cell that specifies a unique ID number for a cell." - }, - { - "label":"CellInsertionPointCell", - "type":"keyword", - "info":"System`CellInsertionPointCell" - }, - { - "label":"CellLabel", - "type":"keyword", - "info":"CellLabel is an option for Cell which gives the label to use for a particular cell. " - }, - { - "label":"CellLabelAutoDelete", - "type":"keyword", - "info":"CellLabelAutoDelete is an option for Cell which specifies whether a label for the cell should be aut" - }, - { - "label":"CellLabelMargins", - "type":"keyword", - "info":"CellLabelMargins is an option for cells that specifies the absolute margins in printer's points arou" - }, - { - "label":"CellLabelPositioning", - "type":"keyword", - "info":"CellLabelPositioning is an option for cells that specifies where the label for a cell is positioned." - }, - { - "label":"CellLabelStyle", - "type":"keyword", - "info":"CellLabelStyle is an option for Cell that specifies the style to use in displaying cell labels marki" - }, - { - "label":"CellLabelTemplate", - "type":"keyword", - "info":"System`CellLabelTemplate" - }, - { - "label":"CellMargins", - "type":"keyword", - "info":"CellMargins is an option for Cell that specifies the absolute margins in printer's points to leave a" - }, - { - "label":"CellObject", - "type":"keyword", - "info":"CellObject[id] is an object that represents a cell in an open notebook in the front end." - }, - { - "label":"CellOpen", - "type":"keyword", - "info":"CellOpen is an option for Cell that specifies whether the contents of a cell should be explicitly di" - }, - { - "label":"CellPrint", - "type":"keyword", - "info":"CellPrint[expr] inserts expr as a complete cell in the current notebook just below the cell being ev" - }, - { - "label":"CellProlog", - "type":"keyword", - "info":"CellProlog is an option to Cell that gives an expression to evaluate before each ordinary evaluation" - }, - { - "label":"Cells", - "type":"keyword", - "info":"Cells[] returns a list of CellObject expressions corresponding to cells in the current notebook.Cell" - }, - { - "label":"CellSize", - "type":"keyword", - "info":"CellSize is an option for cells that specifies the width and height of an inline cell." - }, - { - "label":"CellStyle", - "type":"keyword", - "info":"CellStyle is a setting for functions such as NotebookFind and Cells that specifies the name of a cel" - }, - { - "label":"CellTags", - "type":"keyword", - "info":"CellTags is an option for Cell that gives a list of tags to associate with a cell. " - }, - { - "label":"CellTrayWidgets", - "type":"keyword", - "info":"System`CellTrayWidgets" - }, - { - "label":"CellularAutomaton", - "type":"keyword", - "info":"CellularAutomaton[rule, init, t] generates a list representing the evolution of the cellular automat" - }, - { - "label":"CensoredDistribution", - "type":"keyword", - "info":"CensoredDistribution[{x , x }, dist] represents the distribution of values that come from dist a" - }, - { - "label":"Censoring", - "type":"keyword", - "info":"Censoring[t, c] represents a censored event time t with censoring c.Censoring[{t , t , …}, c] repres" - }, - { - "label":"Center", - "type":"keyword", - "info":"Center is a symbol that represents the center for purposes of alignment and positioning. " - }, - { - "label":"CenterArray", - "type":"keyword", - "info":"CenterArray[a, n] creates a list of length n with the elements of a at the center and zeros elsewher" - }, - { - "label":"CenterDot", - "type":"keyword", - "info":"CenterDot[x, y, …] displays as x Â\\[CenterDot] y Â\\[CenterDot] …." - }, - { - "label":"CenteredInterval", - "type":"keyword", - "info":"CenteredInterval[x, dx] for real numbers x and dx gives a centered interval that contains the real i" - }, - { - "label":"CentralFeature", - "type":"keyword", - "info":"CentralFeature[{x , x , …}] gives the central feature of the elements x .CentralFeature[{x  v , x " - }, - { - "label":"CentralMoment", - "type":"keyword", - "info":" th " - }, - { - "label":"CentralMomentGeneratingFunction", - "type":"keyword", - "info":"CentralMomentGeneratingFunction[dist, t] gives the central moment-generating function for the distri" - }, - { - "label":"Cepstrogram", - "type":"keyword", - "info":"Cepstrogram[data] plots the array of power cepstra computed on each partition of data.Cepstrogram[da" - }, - { - "label":"CepstrogramArray", - "type":"keyword", - "info":"CepstrogramArray[data] computes an array of cepstra on data.CepstrogramArray[data, n] uses partition" - }, - { - "label":"CepstrumArray", - "type":"keyword", - "info":"CepstrumArray[data] computes the power cepstrum of data.CepstrumArray[data, type] computes the speci" - }, - { - "label":"CForm", - "type":"keyword", - "info":"CForm[expr] prints as a C language version of expr. " - }, - { - "label":"ChampernowneNumber", - "type":"keyword", - "info":"ChampernowneNumber[b] gives the base-b Champernowne number C .ChampernowneNumber[] gives the base-10" - }, - { - "label":"ChangeOptions", - "type":"keyword", - "info":"System`ChangeOptions" - }, - { - "label":"ChannelBase", - "type":"keyword", - "info":"ChannelBase is an option specifying the base URL of the server to use for brokering channel communic" - }, - { - "label":"ChannelBrokerAction", - "type":"keyword", - "info":"ChannelBrokerAction is an option specifying the action to execute on the channel broker server in ad" - }, - { - "label":"ChannelDatabin", - "type":"keyword", - "info":"System`ChannelDatabin" - }, - { - "label":"ChannelHistoryLength", - "type":"keyword", - "info":"ChannelHistoryLength is an option to ChannelListen that specifies the maximum number of messages to " - }, - { - "label":"ChannelListen", - "type":"keyword", - "info":"ChannelListen[channel] starts listening on the specified channel.ChannelListen[channel, func] applie" - }, - { - "label":"ChannelListener", - "type":"keyword", - "info":"ChannelListener[…] represents a channel listener created by ChannelListen." - }, - { - "label":"ChannelListeners", - "type":"keyword", - "info":"ChannelListeners[] gives a list of currently active channel listeners." - }, - { - "label":"ChannelListenerWait", - "type":"keyword", - "info":"System`ChannelListenerWait" - }, - { - "label":"ChannelObject", - "type":"keyword", - "info":"ChannelObject[] gives a new anonymous channel specification.\\!RowBox[{\"ChannelObject\", \"[\", \"\"mqtt" - }, - { - "label":"ChannelPreSendFunction", - "type":"keyword", - "info":"System`ChannelPreSendFunction" - }, - { - "label":"ChannelReceiverFunction", - "type":"keyword", - "info":"ChannelReceiverFunction[fun] represents a channel receiver function that applies fun to any channel " - }, - { - "label":"ChannelSend", - "type":"keyword", - "info":"ChannelSend[channel, msg] sends the specified message msg to the specified channel." - }, - { - "label":"ChannelSubscribers", - "type":"keyword", - "info":"ChannelSubscribers[channel] gives a list of users currently subscribed to the specified channel.Chan" - }, - { - "label":"ChanVeseBinarize", - "type":"keyword", - "info":"ChanVeseBinarize[image] finds a two-level segmentation of image by computing optimal contours around" - }, - { - "label":"Character", - "type":"keyword", - "info":"Character represents a single character in Read. " - }, - { - "label":"CharacterCounts", - "type":"keyword", - "info":"CharacterCounts[\"string\"] gives an association whose keys are the distinct characters in string, and" - }, - { - "label":"CharacterEncoding", - "type":"keyword", - "info":"CharacterEncoding is an option for input and output functions which specifies what raw character enc" - }, - { - "label":"CharacterEncodingsPath", - "type":"keyword", - "info":"CharacterEncodingsPath is a global option that specifies which directories are searched for characte" - }, - { - "label":"CharacteristicFunction", - "type":"keyword", - "info":"CharacteristicFunction[dist, t] gives the characteristic function for the distribution dist as a fun" - }, - { - "label":"CharacteristicPolynomial", - "type":"keyword", - "info":"CharacteristicPolynomial[m, x] gives the characteristic polynomial for the matrix m. CharacteristicP" - }, - { - "label":"CharacterName", - "type":"keyword", - "info":"CharacterName[\"c\"] gives the name of the character c.CharacterName[n] gives the name of the characte" - }, - { - "label":"CharacterNormalize", - "type":"keyword", - "info":"CharacterNormalize[\"text\", form] converts the characters in text to the specified normalization form" - }, - { - "label":"CharacterRange", - "type":"keyword", - "info":"CharacterRange[c , c ] yields a list of the characters in the range from \"c \" to \"c \". CharacterRang" - }, - { - "label":"Characters", - "type":"keyword", - "info":"Characters[\"string\"] gives a list of the characters in a string. " - }, - { - "label":"ChartBaseStyle", - "type":"keyword", - "info":"ChartBaseStyle is an option for charting functions that specifies the base style for all chart eleme" - }, - { - "label":"ChartElementData", - "type":"keyword", - "info":"System`ChartElementData" - }, - { - "label":"ChartElementDataFunction", - "type":"keyword", - "info":"System`ChartElementDataFunction" - }, - { - "label":"ChartElementFunction", - "type":"keyword", - "info":"ChartElementFunction is an option for charting functions such as BarChart that gives a function to u" - }, - { - "label":"ChartElements", - "type":"keyword", - "info":"ChartElements is an option to charting functions such as BarChart that specifies the graphics to use" - }, - { - "label":"ChartLabels", - "type":"keyword", - "info":"ChartLabels is an option for charting functions that specifies what labels should be used for chart " - }, - { - "label":"ChartLayout", - "type":"keyword", - "info":"ChartLayout is an option to charting functions that specifies the overall layout to use." - }, - { - "label":"ChartLegends", - "type":"keyword", - "info":"ChartLegends is an option for charting functions that specifies what legends should be used for char" - }, - { - "label":"ChartStyle", - "type":"keyword", - "info":"ChartStyle is an option for charting functions that specifies styles in which chart elements should " - }, - { - "label":"Chebyshev1FilterModel", - "type":"keyword", - "info":"Chebyshev1FilterModel[n] creates a lowpass Chebyshev type 1 filter of order n.Chebyshev1FilterModel[" - }, - { - "label":"Chebyshev2FilterModel", - "type":"keyword", - "info":"Chebyshev2FilterModel[n] creates a lowpass Chebyshev type 2 filter of order n.Chebyshev2FilterModel[" - }, - { - "label":"ChebyshevDistance", - "type":"keyword", - "info":"ChebyshevDistance[u, v] gives the Chebyshev or sup norm distance between vectors u and v." - }, - { - "label":"ChebyshevT", - "type":"keyword", - "info":"ChebyshevT[n, x] gives the Chebyshev polynomial of the first kind T (x). \n " - }, - { - "label":"ChebyshevU", - "type":"keyword", - "info":"ChebyshevU[n, x] gives the Chebyshev polynomial of the second kind U (x). \n " - }, - { - "label":"Check", - "type":"keyword", - "info":"Check[expr, failexpr] evaluates expr, and returns the result, unless messages were generated, in whi" - }, - { - "label":"CheckAbort", - "type":"keyword", - "info":"CheckAbort[expr, failexpr] evaluates expr, returning failexpr if an abort occurs. " - }, - { - "label":"CheckAll", - "type":"keyword", - "info":"CheckAll[expr, f] evaluates expr and returns f[expr, HoldComplete[control , …]] where the control e" - }, - { - "label":"CheckArguments", - "type":"keyword", - "info":"CheckArguments[f[args], n] gives True if args consists of exactly n positional arguments followed by" - }, - { - "label":"Checkbox", - "type":"keyword", - "info":"Checkbox[x] represents a checkbox with setting x, displayed as CheckboxBox[True] when x is True and " - }, - { - "label":"CheckboxBar", - "type":"keyword", - "info":"CheckboxBar[x, {val , val , …}] represents a checkbox bar with setting x and with checkboxes for val" - }, - { - "label":"CheckboxBox", - "type":"keyword", - "info":"System`CheckboxBox" - }, - { - "label":"CheckboxBoxOptions", - "type":"keyword", - "info":"CheckboxBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Checkbox" - }, - { - "label":"ChemicalData", - "type":"keyword", - "info":"ChemicalData[\"name\", \"property\"] gives the value of the specified property for the chemical \"name\".C" - }, - { - "label":"ChemicalFormula", - "type":"keyword", - "info":"ChemicalFormula[ elem  n , elem  n , …|>] represents a chemical species with n atoms of the el" - }, - { - "label":"ChemicalReaction", - "type":"keyword", - "info":"ChemicalReaction[reactants  products] represents a chemical reaction between the given reactants an" - }, - { - "label":"ChessboardDistance", - "type":"keyword", - "info":"ChessboardDistance[u, v] gives the chessboard, Chebyshev, or sup norm distance between vectors u and" - }, - { - "label":"ChiDistribution", - "type":"keyword", - "info":"ChiDistribution[ν] represents a χ distribution with ν degrees of freedom." - }, - { - "label":"ChineseRemainder", - "type":"keyword", - "info":"ChineseRemainder[{r , r , …}, {m , m , …}] gives the smallest x with x ≥ 0 that satisfies all the in" - }, - { - "label":"ChiSquareDistribution", - "type":"keyword", - "info":" 2\nChiSquareDistribution[ν] represents a χ distribution with " - }, - { - "label":"ChoiceButtons", - "type":"keyword", - "info":"ChoiceButtons[] represents a pair of OK and Cancel buttons that close a dialog.ChoiceButtons[{act ," - }, - { - "label":"ChoiceDialog", - "type":"keyword", - "info":"ChoiceDialog[expr] puts up a standard choice dialog that displays expr together with OK and Cancel b" - }, - { - "label":"CholeskyDecomposition", - "type":"keyword", - "info":"CholeskyDecomposition[m] gives the Cholesky decomposition of a matrix m. " - }, - { - "label":"Chop", - "type":"keyword", - "info":"Chop[expr] replaces approximate real numbers in expr that are close to zero by the exact integer 0. " - }, - { - "label":"ChromaticityPlot", - "type":"keyword", - "info":"ChromaticityPlot[colspace] plots a 2D slice of the color space colspace. ChromaticityPlot[color] plo" - }, - { - "label":"ChromaticityPlot3D", - "type":"keyword", - "info":"ChromaticityPlot3D[colspace] returns a 3D gamut of the color space colspace.ChromaticityPlot3D[color" - }, - { - "label":"ChromaticPolynomial", - "type":"keyword", - "info":"ChromaticPolynomial[g, k] gives the chromatic polynomial of the graph g.ChromaticPolynomial[{v  w, " - }, - { - "label":"Circle", - "type":"keyword", - "info":"Circle[{x, y}, r] represents a circle of radius r centered at {x, y}.Circle[{x, y}] gives a circle o" - }, - { - "label":"CircleBox", - "type":"keyword", - "info":"System`CircleBox" - }, - { - "label":"CircleDot", - "type":"keyword", - "info":"CircleDot[x, y, …] displays as x ⊙ y ⊙ …." - }, - { - "label":"CircleMinus", - "type":"keyword", - "info":"CircleMinus[x, y] displays as x ⊖ y. " - }, - { - "label":"CirclePlus", - "type":"keyword", - "info":"CirclePlus[x, y, …] displays as x ⊕ y ⊕ …." - }, - { - "label":"CirclePoints", - "type":"keyword", - "info":"CirclePoints[n] gives the positions of n points equally spaced around the unit circle.CirclePoints[r" - }, - { - "label":"CircleThrough", - "type":"keyword", - "info":"CircleThrough[{p , p , …}] represents a circle passing through the points p .CircleThrough[{p , p , " - }, - { - "label":"CircleTimes", - "type":"keyword", - "info":"CircleTimes[x] displays as ⊗ x.CircleTimes[x, y, …] displays as x ⊗ y ⊗ ….\n" - }, - { - "label":"CirculantGraph", - "type":"keyword", - "info":"CirculantGraph[n, j] gives the circulant graph C (j) with n vertices and jump j.CirculantGraph[n, {j" - }, - { - "label":"CircularOrthogonalMatrixDistribution", - "type":"keyword", - "info":"CircularOrthogonalMatrixDistribution[n] represents a circular orthogonal matrix distribution with ma" - }, - { - "label":"CircularQuaternionMatrixDistribution", - "type":"keyword", - "info":"CircularQuaternionMatrixDistribution[n] represents a circular quaternion matrix distribution with ma" - }, - { - "label":"CircularRealMatrixDistribution", - "type":"keyword", - "info":"CircularRealMatrixDistribution[n] represents a circular real matrix distribution with matrix dimensi" - }, - { - "label":"CircularSymplecticMatrixDistribution", - "type":"keyword", - "info":"CircularSymplecticMatrixDistribution[n] represents a circular symplectic matrix distribution with ma" - }, - { - "label":"CircularUnitaryMatrixDistribution", - "type":"keyword", - "info":"CircularUnitaryMatrixDistribution[n] represents a circular unitary matrix distribution with matrix d" - }, - { - "label":"Circumsphere", - "type":"keyword", - "info":" n\nCircumsphere[{" - }, - { - "label":"CityData", - "type":"keyword", - "info":"CityData[name, \"property\"] gives the value of the specified property for the city with the specified" - }, - { - "label":"ClassifierFunction", - "type":"keyword", - "info":"ClassifierFunction[…] represents a function generated by Classify that classifies data into classes." - }, - { - "label":"ClassifierInformation", - "type":"keyword", - "info":"ClassifierInformation[classifier] generates a report giving information on the classifier function c" - }, - { - "label":"ClassifierMeasurements", - "type":"keyword", - "info":"ClassifierMeasurements[classifier, testset, prop] gives measurements associated with property prop w" - }, - { - "label":"ClassifierMeasurementsObject", - "type":"keyword", - "info":"ClassifierMeasurementsObject[…] represents an object generated by ClassifierMeasurements that can be" - }, - { - "label":"Classify", - "type":"keyword", - "info":"Classify[{example  class , example  class , …}] generates a ClassifierFunction[…] based on the e" - }, - { - "label":"ClassPriors", - "type":"keyword", - "info":"ClassPriors is an option for Classify and related functions that specifies explicit prior probabilit" - }, - { - "label":"Clear", - "type":"keyword", - "info":"Clear[symbol , symbol , …] clears values and definitions for the symbol . Clear[\"form \", \"form \", …]" - }, - { - "label":"ClearAll", - "type":"keyword", - "info":"ClearAll[symb , symb , …] clears all values, definitions, attributes, messages, and defaults associa" - }, - { - "label":"ClearAttributes", - "type":"keyword", - "info":"ClearAttributes[symbol, attr] removes attr from the list of attributes of the symbol symbol. ClearAt" - }, - { - "label":"ClearCookies", - "type":"keyword", - "info":"ClearCookies[domain] clears all persistent and session cookies associated with the specified domain." - }, - { - "label":"ClearPermissions", - "type":"keyword", - "info":"ClearPermissions[obj, class] clears permissions for the specified class of users for the cloud objec" - }, - { - "label":"ClearSystemCache", - "type":"keyword", - "info":"ClearSystemCache[] clears internal system caches of stored results.ClearSystemCache[type] clears onl" - }, - { - "label":"ClebschGordan", - "type":"keyword", - "info":"ClebschGordan[{j , m }, {j , m }, {j, m}] gives the Clebsch–Gordan coefficient for the decomposition" - }, - { - "label":"ClickPane", - "type":"keyword", - "info":"ClickPane[image, func] represents a clickable pane that displays as image and applies func to the x," - }, - { - "label":"ClickToCopy", - "type":"keyword", - "info":"ClickToCopy[expr] represents a button that copies expr whenever it is clicked.ClickToCopy[label, exp" - }, - { - "label":"ClickToCopyEnabled", - "type":"keyword", - "info":"ClickToCopyEnabled is an option for Cell that specifies whether to show a click-to-copy overlay when" - }, - { - "label":"Clip", - "type":"keyword", - "info":"Clip[x] gives x clipped to be between -1 and +1. Clip[x, {min, max}] gives x for min ≤ x ≤ max, min " - }, - { - "label":"ClipboardNotebook", - "type":"keyword", - "info":"System`ClipboardNotebook" - }, - { - "label":"ClipFill", - "type":"keyword", - "info":"ClipFill is an option for plotting functions that specifies what should be shown where curves or sur" - }, - { - "label":"ClippingStyle", - "type":"keyword", - "info":"ClippingStyle is an option for plotting functions that specifies the style of what should be drawn w" - }, - { - "label":"ClipPlanes", - "type":"keyword", - "info":"ClipPlanes is an option to Graphics3D that specifies a list of clipping planes that can cut away por" - }, - { - "label":"ClipPlanesStyle", - "type":"keyword", - "info":"ClipPlanesStyle is an option to Graphics3D that specifies how clipping planes defined with the ClipP" - }, - { - "label":"ClipRange", - "type":"keyword", - "info":"ClipRange is an option to Raster3D that specifies a rectangular region that is cut away from the res" - }, - { - "label":"Clock", - "type":"keyword", - "info":"Clock[] represents a clock variable whose value cycles continuously from 0 to 1 once per second when" - }, - { - "label":"ClockGauge", - "type":"keyword", - "info":"ClockGauge[] draws an analog clock face showing the local time with hours, minutes, and seconds.Cloc" - }, - { - "label":"ClockwiseContourIntegral", - "type":"keyword", - "info":"System`ClockwiseContourIntegral" - }, - { - "label":"Close", - "type":"keyword", - "info":"Close[obj] closes a stream or socket. " - }, - { - "label":"Closed", - "type":"keyword", - "info":"System`Closed" - }, - { - "label":"CloseKernels", - "type":"keyword", - "info":"CloseKernels[] terminates all parallel kernels from the list Kernels[].CloseKernels[k] terminates th" - }, - { - "label":"ClosenessCentrality", - "type":"keyword", - "info":"ClosenessCentrality[g] gives a list of closeness centralities for the vertices in the graph g.Closen" - }, - { - "label":"Closing", - "type":"keyword", - "info":"Closing[image, ker] gives the morphological closing of image with respect to the structuring element" - }, - { - "label":"ClosingAutoSave", - "type":"keyword", - "info":"ClosingAutoSave is an option for notebooks that specifies whether a notebook is automatically saved " - }, - { - "label":"ClosingEvent", - "type":"keyword", - "info":"System`ClosingEvent" - }, - { - "label":"CloudAccountData", - "type":"keyword", - "info":"CloudAccountData[] gives data associated with the cloud account currently being used.CloudAccountDat" - }, - { - "label":"CloudBase", - "type":"keyword", - "info":"CloudBase is an option specifying the base URI of the server to use for cloud operations." - }, - { - "label":"CloudConnect", - "type":"keyword", - "info":"CloudConnect[userid, password] authenticates to the Wolfram Cloud using the specified cloud user ID " - }, - { - "label":"CloudConnections", - "type":"keyword", - "info":"CloudConnections[] gives a list of cloud accounts that are authenticated." - }, - { - "label":"CloudDeploy", - "type":"keyword", - "info":"CloudDeploy[expr] deploys expr to a new anonymous cloud object.CloudDeploy[expr, location] deploys e" - }, - { - "label":"CloudDirectory", - "type":"keyword", - "info":"CloudDirectory[] gives a CloudObject representing the current working directory used for cloud objec" - }, - { - "label":"CloudDisconnect", - "type":"keyword", - "info":"CloudDisconnect[] disconnects a non-cloud instance of the Wolfram Language from the Wolfram Cloud." - }, - { - "label":"CloudEvaluate", - "type":"keyword", - "info":"CloudEvaluate[expr] evaluates expr in the cloud and returns the result.CloudEvaluate[expr, h] wraps " - }, - { - "label":"CloudExport", - "type":"keyword", - "info":"CloudExport[expr, \"format\"] exports expr to a new anonymous cloud object in the specified format.Clo" - }, - { - "label":"CloudExpression", - "type":"keyword", - "info":"CloudExpression[\"name\"] represents an expression whose value is persistently stored in the cloud.htt" - }, - { - "label":"CloudExpressions", - "type":"keyword", - "info":"CloudExpressions[] gives a list of named cloud expressions owned by you. CloudExpressions[None] give" - }, - { - "label":"CloudFunction", - "type":"keyword", - "info":"CloudFunction[fun] represents a pure function that evaluates fun[args] in the cloud.CloudFunction[Cl" - }, - { - "label":"CloudGet", - "type":"keyword", - "info":"CloudGet[\"uri\"] reads in a cloud object at a given URI, evaluating each expression in it and returni" - }, - { - "label":"CloudImport", - "type":"keyword", - "info":"CloudImport[\"uri\"] imports from a cloud object at a given URI.CloudImport[\"uri\", elements] imports t" - }, - { - "label":"CloudLoggingData", - "type":"keyword", - "info":"CloudLoggingData[] gives summary logging data for all your cloud objects.CloudLoggingData[category] " - }, - { - "label":"CloudObject", - "type":"keyword", - "info":"CloudObject[] represents a new anonymous cloud object.http:\/\/…\"], CloudObject[\"https:\/\/…\"] represent" - }, - { - "label":"CloudObjectInformation", - "type":"keyword", - "info":"CloudObjectInformation[obj] gives information about a cloud object.\nCloudObjectInformation[{obj, ..." - }, - { - "label":"CloudObjectInformationData", - "type":"keyword", - "info":"System`CloudObjectInformationData" - }, - { - "label":"CloudObjectNameFormat", - "type":"keyword", - "info":"CloudObjectNameFormat is an option for CloudObject and related objects that determines how the name " - }, - { - "label":"CloudObjects", - "type":"keyword", - "info":"CloudObjects[] gives a list of cloud objects in your current cloud directory.CloudObjects[dir] gives" - }, - { - "label":"CloudObjectURLType", - "type":"keyword", - "info":"CloudObjectURLType is an option for CloudObject and related objects that specifies the base type of " - }, - { - "label":"CloudPublish", - "type":"keyword", - "info":"CloudPublish[] makes a public copy in the cloud of the current document.CloudPublish[obj] makes a pu" - }, - { - "label":"CloudPut", - "type":"keyword", - "info":"CloudPut[expr] writes expr to a new anonymous cloud object.CloudPut[expr, \"uri\"] writes expr to a cl" - }, - { - "label":"CloudRenderingMethod", - "type":"keyword", - "info":"CloudRenderingMethod is an option for Cell and Notebook that specifies how to render cells in the cl" - }, - { - "label":"CloudSave", - "type":"keyword", - "info":"CloudSave[symbol] saves definitions associated with the specified symbol to a new anonymous cloud ob" - }, - { - "label":"CloudShare", - "type":"keyword", - "info":"CloudShare[user] shares the current cloud document with the specified user.CloudShare[{user , user ," - }, - { - "label":"CloudSubmit", - "type":"keyword", - "info":"CloudSubmit[expr] submits expr for immediate asynchronous cloud evaluation. CloudSubmit[ScheduledTas" - }, - { - "label":"CloudSymbol", - "type":"keyword", - "info":"CloudSymbol[\"name\"] represents a symbol whose value is persistently stored in the cloud.CloudSymbol[" - }, - { - "label":"CloudUnshare", - "type":"keyword", - "info":"CloudUnshare[obj] cancels sharing of the cloud object obj with everyone.CloudUnshare[obj, users] can" - }, - { - "label":"CloudUsageData", - "type":"keyword", - "info":"CloudUsageData[] gives usage data for all of your cloud objects.\nCloudUsageData[\"Periods\"] lists all" - }, - { - "label":"CloudUserID", - "type":"keyword", - "info":"System`CloudUserID" - }, - { - "label":"ClusterClassify", - "type":"keyword", - "info":"ClusterClassify[data] generates a ClassifierFunction[…] by partitioning data into clusters of simila" - }, - { - "label":"ClusterDissimilarityFunction", - "type":"keyword", - "info":"ClusterDissimilarityFunction is an option for ClusteringTree and Dendrogram that specifies the inter" - }, - { - "label":"ClusteringComponents", - "type":"keyword", - "info":"ClusteringComponents[array] gives an array in which each element at the lowest level of array is rep" - }, - { - "label":"ClusteringTree", - "type":"keyword", - "info":"ClusteringTree[{e , e , …}] constructs a weighted tree from the hierarchical clustering of the eleme" - }, - { - "label":"CMYKColor", - "type":"keyword", - "info":"CMYKColor[c, m, y, k] represents a color in the CMYK color space with cyan, magenta, yellow and blac" - }, - { - "label":"Coarse", - "type":"keyword", - "info":"System`Coarse" - }, - { - "label":"CodeAssistOptions", - "type":"keyword", - "info":"CodeAssistOptions is an option for cells that specifies settings for controlling code input assistan" - }, - { - "label":"Coefficient", - "type":"keyword", - "info":"Coefficient[expr, form] gives the coefficient of form in the polynomial expr. Coefficient[expr, form" - }, - { - "label":"CoefficientArrays", - "type":"keyword", - "info":"CoefficientArrays[polys, vars] gives the arrays of coefficients of the variables vars in the polynom" - }, - { - "label":"CoefficientDomain", - "type":"keyword", - "info":"System`CoefficientDomain" - }, - { - "label":"CoefficientList", - "type":"keyword", - "info":"CoefficientList[poly, var] gives a list of coefficients of powers of var in poly, starting with powe" - }, - { - "label":"CoefficientRules", - "type":"keyword", - "info":"CoefficientRules[poly, {x , x , …}] gives the list {{e , e , …}  c , {e , …}  c , …} of exponen" - }, - { - "label":"CoifletWavelet", - "type":"keyword", - "info":"CoifletWavelet[] represents a Coiflet wavelet of order 2.CoifletWavelet[n] represents a Coiflet wave" - }, - { - "label":"Collect", - "type":"keyword", - "info":"Collect[expr, x] collects together terms involving the same powers of objects matching x. Collect[ex" - }, - { - "label":"CollinearPoints", - "type":"keyword", - "info":"CollinearPoints[{p , p , p , …, p }] tests whether the points p , p , p , …, p are collinear.\n " - }, - { - "label":"Colon", - "type":"keyword", - "info":"Colon[x, y, …] displays as x âˆ\\[Paragraph] y âˆ\\[Paragraph] …." - }, - { - "label":"ColonForm", - "type":"keyword", - "info":"ColonForm[a, b] prints as a : b." - }, - { - "label":"ColorBalance", - "type":"keyword", - "info":"ColorBalance[image] adjusts the colors in image to achieve a balance that simulates the effect of ne" - }, - { - "label":"ColorCombine", - "type":"keyword", - "info":"ColorCombine[{image , image , …}] creates a multichannel image by combining the sequence of channels" - }, - { - "label":"ColorConvert", - "type":"keyword", - "info":"ColorConvert[color, colspace] converts the color space of a color to the specified color space colsp" - }, - { - "label":"ColorCoverage", - "type":"keyword", - "info":"ColorCoverage is an option for DominantColors that specifies the minimum image coverage that each co" - }, - { - "label":"ColorData", - "type":"keyword", - "info":"ColorData[\"scheme\"] gives a function that generates colors in the named color scheme when applied to" - }, - { - "label":"ColorDataFunction", - "type":"keyword", - "info":"ColorDataFunction[range, …] is a function that represents a color scheme. " - }, - { - "label":"ColorDetect", - "type":"keyword", - "info":"ColorDetect[image, cspec] returns a mask image representing regions in image with colors within the " - }, - { - "label":"ColorDistance", - "type":"keyword", - "info":"ColorDistance[c , c ] gives the approximate perceptual distance between color directives c and c .C" - }, - { - "label":"ColorFunction", - "type":"keyword", - "info":"ColorFunction is an option for graphics functions that specifies a function to apply to determine co" - }, - { - "label":"ColorFunctionBinning", - "type":"keyword", - "info":"ColorFunctionBinning is an option for plotting functions that divides values into a limited set of b" - }, - { - "label":"ColorFunctionScaling", - "type":"keyword", - "info":"ColorFunctionScaling is an option for graphics functions that specifies whether arguments supplied t" - }, - { - "label":"Colorize", - "type":"keyword", - "info":"Colorize[m] generates an image from an integer matrix m, using colors for positive integers and blac" - }, - { - "label":"ColorNegate", - "type":"keyword", - "info":"ColorNegate[color] gives the negative of a color.ColorNegate[image] gives the negative of image, in " - }, - { - "label":"ColorOutput", - "type":"keyword", - "info":"ColorOutput is an option for graphics functions that specifies the type of color output to produce. " - }, - { - "label":"ColorProfileData", - "type":"keyword", - "info":"ColorProfileData[<>, \"Description\"  \"desc\", \"DeviceColorSpace\"  \"device\", \"IndependentColorSpace\" " - }, - { - "label":"ColorQ", - "type":"keyword", - "info":"ColorQ[color] yields True if color is a valid color directive and False otherwise." - }, - { - "label":"ColorQuantize", - "type":"keyword", - "info":"ColorQuantize[image] gives an approximation to image by quantizing to distinct colors.ColorQuantize[" - }, - { - "label":"ColorReplace", - "type":"keyword", - "info":"ColorReplace[image, color] finds regions in image whose pixel values are similar to color and replac" - }, - { - "label":"ColorRules", - "type":"keyword", - "info":"ColorRules is an option that specifies how colors of cells should be determined from values. " - }, - { - "label":"ColorSelectorSettings", - "type":"keyword", - "info":"ColorSelectorSettings is a global option that specifies settings for the Color dialog box." - }, - { - "label":"ColorSeparate", - "type":"keyword", - "info":"ColorSeparate[image] gives a list of single-channel images corresponding to each of the color channe" - }, - { - "label":"ColorSetter", - "type":"keyword", - "info":"ColorSetter[color] represents a color setter which displays as a swatch of the specified color and w" - }, - { - "label":"ColorSetterBox", - "type":"keyword", - "info":"System`ColorSetterBox" - }, - { - "label":"ColorSetterBoxOptions", - "type":"keyword", - "info":"ColorSetterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Color" - }, - { - "label":"ColorSlider", - "type":"keyword", - "info":"ColorSlider[color] represents a color slider currently set to the color corresponding to color.Color" - }, - { - "label":"ColorsNear", - "type":"keyword", - "info":"ColorsNear[color] represents a region around color.ColorsNear[color, d] represents a region with max" - }, - { - "label":"ColorSpace", - "type":"keyword", - "info":"ColorSpace is an option for Image and related functions that specifies the color space to which colo" - }, - { - "label":"ColorToneMapping", - "type":"keyword", - "info":"ColorToneMapping[image] applies a tone mapping to color values in image so as to make variations of " - }, - { - "label":"Column", - "type":"keyword", - "info":"Column[{expr , expr , …}] is an object that formats with the expr arranged in a column, with expr " - }, - { - "label":"ColumnAlignments", - "type":"keyword", - "info":"ColumnAlignments is an option for the low-level function GridBox that specifies how entries in each " - }, - { - "label":"ColumnBackgrounds", - "type":"keyword", - "info":"System`ColumnBackgrounds" - }, - { - "label":"ColumnForm", - "type":"keyword", - "info":"ColumnForm[{e , e , …}] prints as a column with e above e , etc. ColumnForm[list, horiz] specifies " - }, - { - "label":"ColumnLines", - "type":"keyword", - "info":"ColumnLines is an option for the low-level function GridBox which specifies whether lines should be " - }, - { - "label":"ColumnsEqual", - "type":"keyword", - "info":"ColumnsEqual is an option for the low-level function GridBox which specifies whether all columns in " - }, - { - "label":"ColumnSpacings", - "type":"keyword", - "info":"ColumnSpacings is an option for the low-level function GridBox which specifies the spaces in ems tha" - }, - { - "label":"ColumnWidths", - "type":"keyword", - "info":"ColumnWidths is an option for the low-level function GridBox which specifies the widths to use for c" - }, - { - "label":"CombinatorB", - "type":"keyword", - "info":"CombinatorB represents the B combinator." - }, - { - "label":"CombinatorC", - "type":"keyword", - "info":"CombinatorC represents the C combinator." - }, - { - "label":"CombinatorI", - "type":"keyword", - "info":"CombinatorI represents the I combinator." - }, - { - "label":"CombinatorK", - "type":"keyword", - "info":"CombinatorK represents the K combinator." - }, - { - "label":"CombinatorS", - "type":"keyword", - "info":"CombinatorS represents the S combinator." - }, - { - "label":"CombinatorW", - "type":"keyword", - "info":"CombinatorW represents the W combinator." - }, - { - "label":"CombinatorY", - "type":"keyword", - "info":"CombinatorY represents the Y combinator." - }, - { - "label":"CombinedEntityClass", - "type":"keyword", - "info":"CombinedEntityClass[class , class , prop] represents a class of entities obtained by combining the p" - }, - { - "label":"CombinerFunction", - "type":"keyword", - "info":"CombinerFunction is an option for template functions that specifies how fragments should be assemble" - }, - { - "label":"CometData", - "type":"keyword", - "info":"CometData[entity, property] gives the value of the specified property for the comet entity.CometData" - }, - { - "label":"CommonDefaultFormatTypes", - "type":"keyword", - "info":"CommonDefaultFormatTypes is an option that specifies default formats for newly created cells." - }, - { - "label":"Commonest", - "type":"keyword", - "info":"Commonest[list] gives a list of the elements that are the most common in list.Commonest[list, n] giv" - }, - { - "label":"CommonestFilter", - "type":"keyword", - "info":" " - }, - { - "label":"CommonName", - "type":"keyword", - "info":"CommonName[entity] gives the common name for the entity specified by entity.CommonName[{entity , …, " - }, - { - "label":"CommonUnits", - "type":"keyword", - "info":"CommonUnits[{quantity , quantity , …, quantity }] converts quantity through quantity to common uni" - }, - { - "label":"CommunityBoundaryStyle", - "type":"keyword", - "info":"CommunityBoundaryStyle is an option to CommunityGraphPlot that specifies how to style community boun" - }, - { - "label":"CommunityGraphPlot", - "type":"keyword", - "info":"CommunityGraphPlot[g] generates a plot showing the community structure of the graph g.CommunityGraph" - }, - { - "label":"CommunityLabels", - "type":"keyword", - "info":"CommunityLabels is an option to CommunityGraphPlot that controls what labels and placement to use fo" - }, - { - "label":"CommunityRegionStyle", - "type":"keyword", - "info":"CommunityRegionStyle is an option to CommunityGraphPlot that specifies how to style community region" - }, - { - "label":"CompanyData", - "type":"keyword", - "info":"CompanyData[entity, property] gives the value of the specified property for the company entity.Compa" - }, - { - "label":"CompatibleUnitQ", - "type":"keyword", - "info":"CompatibleUnitQ[quantity , quantity ] returns True if quantity and quantity have compatible units," - }, - { - "label":"CompilationOptions", - "type":"keyword", - "info":"CompilationOptions is an option for Compile that specifies settings for the compilation process. " - }, - { - "label":"CompilationTarget", - "type":"keyword", - "info":"CompilationTarget is an option for Compile that specifies the target runtime for the compiled functi" - }, - { - "label":"Compile", - "type":"keyword", - "info":"Compile[{x , x , …}, expr] creates a compiled function that evaluates expr assuming numerical values" - }, - { - "label":"Compiled", - "type":"keyword", - "info":"Compiled is an option for various numerical and plotting functions which specifies whether the expre" - }, - { - "label":"CompiledCodeFunction", - "type":"keyword", - "info":"CompiledCodeFunction[…] is a function created by FunctionCompile that contains compiled code that is" - }, - { - "label":"CompiledFunction", - "type":"keyword", - "info":"CompiledFunction[args…] represents compiled code for evaluating a compiled function. " - }, - { - "label":"CompiledLayer", - "type":"keyword", - "info":"CompiledLayer[func] represents a net layer whose computation is defined by the compilable function f" - }, - { - "label":"CompilerEnvironment", - "type":"keyword", - "info":"CompilerEnvironment is an option for FunctionCompile and related functions that allows definitions t" - }, - { - "label":"CompilerEnvironmentAppend", - "type":"keyword", - "info":"System`CompilerEnvironmentAppend" - }, - { - "label":"CompilerEnvironmentAppendTo", - "type":"keyword", - "info":"CompilerEnvironmentAppendTo[{def , def , …}] appends declarations to ECCompilerEnvironment.CompilerEn" - }, - { - "label":"CompilerEnvironmentObject", - "type":"keyword", - "info":"CompilerEnvironmentObject represents a collection of definitions that can be included in compilation" - }, - { - "label":"CompilerOptions", - "type":"keyword", - "info":"CompilerOptions is an option for FunctionCompile and related functions that allows options for the c" - }, - { - "label":"Complement", - "type":"keyword", - "info":"Complement[e , e , e , …] gives the elements in e that are not in any of the e . \n a" - }, - { - "label":"ComplementedEntityClass", - "type":"keyword", - "info":"ComplementedEntityClass[class , class , …] represents an entity class containing all the entities " - }, - { - "label":"CompleteGraph", - "type":"keyword", - "info":"CompleteGraph[n] gives the complete graph with n vertices K .CompleteGraph[{n , n , …, n }] gives th" - }, - { - "label":"CompleteGraphQ", - "type":"keyword", - "info":"CompleteGraphQ[g] yields True if the graph g is a complete graph, and False otherwise.CompleteGraphQ" - }, - { - "label":"CompleteIntegral", - "type":"keyword", - "info":"CompleteIntegral[pde, u, {x , …, x }] gives a complete integral u for the first-order partial differ" - }, - { - "label":"CompleteKaryTree", - "type":"keyword", - "info":"CompleteKaryTree[n] gives the complete binary tree with n levels.CompleteKaryTree[n, k] gives the co" - }, - { - "label":"CompletionsListPacket", - "type":"keyword", - "info":"System`CompletionsListPacket" - }, - { - "label":"Complex", - "type":"keyword", - "info":"Complex is the head used for complex numbers. " - }, - { - "label":"ComplexArrayPlot", - "type":"keyword", - "info":"ComplexArrayPlot[array] generates a plot in which complex values z in an array array are shown in " - }, - { - "label":"ComplexContourPlot", - "type":"keyword", - "info":"ComplexContourPlot[f, {z, z , z }] generates a filled contour plot of f as a function of z. Comp" - }, - { - "label":"Complexes", - "type":"keyword", - "info":"Complexes represents the domain of complex numbers, as in x ∈ Complexes. " - }, - { - "label":"ComplexExpand", - "type":"keyword", - "info":"ComplexExpand[expr] expands expr assuming that all variables are real. ComplexExpand[expr, {x , x , " - }, - { - "label":"ComplexInfinity", - "type":"keyword", - "info":"ComplexInfinity represents a quantity with infinite magnitude, but undetermined complex phase. " - }, - { - "label":"ComplexityFunction", - "type":"keyword", - "info":"ComplexityFunction is an option for Simplify and other functions which gives a function to rank the " - }, - { - "label":"ComplexListPlot", - "type":"keyword", - "info":"ComplexListPlot[{z , z , …}] plots complex numbers z , z , … as points in the complex plane.ComplexL" - }, - { - "label":"ComplexPlot", - "type":"keyword", - "info":"ComplexPlot[f, {z, z , z }] generates a plot of Arg[f] over the complex rectangle with corners z" - }, - { - "label":"ComplexPlot3D", - "type":"keyword", - "info":"ComplexPlot3D[f, {z, z , z }] generates a 3D plot of Abs[f] colored by Arg[f] over the complex r" - }, - { - "label":"ComplexRegionPlot", - "type":"keyword", - "info":"ComplexRegionPlot[pred, {z, z , z }] makes a plot showing the region in the complex plane for wh" - }, - { - "label":"ComplexStreamPlot", - "type":"keyword", - "info":"ComplexStreamPlot[f, {z, z , z }] generates a streamline plot of the vector field {Re[f], Im[f]}" - }, - { - "label":"ComplexVectorPlot", - "type":"keyword", - "info":"ComplexVectorPlot[f, {z, z , z }] generates a vector plot of the vector field {Re[f], Im[f]} ove" - }, - { - "label":"ComponentMeasurements", - "type":"keyword", - "info":"ComponentMeasurements[{image, lmat}, \"prop\"] computes the property \"prop\" for components of image in" - }, - { - "label":"ComponentwiseContextMenu", - "type":"keyword", - "info":"System`ComponentwiseContextMenu" - }, - { - "label":"Compose", - "type":"keyword", - "info":"System`Compose" - }, - { - "label":"ComposeList", - "type":"keyword", - "info":"ComposeList[{f , f , …}, x] generates a list of the form {x, f [x], f [f [x]], …}. \n 1 " - }, - { - "label":"ComposeSeries", - "type":"keyword", - "info":"ComposeSeries[series , series , …] composes several power series. \n 1 2" - }, - { - "label":"CompositeQ", - "type":"keyword", - "info":"CompositeQ[n] yields True if n is a composite number, and yields False otherwise. " - }, - { - "label":"Composition", - "type":"keyword", - "info":"Composition[f , f , f , …] represents a composition of the functions f , f , f , …. \n 1 " - }, - { - "label":"CompoundElement", - "type":"keyword", - "info":"CompoundElement[{spec , spec , …}] represents a form or interpreter specification for a list of fiel" - }, - { - "label":"CompoundExpression", - "type":"keyword", - "info":"expr ; expr ; … evaluates the expr in turn, giving the last one as the result. \n 1 2 " - }, - { - "label":"CompoundPoissonDistribution", - "type":"keyword", - "info":"CompoundPoissonDistribution[λ, dist] represents a compound Poisson distribution with rate parameter " - }, - { - "label":"CompoundPoissonProcess", - "type":"keyword", - "info":"CompoundPoissonProcess[λ, jdist] represents a compound Poisson process with rate parameter λ and jum" - }, - { - "label":"CompoundRenewalProcess", - "type":"keyword", - "info":"CompoundRenewalProcess[rdist, jdist] represents a compound renewal process with renewal-time distrib" - }, - { - "label":"Compress", - "type":"keyword", - "info":"Compress[expr] gives a compressed representation of expr as a string. " - }, - { - "label":"CompressedData", - "type":"keyword", - "info":"System`CompressedData" - }, - { - "label":"CompressionLevel", - "type":"keyword", - "info":"CompressionLevel is an option for Export and CreateArchive that specifies the amount of compression " - }, - { - "label":"ComputeUncertainty", - "type":"keyword", - "info":"ComputeUncertainty is an option for ClassifierMeasurements, LearnedDistribution and other functions " - }, - { - "label":"ConcaveHullMesh", - "type":"keyword", - "info":"ConcaveHullMesh[{p , p , …}] gives the concave hull mesh from the points p , p , ….ConcaveHullMesh[{" - }, - { - "label":"Condition", - "type":"keyword", - "info":"patt\/;test is a pattern which matches only if the evaluation of test yields True. lhs :> rhs\/;test r" - }, - { - "label":"ConditionalExpression", - "type":"keyword", - "info":"ConditionalExpression[expr, cond] is a symbolic construct that represents the expression expr when t" - }, - { - "label":"Conditioned", - "type":"keyword", - "info":"Conditioned[expr, cond] or expr  cond represents expr conditioned by the predicate cond." - }, - { - "label":"Cone", - "type":"keyword", - "info":"Cone[{{x , y , z }, {x , y , z }}, r] represents a cone with a base of radius r centered at (x , y ," - }, - { - "label":"ConeBox", - "type":"keyword", - "info":"System`ConeBox" - }, - { - "label":"ConfidenceLevel", - "type":"keyword", - "info":"ConfidenceLevel is an option for LinearModelFit and other fitting functions that specifies the level" - }, - { - "label":"ConfidenceRange", - "type":"keyword", - "info":"ConfidenceRange is an option for SurvivalModelFit and other functions that specifies the range over " - }, - { - "label":"ConfidenceTransform", - "type":"keyword", - "info":"ConfidenceTransform is an option for functions such as SurvivalModelFit that specifies the transform" - }, - { - "label":"ConfigurationPath", - "type":"keyword", - "info":"ConfigurationPath is a global option that specifies which directories are searched for systemwide co" - }, - { - "label":"Confirm", - "type":"keyword", - "info":"Confirm[expr] confirms that expr is not considered a failure, otherwise throwing an error to the nea" - }, - { - "label":"ConfirmAssert", - "type":"keyword", - "info":"ConfirmAssert[test] confirms that test is True, otherwise throwing an error to the nearest surroundi" - }, - { - "label":"ConfirmBy", - "type":"keyword", - "info":"ConfirmBy[expr, f] confirms that f[expr] returns True, otherwise throwing an error to the nearest su" - }, - { - "label":"ConfirmMatch", - "type":"keyword", - "info":"ConfirmMatch[expr, form] confirms that expr matches the pattern form, otherwise throwing an error to" - }, - { - "label":"ConfirmQuiet", - "type":"keyword", - "info":"ConfirmQuiet[expr] confirms that no messages are generated during the evaluation of expr, otherwise " - }, - { - "label":"ConformationMethod", - "type":"keyword", - "info":"ConformationMethod is an option for VideoJoin and others that specifies how to conform frames of dif" - }, - { - "label":"ConformAudio", - "type":"keyword", - "info":"ConformAudio[{audio , audio , …}] returns a list of audio objects where all audio are made to have " - }, - { - "label":"ConformImages", - "type":"keyword", - "info":"ConformImages[{image , image , …}] returns a list of images where all image are made to have confor" - }, - { - "label":"Congruent", - "type":"keyword", - "info":"Congruent[x, y, …] displays as x ≡ y ≡ …." - }, - { - "label":"ConicGradientFilling", - "type":"keyword", - "info":"ConicGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that " - }, - { - "label":"ConicHullRegion", - "type":"keyword", - "info":"ConicHullRegion[{p , …, p }] represents the m-dimensional affine hull region passing through poi" - }, - { - "label":"ConicHullRegion3DBox", - "type":"keyword", - "info":"System`ConicHullRegion3DBox" - }, - { - "label":"ConicHullRegionBox", - "type":"keyword", - "info":"System`ConicHullRegionBox" - }, - { - "label":"ConicOptimization", - "type":"keyword", - "info":"ConicOptimization[f, cons, vars] finds values of variables vars that minimize the linear objective f" - }, - { - "label":"Conjugate", - "type":"keyword", - "info":"Conjugate[z] or z  gives the complex conjugate of the complex number z. " - }, - { - "label":"ConjugateTranspose", - "type":"keyword", - "info":" \nConjugateTranspose[m] or m gives the conjugate transpose of m. " - }, - { - "label":"Conjunction", - "type":"keyword", - "info":"Conjunction[expr, {a , a , …}] gives the conjunction of expr over all choices of the Boolean variabl" - }, - { - "label":"Connect", - "type":"keyword", - "info":"Connect is a setting for the LinkMode option of LinkOpen. LinkMode->Connect causes a link to be cre" - }, - { - "label":"ConnectedComponents", - "type":"keyword", - "info":"ConnectedComponents[g] gives the connected components of the graph g.ConnectedComponents[g, {v , v ," - }, - { - "label":"ConnectedGraphComponents", - "type":"keyword", - "info":"ConnectedGraphComponents[g] gives the connected components of the graph g.ConnectedGraphComponents[g" - }, - { - "label":"ConnectedGraphQ", - "type":"keyword", - "info":"ConnectedGraphQ[g] yields True if the graph g is connected, and False otherwise." - }, - { - "label":"ConnectedMeshComponents", - "type":"keyword", - "info":"ConnectedMeshComponents[mr] gives a list {c , c , …} of disjoint path connected meshed regions.\n " - }, - { - "label":"ConnectedMoleculeComponents", - "type":"keyword", - "info":"ConnectedMoleculeComponents[mol] gives the connected components of the molecule mol." - }, - { - "label":"ConnectedMoleculeQ", - "type":"keyword", - "info":"ConnectedMoleculeQ[mol] returns True if the atoms in mol form are connected by bonds, and False othe" - }, - { - "label":"ConnectionSettings", - "type":"keyword", - "info":"ConnectionSettings is an option for URLRead and related functions to specify advanced connection set" - }, - { - "label":"ConnectLibraryCallbackFunction", - "type":"keyword", - "info":"ConnectLibraryCallbackFunction[mname, cf] connects a CompiledFunction cf with the library callback m" - }, - { - "label":"ConnectSystemModelComponents", - "type":"keyword", - "info":"ConnectSystemModelComponents[{c ∈ comp , …}, {c . a  c . b, …}] creates a system model by connec" - }, - { - "label":"ConnectSystemModelController", - "type":"keyword", - "info":"ConnectSystemModelController[model, controller] connects the system model model with a controller ac" - }, - { - "label":"ConnesWindow", - "type":"keyword", - "info":"ConnesWindow[x] represents a Connes window function of x.ConnesWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n" - }, - { - "label":"ConoverTest", - "type":"keyword", - "info":" " - }, - { - "label":"ConservativeConvectionPDETerm", - "type":"keyword", - "info":"ConservativeConvectionPDETerm[vars, Î\\[PlusMinus]] represents a conservative convection term ∇ Â\\[CenterDot] (-Î\\[PlusMinus] " - }, - { - "label":"ConsoleMessage", - "type":"keyword", - "info":"ConsoleMessage[expr] prints expr as a message to the Messages window of the frontend." - }, - { - "label":"ConsoleMessagePacket", - "type":"keyword", - "info":"System`ConsoleMessagePacket" - }, - { - "label":"Constant", - "type":"keyword", - "info":"Constant is an attribute that indicates zero derivative of a symbol with respect to all parameters. " - }, - { - "label":"ConstantArray", - "type":"keyword", - "info":"ConstantArray[c, n] generates a list of n copies of the element c.ConstantArray[c, {n , n , …}] gene" - }, - { - "label":"ConstantArrayLayer", - "type":"keyword", - "info":"ConstantArrayLayer[] represents a layer that has no input and produces as output a constant array.Co" - }, - { - "label":"ConstantImage", - "type":"keyword", - "info":"ConstantImage[val, size] gives an image of the specified size with constant pixel values of val.Cons" - }, - { - "label":"ConstantPlusLayer", - "type":"keyword", - "info":"ConstantPlusLayer[] represents a layer that adds a learnable bias to its input.ConstantPlusLayer[opt" - }, - { - "label":"ConstantRegionQ", - "type":"keyword", - "info":"ConstantRegionQ[reg] gives True if the reg is a constant region and False otherwise." - }, - { - "label":"Constants", - "type":"keyword", - "info":"Constants is an option for Dt which gives a list of objects to be taken as constants. " - }, - { - "label":"ConstantTimesLayer", - "type":"keyword", - "info":"ConstantTimesLayer[] represents a layer that multiplies its input by a learnable scaling array.Const" - }, - { - "label":"ConstellationData", - "type":"keyword", - "info":"ConstellationData[entity, property] gives the value of the specified property for the constellation " - }, - { - "label":"ConstrainedMax", - "type":"keyword", - "info":"System`ConstrainedMax" - }, - { - "label":"ConstrainedMin", - "type":"keyword", - "info":"System`ConstrainedMin" - }, - { - "label":"Construct", - "type":"keyword", - "info":"Construct[f, x] gives f[x].Construct[f, x , …, x ] gives f[x , …, x ].\n " - }, - { - "label":"Containing", - "type":"keyword", - "info":"Containing[\"outer\", \"inner\"] represents an object of type outer containing objects of type inner." - }, - { - "label":"ContainsAll", - "type":"keyword", - "info":"ContainsAll[e , e ] yields True if e contains all of the elements of e .ContainsAll[e ] is an opera" - }, - { - "label":"ContainsAny", - "type":"keyword", - "info":"ContainsAny[e , e ] yields True if e contains any of the elements of e .ContainsAny[e ] is an opera" - }, - { - "label":"ContainsExactly", - "type":"keyword", - "info":"ContainsExactly[e , e ] yields True if e contains exactly the same elements as e .ContainsExactly[e" - }, - { - "label":"ContainsNone", - "type":"keyword", - "info":"ContainsNone[e , e ] yields True if e contains none of the elements in e .ContainsNone[e ] is an op" - }, - { - "label":"ContainsOnly", - "type":"keyword", - "info":"ContainsOnly[e , e ] yields True if e contains only elements that appear in e .ContainsOnly[e ] is " - }, - { - "label":"ContentDetectorFunction", - "type":"keyword", - "info":"ContentDetectorFunction[…] represents a function generated by TrainImageContentDetector or TrainText" - }, - { - "label":"ContentFieldOptions", - "type":"keyword", - "info":"ContentFieldOptions is an option for CreateSearchIndex and related functions that allows options to " - }, - { - "label":"ContentLocationFunction", - "type":"keyword", - "info":"ContentLocationFunction is an option to CreateSearchIndex and related functions that specifies how t" - }, - { - "label":"ContentObject", - "type":"keyword", - "info":"ContentObject[\"string\"] gives a content object whose content is string.ContentObject[File[…]] gives " - }, - { - "label":"ContentPadding", - "type":"keyword", - "info":"ContentPadding is an option for objects that can be displayed with frames that specifies whether the" - }, - { - "label":"ContentsBoundingBox", - "type":"keyword", - "info":"System`ContentsBoundingBox" - }, - { - "label":"ContentSelectable", - "type":"keyword", - "info":"ContentSelectable is an option to constructs such as Inset, Graphics, and GraphicsGroup that specifi" - }, - { - "label":"ContentSize", - "type":"keyword", - "info":"ContentSize is an option for Manipulate and other functions that specifies the size of the content a" - }, - { - "label":"Context", - "type":"keyword", - "info":"Context[] gives the current context. Context[symbol] gives the context in which a symbol appears. Co" - }, - { - "label":"ContextMenu", - "type":"keyword", - "info":"System`ContextMenu" - }, - { - "label":"Contexts", - "type":"keyword", - "info":"Contexts[] gives a list of all contexts. Contexts[\"string\"] gives a list of the contexts that match " - }, - { - "label":"ContextToFileName", - "type":"keyword", - "info":"ContextToFileName[\"context\"] gives the string specifying the file name that is by convention associa" - }, - { - "label":"Continuation", - "type":"keyword", - "info":"System`Continuation" - }, - { - "label":"Continue", - "type":"keyword", - "info":"Continue[] exits to the nearest enclosing Do, For, or While in a procedural program. " - }, - { - "label":"ContinuedFraction", - "type":"keyword", - "info":"ContinuedFraction[x, n] generates a list of the first n terms in the continued fraction representati" - }, - { - "label":"ContinuedFractionK", - "type":"keyword", - "info":" i " - }, - { - "label":"ContinuousAction", - "type":"keyword", - "info":"ContinuousAction is an option for Manipulate, Slider, and related functions that specifies whether a" - }, - { - "label":"ContinuousMarkovProcess", - "type":"keyword", - "info":"ContinuousMarkovProcess[i , q] represents a continuous-time finite-state Markov process with transit" - }, - { - "label":"ContinuousTask", - "type":"keyword", - "info":"ContinuousTask[expr] represents a task in which expr is continuously reevaluated.ContinuousTask[expr" - }, - { - "label":"ContinuousTimeModelQ", - "type":"keyword", - "info":"ContinuousTimeModelQ[lsys] gives True if lsys is a continuous-time systems model, and False otherwis" - }, - { - "label":"ContinuousWaveletData", - "type":"keyword", - "info":"ContinuousWaveletData[{{oct , voc } -> coef , …}, wave] yields a continuous wavelet data object with" - }, - { - "label":"ContinuousWaveletTransform", - "type":"keyword", - "info":"ContinuousWaveletTransform[{x , x , …}] gives the continuous wavelet transform of a list of values x" - }, - { - "label":"ContourDetect", - "type":"keyword", - "info":"ContourDetect[image] gives a binary image in which white pixels correspond to the zeros and zero cro" - }, - { - "label":"ContourGraphics", - "type":"keyword", - "info":"ContourGraphics[array] is a representation of a contour plot. " - }, - { - "label":"ContourIntegral", - "type":"keyword", - "info":"System`ContourIntegral" - }, - { - "label":"ContourLabels", - "type":"keyword", - "info":"ContourLabels is an option for contour plots that specifies how to label contours. " - }, - { - "label":"ContourLines", - "type":"keyword", - "info":"ContourLines is an option for contour plots that specifies whether to draw explicit contour lines. " - }, - { - "label":"ContourPlot", - "type":"keyword", - "info":"ContourPlot[f, {x, x , x }, {y, y , y }] generates a contour plot of f as a function of x an" - }, - { - "label":"ContourPlot3D", - "type":"keyword", - "info":"ContourPlot3D[f, {x, x , x }, {y, y , y }, {z, z , z }] produces a three-dimensional con" - }, - { - "label":"Contours", - "type":"keyword", - "info":"Contours is an option for contour plots that specifies the contours to draw. " - }, - { - "label":"ContourShading", - "type":"keyword", - "info":"ContourShading is an option for contour plots that specifies how the regions between contour lines s" - }, - { - "label":"ContourSmoothing", - "type":"keyword", - "info":"System`ContourSmoothing" - }, - { - "label":"ContourStyle", - "type":"keyword", - "info":"ContourStyle is an option for contour plots that specifies the style in which contour lines or surfa" - }, - { - "label":"ContraharmonicMean", - "type":"keyword", - "info":"ContraharmonicMean[list] gives the contraharmonic mean of the values in list.ContraharmonicMean[list" - }, - { - "label":"ContrastiveLossLayer", - "type":"keyword", - "info":"ContrastiveLossLayer[] represents a loss layer that computes a loss based on a distance metric and a" - }, - { - "label":"Control", - "type":"keyword", - "info":"Control[{u, dom}] represents an interactive control for the variable u in the domain dom, with the t" - }, - { - "label":"ControlActive", - "type":"keyword", - "info":"ControlActive[act, norm] evaluates to act if a control that affects act is actively being used, and " - }, - { - "label":"ControlAlignment", - "type":"keyword", - "info":"System`ControlAlignment" - }, - { - "label":"ControlGroupContentsBox", - "type":"keyword", - "info":"System`ControlGroupContentsBox" - }, - { - "label":"ControllabilityGramian", - "type":"keyword", - "info":"ControllabilityGramian[ssm] gives the controllability Gramian of the state-space model ssm." - }, - { - "label":"ControllabilityMatrix", - "type":"keyword", - "info":"ControllabilityMatrix[ssm] gives the controllability matrix of the state-space model ssm." - }, - { - "label":"ControllableDecomposition", - "type":"keyword", - "info":"ControllableDecomposition[sys] yields the controllable subsystem of the state-space model sys.Contro" - }, - { - "label":"ControllableModelQ", - "type":"keyword", - "info":"ControllableModelQ[sys] yields True if the state-space model sys is controllable, and False otherwis" - }, - { - "label":"ControllerDuration", - "type":"keyword", - "info":"System`ControllerDuration" - }, - { - "label":"ControllerInformation", - "type":"keyword", - "info":"ControllerInformation[] gives dynamically updated information on currently connected controller devi" - }, - { - "label":"ControllerInformationData", - "type":"keyword", - "info":"System`ControllerInformationData" - }, - { - "label":"ControllerLinking", - "type":"keyword", - "info":"ControllerLinking is an option for Manipulate, Graphics3D, Plot3D, and related functions that specif" - }, - { - "label":"ControllerManipulate", - "type":"keyword", - "info":"ControllerManipulate[expr, {u, u , u }] generates a version of expr set up to allow interactive " - }, - { - "label":"ControllerMethod", - "type":"keyword", - "info":"ControllerMethod is an option for Manipulate, Graphics3D, Plot3D, and related functions that specifi" - }, - { - "label":"ControllerPath", - "type":"keyword", - "info":"ControllerPath is an option that gives a list of external controllers or classes of controllers to t" - }, - { - "label":"ControllerState", - "type":"keyword", - "info":"ControllerState[\"c\"] gives the state of the control c for the first connected controller device on w" - }, - { - "label":"ControlPlacement", - "type":"keyword", - "info":"ControlPlacement is an option for Manipulate, TabView, and other control objects that specifies wher" - }, - { - "label":"ControlsRendering", - "type":"keyword", - "info":"ControlsRendering is a Style option that specifies how controls should be rendered." - }, - { - "label":"ControlType", - "type":"keyword", - "info":"ControlType is an option for Manipulate and related functions that specifies what type of controls s" - }, - { - "label":"ConvectionPDETerm", - "type":"keyword", - "info":"ConvectionPDETerm[vars, Î\.b2] represents a convection term Î\.b2 Â\\[CenterDot] ∇ u with convection coefficie" - }, - { - "label":"Convergents", - "type":"keyword", - "info":"Convergents[list] gives a list of the convergents corresponding to the continued fraction terms list" - }, - { - "label":"ConversionOptions", - "type":"keyword", - "info":"ConversionOptions is an option to Import and Export used to pass special options to a particular for" - }, - { - "label":"ConversionRules", - "type":"keyword", - "info":"ConversionRules is an option for Cell that can be set to a list of rules specifying how the contents" - }, - { - "label":"ConvertToBitmapPacket", - "type":"keyword", - "info":"System`ConvertToBitmapPacket" - }, - { - "label":"ConvertToPostScript", - "type":"keyword", - "info":"System`ConvertToPostScript" - }, - { - "label":"ConvertToPostScriptPacket", - "type":"keyword", - "info":"ConvertToPostScriptPacket is an internal symbol used for formatting." - }, - { - "label":"ConvexHullMesh", - "type":"keyword", - "info":"ConvexHullMesh[{p , p , …}] gives a BoundaryMeshRegion representing the convex hull from the points " - }, - { - "label":"ConvexHullRegion", - "type":"keyword", - "info":"ConvexHullRegion[{p , p , …}] gives the convex hull from the points p , p , ….ConvexHullRegion[reg] " - }, - { - "label":"ConvexOptimization", - "type":"keyword", - "info":"ConvexOptimization[f, cons, vars] finds values of variables vars that minimize the convex objective " - }, - { - "label":"ConvexPolygonQ", - "type":"keyword", - "info":"ConvexPolygonQ[poly] gives True if the polygon poly is convex, and False otherwise." - }, - { - "label":"ConvexPolyhedronQ", - "type":"keyword", - "info":"ConvexPolyhedronQ[poly] gives True if the polyhedron poly is convex, and False otherwise." - }, - { - "label":"ConvexRegionQ", - "type":"keyword", - "info":"ConvexRegionQ[reg] gives True if reg is a convex region and False otherwise. " - }, - { - "label":"ConvolutionLayer", - "type":"keyword", - "info":"ConvolutionLayer[n, s] represents a trainable convolutional net layer having n output channels and u" - }, - { - "label":"Convolve", - "type":"keyword", - "info":"Convolve[f, g, x, y] gives the convolution with respect to x of the expressions f and g.Convolve[f, " - }, - { - "label":"ConwayGroupCo1", - "type":"keyword", - "info":"ConwayGroupCo1[] represents the sporadic simple Conway group Co .\n " - }, - { - "label":"ConwayGroupCo2", - "type":"keyword", - "info":"ConwayGroupCo2[] represents the sporadic simple Conway group Co .\n " - }, - { - "label":"ConwayGroupCo3", - "type":"keyword", - "info":"ConwayGroupCo3[] represents the sporadic simple Conway group Co .\n " - }, - { - "label":"CookieFunction", - "type":"keyword", - "info":"CookieFunction is an option for URLRead, HTTPRequest, and related functions that gives a function to" - }, - { - "label":"Cookies", - "type":"keyword", - "info":"System`Cookies" - }, - { - "label":"CoordinateBoundingBox", - "type":"keyword", - "info":"CoordinateBoundingBox[coords] gives the corners {{x , y , …}, {x , y , …}} of the bounding b" - }, - { - "label":"CoordinateBoundingBoxArray", - "type":"keyword", - "info":"CoordinateBoundingBoxArray[{{x , y , …}, {x , y , …}}] generates an array of {x, y, …} coord" - }, - { - "label":"CoordinateBounds", - "type":"keyword", - "info":"CoordinateBounds[coords] gives a list {{x , x }, {y , y }, …} of the bounds in each dimensio" - }, - { - "label":"CoordinateBoundsArray", - "type":"keyword", - "info":"CoordinateBoundsArray[{{x , x }, {y , y }, …}] generates an array of {x, y, …} coordinates w" - }, - { - "label":"CoordinateChartData", - "type":"keyword", - "info":"CoordinateChartData[chart, property] gives the value of the specified property for chart.CoordinateC" - }, - { - "label":"CoordinatesToolOptions", - "type":"keyword", - "info":"CoordinatesToolOptions is an option for Graphics that gives values of options associated with the Ge" - }, - { - "label":"CoordinateTransform", - "type":"keyword", - "info":"CoordinateTransform[t, pt] performs the coordinate transformation t on the point pt.CoordinateTransf" - }, - { - "label":"CoordinateTransformData", - "type":"keyword", - "info":"CoordinateTransformData[t, property] gives the value of the specified property for the coordinate tr" - }, - { - "label":"CoplanarPoints", - "type":"keyword", - "info":"CoplanarPoints[{p , p , p , p , …, p }] tests whether the points p , p , p , p , …, p are coplanar." - }, - { - "label":"CoprimeQ", - "type":"keyword", - "info":"CoprimeQ[n , n ] yields True if n and n are relatively prime, and yields False otherwise. CoprimeQ" - }, - { - "label":"Coproduct", - "type":"keyword", - "info":"Coproduct[x, y, …] displays as x ∐ y ∐ …." - }, - { - "label":"CopulaDistribution", - "type":"keyword", - "info":"CopulaDistribution[ker, {dist , dist , …}] represents a copula distribution with kernel distribution" - }, - { - "label":"Copyable", - "type":"keyword", - "info":"Copyable is an option for Cell that specifies whether a cell can be copied interactively using the f" - }, - { - "label":"CopyDatabin", - "type":"keyword", - "info":"CopyDatabin[bin] creates a copy of a databin.CopyDatabin[bin, options] creates a copy with the speci" - }, - { - "label":"CopyDirectory", - "type":"keyword", - "info":"CopyDirectory[dir , dir ] copies the directory dir to dir . \n 1 2 " - }, - { - "label":"CopyFile", - "type":"keyword", - "info":"CopyFile[file , file ] copies from the local, remote or cloud file file to the local, remote or clo" - }, - { - "label":"CopyFunction", - "type":"keyword", - "info":"CopyFunction is an option for TemplateBox that specifies how the box is to be copied." - }, - { - "label":"CopyTag", - "type":"keyword", - "info":"System`CopyTag" - }, - { - "label":"CopyToClipboard", - "type":"keyword", - "info":"CopyToClipboard[expr] replaces the contents of the clipboard with expr." - }, - { - "label":"CoreNilpotentDecomposition", - "type":"keyword", - "info":"CoreNilpotentDecomposition[m] yields the core-nilpotent decomposition of a square matrix m." - }, - { - "label":"CornerFilter", - "type":"keyword", - "info":"CornerFilter[image] computes a measure for the presence of a corner for each pixel in image and retu" - }, - { - "label":"CornerNeighbors", - "type":"keyword", - "info":"CornerNeighbors is an option for various array and image processing functions that specifies whether" - }, - { - "label":"Correlation", - "type":"keyword", - "info":" " - }, - { - "label":"CorrelationDistance", - "type":"keyword", - "info":"CorrelationDistance[u, v] gives the correlation coefficient distance between vectors u and v." - }, - { - "label":"CorrelationFunction", - "type":"keyword", - "info":"CorrelationFunction[data, hspec] estimates the correlation function at lags hspec from data.Correlat" - }, - { - "label":"CorrelationTest", - "type":"keyword", - "info":"CorrelationTest[{{x , y }, {x , y }, …}] tests whether the correlation coefficient for a bivariate p" - }, - { - "label":"Cos", - "type":"keyword", - "info":"Cos[z] gives the cosine of z. " - }, - { - "label":"Cosh", - "type":"keyword", - "info":"Cosh[z] gives the hyperbolic cosine of z. " - }, - { - "label":"CoshIntegral", - "type":"keyword", - "info":"CoshIntegral[z] gives the hyperbolic cosine integral Chi(z)." - }, - { - "label":"CosineDistance", - "type":"keyword", - "info":"CosineDistance[u, v] gives the angular cosine distance between vectors u and v." - }, - { - "label":"CosineWindow", - "type":"keyword", - "info":"CosineWindow[x] represents a cosine window function of x.CosineWindow[x, Î\\[PlusMinus]] uses the exponent Î\\[PlusMinus].\n" - }, - { - "label":"CosIntegral", - "type":"keyword", - "info":"CosIntegral[z] gives the cosine integral function Ci(z). " - }, - { - "label":"Cot", - "type":"keyword", - "info":"Cot[z] gives the cotangent of z. " - }, - { - "label":"Coth", - "type":"keyword", - "info":"Coth[z] gives the hyperbolic cotangent of z. " - }, - { - "label":"CoulombF", - "type":"keyword", - "info":"CoulombF[l, Î\\[CenterDot], r] gives the regular Coulomb wavefunction F (Î\\[CenterDot], r).\n " - }, - { - "label":"CoulombG", - "type":"keyword", - "info":"CoulombG[l, Î\\[CenterDot], r] gives the irregular Coulomb wavefunction G (Î\\[CenterDot], r).\n " - }, - { - "label":"CoulombH1", - "type":"keyword", - "info":" (+)\nCoulombH1[l, Î\\[CenterDot], r] gives t" - }, - { - "label":"CoulombH2", - "type":"keyword", - "info":" (-)\nCoulombH2[l, Î\\[CenterDot], r] gives t" - }, - { - "label":"Count", - "type":"keyword", - "info":"Count[list, pattern] gives the number of elements in list that match pattern. Count[expr, pattern, l" - }, - { - "label":"CountDistinct", - "type":"keyword", - "info":"CountDistinct[list] gives the number of distinct elements that appear in list." - }, - { - "label":"CountDistinctBy", - "type":"keyword", - "info":"CountDistinctBy[{e , e , …}, f] gives the number of distinct values of f[e ] that occur.CountDistinc" - }, - { - "label":"CounterAssignments", - "type":"keyword", - "info":"CounterAssignments is an option for selections that sets the value of a specified counter." - }, - { - "label":"CounterBox", - "type":"keyword", - "info":"System`CounterBox" - }, - { - "label":"CounterBoxOptions", - "type":"keyword", - "info":"CounterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for CounterBo" - }, - { - "label":"CounterClockwiseContourIntegral", - "type":"keyword", - "info":"System`CounterClockwiseContourIntegral" - }, - { - "label":"CounterEvaluator", - "type":"keyword", - "info":"System`CounterEvaluator" - }, - { - "label":"CounterFunction", - "type":"keyword", - "info":"CounterFunction is an option for counters that specifies the symbols used to display the value of th" - }, - { - "label":"CounterIncrements", - "type":"keyword", - "info":"CounterIncrements is an option for selections that specifies whether the value of a specified counte" - }, - { - "label":"CounterStyle", - "type":"keyword", - "info":"System`CounterStyle" - }, - { - "label":"CounterStyleMenuListing", - "type":"keyword", - "info":"CounterStyleMenuListing is an option for cells that specifies what counter styles are listed in the " - }, - { - "label":"CountRoots", - "type":"keyword", - "info":"CountRoots[f, x] gives the number of real roots of the univariate function f in x.CountRoots[f, {x, " - }, - { - "label":"CountryData", - "type":"keyword", - "info":"CountryData[\"tag\", property] gives the value of the specified property for the country, country-like" - }, - { - "label":"Counts", - "type":"keyword", - "info":"Counts[list] gives an association whose keys are the distinct elements of list, and whose values giv" - }, - { - "label":"CountsBy", - "type":"keyword", - "info":"CountsBy[{e , e , …}, f] gives an association whose keys are the distinct values of the f[e ], and w" - }, - { - "label":"Covariance", - "type":"keyword", - "info":" " - }, - { - "label":"CovarianceEstimatorFunction", - "type":"keyword", - "info":"CovarianceEstimatorFunction is an option for generalized linear model fitting functions that specifi" - }, - { - "label":"CovarianceFunction", - "type":"keyword", - "info":"CovarianceFunction[data, hspec] estimates the covariance function at lags hspec from data.Covariance" - }, - { - "label":"CoxianDistribution", - "type":"keyword", - "info":"CoxianDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {λ , …, λ }] represent an m-phase Coxian distribution with phase" - }, - { - "label":"CoxIngersollRossProcess", - "type":"keyword", - "info":"CoxIngersollRossProcess[μ, σ, θ, x ] represents a Cox–Ingersoll–Ross process with long‐term mean μ, " - }, - { - "label":"CoxModel", - "type":"keyword", - "info":"CoxModel[…] represents the symbolic proportional hazards model obtained from CoxModelFit." - }, - { - "label":"CoxModelFit", - "type":"keyword", - "info":"CoxModelFit[{e , …, e }] constructs a model of the baseline hazard h (t) for events times e .CoxMode" - }, - { - "label":"CramerVonMisesTest", - "type":"keyword", - "info":"CramerVonMisesTest[data] tests whether data is normally distributed using the Cramér–von Mises test." - }, - { - "label":"CreateArchive", - "type":"keyword", - "info":"CreateArchive[source] creates a compressed archive in the current directory from source.CreateArchiv" - }, - { - "label":"CreateCellID", - "type":"keyword", - "info":"CreateCellID is an option for Notebook that specifies whether to assign a CellID to cells created in" - }, - { - "label":"CreateChannel", - "type":"keyword", - "info":"CreateChannel[] creates a new channel for channel communication, with a generated name.CreateChannel" - }, - { - "label":"CreateCloudExpression", - "type":"keyword", - "info":"CreateCloudExpression[value] creates a new anonymous cloud expression that stores the specified init" - }, - { - "label":"CreateCompilerEnvironment", - "type":"keyword", - "info":"CreateCompilerEnvironment[] creates a compiler environment that can be used in FunctionCompile and r" - }, - { - "label":"CreateDatabin", - "type":"keyword", - "info":"CreateDatabin[] creates a databin in the Wolfram Data Drop and returns the corresponding Databin obj" - }, - { - "label":"CreateDataStructure", - "type":"keyword", - "info":"CreateDataStructure[\"type\", arg , arg , …] creates a data structure with the specified type.\n " - }, - { - "label":"CreateDataSystemModel", - "type":"keyword", - "info":"CreateDataSystemModel[{v , v , …}] creates a SystemModel generating a signal of values v . CreateDat" - }, - { - "label":"CreateDialog", - "type":"keyword", - "info":"CreateDialog[expr] creates a dialog notebook containing expr and opens it in the front end.CreateDia" - }, - { - "label":"CreateDirectory", - "type":"keyword", - "info":"CreateDirectory[\"dir\"] creates a directory with name dir. CreateDirectory[] creates a directory in t" - }, - { - "label":"CreateDocument", - "type":"keyword", - "info":"CreateDocument[] creates an empty document notebook and opens it in the front end.CreateDocument[exp" - }, - { - "label":"CreateFile", - "type":"keyword", - "info":"CreateFile[\"file\"] creates a file with name file. CreateFile[] creates a file in the default area fo" - }, - { - "label":"CreateIntermediateDirectories", - "type":"keyword", - "info":"CreateIntermediateDirectories is an option for CreateDirectory and related functions that specifies " - }, - { - "label":"CreateLicenseEntitlement", - "type":"keyword", - "info":"CreateLicenseEntitlement[settings] creates an on-demand license entitlement using settings.CreateLic" - }, - { - "label":"CreateManagedLibraryExpression", - "type":"keyword", - "info":"CreateManagedLibraryExpression[mname, f] creates a managed library expression by applying f to a pos" - }, - { - "label":"CreateNotebook", - "type":"keyword", - "info":"CreateNotebook[] creates a generic empty notebook and opens it in the front end.CreateNotebook[\"type" - }, - { - "label":"CreatePacletArchive", - "type":"keyword", - "info":"CreatePacletArchive[source] creates a paclet archive file from source.CreatePacletArchive[source, de" - }, - { - "label":"CreatePalette", - "type":"keyword", - "info":"CreatePalette[expr] creates a palette notebook containing expr, and opens it in the front end.Create" - }, - { - "label":"CreatePalettePacket", - "type":"keyword", - "info":"System`CreatePalettePacket" - }, - { - "label":"CreatePermissionsGroup", - "type":"keyword", - "info":"CreatePermissionsGroup[\"name\"] creates a permissions group with the specified name.CreatePermissions" - }, - { - "label":"CreateScheduledTask", - "type":"keyword", - "info":"CreateScheduledTask[expr] creates a local scheduled task that will repeatedly evaluate expr once per" - }, - { - "label":"CreateSearchIndex", - "type":"keyword", - "info":"CreateSearchIndex[dir] creates a search index from all files in the directory dir and its subdirecto" - }, - { - "label":"CreateSystemModel", - "type":"keyword", - "info":"CreateSystemModel[sys] creates a Modelica SystemModel from the systems model sys. CreateSystemModel[" - }, - { - "label":"CreateTemporary", - "type":"keyword", - "info":"CreateTemporary[] creates a temporary file with a unique name in the default temporary directory and" - }, - { - "label":"CreateUUID", - "type":"keyword", - "info":"CreateUUID[] creates a random, universally unique UUID string.CreateUUID[\"base\"] appends a UUID stri" - }, - { - "label":"CreateWindow", - "type":"keyword", - "info":"CreateWindow[] creates an empty window in the front end.CreateWindow[expr] creates a window displayi" - }, - { - "label":"CriterionFunction", - "type":"keyword", - "info":"CriterionFunction is an option in functions such as ClusterClassify that specifies the criterion to " - }, - { - "label":"CriticalityFailureImportance", - "type":"keyword", - "info":"CriticalityFailureImportance[rdist, t] gives the criticality failure importances for all components " - }, - { - "label":"CriticalitySuccessImportance", - "type":"keyword", - "info":"CriticalitySuccessImportance[rdist, t] gives the criticality success importances for all components " - }, - { - "label":"CriticalSection", - "type":"keyword", - "info":"CriticalSection[var, expr] locks the variable var with respect to parallel computation, evaluates ex" - }, - { - "label":"Cross", - "type":"keyword", - "info":"Cross[a, b] gives the vector cross product of a and b. " - }, - { - "label":"CrossEntropyLossLayer", - "type":"keyword", - "info":"CrossEntropyLossLayer[\"Index\"] represents a net layer that computes the cross-entropy loss by compar" - }, - { - "label":"CrossingCount", - "type":"keyword", - "info":"CrossingCount[contour, p] gives a count of the number of times a ray starting from the point p cross" - }, - { - "label":"CrossingDetect", - "type":"keyword", - "info":"CrossingDetect[image] gives a binary image in which white pixels correspond to the zero crossings in" - }, - { - "label":"CrossingPolygon", - "type":"keyword", - "info":"CrossingPolygon[{p , p , …, p }] gives a Polygon representing all points for which a ray from the po" - }, - { - "label":"CrossMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"Csc", - "type":"keyword", - "info":"Csc[z] gives the cosecant of z. " - }, - { - "label":"Csch", - "type":"keyword", - "info":"Csch[z] gives the hyperbolic cosecant of z. " - }, - { - "label":"CSGRegion", - "type":"keyword", - "info":"CSGRegion[\"op\", {reg , reg , …}] represents the solid region corresponding to the Boolean combinatio" - }, - { - "label":"CSGRegionQ", - "type":"keyword", - "info":"CSGRegionQ[reg] yields True if the region reg is a valid CSGRegion object and False otherwise." - }, - { - "label":"CSGRegionTree", - "type":"keyword", - "info":"CSGRegionTree[reg] gives the tree expression representing the CSG region reg." - }, - { - "label":"CTCLossLayer", - "type":"keyword", - "info":"CTCLossLayer[] represents a net layer that computes the connectionist temporal classification loss b" - }, - { - "label":"Cube", - "type":"keyword", - "info":"Cube[] represents a regular cube centered at the origin with unit edge length.Cube[l] represents a c" - }, - { - "label":"CubeRoot", - "type":"keyword", - "info":"CubeRoot[x] gives the real-valued cube root of x." - }, - { - "label":"Cubics", - "type":"keyword", - "info":"Cubics is an option for functions that involve solving algebraic equations, that specifies whether e" - }, - { - "label":"Cuboid", - "type":"keyword", - "info":"Cuboid[p ] represents a unit hypercube with its lower corner at p .Cuboid[p , p ] represents" - }, - { - "label":"CuboidBox", - "type":"keyword", - "info":"System`CuboidBox" - }, - { - "label":"Cumulant", - "type":"keyword", - "info":" th th " - }, - { - "label":"CumulantGeneratingFunction", - "type":"keyword", - "info":"CumulantGeneratingFunction[dist, t] gives the cumulant-generating function for the distribution dist" - }, - { - "label":"Cup", - "type":"keyword", - "info":"Cup[x, y, …] displays as x ⌣ y ⌣ …." - }, - { - "label":"CupCap", - "type":"keyword", - "info":"CupCap[x, y, …] displays as x ≍ y ≍ …." - }, - { - "label":"Curl", - "type":"keyword", - "info":"Curl[{f , f }, {x , x }] gives the curl ∂ f \/∂ x - ∂ f \/∂ x .Curl[{f , f , f }, {x , x , x }] gives" - }, - { - "label":"CurlyDoubleQuote", - "type":"keyword", - "info":"System`CurlyDoubleQuote" - }, - { - "label":"CurlyQuote", - "type":"keyword", - "info":"System`CurlyQuote" - }, - { - "label":"CurrencyConvert", - "type":"keyword", - "info":"CurrencyConvert[quantity, target] attempts to convert the specified currency quantity to the specifi" - }, - { - "label":"CurrentDate", - "type":"keyword", - "info":"CurrentDate[gran] gives the current date of the specified granularity type gran.CurrentDate[date, gr" - }, - { - "label":"CurrentImage", - "type":"keyword", - "info":"CurrentImage[] returns the current image captured from a connected camera.CurrentImage[n] returns n " - }, - { - "label":"CurrentlySpeakingPacket", - "type":"keyword", - "info":"System`CurrentlySpeakingPacket" - }, - { - "label":"CurrentNotebookImage", - "type":"keyword", - "info":"CurrentNotebookImage[nb] returns an image captured from the portion of the notebook nb that appears " - }, - { - "label":"CurrentScreenImage", - "type":"keyword", - "info":"CurrentScreenImage[] returns an image captured from all current display screens on your computer. Cu" - }, - { - "label":"CurrentValue", - "type":"keyword", - "info":"CurrentValue[item] gives the current value of item at a location in the Wolfram System and interface" - }, - { - "label":"Curry", - "type":"keyword", - "info":"Curry[f, n] represents an operator form of the function f of n arguments so that Curry[f, n][x ] …[x" - }, - { - "label":"CurryApplied", - "type":"keyword", - "info":"CurryApplied[f, n] represents an operator form of the function f of n arguments so that CurryApplied" - }, - { - "label":"CurvatureFlowFilter", - "type":"keyword", - "info":"CurvatureFlowFilter[image] applies a mean curvature flow filter to image.CurvatureFlowFilter[image, " - }, - { - "label":"CurveClosed", - "type":"keyword", - "info":"CurveClosed is an option for JoinedCurve that specifies whether individual curve components should b" - }, - { - "label":"Cyan", - "type":"keyword", - "info":"Cyan represents the color cyan in graphics or style specifications. " - }, - { - "label":"CycleGraph", - "type":"keyword", - "info":"CycleGraph[n] gives the cycle graph with n vertices C .\n " - }, - { - "label":"CycleIndexPolynomial", - "type":"keyword", - "info":"CycleIndexPolynomial[perm, {x , …, x }] constructs the cycle index monomial of the permutation perm " - }, - { - "label":"Cycles", - "type":"keyword", - "info":"Cycles[{cyc , cyc , …}] represents a permutation with disjoint cycles cyc .\n 1 2 " - }, - { - "label":"CyclicGroup", - "type":"keyword", - "info":"CyclicGroup[n] represents the cyclic group of degree n." - }, - { - "label":"Cyclotomic", - "type":"keyword", - "info":" th\nCyclotomic[n, x] gives the n cyclotomic polynomial in x. " - }, - { - "label":"Cylinder", - "type":"keyword", - "info":"Cylinder[{{x , y , z }, {x , y , z }}, r] represents a cylinder of radius r around the line from (x " - }, - { - "label":"CylinderBox", - "type":"keyword", - "info":"System`CylinderBox" - }, - { - "label":"CylindricalDecomposition", - "type":"keyword", - "info":"CylindricalDecomposition[expr, {x , x , …}] finds a decomposition of the region represented by the s" - }, - { - "label":"CylindricalDecompositionFunction", - "type":"keyword", - "info":"CylindricalDecompositionFunction[data][x , x , …] represents a cylindrical algebraic formula in x , " - }, - { - "label":"CEC", - "type":"keyword", - "info":"System`CEC" - }, - { - "label":"D", - "type":"keyword", - "info":" n n " - }, - { - "label":"DagumDistribution", - "type":"keyword", - "info":"DagumDistribution[p, a, b] represents a Dagum distribution with shape parameters p and a and scale p" - }, - { - "label":"DamData", - "type":"keyword", - "info":"DamData[entity, property] gives the value of the specified property for the dam entity.DamData[{enti" - }, - { - "label":"DamerauLevenshteinDistance", - "type":"keyword", - "info":"DamerauLevenshteinDistance[u, v] gives the Damerau–Levenshtein distance between strings or vectors u" - }, - { - "label":"DampingFactor", - "type":"keyword", - "info":"DampingFactor is an option for FindRoot, which can be used to control convergence behavior. DampingF" - }, - { - "label":"Darker", - "type":"keyword", - "info":"Darker[color] represents a darker version of the specified color. Darker[color, f] represents a vers" - }, - { - "label":"Dashed", - "type":"keyword", - "info":"Dashed is a graphics directive specifying that lines that follow should be drawn dashed." - }, - { - "label":"Dashing", - "type":"keyword", - "info":"Dashing[{r , r , …}] is a two-dimensional graphics directive specifying that lines that follow are t" - }, - { - "label":"DatabaseConnect", - "type":"keyword", - "info":"DatabaseConnect[db] activates a connection to the database db." - }, - { - "label":"DatabaseDisconnect", - "type":"keyword", - "info":"DatabaseDisconnect[db] deactivates a connection to the database db. " - }, - { - "label":"DatabaseReference", - "type":"keyword", - "info":"DatabaseReference[File[\"filename\"]] represents a reference to a local file-based SQL database.Databa" - }, - { - "label":"Databin", - "type":"keyword", - "info":"Databin[\"id\"] represents a databin in the Wolfram Data Drop.Databin[\"id\", n] represents the first n " - }, - { - "label":"DatabinAdd", - "type":"keyword", - "info":"DatabinAdd[bin, data] adds the specified data to a databin." - }, - { - "label":"DatabinRemove", - "type":"keyword", - "info":" th\nDatabinRemove[bin, i] removes the i entry from a databin.Da" - }, - { - "label":"Databins", - "type":"keyword", - "info":"Databins[] gives a list of databins associated with the currently connected user." - }, - { - "label":"DatabinSubmit", - "type":"keyword", - "info":"DatabinSubmit[bin, data] submits the specified data to be added to the databin bin asynchronously." - }, - { - "label":"DatabinUpload", - "type":"keyword", - "info":"DatabinUpload[bin, {entry , entry , …}] bulk uploads all the entries entry to a databin.DatabinUplo" - }, - { - "label":"DataCompression", - "type":"keyword", - "info":"System`DataCompression" - }, - { - "label":"DataDistribution", - "type":"keyword", - "info":"DataDistribution[ddist, …] represents a probability distribution of type ddist, estimated from a set" - }, - { - "label":"DataRange", - "type":"keyword", - "info":"DataRange is an option for functions such as ListPlot and ListDensityPlot that specifies what range " - }, - { - "label":"DataReversed", - "type":"keyword", - "info":"DataReversed is an option for ArrayPlot and related functions that specifies whether data should be " - }, - { - "label":"Dataset", - "type":"keyword", - "info":"Dataset[data] represents a structured dataset based on a hierarchy of lists and associations." - }, - { - "label":"DatasetDisplayPanel", - "type":"keyword", - "info":"System`DatasetDisplayPanel" - }, - { - "label":"DatasetTheme", - "type":"keyword", - "info":"DatasetTheme is an option for Dataset that specifies an overall theme for a dataset and its elements" - }, - { - "label":"DataStructure", - "type":"keyword", - "info":"DataStructure[\"type\", data] represents a data structure." - }, - { - "label":"DataStructureQ", - "type":"keyword", - "info":"DataStructureQ[ds] yields True if ds is a valid data structure and False otherwise.DataStructureQ[ds" - }, - { - "label":"Date", - "type":"keyword", - "info":"Date[] gives the current local date and time in the form {year, month, day, hour, minute, second}. " - }, - { - "label":"DateBounds", - "type":"keyword", - "info":"DateBounds[{date , date , …}] gives the earliest and latest of the date .DateBounds[tseries] gives t" - }, - { - "label":"Dated", - "type":"keyword", - "info":"Dated[obj, year] represents the object obj associated with a particular year.Dated[obj, date] repres" - }, - { - "label":"DateDelimiters", - "type":"keyword", - "info":"System`DateDelimiters" - }, - { - "label":"DateDifference", - "type":"keyword", - "info":"DateDifference[date , date ] gives the number of days from date to date .DateDifference[date , date" - }, - { - "label":"DatedUnit", - "type":"keyword", - "info":"DatedUnit[unit, date] represents the specified unit at a specific date." - }, - { - "label":"DateFormat", - "type":"keyword", - "info":"DateFormat is an option that determines the date formatting of dates." - }, - { - "label":"DateFunction", - "type":"keyword", - "info":"DateFunction is an option for DateListPlot and TemporalData that specifies how dates given as input " - }, - { - "label":"DateHistogram", - "type":"keyword", - "info":"DateHistogram[{date , date , …}] plots a histogram of the dates date .DateHistogram[{date , date , …" - }, - { - "label":"DateInterval", - "type":"keyword", - "info":"DateInterval[{start, end}] represents the continuous interval of time between start and end.DateInte" - }, - { - "label":"DateList", - "type":"keyword", - "info":"DateList[] gives the current local date and time in the form {year, month, day, hour, minute, second" - }, - { - "label":"DateListLogPlot", - "type":"keyword", - "info":"DateListLogPlot[{{date , v }, {date , v }, …}] makes a log plot with values v at a sequence of date" - }, - { - "label":"DateListPlot", - "type":"keyword", - "info":"DateListPlot[{{date , v }, {date , v }, …, {date , v }}] plots points with values v at a sequence o" - }, - { - "label":"DateListStepPlot", - "type":"keyword", - "info":"DateListStepPlot[{{date , v }, {date , v }, …}] plots the values v in steps at a sequence of dates." - }, - { - "label":"DateObject", - "type":"keyword", - "info":"DateObject[] gives the current local date.DateObject[date] gives a date object corresponding to the " - }, - { - "label":"DateObjectQ", - "type":"keyword", - "info":"DateObjectQ[expr] gives True if expr is a DateObject with valid arguments, and False otherwise." - }, - { - "label":"DateOverlapsQ", - "type":"keyword", - "info":"DateOverlapsQ[date , date ] returns True if the calendar dates date and date overlap, and False ot" - }, - { - "label":"DatePattern", - "type":"keyword", - "info":"DatePattern[{\"e \", \"e \", …}] represents the characters of a date with elements of type \"e \" in Strin" - }, - { - "label":"DatePlus", - "type":"keyword", - "info":"DatePlus[date, n] gives the date n days after date.DatePlus[date, {n, step}] gives the date n calend" - }, - { - "label":"DateRange", - "type":"keyword", - "info":"DateRange[date , date ] gives all dates in the range from date to date .DateRange[date , date , inc" - }, - { - "label":"DateReduction", - "type":"keyword", - "info":"DateReduction is an option for DateHistogram that specifies the length for cyclic periods of time." - }, - { - "label":"DateScale", - "type":"keyword", - "info":"DateScale[] represents the canonical mapping of continuous dates and times to a quantitative scale." - }, - { - "label":"DateSelect", - "type":"keyword", - "info":"DateSelect[list, crit] picks out all dates date of a list for which crit[date ] is True.DateSelect[" - }, - { - "label":"DateString", - "type":"keyword", - "info":"DateString[] gives a string representing the complete current local date and time. DateString[date] " - }, - { - "label":"DateTicksFormat", - "type":"keyword", - "info":"DateTicksFormat is an option for DateListPlot which specifies how date tick labels should be formatt" - }, - { - "label":"DateValue", - "type":"keyword", - "info":"DateValue[\"elem\"] gives the specified element of the current date and time.DateValue[{elem , elem , " - }, - { - "label":"DateWithinQ", - "type":"keyword", - "info":"DateWithinQ[date , date ] returns True if the calendar date date is entirely contained within date " - }, - { - "label":"DaubechiesWavelet", - "type":"keyword", - "info":"DaubechiesWavelet[] represents a Daubechies wavelet of order 2. DaubechiesWavelet[n] represents a Da" - }, - { - "label":"DavisDistribution", - "type":"keyword", - "info":"DavisDistribution[b, n, μ] represents a Davis distribution with scale parameter b, shape parameter n" - }, - { - "label":"DawsonF", - "type":"keyword", - "info":"DawsonF[z] gives the Dawson integral F(z)." - }, - { - "label":"DayCount", - "type":"keyword", - "info":"DayCount[date , date ] gives the number of days from date to date .DayCount[date , date , daytype] " - }, - { - "label":"DayCountConvention", - "type":"keyword", - "info":"DayCountConvention is an option that specifies the day count convention used by DateDifference." - }, - { - "label":"DayHemisphere", - "type":"keyword", - "info":"DayHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth tha" - }, - { - "label":"DaylightQ", - "type":"keyword", - "info":"DaylightQ[] gives True if it is currently daylight from the user's location.DaylightQ[datespec] give" - }, - { - "label":"DayMatchQ", - "type":"keyword", - "info":"DayMatchQ[date, daytype] returns True if the date matches the daytype specification and returns Fals" - }, - { - "label":"DayName", - "type":"keyword", - "info":"DayName[] gives the current day of the week.DayName[date] gives the day of the week for the given da" - }, - { - "label":"DayNightTerminator", - "type":"keyword", - "info":"DayNightTerminator[] is a one-dimensional GeoGraphics primitive that represents the separation line " - }, - { - "label":"DayPlus", - "type":"keyword", - "info":"DayPlus[date, n] gives the date n days away from date.DayPlus[date, n, daytype] gives the date that " - }, - { - "label":"DayRange", - "type":"keyword", - "info":"DayRange[date , date ] gives the dates in the range from date to date .DayRange[date , date , dayty" - }, - { - "label":"DayRound", - "type":"keyword", - "info":"DayRound[date, daytype] rounds date to the nearest day of daytype, using the next-day rounding conve" - }, - { - "label":"DeBruijnGraph", - "type":"keyword", - "info":"DeBruijnGraph[m, n] gives the n-dimensional De Bruijn graph with m symbols.DeBruijnGraph[m, n, type]" - }, - { - "label":"DeBruijnSequence", - "type":"keyword", - "info":"DeBruijnSequence[list, n] gives a de Bruijn sequence on the elements in list taken n at a time.DeBru" - }, - { - "label":"Debug", - "type":"keyword", - "info":"System`Debug" - }, - { - "label":"DebugTag", - "type":"keyword", - "info":"System`DebugTag" - }, - { - "label":"Decapitalize", - "type":"keyword", - "info":"Decapitalize[string] yields a string in which the first character has been made lowercase." - }, - { - "label":"Decimal", - "type":"keyword", - "info":"Decimal is a setting for the ColumnAlignments option of GridBox which states that numbers should ali" - }, - { - "label":"DecimalForm", - "type":"keyword", - "info":"DecimalForm[expr] prints with approximate real numbers in expr always given in decimal form, without" - }, - { - "label":"DeclareKnownSymbols", - "type":"keyword", - "info":"System`DeclareKnownSymbols" - }, - { - "label":"DeclarePackage", - "type":"keyword", - "info":"DeclarePackage[\"context`\", {\"name \", \"name \", …}] declares that Needs[\"context`\"] should automatical" - }, - { - "label":"Decompose", - "type":"keyword", - "info":"Decompose[poly, x] decomposes a polynomial, if possible, into a composition of simpler polynomials. " - }, - { - "label":"DeconvolutionLayer", - "type":"keyword", - "info":"DeconvolutionLayer[n, sz] represents a trainable deconvolutional net layer having n output channels " - }, - { - "label":"Decrement", - "type":"keyword", - "info":"x -- decreases the value of x by 1, returning the old value of x. " - }, - { - "label":"Decrypt", - "type":"keyword", - "info":"Decrypt[\"password\", enc] attempts to decrypt the encrypted object enc using the specified password.D" - }, - { - "label":"DecryptFile", - "type":"keyword", - "info":"DecryptFile[\"password\", file] generates a decrypted version of a file, using the specified password." - }, - { - "label":"DedekindEta", - "type":"keyword", - "info":"DedekindEta[τ] gives the Dedekind eta modular elliptic function Î\\[CenterDot](τ)." - }, - { - "label":"DeepSpaceProbeData", - "type":"keyword", - "info":"DeepSpaceProbeData[entity, property] gives the value of the specified property for the deep space pr" - }, - { - "label":"Default", - "type":"keyword", - "info":" " - }, - { - "label":"Default2DTool", - "type":"keyword", - "info":"System`Default2DTool" - }, - { - "label":"Default3DTool", - "type":"keyword", - "info":"System`Default3DTool" - }, - { - "label":"DefaultAttachedCellStyle", - "type":"keyword", - "info":"System`DefaultAttachedCellStyle" - }, - { - "label":"DefaultAxesStyle", - "type":"keyword", - "info":"DefaultAxesStyle is a low-level option for graphics functions that specifies the default style to us" - }, - { - "label":"DefaultBaseStyle", - "type":"keyword", - "info":"DefaultBaseStyle is a low-level option for formatting and related constructs that specifies a defaul" - }, - { - "label":"DefaultBoxStyle", - "type":"keyword", - "info":"DefaultBoxStyle is a low-level option for three-dimensional graphics functions that specifies the de" - }, - { - "label":"DefaultButton", - "type":"keyword", - "info":"DefaultButton[] represents an OK button that closes a dialog, and is the default when StyleBox[Dynam" - }, - { - "label":"DefaultColor", - "type":"keyword", - "info":"DefaultColor is an option for graphics functions that specifies the default color to use for lines, " - }, - { - "label":"DefaultControlPlacement", - "type":"keyword", - "info":"System`DefaultControlPlacement" - }, - { - "label":"DefaultDockedCellStyle", - "type":"keyword", - "info":"System`DefaultDockedCellStyle" - }, - { - "label":"DefaultDuplicateCellStyle", - "type":"keyword", - "info":"DefaultDuplicateCellStyle is a notebook option that specifies the default style to use for cells cre" - }, - { - "label":"DefaultDuration", - "type":"keyword", - "info":"DefaultDuration is an option to Animate and related functions that specifies the default total durat" - }, - { - "label":"DefaultElement", - "type":"keyword", - "info":"DefaultElement is an option for Grid and related constructs which specifies what to insert when a ne" - }, - { - "label":"DefaultFaceGridsStyle", - "type":"keyword", - "info":"DefaultFaceGridsStyle is a low-level option for 3D graphics functions that specifies the default sty" - }, - { - "label":"DefaultFieldHintStyle", - "type":"keyword", - "info":"DefaultFieldHintStyle is a low-level option for InputField that specifies the default style to use f" - }, - { - "label":"DefaultFont", - "type":"keyword", - "info":"System`DefaultFont" - }, - { - "label":"DefaultFontProperties", - "type":"keyword", - "info":"DefaultFontProperties is a global option that specifies various properties of a font family, such as" - }, - { - "label":"DefaultFormatType", - "type":"keyword", - "info":"DefaultFormatType is an option for cells that specifies the format used for displaying expressions i" - }, - { - "label":"DefaultFormatTypeForStyle", - "type":"keyword", - "info":"System`DefaultFormatTypeForStyle" - }, - { - "label":"DefaultFrameStyle", - "type":"keyword", - "info":"DefaultFrameStyle is a low-level option for graphics and related constructs that specifies the defau" - }, - { - "label":"DefaultFrameTicksStyle", - "type":"keyword", - "info":"DefaultFrameTicksStyle is a low-level option for 2D graphics functions that specifies the default st" - }, - { - "label":"DefaultGridLinesStyle", - "type":"keyword", - "info":"DefaultGridLinesStyle is a low-level option for 2D graphics functions that specifies the default sty" - }, - { - "label":"DefaultInlineFormatType", - "type":"keyword", - "info":"DefaultInlineFormatType is an option for cells that specifies the format used for displaying express" - }, - { - "label":"DefaultInputFormatType", - "type":"keyword", - "info":"System`DefaultInputFormatType" - }, - { - "label":"DefaultLabelStyle", - "type":"keyword", - "info":"DefaultLabelStyle is a low-level option for formatting and related constructs that specifies the def" - }, - { - "label":"DefaultMenuStyle", - "type":"keyword", - "info":"DefaultMenuStyle is a low-level option for menu-generating constructs that specifies the default sty" - }, - { - "label":"DefaultNaturalLanguage", - "type":"keyword", - "info":"DefaultNaturalLanguage is an option for character selections that specifies the language used when c" - }, - { - "label":"DefaultNewCellStyle", - "type":"keyword", - "info":"DefaultNewCellStyle is a notebook option which specifies the default style to use for new cells crea" - }, - { - "label":"DefaultNewInlineCellStyle", - "type":"keyword", - "info":"DefaultNewInlineCellStyle is an option for cells that specifies the default style to use for new inl" - }, - { - "label":"DefaultNotebook", - "type":"keyword", - "info":"DefaultNotebook is a global option that specifies which notebook is used as a template for all new n" - }, - { - "label":"DefaultOptions", - "type":"keyword", - "info":"DefaultOptions is a style option that allows default options to be specified for particular formatti" - }, - { - "label":"DefaultOutputFormatType", - "type":"keyword", - "info":"System`DefaultOutputFormatType" - }, - { - "label":"DefaultPrintPrecision", - "type":"keyword", - "info":"DefaultPrintPrecision is an option for NumberForm, DecimalForm and related functions that specifies " - }, - { - "label":"DefaultStyle", - "type":"keyword", - "info":"System`DefaultStyle" - }, - { - "label":"DefaultStyleDefinitions", - "type":"keyword", - "info":"DefaultStyleDefinitions is a global option that specifies the default stylesheet for all new noteboo" - }, - { - "label":"DefaultTextFormatType", - "type":"keyword", - "info":"System`DefaultTextFormatType" - }, - { - "label":"DefaultTextInlineFormatType", - "type":"keyword", - "info":"System`DefaultTextInlineFormatType" - }, - { - "label":"DefaultTicksStyle", - "type":"keyword", - "info":"DefaultTicksStyle is a low-level option for graphics functions that specifies the default style to u" - }, - { - "label":"DefaultTooltipStyle", - "type":"keyword", - "info":"DefaultTooltipStyle is a low-level option for tooltips that specifies the default style to use in di" - }, - { - "label":"DefaultValue", - "type":"keyword", - "info":"System`DefaultValue" - }, - { - "label":"DefaultValues", - "type":"keyword", - "info":"DefaultValues[f] gives a list of transformation rules corresponding to all default argument values (" - }, - { - "label":"Defer", - "type":"keyword", - "info":"Defer[expr] yields an object that displays as the unevaluated form of expr, but that is evaluated if" - }, - { - "label":"DefineExternal", - "type":"keyword", - "info":"System`DefineExternal" - }, - { - "label":"DefineInputStreamMethod", - "type":"keyword", - "info":"DefineInputStreamMethod[\"name\", {fname  function , fname  function , … }] defines a custom input" - }, - { - "label":"DefineOutputStreamMethod", - "type":"keyword", - "info":"DefineOutputStreamMethod[\"name\", {fname  function , fname  function , … }] defines a custom outp" - }, - { - "label":"DefineResourceFunction", - "type":"keyword", - "info":"DefineResourceFunction[f] defines a resource function that can be applied to arguments to give the s" - }, - { - "label":"Definition", - "type":"keyword", - "info":"Definition[symbol] prints as the definitions given for a symbol.Definition[\"symbol\"] prints as the d" - }, - { - "label":"Degree", - "type":"keyword", - "info":" π\nDegree gives the nu" - }, - { - "label":"DegreeCentrality", - "type":"keyword", - "info":"DegreeCentrality[g] gives a list of vertex degrees for the vertices in the underlying simple graph o" - }, - { - "label":"DegreeGraphDistribution", - "type":"keyword", - "info":"DegreeGraphDistribution[dlist] represents a degree graph distribution with vertex degree dlist." - }, - { - "label":"DegreeLexicographic", - "type":"keyword", - "info":"System`DegreeLexicographic" - }, - { - "label":"DegreeReverseLexicographic", - "type":"keyword", - "info":"System`DegreeReverseLexicographic" - }, - { - "label":"DEigensystem", - "type":"keyword", - "info":"DEigensystem[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues and eige" - }, - { - "label":"DEigenvalues", - "type":"keyword", - "info":"DEigenvalues[ℒ[u[x, y, …], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues for the l" - }, - { - "label":"Deinitialization", - "type":"keyword", - "info":"Deinitialization is an option for Dynamic, DynamicModule, Manipulate, and related constructs that sp" - }, - { - "label":"Del", - "type":"keyword", - "info":"Del[x] displays as ∇ x." - }, - { - "label":"DelaunayMesh", - "type":"keyword", - "info":"DelaunayMesh[{p , p , …}] gives a MeshRegion representing the Delaunay mesh from the points p , p , " - }, - { - "label":"Delayed", - "type":"keyword", - "info":"Delayed[expr] represents an expression whose evaluation is delayed until its value is externally req" - }, - { - "label":"Deletable", - "type":"keyword", - "info":"Deletable is an option for Cell that specifies whether the cell can be deleted interactively using t" - }, - { - "label":"Delete", - "type":"keyword", - "info":"Delete[expr, n] deletes the element at position n in expr. If n is negative, the position is counted" - }, - { - "label":"DeleteAnomalies", - "type":"keyword", - "info":"DeleteAnomalies[{example , example , …}] gives a list in which example that are considered anomalou" - }, - { - "label":"DeleteBorderComponents", - "type":"keyword", - "info":"DeleteBorderComponents[image] replaces connected components adjacent to the border in a binary image" - }, - { - "label":"DeleteCases", - "type":"keyword", - "info":"DeleteCases[expr, pattern] removes all elements of expr that match pattern. DeleteCases[expr, patter" - }, - { - "label":"DeleteChannel", - "type":"keyword", - "info":"DeleteChannel[channel] deletes the specified channel from the channel broker server.DeleteChannel[{c" - }, - { - "label":"DeleteCloudExpression", - "type":"keyword", - "info":"DeleteCloudExpression[\"name\"] deletes the cloud expression identified by \"name\".DeleteCloudExpressio" - }, - { - "label":"DeleteContents", - "type":"keyword", - "info":"DeleteContents is an option for DeleteDirectory that specifies whether the contents of directories s" - }, - { - "label":"DeleteDirectory", - "type":"keyword", - "info":"DeleteDirectory[\"dir\"] deletes the specified directory. " - }, - { - "label":"DeleteDuplicates", - "type":"keyword", - "info":"DeleteDuplicates[list] deletes all duplicates from list.DeleteDuplicates[list, test] applies test to" - }, - { - "label":"DeleteDuplicatesBy", - "type":"keyword", - "info":"DeleteDuplicatesBy[{e , e , …}, f] deletes those e that yield duplicates in the list {f[e ], f[e ]," - }, - { - "label":"DeleteFile", - "type":"keyword", - "info":"DeleteFile[\"file\"] deletes a file. DeleteFile[{\"file \", \"file \", …}] deletes a list of files. \n " - }, - { - "label":"DeleteMissing", - "type":"keyword", - "info":"DeleteMissing[list] drops elements with head Missing from a list.DeleteMissing[assoc] drops elements" - }, - { - "label":"DeleteObject", - "type":"keyword", - "info":"DeleteObject[obj] deletes the object obj.DeleteObject[{obj , obj , …}] deletes all the obj .\n " - }, - { - "label":"DeletePermissionsKey", - "type":"keyword", - "info":"DeletePermissionsKey[key] deletes a permissions key, rendering it invalid.DeletePermissionsKey[{key " - }, - { - "label":"DeleteSearchIndex", - "type":"keyword", - "info":"DeleteSearchIndex[obj] deletes the search index represented by the search index object obj.DeleteSea" - }, - { - "label":"DeleteSmallComponents", - "type":"keyword", - "info":"DeleteSmallComponents[image] replaces small connected components in a binary image image with backgr" - }, - { - "label":"DeleteStopwords", - "type":"keyword", - "info":"DeleteStopwords[list] deletes stopwords from a list of words.DeleteStopwords[\"string\"] deletes stopw" - }, - { - "label":"DeleteWithContents", - "type":"keyword", - "info":"System`DeleteWithContents" - }, - { - "label":"DeletionWarning", - "type":"keyword", - "info":"DeletionWarning is an option for InterpretationBox or TagBox objects that specifies whether a warnin" - }, - { - "label":"DelimitedArray", - "type":"keyword", - "info":"System`DelimitedArray" - }, - { - "label":"DelimitedSequence", - "type":"keyword", - "info":"DelimitedSequence[form] represents a delimited sequence of elements of the specified form in Interpr" - }, - { - "label":"Delimiter", - "type":"keyword", - "info":"Delimiter represents a delimiter to be displayed in objects such as PopupMenu, Manipulate, and FormO" - }, - { - "label":"DelimiterAutoMatching", - "type":"keyword", - "info":"DelimiterAutoMatching is an option for cells and notebooks that specifies whether matching delimiter" - }, - { - "label":"DelimiterFlashTime", - "type":"keyword", - "info":"DelimiterFlashTime is an option for cells and notebooks that specifies how long in seconds a delimit" - }, - { - "label":"DelimiterMatching", - "type":"keyword", - "info":"DelimiterMatching is an option for selections that specifies whether an opening delimiter will match" - }, - { - "label":"Delimiters", - "type":"keyword", - "info":"Delimiters is an option to various functions that specifies what delimiters to use or look for." - }, - { - "label":"DeliveryFunction", - "type":"keyword", - "info":"DeliveryFunction is an option that specifies how material such as documents generated by DocumentGen" - }, - { - "label":"Dendrogram", - "type":"keyword", - "info":"Dendrogram[{e , e , …}] constructs a dendrogram from the hierarchical clustering of the elements e ," - }, - { - "label":"Denominator", - "type":"keyword", - "info":"Denominator[expr] gives the denominator of expr. " - }, - { - "label":"DensityGraphics", - "type":"keyword", - "info":"DensityGraphics[array] is a representation of a density plot. " - }, - { - "label":"DensityHistogram", - "type":"keyword", - "info":"DensityHistogram[{{x , y }, {x , y }, …}] plots a density histogram of the values {x , y }.DensityHi" - }, - { - "label":"DensityPlot", - "type":"keyword", - "info":"DensityPlot[f, {x, x , x }, {y, y , y }] makes a density plot of f as a function of x and y." - }, - { - "label":"DensityPlot3D", - "type":"keyword", - "info":"DensityPlot3D[f, {x, x , x }, {y, y , y }, {z, z , z }] makes a density plot of f as a f" - }, - { - "label":"DependentVariables", - "type":"keyword", - "info":"DependentVariables is an option for NDSolve and other functions that specifies the list of all objec" - }, - { - "label":"Deploy", - "type":"keyword", - "info":"Deploy[expr] yields a deployed version of expr in which elements such as Slider, InputField, Locator" - }, - { - "label":"Deployed", - "type":"keyword", - "info":"Deployed is an option for displayed objects, cells, and notebooks that specifies whether their conte" - }, - { - "label":"Depth", - "type":"keyword", - "info":"Depth[expr] gives the maximum number of indices needed to specify any part of expr, plus 1. " - }, - { - "label":"DepthFirstScan", - "type":"keyword", - "info":"DepthFirstScan[g, s, {event  f , event  f , …}] performs a depth-first scan of the graph g start" - }, - { - "label":"Derivative", - "type":"keyword", - "info":"f ' represents the derivative of a function f of one argument. Derivative[n , n , …][f] is the gener" - }, - { - "label":"DerivativeFilter", - "type":"keyword", - "info":" th\nDerivativeFilter[data, {n , n , …}] computes " - }, - { - "label":"DerivativePDETerm", - "type":"keyword", - "info":"DerivativePDETerm[vars, Î\.b3] represents a load derivative term ∇ Â\\[CenterDot] (Î\.b3) with load derivative" - }, - { - "label":"DerivedKey", - "type":"keyword", - "info":"DerivedKey[assoc] represents a derived key generated by GenerateDerivedKey." - }, - { - "label":"DescriptorStateSpace", - "type":"keyword", - "info":"DescriptorStateSpace is an option to StateSpaceModel and StateSpaceTransform that specifies whether " - }, - { - "label":"DesignMatrix", - "type":"keyword", - "info":"DesignMatrix[{{x , x , …, y }, {x , x , …, y }, …}, {f , f , …}, {x , x , …}] constructs the des" - }, - { - "label":"DestroyAfterEvaluation", - "type":"keyword", - "info":"System`DestroyAfterEvaluation" - }, - { - "label":"Det", - "type":"keyword", - "info":"Det[m] gives the determinant of the square matrix m. " - }, - { - "label":"DeviceClose", - "type":"keyword", - "info":"DeviceClose[device] closes the connection to a device and frees related resources." - }, - { - "label":"DeviceConfigure", - "type":"keyword", - "info":"DeviceConfigure[device, config] configures the specified device according to config." - }, - { - "label":"DeviceExecute", - "type":"keyword", - "info":"DeviceExecute[device, \"command\"] executes the specified command on a device.DeviceExecute[device, \"c" - }, - { - "label":"DeviceExecuteAsynchronous", - "type":"keyword", - "info":"DeviceExecuteAsynchronous[device, \"command\", fun] initiates asynchronous execution of the specified " - }, - { - "label":"DeviceObject", - "type":"keyword", - "info":"DeviceObject[…] represents a device that can be accessed in a Wolfram Language session." - }, - { - "label":"DeviceOpen", - "type":"keyword", - "info":"DeviceOpen[\"devclass\"] opens a connection to the first available device in the class specified by \"d" - }, - { - "label":"DeviceOpenQ", - "type":"keyword", - "info":"System`DeviceOpenQ" - }, - { - "label":"DeviceRead", - "type":"keyword", - "info":"DeviceRead[devobj] reads a single default item from the open device corresponding to the specified D" - }, - { - "label":"DeviceReadBuffer", - "type":"keyword", - "info":"DeviceReadBuffer[device] reads the complete contents of the buffer on a device.DeviceReadBuffer[devi" - }, - { - "label":"DeviceReadLatest", - "type":"keyword", - "info":"DeviceReadLatest[device] returns the most recently collected default item from a device.DeviceReadLa" - }, - { - "label":"DeviceReadList", - "type":"keyword", - "info":"DeviceReadList[device, n] reads from the specified device n times, returning a list of the results.D" - }, - { - "label":"DeviceReadTimeSeries", - "type":"keyword", - "info":"DeviceReadTimeSeries[device, {t, dt}] repeatedly reads default items from the specified device at in" - }, - { - "label":"Devices", - "type":"keyword", - "info":"Devices[] gives a list of registered devices on a particular system.Devices[form] gives a list of de" - }, - { - "label":"DeviceStreams", - "type":"keyword", - "info":"DeviceStreams[device] gives a list of all open streams associated with a device.DeviceStreams[device" - }, - { - "label":"DeviceWrite", - "type":"keyword", - "info":"DeviceWrite[device, val] writes the value val to the specified device.DeviceWrite[device, {val , val" - }, - { - "label":"DeviceWriteBuffer", - "type":"keyword", - "info":"DeviceWriteBuffer[device, vals] fills the buffer on a device with the values vals.DeviceWriteBuffer[" - }, - { - "label":"DGaussianWavelet", - "type":"keyword", - "info":"DGaussianWavelet[] represents a derivative of Gaussian wavelet of derivative order 2.DGaussianWavele" - }, - { - "label":"DiacriticalPositioning", - "type":"keyword", - "info":"DiacriticalPositioning is an option for UnderscriptBox and related boxes that specifies how close di" - }, - { - "label":"Diagonal", - "type":"keyword", - "info":" " - }, - { - "label":"DiagonalizableMatrixQ", - "type":"keyword", - "info":"DiagonalizableMatrixQ[m] gives True if m is diagonalizable, and False otherwise. " - }, - { - "label":"DiagonalMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"DiagonalMatrixQ", - "type":"keyword", - "info":" " - }, - { - "label":"Dialog", - "type":"keyword", - "info":"Dialog[] initiates a dialog. Dialog[expr] initiates a dialog with expr as the current value of %. \n" - }, - { - "label":"DialogIndent", - "type":"keyword", - "info":"System`DialogIndent" - }, - { - "label":"DialogInput", - "type":"keyword", - "info":"DialogInput[expr] interactively puts up expr as a dialog notebook, waits until a DialogReturn[e] is " - }, - { - "label":"DialogLevel", - "type":"keyword", - "info":"System`DialogLevel" - }, - { - "label":"DialogNotebook", - "type":"keyword", - "info":"DialogNotebook[{cell , cell , …}] represents a dialog notebook that can be manipulated by the Wolfra" - }, - { - "label":"DialogProlog", - "type":"keyword", - "info":"DialogProlog is an option for Dialog that can give an expression to evaluate before the dialog start" - }, - { - "label":"DialogReturn", - "type":"keyword", - "info":"DialogReturn[expr] closes a dialog window, returning the expression expr from the dialog.DialogRetur" - }, - { - "label":"DialogSymbols", - "type":"keyword", - "info":"DialogSymbols is an option for Dialog that gives a list of symbols whose values should be localized " - }, - { - "label":"Diamond", - "type":"keyword", - "info":"Diamond[x, y, …] displays as x ⋄ y ⋄ …." - }, - { - "label":"DiamondMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"DiceDissimilarity", - "type":"keyword", - "info":"DiceDissimilarity[x, y] gives the Dice dissimilarity between Boolean vectors x and y." - }, - { - "label":"DictionaryLookup", - "type":"keyword", - "info":"DictionaryLookup[patt] finds all words in an English dictionary that match the string pattern patt.D" - }, - { - "label":"DictionaryWordQ", - "type":"keyword", - "info":"DictionaryWordQ[\"word\"] tests whether \"word\" is a recognized dictionary word." - }, - { - "label":"DifferenceDelta", - "type":"keyword", - "info":" " - }, - { - "label":"DifferenceOrder", - "type":"keyword", - "info":"System`DifferenceOrder" - }, - { - "label":"DifferenceQuotient", - "type":"keyword", - "info":"DifferenceQuotient[f, {x, h}] gives the difference quotient (f(x + h) - f(x))\/h.DifferenceQuotient[" - }, - { - "label":"DifferenceRoot", - "type":"keyword", - "info":"DifferenceRoot[lde][k] gives the holonomic sequence h(k), specified by the linear difference equatio" - }, - { - "label":"DifferenceRootReduce", - "type":"keyword", - "info":"DifferenceRootReduce[expr, n] attempts to reduce expr to a single DifferenceRoot object as a functio" - }, - { - "label":"Differences", - "type":"keyword", - "info":" " - }, - { - "label":"DifferentialD", - "type":"keyword", - "info":"DifferentialD[x] displays as  x." - }, - { - "label":"DifferentialRoot", - "type":"keyword", - "info":"DifferentialRoot[lde][x] gives the holonomic function h(x), specified by the linear differential equ" - }, - { - "label":"DifferentialRootReduce", - "type":"keyword", - "info":"DifferentialRootReduce[expr, x] attempts to reduce expr to a single DifferentialRoot object as a fun" - }, - { - "label":"DifferentiatorFilter", - "type":"keyword", - "info":"DifferentiatorFilter[data, ω ] applies a differentiator filter with a cutoff frequency ω to an arra" - }, - { - "label":"DiffusionPDETerm", - "type":"keyword", - "info":"DiffusionPDETerm[vars] represents a diffusion term ∇ Â\\[CenterDot] (-∇ u) with model varia" - }, - { - "label":"DiggleGatesPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"DiggleGrattonPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"DigitalSignature", - "type":"keyword", - "info":"DigitalSignature[assoc] represents a digital signature object." - }, - { - "label":"DigitBlock", - "type":"keyword", - "info":"DigitBlock is an option for NumberForm and related functions that specifies the maximum length of bl" - }, - { - "label":"DigitBlockMinimum", - "type":"keyword", - "info":"System`DigitBlockMinimum" - }, - { - "label":"DigitCharacter", - "type":"keyword", - "info":"DigitCharacter represents a digit character 0–9 in StringExpression. " - }, - { - "label":"DigitCount", - "type":"keyword", - "info":"DigitCount[n, b, d] gives the number of d digits in the base-b representation of n. DigitCount[n, b]" - }, - { - "label":"DigitQ", - "type":"keyword", - "info":"DigitQ[string] yields True if all the characters in the string are digits in the range 0 through 9, " - }, - { - "label":"DihedralAngle", - "type":"keyword", - "info":"DihedralAngle[{p , p }, {v, w}] gives the angle between two half-planes bounded by the line through " - }, - { - "label":"DihedralGroup", - "type":"keyword", - "info":"DihedralGroup[n] represents the dihedral group of order 2n." - }, - { - "label":"Dilation", - "type":"keyword", - "info":"Dilation[image, ker] gives the morphological dilation of image with respect to the structuring eleme" - }, - { - "label":"DimensionalCombinations", - "type":"keyword", - "info":"DimensionalCombinations[{pq , pq , …}] returns the possible combinations of the list of physical qua" - }, - { - "label":"DimensionalMeshComponents", - "type":"keyword", - "info":"DimensionalMeshComponents[mr] gives a list {r , r , …} of regions such that r has dimension d for a" - }, - { - "label":"DimensionReduce", - "type":"keyword", - "info":"DimensionReduce[{example , example , …}] projects the examples example to a lower-dimensional appro" - }, - { - "label":"DimensionReducerFunction", - "type":"keyword", - "info":"DimensionReducerFunction[…] represents a function generated by DimensionReduction that projects data" - }, - { - "label":"DimensionReduction", - "type":"keyword", - "info":"DimensionReduction[{example , example , …}] generates a DimensionReducerFunction[…] that projects fr" - }, - { - "label":"Dimensions", - "type":"keyword", - "info":"Dimensions[expr] gives a list of the dimensions of expr. Dimensions[expr, n] gives a list of the dim" - }, - { - "label":"DiracComb", - "type":"keyword", - "info":"DiracComb[x] represents the Dirac comb function (x) giving a delta function at every integer point." - }, - { - "label":"DiracDelta", - "type":"keyword", - "info":"DiracDelta[x] represents the Dirac delta function Î\.b4(x). DiracDelta[x , x , …] represents the multidi" - }, - { - "label":"DirectedEdge", - "type":"keyword", - "info":" t\nDire" - }, - { - "label":"DirectedEdges", - "type":"keyword", - "info":"DirectedEdges is an option for Graph, GraphPlot, and related functions that specifies whether edges " - }, - { - "label":"DirectedGraph", - "type":"keyword", - "info":"DirectedGraph[g] gives a directed graph from the undirected graph g.DirectedGraph[g, conv] gives a d" - }, - { - "label":"DirectedGraphQ", - "type":"keyword", - "info":"DirectedGraphQ[g] yields True if the graph g is a directed graph and False otherwise." - }, - { - "label":"DirectedInfinity", - "type":"keyword", - "info":"DirectedInfinity[] represents an infinite numerical quantity whose direction in the complex plane is" - }, - { - "label":"Direction", - "type":"keyword", - "info":"Direction is an option for Limit and related functions that specifies the direction in which the lim" - }, - { - "label":"DirectionalLight", - "type":"keyword", - "info":"DirectionalLight[col, pt] is a three–dimensional graphics directive that specifies the directional l" - }, - { - "label":"Directive", - "type":"keyword", - "info":"Directive[g , g , …] represents a single graphics directive composed of the directives g , g , ….\n " - }, - { - "label":"Directory", - "type":"keyword", - "info":"Directory[] gives the current working directory. " - }, - { - "label":"DirectoryName", - "type":"keyword", - "info":"DirectoryName[\"name\"] extracts the directory name from the specification for a file. " - }, - { - "label":"DirectoryQ", - "type":"keyword", - "info":"DirectoryQ[\"name\"] gives True if the directory with the specified name exists, and gives False other" - }, - { - "label":"DirectoryStack", - "type":"keyword", - "info":"DirectoryStack[] gives the directory stack that represents the sequence of current directories used." - }, - { - "label":"DirichletBeta", - "type":"keyword", - "info":"DirichletBeta[s] gives the Dirichlet beta function Î\.b2(s)." - }, - { - "label":"DirichletCharacter", - "type":"keyword", - "info":"DirichletCharacter[k, j, n] gives the Dirichlet character χ (n) with modulus k and index j.\n " - }, - { - "label":"DirichletCondition", - "type":"keyword", - "info":"DirichletCondition[beqn, pred] represents a Dirichlet boundary condition given by equation beqn, sat" - }, - { - "label":"DirichletConvolve", - "type":"keyword", - "info":"DirichletConvolve[f, g, n, m] gives the Dirichlet convolution of the expressions f and g. " - }, - { - "label":"DirichletDistribution", - "type":"keyword", - "info":"DirichletDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }] represents a Dirichlet distribution of dimension k with shape" - }, - { - "label":"DirichletEta", - "type":"keyword", - "info":"DirichletEta[s] gives the Dirichlet eta function Î\\[CenterDot](s)." - }, - { - "label":"DirichletL", - "type":"keyword", - "info":"DirichletL[k, j, s] gives the Dirichlet L-function L(χ, s) for the Dirichlet character χ(n) with mod" - }, - { - "label":"DirichletLambda", - "type":"keyword", - "info":"DirichletLambda[s] gives the Dirichlet lambda function λ(s)." - }, - { - "label":"DirichletTransform", - "type":"keyword", - "info":"DirichletTransform[expr, n, s] gives the Dirichlet transform of expr with respect to n." - }, - { - "label":"DirichletWindow", - "type":"keyword", - "info":"DirichletWindow[x] represents a Dirichlet window function of x." - }, - { - "label":"DisableConsolePrintPacket", - "type":"keyword", - "info":"System`DisableConsolePrintPacket" - }, - { - "label":"DisableFormatting", - "type":"keyword", - "info":"DisableFormatting[expr] is a form that disables the formatting of expr when it appears inside held e" - }, - { - "label":"DiscreteAsymptotic", - "type":"keyword", - "info":"DiscreteAsymptotic[expr, n  ∞] gives an asymptotic approximation for expr as n tends to infinity ov" - }, - { - "label":"DiscreteChirpZTransform", - "type":"keyword", - "info":"DiscreteChirpZTransform[list] gives the chirp Z transform of list.DiscreteChirpZTransform[list, n] r" - }, - { - "label":"DiscreteConvolve", - "type":"keyword", - "info":"DiscreteConvolve[f, g, n, m] gives the convolution with respect to n of the expressions f and g. Dis" - }, - { - "label":"DiscreteDelta", - "type":"keyword", - "info":"DiscreteDelta[n , n , …] gives the discrete delta function Î\.b4 (n , n , …), equal to 1 if all the n a" - }, - { - "label":"DiscreteHadamardTransform", - "type":"keyword", - "info":"DiscreteHadamardTransform[list] gives the discrete Hadamard transform of list." - }, - { - "label":"DiscreteIndicator", - "type":"keyword", - "info":"DiscreteIndicator[x, x , {u , u , …}] yields the discrete indicator function, equal to 1 if x = x a" - }, - { - "label":"DiscreteLimit", - "type":"keyword", - "info":" " - }, - { - "label":"DiscreteLQEstimatorGains", - "type":"keyword", - "info":"DiscreteLQEstimatorGains[ssm, {w, v}, τ] gives the optimal discrete-time estimator gain matrix with " - }, - { - "label":"DiscreteLQRegulatorGains", - "type":"keyword", - "info":"DiscreteLQRegulatorGains[sspec, wts, τ] gives the discrete-time state feedback gains with sampling p" - }, - { - "label":"DiscreteLyapunovSolve", - "type":"keyword", - "info":"DiscreteLyapunovSolve[a, c] finds the numeric solution x of the discrete matrix equation a . x . a " - }, - { - "label":"DiscreteMarkovProcess", - "type":"keyword", - "info":"DiscreteMarkovProcess[i , m] represents a discrete-time, finite-state Markov process with transition" - }, - { - "label":"DiscreteMaxLimit", - "type":"keyword", - "info":" " - }, - { - "label":"DiscreteMinLimit", - "type":"keyword", - "info":" " - }, - { - "label":"DiscretePlot", - "type":"keyword", - "info":"DiscretePlot[expr, {n, n }] generates a plot of the values of expr when n runs from 1 to n .Disc" - }, - { - "label":"DiscretePlot3D", - "type":"keyword", - "info":"DiscretePlot3D[expr, {i, i , i }, {j, j , j }] generates a plot of the values of expr when i" - }, - { - "label":"DiscreteRatio", - "type":"keyword", - "info":" f(i + 1)\nDiscreteRatio[f, i] gives the discrete ratio -" - }, - { - "label":"DiscreteRiccatiSolve", - "type":"keyword", - "info":" " - }, - { - "label":"DiscreteShift", - "type":"keyword", - "info":" " - }, - { - "label":"DiscreteTimeModelQ", - "type":"keyword", - "info":"DiscreteTimeModelQ[lsys] gives True if lsys is a discrete-time systems model, and False otherwise." - }, - { - "label":"DiscreteUniformDistribution", - "type":"keyword", - "info":"DiscreteUniformDistribution[{i , i }] represents a discrete uniform distribution over the intege" - }, - { - "label":"DiscreteVariables", - "type":"keyword", - "info":"DiscreteVariables is an option for NDSolve and other functions that specifies variables that only ch" - }, - { - "label":"DiscreteWaveletData", - "type":"keyword", - "info":"DiscreteWaveletData[{wind  coef , …}, wave, wtrans] yields a discrete wavelet data object with wav" - }, - { - "label":"DiscreteWaveletPacketTransform", - "type":"keyword", - "info":"DiscreteWaveletPacketTransform[data] gives the discrete wavelet packet transform (DWPT) of an array " - }, - { - "label":"DiscreteWaveletTransform", - "type":"keyword", - "info":"DiscreteWaveletTransform[data] gives the discrete wavelet transform (DWT) of an array of data.Discre" - }, - { - "label":"DiscretizeGraphics", - "type":"keyword", - "info":"DiscretizeGraphics[g] discretizes a 2D or 3D graphic g into a MeshRegion.DiscretizeGraphics[g, patt]" - }, - { - "label":"DiscretizeRegion", - "type":"keyword", - "info":"DiscretizeRegion[reg] discretizes a region reg into a MeshRegion.DiscretizeRegion[reg, {{x , x }" - }, - { - "label":"Discriminant", - "type":"keyword", - "info":"Discriminant[poly, var] computes the discriminant of the polynomial poly with respect to the variabl" - }, - { - "label":"DisjointQ", - "type":"keyword", - "info":"DisjointQ[list , list ] yields True if list and list do not share any common elements, and False o" - }, - { - "label":"Disjunction", - "type":"keyword", - "info":"Disjunction[expr, {a , a , …}] gives the disjunction of expr over all choices of the Boolean variabl" - }, - { - "label":"Disk", - "type":"keyword", - "info":"Disk[{x, y}, r] represents a disk of radius r centered at {x, y}.Disk[{x, y}] gives a disk of radius" - }, - { - "label":"DiskBox", - "type":"keyword", - "info":"System`DiskBox" - }, - { - "label":"DiskMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"DiskSegment", - "type":"keyword", - "info":"DiskSegment[{x, y}, r, {θ , θ }] represents the disk segment from angle θ to θ in a disk centered " - }, - { - "label":"Dispatch", - "type":"keyword", - "info":"Dispatch[{lhs  rhs , lhs  rhs , …}] generates an optimized dispatch table representation of a li" - }, - { - "label":"DispatchQ", - "type":"keyword", - "info":"System`DispatchQ" - }, - { - "label":"DispersionEstimatorFunction", - "type":"keyword", - "info":"DispersionEstimatorFunction is an option for generalized linear model fitting functions that specifi" - }, - { - "label":"Display", - "type":"keyword", - "info":"Display[channel, graphics] writes graphics or sound to the specified output channel in PostScript fo" - }, - { - "label":"DisplayAllSteps", - "type":"keyword", - "info":"DisplayAllSteps is an option to Animate and related functions that specifies whether all frames shou" - }, - { - "label":"DisplayEndPacket", - "type":"keyword", - "info":"DisplayEndPacket[] is a WSTP packet that indicates the end of a series of expressions relating to a " - }, - { - "label":"DisplayFlushImagePacket", - "type":"keyword", - "info":"System`DisplayFlushImagePacket" - }, - { - "label":"DisplayForm", - "type":"keyword", - "info":"DisplayForm[expr] prints with low-level boxes inside expr shown in explicit two-dimensional or other" - }, - { - "label":"DisplayFunction", - "type":"keyword", - "info":"DisplayFunction is an option for graphics and sound functions that specifies a function to apply to " - }, - { - "label":"DisplayPacket", - "type":"keyword", - "info":"DisplayPacket[] is a WSTP packet that indicates the beginning of a series of expressions related to " - }, - { - "label":"DisplayRules", - "type":"keyword", - "info":"System`DisplayRules" - }, - { - "label":"DisplaySetSizePacket", - "type":"keyword", - "info":"System`DisplaySetSizePacket" - }, - { - "label":"DisplayString", - "type":"keyword", - "info":"DisplayString[graphics] generates a string giving graphics or sound in PostScript format. DisplayStr" - }, - { - "label":"DisplayTemporary", - "type":"keyword", - "info":"System`DisplayTemporary" - }, - { - "label":"DisplayWith", - "type":"keyword", - "info":"System`DisplayWith" - }, - { - "label":"DisplayWithRef", - "type":"keyword", - "info":"System`DisplayWithRef" - }, - { - "label":"DisplayWithVariable", - "type":"keyword", - "info":"System`DisplayWithVariable" - }, - { - "label":"DistanceFunction", - "type":"keyword", - "info":"DistanceFunction is an option for functions such as Nearest that specifies the distance value to ass" - }, - { - "label":"DistanceMatrix", - "type":"keyword", - "info":"DistanceMatrix[{u , u , …}] gives the matrix of distances between each pair of elements u , u . Dist" - }, - { - "label":"DistanceTransform", - "type":"keyword", - "info":"DistanceTransform[image] gives the distance transform of image, in which the value of each pixel is " - }, - { - "label":"Distribute", - "type":"keyword", - "info":"Distribute[f[x , x , …]] distributes f over Plus appearing in any of the x . Distribute[expr, g] dis" - }, - { - "label":"Distributed", - "type":"keyword", - "info":"Distributed[x, dist] or x  dist asserts that the random variable x is distributed according to the " - }, - { - "label":"DistributedContexts", - "type":"keyword", - "info":"DistributedContexts is an option for various parallel computing functions that specifies which defin" - }, - { - "label":"DistributeDefinitions", - "type":"keyword", - "info":"DistributeDefinitions[s , s , …] distributes all definitions for the symbols s to all parallel kern" - }, - { - "label":"DistributionChart", - "type":"keyword", - "info":"DistributionChart[{data , data , …}] makes a distribution chart with a distribution symbol for each " - }, - { - "label":"DistributionDomain", - "type":"keyword", - "info":"System`DistributionDomain" - }, - { - "label":"DistributionFitTest", - "type":"keyword", - "info":"DistributionFitTest[data] tests whether data is normally distributed. DistributionFitTest[data, dist" - }, - { - "label":"DistributionParameterAssumptions", - "type":"keyword", - "info":"DistributionParameterAssumptions[dist] gives a logical expression for assumptions on parameters in t" - }, - { - "label":"DistributionParameterQ", - "type":"keyword", - "info":"DistributionParameterQ[dist] yields True if dist is a valid distribution, and yields False otherwise" - }, - { - "label":"Dithering", - "type":"keyword", - "info":"Dithering is an option for ColorQuantize that specifies whether or not to apply dithering while quan" - }, - { - "label":"Div", - "type":"keyword", - "info":"Div[{f , …, f }, {x , …, x }] gives the divergence ∂ f \/∂ x + … + ∂ f \/∂ x .Div[{f , …, f }, {x , …" - }, - { - "label":"Divergence", - "type":"keyword", - "info":"System`Divergence" - }, - { - "label":"Divide", - "type":"keyword", - "info":"x\/y or Divide[x, y] is equivalent to x y^-1. " - }, - { - "label":"DivideBy", - "type":"keyword", - "info":"x\/=c divides x by c and returns the new value of x. " - }, - { - "label":"Dividers", - "type":"keyword", - "info":"Dividers is an option for Grid and related constructs that specifies where and how to draw divider l" - }, - { - "label":"DivideSides", - "type":"keyword", - "info":"DivideSides[rel, x] divides each side of the equation or inequality rel by x.DivideSides[rel , rel ]" - }, - { - "label":"Divisible", - "type":"keyword", - "info":"Divisible[n, m] yields True if n is divisible by m, and yields False if it is not. " - }, - { - "label":"Divisors", - "type":"keyword", - "info":"Divisors[n] gives a list of the integers that divide n. " - }, - { - "label":"DivisorSigma", - "type":"keyword", - "info":"DivisorSigma[k, n] gives the divisor function σ (n). \n " - }, - { - "label":"DivisorSum", - "type":"keyword", - "info":"DivisorSum[n, form] represents the sum of form[i] for all i that divide n.DivisorSum[n, form, cond] " - }, - { - "label":"DMSList", - "type":"keyword", - "info":"DMSList[θ] converts an angle θ given in decimal degrees to a DMS list {degree, minute, second}.DMSLi" - }, - { - "label":"DMSString", - "type":"keyword", - "info":"DMSString[θ] converts an angle θ given in decimal degrees to a degrees-minutes-seconds string.DMSStr" - }, - { - "label":"Do", - "type":"keyword", - "info":"Do[expr, n] evaluates expr n times. Do[expr, {i, i }] evaluates expr with the variable i successiv" - }, - { - "label":"DockedCells", - "type":"keyword", - "info":"DockedCells is an option for notebooks that gives a list of cells that are to be displayed \"docked\" " - }, - { - "label":"DocumentGenerator", - "type":"keyword", - "info":"DocumentGenerator[template, timespec] represents a document generator with template template to be e" - }, - { - "label":"DocumentGeneratorInformation", - "type":"keyword", - "info":"DocumentGeneratorInformation[CloudObject] returns information about a generator.\nDocumentGeneratorIn" - }, - { - "label":"DocumentGeneratorInformationData", - "type":"keyword", - "info":"System`DocumentGeneratorInformationData" - }, - { - "label":"DocumentGenerators", - "type":"keyword", - "info":"DocumentGenerators[] returns a list of the user's document generators, as cloud objects." - }, - { - "label":"DocumentNotebook", - "type":"keyword", - "info":"DocumentNotebook[{cell , cell , …}] represents a complete document notebook in the Wolfram System fr" - }, - { - "label":"DocumentWeightingRules", - "type":"keyword", - "info":"DocumentWeightingRules is an option for TextSearch and related functions that allows the specificati" - }, - { - "label":"Dodecahedron", - "type":"keyword", - "info":"Dodecahedron[] represents a regular dodecahedron centered at the origin with unit edge length.Dodeca" - }, - { - "label":"DomainRegistrationInformation", - "type":"keyword", - "info":"System`DomainRegistrationInformation" - }, - { - "label":"DominantColors", - "type":"keyword", - "info":"DominantColors[image] returns dominant colors in image.DominantColors[image, n] returns at most n do" - }, - { - "label":"DominatorTreeGraph", - "type":"keyword", - "info":"DominatorTreeGraph[g, v] gives the dominator tree of the directed graph g from the root vertex v." - }, - { - "label":"DominatorVertexList", - "type":"keyword", - "info":"DominatorVertexList[g, v] gives the list of immediate dominators of the directed graph g from the ro" - }, - { - "label":"DOSTextFormat", - "type":"keyword", - "info":"DOSTextFormat is an option for OpenRead, OpenWrite, and OpenAppend that specifies whether files shou" - }, - { - "label":"Dot", - "type":"keyword", - "info":"a . b . c or Dot[a, b, c] gives products of vectors, matrices, and tensors. " - }, - { - "label":"DotDashed", - "type":"keyword", - "info":"DotDashed is a graphics directive specifying that lines that follow should be drawn dot-dashed." - }, - { - "label":"DotEqual", - "type":"keyword", - "info":"DotEqual[x, y, …] displays as x ≐ y ≐ …." - }, - { - "label":"DotLayer", - "type":"keyword", - "info":"DotLayer[] represents a net layer that takes the dot product of two or more arrays.DotLayer[{spec , " - }, - { - "label":"DotPlusLayer", - "type":"keyword", - "info":"DotPlusLayer[n] is equivalent to LinearLayer[n] and should no longer be used. " - }, - { - "label":"Dotted", - "type":"keyword", - "info":"Dotted is a graphics directive specifying that lines that follow should be drawn dotted." - }, - { - "label":"DoubleBracketingBar", - "type":"keyword", - "info":"DoubleBracketingBar[x, y, …] displays as  x, y, … ." - }, - { - "label":"DoubleContourIntegral", - "type":"keyword", - "info":"System`DoubleContourIntegral" - }, - { - "label":"DoubleDownArrow", - "type":"keyword", - "info":"DoubleDownArrow[x, y, …] displays as x ⇓ y…." - }, - { - "label":"DoubleLeftArrow", - "type":"keyword", - "info":"DoubleLeftArrow[x, y, …] displays as x ⇐ y ⇐ …." - }, - { - "label":"DoubleLeftRightArrow", - "type":"keyword", - "info":"DoubleLeftRightArrow[x, y, …] displays as x ⇔ y ⇔ …." - }, - { - "label":"DoubleLeftTee", - "type":"keyword", - "info":"DoubleLeftTee[x, y] displays as x ⫤ y." - }, - { - "label":"DoubleLongLeftArrow", - "type":"keyword", - "info":"DoubleLongLeftArrow[x, y, …] displays as x ⟸ y ⟸ …." - }, - { - "label":"DoubleLongLeftRightArrow", - "type":"keyword", - "info":"DoubleLongLeftRightArrow[x, y, …] displays as x ⟺ y ⟺ …." - }, - { - "label":"DoubleLongRightArrow", - "type":"keyword", - "info":"DoubleLongRightArrow[x, y, …] displays as x ⟹ y ⟹ …." - }, - { - "label":"DoubleRightArrow", - "type":"keyword", - "info":"DoubleRightArrow[x, y, …] displays as x ⇒ y ⇒ …." - }, - { - "label":"DoubleRightTee", - "type":"keyword", - "info":"DoubleRightTee[x, y] displays as x ⊨ y." - }, - { - "label":"DoubleUpArrow", - "type":"keyword", - "info":"DoubleUpArrow[x, y, …] displays as x ⇑ y ⇑ …." - }, - { - "label":"DoubleUpDownArrow", - "type":"keyword", - "info":"DoubleUpDownArrow[x, y, …] displays as x ⇕ y ⇕ …." - }, - { - "label":"DoubleVerticalBar", - "type":"keyword", - "info":"DoubleVerticalBar[x, y, …] displays as x ∥ y ∥ …." - }, - { - "label":"DoublyInfinite", - "type":"keyword", - "info":"DoublyInfinite is an option for LerchPhi. With DoublyInfinite -> True, the summation is taken from -" - }, - { - "label":"Down", - "type":"keyword", - "info":"System`Down" - }, - { - "label":"DownArrow", - "type":"keyword", - "info":"DownArrow[x, y, …] displays as x ↓ y ↓ …." - }, - { - "label":"DownArrowBar", - "type":"keyword", - "info":"DownArrowBar[x, y, …] displays as x ⤓ y ⤓ …." - }, - { - "label":"DownArrowUpArrow", - "type":"keyword", - "info":"DownArrowUpArrow[x, y, …] displays as x â‡\\[Micro] y â‡\\[Micro] …." - }, - { - "label":"DownLeftRightVector", - "type":"keyword", - "info":"DownLeftRightVector[x, y, …] displays as x ⥐ y ⥐ …." - }, - { - "label":"DownLeftTeeVector", - "type":"keyword", - "info":"DownLeftTeeVector[x, y, …] displays as x ⥞ y ⥞ …." - }, - { - "label":"DownLeftVector", - "type":"keyword", - "info":"DownLeftVector[x, y, …] displays as x ↽ y ↽ …." - }, - { - "label":"DownLeftVectorBar", - "type":"keyword", - "info":"DownLeftVectorBar[x, y, …] displays as x ⥖ y ⥖ …." - }, - { - "label":"DownRightTeeVector", - "type":"keyword", - "info":"DownRightTeeVector[x, y, …] displays as x ⥟ y ⥟ …." - }, - { - "label":"DownRightVector", - "type":"keyword", - "info":"DownRightVector[x, y, …] displays as x ⇁ y ⇁ …." - }, - { - "label":"DownRightVectorBar", - "type":"keyword", - "info":"DownRightVectorBar[x, y, …] displays as x ⥗ y ⥗ …." - }, - { - "label":"Downsample", - "type":"keyword", - "info":" th\nDownsample[ar" - }, - { - "label":"DownTee", - "type":"keyword", - "info":"DownTee[x, y] displays as x ⊤ y." - }, - { - "label":"DownTeeArrow", - "type":"keyword", - "info":"DownTeeArrow[x, y, …] displays as x ↧ y ↧ …." - }, - { - "label":"DownValues", - "type":"keyword", - "info":"DownValues[f] gives a list of transformation rules corresponding to all downvalues (values for f[…])" - }, - { - "label":"DragAndDrop", - "type":"keyword", - "info":"DragAndDrop is a global front end option that specifies whether to allow drag‐and‐drop editing. " - }, - { - "label":"DrawBackFaces", - "type":"keyword", - "info":"System`DrawBackFaces" - }, - { - "label":"DrawEdges", - "type":"keyword", - "info":"System`DrawEdges" - }, - { - "label":"DrawFrontFaces", - "type":"keyword", - "info":"System`DrawFrontFaces" - }, - { - "label":"DrawHighlighted", - "type":"keyword", - "info":"System`DrawHighlighted" - }, - { - "label":"DrazinInverse", - "type":"keyword", - "info":" D\nDrazinInverse[m] finds the Drazin generaliz" - }, - { - "label":"Drop", - "type":"keyword", - "info":" " - }, - { - "label":"DropoutLayer", - "type":"keyword", - "info":"DropoutLayer[] represents a net layer that sets its input elements to zero with probability 0.5 duri" - }, - { - "label":"DSolve", - "type":"keyword", - "info":"DSolve[eqn, u, x] solves a differential equation for the function u, with independent variable x. DS" - }, - { - "label":"DSolveValue", - "type":"keyword", - "info":"DSolveValue[eqn, expr, x] gives the value of expr determined by a symbolic solution to the ordinary " - }, - { - "label":"Dt", - "type":"keyword", - "info":" " - }, - { - "label":"DualLinearProgramming", - "type":"keyword", - "info":"System`DualLinearProgramming" - }, - { - "label":"DualPlanarGraph", - "type":"keyword", - "info":"DualPlanarGraph[g] gives the dual of the planar graph g." - }, - { - "label":"DualPolyhedron", - "type":"keyword", - "info":"DualPolyhedron[poly] gives the dual polyhedron of the polyhedron poly." - }, - { - "label":"DualSystemsModel", - "type":"keyword", - "info":"DualSystemsModel[ssm] gives the dual of the state-space model ssm. " - }, - { - "label":"DumpGet", - "type":"keyword", - "info":"DumpGet[ \"filename\"] reads in a file saved with DumpSave." - }, - { - "label":"DumpSave", - "type":"keyword", - "info":"DumpSave[\"file.mx\", symbol] writes definitions associated with a symbol to a file in internal Wolfra" - }, - { - "label":"DuplicateFreeQ", - "type":"keyword", - "info":"DuplicateFreeQ[list] gives True if list has no duplicates, and False otherwise.DuplicateFreeQ[list, " - }, - { - "label":"Duration", - "type":"keyword", - "info":"Duration[expr] returns the duration of expr." - }, - { - "label":"Dynamic", - "type":"keyword", - "info":"Dynamic[expr] represents an object that displays as the dynamically updated current value of expr. I" - }, - { - "label":"DynamicBox", - "type":"keyword", - "info":"System`DynamicBox" - }, - { - "label":"DynamicBoxOptions", - "type":"keyword", - "info":"DynamicBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for DynamicBo" - }, - { - "label":"DynamicEvaluationTimeout", - "type":"keyword", - "info":"DynamicEvaluationTimeout is an option for displayed objects, cells, and notebooks that specifies the" - }, - { - "label":"DynamicGeoGraphics", - "type":"keyword", - "info":"DynamicGeoGraphics[primitives, options] represents a dynamic, interactive, two-dimensional geographi" - }, - { - "label":"DynamicImage", - "type":"keyword", - "info":"DynamicImage[image] displays a dynamic version of image, supporting panning, zooming, etc.DynamicIma" - }, - { - "label":"DynamicLocation", - "type":"keyword", - "info":"System`DynamicLocation" - }, - { - "label":"DynamicModule", - "type":"keyword", - "info":"DynamicModule[{x, y, …}, expr] represents an object which maintains the same local instance of the s" - }, - { - "label":"DynamicModuleBox", - "type":"keyword", - "info":"System`DynamicModuleBox" - }, - { - "label":"DynamicModuleBoxOptions", - "type":"keyword", - "info":"DynamicModuleBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Dyn" - }, - { - "label":"DynamicModuleParent", - "type":"keyword", - "info":"System`DynamicModuleParent" - }, - { - "label":"DynamicModuleValues", - "type":"keyword", - "info":"DynamicModuleValues is an option for DynamicModule that stores downvalues of local symbols." - }, - { - "label":"DynamicName", - "type":"keyword", - "info":"System`DynamicName" - }, - { - "label":"DynamicNamespace", - "type":"keyword", - "info":"System`DynamicNamespace" - }, - { - "label":"DynamicReference", - "type":"keyword", - "info":"System`DynamicReference" - }, - { - "label":"DynamicSetting", - "type":"keyword", - "info":"DynamicSetting[e] represents an object which displays as e, but is interpreted as the dynamically up" - }, - { - "label":"DynamicUpdating", - "type":"keyword", - "info":"DynamicUpdating is an option for displayed objects, cells and notebooks that specifies whether dynam" - }, - { - "label":"DynamicWrapper", - "type":"keyword", - "info":"DynamicWrapper[e, expr] represents an object that displays as e, but dynamically updates the express" - }, - { - "label":"DynamicWrapperBox", - "type":"keyword", - "info":"System`DynamicWrapperBox" - }, - { - "label":"DynamicWrapperBoxOptions", - "type":"keyword", - "info":"DynamicWrapperBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Dy" - }, - { - "label":"DEC", - "type":"keyword", - "info":"System`DEC" - }, - { - "label":"E", - "type":"keyword", - "info":"E is the exponential constant  (base of natural logarithms), with numerical value ≃ 2.71828." - }, - { - "label":"EarthImpactData", - "type":"keyword", - "info":"EarthImpactData[entity, property] gives the value of the specified property for the earth impact cra" - }, - { - "label":"EarthquakeData", - "type":"keyword", - "info":"EarthquakeData[loc] gives all earthquake properties for the location corresponding to loc.Earthquake" - }, - { - "label":"EccentricityCentrality", - "type":"keyword", - "info":"EccentricityCentrality[g] gives a list of eccentricity centralities for the vertices in the graph g." - }, - { - "label":"Echo", - "type":"keyword", - "info":"Echo[expr] prints expr and returns expr.Echo[expr, label] prints expr prepending label and returns e" - }, - { - "label":"EchoEvaluation", - "type":"keyword", - "info":"EchoEvaluation[expr] prints expr before evaluation, then prints the result after evaluation and retu" - }, - { - "label":"EchoFunction", - "type":"keyword", - "info":"EchoFunction[f][expr] prints f[expr] and returns expr.EchoFunction[label, f][expr] prints f[expr] pr" - }, - { - "label":"EchoLabel", - "type":"keyword", - "info":"EchoLabel[label][expr] prints expr prepending label and returns expr." - }, - { - "label":"EchoTiming", - "type":"keyword", - "info":"EchoTiming[expr] evaluates expr, prints the time in seconds used and returns the result of the evalu" - }, - { - "label":"EclipseType", - "type":"keyword", - "info":"EclipseType is an option for SolarEclipse and LunarEclipse that specifies the type of eclipse being " - }, - { - "label":"EdgeAdd", - "type":"keyword", - "info":"EdgeAdd[g, e] makes a graph by adding the edge e to the graph g.EdgeAdd[g, {e , e , …}] adds a colle" - }, - { - "label":"EdgeBetweennessCentrality", - "type":"keyword", - "info":"EdgeBetweennessCentrality[g] gives a list of betweenness centralities for the edges in the graph g.E" - }, - { - "label":"EdgeCapacity", - "type":"keyword", - "info":"EdgeCapacity is an option and annotation for Graph and related functions that specifies an edge capa" - }, - { - "label":"EdgeCapForm", - "type":"keyword", - "info":"System`EdgeCapForm" - }, - { - "label":"EdgeChromaticNumber", - "type":"keyword", - "info":"EdgeChromaticNumber[g] gives the chromatic number for the edges of the graph g." - }, - { - "label":"EdgeColor", - "type":"keyword", - "info":"System`EdgeColor" - }, - { - "label":"EdgeConnectivity", - "type":"keyword", - "info":"EdgeConnectivity[g] gives the edge connectivity of the graph g.EdgeConnectivity[g, s, t] gives the s" - }, - { - "label":"EdgeContract", - "type":"keyword", - "info":"EdgeContract[g, e] contracts the edge e of the graph g.EdgeContract[g, {e , e , …}] contracts a coll" - }, - { - "label":"EdgeCost", - "type":"keyword", - "info":"EdgeCost is an option and annotation for Graph and related functions that specifies an edge cost." - }, - { - "label":"EdgeCount", - "type":"keyword", - "info":"EdgeCount[g] gives a count of the number of edges in the graph g.EdgeCount[g, patt] gives a count of" - }, - { - "label":"EdgeCoverQ", - "type":"keyword", - "info":"EdgeCoverQ[g, elist] yields True if the edge list elist is an edge cover of the graph g and False ot" - }, - { - "label":"EdgeCycleMatrix", - "type":"keyword", - "info":"EdgeCycleMatrix[g] gives the edge cycle matrix of a graph g.EdgeCycleMatrix[{v  w, …}] uses rules v" - }, - { - "label":"EdgeDashing", - "type":"keyword", - "info":"System`EdgeDashing" - }, - { - "label":"EdgeDelete", - "type":"keyword", - "info":"EdgeDelete[g, e] makes a graph by deleting the edge e from the graph g.EdgeDelete[g, {e , e , …}] de" - }, - { - "label":"EdgeDetect", - "type":"keyword", - "info":"EdgeDetect[image] finds edges in image and returns the result as a binary image.EdgeDetect[image, r]" - }, - { - "label":"EdgeForm", - "type":"keyword", - "info":"EdgeForm[g] is a graphics directive that specifies that edges of polygons and other filled graphics " - }, - { - "label":"EdgeIndex", - "type":"keyword", - "info":"EdgeIndex[g, e] gives the integer index for the edge e in the graph g.EdgeIndex[{v  w, …}, …] uses " - }, - { - "label":"EdgeJoinForm", - "type":"keyword", - "info":"System`EdgeJoinForm" - }, - { - "label":"EdgeLabeling", - "type":"keyword", - "info":"EdgeLabeling is an option for GraphPlot and related functions that specifies whether labeling specif" - }, - { - "label":"EdgeLabels", - "type":"keyword", - "info":"EdgeLabels is an option and annotation for Graph and related functions that specifies what labels an" - }, - { - "label":"EdgeLabelStyle", - "type":"keyword", - "info":"EdgeLabelStyle is an option and property for Graph and related functions that specifies the style to" - }, - { - "label":"EdgeList", - "type":"keyword", - "info":"EdgeList[g] gives the list of edges for the graph g.EdgeList[g, patt] gives a list of edges that mat" - }, - { - "label":"EdgeOpacity", - "type":"keyword", - "info":"System`EdgeOpacity" - }, - { - "label":"EdgeQ", - "type":"keyword", - "info":"EdgeQ[g, e] yields True if e is an edge in the graph g and False otherwise." - }, - { - "label":"EdgeRenderingFunction", - "type":"keyword", - "info":"EdgeRenderingFunction is an option for GraphPlot and related functions that gives a function to gene" - }, - { - "label":"EdgeRules", - "type":"keyword", - "info":"EdgeRules[g] gives the list of edge rules for the graph g.EdgeRules[{v  w, …}] uses rules v  w to " - }, - { - "label":"EdgeShapeFunction", - "type":"keyword", - "info":"EdgeShapeFunction is an option and annotation for Graph and related functions that specifies a funct" - }, - { - "label":"EdgeStyle", - "type":"keyword", - "info":"EdgeStyle is an option and annotation for Graph and related functions that specifies what style to u" - }, - { - "label":"EdgeTaggedGraph", - "type":"keyword", - "info":"EdgeTaggedGraph[{e , e , …}] yields a graph with edges e tagged with unique tags.EdgeTaggedGraph[{e" - }, - { - "label":"EdgeTaggedGraphQ", - "type":"keyword", - "info":"EdgeTaggedGraphQ[g] yields True if the graph g has edges tagged and False otherwise." - }, - { - "label":"EdgeTags", - "type":"keyword", - "info":"EdgeTags[g] gives the list of tags for all edges in the graph g.EdgeTags[g, {u, v}] gives the list o" - }, - { - "label":"EdgeThickness", - "type":"keyword", - "info":"System`EdgeThickness" - }, - { - "label":"EdgeTransitiveGraphQ", - "type":"keyword", - "info":"EdgeTransitiveGraphQ[g] yields True if the graph g is a edge-transitive graph and False otherwise." - }, - { - "label":"EdgeValueRange", - "type":"keyword", - "info":"EdgeValueRange is an option for GeoGraphValuePlot that specifies the range of edge values to include" - }, - { - "label":"EdgeValueSizes", - "type":"keyword", - "info":"EdgeValueSizes is an option for GeoGraphValuePlot that specifies the thicknesses used to show edge v" - }, - { - "label":"EdgeWeight", - "type":"keyword", - "info":"EdgeWeight is an option and annotation for Graph and related functions that specifies an edge weight" - }, - { - "label":"EdgeWeightedGraphQ", - "type":"keyword", - "info":"EdgeWeightedGraphQ[g] yields True if the graph g is an edge-weighted graph and False otherwise." - }, - { - "label":"Editable", - "type":"keyword", - "info":"Editable is an option for displayed objects, cells, and notebooks that specifies whether their conte" - }, - { - "label":"EditButtonSettings", - "type":"keyword", - "info":"System`EditButtonSettings" - }, - { - "label":"EditCellTagsSettings", - "type":"keyword", - "info":"EditCellTagsSettings is a global option that specifies settings for the Edit Cell Tags dialog box." - }, - { - "label":"EditDistance", - "type":"keyword", - "info":"EditDistance[u, v] gives the edit or Levenshtein distance between strings or vectors u and v.EditDis" - }, - { - "label":"EffectiveInterest", - "type":"keyword", - "info":"EffectiveInterest[r, q] gives the effective interest rate corresponding to interest specification r," - }, - { - "label":"Eigensystem", - "type":"keyword", - "info":"Eigensystem[m] gives a list {values, vectors} of the eigenvalues and eigenvectors of the square matr" - }, - { - "label":"Eigenvalues", - "type":"keyword", - "info":"Eigenvalues[m] gives a list of the eigenvalues of the square matrix m. Eigenvalues[{m, a}] gives the" - }, - { - "label":"EigenvectorCentrality", - "type":"keyword", - "info":"EigenvectorCentrality[g] gives a list of eigenvector centralities for the vertices in the graph g.Ei" - }, - { - "label":"Eigenvectors", - "type":"keyword", - "info":"Eigenvectors[m] gives a list of the eigenvectors of the square matrix m. Eigenvectors[{m, a}] gives " - }, - { - "label":"Element", - "type":"keyword", - "info":"Element[x, dom] or x ∈ dom asserts that x is an element of the domain dom. Element[x, reg] or x ∈ re" - }, - { - "label":"ElementData", - "type":"keyword", - "info":" " - }, - { - "label":"ElementwiseLayer", - "type":"keyword", - "info":"ElementwiseLayer[f] represents a net layer that applies a unary function f to every element of the i" - }, - { - "label":"ElidedForms", - "type":"keyword", - "info":"ElidedForms is an option to TextString and related functions that specifies which expressions should" - }, - { - "label":"Eliminate", - "type":"keyword", - "info":"Eliminate[eqns, vars] eliminates variables between a set of simultaneous equations. " - }, - { - "label":"EliminationOrder", - "type":"keyword", - "info":"System`EliminationOrder" - }, - { - "label":"Ellipsoid", - "type":"keyword", - "info":"Ellipsoid[p, {r , …}] represents an axis-aligned ellipsoid centered at the point p and with semiaxes" - }, - { - "label":"EllipticE", - "type":"keyword", - "info":"EllipticE[m] gives the complete elliptic integral E(m). EllipticE[ϕ, m] gives the elliptic integral " - }, - { - "label":"EllipticExp", - "type":"keyword", - "info":"EllipticExp[u, {a, b}] is the inverse for EllipticLog. It produces a list {x, y} such that u == Elli" - }, - { - "label":"EllipticExpPrime", - "type":"keyword", - "info":"EllipticExpPrime[u, {a, b}] gives the derivative of EllipticExp[u, {a, b}] with respect to u." - }, - { - "label":"EllipticF", - "type":"keyword", - "info":"EllipticF[ϕ, m] gives the elliptic integral of the first kind F(ϕ ï\.b2 m). " - }, - { - "label":"EllipticFilterModel", - "type":"keyword", - "info":"EllipticFilterModel[n] designs a lowpass elliptic filter of order n.EllipticFilterModel[{n, ω }] use" - }, - { - "label":"EllipticK", - "type":"keyword", - "info":"EllipticK[m] gives the complete elliptic integral of the first kind K(m). " - }, - { - "label":"EllipticLog", - "type":"keyword", - "info":" 2 " - }, - { - "label":"EllipticNomeQ", - "type":"keyword", - "info":"EllipticNomeQ[m] gives the nome q corresponding to the parameter m in an elliptic function. " - }, - { - "label":"EllipticPi", - "type":"keyword", - "info":"EllipticPi[n, m] gives the complete elliptic integral of the third kind Π (n ï\.b2 m). EllipticPi[n, ϕ, " - }, - { - "label":"EllipticReducedHalfPeriods", - "type":"keyword", - "info":"EllipticReducedHalfPeriods[{u, v}] gives a reduced pair of half periods {w, w '} corresponding to th" - }, - { - "label":"EllipticTheta", - "type":"keyword", - "info":"EllipticTheta[a, u, q] gives the theta function ϑ (u, q) (a = 1, …, 4).EllipticTheta[a, q] gives the" - }, - { - "label":"EllipticThetaPrime", - "type":"keyword", - "info":" " - }, - { - "label":"EmbedCode", - "type":"keyword", - "info":"EmbedCode[obj] generates the code necessary to embed the object obj on a webpage.EmbedCode[obj, \"des" - }, - { - "label":"EmbeddedHTML", - "type":"keyword", - "info":"EmbeddedHTML[\"string\"] is an object that formats as a web frame containing the HTML content \"string\"" - }, - { - "label":"EmbeddedService", - "type":"keyword", - "info":"EmbeddedService[service] is an object that formats as a web frame containing content from the specif" - }, - { - "label":"EmbeddedSQLEntityClass", - "type":"keyword", - "info":"EmbeddedSQLEntityClass[string, props] represents a verbatim SQL query to be interpreted as an entity" - }, - { - "label":"EmbeddedSQLExpression", - "type":"keyword", - "info":"EmbeddedSQLExpression[string] represents an SQL expression to be evaluated verbatim within an Entity" - }, - { - "label":"EmbeddingLayer", - "type":"keyword", - "info":"EmbeddingLayer[size, n] represents a trainable net layer that embeds integers between 1 and n into a" - }, - { - "label":"EmbeddingObject", - "type":"keyword", - "info":"System`EmbeddingObject" - }, - { - "label":"EmitSound", - "type":"keyword", - "info":"EmitSound[snd] emits the sound snd when evaluated. EmitSound[{snd , snd , …}] emits each of the soun" - }, - { - "label":"EmphasizeSyntaxErrors", - "type":"keyword", - "info":"System`EmphasizeSyntaxErrors" - }, - { - "label":"EmpiricalDistribution", - "type":"keyword", - "info":"EmpiricalDistribution[{x , x , …}] represents an empirical distribution based on the data values x ." - }, - { - "label":"Empty", - "type":"keyword", - "info":"System`Empty" - }, - { - "label":"EmptyGraphQ", - "type":"keyword", - "info":"EmptyGraphQ[g] yields True if g is an empty graph and False otherwise." - }, - { - "label":"EmptyRegion", - "type":"keyword", - "info":" n\nEmptyRegion[n] represents the empty subset of ïž\\[Micro] . " - }, - { - "label":"EmptySpaceF", - "type":"keyword", - "info":"EmptySpaceF[pdata, r] estimates the empty space function F(r) for point data pdata at radius r.Empty" - }, - { - "label":"EnableConsolePrintPacket", - "type":"keyword", - "info":"System`EnableConsolePrintPacket" - }, - { - "label":"Enabled", - "type":"keyword", - "info":"Enabled is an option for objects such as Slider that specifies whether the objects should be enabled" - }, - { - "label":"Enclose", - "type":"keyword", - "info":"Enclose[expr] attempts to evaluate expr and return the result, but stops if it catches an error and " - }, - { - "label":"Encode", - "type":"keyword", - "info":"Encode[\"source\", \"dest\"] writes an encoded version of the file source to the file dest. << dest deco" - }, - { - "label":"Encrypt", - "type":"keyword", - "info":"Encrypt[\"password\", expr] encrypts expr using the specified password, to give an encrypted object.En" - }, - { - "label":"EncryptedObject", - "type":"keyword", - "info":"EncryptedObject[assoc] represents encrypted data generated by Encrypt." - }, - { - "label":"EncryptFile", - "type":"keyword", - "info":"EncryptFile[\"password\", file] generates an encrypted version of a file, using the specified password" - }, - { - "label":"End", - "type":"keyword", - "info":"End[] returns the present context, and reverts to the previous one. " - }, - { - "label":"EndAdd", - "type":"keyword", - "info":"EndAdd[ ] returns the present context, and reverts to the previous one, prepending the present conte" - }, - { - "label":"EndDialogPacket", - "type":"keyword", - "info":"EndDialogPacket[integer] is a WSTP packet indicating the end of the Dialog subsession referenced by " - }, - { - "label":"EndOfBuffer", - "type":"keyword", - "info":"EndOfBuffer is a symbol that represents the end of currently available data in the buffer for a proc" - }, - { - "label":"EndOfFile", - "type":"keyword", - "info":"EndOfFile is a symbol returned by Read when it reaches the end of a file. " - }, - { - "label":"EndOfLine", - "type":"keyword", - "info":"EndOfLine represents the end of a line in a string for purposes of matching in StringExpression." - }, - { - "label":"EndOfString", - "type":"keyword", - "info":"EndOfString represents the end of a string for purposes of matching in StringExpression." - }, - { - "label":"EndPackage", - "type":"keyword", - "info":"EndPackage[] restores ECContext and ECContextPath to their values before the preceding BeginPackage, a" - }, - { - "label":"EngineEnvironment", - "type":"keyword", - "info":"System`EngineEnvironment" - }, - { - "label":"EngineeringForm", - "type":"keyword", - "info":"EngineeringForm[expr] prints with all real numbers in expr given in engineering notation. Engineerin" - }, - { - "label":"Enter", - "type":"keyword", - "info":"System`Enter" - }, - { - "label":"EnterExpressionPacket", - "type":"keyword", - "info":"EnterExpressionPacket[expr] is a WSTP packet that requests the evaluation of expr." - }, - { - "label":"EnterTextPacket", - "type":"keyword", - "info":"EnterTextPacket[string] is a WSTP packet that requests the parsing and evaluation of string as an ex" - }, - { - "label":"Entity", - "type":"keyword", - "info":"Entity[\"type\", name] represents an entity of the specified type, identified by name.Entity[cspec, na" - }, - { - "label":"EntityClass", - "type":"keyword", - "info":"EntityClass[\"type\", name] represents a class of entities of the specified type identified by name.En" - }, - { - "label":"EntityClassList", - "type":"keyword", - "info":"EntityClassList[\"type\"] gives a list of entity classes for the specified type of entity." - }, - { - "label":"EntityCopies", - "type":"keyword", - "info":"EntityCopies[entity, n] represents n copies of entity." - }, - { - "label":"EntityFunction", - "type":"keyword", - "info":"EntityFunction[x, body] is a function with a single formal parameter x, to be used in EntityValue an" - }, - { - "label":"EntityGroup", - "type":"keyword", - "info":"EntityGroup[{entity , entity , …}] represents a group of entities.\n 1 2" - }, - { - "label":"EntityInstance", - "type":"keyword", - "info":"EntityInstance[entity, qual  val] represents an entity whose qualifier qual has value val.EntityIns" - }, - { - "label":"EntityList", - "type":"keyword", - "info":"EntityList[class] gives a list of entities in the specified entity class. EntityList[\"type\"] gives a" - }, - { - "label":"EntityPrefetch", - "type":"keyword", - "info":"EntityPrefetch[\"type\"] fetches cacheable values associated with all entities of the specified type.E" - }, - { - "label":"EntityProperties", - "type":"keyword", - "info":"EntityProperties[type] lists properties associated with entity type type." - }, - { - "label":"EntityProperty", - "type":"keyword", - "info":"EntityProperty[type, pname] represents a property identified by pname for use in EntityValue.EntityP" - }, - { - "label":"EntityPropertyClass", - "type":"keyword", - "info":"EntityPropertyClass[type, pcname] represents a class of properties identified by the name pcname." - }, - { - "label":"EntityRegister", - "type":"keyword", - "info":"EntityRegister[estore] registers the entities in the entity store estore so that they can be accesse" - }, - { - "label":"EntityStore", - "type":"keyword", - "info":"EntityStore[\"type\"] represents an empty entity store for entities of type \"type\".EntityStore[\"type\" " - }, - { - "label":"EntityStores", - "type":"keyword", - "info":"EntityStores[] gives a list of all registered entity stores that are accessed when Entity is used." - }, - { - "label":"EntityTypeName", - "type":"keyword", - "info":"EntityTypeName[entity] gives the name of the entity type of entity.EntityTypeName[{entity , …, entit" - }, - { - "label":"EntityUnregister", - "type":"keyword", - "info":"EntityUnregister[\"type\"] unregisters all entities in the first entity store that defines entities of" - }, - { - "label":"EntityValue", - "type":"keyword", - "info":"EntityValue[entity, property] gives the value of the specified property for the given entity.EntityV" - }, - { - "label":"Entropy", - "type":"keyword", - "info":"Entropy[list] gives the base  information entropy of the values in list.Entropy[k, list] gives the " - }, - { - "label":"EntropyFilter", - "type":"keyword", - "info":" " - }, - { - "label":"Environment", - "type":"keyword", - "info":"Environment[\"var\"] gives the value of an operating system environment variable. " - }, - { - "label":"Epilog", - "type":"keyword", - "info":"Epilog is an option for graphics functions that gives a list of graphics primitives to be rendered a" - }, - { - "label":"EpilogFunction", - "type":"keyword", - "info":"EpilogFunction is an option for DocumentGenerator allowing arbitrary code to be executed after a doc" - }, - { - "label":"Equal", - "type":"keyword", - "info":"lhs == rhs returns True if lhs and rhs are identical. " - }, - { - "label":"EqualColumns", - "type":"keyword", - "info":"EqualColumns is an option to GridBox which specifies whether the size of the columns are all set to " - }, - { - "label":"EqualRows", - "type":"keyword", - "info":"EqualRows is an option to GridBox which specifies whether the size of the rows are all set to the si" - }, - { - "label":"EqualTilde", - "type":"keyword", - "info":"EqualTilde[x, y, …] displays as x ≂ y ≂ …." - }, - { - "label":"EqualTo", - "type":"keyword", - "info":"EqualTo[y] is an operator form that yields x == y when applied to an expression x. " - }, - { - "label":"EquatedTo", - "type":"keyword", - "info":"EquatedTo is an option for Roots, which specifies an expression to use in place of the variable in t" - }, - { - "label":"Equilibrium", - "type":"keyword", - "info":"Equilibrium[x, y, …] displays as x ⇌ y ⇌ …." - }, - { - "label":"EquirippleFilterKernel", - "type":"keyword", - "info":"EquirippleFilterKernel[{{{ω , ω }, {ω , ω }, …}, {a , a , …}}, n] creates a finite impulse respo" - }, - { - "label":"Equivalent", - "type":"keyword", - "info":"Equivalent[e , e , …] represents the logical equivalence e ⇔ e ⇔ …, giving True when all of the e " - }, - { - "label":"Erf", - "type":"keyword", - "info":"Erf[z] gives the error function erf(z). Erf[z , z ] gives the generalized error function erf(z ) - e" - }, - { - "label":"Erfc", - "type":"keyword", - "info":"Erfc[z] gives the complementary error function erfc(z). " - }, - { - "label":"Erfi", - "type":"keyword", - "info":"Erfi[z] gives the imaginary error function erf(iz)\/i. " - }, - { - "label":"ErlangB", - "type":"keyword", - "info":"ErlangB[c, a] computes the Erlang B loss probability for an M\/M\/c\/c queue." - }, - { - "label":"ErlangC", - "type":"keyword", - "info":"ErlangC[c, a] computes the Erlang C probability for nonzero waiting time in an M\/M\/c queue." - }, - { - "label":"ErlangDistribution", - "type":"keyword", - "info":"ErlangDistribution[k, λ] represents the Erlang distribution with shape parameter k and rate λ." - }, - { - "label":"Erosion", - "type":"keyword", - "info":"Erosion[image, ker] gives the morphological erosion of image with respect to the structuring element" - }, - { - "label":"ErrorBox", - "type":"keyword", - "info":"ErrorBox[boxes] is a low-level box construct that represents boxes that cannot be interpreted in inp" - }, - { - "label":"ErrorBoxOptions", - "type":"keyword", - "info":"System`ErrorBoxOptions" - }, - { - "label":"ErrorNorm", - "type":"keyword", - "info":"System`ErrorNorm" - }, - { - "label":"ErrorPacket", - "type":"keyword", - "info":"System`ErrorPacket" - }, - { - "label":"ErrorsDialogSettings", - "type":"keyword", - "info":"System`ErrorsDialogSettings" - }, - { - "label":"EscapeRadius", - "type":"keyword", - "info":"EscapeRadius is an option to MandelbrotSetPlot that specifies the criterion to use to decide that a " - }, - { - "label":"EstimatedBackground", - "type":"keyword", - "info":"EstimatedBackground[data] estimates the background of data.EstimatedBackground[data, σ] tries to pre" - }, - { - "label":"EstimatedDistribution", - "type":"keyword", - "info":"EstimatedDistribution[data, dist] estimates the parametric distribution dist from data.EstimatedDist" - }, - { - "label":"EstimatedPointProcess", - "type":"keyword", - "info":"EstimatedPointProcess[pdata, pproc] estimates the parametric point process pproc from point data pda" - }, - { - "label":"EstimatedProcess", - "type":"keyword", - "info":"EstimatedProcess[data, proc] estimates the parametric process proc from data.EstimatedProcess[data, " - }, - { - "label":"EstimatedVariogramModel", - "type":"keyword", - "info":"EstimatedVariogramModel[{loc  val , loc  val , …}] estimates the best variogram function from va" - }, - { - "label":"EstimatorGains", - "type":"keyword", - "info":"EstimatorGains[ssm, {p , p , …, p }] gives the estimator gain matrix for the StateSpaceModel ssm, su" - }, - { - "label":"EstimatorRegulator", - "type":"keyword", - "info":"EstimatorRegulator[sspec, {l, κ}] gives the output feedback controller with estimator and regulator " - }, - { - "label":"EuclideanDistance", - "type":"keyword", - "info":"EuclideanDistance[u, v] gives the Euclidean distance between vectors u and v." - }, - { - "label":"EulerAngles", - "type":"keyword", - "info":"EulerAngles[r] gives Euler angles {Î\\[PlusMinus], Î\.b2, Î\.b3} corresponding to the rotation matrix r.EulerAngles[r, {a" - }, - { - "label":"EulerCharacteristic", - "type":"keyword", - "info":"EulerCharacteristic[poly] gives the Euler characteristic of a poly." - }, - { - "label":"EulerE", - "type":"keyword", - "info":"EulerE[n] gives the Euler number E . EulerE[n, x] gives the Euler polynomial E (x). \n " - }, - { - "label":"EulerGamma", - "type":"keyword", - "info":"EulerGamma is Euler’s constant Î\.b3, with numerical value ≃ 0.577216. " - }, - { - "label":"EulerianGraphQ", - "type":"keyword", - "info":"EulerianGraphQ[g] yields True if the graph g is Eulerian, and False otherwise." - }, - { - "label":"EulerMatrix", - "type":"keyword", - "info":"EulerMatrix[{Î\\[PlusMinus], Î\.b2, Î\.b3}] gives the Euler 3D rotation matrix formed by rotating by Î\\[PlusMinus] around the current" - }, - { - "label":"EulerPhi", - "type":"keyword", - "info":"EulerPhi[n] gives the Euler totient function ϕ(n). " - }, - { - "label":"Evaluatable", - "type":"keyword", - "info":"Evaluatable is an option for Cell that specifies whether a cell should be used as input to be evalua" - }, - { - "label":"Evaluate", - "type":"keyword", - "info":"Evaluate[expr] causes expr to be evaluated even if it appears as the argument of a function whose at" - }, - { - "label":"Evaluated", - "type":"keyword", - "info":"System`Evaluated" - }, - { - "label":"EvaluatePacket", - "type":"keyword", - "info":"EvaluatePacket[expr] is a WSTP packet requesting evaluation of expr." - }, - { - "label":"EvaluateScheduledTask", - "type":"keyword", - "info":"EvaluateScheduledTask[expr] triggers immediate local execution of the specified task object." - }, - { - "label":"EvaluationBox", - "type":"keyword", - "info":"EvaluationBox[] returns a BoxObject corresponding to the box structure in which this function is bei" - }, - { - "label":"EvaluationCell", - "type":"keyword", - "info":"EvaluationCell[] returns a CellObject corresponding to the cell in which this function is being eval" - }, - { - "label":"EvaluationCompletionAction", - "type":"keyword", - "info":"EvaluationCompletionAction is an option for notebooks that specifies the action taken when an evalua" - }, - { - "label":"EvaluationData", - "type":"keyword", - "info":"EvaluationData[expr] gives an association containing the result of evaluating expr and metadata abou" - }, - { - "label":"EvaluationElements", - "type":"keyword", - "info":"EvaluationElements is an option for NotebookEvaluate that determines which cells to evaluate." - }, - { - "label":"EvaluationEnvironment", - "type":"keyword", - "info":"EvaluationEnvironment is an option for functions such as InitializationValue and InitializationObjec" - }, - { - "label":"EvaluationMode", - "type":"keyword", - "info":"System`EvaluationMode" - }, - { - "label":"EvaluationMonitor", - "type":"keyword", - "info":"EvaluationMonitor is an option for various numerical computation and plotting functions that gives a" - }, - { - "label":"EvaluationNotebook", - "type":"keyword", - "info":"EvaluationNotebook[] gives the notebook in which this function is being evaluated. " - }, - { - "label":"EvaluationObject", - "type":"keyword", - "info":"EvaluationObject[n, expr, …] represents an expression submitted for evaluation on any available para" - }, - { - "label":"EvaluationOrder", - "type":"keyword", - "info":"System`EvaluationOrder" - }, - { - "label":"EvaluationPrivileges", - "type":"keyword", - "info":"EvaluationPrivileges is an option for CloudObject and related cloud functions that specifies what ot" - }, - { - "label":"EvaluationRateLimit", - "type":"keyword", - "info":"System`EvaluationRateLimit" - }, - { - "label":"Evaluator", - "type":"keyword", - "info":"Evaluator is an option for objects such as Button, Dynamic, and Cell that gives the name of the kern" - }, - { - "label":"EvaluatorNames", - "type":"keyword", - "info":"EvaluatorNames is a global option that specifies the kernels that are currently configured to perfor" - }, - { - "label":"EvenQ", - "type":"keyword", - "info":"EvenQ[expr] gives True if expr is an even integer, and False otherwise. " - }, - { - "label":"EventSeries", - "type":"keyword", - "info":"EventSeries[{{t , v }, {t , v } …}] represents a series of events given as time-value pairs {t , v }" - }, - { - "label":"ExactBlackmanWindow", - "type":"keyword", - "info":"ExactBlackmanWindow[x] represents an exact Blackman window function of x." - }, - { - "label":"ExactNumberQ", - "type":"keyword", - "info":"ExactNumberQ[expr] returns True if expr is an exact real or complex number, and returns False otherw" - }, - { - "label":"ExactRootIsolation", - "type":"keyword", - "info":"ExactRootIsolation is an option for Root, which specifies whether exact isolating intervals rather t" - }, - { - "label":"ExampleData", - "type":"keyword", - "info":"ExampleData[\"type\"] gives a list of names of examples of the specified type.ExampleData[{\"type\", \"na" - }, - { - "label":"Except", - "type":"keyword", - "info":"Except[c] is a pattern object which represents any expression except one that matches c. Except[c, p" - }, - { - "label":"ExcludedContexts", - "type":"keyword", - "info":"ExcludedContexts is an option for FullDefinition, Manipulate and related symbols that gives contexts" - }, - { - "label":"ExcludedForms", - "type":"keyword", - "info":"ExcludedForms is an option that gives a list of patterns for expressions that should be excluded fro" - }, - { - "label":"ExcludedLines", - "type":"keyword", - "info":"ExcludedLines is an option for SemanticImport and related functions that specifies which lines shoul" - }, - { - "label":"ExcludedPhysicalQuantities", - "type":"keyword", - "info":"ExcludedPhysicalQuantities is an option for FormulaLookup that specifies physical quantities that sh" - }, - { - "label":"ExcludePods", - "type":"keyword", - "info":"ExcludePods is an option to WolframAlpha that specifies pod IDs to exclude from the results." - }, - { - "label":"Exclusions", - "type":"keyword", - "info":"Exclusions is an option that specifies where to exclude in regions used by functions like Plot, Plot" - }, - { - "label":"ExclusionsStyle", - "type":"keyword", - "info":"ExclusionsStyle is an option to plotting functions that specifies how to render subregions excluded " - }, - { - "label":"Exists", - "type":"keyword", - "info":"Exists[x, expr] represents the statement that there exists a value of x for which expr is True. Exis" - }, - { - "label":"Exit", - "type":"keyword", - "info":"Exit[] terminates a Wolfram Language kernel session. " - }, - { - "label":"ExitDialog", - "type":"keyword", - "info":"System`ExitDialog" - }, - { - "label":"ExoplanetData", - "type":"keyword", - "info":"ExoplanetData[entity, property] gives the value of the specified property for the exoplanet entity.E" - }, - { - "label":"Exp", - "type":"keyword", - "info":"Exp[z] gives the exponential of z. " - }, - { - "label":"Expand", - "type":"keyword", - "info":"Expand[expr] expands out products and positive integer powers in expr. Expand[expr, patt] leaves une" - }, - { - "label":"ExpandAll", - "type":"keyword", - "info":"ExpandAll[expr] expands out all products and integer powers in any part of expr. ExpandAll[expr, pat" - }, - { - "label":"ExpandDenominator", - "type":"keyword", - "info":"ExpandDenominator[expr] expands out products and powers that appear as denominators in expr. " - }, - { - "label":"ExpandFileName", - "type":"keyword", - "info":"ExpandFileName[\"name\"] textually expands name to have the form of an absolute file name for your ope" - }, - { - "label":"ExpandNumerator", - "type":"keyword", - "info":"ExpandNumerator[expr] expands out products and powers that appear in the numerator of expr. " - }, - { - "label":"Expectation", - "type":"keyword", - "info":"Expectation[expr, x  dist] gives the expectation of expr under the assumption that x follows the pr" - }, - { - "label":"ExpectationE", - "type":"keyword", - "info":"System`ExpectationE" - }, - { - "label":"ExpectedValue", - "type":"keyword", - "info":"ExpectedValue[f, list] gives the expected value of the pure function f with respect to the values in" - }, - { - "label":"ExpGammaDistribution", - "type":"keyword", - "info":"ExpGammaDistribution[κ, θ, μ] represents an exp-gamma distribution with shape parameter κ, scale par" - }, - { - "label":"ExpIntegralE", - "type":"keyword", - "info":"ExpIntegralE[n, z] gives the exponential integral function E (z).\n " - }, - { - "label":"Offload", - "type":"keyword", - "info":"Use Offload[expr_] to keep expr from evaluation on Kernel" - }, - { - "label":"ExpIntegralEi", - "type":"keyword", - "info":"ExpIntegralEi[z] gives the exponential integral function Ei(z). " - }, - { - "label":"ExpirationDate", - "type":"keyword", - "info":"ExpirationDate is an option for various functions that specifies when a persistent value should be t" - }, - { - "label":"Exponent", - "type":"keyword", - "info":"Exponent[expr, form] gives the maximum power with which form appears in the expanded form of expr. E" - }, - { - "label":"ExponentFunction", - "type":"keyword", - "info":"ExponentFunction is an option for NumberForm and related functions that determines the exponent to u" - }, - { - "label":"ExponentialDistribution", - "type":"keyword", - "info":"ExponentialDistribution[λ] represents an exponential distribution with scale inversely proportional " - }, - { - "label":"ExponentialFamily", - "type":"keyword", - "info":"ExponentialFamily is an option for GeneralizedLinearModelFit that specifies the exponential family f" - }, - { - "label":"ExponentialGeneratingFunction", - "type":"keyword", - "info":" " - }, - { - "label":"ExponentialMovingAverage", - "type":"keyword", - "info":"ExponentialMovingAverage[list, Î\\[PlusMinus]] gives the exponential moving average of list with smoothing consta" - }, - { - "label":"ExponentialPowerDistribution", - "type":"keyword", - "info":"ExponentialPowerDistribution[κ, μ, σ] represents an exponential power distribution with shape parame" - }, - { - "label":"ExponentPosition", - "type":"keyword", - "info":"ExponentPosition is an option for RadicalBox that specifies the placement of the index outside a rad" - }, - { - "label":"ExponentStep", - "type":"keyword", - "info":"ExponentStep is an option for NumberForm and related functions that determines in what steps exponen" - }, - { - "label":"Export", - "type":"keyword", - "info":"Export[\"dest.ext\", expr] exports data to a file, converting it to the format corresponding to the fi" - }, - { - "label":"ExportAutoReplacements", - "type":"keyword", - "info":"ExportAutoReplacements is an option for cells that specifies which replacement rules the Wolfram Lan" - }, - { - "label":"ExportByteArray", - "type":"keyword", - "info":"ExportByteArray[expr, \"format\"] generates a ByteArray object corresponding to expr exported in the s" - }, - { - "label":"ExportForm", - "type":"keyword", - "info":"ExportForm[expr, \"fmt\"] specifies that expr should be exported in the specified format in functions " - }, - { - "label":"ExportPacket", - "type":"keyword", - "info":"System`ExportPacket" - }, - { - "label":"ExportString", - "type":"keyword", - "info":"ExportString[expr, \"format\"] generates a string corresponding to expr exported in the specified form" - }, - { - "label":"Expression", - "type":"keyword", - "info":"Expression is a symbol that represents an ordinary Wolfram Language expression in Read and related f" - }, - { - "label":"ExpressionCell", - "type":"keyword", - "info":"ExpressionCell[expr] gives an expression cell that can appear in a Wolfram System notebook.Expressio" - }, - { - "label":"ExpressionGraph", - "type":"keyword", - "info":"ExpressionGraph[expr] gives the tree graph with different levels at different depths. ExpressionGrap" - }, - { - "label":"ExpressionPacket", - "type":"keyword", - "info":"System`ExpressionPacket" - }, - { - "label":"ExpressionTree", - "type":"keyword", - "info":"ExpressionTree[expr] gives a Tree object from the structure of the expression expr.ExpressionTree[ex" - }, - { - "label":"ExpressionUUID", - "type":"keyword", - "info":"ExpressionUUID is an option for Cell and Notebook that holds the assigned unique UUID string." - }, - { - "label":"ExpToTrig", - "type":"keyword", - "info":"ExpToTrig[expr] converts exponentials in expr to trigonometric functions. " - }, - { - "label":"ExtendedEntityClass", - "type":"keyword", - "info":"ExtendedEntityClass[class, \"name\"  f] represents an entity class derived from class by adding a new" - }, - { - "label":"ExtendedGCD", - "type":"keyword", - "info":"ExtendedGCD[n , n , …] gives the extended greatest common divisor of the integers n . \n " - }, - { - "label":"Extension", - "type":"keyword", - "info":"Extension is an option for various polynomial and algebraic functions that specifies generators for " - }, - { - "label":"ExtentElementFunction", - "type":"keyword", - "info":"ExtentElementFunction is an option to DiscretePlot and DiscretePlot3D that gives a function to use t" - }, - { - "label":"ExtentMarkers", - "type":"keyword", - "info":"ExtentMarkers is an option to DiscretePlot and DiscretePlot3D that specifies markers to draw at exte" - }, - { - "label":"ExtentSize", - "type":"keyword", - "info":"ExtentSize is an option to DiscretePlot and DiscretePlot3D that specifies how far to extend out from" - }, - { - "label":"ExternalBundle", - "type":"keyword", - "info":"ExternalBundle[{name  obj , name  obj , …}] represents a bundle of resources to be externally de" - }, - { - "label":"ExternalCall", - "type":"keyword", - "info":"System`ExternalCall" - }, - { - "label":"ExternalDataCharacterEncoding", - "type":"keyword", - "info":"ExternalDataCharacterEncoding is a global option that specifies the character encoding used in readi" - }, - { - "label":"ExternalEvaluate", - "type":"keyword", - "info":"ExternalEvaluate[\"sys\", \"cmd\"] evaluates the command cmd in the external evaluator sys, returning an" - }, - { - "label":"ExternalFunction", - "type":"keyword", - "info":"ExternalFunction[sys, \"f\"] represents an external function named \"f\" defined in the external evaluat" - }, - { - "label":"ExternalFunctionName", - "type":"keyword", - "info":"System`ExternalFunctionName" - }, - { - "label":"ExternalIdentifier", - "type":"keyword", - "info":"ExternalIdentifier[\"type\", id] represents a resource identified by id in the external identifier sys" - }, - { - "label":"ExternalObject", - "type":"keyword", - "info":"ExternalObject[…] represents an external object inside an ExternalSessionObject." - }, - { - "label":"ExternalOptions", - "type":"keyword", - "info":"ExternalOptions is an option for EmbedCode and related functions that gives options specific to the " - }, - { - "label":"ExternalSessionObject", - "type":"keyword", - "info":"ExternalSessionObject[…] represents an external session started by StartExternalSession for use with" - }, - { - "label":"ExternalSessions", - "type":"keyword", - "info":"ExternalSessions[] gives the list of currently active external evaluator sessions.ExternalSessions[s" - }, - { - "label":"ExternalStorageBase", - "type":"keyword", - "info":"ExternalStorageBase is an option for various external storage functions that specifies which externa" - }, - { - "label":"ExternalStorageDownload", - "type":"keyword", - "info":"ExternalStorageDownload[location] downloads content from the specified location.ExternalStorageDownl" - }, - { - "label":"ExternalStorageGet", - "type":"keyword", - "info":"ExternalStorageGet[ExternalStorageObject[…]] reads in an expression stored at an external storage sp" - }, - { - "label":"ExternalStorageObject", - "type":"keyword", - "info":"ExternalStorageObject[location] represents a file stored in an external location.ExternalStorageObje" - }, - { - "label":"ExternalStoragePut", - "type":"keyword", - "info":"ExternalStoragePut[expr] writes expr to an external storage specified by ECExternalStorageBase.Extern" - }, - { - "label":"ExternalStorageUpload", - "type":"keyword", - "info":"ExternalStorageUpload[file] uploads file to an external storage specified by ECExternalStorageBase.Ex" - }, - { - "label":"ExternalTypeSignature", - "type":"keyword", - "info":"ExternalTypeSignature is an option for EmbedCode that gives rules specifying the mapping to external" - }, - { - "label":"ExternalValue", - "type":"keyword", - "info":"ExternalValue[sys, \"sym\"] gives the value of \"sym\" in external evaluator sys. ExternalValue[session," - }, - { - "label":"Extract", - "type":"keyword", - "info":"Extract[expr, pos] extracts the part of expr at the position specified by pos. Extract[expr, {pos , " - }, - { - "label":"ExtractArchive", - "type":"keyword", - "info":"ExtractArchive[source] expands an archive file, saving its content into the current directory.Extrac" - }, - { - "label":"ExtractLayer", - "type":"keyword", - "info":"ExtractLayer[] represents a net layer that takes an array and a position specification as inputs and" - }, - { - "label":"ExtractPacletArchive", - "type":"keyword", - "info":"ExtractPacletArchive[file] extracts the contents of the paclet archive file into the directory in wh" - }, - { - "label":"ExtremeValueDistribution", - "type":"keyword", - "info":"ExtremeValueDistribution[Î\\[PlusMinus], Î\.b2] represents an extreme value distribution with location parameter Î\\[PlusMinus] an" - }, - { - "label":"EEC", - "type":"keyword", - "info":"System`EEC" - }, - { - "label":"FaceAlign", - "type":"keyword", - "info":"FaceAlign[image] attempts to find faces in image and align them.FaceAlign[image, fref] gives aligned" - }, - { - "label":"FaceForm", - "type":"keyword", - "info":"FaceForm[g] is a graphics directive which specifies that faces of polygons and other filled graphics" - }, - { - "label":"FaceGrids", - "type":"keyword", - "info":"FaceGrids is an option for three-dimensional graphics functions that specifies grid lines to draw on" - }, - { - "label":"FaceGridsStyle", - "type":"keyword", - "info":"FaceGridsStyle is an option for 3D graphics functions that specifies how face grids should be render" - }, - { - "label":"FaceRecognize", - "type":"keyword", - "info":"FaceRecognize[{example  name , example  name , …}] generates a ClassifierFunction[…] based on th" - }, - { - "label":"FacialFeatures", - "type":"keyword", - "info":"FacialFeatures[image] returns a minimal summary of facial features for all detected faces in image.F" - }, - { - "label":"Factor", - "type":"keyword", - "info":"Factor[poly] factors a polynomial over the integers. Factor[poly, Modulus  p] factors a polynomial " - }, - { - "label":"FactorComplete", - "type":"keyword", - "info":"System`FactorComplete" - }, - { - "label":"Factorial", - "type":"keyword", - "info":"n ! gives the factorial of n. " - }, - { - "label":"Factorial2", - "type":"keyword", - "info":"n !! gives the double factorial of n. " - }, - { - "label":"FactorialMoment", - "type":"keyword", - "info":" th " - }, - { - "label":"FactorialMomentGeneratingFunction", - "type":"keyword", - "info":"FactorialMomentGeneratingFunction[dist, t] gives the factorial moment-generating function for the di" - }, - { - "label":"FactorialPower", - "type":"keyword", - "info":" (n) " - }, - { - "label":"FactorInteger", - "type":"keyword", - "info":"FactorInteger[n] gives a list of the prime factors of the integer n, together with their exponents. " - }, - { - "label":"FactorList", - "type":"keyword", - "info":"FactorList[poly] gives a list of the factors of a polynomial, together with their exponents. " - }, - { - "label":"FactorSquareFree", - "type":"keyword", - "info":"FactorSquareFree[poly] pulls out any multiple factors in a polynomial. " - }, - { - "label":"FactorSquareFreeList", - "type":"keyword", - "info":"FactorSquareFreeList[poly] gives a list of square‐free factors of a polynomial, together with their " - }, - { - "label":"FactorTerms", - "type":"keyword", - "info":"FactorTerms[poly] pulls out any overall numerical factor in poly. FactorTerms[poly, x] pulls out any" - }, - { - "label":"FactorTermsList", - "type":"keyword", - "info":"FactorTermsList[poly] gives a list in which the first element is the overall numerical factor in pol" - }, - { - "label":"Fail", - "type":"keyword", - "info":"System`Fail" - }, - { - "label":"Failure", - "type":"keyword", - "info":"Failure[\"tag\", assoc] represents a failure of a type indicated by tag, with details given by the ass" - }, - { - "label":"FailureAction", - "type":"keyword", - "info":"FailureAction is an option to Query and related functions that determines what should happen when a " - }, - { - "label":"FailureDistribution", - "type":"keyword", - "info":"FailureDistribution[bexpr, {{x , dist }, {x , dist }, …}] represents the failure distribution for a " - }, - { - "label":"FailureQ", - "type":"keyword", - "info":"FailureQ[expr] gives True if expr has head Failure or is equal to ECFailed or ECAborted." - }, - { - "label":"False", - "type":"keyword", - "info":"False is the symbol for the Boolean value false. " - }, - { - "label":"FareySequence", - "type":"keyword", - "info":" th\nFareySeq" - }, - { - "label":"FARIMAProcess", - "type":"keyword", - "info":" " - }, - { - "label":"FeatureDistance", - "type":"keyword", - "info":"FeatureDistance[example , example , extractor] gives the distance between example and example in t" - }, - { - "label":"FeatureExtract", - "type":"keyword", - "info":"FeatureExtract[{example , example , …}] extracts features for each of the example using a feature e" - }, - { - "label":"FeatureExtraction", - "type":"keyword", - "info":"FeatureExtraction[{example , example , …}] generates a FeatureExtractorFunction[…] trained from the " - }, - { - "label":"FeatureExtractor", - "type":"keyword", - "info":"FeatureExtractor is an option for functions such as Classify that specifies how features should be e" - }, - { - "label":"FeatureExtractorFunction", - "type":"keyword", - "info":"FeatureExtractorFunction[…] represents a feature extractor function generated by FeatureExtraction." - }, - { - "label":"FeatureNames", - "type":"keyword", - "info":"FeatureNames is an option for machine learning functions such as Classify or Predict that specifies " - }, - { - "label":"FeatureNearest", - "type":"keyword", - "info":"FeatureNearest[{elem , elem , …}, x] gives the list of elem to which x is nearest in a computed fea" - }, - { - "label":"FeatureSpacePlot", - "type":"keyword", - "info":"FeatureSpacePlot[{example , example , …}] plots features extracted from the example as a scatter pl" - }, - { - "label":"FeatureSpacePlot3D", - "type":"keyword", - "info":"FeatureSpacePlot3D[{example , example , …}] plots features extracted from the example as a scatter " - }, - { - "label":"FeatureTypes", - "type":"keyword", - "info":"FeatureTypes is an option for machine learning functions such as Classify or Predict that specifies " - }, - { - "label":"FEDisableConsolePrintPacket", - "type":"keyword", - "info":"System`FEDisableConsolePrintPacket" - }, - { - "label":"FeedbackLinearize", - "type":"keyword", - "info":"FeedbackLinearize[asys] input-output linearizes the AffineStateSpaceModel asys by state transformati" - }, - { - "label":"FeedbackSector", - "type":"keyword", - "info":"FeedbackSector is an option to NyquistPlot that specifies the sector limits of the nonlinearity in t" - }, - { - "label":"FeedbackSectorStyle", - "type":"keyword", - "info":"FeedbackSectorStyle is an option to NyquistPlot that specifies the style in which graphics of Feedba" - }, - { - "label":"FeedbackType", - "type":"keyword", - "info":"FeedbackType is an option for some control system functions that specifies the feedback type." - }, - { - "label":"FEEnableConsolePrintPacket", - "type":"keyword", - "info":"System`FEEnableConsolePrintPacket" - }, - { - "label":"FetalGrowthData", - "type":"keyword", - "info":"FetalGrowthData[age] returns the values for all properties of fetal development for the specified ag" - }, - { - "label":"Fibonacci", - "type":"keyword", - "info":"Fibonacci[n] gives the Fibonacci number F . Fibonacci[n, x] gives the Fibonacci polynomial F (x). \n " - }, - { - "label":"Fibonorial", - "type":"keyword", - "info":"Fibonorial[n] gives the fibonorial n ! .\n F" - }, - { - "label":"FieldCompletionFunction", - "type":"keyword", - "info":"FieldCompletionFunction is an option for InputField that specifies a function to apply to the input " - }, - { - "label":"FieldHint", - "type":"keyword", - "info":"FieldHint is an option for InputField that specifies contents to display when the input field is emp" - }, - { - "label":"FieldHintStyle", - "type":"keyword", - "info":"FieldHintStyle is an option for InputField that specifies the style to use for displaying the field " - }, - { - "label":"FieldMasked", - "type":"keyword", - "info":"FieldMasked is an option to InputField that determines whether to mask user input." - }, - { - "label":"FieldSize", - "type":"keyword", - "info":"FieldSize is an option for InputField, PopupMenu, and related functions that specifies the size of t" - }, - { - "label":"File", - "type":"keyword", - "info":"File[\"path\"] is a symbolic representation of a location in the local file system. " - }, - { - "label":"FileBaseName", - "type":"keyword", - "info":"FileBaseName[\"file\"] gives the base name for a file without its extension." - }, - { - "label":"FileByteCount", - "type":"keyword", - "info":"FileByteCount[file] gives the number of bytes in a file. " - }, - { - "label":"FileConvert", - "type":"keyword", - "info":"FileConvert[source  \"dest.ext\"] converts the contents of source to the format defined by the extens" - }, - { - "label":"FileDate", - "type":"keyword", - "info":"FileDate[\"file\"] gives the date and time at which a file was last modified. FileDate[\"file\", \"type\"]" - }, - { - "label":"FileExistsQ", - "type":"keyword", - "info":"FileExistsQ[\"name\"] gives True if the file with the specified name exists, and gives False otherwise" - }, - { - "label":"FileExtension", - "type":"keyword", - "info":"FileExtension[\"file\"] gives the file extension for a file name." - }, - { - "label":"FileFormat", - "type":"keyword", - "info":"FileFormat[source] attempts to determine what Import format could be used to import the file corresp" - }, - { - "label":"FileFormatProperties", - "type":"keyword", - "info":"FileFormatProperties[\"fmt\"] returns an association of properties for the specified format \"fmt\".File" - }, - { - "label":"FileFormatQ", - "type":"keyword", - "info":"FileFormatQ[source, \"fmt\"] gives True if the file corresponding to source might be imported as forma" - }, - { - "label":"FileHandler", - "type":"keyword", - "info":"System`FileHandler" - }, - { - "label":"FileHash", - "type":"keyword", - "info":"FileHash[file] gives an integer hash code for the contents of the specified file.FileHash[file, \"typ" - }, - { - "label":"FileInformation", - "type":"keyword", - "info":"System`FileInformation" - }, - { - "label":"FileName", - "type":"keyword", - "info":"System`FileName" - }, - { - "label":"FileNameDepth", - "type":"keyword", - "info":"FileNameDepth[\"name\"] gives the number of path elements in the file name \"file\"." - }, - { - "label":"FileNameDialogSettings", - "type":"keyword", - "info":"FileNameDialogSettings is a global option that specifies settings for the Insert File Path dialog bo" - }, - { - "label":"FileNameDrop", - "type":"keyword", - "info":"FileNameDrop[\"name\", n] drops the first n path elements in the file name \"name\".FileNameDrop[\"name\"," - }, - { - "label":"FileNameForms", - "type":"keyword", - "info":"FileNameForms is an option that specifies the pattern for file names to be selected by a function." - }, - { - "label":"FileNameJoin", - "type":"keyword", - "info":"FileNameJoin[{name , name , …}] joins the name together into a file name suitable for your current " - }, - { - "label":"FileNames", - "type":"keyword", - "info":"FileNames[] lists all files in the current working directory. FileNames[form] lists all files in the" - }, - { - "label":"FileNameSetter", - "type":"keyword", - "info":"FileNameSetter[name] represents a file name setter which displays as a Browse button and when clicke" - }, - { - "label":"FileNameSplit", - "type":"keyword", - "info":"FileNameSplit[\"name\"] splits a file name into a list of parts." - }, - { - "label":"FileNameTake", - "type":"keyword", - "info":"FileNameTake[\"name\"] gives the last path element in the file name \"name\".FileNameTake[\"name\", n] giv" - }, - { - "label":"FileNameToFormatList", - "type":"keyword", - "info":"FileNameToFormatList[] returns lists of file formats corresponding to all registered file name patte" - }, - { - "label":"FilePrint", - "type":"keyword", - "info":"FilePrint[\"file\"] prints out the raw textual contents of file.FilePrint[\"file\", n] prints out the fi" - }, - { - "label":"FileSize", - "type":"keyword", - "info":"FileSize[file] gives the size of a file as a quantity." - }, - { - "label":"FileSystemMap", - "type":"keyword", - "info":"FileSystemMap[f, root] gives an association whose keys are the names of files in root, and whose val" - }, - { - "label":"FileSystemScan", - "type":"keyword", - "info":"FileSystemScan[f, root] evaluates f on all files contained in root.FileSystemScan[f, root, n] restri" - }, - { - "label":"FileTemplate", - "type":"keyword", - "info":"FileTemplate[\"file\"] yields a TemplateObject expression that represents a file template to be applie" - }, - { - "label":"FileTemplateApply", - "type":"keyword", - "info":"FileTemplateApply[template] applies a template, evaluating all template elements it contains, and th" - }, - { - "label":"FileType", - "type":"keyword", - "info":"FileType[\"file\"] gives the type of a file, typically File, Directory, or None. " - }, - { - "label":"FilledCurve", - "type":"keyword", - "info":"FilledCurve[{segment , segment , …}] represents a filled curve consisting of segment followed by se" - }, - { - "label":"FilledCurveBox", - "type":"keyword", - "info":"System`FilledCurveBox" - }, - { - "label":"FilledCurveBoxOptions", - "type":"keyword", - "info":"FilledCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Fille" - }, - { - "label":"FilledTorus", - "type":"keyword", - "info":"FilledTorus[{x, y, z}, {r , r }] represents a filled torus centered at {x, y, z} with inner " - }, - { - "label":"FillForm", - "type":"keyword", - "info":"System`FillForm" - }, - { - "label":"Filling", - "type":"keyword", - "info":"Filling is an option for ListPlot, Plot, Plot3D, and related functions that specifies what filling t" - }, - { - "label":"FillingStyle", - "type":"keyword", - "info":"FillingStyle is an option for ListPlot, Plot, Plot3D, and related functions that specifies the defau" - }, - { - "label":"FillingTransform", - "type":"keyword", - "info":"FillingTransform[image] gives a version of image with all extended minima filled.FillingTransform[im" - }, - { - "label":"FilteredEntityClass", - "type":"keyword", - "info":"FilteredEntityClass[class, f] represents a class of entities where only entities for which the Entit" - }, - { - "label":"FilterRules", - "type":"keyword", - "info":"FilterRules[rules, patt] filters the list rules by picking out only those rules whose left-hand side" - }, - { - "label":"FinancialBond", - "type":"keyword", - "info":"FinancialBond[params, ambientparams] gives the value of a financial bond instrument.FinancialBond[pa" - }, - { - "label":"FinancialData", - "type":"keyword", - "info":"FinancialData[\"name\"] gives the last known price or value for the financial entity specified by \"nam" - }, - { - "label":"FinancialDerivative", - "type":"keyword", - "info":"FinancialDerivative[instrument, params, ambientparams] gives the value of the specified financial in" - }, - { - "label":"FinancialIndicator", - "type":"keyword", - "info":"FinancialIndicator[\"ind\", par , par , …] represents a financial indicator \"ind\" with parameters par " - }, - { - "label":"Find", - "type":"keyword", - "info":"Find[stream, \"text\"] finds the first line in an input stream that contains the specified string. Fin" - }, - { - "label":"FindAnomalies", - "type":"keyword", - "info":"FindAnomalies[{example , example , …}] gives a list of the example that are considered anomalous wi" - }, - { - "label":"FindArgMax", - "type":"keyword", - "info":"FindArgMax[f, x] gives the position x of a local maximum of f.FindArgMax[f, {x, x }] gives the po" - }, - { - "label":"FindArgMin", - "type":"keyword", - "info":"FindArgMin[f, x] gives the position x of a local minimum of f.FindArgMin[f, {x, x }] gives the po" - }, - { - "label":"FindChannels", - "type":"keyword", - "info":"FindChannels[] gives a list of channels in your home area on the channel broker server.FindChannels[" - }, - { - "label":"FindClique", - "type":"keyword", - "info":"FindClique[g] finds a largest clique in the graph g.FindClique[g, n] finds a clique containing at mo" - }, - { - "label":"FindClusters", - "type":"keyword", - "info":"FindClusters[{e , e , …}] partitions the e into clusters of similar elements. FindClusters[{e  v " - }, - { - "label":"FindCookies", - "type":"keyword", - "info":"FindCookies[] gives a list of all currently set cookies.FindCookies[domain] gives a list of cookies " - }, - { - "label":"FindCurvePath", - "type":"keyword", - "info":"FindCurvePath[{{x , y }, {x , y }, …}] gives an ordering of the {x , y } that corresponds to one or " - }, - { - "label":"FindCycle", - "type":"keyword", - "info":"FindCycle[g] finds a cycle in the graph g.FindCycle[g, k] finds a cycle of length at most k in the g" - }, - { - "label":"FindDevices", - "type":"keyword", - "info":"FindDevices[] searches for available devices on your computer system.FindDevices[form] gives a list " - }, - { - "label":"FindDistribution", - "type":"keyword", - "info":"FindDistribution[data] finds a simple functional form to fit the distribution of data.FindDistributi" - }, - { - "label":"FindDistributionParameters", - "type":"keyword", - "info":"FindDistributionParameters[data, dist] finds the parameter estimates for the distribution dist from " - }, - { - "label":"FindDivisions", - "type":"keyword", - "info":"FindDivisions[{x , x }, n] finds a list of about n \"nice\" numbers that divide the interval aroun" - }, - { - "label":"FindEdgeColoring", - "type":"keyword", - "info":"FindEdgeColoring[g] finds a coloring with minimal size for the edges in the graph g.FindEdgeColoring" - }, - { - "label":"FindEdgeCover", - "type":"keyword", - "info":"FindEdgeCover[g] finds an edge cover of the graph g with a minimum number of edges.FindEdgeCover[{v " - }, - { - "label":"FindEdgeCut", - "type":"keyword", - "info":"FindEdgeCut[g] finds a smallest edge cut of the graph g.FindEdgeCut[g, s, t] finds a smallest s-t ed" - }, - { - "label":"FindEdgeIndependentPaths", - "type":"keyword", - "info":"FindEdgeIndependentPaths[g, s, t, k] finds at most k edge-independent paths from vertex s to vertex " - }, - { - "label":"FindEquationalProof", - "type":"keyword", - "info":"FindEquationalProof[thm, axms] tries to find an equational proof of the symbolic theorem thm using t" - }, - { - "label":"FindEulerianCycle", - "type":"keyword", - "info":"FindEulerianCycle[g] finds an Eulerian cycle in the graph g.FindEulerianCycle[g, k] finds at most k " - }, - { - "label":"FindExternalEvaluators", - "type":"keyword", - "info":"FindExternalEvaluators[] finds installed external evaluators that can be used with ExternalEvaluate," - }, - { - "label":"FindFaces", - "type":"keyword", - "info":"FindFaces[image] attempts to find human faces in image and returns a list of bounding boxes.FindFace" - }, - { - "label":"FindFile", - "type":"keyword", - "info":"FindFile[name] finds the file with the specified name that would be loaded by Get[name] and related " - }, - { - "label":"FindFit", - "type":"keyword", - "info":"FindFit[data, expr, pars, vars] finds numerical values of the parameters pars that make expr give a " - }, - { - "label":"FindFormula", - "type":"keyword", - "info":"FindFormula[data] finds a pure function that approximates data.FindFormula[data, x] finds a symbolic" - }, - { - "label":"FindFundamentalCycles", - "type":"keyword", - "info":"FindFundamentalCycles[g] finds fundamental cycles of the graph g." - }, - { - "label":"FindGeneratingFunction", - "type":"keyword", - "info":" th" - }, - { - "label":"FindGeoLocation", - "type":"keyword", - "info":"FindGeoLocation[] attempts to find the current geo location of your computer.FindGeoLocation[\"ip\"] g" - }, - { - "label":"FindGeometricConjectures", - "type":"keyword", - "info":"FindGeometricConjectures[scene] finds conjectures that appear to hold for the GeometricScene object " - }, - { - "label":"FindGeometricTransform", - "type":"keyword", - "info":"FindGeometricTransform[pts , pts ] finds a geometric transformation that aligns positions specified " - }, - { - "label":"FindGraphCommunities", - "type":"keyword", - "info":"FindGraphCommunities[g] finds communities in the graph g.FindGraphCommunities[{v  w, …}] uses rules" - }, - { - "label":"FindGraphIsomorphism", - "type":"keyword", - "info":"FindGraphIsomorphism[g , g ] finds an isomorphism that maps the graph g to g by renaming vertices." - }, - { - "label":"FindGraphPartition", - "type":"keyword", - "info":"FindGraphPartition[g] gives a partition of vertices of the graph g.FindGraphPartition[g, k] gives a " - }, - { - "label":"FindHamiltonianCycle", - "type":"keyword", - "info":"FindHamiltonianCycle[g] finds a Hamiltonian cycle in the graph g.FindHamiltonianCycle[g, k] finds at" - }, - { - "label":"FindHamiltonianPath", - "type":"keyword", - "info":"FindHamiltonianPath[g] finds a Hamiltonian path in the graph g with the smallest total length.FindHa" - }, - { - "label":"FindHiddenMarkovStates", - "type":"keyword", - "info":"FindHiddenMarkovStates[data, hmm] finds the most likely hidden states of the HiddenMarkovProcess hmm" - }, - { - "label":"FindImageText", - "type":"keyword", - "info":"FindImageText[image] detects text in image and returns a single bounding box.FindImageText[image, le" - }, - { - "label":"FindIndependentEdgeSet", - "type":"keyword", - "info":"FindIndependentEdgeSet[g] finds an independent edge set of the graph g with a maximum number of edge" - }, - { - "label":"FindIndependentVertexSet", - "type":"keyword", - "info":"FindIndependentVertexSet[g] finds an independent vertex set of the graph g with a maximum number of " - }, - { - "label":"FindInstance", - "type":"keyword", - "info":"FindInstance[expr, vars] finds an instance of vars that makes the statement expr be True. FindInstan" - }, - { - "label":"FindIntegerNullVector", - "type":"keyword", - "info":"FindIntegerNullVector[{x , x , …, x }] finds a list of integers a such that a x + a x + ⋯ + a " - }, - { - "label":"FindIsomers", - "type":"keyword", - "info":"FindIsomers[chem] returns a list of molecules with the same chemical formula as chem.FindIsomers[che" - }, - { - "label":"FindIsomorphicSubgraph", - "type":"keyword", - "info":"FindIsomorphicSubgraph[g , g ] finds a subgraph of g that is isomorphic to g .FindIsomorphicSubgrap" - }, - { - "label":"FindKClan", - "type":"keyword", - "info":"FindKClan[g, k] finds a largest k-clan in the graph g.FindKClan[g, k, n] finds a k-clan containing a" - }, - { - "label":"FindKClique", - "type":"keyword", - "info":"FindKClique[g, k] finds a largest k-clique in the graph g.FindKClique[g, k, n] finds a k-clique cont" - }, - { - "label":"FindKClub", - "type":"keyword", - "info":"FindKClub[g, k] finds a largest k-club in the graph g." - }, - { - "label":"FindKPlex", - "type":"keyword", - "info":"FindKPlex[g, k] finds a largest k-plex in the graph g.FindKPlex[g, k, n] finds a k-plex containing a" - }, - { - "label":"FindLibrary", - "type":"keyword", - "info":"FindLibrary[lib] finds a dynamic library that can be loaded by LibraryFunctionLoad." - }, - { - "label":"FindLinearRecurrence", - "type":"keyword", - "info":"FindLinearRecurrence[list] finds if possible the minimal linear recurrence that generates list.FindL" - }, - { - "label":"FindList", - "type":"keyword", - "info":"FindList[\"file\", \"text\"] gives a list of lines in the file that contain the specified string. FindLi" - }, - { - "label":"FindMatchingColor", - "type":"keyword", - "info":"FindMatchingColor[image, color] returns a color similar to the color that is present in image.FindMa" - }, - { - "label":"FindMaximum", - "type":"keyword", - "info":"FindMaximum[f, x] searches for a local maximum in f, starting from an automatically selected point.F" - }, - { - "label":"FindMaximumCut", - "type":"keyword", - "info":"FindMaximumCut[g] gives the maximum cut of the graph g." - }, - { - "label":"FindMaximumFlow", - "type":"keyword", - "info":"FindMaximumFlow[g, s, t] finds the maximum flow between source vertex s and target vertex t in a gra" - }, - { - "label":"FindMaxValue", - "type":"keyword", - "info":"FindMaxValue[f, x] gives the value at a local maximum of f.FindMaxValue[f, {x, x }] gives the value " - }, - { - "label":"FindMeshDefects", - "type":"keyword", - "info":"FindMeshDefects[mreg] finds defects in the mesh region mreg.FindMeshDefects[mreg, {def , …}] finds o" - }, - { - "label":"FindMinimum", - "type":"keyword", - "info":"FindMinimum[f, x] searches for a local minimum in f, starting from an automatically selected point.F" - }, - { - "label":"FindMinimumCostFlow", - "type":"keyword", - "info":"FindMinimumCostFlow[g, {sd , sd , …}] finds the minimum cost flow in the graph g with sd , sd , … ve" - }, - { - "label":"FindMinimumCut", - "type":"keyword", - "info":"FindMinimumCut[g] gives the minimum cut of the graph g.FindMinimumCut[{v  w, …}] uses rules v  w t" - }, - { - "label":"FindMinValue", - "type":"keyword", - "info":"FindMinValue[f, x] gives the value at a local minimum of f.FindMinValue[f, {x, x }] gives the value " - }, - { - "label":"FindMoleculeSubstructure", - "type":"keyword", - "info":"FindMoleculeSubstructure[mol, patt] finds a mapping between the atom indices in mol and an occurrenc" - }, - { - "label":"FindPath", - "type":"keyword", - "info":"FindPath[g, s, t] finds a path between vertex s and vertex t in the graph g.FindPath[g, s, t, k] fin" - }, - { - "label":"FindPeaks", - "type":"keyword", - "info":"FindPeaks[list] gives positions and values of the detected peaks in list.FindPeaks[list, σ] finds pe" - }, - { - "label":"FindPermutation", - "type":"keyword", - "info":"FindPermutation[expr] gives a permutation that produces expr by permuting Sort[expr].FindPermutation" - }, - { - "label":"FindPlanarColoring", - "type":"keyword", - "info":"FindPlanarColoring[g] finds a coloring with minimal size for the faces of the planar graph g.FindPla" - }, - { - "label":"FindPointProcessParameters", - "type":"keyword", - "info":"FindPointProcessParameters[pdata, pproc] estimates the parameters of the point process pproc from po" - }, - { - "label":"FindPostmanTour", - "type":"keyword", - "info":"FindPostmanTour[g] finds a Chinese postman tour in the graph g of minimal length.FindPostmanTour[g, " - }, - { - "label":"FindProcessParameters", - "type":"keyword", - "info":"FindProcessParameters[data, proc] finds the parameter estimates for the process proc from data.FindP" - }, - { - "label":"FindRegionTransform", - "type":"keyword", - "info":"FindRegionTransform[reg , reg ] gives the transformation function that maps the region reg to the r" - }, - { - "label":"FindRepeat", - "type":"keyword", - "info":"FindRepeat[list] finds the minimal sublist or subarray that repeats to give list.FindRepeat[list, n]" - }, - { - "label":"FindRoot", - "type":"keyword", - "info":"FindRoot[f, {x, x }] searches for a numerical root of f, starting from the point x = x .FindRoot[lhs" - }, - { - "label":"FindSequenceFunction", - "type":"keyword", - "info":"FindSequenceFunction[{a , a , a , …}] attempts to find a simple function that yields the sequence a " - }, - { - "label":"FindSettings", - "type":"keyword", - "info":"FindSettings is a global option that specifies settings for the Find dialog box." - }, - { - "label":"FindShortestPath", - "type":"keyword", - "info":"FindShortestPath[g, s, t] finds the shortest path from source vertex s to target vertex t in the gra" - }, - { - "label":"FindShortestTour", - "type":"keyword", - "info":"FindShortestTour[{v , v , …}] attempts to find an ordering of the v that minimizes the total distan" - }, - { - "label":"FindSpanningTree", - "type":"keyword", - "info":"FindSpanningTree[{v , v , …, v }] finds a spanning tree that minimizes the total distance between th" - }, - { - "label":"FindSubgraphIsomorphism", - "type":"keyword", - "info":"FindSubgraphIsomorphism[g , g ] finds a subgraph isomorphism that maps the graph g to a subgraph of" - }, - { - "label":"FindSystemModelEquilibrium", - "type":"keyword", - "info":"FindSystemModelEquilibrium[model] searches for an equilibrium to the model model.FindSystemModelEqui" - }, - { - "label":"FindTextualAnswer", - "type":"keyword", - "info":"FindTextualAnswer[text, \"question\"] gives the substring of text that best appears to answer question" - }, - { - "label":"FindThreshold", - "type":"keyword", - "info":"FindThreshold[image] finds a global threshold value that partitions the intensity values in image in" - }, - { - "label":"FindTransientRepeat", - "type":"keyword", - "info":"FindTransientRepeat[list, n] returns a pair of lists {transient, repeat} where the elements of repea" - }, - { - "label":"FindVertexColoring", - "type":"keyword", - "info":"FindVertexColoring[g] finds a coloring with minimal size for the vertices in the graph g. FindVertex" - }, - { - "label":"FindVertexCover", - "type":"keyword", - "info":"FindVertexCover[g] finds a vertex cover of the graph g with a minimum number of vertices.FindVertexC" - }, - { - "label":"FindVertexCut", - "type":"keyword", - "info":"FindVertexCut[g] finds a smallest vertex cut of the graph g.FindVertexCut[g, s, t] finds a smallest " - }, - { - "label":"FindVertexIndependentPaths", - "type":"keyword", - "info":"FindVertexIndependentPaths[g, s, t, k] finds at most k vertex-independent paths from vertex s to ver" - }, - { - "label":"Fine", - "type":"keyword", - "info":"System`Fine" - }, - { - "label":"FinishDynamic", - "type":"keyword", - "info":"FinishDynamic[] finishes updating and displaying all currently visible Dynamic objects. " - }, - { - "label":"FiniteAbelianGroupCount", - "type":"keyword", - "info":"FiniteAbelianGroupCount[n] gives the number of finite Abelian groups of order n." - }, - { - "label":"FiniteGroupCount", - "type":"keyword", - "info":"FiniteGroupCount[n] gives the number of finite groups of order n." - }, - { - "label":"FiniteGroupData", - "type":"keyword", - "info":"FiniteGroupData[name, \"property\"] gives the value of the specified property for the finite group spe" - }, - { - "label":"First", - "type":"keyword", - "info":"First[expr] gives the first element in expr. First[expr, def] gives the first element if it exists, " - }, - { - "label":"FirstCase", - "type":"keyword", - "info":"FirstCase[{e , e , …}, pattern] gives the first e to match pattern, or Missing[\"NotFound\"] if none " - }, - { - "label":"FirstPassageTimeDistribution", - "type":"keyword", - "info":"FirstPassageTimeDistribution[mproc, f] represents the distribution of times for the Markov process m" - }, - { - "label":"FirstPosition", - "type":"keyword", - "info":"FirstPosition[expr, pattern] gives the position of the first element in expr that matches pattern, o" - }, - { - "label":"FischerGroupFi22", - "type":"keyword", - "info":"FischerGroupFi22[] represents the sporadic simple Fischer group Fi .\n " - }, - { - "label":"FischerGroupFi23", - "type":"keyword", - "info":"FischerGroupFi23[] represents the sporadic simple Fischer group Fi .\n " - }, - { - "label":"FischerGroupFi24Prime", - "type":"keyword", - "info":" â€\.b2\nFischerGroupFi24Prime[] rep" - }, - { - "label":"FisherHypergeometricDistribution", - "type":"keyword", - "info":"FisherHypergeometricDistribution[n, n , n , w] represents a Fisher noncentral hypergeometric di" - }, - { - "label":"FisherRatioTest", - "type":"keyword", - "info":" " - }, - { - "label":"FisherZDistribution", - "type":"keyword", - "info":"FisherZDistribution[n, m] represents a Fisher z distribution with n numerator and m denominator degr" - }, - { - "label":"Fit", - "type":"keyword", - "info":"Fit[data, {f , …, f }, {x, y, …}] finds a fit a ⁢ f + … + a ⁢ f to a list of data for functions " - }, - { - "label":"FitAll", - "type":"keyword", - "info":"System`FitAll" - }, - { - "label":"FitRegularization", - "type":"keyword", - "info":"FitRegularization is an option for Fit and FindFit that specifies a regularization for fitting a mod" - }, - { - "label":"FittedModel", - "type":"keyword", - "info":"FittedModel[…] represents the symbolic fitted model obtained from functions like LinearModelFit." - }, - { - "label":"FixedOrder", - "type":"keyword", - "info":"FixedOrder[p , p , …] is a grammar rules pattern object that represents a sequence of elements match" - }, - { - "label":"FixedPoint", - "type":"keyword", - "info":"FixedPoint[f, expr] starts with expr, then applies f repeatedly until the result no longer changes. " - }, - { - "label":"FixedPointList", - "type":"keyword", - "info":"FixedPointList[f, expr] generates a list giving the results of applying f repeatedly, starting with " - }, - { - "label":"FlashSelection", - "type":"keyword", - "info":"System`FlashSelection" - }, - { - "label":"Flat", - "type":"keyword", - "info":"Flat is an attribute that can be assigned to a symbol f to indicate that all expressions involving n" - }, - { - "label":"Flatten", - "type":"keyword", - "info":"Flatten[list] flattens out nested lists. Flatten[list, n] flattens to level n. Flatten[list, n, h] f" - }, - { - "label":"FlattenAt", - "type":"keyword", - "info":" th\nFlattenAt[list, n] flattens out a" - }, - { - "label":"FlattenLayer", - "type":"keyword", - "info":"FlattenLayer[] represents a net layer that flattens any input array into a vector.FlattenLayer[n] re" - }, - { - "label":"FlatTopWindow", - "type":"keyword", - "info":"FlatTopWindow[x] represents an exact flat top window function of x." - }, - { - "label":"FlightData", - "type":"keyword", - "info":"FlightData[spec, options] returns a subset of properties for a flight or selection of flights with s" - }, - { - "label":"FlipView", - "type":"keyword", - "info":"FlipView[{expr , expr }] represents an object which flips between displaying expr and expr each ti" - }, - { - "label":"Floor", - "type":"keyword", - "info":"Floor[x] gives the greatest integer less than or equal to x. Floor[x, a] gives the greatest multiple" - }, - { - "label":"FlowPolynomial", - "type":"keyword", - "info":"FlowPolynomial[g, k] gives the flow polynomial of the graph g.FlowPolynomial[{v  w, …}, …] uses rul" - }, - { - "label":"FlushPrintOutputPacket", - "type":"keyword", - "info":"System`FlushPrintOutputPacket" - }, - { - "label":"Fold", - "type":"keyword", - "info":"Fold[f, x, list] gives the last element of FoldList[f, x, list].Fold[f, list] is equivalent to Fold[" - }, - { - "label":"FoldList", - "type":"keyword", - "info":"FoldList[f, x, {a, b, …}] gives {x, f[x, a], f[f[x, a], b], …}. FoldList[f, {a, b, c, …}] gives {a, " - }, - { - "label":"FoldPair", - "type":"keyword", - "info":"FoldPair[f, y , list] gives the last element of FoldPairList[f, y , list].FoldPair[f, y , list, g] g" - }, - { - "label":"FoldPairList", - "type":"keyword", - "info":"FoldPairList[f, y , {a , a , …}] gives the list of successive x obtained by applying f to pairs of " - }, - { - "label":"FoldWhile", - "type":"keyword", - "info":"FoldWhile[f, x, {a , a , …}, test] returns the first expression f[… f[f[x, a ], a ] …, a ] to which " - }, - { - "label":"FoldWhileList", - "type":"keyword", - "info":"FoldWhileList[f, x, {a , a , …}, test] returns {x, f[x, a ], f[f[x, a ], a ], …}, repeatedly applyin" - }, - { - "label":"FollowRedirects", - "type":"keyword", - "info":"FollowRedirects is an option for URLRead and related functions that specifies whether to follow HTTP" - }, - { - "label":"Font", - "type":"keyword", - "info":"System`Font" - }, - { - "label":"FontColor", - "type":"keyword", - "info":"FontColor is an option for Style, Cell, and related constructs that specifies the default color in w" - }, - { - "label":"FontFamily", - "type":"keyword", - "info":"FontFamily is an option for Style and Cell that specifies the font family in which text should be re" - }, - { - "label":"FontForm", - "type":"keyword", - "info":"System`FontForm" - }, - { - "label":"FontName", - "type":"keyword", - "info":"System`FontName" - }, - { - "label":"FontOpacity", - "type":"keyword", - "info":"System`FontOpacity" - }, - { - "label":"FontPostScriptName", - "type":"keyword", - "info":"FontPostScriptName is an option to StyleBox which changes the current font. A sample specification i" - }, - { - "label":"FontProperties", - "type":"keyword", - "info":"FontProperties specifies font properties." - }, - { - "label":"FontReencoding", - "type":"keyword", - "info":"System`FontReencoding" - }, - { - "label":"FontSize", - "type":"keyword", - "info":"FontSize is an option for Style and Cell that specifies the default size in printer's points of the " - }, - { - "label":"FontSlant", - "type":"keyword", - "info":"FontSlant is an option for Style, Cell, and related constructs that specifies how slanted characters" - }, - { - "label":"FontSubstitutions", - "type":"keyword", - "info":"FontSubstitutions is a global option that gives a list of substitutions to try for font family names" - }, - { - "label":"FontTracking", - "type":"keyword", - "info":"FontTracking is an option for Style and Cell that specifies how condensed or expanded you want the f" - }, - { - "label":"FontVariations", - "type":"keyword", - "info":"FontVariations is an option for Style, Cell, and related constructs that specifies what font variati" - }, - { - "label":"FontWeight", - "type":"keyword", - "info":"FontWeight is an option for Style, Cell, and related constructs that specifies how heavy the charact" - }, - { - "label":"For", - "type":"keyword", - "info":"For[start, test, incr, body] executes start, then repeatedly evaluates body and incr until test fail" - }, - { - "label":"ForAll", - "type":"keyword", - "info":"ForAll[x, expr] represents the statement that expr is True for all values of x. ForAll[x, cond, expr" - }, - { - "label":"ForceVersionInstall", - "type":"keyword", - "info":"ForceVersionInstall is an option to PacletInstall and PacletInstallSubmit that specifies whether an " - }, - { - "label":"Format", - "type":"keyword", - "info":"Format[expr] prints as the formatted form of expr. Assigning values to Format[expr] defines print fo" - }, - { - "label":"FormatRules", - "type":"keyword", - "info":"System`FormatRules" - }, - { - "label":"FormatType", - "type":"keyword", - "info":"FormatType is an option for output streams, graphics, and functions such as Text that specifies the " - }, - { - "label":"FormatTypeAutoConvert", - "type":"keyword", - "info":"FormatTypeAutoConvert is an option for cells that specifies whether the contents of a cell are autom" - }, - { - "label":"FormatValues", - "type":"keyword", - "info":"FormatValues[f] gives a list of transformation rules corresponding to all printing formats (values f" - }, - { - "label":"FormBox", - "type":"keyword", - "info":"FormBox[boxes, form] is a low-level box construct which displays as boxes but specifies that rules a" - }, - { - "label":"FormBoxOptions", - "type":"keyword", - "info":"FormBoxOptions is an option for cells that specifies settings for FormBox objects within the cell." - }, - { - "label":"FormControl", - "type":"keyword", - "info":"FormControl[assoc, struct] represents an editable form in a notebook, with structure specified by st" - }, - { - "label":"FormFunction", - "type":"keyword", - "info":"FormFunction[formspec, func] represents an active form that, when submitted, applies func to the val" - }, - { - "label":"FormLayoutFunction", - "type":"keyword", - "info":"FormLayoutFunction is an option for FormObject and FormFunction that can be used to specify how to l" - }, - { - "label":"FormObject", - "type":"keyword", - "info":"FormObject[{name  type , name  type , …}] represents a form with fields having names name that " - }, - { - "label":"FormPage", - "type":"keyword", - "info":"FormPage[formspec, func] represents an active page that takes input from a form and generates result" - }, - { - "label":"FormProtectionMethod", - "type":"keyword", - "info":"FormProtectionMethod is an option for form generation functions that specifies what method to use fo" - }, - { - "label":"FormTheme", - "type":"keyword", - "info":"FormTheme is an option for FormObject and related functions that specifies an overall theme for a fo" - }, - { - "label":"FormulaData", - "type":"keyword", - "info":"FormulaData[name] gives the equations for the formula name.FormulaData[name, {var  quantity , var " - }, - { - "label":"FormulaLookup", - "type":"keyword", - "info":"FormulaLookup[\"query\"] gives a list of the full names of formulas whose names are consistent with \"q" - }, - { - "label":"FortranForm", - "type":"keyword", - "info":"FortranForm[expr] prints as a Fortran language version of expr. " - }, - { - "label":"Forward", - "type":"keyword", - "info":"Forward is a symbol that represents the forward direction for purposes of motion and animation." - }, - { - "label":"ForwardBackward", - "type":"keyword", - "info":"ForwardBackward is a symbol that represents alternate forward and backward motion or animation." - }, - { - "label":"ForwardCloudCredentials", - "type":"keyword", - "info":"ForwardCloudCredentials is an option for remote evaluation and submission functions that specifies w" - }, - { - "label":"Fourier", - "type":"keyword", - "info":"Fourier[list] finds the discrete Fourier transform of a list of complex numbers.Fourier[list, {p , p" - }, - { - "label":"FourierCoefficient", - "type":"keyword", - "info":" th\nFourierCoefficient[expr, t, n] gives the n coeffici" - }, - { - "label":"FourierCosCoefficient", - "type":"keyword", - "info":" th\nFourierCosCoefficient[expr, t, n] gives the n co" - }, - { - "label":"FourierCosSeries", - "type":"keyword", - "info":" th\nFourierCosSeries[expr, t, n] gives the n -order Fourie" - }, - { - "label":"FourierCosTransform", - "type":"keyword", - "info":"FourierCosTransform[expr, t, ω] gives the symbolic Fourier cosine transform of expr. FourierCosTrans" - }, - { - "label":"FourierDCT", - "type":"keyword", - "info":"FourierDCT[list] finds the Fourier discrete cosine transform of a list of real numbers.FourierDCT[li" - }, - { - "label":"FourierDCTFilter", - "type":"keyword", - "info":"FourierDCTFilter[image, t] reduces noise in image by locally thresholding the discrete cosine transf" - }, - { - "label":"FourierDCTMatrix", - "type":"keyword", - "info":"FourierDCTMatrix[n] returns an n×n discrete cosine transform matrix of type 2.FourierDCTMatrix[n, m]" - }, - { - "label":"FourierDST", - "type":"keyword", - "info":"FourierDST[list] finds the Fourier discrete sine transform of a list of real numbers.FourierDST[list" - }, - { - "label":"FourierDSTMatrix", - "type":"keyword", - "info":"FourierDSTMatrix[n] returns an n×n discrete sine transform matrix of type 2.FourierDSTMatrix[n, m] r" - }, - { - "label":"FourierMatrix", - "type":"keyword", - "info":"FourierMatrix[n] returns an n×n Fourier matrix." - }, - { - "label":"FourierParameters", - "type":"keyword", - "info":"FourierParameters is an option to Fourier and related functions that specifies the conventions to us" - }, - { - "label":"FourierSequenceTransform", - "type":"keyword", - "info":"FourierSequenceTransform[expr, n, ω] gives the Fourier sequence transform of expr.FourierSequenceTra" - }, - { - "label":"FourierSeries", - "type":"keyword", - "info":" th\nFourierSeries[expr, t, n] gives the n -order Fourier seri" - }, - { - "label":"FourierSinCoefficient", - "type":"keyword", - "info":" th\nFourierSinCoefficient[expr, t, n] gives the n co" - }, - { - "label":"FourierSinSeries", - "type":"keyword", - "info":" th\nFourierSinSeries[expr, t, n] gives the n -order Fourie" - }, - { - "label":"FourierSinTransform", - "type":"keyword", - "info":"FourierSinTransform[expr, t, ω] gives the symbolic Fourier sine transform of expr. FourierSinTransfo" - }, - { - "label":"FourierTransform", - "type":"keyword", - "info":"FourierTransform[expr, t, ω] gives the symbolic Fourier transform of expr. FourierTransform[expr, {t" - }, - { - "label":"FourierTrigSeries", - "type":"keyword", - "info":" th\nFourierTrigSeries[expr, t, n] gives the n -order Four" - }, - { - "label":"FoxH", - "type":"keyword", - "info":" " - }, - { - "label":"FoxHReduce", - "type":"keyword", - "info":"FoxHReduce[expr, x] attempts to reduce expr to a single FoxH object as a function of x." - }, - { - "label":"FractionalBrownianMotionProcess", - "type":"keyword", - "info":"FractionalBrownianMotionProcess[μ, σ, h] represents fractional Brownian motion process with drift μ," - }, - { - "label":"FractionalGaussianNoiseProcess", - "type":"keyword", - "info":"FractionalGaussianNoiseProcess[μ, σ, h] represents a fractional Gaussian noise process with drift μ," - }, - { - "label":"FractionalPart", - "type":"keyword", - "info":"FractionalPart[x] gives the fractional part of x. " - }, - { - "label":"FractionBox", - "type":"keyword", - "info":" x\nFractionBox[x, y] is a low-l" - }, - { - "label":"FractionBoxOptions", - "type":"keyword", - "info":"FractionBoxOptions is an option that specifies settings for FractionBox objects." - }, - { - "label":"FractionLine", - "type":"keyword", - "info":"FractionLine is an option for fractions that specifies the thickness of the line separating the nume" - }, - { - "label":"Frame", - "type":"keyword", - "info":"Frame is an option for Graphics, Grid, and other constructs that specifies whether to include a fram" - }, - { - "label":"FrameBox", - "type":"keyword", - "info":"FrameBox[box] is a low-level box construct that represents box with a frame drawn around it. " - }, - { - "label":"FrameBoxOptions", - "type":"keyword", - "info":"FrameBoxOptions is an option that specifies default settings for FrameBox objects." - }, - { - "label":"Framed", - "type":"keyword", - "info":"Framed[expr] displays a framed version of expr. " - }, - { - "label":"FrameInset", - "type":"keyword", - "info":"System`FrameInset" - }, - { - "label":"FrameLabel", - "type":"keyword", - "info":"FrameLabel is an option for Graphics, Manipulate, and related functions that specifies labels to be " - }, - { - "label":"Frameless", - "type":"keyword", - "info":"System`Frameless" - }, - { - "label":"FrameListVideo", - "type":"keyword", - "info":"FrameListVideo[{image , image , …}] generates a video containing frames image , image , etc.\n " - }, - { - "label":"FrameMargins", - "type":"keyword", - "info":"FrameMargins is an option for objects that can be displayed with frames which specifies the absolute" - }, - { - "label":"FrameRate", - "type":"keyword", - "info":"FrameRate is an option to specify the number of frames per second. " - }, - { - "label":"FrameStyle", - "type":"keyword", - "info":"FrameStyle is an option for Graphics, Grid, and other constructs that specifies the style in which t" - }, - { - "label":"FrameTicks", - "type":"keyword", - "info":"FrameTicks is an option for 2D graphics functions that specifies tick marks for the edges of a frame" - }, - { - "label":"FrameTicksStyle", - "type":"keyword", - "info":"FrameTicksStyle is an option for 2D graphics functions that specifies how frame ticks should be rend" - }, - { - "label":"FRatioDistribution", - "type":"keyword", - "info":"FRatioDistribution[n, m] represents an F-ratio distribution with n numerator and m denominator degre" - }, - { - "label":"FrechetDistribution", - "type":"keyword", - "info":"FrechetDistribution[Î\\[PlusMinus], Î\.b2] represents the Fréchet distribution with shape parameter Î\\[PlusMinus] and scale param" - }, - { - "label":"FreeQ", - "type":"keyword", - "info":"FreeQ[expr, form] yields True if no subexpression in expr matches form, and yields False otherwise. " - }, - { - "label":"FrenetSerretSystem", - "type":"keyword", - "info":"FrenetSerretSystem[{x , …, x }, t] gives the generalized curvatures and Frenet–Serret basis for the " - }, - { - "label":"FrequencySamplingFilterKernel", - "type":"keyword", - "info":"FrequencySamplingFilterKernel[{a , …, a }] creates a finite impulse response (FIR) filter kernel usi" - }, - { - "label":"FresnelC", - "type":"keyword", - "info":"FresnelC[z] gives the Fresnel integral C(z). " - }, - { - "label":"FresnelF", - "type":"keyword", - "info":"FresnelF[z] gives the Fresnel auxiliary function F(z)." - }, - { - "label":"FresnelG", - "type":"keyword", - "info":"FresnelG[z] gives the Fresnel auxiliary function G(z)." - }, - { - "label":"FresnelS", - "type":"keyword", - "info":"FresnelS[z] gives the Fresnel integral S(z). " - }, - { - "label":"Friday", - "type":"keyword", - "info":"Friday is a day of the week." - }, - { - "label":"FrobeniusNumber", - "type":"keyword", - "info":"FrobeniusNumber[{a , …, a }] gives the Frobenius number of a , …, a .\n 1 n " - }, - { - "label":"FrobeniusSolve", - "type":"keyword", - "info":"FrobeniusSolve[{a , …, a }, b] gives a list of all solutions of the Frobenius equation a x + … + a" - }, - { - "label":"FromAbsoluteTime", - "type":"keyword", - "info":"FromAbsoluteTime[time] gives a date object corresponding to an absolute time specification as given " - }, - { - "label":"FromCharacterCode", - "type":"keyword", - "info":"FromCharacterCode[n] gives a string consisting of the character with integer code n. FromCharacterCo" - }, - { - "label":"FromCoefficientRules", - "type":"keyword", - "info":"FromCoefficientRules[list, {x , x , …}] constructs a polynomial from a list of rules for exponent ve" - }, - { - "label":"FromContinuedFraction", - "type":"keyword", - "info":"FromContinuedFraction[list] reconstructs a number from the list of its continued fraction terms. " - }, - { - "label":"FromDate", - "type":"keyword", - "info":"FromDate[date] converts a date of the form {y, m, d, h, m, s} to an absolute number of seconds since" - }, - { - "label":"FromDateString", - "type":"keyword", - "info":"FromDateString[\"string\"] gives a date object corresponding to the date represented by \"string\".FromD" - }, - { - "label":"FromDigits", - "type":"keyword", - "info":"FromDigits[list] constructs an integer from the list of its decimal digits. FromDigits[list, b] take" - }, - { - "label":"FromDMS", - "type":"keyword", - "info":"FromDMS[{d, m, s}] converts from degrees, minutes, and seconds to decimal degrees. FromDMS[\"dms\"] co" - }, - { - "label":"FromEntity", - "type":"keyword", - "info":"FromEntity[entity] returns a Wolfram Language object corresponding to an entity." - }, - { - "label":"FromJulianDate", - "type":"keyword", - "info":"FromJulianDate[jd] gives a date object corresponding to the Julian date jd.FromJulianDate[\"type\", jd" - }, - { - "label":"FromLetterNumber", - "type":"keyword", - "info":"FromLetterNumber[n] gives the lowercase letter at position n in the English alphabet.FromLetterNumbe" - }, - { - "label":"FromPolarCoordinates", - "type":"keyword", - "info":"FromPolarCoordinates[{r, θ}] gives the {x, y} Cartesian coordinates corresponding to the polar coord" - }, - { - "label":"FromRomanNumeral", - "type":"keyword", - "info":"FromRomanNumeral[\"string\"] gives the integer corresponding to the Roman numeral \"string\". " - }, - { - "label":"FromSphericalCoordinates", - "type":"keyword", - "info":"FromSphericalCoordinates[{r, θ, ϕ}] gives the {x, y, z} Cartesian coordinates corresponding to the s" - }, - { - "label":"FromUnixTime", - "type":"keyword", - "info":"FromUnixTime[time] gives a date object corresponding to a UnixTime specification." - }, - { - "label":"Front", - "type":"keyword", - "info":"Front is a symbol that represents the front of a graphic for purposes of placement and alignment." - }, - { - "label":"FrontFaceColor", - "type":"keyword", - "info":"System`FrontFaceColor" - }, - { - "label":"FrontFaceGlowColor", - "type":"keyword", - "info":"System`FrontFaceGlowColor" - }, - { - "label":"FrontFaceOpacity", - "type":"keyword", - "info":"System`FrontFaceOpacity" - }, - { - "label":"FrontFaceSpecularColor", - "type":"keyword", - "info":"System`FrontFaceSpecularColor" - }, - { - "label":"FrontFaceSpecularExponent", - "type":"keyword", - "info":"System`FrontFaceSpecularExponent" - }, - { - "label":"FrontFaceSurfaceAppearance", - "type":"keyword", - "info":"System`FrontFaceSurfaceAppearance" - }, - { - "label":"FrontFaceTexture", - "type":"keyword", - "info":"System`FrontFaceTexture" - }, - { - "label":"Full", - "type":"keyword", - "info":"Full is a setting used for certain options, typically indicating that a full range of values should " - }, - { - "label":"FullAxes", - "type":"keyword", - "info":"FullAxes[graphics] returns the axes options of a graphics object." - }, - { - "label":"FullDefinition", - "type":"keyword", - "info":"FullDefinition[symbol] prints as the definitions given for symbol, and all symbols on which these de" - }, - { - "label":"FullForm", - "type":"keyword", - "info":"FullForm[expr] prints as the full form of expr, with no special syntax. " - }, - { - "label":"FullGraphics", - "type":"keyword", - "info":"FullGraphics[g] takes a graphics object, and generates a new one in which objects specified by graph" - }, - { - "label":"FullInformationOutputRegulator", - "type":"keyword", - "info":"FullInformationOutputRegulator[sys, rspec] gives the full state information output regulator for sys" - }, - { - "label":"FullOptions", - "type":"keyword", - "info":"System`FullOptions" - }, - { - "label":"FullRegion", - "type":"keyword", - "info":" n\nFullRegion[n] represents the full region ïž\\[Micro] ." - }, - { - "label":"FullSimplify", - "type":"keyword", - "info":"FullSimplify[expr] tries a wide range of transformations on expr involving elementary and special fu" - }, - { - "label":"Function", - "type":"keyword", - "info":"body & or Function[body] is a pure (or \"anonymous\") function. The formal parameters are # (or #1), #" - }, - { - "label":"FunctionAnalytic", - "type":"keyword", - "info":"FunctionAnalytic[f, x] tests whether f(x) is an analytic function for x ∈ Reals.FunctionAnalytic[f, " - }, - { - "label":"FunctionBijective", - "type":"keyword", - "info":"FunctionBijective[f, x] tests whether f(x)  y has exactly one solution x ∈ Reals for each y ∈ Reals" - }, - { - "label":"FunctionCompile", - "type":"keyword", - "info":"FunctionCompile[f] generates a compiled code function from a pure function.FunctionCompile[{f , f , " - }, - { - "label":"FunctionCompileExport", - "type":"keyword", - "info":"FunctionCompileExport[\"file.ext\", fspec] exports a compiled version of functions fspec in the format" - }, - { - "label":"FunctionCompileExportByteArray", - "type":"keyword", - "info":"FunctionCompileExportByteArray[fspec] gives a byte array of binary LLVM code obtained by compiling t" - }, - { - "label":"FunctionCompileExportLibrary", - "type":"keyword", - "info":"FunctionCompileExportLibrary[file, fspec] exports a compiled version of function specification fspec" - }, - { - "label":"FunctionCompileExportString", - "type":"keyword", - "info":"FunctionCompileExportString[fspec] gives a string of textual LLVM code obtained by compiling the fun" - }, - { - "label":"FunctionContinuous", - "type":"keyword", - "info":"FunctionContinuous[f, x] tests whether f(x) is a real-valued continuous function for x ∈ Reals.Funct" - }, - { - "label":"FunctionConvexity", - "type":"keyword", - "info":"FunctionConvexity[f, {x , x , …}] finds the convexity of the function f with variables x , x , … ove" - }, - { - "label":"FunctionDeclaration", - "type":"keyword", - "info":"FunctionDeclaration[name, typedfun] declares name to be a typed function suitable for use in a compi" - }, - { - "label":"FunctionDiscontinuities", - "type":"keyword", - "info":"FunctionDiscontinuities[f, x] finds the discontinuities of f(x) for x ∈ Reals. FunctionDiscontinuiti" - }, - { - "label":"FunctionDomain", - "type":"keyword", - "info":"FunctionDomain[f, x] finds the largest domain of definition of the real function f of the variable x" - }, - { - "label":"FunctionExpand", - "type":"keyword", - "info":"FunctionExpand[expr] tries to expand out special and certain other functions in expr, when possible " - }, - { - "label":"FunctionInjective", - "type":"keyword", - "info":"FunctionInjective[f, x] tests whether f(x)  y has at most one solution x ∈ Reals for each y.Functio" - }, - { - "label":"FunctionInterpolation", - "type":"keyword", - "info":"FunctionInterpolation[expr, {x, x , x }] evaluates expr with x running from x to x and con" - }, - { - "label":"FunctionLayer", - "type":"keyword", - "info":"FunctionLayer[f] represents a net layer that applies function f to its input." - }, - { - "label":"FunctionMeromorphic", - "type":"keyword", - "info":"FunctionMeromorphic[f, x] test whether f(x) is a meromorphic function of x.FunctionMeromorphic[f, {x" - }, - { - "label":"FunctionMonotonicity", - "type":"keyword", - "info":"FunctionMonotonicity[f, x] finds the monotonicity of the function f with the variable x over the rea" - }, - { - "label":"FunctionPeriod", - "type":"keyword", - "info":"FunctionPeriod[f, x] gives a period p of the function f over the reals such that f(x + p)  f(x).Fun" - }, - { - "label":"FunctionPoles", - "type":"keyword", - "info":"FunctionPoles[f, x] finds the poles of the meromorphic function f with the variable x.FunctionPoles[" - }, - { - "label":"FunctionRange", - "type":"keyword", - "info":"FunctionRange[f, x, y] finds the range of the real function f of the variable x returning the result" - }, - { - "label":"FunctionSign", - "type":"keyword", - "info":"FunctionSign[f, {x , x , …}] finds the real sign of the function f with variables x , x , … over the" - }, - { - "label":"FunctionSingularities", - "type":"keyword", - "info":"FunctionSingularities[f, x] finds the singularities of f(x) for x ∈ Reals. FunctionSingularities[f, " - }, - { - "label":"FunctionSpace", - "type":"keyword", - "info":"FunctionSpace is an option for FindSequenceFunction and related functions that specifies the space o" - }, - { - "label":"FunctionSurjective", - "type":"keyword", - "info":"FunctionSurjective[f, x] tests whether f(x)  y has at least one solution x ∈ ïž\\[Micro] for each y ∈ Reals.F" - }, - { - "label":"FussellVeselyImportance", - "type":"keyword", - "info":"FussellVeselyImportance[rdist, t] gives the Fussell–Vesely importances for all components in the Rel" - }, - { - "label":"GaborFilter", - "type":"keyword", - "info":"GaborFilter[data, r, k] filters data by convolving with a Gabor kernel of pixel radius r and wave ve" - }, - { - "label":"GaborMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"GaborWavelet", - "type":"keyword", - "info":"GaborWavelet[] represents a Gabor wavelet of frequency 6.GaborWavelet[w] represents a Gabor wavelet " - }, - { - "label":"GainMargins", - "type":"keyword", - "info":"GainMargins[lsys] gives the gain margins of the linear time-invariant system lsys." - }, - { - "label":"GainPhaseMargins", - "type":"keyword", - "info":"GainPhaseMargins[lsys] gives the gain and phase margins of the linear time-invariant system lsys." - }, - { - "label":"GalaxyData", - "type":"keyword", - "info":"GalaxyData[entity, property] gives the value of the specified property for the galaxy entity.GalaxyD" - }, - { - "label":"GalleryView", - "type":"keyword", - "info":"GalleryView[{expr , expr , …}] represents an object in which the expr are displayed in a browsable " - }, - { - "label":"Gamma", - "type":"keyword", - "info":"Gamma[z] is the Euler gamma function Γ(z). Gamma[a, z] is the incomplete gamma function Γ(a, z). Gam" - }, - { - "label":"GammaDistribution", - "type":"keyword", - "info":"GammaDistribution[Î\\[PlusMinus], Î\.b2] represents a gamma distribution with shape parameter Î\\[PlusMinus] and scale parameter Î\.b2" - }, - { - "label":"GammaRegularized", - "type":"keyword", - "info":"GammaRegularized[a, z] is the regularized incomplete gamma function Q(a, z). " - }, - { - "label":"GapPenalty", - "type":"keyword", - "info":"GapPenalty is an option for SequenceAlignment and related functions that gives the additional cost a" - }, - { - "label":"GARCHProcess", - "type":"keyword", - "info":"GARCHProcess[κ, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {Î\.b2 , …, Î\.b2 }] represents a generalized autoregressive conditionally hete" - }, - { - "label":"GatedRecurrentLayer", - "type":"keyword", - "info":"GatedRecurrentLayer[n] represents a trainable recurrent layer that takes a sequence of vectors and p" - }, - { - "label":"Gather", - "type":"keyword", - "info":"Gather[list] gathers the elements of list into sublists of identical elements.Gather[list, test] app" - }, - { - "label":"GatherBy", - "type":"keyword", - "info":"GatherBy[list, f] gathers into sublists each set of elements in list that gives the same value when " - }, - { - "label":"GaugeFaceElementFunction", - "type":"keyword", - "info":"GaugeFaceElementFunction is an option for gauge functions that gives a function to use to generate t" - }, - { - "label":"GaugeFaceStyle", - "type":"keyword", - "info":"GaugeFaceStyle is an option for gauge functions that specifies the style in which the face is to be " - }, - { - "label":"GaugeFrameElementFunction", - "type":"keyword", - "info":"GaugeFrameElementFunction is an option for gauge functions that gives a function to generate the pri" - }, - { - "label":"GaugeFrameSize", - "type":"keyword", - "info":"GaugeFrameSize is an option for gauge functions that controls the size of the frame around the gauge" - }, - { - "label":"GaugeFrameStyle", - "type":"keyword", - "info":"GaugeFrameStyle is an option for gauge functions that specifies the style in which the frame is to b" - }, - { - "label":"GaugeLabels", - "type":"keyword", - "info":"GaugeLabels is an option for gauge functions that specifies labels to be placed on the gauge." - }, - { - "label":"GaugeMarkers", - "type":"keyword", - "info":"GaugeMarkers is an option for gauge functions that specifies what markers to draw to mark the values" - }, - { - "label":"GaugeStyle", - "type":"keyword", - "info":"GaugeStyle is an option for gauge functions that specifies styles in which the markers are to be dra" - }, - { - "label":"GaussianFilter", - "type":"keyword", - "info":" " - }, - { - "label":"GaussianIntegers", - "type":"keyword", - "info":"GaussianIntegers is an option for FactorInteger, PrimeQ, Factor, and related functions that specifie" - }, - { - "label":"GaussianMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"GaussianOrthogonalMatrixDistribution", - "type":"keyword", - "info":"GaussianOrthogonalMatrixDistribution[σ, n] represents a Gaussian orthogonal matrix distribution with" - }, - { - "label":"GaussianSymplecticMatrixDistribution", - "type":"keyword", - "info":"GaussianSymplecticMatrixDistribution[σ, n] represents a Gaussian symplectic matrix distribution with" - }, - { - "label":"GaussianUnitaryMatrixDistribution", - "type":"keyword", - "info":"GaussianUnitaryMatrixDistribution[σ, n] represents a Gaussian unitary matrix distribution with matri" - }, - { - "label":"GaussianWindow", - "type":"keyword", - "info":"GaussianWindow[x] represents a Gaussian window function of x.GaussianWindow[x, σ] uses standard devi" - }, - { - "label":"GCD", - "type":"keyword", - "info":"GCD[n , n , …] gives the greatest common divisor of the n . \n 1 2 " - }, - { - "label":"GegenbauerC", - "type":"keyword", - "info":" (m) " - }, - { - "label":"General", - "type":"keyword", - "info":"General is a symbol to which general system messages are attached. " - }, - { - "label":"GeneralizedLinearModelFit", - "type":"keyword", - "info":" " - }, - { - "label":"GenerateAsymmetricKeyPair", - "type":"keyword", - "info":"GenerateAsymmetricKeyPair[] randomly generates a PrivateKey and corresponding PublicKey object for u" - }, - { - "label":"GenerateConditions", - "type":"keyword", - "info":"GenerateConditions is an option for Integrate, Sum, and similar functions that specifies whether exp" - }, - { - "label":"GeneratedAssetFormat", - "type":"keyword", - "info":"GeneratedAssetFormat is an option for functions like VideoGenerator that specifies the format of the" - }, - { - "label":"GeneratedAssetLocation", - "type":"keyword", - "info":"GeneratedAssetLocation is an option for functions like VideoGenerator that specifies the location of" - }, - { - "label":"GeneratedCell", - "type":"keyword", - "info":"GeneratedCell is an option for Cell that indicates whether the cell was generated from the kernel. " - }, - { - "label":"GeneratedCellStyles", - "type":"keyword", - "info":"System`GeneratedCellStyles" - }, - { - "label":"GeneratedDocumentBinding", - "type":"keyword", - "info":"GeneratedDocumentBinding is an option for supplying parameters to a DocumentGenerator during manual " - }, - { - "label":"GenerateDerivedKey", - "type":"keyword", - "info":"GenerateDerivedKey[password] generates a DerivedKey object from the password given.GenerateDerivedKe" - }, - { - "label":"GenerateDigitalSignature", - "type":"keyword", - "info":"GenerateDigitalSignature[expr, key] generates a digital signature for expr using the specified priva" - }, - { - "label":"GenerateDocument", - "type":"keyword", - "info":"GenerateDocument[nb] generates a document by evaluating all template elements in the notebook nb.Gen" - }, - { - "label":"GeneratedParameters", - "type":"keyword", - "info":"GeneratedParameters is an option that specifies how parameters generated to represent the results of" - }, - { - "label":"GeneratedQuantityMagnitudes", - "type":"keyword", - "info":"GeneratedQuantityMagnitudes is an option that specifies how quantities generated to represent the qu" - }, - { - "label":"GenerateFileSignature", - "type":"keyword", - "info":"GenerateFileSignature[\"file\", key] generates a digital signature of file using the specified private" - }, - { - "label":"GenerateHTTPResponse", - "type":"keyword", - "info":"GenerateHTTPResponse[expr] gives the HTTPResponse object that is generated when a cloud object conta" - }, - { - "label":"GenerateSecuredAuthenticationKey", - "type":"keyword", - "info":"GenerateSecuredAuthenticationKey[] generates a new anonymous SecuredAuthenticationKey owned by the c" - }, - { - "label":"GenerateSymmetricKey", - "type":"keyword", - "info":"GenerateSymmetricKey[] randomly generates a SymmetricKey object suitable for use with cryptographic " - }, - { - "label":"GeneratingFunction", - "type":"keyword", - "info":" th\nGenera" - }, - { - "label":"GeneratorDescription", - "type":"keyword", - "info":"GeneratorDescription is an option for providing a textual description for a DocumentGenerator." - }, - { - "label":"GeneratorHistoryLength", - "type":"keyword", - "info":"GeneratorHistoryLength is an option for document generators controlling the number of runs archived " - }, - { - "label":"GeneratorOutputType", - "type":"keyword", - "info":"GeneratorOutputType is an option controlling the file format of documents produced by a DocumentGene" - }, - { - "label":"Generic", - "type":"keyword", - "info":"Generic is a setting for the Mode option of Solve and related functions." - }, - { - "label":"GenericCylindricalDecomposition", - "type":"keyword", - "info":"GenericCylindricalDecomposition[ineqs, {x , x , …}] finds the full-dimensional part of the decomposi" - }, - { - "label":"GenomeData", - "type":"keyword", - "info":"GenomeData[\"gene\"] gives the DNA sequence for the specified gene on the reference human genome.Genom" - }, - { - "label":"GenomeLookup", - "type":"keyword", - "info":"GenomeLookup[\"seq\"] returns the positions of exact matches for the DNA sequence seq on the reference" - }, - { - "label":"GeoAntipode", - "type":"keyword", - "info":"GeoAntipode[loc] gives the antipodal position of location loc.GeoAntipode[g] gives the antipodal pri" - }, - { - "label":"GeoArea", - "type":"keyword", - "info":"GeoArea[g] gives the area of the geo region g." - }, - { - "label":"GeoArraySize", - "type":"keyword", - "info":"GeoArraySize is an option for geographic data functions that determines the dimensions of the array " - }, - { - "label":"GeoBackground", - "type":"keyword", - "info":"GeoBackground is an option that specifies the background style of a GeoGraphics object." - }, - { - "label":"GeoBoundary", - "type":"keyword", - "info":"GeoBoundary[g] returns the boundary line of the geo region g." - }, - { - "label":"GeoBoundingBox", - "type":"keyword", - "info":"GeoBoundingBox[g] gives the geo positions that define the bounding rectangle enclosing the geo regio" - }, - { - "label":"GeoBounds", - "type":"keyword", - "info":"GeoBounds[g] gives the ranges of latitudes and longitudes in the geo region g.GeoBounds[g, Î\.b4] pads r" - }, - { - "label":"GeoBoundsRegion", - "type":"keyword", - "info":"GeoBoundsRegion[{{lat , lat }, {lon , lon }}] is a two-dimensional GeoGraphics primitive tha" - }, - { - "label":"GeoBoundsRegionBoundary", - "type":"keyword", - "info":"GeoBoundsRegionBoundary[{{lat , lat }, {lon , lon }}] is a one-dimensional GeoGraphics primi" - }, - { - "label":"GeoBubbleChart", - "type":"keyword", - "info":"GeoBubbleChart[{reg  val , reg  val , …}] makes a geo bubble chart with bubbles centered at the " - }, - { - "label":"GeoCenter", - "type":"keyword", - "info":"GeoCenter is an option for GeoGraphics that specifies the coordinates of the point that should appea" - }, - { - "label":"GeoCircle", - "type":"keyword", - "info":"GeoCircle[loc, r] is a two-dimensional GeoGraphics primitive that represents a circle of radius r ce" - }, - { - "label":"GeoContourPlot", - "type":"keyword", - "info":"GeoContourPlot[{loc  val , loc  val , …}] makes a geo contour plot from values val defined at s" - }, - { - "label":"GeoDensityPlot", - "type":"keyword", - "info":"GeoDensityPlot[{loc  val , loc  val , …}] makes a geo density plot with colors at the location l" - }, - { - "label":"GeodesicClosing", - "type":"keyword", - "info":"GeodesicClosing[image, ker] gives the geodesic closing of image with respect to the structuring elem" - }, - { - "label":"GeodesicDilation", - "type":"keyword", - "info":"GeodesicDilation[marker, mask] gives the fixed point of the geodesic dilation of the marker constrai" - }, - { - "label":"GeodesicErosion", - "type":"keyword", - "info":"GeodesicErosion[marker, mask] gives the fixed point of the geodesic erosion of the marker constraine" - }, - { - "label":"GeodesicOpening", - "type":"keyword", - "info":"GeodesicOpening[image, ker] gives the geodesic opening of image with respect to the structuring elem" - }, - { - "label":"GeoDestination", - "type":"keyword", - "info":"GeoDestination[loc, {d, Î\\[PlusMinus]}] gives the end position of the geodesic of length d starting from loc wit" - }, - { - "label":"GeodesyData", - "type":"keyword", - "info":"GeodesyData[\"name\", \"property\"] gives the value of the specified property for a named geodetic datum" - }, - { - "label":"GeoDirection", - "type":"keyword", - "info":"GeoDirection[{lat , lon }, {lat , lon }] gives the azimuthal direction from one latitude-longitude p" - }, - { - "label":"GeoDisk", - "type":"keyword", - "info":"GeoDisk[loc, r] is a two-dimensional GeoGraphics primitive that represents a filled disk of radius " - }, - { - "label":"GeoDisplacement", - "type":"keyword", - "info":"GeoDisplacement[{dist, Î\\[PlusMinus]}] represents a geodesic displacement of length dist and initial bearing Î\\[PlusMinus] f" - }, - { - "label":"GeoDistance", - "type":"keyword", - "info":"GeoDistance[{lat , lon }, {lat , lon }] gives the geodesic distance between latitude-longitude posit" - }, - { - "label":"GeoDistanceList", - "type":"keyword", - "info":"GeoDistanceList[{loc , loc , …, loc }] returns the list of geodesic distances between consecutive pa" - }, - { - "label":"GeoElevationData", - "type":"keyword", - "info":"GeoElevationData[] gives the elevation above sea level at ECGeoLocation.GeoElevationData[loc] gives t" - }, - { - "label":"GeoEntities", - "type":"keyword", - "info":"GeoEntities[reg, enttype] gives a list of the geographic entities of type enttype contained in the e" - }, - { - "label":"GeoGraphics", - "type":"keyword", - "info":"GeoGraphics[primitives, options] represents a two-dimensional geographical image." - }, - { - "label":"GeoGraphPlot", - "type":"keyword", - "info":"GeoGraphPlot[{e , e , …}] generates a plot of the geographic graph with edges e .GeoGraphPlot[{v , v" - }, - { - "label":"GeoGraphValuePlot", - "type":"keyword", - "info":"GeoGraphValuePlot[{{src , dest , flow }, {src , dest , flow }, …, {src , dest , flow }}] plots the f" - }, - { - "label":"GeogravityModelData", - "type":"keyword", - "info":"GeogravityModelData[] returns the gravitational field data for the current location.GeogravityModelD" - }, - { - "label":"GeoGridDirectionDifference", - "type":"keyword", - "info":"GeoGridDirectionDifference[proj, loc, Î\.b2] gives the difference between the angle from north to direct" - }, - { - "label":"GeoGridLines", - "type":"keyword", - "info":"GeoGridLines is an option for GeoGraphics that specifies what parallels and meridians to show." - }, - { - "label":"GeoGridLinesStyle", - "type":"keyword", - "info":"GeoGridLinesStyle is an option for GeoGraphics that specifies how parallels and meridians should be " - }, - { - "label":"GeoGridPosition", - "type":"keyword", - "info":"GeoGridPosition[{x, y}, proj] represents a point {x, y} in a planimetric cartographic grid using the" - }, - { - "label":"GeoGridRange", - "type":"keyword", - "info":"GeoGridRange is an option for geographic functions that specifies the range of projected coordinates" - }, - { - "label":"GeoGridRangePadding", - "type":"keyword", - "info":"GeoGridRangePadding is an option for geographic functions that specifies how much to extend the proj" - }, - { - "label":"GeoGridUnitArea", - "type":"keyword", - "info":"GeoGridUnitArea[proj, loc] gives the actual geo area corresponding to a unit area on the geo grid ob" - }, - { - "label":"GeoGridUnitDistance", - "type":"keyword", - "info":"GeoGridUnitDistance[proj, loc, Î\\[PlusMinus]] gives the actual geo distance corresponding to a unit distance on " - }, - { - "label":"GeoGridVector", - "type":"keyword", - "info":"GeoGridVector[loc  {v , v }, proj] represents a horizontal two-dimensional vector of components v ," - }, - { - "label":"GeoGroup", - "type":"keyword", - "info":"GeoGroup[geoobjects] represents a list of geographic objects to be treated as a single object for ce" - }, - { - "label":"GeoHemisphere", - "type":"keyword", - "info":"GeoHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth cen" - }, - { - "label":"GeoHemisphereBoundary", - "type":"keyword", - "info":"GeoHemisphereBoundary[] is a one-dimensional GeoGraphics primitive that represents the boundary line" - }, - { - "label":"GeoHistogram", - "type":"keyword", - "info":"GeoHistogram[locs] plots a density histogram of the geographic locations locs.GeoHistogram[locs, bsp" - }, - { - "label":"GeoIdentify", - "type":"keyword", - "info":"GeoIdentify[enttype] identifies the geographic entities of the type enttype in which the current geo" - }, - { - "label":"GeoImage", - "type":"keyword", - "info":"GeoImage[reg] gives a satellite image of the geo region reg.GeoImage[reg, mapstyle] gives an image o" - }, - { - "label":"GeoLabels", - "type":"keyword", - "info":"GeoLabels is an option for GeoListPlot and GeoRegionValuePlot that specifies whether and how to add " - }, - { - "label":"GeoLength", - "type":"keyword", - "info":"GeoLength[g] gives the length of the geo path g." - }, - { - "label":"GeoListPlot", - "type":"keyword", - "info":"GeoListPlot[{loc , loc , …}] generates a map on which the locations loc are indicated.GeoListPlot[{" - }, - { - "label":"GeoLocation", - "type":"keyword", - "info":"GeoLocation is an option for Interpreter and related functions that specifies the location to assume" - }, - { - "label":"GeologicalPeriodData", - "type":"keyword", - "info":"GeologicalPeriodData[entity, property] gives the value of the specified property for the geological " - }, - { - "label":"GeomagneticModelData", - "type":"keyword", - "info":"GeomagneticModelData[] returns the current magnetic field data for the current location.GeomagneticM" - }, - { - "label":"GeoMarker", - "type":"keyword", - "info":"GeoMarker[] is a GeoGraphics primitive that represents a marker at the current ECGeoLocation.GeoMarke" - }, - { - "label":"GeometricAssertion", - "type":"keyword", - "info":"GeometricAssertion[obj, prop] represents the assertion that the geometric object obj satisfies prop." - }, - { - "label":"GeometricBrownianMotionProcess", - "type":"keyword", - "info":"GeometricBrownianMotionProcess[μ, σ, x ] represents a geometric Brownian motion process with drift μ" - }, - { - "label":"GeometricDistribution", - "type":"keyword", - "info":"GeometricDistribution[p] represents a geometric distribution with probability parameter p. " - }, - { - "label":"GeometricMean", - "type":"keyword", - "info":"GeometricMean[list] gives the geometric mean of the values in list." - }, - { - "label":"GeometricMeanFilter", - "type":"keyword", - "info":" " - }, - { - "label":"GeometricOptimization", - "type":"keyword", - "info":" " - }, - { - "label":"GeometricScene", - "type":"keyword", - "info":"GeometricScene[{p , p , …}, {hyp , hyp , …}] represents an abstract 2D geometric scene defined by th" - }, - { - "label":"GeometricStep", - "type":"keyword", - "info":"GeometricStep[{hyp , hyp , …}] gives a symbolic representation of a step in the definition of a geom" - }, - { - "label":"GeometricTest", - "type":"keyword", - "info":"GeometricTest[obj, prop] tests whether the geometric object obj satisfies prop.GeometricTest[{obj , " - }, - { - "label":"GeometricTransformation", - "type":"keyword", - "info":"GeometricTransformation[g, tfun] represents the result of applying the transformation function tfun " - }, - { - "label":"GeometricTransformation3DBox", - "type":"keyword", - "info":"System`GeometricTransformation3DBox" - }, - { - "label":"GeometricTransformation3DBoxOptions", - "type":"keyword", - "info":"GeometricTransformation3DBoxOptions  {opt  val , opt  val , …} is an option that specifies sett" - }, - { - "label":"GeometricTransformationBox", - "type":"keyword", - "info":"System`GeometricTransformationBox" - }, - { - "label":"GeometricTransformationBoxOptions", - "type":"keyword", - "info":"GeometricTransformationBoxOptions  {opt  val , opt  val , …} is an option that specifies settin" - }, - { - "label":"GeoModel", - "type":"keyword", - "info":"GeoModel is an option for GeoGraphics that specifies the reference body or model for it for the purp" - }, - { - "label":"GeoNearest", - "type":"keyword", - "info":"GeoNearest[enttype, loc] returns the geographic entity of type enttype closest to the geo location l" - }, - { - "label":"GeoOrientationData", - "type":"keyword", - "info":"GeoOrientationData[date, prop] gives the value of the property prop about the orientation of the Ear" - }, - { - "label":"GeoPath", - "type":"keyword", - "info":"GeoPath[{loc , loc }, pathtype] is a GeoGraphics primitive that represents a path of type pathtype b" - }, - { - "label":"GeoPolygon", - "type":"keyword", - "info":"GeoPolygon[{loc , …, loc }] is a GeoGraphics primitive that represents a filled polygon whose bounda" - }, - { - "label":"GeoPosition", - "type":"keyword", - "info":"GeoPosition[{lat, lon}] represents a geodetic position with latitude lat and longitude lon.GeoPositi" - }, - { - "label":"GeoPositionENU", - "type":"keyword", - "info":"GeoPositionENU[{east, north, up}, p] represents a position with local Cartesian coordinates {east, " - }, - { - "label":"GeoPositionXYZ", - "type":"keyword", - "info":"GeoPositionXYZ[{x, y, z}] represents a position in a Cartesian geocentric coordinate system.GeoPosit" - }, - { - "label":"GeoProjection", - "type":"keyword", - "info":"GeoProjection is an option for GeoGraphics that specifies the cartographic projection to use for the" - }, - { - "label":"GeoProjectionData", - "type":"keyword", - "info":"GeoProjectionData[\"projection\", \"property\"] gives the value of the specified property for the specif" - }, - { - "label":"GeoRange", - "type":"keyword", - "info":"GeoRange is an option for geographic functions that specifies the range of latitude and longitude to" - }, - { - "label":"GeoRangePadding", - "type":"keyword", - "info":"GeoRangePadding is an option for GeoGraphics that specifies what padding to use when extending beyon" - }, - { - "label":"GeoRegionValuePlot", - "type":"keyword", - "info":"GeoRegionValuePlot[{reg  val , reg  val , …}] generates a plot in which the geographic regions r" - }, - { - "label":"GeoResolution", - "type":"keyword", - "info":"GeoResolution is an option for geographic functions that specifies an average distance between neigh" - }, - { - "label":"GeoScaleBar", - "type":"keyword", - "info":"GeoScaleBar is an option for GeoGraphics that determines what scale to show on the map." - }, - { - "label":"GeoServer", - "type":"keyword", - "info":"GeoServer is an option for GeoGraphics, GeoStyling and GeoImage that specifies the URL address of a " - }, - { - "label":"GeoSmoothHistogram", - "type":"keyword", - "info":"GeoSmoothHistogram[locs] plots a smooth kernel histogram of the geo locations locs.GeoSmoothHistogra" - }, - { - "label":"GeoStreamPlot", - "type":"keyword", - "info":"GeoStreamPlot[vecs] generates a stream plot from the field of geo vectors vecs.GeoStreamPlot[{vecs ," - }, - { - "label":"GeoStyling", - "type":"keyword", - "info":"GeoStyling[mapstyle] displays faces of polygons and other filled geo objects using mapstyle.GeoStyli" - }, - { - "label":"GeoStylingImageFunction", - "type":"keyword", - "info":"GeoStylingImageFunction is an option for specifying an image effect to apply to a geo style." - }, - { - "label":"GeoVariant", - "type":"keyword", - "info":"GeoVariant[obj, qual] represents a geographic object obj with qualifier qual." - }, - { - "label":"GeoVector", - "type":"keyword", - "info":"GeoVector[loc  {m, Î\\[PlusMinus]}] represents a horizontal two-dimensional vector of magnitude m and bearing Î\\[PlusMinus] " - }, - { - "label":"GeoVectorENU", - "type":"keyword", - "info":"GeoVectorENU[loc  {v , v }] represents a horizontal two-dimensional vector of components v and v " - }, - { - "label":"GeoVectorPlot", - "type":"keyword", - "info":"GeoVectorPlot[vecs] generates a vector plot from the field of geo vectors vecs.GeoVectorPlot[{vecs ," - }, - { - "label":"GeoVectorXYZ", - "type":"keyword", - "info":"GeoVectorXYZ[loc  {v , v , v }] represents a three-dimensional vector of Cartesian components v , v" - }, - { - "label":"GeoVisibleRegion", - "type":"keyword", - "info":"GeoVisibleRegion[{lat, lon, h}] is a two-dimensional GeoGraphics primitive that represents the regio" - }, - { - "label":"GeoVisibleRegionBoundary", - "type":"keyword", - "info":"GeoVisibleRegionBoundary[{lat, lon, h}] is a one-dimensional GeoGraphics primitive that represents t" - }, - { - "label":"GeoWithinQ", - "type":"keyword", - "info":"GeoWithinQ[reg, loc] returns True if the location loc is contained within the region reg, and False " - }, - { - "label":"GeoZoomLevel", - "type":"keyword", - "info":"GeoZoomLevel is an option for specifying the resolution at which to render a map." - }, - { - "label":"GestureHandler", - "type":"keyword", - "info":"GestureHandler[expr, {gesture  fun , gesture  fun , …}] displays as expr, evaluating fun [value," - }, - { - "label":"GestureHandlerTag", - "type":"keyword", - "info":"System`GestureHandlerTag" - }, - { - "label":"Get", - "type":"keyword", - "info":"<< name reads in a file, evaluating each expression in it and returning the last one. Get[stream] re" - }, - { - "label":"GetBoundingBoxSizePacket", - "type":"keyword", - "info":"System`GetBoundingBoxSizePacket" - }, - { - "label":"GetContext", - "type":"keyword", - "info":"GetContext[\"context`\"] loads the file named by ContextToFileName[\"context`\"], which gives the conven" - }, - { - "label":"GetEnvironment", - "type":"keyword", - "info":"GetEnvironment[\"var\"] gives the setting corresponding to the variable \"var\" in the operating system " - }, - { - "label":"GetFileName", - "type":"keyword", - "info":"System`GetFileName" - }, - { - "label":"GetLinebreakInformationPacket", - "type":"keyword", - "info":"System`GetLinebreakInformationPacket" - }, - { - "label":"GetMenusPacket", - "type":"keyword", - "info":"System`GetMenusPacket" - }, - { - "label":"GetPageBreakInformationPacket", - "type":"keyword", - "info":"System`GetPageBreakInformationPacket" - }, - { - "label":"GibbsPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"Glaisher", - "type":"keyword", - "info":"Glaisher is Glaisher's constant with numerical value ≃ 1.28243. " - }, - { - "label":"GlobalClusteringCoefficient", - "type":"keyword", - "info":"GlobalClusteringCoefficient[g] gives the global clustering coefficient of the graph g.GlobalClusteri" - }, - { - "label":"GlobalPreferences", - "type":"keyword", - "info":"System`GlobalPreferences" - }, - { - "label":"GlobalSession", - "type":"keyword", - "info":"System`GlobalSession" - }, - { - "label":"Glow", - "type":"keyword", - "info":"Glow[col] is a graphics directive which specifies that surfaces of 3D graphics objects that follow a" - }, - { - "label":"GoldenAngle", - "type":"keyword", - "info":"GoldenAngle is the golden angle (3 - Sqrt[5]) π, with numerical value ≃ 137.5Â\\[Degree]." - }, - { - "label":"GoldenRatio", - "type":"keyword", - "info":" 1\nGoldenRatio is the golden ratio ϕ  - (Sqrt[5] + 1), with nume" - }, - { - "label":"GompertzMakehamDistribution", - "type":"keyword", - "info":"GompertzMakehamDistribution[λ, ξ] represents a Gompertz distribution with scale parameter λ and frai" - }, - { - "label":"GoochShading", - "type":"keyword", - "info":"GoochShading[] is a three-dimensional graphics directive specifying that surfaces that follow are to" - }, - { - "label":"GoodmanKruskalGamma", - "type":"keyword", - "info":" " - }, - { - "label":"GoodmanKruskalGammaTest", - "type":"keyword", - "info":"GoodmanKruskalGammaTest[v , v ] tests whether the vectors v and v are independent.GoodmanKruskalGa" - }, - { - "label":"Goto", - "type":"keyword", - "info":"Goto[tag] scans for Label[tag], and transfers control to that point. " - }, - { - "label":"Grad", - "type":"keyword", - "info":"Grad[f, {x , …, x }] gives the gradient (∂ f\/∂ x , …, ∂ f\/∂ x ).Grad[f, {x , …, x }, chart] gives th" - }, - { - "label":"Gradient", - "type":"keyword", - "info":"Gradient is an option for FindMinimum and related functions that specifies the gradient vector to as" - }, - { - "label":"GradientFilter", - "type":"keyword", - "info":"GradientFilter[data, r] gives the magnitude of the gradient of data, computed using discrete derivat" - }, - { - "label":"GradientFittedMesh", - "type":"keyword", - "info":"GradientFittedMesh[{p , p , …}] gives a MeshRegion whose gradient best fits the normals at points p " - }, - { - "label":"GradientOrientationFilter", - "type":"keyword", - "info":"GradientOrientationFilter[data, r] gives the local orientation parallel to the gradient of data, com" - }, - { - "label":"GrammarApply", - "type":"keyword", - "info":"GrammarApply[grammar, input] attempts to parse input according to the grammar defined by grammar." - }, - { - "label":"GrammarRules", - "type":"keyword", - "info":"GrammarRules[rules] represents grammar rules to be deployed to a cloud object that implements the gr" - }, - { - "label":"GrammarToken", - "type":"keyword", - "info":"GrammarToken[form] is a grammar rules pattern object that represents any input of the specified form" - }, - { - "label":"Graph", - "type":"keyword", - "info":"Graph[{e , e , …}] yields a graph with edges e .Graph[{v , v , …}, {e , e , …}] yields the graph wit" - }, - { - "label":"Graph3D", - "type":"keyword", - "info":"Graph3D[g] creates a graph with vertices and edges from the graph g and represented as a 3D plot.Gra" - }, - { - "label":"GraphAssortativity", - "type":"keyword", - "info":"GraphAssortativity[g] gives the assortativity coefficient of a graph g using vertex degrees.GraphAss" - }, - { - "label":"GraphAutomorphismGroup", - "type":"keyword", - "info":"GraphAutomorphismGroup[g] gives the automorphism group of a graph g.GraphAutomorphismGroup[{v  w, …" - }, - { - "label":"GraphCenter", - "type":"keyword", - "info":"GraphCenter[g] gives the set of vertices with minimum eccentricity in the graph g.GraphCenter[{v  w" - }, - { - "label":"GraphComplement", - "type":"keyword", - "info":"GraphComplement[g] gives the graph complement of the graph g.GraphComplement[{v  w, …}] uses rules " - }, - { - "label":"GraphData", - "type":"keyword", - "info":"GraphData[name] gives a graph with the specified name.GraphData[entity] gives the graph correspondin" - }, - { - "label":"GraphDensity", - "type":"keyword", - "info":"GraphDensity[g] gives the graph density of the graph g.GraphDensity[{v  w, …}] uses rules v  w to " - }, - { - "label":"GraphDiameter", - "type":"keyword", - "info":"GraphDiameter[g] gives the greatest distance between any pair of vertices in the graph g.GraphDiamet" - }, - { - "label":"GraphDifference", - "type":"keyword", - "info":"GraphDifference[g , g ] gives the graph difference of the graphs g and g .GraphDifference[{v  w, …" - }, - { - "label":"GraphDisjointUnion", - "type":"keyword", - "info":"GraphDisjointUnion[g , g ] gives the graph disjoint union of the graphs g and g .GraphDisjointUnion" - }, - { - "label":"GraphDistance", - "type":"keyword", - "info":"GraphDistance[g, s, t] gives the distance from source vertex s to target vertex t in the graph g.Gra" - }, - { - "label":"GraphDistanceMatrix", - "type":"keyword", - "info":"GraphDistanceMatrix[g] gives the matrix of distances between vertices for the graph g.GraphDistanceM" - }, - { - "label":"GraphElementData", - "type":"keyword", - "info":"System`GraphElementData" - }, - { - "label":"GraphEmbedding", - "type":"keyword", - "info":"GraphEmbedding[g] gives coordinates of the vertices of the graph g.GraphEmbedding[g, \"emb\"] gives co" - }, - { - "label":"GraphHighlight", - "type":"keyword", - "info":"GraphHighlight is an option to Graph and related objects that specifies graph elements to highlight." - }, - { - "label":"GraphHighlightStyle", - "type":"keyword", - "info":"GraphHighlightStyle is an option to Graph and related objects that specifies styles to use for highl" - }, - { - "label":"GraphHub", - "type":"keyword", - "info":"GraphHub[g] gives the set of vertices with maximum vertex degree in the underlying simple graph of g" - }, - { - "label":"Graphics", - "type":"keyword", - "info":"Graphics[primitives, options] represents a two-dimensional graphical image. " - }, - { - "label":"Graphics3D", - "type":"keyword", - "info":"Graphics3D[primitives, options] represents a three-dimensional graphical image. " - }, - { - "label":"Graphics3DBox", - "type":"keyword", - "info":"System`Graphics3DBox" - }, - { - "label":"Graphics3DBoxOptions", - "type":"keyword", - "info":"Graphics3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Graphi" - }, - { - "label":"GraphicsArray", - "type":"keyword", - "info":"GraphicsArray[{g , g , …}] represents a row of graphics objects.GraphicsArray[{{g , g , …}, …}] re" - }, - { - "label":"GraphicsBaseline", - "type":"keyword", - "info":"System`GraphicsBaseline" - }, - { - "label":"GraphicsBox", - "type":"keyword", - "info":"System`GraphicsBox" - }, - { - "label":"GraphicsBoxOptions", - "type":"keyword", - "info":"GraphicsBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Graphics" - }, - { - "label":"GraphicsColor", - "type":"keyword", - "info":"System`GraphicsColor" - }, - { - "label":"GraphicsColumn", - "type":"keyword", - "info":"GraphicsColumn[{g , g , …}] generates a graphic in which the g are laid out in a column, with g ab" - }, - { - "label":"GraphicsComplex", - "type":"keyword", - "info":"GraphicsComplex[{pt , pt , …}, data] represents a graphics complex in which coordinates given as int" - }, - { - "label":"GraphicsComplex3DBox", - "type":"keyword", - "info":"System`GraphicsComplex3DBox" - }, - { - "label":"GraphicsComplex3DBoxOptions", - "type":"keyword", - "info":"GraphicsComplex3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for" - }, - { - "label":"GraphicsComplexBox", - "type":"keyword", - "info":"System`GraphicsComplexBox" - }, - { - "label":"GraphicsComplexBoxOptions", - "type":"keyword", - "info":"GraphicsComplexBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for G" - }, - { - "label":"GraphicsContents", - "type":"keyword", - "info":"System`GraphicsContents" - }, - { - "label":"GraphicsData", - "type":"keyword", - "info":"System`GraphicsData" - }, - { - "label":"GraphicsGrid", - "type":"keyword", - "info":"GraphicsGrid[{{g , g , …}, …}] generates a graphic in which the g are laid out in a two-dimensio" - }, - { - "label":"GraphicsGridBox", - "type":"keyword", - "info":"System`GraphicsGridBox" - }, - { - "label":"GraphicsGroup", - "type":"keyword", - "info":"GraphicsGroup[{g , g , …}] represents a collection of graphics objects grouped together for purposes" - }, - { - "label":"GraphicsGroup3DBox", - "type":"keyword", - "info":"System`GraphicsGroup3DBox" - }, - { - "label":"GraphicsGroup3DBoxOptions", - "type":"keyword", - "info":"GraphicsGroup3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for G" - }, - { - "label":"GraphicsGroupBox", - "type":"keyword", - "info":"System`GraphicsGroupBox" - }, - { - "label":"GraphicsGroupBoxOptions", - "type":"keyword", - "info":"GraphicsGroupBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Gra" - }, - { - "label":"GraphicsGrouping", - "type":"keyword", - "info":"System`GraphicsGrouping" - }, - { - "label":"GraphicsHighlightColor", - "type":"keyword", - "info":"System`GraphicsHighlightColor" - }, - { - "label":"GraphicsRow", - "type":"keyword", - "info":"GraphicsRow[{g , g , …}] generates a graphic in which the g are laid out in a row.GraphicsRow[list," - }, - { - "label":"GraphicsSpacing", - "type":"keyword", - "info":"GraphicsSpacing is an option for GraphicsArray that specifies the spacing between elements in the ar" - }, - { - "label":"GraphicsStyle", - "type":"keyword", - "info":"System`GraphicsStyle" - }, - { - "label":"GraphIntersection", - "type":"keyword", - "info":"GraphIntersection[g , g ] gives the graph intersection of the graphs g and g .GraphIntersection[g ," - }, - { - "label":"GraphLayerLabels", - "type":"keyword", - "info":"System`GraphLayerLabels" - }, - { - "label":"GraphLayers", - "type":"keyword", - "info":"GraphLayers is an option for LayeredGraphPlot3D and related functions that specifies layers to draw " - }, - { - "label":"GraphLayerStyle", - "type":"keyword", - "info":"GraphLayerStyle is an option for LayeredGraphPlot3D and related functions that specifies the style i" - }, - { - "label":"GraphLayout", - "type":"keyword", - "info":"GraphLayout is an option to Graph and related functions that specifies what layout to use." - }, - { - "label":"GraphLinkEfficiency", - "type":"keyword", - "info":"GraphLinkEfficiency[g] gives the link efficiency of the graph g.GraphLinkEfficiency[{v  w, …}] uses" - }, - { - "label":"GraphPeriphery", - "type":"keyword", - "info":"GraphPeriphery[g] gives vertices that are maximally distant to at least one vertex in the graph g.Gr" - }, - { - "label":"GraphPlot", - "type":"keyword", - "info":"GraphPlot[g] generates a plot of the graph g.GraphPlot[{e , e , …}] generates a plot of the graph wi" - }, - { - "label":"GraphPlot3D", - "type":"keyword", - "info":"GraphPlot3D[g] generates a 3D plot of the graph g.GraphPlot3D[{e , e , …}] generates a 3D plot of th" - }, - { - "label":"GraphPower", - "type":"keyword", - "info":" th\nGraphPower[g, n] gives the graph-n power of the graph g.Gra" - }, - { - "label":"GraphPropertyDistribution", - "type":"keyword", - "info":"GraphPropertyDistribution[expr, x  gdist] represents the distribution of the property expr where th" - }, - { - "label":"GraphQ", - "type":"keyword", - "info":"GraphQ[g] yields True if g is a valid Graph object and False otherwise." - }, - { - "label":"GraphRadius", - "type":"keyword", - "info":"GraphRadius[g] gives the minimum eccentricity of the vertices in the graph g.GraphRadius[{v  w, …}]" - }, - { - "label":"GraphReciprocity", - "type":"keyword", - "info":"GraphReciprocity[g] gives the reciprocity of a graph g.GraphReciprocity[{v  w, …}] uses rules v  w" - }, - { - "label":"GraphRoot", - "type":"keyword", - "info":"System`GraphRoot" - }, - { - "label":"GraphStyle", - "type":"keyword", - "info":"GraphStyle is an option to Graph and related objects that specifies styles to use for the different " - }, - { - "label":"GraphTree", - "type":"keyword", - "info":"GraphTree[g] constructs a tree from the tree graph g.GraphTree[g, root] specifies what vertex to use" - }, - { - "label":"GraphUnion", - "type":"keyword", - "info":"GraphUnion[g , g ] gives the graph union of the graphs g and g .GraphUnion[g , g , …] gives the gra" - }, - { - "label":"Gray", - "type":"keyword", - "info":"Gray represents the color gray in graphics or style specifications. " - }, - { - "label":"GrayLevel", - "type":"keyword", - "info":"GrayLevel[g] represents a color in the grayscale color space with gray level g.GrayLevel[g, a] speci" - }, - { - "label":"Greater", - "type":"keyword", - "info":"x > y yields True if x is determined to be greater than y. x > x > x yields True if the x form a" - }, - { - "label":"GreaterEqual", - "type":"keyword", - "info":"x >= y or x ≥ y yields True if x is determined to be greater than or equal to y. x ≥ x ≥ x yields" - }, - { - "label":"GreaterEqualLess", - "type":"keyword", - "info":"GreaterEqualLess[x, y, …] displays as x ⋛ y ⋛ …." - }, - { - "label":"GreaterEqualThan", - "type":"keyword", - "info":"GreaterEqualThan[y] is an operator form that yields x ≥ y when applied to an expression x." - }, - { - "label":"GreaterFullEqual", - "type":"keyword", - "info":"GreaterFullEqual[x, y, …] displays as x ≧ y ≧ …." - }, - { - "label":"GreaterGreater", - "type":"keyword", - "info":"GreaterGreater[x, y, …] displays as x ≫ y ≫ …." - }, - { - "label":"GreaterLess", - "type":"keyword", - "info":"GreaterLess[x, y, …] displays as x â‰\\[CenterDot] y â‰\\[CenterDot] …." - }, - { - "label":"GreaterSlantEqual", - "type":"keyword", - "info":"GreaterSlantEqual[x, y, …] displays as x ⩾ y ⩾ …." - }, - { - "label":"GreaterThan", - "type":"keyword", - "info":"GreaterThan[y] is an operator form that yields x > y when applied to an expression x." - }, - { - "label":"GreaterTilde", - "type":"keyword", - "info":"GreaterTilde[x, y, …] displays as x â‰\.b3 y â‰\.b3 …." - }, - { - "label":"GreekStyle", - "type":"keyword", - "info":"System`GreekStyle" - }, - { - "label":"Green", - "type":"keyword", - "info":"Green represents the color green in graphics or style specifications. " - }, - { - "label":"GreenFunction", - "type":"keyword", - "info":"GreenFunction[{ℒ[u[x]], â„\\[Not][u[x]]}, u, {x, x , x }, y] gives a Green's function for the linear dif" - }, - { - "label":"Grid", - "type":"keyword", - "info":"Grid[{{expr , expr , …}, {expr , expr , …}, …}] is an object that formats with the expr arrang" - }, - { - "label":"GridBaseline", - "type":"keyword", - "info":"GridBaseline is an option for GridBox that specifies what place in the grid should be considered its" - }, - { - "label":"GridBox", - "type":"keyword", - "info":"GridBox[{{box , box , …}, {box , box , …}, …}] is a low-level box construct that represents a tw" - }, - { - "label":"GridBoxAlignment", - "type":"keyword", - "info":"System`GridBoxAlignment" - }, - { - "label":"GridBoxBackground", - "type":"keyword", - "info":"System`GridBoxBackground" - }, - { - "label":"GridBoxDividers", - "type":"keyword", - "info":"System`GridBoxDividers" - }, - { - "label":"GridBoxFrame", - "type":"keyword", - "info":"System`GridBoxFrame" - }, - { - "label":"GridBoxItemSize", - "type":"keyword", - "info":"System`GridBoxItemSize" - }, - { - "label":"GridBoxItemStyle", - "type":"keyword", - "info":"System`GridBoxItemStyle" - }, - { - "label":"GridBoxOptions", - "type":"keyword", - "info":"GridBoxOptions -> {opt -> val , opt -> val , …} is an option which specifies default settings for " - }, - { - "label":"GridBoxSpacings", - "type":"keyword", - "info":"System`GridBoxSpacings" - }, - { - "label":"GridCreationSettings", - "type":"keyword", - "info":"GridCreationSettings is a global option that specifies settings for the Create Table\/Matrix dialog." - }, - { - "label":"GridDefaultElement", - "type":"keyword", - "info":"GridDefaultElement is an option for the low-level function GridBox that specifies what to insert whe" - }, - { - "label":"GridElementStyleOptions", - "type":"keyword", - "info":"System`GridElementStyleOptions" - }, - { - "label":"GridFrame", - "type":"keyword", - "info":"GridFrame is an option for grids that specifies whether a surrounding frame is drawn." - }, - { - "label":"GridFrameMargins", - "type":"keyword", - "info":"GridFrameMargins is an option for grids that specifies the spacing between the content of the grid a" - }, - { - "label":"GridGraph", - "type":"keyword", - "info":"GridGraph[{m, n}] gives the grid graph with m × n vertices G .GridGraph[{n , n , …, n }] gives th" - }, - { - "label":"GridLines", - "type":"keyword", - "info":"GridLines is an option for two-dimensional graphics functions that specifies grid lines. " - }, - { - "label":"GridLinesStyle", - "type":"keyword", - "info":"GridLinesStyle is an option for 2D graphics functions that specifies how grid lines should be render" - }, - { - "label":"GridVideo", - "type":"keyword", - "info":"GridVideo[{v , v , …}] creates a video in which each frame is a grid of frames of all v at the corr" - }, - { - "label":"GroebnerBasis", - "type":"keyword", - "info":"GroebnerBasis[{poly , poly , …}, {x , x , …}] gives a list of polynomials that form a GrÃ\\[Paragraph]bner basis " - }, - { - "label":"GroupActionBase", - "type":"keyword", - "info":"GroupActionBase is an option to specify a base for a group." - }, - { - "label":"GroupBy", - "type":"keyword", - "info":"GroupBy[{elem , elem , …}, f] gives an association that groups the elem into lists associated with " - }, - { - "label":"GroupCentralizer", - "type":"keyword", - "info":"GroupCentralizer[group, g] returns the centralizer of the element g in group." - }, - { - "label":"GroupElementFromWord", - "type":"keyword", - "info":"GroupElementFromWord[group, w] returns the element of group determined by the word w in the generato" - }, - { - "label":"GroupElementPosition", - "type":"keyword", - "info":"GroupElementPosition[group, g] returns the position of the element g in the list of elements of grou" - }, - { - "label":"GroupElementQ", - "type":"keyword", - "info":"GroupElementQ[group, g] returns True if the object g is an element of group and False otherwise." - }, - { - "label":"GroupElements", - "type":"keyword", - "info":"GroupElements[group] returns the list of all elements of group.GroupElements[group, {r , …, r }] ret" - }, - { - "label":"GroupElementToWord", - "type":"keyword", - "info":"GroupElementToWord[group, g] decomposes the group element g as a product of generators of group." - }, - { - "label":"GroupGenerators", - "type":"keyword", - "info":"GroupGenerators[group] returns a list of generators of group. " - }, - { - "label":"Groupings", - "type":"keyword", - "info":"Groupings[n, k] gives a list of all possible groupings of 1, …, n taken k at a time. Groupings[{a , " - }, - { - "label":"GroupMultiplicationTable", - "type":"keyword", - "info":"GroupMultiplicationTable[group] gives the multiplication table of group as an array." - }, - { - "label":"GroupOpenerColor", - "type":"keyword", - "info":"System`GroupOpenerColor" - }, - { - "label":"GroupOpenerInsideFrame", - "type":"keyword", - "info":"System`GroupOpenerInsideFrame" - }, - { - "label":"GroupOrbits", - "type":"keyword", - "info":"GroupOrbits[group, {p , …}] returns the orbits of the points p under the action of the elements of " - }, - { - "label":"GroupOrder", - "type":"keyword", - "info":"GroupOrder[group] returns the number of elements of group." - }, - { - "label":"GroupPageBreakWithin", - "type":"keyword", - "info":"GroupPageBreakWithin is an option for Cell that specifies whether a page break should be allowed wit" - }, - { - "label":"GroupSetwiseStabilizer", - "type":"keyword", - "info":"GroupSetwiseStabilizer[group, {p , …, p }] returns the subgroup of group for which the images of the" - }, - { - "label":"GroupStabilizer", - "type":"keyword", - "info":"GroupStabilizer[group, {p , …, p }] returns the subgroup of elements of group that move none of the " - }, - { - "label":"GroupStabilizerChain", - "type":"keyword", - "info":"GroupStabilizerChain[group] returns a list of successive stabilizers in group of the points in a bas" - }, - { - "label":"GroupTogetherGrouping", - "type":"keyword", - "info":"System`GroupTogetherGrouping" - }, - { - "label":"GroupTogetherNestedGrouping", - "type":"keyword", - "info":"System`GroupTogetherNestedGrouping" - }, - { - "label":"GrowCutComponents", - "type":"keyword", - "info":"GrowCutComponents[image, {marker , marker , …}] creates a segmentation from image by growing each ma" - }, - { - "label":"Gudermannian", - "type":"keyword", - "info":"Gudermannian[z] gives the Gudermannian function gd(z)." - }, - { - "label":"GuidedFilter", - "type":"keyword", - "info":"GuidedFilter[image, guide, r, Ï\\[Micro]] filters image using the guide image guide over range-r neighborhood" - }, - { - "label":"GumbelDistribution", - "type":"keyword", - "info":"GumbelDistribution[Î\\[PlusMinus], Î\.b2] represents a Gumbel distribution with location parameter Î\\[PlusMinus] and scale parame" - }, - { - "label":"HaarWavelet", - "type":"keyword", - "info":"HaarWavelet[] represents a Haar wavelet. " - }, - { - "label":"HadamardMatrix", - "type":"keyword", - "info":"HadamardMatrix[n] returns an n×n Hadamard matrix." - }, - { - "label":"HalfLine", - "type":"keyword", - "info":"HalfLine[{p , p }] represents the half-line from the point p through p . HalfLine[p, v] represents " - }, - { - "label":"HalfNormalDistribution", - "type":"keyword", - "info":"HalfNormalDistribution[θ] represents a half-normal distribution with scale inversely proportional to" - }, - { - "label":"HalfPlane", - "type":"keyword", - "info":"HalfPlane[{p , p }, w] represents the half-plane bounded by the line through p and p and extended " - }, - { - "label":"HalfSpace", - "type":"keyword", - "info":"HalfSpace[n, p] represents the half-space of points x such that n . (x - p) ≤ 0.HalfSpace[n, c] repr" - }, - { - "label":"HalftoneShading", - "type":"keyword", - "info":"HalftoneShading[] is a three-dimensional graphics directive specifying that surfaces that follow are" - }, - { - "label":"HamiltonianGraphQ", - "type":"keyword", - "info":"HamiltonianGraphQ[g] yields True if the graph g is Hamiltonian, and False otherwise." - }, - { - "label":"HammingDistance", - "type":"keyword", - "info":"HammingDistance[u, v] gives the Hamming distance between strings or vectors u and v.HammingDistance[" - }, - { - "label":"HammingWindow", - "type":"keyword", - "info":"HammingWindow[x] represents a Hamming window function of x." - }, - { - "label":"HandlerFunctions", - "type":"keyword", - "info":"HandlerFunctions is an option for asynchronous operations that specifies functions to apply when eve" - }, - { - "label":"HandlerFunctionsKeys", - "type":"keyword", - "info":"HandlerFunctionsKeys is an option for asynchronous operations that specifies the content of associat" - }, - { - "label":"HankelH1", - "type":"keyword", - "info":" (1)\nHankelH1[n, z] gives the Hankel func" - }, - { - "label":"HankelH2", - "type":"keyword", - "info":" (2)\nHankelH2[n, z] gives the Hankel fun" - }, - { - "label":"HankelMatrix", - "type":"keyword", - "info":"HankelMatrix[n] gives the n×n Hankel matrix with first row and first column being successive integer" - }, - { - "label":"HankelTransform", - "type":"keyword", - "info":"HankelTransform[expr, r, s] gives the Hankel transform of order 0 for expr.HankelTransform[expr, r, " - }, - { - "label":"HannPoissonWindow", - "type":"keyword", - "info":"HannPoissonWindow[x] represents a Hann–Poisson window function of x.HannPoissonWindow[x, Î\\[PlusMinus]] uses the" - }, - { - "label":"HannWindow", - "type":"keyword", - "info":"HannWindow[x] represents a Hann window function of x.HannWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n" - }, - { - "label":"HaradaNortonGroupHN", - "type":"keyword", - "info":"HaradaNortonGroupHN[] represents the sporadic simple Harada–Norton group HN." - }, - { - "label":"HararyGraph", - "type":"keyword", - "info":"HararyGraph[k, n] generates the minimal k-connected graph on n vertices H .\n " - }, - { - "label":"HardcorePointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"HarmonicMean", - "type":"keyword", - "info":"HarmonicMean[list] gives the harmonic mean of the values in list." - }, - { - "label":"HarmonicMeanFilter", - "type":"keyword", - "info":" " - }, - { - "label":"HarmonicNumber", - "type":"keyword", - "info":" th " - }, - { - "label":"Hash", - "type":"keyword", - "info":"Hash[expr] gives an integer hash code for the expression expr.Hash[expr, \"type\"] gives an integer ha" - }, - { - "label":"HatchFilling", - "type":"keyword", - "info":"HatchFilling[] is a two-dimensional graphics directive that specifies that faces of polygons and oth" - }, - { - "label":"HatchShading", - "type":"keyword", - "info":"HatchShading[] is a three-dimensional graphics directive specifying that objects that follow are to " - }, - { - "label":"Haversine", - "type":"keyword", - "info":"Haversine[z] gives the haversine function hav(z)." - }, - { - "label":"HazardFunction", - "type":"keyword", - "info":"HazardFunction[dist, x] gives the hazard function for the distribution dist evaluated at x.HazardFun" - }, - { - "label":"Head", - "type":"keyword", - "info":"Head[expr] gives the head of expr. Head[expr, h] wraps the result with h.\n" - }, - { - "label":"HeadCompose", - "type":"keyword", - "info":"HeadCompose[a, b, c, d] gives a[b][c][d]." - }, - { - "label":"HeaderAlignment", - "type":"keyword", - "info":"HeaderAlignment is an option for Dataset that specifies how the contents of a header should be align" - }, - { - "label":"HeaderBackground", - "type":"keyword", - "info":"HeaderBackground is an option for Dataset that specifies what background color to use for row and co" - }, - { - "label":"HeaderDisplayFunction", - "type":"keyword", - "info":"HeaderDisplayFunction is an option for Dataset that specifies a function to apply to headers before " - }, - { - "label":"HeaderLines", - "type":"keyword", - "info":"HeaderLines is an option for SemanticImport and related functions that specifies how many of the ini" - }, - { - "label":"Headers", - "type":"keyword", - "info":"System`Headers" - }, - { - "label":"HeaderSize", - "type":"keyword", - "info":"HeaderSize is an option for Dataset that specifies the widths and heights of headers." - }, - { - "label":"HeaderStyle", - "type":"keyword", - "info":"HeaderStyle is an option for Dataset that specifies the style to use for headers." - }, - { - "label":"Heads", - "type":"keyword", - "info":"Heads is an option for functions which use level specifications that specifies whether heads of expr" - }, - { - "label":"HeatFluxValue", - "type":"keyword", - "info":"HeatFluxValue[pred, vars, pars] represents a thermal heat flux boundary condition for PDEs with pred" - }, - { - "label":"HeatInsulationValue", - "type":"keyword", - "info":"HeatInsulationValue[pred, vars, pars] represents a thermal insulation boundary condition for PDEs wi" - }, - { - "label":"HeatOutflowValue", - "type":"keyword", - "info":"HeatOutflowValue[pred, vars, pars] represents a thermal outflow boundary condition for PDEs with pre" - }, - { - "label":"HeatRadiationValue", - "type":"keyword", - "info":"HeatRadiationValue[pred, vars, pars] represents a thermal radiation boundary condition for PDEs with" - }, - { - "label":"HeatSymmetryValue", - "type":"keyword", - "info":"HeatSymmetryValue[pred, vars, pars] represents a thermal symmetry boundary condition for PDEs with p" - }, - { - "label":"HeatTemperatureCondition", - "type":"keyword", - "info":"HeatTemperatureCondition[pred, vars, pars] represents a thermal surface boundary condition for PDEs " - }, - { - "label":"HeatTransferPDEComponent", - "type":"keyword", - "info":"HeatTransferPDEComponent[vars, pars] yields a heat transfer PDE term with variables vars and paramet" - }, - { - "label":"HeatTransferValue", - "type":"keyword", - "info":"HeatTransferValue[pred, vars, pars] represents a thermal transfer boundary condition for PDEs with p" - }, - { - "label":"HeavisideLambda", - "type":"keyword", - "info":"HeavisideLambda[x] represents the triangle distribution Λ(x) which is nonzero for  x  < 1.Heavisid" - }, - { - "label":"HeavisidePi", - "type":"keyword", - "info":" 1 1 " - }, - { - "label":"HeavisideTheta", - "type":"keyword", - "info":"HeavisideTheta[x] represents the Heaviside theta function θ(x), equal to 0 for x < 0 and 1 for x > 0" - }, - { - "label":"HeldGroupHe", - "type":"keyword", - "info":"HeldGroupHe[] represents the sporadic simple Held group He." - }, - { - "label":"HeldPart", - "type":"keyword", - "info":"System`HeldPart" - }, - { - "label":"HelmholtzPDEComponent", - "type":"keyword", - "info":" 2 2\nHelmholtzPDECompo" - }, - { - "label":"HelpBrowserLookup", - "type":"keyword", - "info":"System`HelpBrowserLookup" - }, - { - "label":"HelpBrowserNotebook", - "type":"keyword", - "info":"System`HelpBrowserNotebook" - }, - { - "label":"HelpBrowserSettings", - "type":"keyword", - "info":"HelpBrowserSettings is a global option that specifies settings for the legacy Help Browser." - }, - { - "label":"Here", - "type":"keyword", - "info":"Here represents the current deduced geo location." - }, - { - "label":"HermiteDecomposition", - "type":"keyword", - "info":"HermiteDecomposition[m] gives the Hermite normal form decomposition of an integer matrix m." - }, - { - "label":"HermiteH", - "type":"keyword", - "info":"HermiteH[n, x] gives the Hermite polynomial H (x). \n n" - }, - { - "label":"Hermitian", - "type":"keyword", - "info":"Hermitian[{1, 2}] represents the symmetry of a Hermitian matrix." - }, - { - "label":"HermitianMatrixQ", - "type":"keyword", - "info":"HermitianMatrixQ[m] gives True if m is explicitly Hermitian, and False otherwise. " - }, - { - "label":"HessenbergDecomposition", - "type":"keyword", - "info":"HessenbergDecomposition[m] gives the Hessenberg decomposition of a numerical matrix m. " - }, - { - "label":"Hessian", - "type":"keyword", - "info":"System`Hessian" - }, - { - "label":"HeunB", - "type":"keyword", - "info":"HeunB[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the bi-confluent Heun function. " - }, - { - "label":"HeunBPrime", - "type":"keyword", - "info":"HeunBPrime[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the z-derivative of the HeunB function. " - }, - { - "label":"HeunC", - "type":"keyword", - "info":"HeunC[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the confluent Heun function." - }, - { - "label":"HeunCPrime", - "type":"keyword", - "info":"HeunCPrime[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the z-derivative of the HeunC function. " - }, - { - "label":"HeunD", - "type":"keyword", - "info":"HeunD[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the double-confluent Heun function. " - }, - { - "label":"HeunDPrime", - "type":"keyword", - "info":"HeunDPrime[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the z-derivative of the HeunD function. " - }, - { - "label":"HeunG", - "type":"keyword", - "info":"HeunG[a, q, Î\\[PlusMinus], Î\.b2, Î\.b3, Î\.b4, z] gives the general Heun function. " - }, - { - "label":"HeunGPrime", - "type":"keyword", - "info":"HeunGPrime[a, q, Î\\[PlusMinus], Î\.b2, Î\.b3, Î\.b4, z] gives the z-derivative of the HeunG function. " - }, - { - "label":"HeunT", - "type":"keyword", - "info":"HeunT[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the tri-confluent Heun function. " - }, - { - "label":"HeunTPrime", - "type":"keyword", - "info":"HeunTPrime[q, Î\\[PlusMinus], Î\.b3, Î\.b4, Ï\\[Micro], z] gives the z-derivative of the HeunT function. " - }, - { - "label":"HexadecimalCharacter", - "type":"keyword", - "info":"HexadecimalCharacter represents a hexadecimal digit character 0–9, a–f, A–F in StringExpression." - }, - { - "label":"Hexahedron", - "type":"keyword", - "info":"Hexahedron[{p , p , …, p }] represents a filled hexahedron with corners p , p , …, p .Hexahedron[{{p" - }, - { - "label":"HexahedronBox", - "type":"keyword", - "info":"System`HexahedronBox" - }, - { - "label":"HexahedronBoxOptions", - "type":"keyword", - "info":"System`HexahedronBoxOptions" - }, - { - "label":"HiddenItems", - "type":"keyword", - "info":"HiddenItems is an option for Dataset that specifies which items to hide." - }, - { - "label":"HiddenMarkovProcess", - "type":"keyword", - "info":"HiddenMarkovProcess[i , m, em] represents a discrete-time, finite-state hidden Markov process with t" - }, - { - "label":"HiddenSurface", - "type":"keyword", - "info":"HiddenSurface is an option for SurfaceGraphics which specifies whether hidden surfaces are to be eli" - }, - { - "label":"Highlighted", - "type":"keyword", - "info":"Highlighted[expr] displays a highlighted version of expr." - }, - { - "label":"HighlightGraph", - "type":"keyword", - "info":"HighlightGraph[g, {a , a , …}] highlights the a that can be vertices, edges, or subgraphs of g.High" - }, - { - "label":"HighlightImage", - "type":"keyword", - "info":"HighlightImage[image, roi] highlights the specified region of interest roi in image.HighlightImage[i" - }, - { - "label":"HighlightMesh", - "type":"keyword", - "info":"HighlightMesh[mr, {cellspec , cellspec , …}] highlights the cells specified by cellspec in the mesh" - }, - { - "label":"HighpassFilter", - "type":"keyword", - "info":"HighpassFilter[data, ω ] applies a highpass filter with a cutoff frequency ω to an array of data.Hi" - }, - { - "label":"HigmanSimsGroupHS", - "type":"keyword", - "info":"HigmanSimsGroupHS[] represents the sporadic simple Higman–Sims group HS." - }, - { - "label":"HilbertCurve", - "type":"keyword", - "info":" th " - }, - { - "label":"HilbertFilter", - "type":"keyword", - "info":"HilbertFilter[data, ω ] applies a Hilbert filter with a cutoff frequency ω to an array of data.Hilb" - }, - { - "label":"HilbertMatrix", - "type":"keyword", - "info":"HilbertMatrix[n] gives the n×n Hilbert matrix with elements of the form 1\/(i + j - 1).HilbertMatrix[" - }, - { - "label":"Histogram", - "type":"keyword", - "info":"Histogram[{x , x , …}] plots a histogram of the values x .Histogram[{x , x , …}, bspec] plots a hist" - }, - { - "label":"Histogram3D", - "type":"keyword", - "info":"Histogram3D[{{x , y }, {x , y }, …}] plots a 3D histogram of the values {x , y }.Histogram3D[{{x , y" - }, - { - "label":"HistogramDistribution", - "type":"keyword", - "info":"HistogramDistribution[{x , x , …}] represents the probability distribution corresponding to a histog" - }, - { - "label":"HistogramList", - "type":"keyword", - "info":"HistogramList[{x , x , …}] gives a list of bins and histogram heights of the values x .HistogramList" - }, - { - "label":"HistogramPointDensity", - "type":"keyword", - "info":"HistogramPointDensity[pdata] estimates the histogram point density function μ(x) for point data pdat" - }, - { - "label":"HistogramTransform", - "type":"keyword", - "info":"HistogramTransform[image] transforms pixel values of image so that its histogram is nearly flat.Hist" - }, - { - "label":"HistogramTransformInterpolation", - "type":"keyword", - "info":"HistogramTransformInterpolation[{x , x , …}] finds a function f so that the transformed values f(x )" - }, - { - "label":"HistoricalPeriodData", - "type":"keyword", - "info":"HistoricalPeriodData[entity, property] gives the value of the specified property for the historical " - }, - { - "label":"HitMissTransform", - "type":"keyword", - "info":"HitMissTransform[image, ker] gives the hit-or-miss transform of image with respect to the composite " - }, - { - "label":"HITSCentrality", - "type":"keyword", - "info":"HITSCentrality[g] gives a list of authority and hub centralities for the vertices in the graph g.HIT" - }, - { - "label":"HjorthDistribution", - "type":"keyword", - "info":"HjorthDistribution[m, s, f] represents the Hjorth distribution with location parameter m, scale para" - }, - { - "label":"HodgeDual", - "type":"keyword", - "info":"HodgeDual[tensor] gives the Hodge dual of the tensorHodgeDual[tensor, dim] dualizes tensor in the sl" - }, - { - "label":"HoeffdingD", - "type":"keyword", - "info":" " - }, - { - "label":"HoeffdingDTest", - "type":"keyword", - "info":"HoeffdingDTest[v , v ] tests whether the vectors v and v are independent.HoeffdingDTest[…, \"proper" - }, - { - "label":"Hold", - "type":"keyword", - "info":"Hold[expr] maintains expr in an unevaluated form. " - }, - { - "label":"HoldAll", - "type":"keyword", - "info":"HoldAll is an attribute that specifies that all arguments to a function are to be maintained in an u" - }, - { - "label":"HoldAllComplete", - "type":"keyword", - "info":"HoldAllComplete is an attribute which specifies that all arguments to a function are not to be modif" - }, - { - "label":"HoldComplete", - "type":"keyword", - "info":"HoldComplete[expr] shields expr completely from the standard Wolfram Language evaluation process, pr" - }, - { - "label":"HoldFirst", - "type":"keyword", - "info":"HoldFirst is an attribute that specifies that the first argument to a function is to be maintained i" - }, - { - "label":"HoldForm", - "type":"keyword", - "info":"HoldForm[expr] prints as the expression expr, with expr maintained in an unevaluated form. " - }, - { - "label":"HoldPattern", - "type":"keyword", - "info":"HoldPattern[expr] is equivalent to expr for pattern matching, but maintains expr in an unevaluated f" - }, - { - "label":"HoldRest", - "type":"keyword", - "info":"HoldRest is an attribute which specifies that all but the first argument to a function are to be mai" - }, - { - "label":"HolidayCalendar", - "type":"keyword", - "info":"HolidayCalendar is an option that specifies the holiday calendar schedule in business day functions." - }, - { - "label":"HomeDirectory", - "type":"keyword", - "info":"System`HomeDirectory" - }, - { - "label":"HomePage", - "type":"keyword", - "info":"System`HomePage" - }, - { - "label":"Horizontal", - "type":"keyword", - "info":"System`Horizontal" - }, - { - "label":"HorizontalForm", - "type":"keyword", - "info":"HorizontalForm is an internal symbol used for formatting and printing." - }, - { - "label":"HorizontalGauge", - "type":"keyword", - "info":"HorizontalGauge[value] draws a linear gauge showing value in a range of 0 to 1.HorizontalGauge[value" - }, - { - "label":"HorizontalScrollPosition", - "type":"keyword", - "info":"System`HorizontalScrollPosition" - }, - { - "label":"HornerForm", - "type":"keyword", - "info":"HornerForm[poly] puts the polynomial poly in Horner form.HornerForm[poly, vars] puts poly in Horner " - }, - { - "label":"HostLookup", - "type":"keyword", - "info":"HostLookup[name] gives the IP address for the host with the specified name.HostLookup[address] gives" - }, - { - "label":"HotellingTSquareDistribution", - "type":"keyword", - "info":" 2\nHotellingTSquareDistribution[p, m] repr" - }, - { - "label":"HoytDistribution", - "type":"keyword", - "info":"HoytDistribution[q, ω] represents a Hoyt distribution with shape parameter q and spread parameter ω." - }, - { - "label":"HTMLSave", - "type":"keyword", - "info":"HTMLSave[\"file.html\"] saves an HTML version of the current input notebook in the front end. HTMLSave" - }, - { - "label":"HTTPErrorResponse", - "type":"keyword", - "info":"HTTPErrorResponse[code] is an object that represents an error response to an HTTP request, with spec" - }, - { - "label":"HTTPRedirect", - "type":"keyword", - "info":"HTTPRedirect[uri] represents an HTTP redirect to the specified uri.HTTPRedirect[uri, metadata] repre" - }, - { - "label":"HTTPRequest", - "type":"keyword", - "info":"HTTPRequest[url] represents an HTTP request for the specified URL.HTTPRequest[assoc] represents an H" - }, - { - "label":"HTTPRequestData", - "type":"keyword", - "info":"HTTPRequestData[\"prop\"] gives the value of the specified property of the current HTTP request.HTTPRe" - }, - { - "label":"HTTPResponse", - "type":"keyword", - "info":"HTTPResponse[body] is an object that represents a successful response to an HTTP request, with the s" - }, - { - "label":"Hue", - "type":"keyword", - "info":"Hue[h] represents a color in the HSB color space with hue h. Hue[h, s, b] specifies colors in terms " - }, - { - "label":"HumanGrowthData", - "type":"keyword", - "info":"HumanGrowthData[spec] returns the range of values within one standard deviation of the mean for all " - }, - { - "label":"HumpDownHump", - "type":"keyword", - "info":"HumpDownHump[x, y, …] displays as x ≎ y ≎ …." - }, - { - "label":"HumpEqual", - "type":"keyword", - "info":"HumpEqual[x, y, …] displays as x ≏ y ≏ …." - }, - { - "label":"HurwitzLerchPhi", - "type":"keyword", - "info":"HurwitzLerchPhi[z, s, a] gives the Hurwitz–Lerch transcendent Φ(z, s, a)." - }, - { - "label":"HurwitzZeta", - "type":"keyword", - "info":"HurwitzZeta[s, a] gives the Hurwitz zeta function Î\\[Paragraph](s, a)." - }, - { - "label":"HyperbolicDistribution", - "type":"keyword", - "info":"HyperbolicDistribution[Î\\[PlusMinus], Î\.b2, Î\.b4, μ] represents a hyperbolic distribution with location parameter μ, s" - }, - { - "label":"HypercubeGraph", - "type":"keyword", - "info":"HypercubeGraph[n] gives the n-dimensional hypercube graph Q .\n " - }, - { - "label":"HyperexponentialDistribution", - "type":"keyword", - "info":"HyperexponentialDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {λ , …, λ }] represents an m-phase hyperexponential distri" - }, - { - "label":"Hyperfactorial", - "type":"keyword", - "info":"Hyperfactorial[n] gives the hyperfactorial function H(n)." - }, - { - "label":"Hypergeometric0F1", - "type":"keyword", - "info":"Hypergeometric0F1[a, z] is the confluent hypergeometric function   F (; a ; z). \n " - }, - { - "label":"Hypergeometric0F1Regularized", - "type":"keyword", - "info":"Hypergeometric0F1Regularized[a, z] is the regularized confluent hypergeometric function   F (a ;" - }, - { - "label":"Hypergeometric1F1", - "type":"keyword", - "info":"Hypergeometric1F1[a, b, z] is the Kummer confluent hypergeometric function   F (a ; b ; z). \n " - }, - { - "label":"Hypergeometric1F1Regularized", - "type":"keyword", - "info":"Hypergeometric1F1Regularized[a, b, z] is the regularized confluent hypergeometric function   F (" - }, - { - "label":"Hypergeometric2F1", - "type":"keyword", - "info":"Hypergeometric2F1[a, b, c, z] is the hypergeometric function ïŽ\.b3 F (a, b ; c ; z). \n " - }, - { - "label":"Hypergeometric2F1Regularized", - "type":"keyword", - "info":"Hypergeometric2F1Regularized[a, b, c, z] is the regularized hypergeometric function   F (a, b ; " - }, - { - "label":"HypergeometricDistribution", - "type":"keyword", - "info":"HypergeometricDistribution[n, n , n ] represents a hypergeometric distribution.\n " - }, - { - "label":"HypergeometricPFQ", - "type":"keyword", - "info":"HypergeometricPFQ[{a , …, a }, {b , …, b }, z] is the generalized hypergeometric function   F (a" - }, - { - "label":"HypergeometricPFQRegularized", - "type":"keyword", - "info":"HypergeometricPFQRegularized[{a , …, a }, {b , …, b }, z] is the regularized generalized hypergeomet" - }, - { - "label":"HypergeometricU", - "type":"keyword", - "info":"HypergeometricU[a, b, z] is the confluent hypergeometric function U(a, b, z). " - }, - { - "label":"Hyperlink", - "type":"keyword", - "info":"Hyperlink[uri] represents a hyperlink that jumps to the specified URI when clicked. Hyperlink[label," - }, - { - "label":"HyperlinkAction", - "type":"keyword", - "info":"HyperlinkAction is an option for Hyperlink that controls the behavior of following links in cloud no" - }, - { - "label":"HyperlinkCreationSettings", - "type":"keyword", - "info":"System`HyperlinkCreationSettings" - }, - { - "label":"Hyperplane", - "type":"keyword", - "info":"Hyperplane[n, p] represents the hyperplane with normal n passing through the point p.Hyperplane[n, c" - }, - { - "label":"Hyphenation", - "type":"keyword", - "info":"Hyphenation is an option for Cell that specifies whether to allow hyphenation for words of text. " - }, - { - "label":"HyphenationOptions", - "type":"keyword", - "info":"System`HyphenationOptions" - }, - { - "label":"HypoexponentialDistribution", - "type":"keyword", - "info":"HypoexponentialDistribution[{λ , …, λ }] represents an m-phase hypoexponential distribution with rat" - }, - { - "label":"HypothesisTestData", - "type":"keyword", - "info":"HypothesisTestData[…] represents hypothesis test data such as generated by DistributionFitTest, Ande" - }, - { - "label":"I", - "type":"keyword", - "info":"I represents the imaginary unit Sqrt[-1]. " - }, - { - "label":"IconData", - "type":"keyword", - "info":"IconData[type, value] generates an icon of the specified type assuming the value given. " - }, - { - "label":"Iconize", - "type":"keyword", - "info":"Iconize[expr] gives an iconized form that can be used to stand in for expr in notebook input.Iconize" - }, - { - "label":"IconizedObject", - "type":"keyword", - "info":"System`IconizedObject" - }, - { - "label":"IconRules", - "type":"keyword", - "info":"IconRules is an option for CloudObject and related objects that specifies icons to use in different " - }, - { - "label":"Icosahedron", - "type":"keyword", - "info":"Icosahedron[] represents a regular icosahedron centered at the origin with unit edge length.Icosahed" - }, - { - "label":"Identity", - "type":"keyword", - "info":"Identity[expr] gives expr (the identity operation). " - }, - { - "label":"IdentityMatrix", - "type":"keyword", - "info":"IdentityMatrix[n] gives the nn identity matrix. " - }, - { - "label":"If", - "type":"keyword", - "info":"If[condition, t, f] gives t if condition evaluates to True, and f if it evaluates to False. If[condi" - }, - { - "label":"IgnoreCase", - "type":"keyword", - "info":"IgnoreCase is an option for string manipulation and searching functions that specifies whether lower" - }, - { - "label":"IgnoreDiacritics", - "type":"keyword", - "info":"IgnoreDiacritics is an option for string, grammar, and related functions that specifies whether diac" - }, - { - "label":"IgnoreIsotopes", - "type":"keyword", - "info":"IgnoreIsotopes is an option for MoleculeMatchQ that determines whether isotopes should be ignored fo" - }, - { - "label":"IgnorePunctuation", - "type":"keyword", - "info":"IgnorePunctuation is an option for AlphabeticSort and related functions that specifies whether to co" - }, - { - "label":"IgnoreSpellCheck", - "type":"keyword", - "info":"System`IgnoreSpellCheck" - }, - { - "label":"IgnoreStereochemistry", - "type":"keyword", - "info":"IgnoreStereochemistry is an option for MoleculeMatchQ that determines whether stereochemistry should" - }, - { - "label":"IgnoringInactive", - "type":"keyword", - "info":"IgnoringInactive[patt] is a pattern object that, for purposes of pattern matching, ignores occurrenc" - }, - { - "label":"Im", - "type":"keyword", - "info":"Im[z] gives the imaginary part of the complex number z. " - }, - { - "label":"Image", - "type":"keyword", - "info":"Image[data] represents a raster image with pixel values given by the array data.Image[graphics] crea" - }, - { - "label":"Image3D", - "type":"keyword", - "info":"Image3D[data] represents a 3D image with pixel values given by the array data.Image3D[{image , image" - }, - { - "label":"Image3DProjection", - "type":"keyword", - "info":"Image3DProjection[image] takes a 3D image and returns a 2D image of maximum projection onto the x-y " - }, - { - "label":"Image3DSlices", - "type":"keyword", - "info":" " - }, - { - "label":"ImageAccumulate", - "type":"keyword", - "info":"ImageAccumulate[image] gives an image in which each pixel represents a sum of all pixels below and t" - }, - { - "label":"ImageAdd", - "type":"keyword", - "info":"ImageAdd[image, x] adds an amount x to each channel value in image.ImageAdd[image , image ] gives an" - }, - { - "label":"ImageAdjust", - "type":"keyword", - "info":"ImageAdjust[image] adjusts the levels in image, rescaling them to cover the range 0 to 1.ImageAdjust" - }, - { - "label":"ImageAlign", - "type":"keyword", - "info":"ImageAlign[ref, image] returns a version of image that is aligned with the reference image ref.Image" - }, - { - "label":"ImageApply", - "type":"keyword", - "info":"ImageApply[f, image] applies the function f to the list of channel values for each pixel in image.Im" - }, - { - "label":"ImageApplyIndexed", - "type":"keyword", - "info":"ImageApplyIndexed[f, image] applies the function f to the list of channel values for each pixel in i" - }, - { - "label":"ImageAspectRatio", - "type":"keyword", - "info":"ImageAspectRatio[image] gives the ratio of height to width for image.ImageAspectRatio[video] gives t" - }, - { - "label":"ImageAssemble", - "type":"keyword", - "info":"ImageAssemble[{{im , …, im }, …, {im , …, im }}] assembles a single image from an array of image" - }, - { - "label":"ImageAugmentationLayer", - "type":"keyword", - "info":"ImageAugmentationLayer[{h, w}] represents a net layer that applies random image transformations to p" - }, - { - "label":"ImageBoundingBoxes", - "type":"keyword", - "info":"ImageBoundingBoxes[image] gives an association of lists of bounding boxes for each identified catego" - }, - { - "label":"ImageCache", - "type":"keyword", - "info":"System`ImageCache" - }, - { - "label":"ImageCacheValid", - "type":"keyword", - "info":"System`ImageCacheValid" - }, - { - "label":"ImageCapture", - "type":"keyword", - "info":"ImageCapture[] opens a graphical user interface for capturing images from connected cameras." - }, - { - "label":"ImageCaptureFunction", - "type":"keyword", - "info":"ImageCaptureFunction is an option for ImageCapture that specifies the function to apply to images ac" - }, - { - "label":"ImageCases", - "type":"keyword", - "info":"ImageCases[image] gives an association of lists of subimages for each identified category of objects" - }, - { - "label":"ImageChannels", - "type":"keyword", - "info":"ImageChannels[image] gives the number of channels present in the data for the Image or Image3D objec" - }, - { - "label":"ImageClip", - "type":"keyword", - "info":"ImageClip[image] clips all channel values in image to lie in the default range.ImageClip[image, {min" - }, - { - "label":"ImageCollage", - "type":"keyword", - "info":"ImageCollage[{image , image , …}] creates a collage of images image .ImageCollage[{w  image , w " - }, - { - "label":"ImageColorSpace", - "type":"keyword", - "info":"ImageColorSpace[image] gives the name of the color space of image." - }, - { - "label":"ImageCompose", - "type":"keyword", - "info":"ImageCompose[image, overlay] gives the result of overlaying overlay onto image. ImageCompose[image, " - }, - { - "label":"ImageContainsQ", - "type":"keyword", - "info":"ImageContainsQ[image, category] returns True if an instance of the specified category is detected in" - }, - { - "label":"ImageContents", - "type":"keyword", - "info":"ImageContents[image] gives a dataset of identified entities in image.ImageContents[image, category] " - }, - { - "label":"ImageConvolve", - "type":"keyword", - "info":"ImageConvolve[image, ker] gives the convolution of image with kernel ker." - }, - { - "label":"ImageCooccurrence", - "type":"keyword", - "info":"ImageCooccurrence[image, n] gives the n×n co-occurrence matrix for image.ImageCooccurrence[image, n," - }, - { - "label":"ImageCorners", - "type":"keyword", - "info":"ImageCorners[image] finds corners in image and returns their coordinates.ImageCorners[image, r] find" - }, - { - "label":"ImageCorrelate", - "type":"keyword", - "info":"ImageCorrelate[image, ker] gives the correlation of image with kernel ker.ImageCorrelate[image, ker," - }, - { - "label":"ImageCorrespondingPoints", - "type":"keyword", - "info":"ImageCorrespondingPoints[image , image ] finds a set of matching interest points in image and image" - }, - { - "label":"ImageCrop", - "type":"keyword", - "info":"ImageCrop[image] crops image by removing borders of uniform color. ImageCrop[image, size] crops imag" - }, - { - "label":"ImageData", - "type":"keyword", - "info":"ImageData[image] gives the array of pixel values in an Image or Image3D object image.ImageData[image" - }, - { - "label":"ImageDeconvolve", - "type":"keyword", - "info":"ImageDeconvolve[image, ker] gives a deconvolution of image using kernel ker." - }, - { - "label":"ImageDemosaic", - "type":"keyword", - "info":"ImageDemosaic[image, cfa] reconstructs a color image using the specified color filter array cfa.Imag" - }, - { - "label":"ImageDifference", - "type":"keyword", - "info":"ImageDifference[image , image ] gives an image in which each pixel is the absolute difference of the" - }, - { - "label":"ImageDimensions", - "type":"keyword", - "info":"ImageDimensions[image] gives the pixel dimensions of an Image or Image3D object image.ImageDimension" - }, - { - "label":"ImageDisplacements", - "type":"keyword", - "info":"ImageDisplacements[{image , image , …, image }] gives estimated horizontal and vertical displacement" - }, - { - "label":"ImageDistance", - "type":"keyword", - "info":"ImageDistance[image , image ] returns a distance measure between image and image . ImageDistance[im" - }, - { - "label":"ImageEditMode", - "type":"keyword", - "info":"System`ImageEditMode" - }, - { - "label":"ImageEffect", - "type":"keyword", - "info":"ImageEffect[image, \"effect\"] applies the specified image effect to image.ImageEffect[image, {\"effect" - }, - { - "label":"ImageExposureCombine", - "type":"keyword", - "info":"ImageExposureCombine[{image , image , …}] combines differently exposed images image of the same sce" - }, - { - "label":"ImageFeatureTrack", - "type":"keyword", - "info":"ImageFeatureTrack[{image , image , …, image }] tracks features from image through image .ImageFeatu" - }, - { - "label":"ImageFileApply", - "type":"keyword", - "info":"ImageFileApply[f, inputfile, outputfile] applies the function f to the list of channel values for ea" - }, - { - "label":"ImageFileFilter", - "type":"keyword", - "info":"ImageFileFilter[f, inputfile, r, outputfile] applies the function f to the range r neighborhood of e" - }, - { - "label":"ImageFileScan", - "type":"keyword", - "info":"ImageFileScan[f, inputfile] applies the function f to the list of channel values for each pixel of t" - }, - { - "label":"ImageFilter", - "type":"keyword", - "info":"ImageFilter[f, image, r] applies the function f to the range-r neighborhood of each pixel in each ch" - }, - { - "label":"ImageFocusCombine", - "type":"keyword", - "info":"ImageFocusCombine[{image , image , …}] combines differently focused images image of the same scene " - }, - { - "label":"ImageForestingComponents", - "type":"keyword", - "info":"ImageForestingComponents[image] finds a segmentation of image, returning an integer matrix in which " - }, - { - "label":"ImageFormattingWidth", - "type":"keyword", - "info":"ImageFormattingWidth is an option that specifies the target width at which to wrap when formatting a" - }, - { - "label":"ImageForwardTransformation", - "type":"keyword", - "info":"ImageForwardTransformation[image, f] gives an image in which each pixel at position f[{x, y}] corres" - }, - { - "label":"ImageGraphics", - "type":"keyword", - "info":"ImageGraphics[image] returns the content of image in the form of scalable vector graphics.ImageGraph" - }, - { - "label":"ImageHistogram", - "type":"keyword", - "info":"ImageHistogram[image] plots a histogram of the pixel levels for each channel in image.ImageHistogram" - }, - { - "label":"ImageIdentify", - "type":"keyword", - "info":"ImageIdentify[image] yields the result of attempting to identify what image is a picture of. ImageId" - }, - { - "label":"ImageInstanceQ", - "type":"keyword", - "info":"ImageInstanceQ[image, obj] gives True if image appears to be an instance of the object obj, and give" - }, - { - "label":"ImageKeypoints", - "type":"keyword", - "info":"ImageKeypoints[image] finds key features in image and returns their coordinates.ImageKeypoints[image" - }, - { - "label":"ImageLabels", - "type":"keyword", - "info":"ImageLabels is an option for image highlighting that specifies what labels to use for each highlight" - }, - { - "label":"ImageLegends", - "type":"keyword", - "info":"ImageLegends is an option for image highlighting that specifies what legends to use." - }, - { - "label":"ImageLevels", - "type":"keyword", - "info":"ImageLevels[image] gives a list of pixel values and counts for each channel in image. ImageLevels[im" - }, - { - "label":"ImageLines", - "type":"keyword", - "info":"ImageLines[image] finds line segments in image and returns the coordinates of their endpoints.ImageL" - }, - { - "label":"ImageMargins", - "type":"keyword", - "info":"ImageMargins is an option that specifies the absolute margins to leave around the image displayed fo" - }, - { - "label":"ImageMarker", - "type":"keyword", - "info":"ImageMarker[pos] is a HighlightImage specification that represents a marker at position pos.ImageMar" - }, - { - "label":"ImageMarkers", - "type":"keyword", - "info":"System`ImageMarkers" - }, - { - "label":"ImageMeasurements", - "type":"keyword", - "info":"ImageMeasurements[image, \"prop\"] returns the value of property \"prop\" for the entire image.ImageMeas" - }, - { - "label":"ImageMesh", - "type":"keyword", - "info":"ImageMesh[image] returns the foreground region in image as a BoundaryMeshRegion object." - }, - { - "label":"ImageMultiply", - "type":"keyword", - "info":"ImageMultiply[image, x] multiplies each channel value in image by a factor x.ImageMultiply[image , i" - }, - { - "label":"ImageOffset", - "type":"keyword", - "info":"System`ImageOffset" - }, - { - "label":"ImagePad", - "type":"keyword", - "info":"ImagePad[image, m] pads image on all sides with m background pixels.ImagePad[image, m, padding] pads" - }, - { - "label":"ImagePadding", - "type":"keyword", - "info":"ImagePadding is an option for graphics functions that specifies what absolute extra padding should b" - }, - { - "label":"ImagePartition", - "type":"keyword", - "info":"ImagePartition[image, s] partitions an image into an array of ss-pixel subimages.ImagePartition[ima" - }, - { - "label":"ImagePeriodogram", - "type":"keyword", - "info":"ImagePeriodogram[image] shows the squared magnitude of the discrete Fourier transform (power spectru" - }, - { - "label":"ImagePerspectiveTransformation", - "type":"keyword", - "info":"ImagePerspectiveTransformation[image, m] applies a linear fractional transform specified by a matrix" - }, - { - "label":"ImagePosition", - "type":"keyword", - "info":"ImagePosition[image] gives an association of image positions for each identified category of objects" - }, - { - "label":"ImagePreviewFunction", - "type":"keyword", - "info":"ImagePreviewFunction is an option for CurrentImage and similar functions that specifies the function" - }, - { - "label":"ImagePyramid", - "type":"keyword", - "info":"ImagePyramid[image] creates a Gaussian image pyramid formed from image.ImagePyramid[image, pyrtype] " - }, - { - "label":"ImagePyramidApply", - "type":"keyword", - "info":"ImagePyramidApply[f, pyr] applies f to all images in the ImagePyramid object pyr.ImagePyramidApply[f" - }, - { - "label":"ImageQ", - "type":"keyword", - "info":"ImageQ[image] yields True if image has the form of a valid Image or Image3D object, and False otherw" - }, - { - "label":"ImageRangeCache", - "type":"keyword", - "info":"System`ImageRangeCache" - }, - { - "label":"ImageRecolor", - "type":"keyword", - "info":"ImageRecolor[image, region  color] recolors pixels in image specified by region using the specified" - }, - { - "label":"ImageReflect", - "type":"keyword", - "info":"ImageReflect[image] reverses image by top-bottom mirror reflection. ImageReflect[image, side] revers" - }, - { - "label":"ImageRegion", - "type":"keyword", - "info":"ImageRegion is an option for cells that specifies the size and position of the bounding box within w" - }, - { - "label":"ImageResize", - "type":"keyword", - "info":"ImageResize[image, width] gives a resized version of image that is width pixels wide.ImageResize[ima" - }, - { - "label":"ImageResolution", - "type":"keyword", - "info":"ImageResolution is an option for Export, Rasterize, and related functions that specifies at what res" - }, - { - "label":"ImageRestyle", - "type":"keyword", - "info":"ImageRestyle[image, sample] attempts to restyle image so as to follow the graphical style of sample." - }, - { - "label":"ImageRotate", - "type":"keyword", - "info":"ImageRotate[image] rotates image by 90Â\\[Degree] about its center in the x-y plane. ImageRotate[image, θ] rot" - }, - { - "label":"ImageRotated", - "type":"keyword", - "info":"ImageRotated is an option for Export that specifies whether images should be rotated into landscape " - }, - { - "label":"ImageSaliencyFilter", - "type":"keyword", - "info":"ImageSaliencyFilter[image] returns a saliency map for image." - }, - { - "label":"ImageScaled", - "type":"keyword", - "info":"ImageScaled[{x, y}] gives the position of a graphical object in terms of coordinates scaled to run f" - }, - { - "label":"ImageScan", - "type":"keyword", - "info":"ImageScan[f, image] evaluates f applied to each pixel of image in turn." - }, - { - "label":"ImageSize", - "type":"keyword", - "info":"ImageSize is an option that specifies the overall size of an image to display for an object. " - }, - { - "label":"ImageSizeAction", - "type":"keyword", - "info":"ImageSizeAction is an option for Pane and related constructs that specifies what to do if the specif" - }, - { - "label":"ImageSizeCache", - "type":"keyword", - "info":"System`ImageSizeCache" - }, - { - "label":"ImageSizeMultipliers", - "type":"keyword", - "info":"ImageSizeMultipliers is an option that specifies how much smaller to render graphics that appear wit" - }, - { - "label":"ImageSizeRaw", - "type":"keyword", - "info":"System`ImageSizeRaw" - }, - { - "label":"ImageStitch", - "type":"keyword", - "info":"ImageStitch[{image , image , …}] gives a composed image from an unordered list of image .ImageStitch" - }, - { - "label":"ImageSubtract", - "type":"keyword", - "info":"ImageSubtract[image, x] subtracts a constant amount x from each channel value in image.ImageSubtract" - }, - { - "label":"ImageTake", - "type":"keyword", - "info":"ImageTake[image, n] gives an image consisting of the first n rows of image.ImageTake[image, -n] give" - }, - { - "label":"ImageTransformation", - "type":"keyword", - "info":"ImageTransformation[image, f] gives an image in which each pixel at position p corresponds to the po" - }, - { - "label":"ImageTrim", - "type":"keyword", - "info":"ImageTrim[image, roi] gives the smallest subimage of image that includes the specified region of int" - }, - { - "label":"ImageType", - "type":"keyword", - "info":"ImageType[image] gives the underlying type of values used for each pixel element in the Image or Ima" - }, - { - "label":"ImageValue", - "type":"keyword", - "info":"ImageValue[image, pos] gives the interpolated value of image at position pos.ImageValue[image, pos, " - }, - { - "label":"ImageValuePositions", - "type":"keyword", - "info":"ImageValuePositions[image, val] returns a list of pixel positions in image that exactly match the va" - }, - { - "label":"ImageVectorscopePlot", - "type":"keyword", - "info":"ImageVectorscopePlot[image] plots the chrominance of image." - }, - { - "label":"ImageWaveformPlot", - "type":"keyword", - "info":"ImageWaveformPlot[image] plots the waveform of image.ImageWaveformPlot[image, colorspace] plots the " - }, - { - "label":"ImagingDevice", - "type":"keyword", - "info":"ImagingDevice is an option to specify what device to use for capturing images." - }, - { - "label":"ImplicitRegion", - "type":"keyword", - "info":" n " - }, - { - "label":"Implies", - "type":"keyword", - "info":"Implies[p, q] represents the logical implication p ⇒ q. " - }, - { - "label":"Import", - "type":"keyword", - "info":"Import[source] imports data from source, returning a Wolfram Language representation of it.Import[so" - }, - { - "label":"ImportAutoReplacements", - "type":"keyword", - "info":"ImportAutoReplacements is an option for cells that specifies which replacement rules the Wolfram Lan" - }, - { - "label":"ImportByteArray", - "type":"keyword", - "info":"ImportByteArray[ba, \"format\"] imports data in the specified format from a ByteArray object.ImportByt" - }, - { - "label":"ImportedObject", - "type":"keyword", - "info":"ImportedObject[…] represents a piece of imported data that has no special representation in the Wolf" - }, - { - "label":"ImportOptions", - "type":"keyword", - "info":"ImportOptions is an option for Interpreter and related functions that specifies what options should " - }, - { - "label":"ImportString", - "type":"keyword", - "info":"ImportString[\"data\", \"format\"] imports data in the specified format from a string. ImportString[\"dat" - }, - { - "label":"ImprovementImportance", - "type":"keyword", - "info":"ImprovementImportance[rdist, t] gives the improvement importances for all components in the Reliabil" - }, - { - "label":"In", - "type":"keyword", - "info":" th\nIn[n] is a global obje" - }, - { - "label":"Inactivate", - "type":"keyword", - "info":"Inactivate[expr] replaces all instances of f with Inactive[f] for symbols f used as heads in expr.In" - }, - { - "label":"Inactive", - "type":"keyword", - "info":"Inactive[f] is an inactive form of f." - }, - { - "label":"IncidenceGraph", - "type":"keyword", - "info":"IncidenceGraph[m] gives the graph with incidence matrix m.IncidenceGraph[{v , v , …}, m] gives the g" - }, - { - "label":"IncidenceList", - "type":"keyword", - "info":"IncidenceList[g, v] gives a list of edges incident to vertex v.IncidenceList[g, patt] gives a list o" - }, - { - "label":"IncidenceMatrix", - "type":"keyword", - "info":"IncidenceMatrix[g] gives the vertex-edge incidence matrix of the graph g.IncidenceMatrix[{v  w, …}]" - }, - { - "label":"IncludeAromaticBonds", - "type":"keyword", - "info":"IncludeAromaticBonds is an option for Molecule that specifies whether aromatic bonds should be detec" - }, - { - "label":"IncludeConstantBasis", - "type":"keyword", - "info":"IncludeConstantBasis is an option for LinearModelFit and other fitting functions that specifies whet" - }, - { - "label":"IncludedContexts", - "type":"keyword", - "info":"IncludedContexts is an option for FullDefinition, Manipulate and related symbols that gives contexts" - }, - { - "label":"IncludeDefinitions", - "type":"keyword", - "info":"IncludeDefinitions is an option for cloud and other functions that specifies whether current definit" - }, - { - "label":"IncludeDirectories", - "type":"keyword", - "info":"IncludeDirectories is an option that specifies whether directories are included in evaluations." - }, - { - "label":"IncludeFileExtension", - "type":"keyword", - "info":"IncludeFileExtension is an option for notebooks that specifies whether the suffix \".nb\" is automatic" - }, - { - "label":"IncludeGeneratorTasks", - "type":"keyword", - "info":"IncludeGeneratorTasks is an option controlling the scope of scheduled task listings." - }, - { - "label":"IncludeHydrogens", - "type":"keyword", - "info":"IncludeHydrogens is an option that specifies whether hydrogen atoms should be explicitly included in" - }, - { - "label":"IncludeInflections", - "type":"keyword", - "info":"IncludeInflections is an option for linguistic functions that specifies whether inflected forms of w" - }, - { - "label":"IncludeMetaInformation", - "type":"keyword", - "info":"IncludeMetaInformation is an option for Import, Thumbnail, and other functions to specify what types" - }, - { - "label":"IncludePods", - "type":"keyword", - "info":"IncludePods is an option for WolframAlpha that determines specific pod IDs to include in the results" - }, - { - "label":"IncludeQuantities", - "type":"keyword", - "info":"IncludeQuantities is an option for DimensionalCombinations for additional quantities to include in t" - }, - { - "label":"IncludeRelatedTables", - "type":"keyword", - "info":"IncludeRelatedTables is an option for RelationalDatabase that specifies whether to include tables sp" - }, - { - "label":"IncludeSingularTerm", - "type":"keyword", - "info":" " - }, - { - "label":"IncludeWindowTimes", - "type":"keyword", - "info":"IncludeWindowTimes is an option to TimeSeriesWindow that specifies whether the endpoints in the time" - }, - { - "label":"Increment", - "type":"keyword", - "info":"x ++ increases the value of x by 1, returning the old value of x. " - }, - { - "label":"IndefiniteMatrixQ", - "type":"keyword", - "info":"IndefiniteMatrixQ[m] gives True if m is explicitly indefinite, and False otherwise. " - }, - { - "label":"Indent", - "type":"keyword", - "info":"System`Indent" - }, - { - "label":"IndentingNewlineSpacings", - "type":"keyword", - "info":"System`IndentingNewlineSpacings" - }, - { - "label":"IndentMaxFraction", - "type":"keyword", - "info":"System`IndentMaxFraction" - }, - { - "label":"IndependenceTest", - "type":"keyword", - "info":"IndependenceTest[v , v ] tests whether the vectors v and v are independent.IndependenceTest[m , m " - }, - { - "label":"IndependentEdgeSetQ", - "type":"keyword", - "info":"IndependentEdgeSetQ[g, elist] yields True if the edge list elist is an independent edge set of the g" - }, - { - "label":"IndependentPhysicalQuantity", - "type":"keyword", - "info":"IndependentPhysicalQuantity[string] represents a physical quantity string with no relationship to ot" - }, - { - "label":"IndependentUnit", - "type":"keyword", - "info":"IndependentUnit[string] represents a unit string with no relationship to other units within a Quanti" - }, - { - "label":"IndependentUnitDimension", - "type":"keyword", - "info":"IndependentUnitDimension[dim] represents the base dimension dim associated with an independent physi" - }, - { - "label":"IndependentVertexSetQ", - "type":"keyword", - "info":"IndependentVertexSetQ[g, vlist] yields True if the vertex list vlist is an independent vertex set in" - }, - { - "label":"Indeterminate", - "type":"keyword", - "info":"Indeterminate is a symbol that represents a numerical quantity whose magnitude cannot be determined." - }, - { - "label":"IndeterminateThreshold", - "type":"keyword", - "info":"IndeterminateThreshold is an option for Classify, Predict, and related functions that specifies belo" - }, - { - "label":"IndexCreationOptions", - "type":"keyword", - "info":"System`IndexCreationOptions" - }, - { - "label":"Indexed", - "type":"keyword", - "info":"Indexed[expr, i] represents the component of expr with index i and formats as expr .Indexed[expr, {i" - }, - { - "label":"IndexEdgeTaggedGraph", - "type":"keyword", - "info":"IndexEdgeTaggedGraph[g] sets tags of edges in the graph g to their edge indices.IndexEdgeTaggedGraph" - }, - { - "label":"IndexGraph", - "type":"keyword", - "info":"IndexGraph[g] replaces the vertices of the graph g by its vertex indices.IndexGraph[g, r] replaces t" - }, - { - "label":"IndexTag", - "type":"keyword", - "info":"System`IndexTag" - }, - { - "label":"Inequality", - "type":"keyword", - "info":"Inequality represents a sequence of relational statements." - }, - { - "label":"InexactNumberQ", - "type":"keyword", - "info":"InexactNumberQ[expr] returns True if expr is an inexact real or complex number, and returns False ot" - }, - { - "label":"InexactNumbers", - "type":"keyword", - "info":"System`InexactNumbers" - }, - { - "label":"InfiniteFuture", - "type":"keyword", - "info":"InfiniteFuture returns a DateObject expression representing infinite future in time." - }, - { - "label":"InfiniteLine", - "type":"keyword", - "info":"InfiniteLine[{p , p }] represents the infinite straight line passing through the points p and p . I" - }, - { - "label":"InfinitePast", - "type":"keyword", - "info":"InfinitePast returns a DateObject expression representing infinite past in time." - }, - { - "label":"InfinitePlane", - "type":"keyword", - "info":"InfinitePlane[{p , p , p }] represents the plane passing through the points p , p , and p .InfiniteP" - }, - { - "label":"Infinity", - "type":"keyword", - "info":"Infinity or ∞ is a symbol that represents a positive infinite quantity. " - }, - { - "label":"Infix", - "type":"keyword", - "info":"Infix[f[e , e , …]] prints with f[e , e , …] given in default infix form: e ~ f ~ e ~ f ~ e …. In" - }, - { - "label":"InflationAdjust", - "type":"keyword", - "info":"InflationAdjust[quantity, targetdate] attempts to adjust the specified quantity purchasing power to " - }, - { - "label":"InflationMethod", - "type":"keyword", - "info":"InflationMethod is an option for InflationAdjust that specifies what time series data is to be used " - }, - { - "label":"Information", - "type":"keyword", - "info":"Information[expr] gives information about the expression expr. Information[expr, prop] gives the val" - }, - { - "label":"InformationData", - "type":"keyword", - "info":"InformationData[assoc] is generated by Information[expr] and handle typesetting and element extracti" - }, - { - "label":"InformationDataGrid", - "type":"keyword", - "info":"System`InformationDataGrid" - }, - { - "label":"Inherited", - "type":"keyword", - "info":"Inherited is an option to Methods and Fields (in J\/Link) and NETTypeInfo (in .NET\/Link). The default" - }, - { - "label":"InheritScope", - "type":"keyword", - "info":"InheritScope is an option for DynamicModule that specifies whether to attempt to bind variables refe" - }, - { - "label":"InhomogeneousPoissonPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"InhomogeneousPoissonProcess", - "type":"keyword", - "info":"InhomogeneousPoissonProcess[λ[t], t] represents an inhomogeneous Poisson process with intensity λ[t]" - }, - { - "label":"InitialEvaluationHistory", - "type":"keyword", - "info":"InitialEvaluationHistory is an option for functions such as BayesianMinimization that gives an initi" - }, - { - "label":"Initialization", - "type":"keyword", - "info":"Initialization is an option for notebooks, cells, Dynamic, DynamicModule, Manipulate and related con" - }, - { - "label":"InitializationCell", - "type":"keyword", - "info":"InitializationCell is an option for Cell that specifies whether the cell should be tagged to be eval" - }, - { - "label":"InitializationCellEvaluation", - "type":"keyword", - "info":"InitializationCellEvaluation is an option for notebooks that specifies whether initialization cells " - }, - { - "label":"InitializationCellWarning", - "type":"keyword", - "info":"InitializationCellWarning is an option for notebooks that specifies whether a warning should be give" - }, - { - "label":"InitializationObject", - "type":"keyword", - "info":"InitializationObject[sym, loc] gives the persistent object where InitializationValue[sym, loc] is st" - }, - { - "label":"InitializationObjects", - "type":"keyword", - "info":"InitializationObjects[] gives the list of all persistent initialization objects in all locations in " - }, - { - "label":"InitializationValue", - "type":"keyword", - "info":"InitializationValue[sym] represents the settable persistent value with which the symbol sym will be " - }, - { - "label":"Initialize", - "type":"keyword", - "info":"Initialize[sym] initializes the symbol sym from persistent values on the default persistence path.In" - }, - { - "label":"InitialSeeding", - "type":"keyword", - "info":"InitialSeeding is an option for NDSolve and other functions that specifies equations that specify in" - }, - { - "label":"InlineCounterAssignments", - "type":"keyword", - "info":"System`InlineCounterAssignments" - }, - { - "label":"InlineCounterIncrements", - "type":"keyword", - "info":"System`InlineCounterIncrements" - }, - { - "label":"InlineRules", - "type":"keyword", - "info":"System`InlineRules" - }, - { - "label":"Inner", - "type":"keyword", - "info":"Inner[f, list , list , g] is a generalization of Dot in which f plays the role of multiplication and" - }, - { - "label":"InnerPolygon", - "type":"keyword", - "info":"InnerPolygon[poly] gives the inner polygon of the polygon poly." - }, - { - "label":"InnerPolyhedron", - "type":"keyword", - "info":"InnerPolyhedron[poly] gives the inner polyhedron of the polyhedron poly." - }, - { - "label":"Inpaint", - "type":"keyword", - "info":"Inpaint[image, region] retouches parts of image that correspond to nonzero elements in region." - }, - { - "label":"Input", - "type":"keyword", - "info":"Input[] interactively reads in one Wolfram Language expression. Input[prompt] requests input, displa" - }, - { - "label":"InputAliases", - "type":"keyword", - "info":"InputAliases is an option for cells and notebooks which specifies additional Esc name Esc aliases to" - }, - { - "label":"InputAssumptions", - "type":"keyword", - "info":"InputAssumptions is an option for WolframAlpha that specifies assumptions for current query input." - }, - { - "label":"InputAutoReplacements", - "type":"keyword", - "info":"InputAutoReplacements is an option for cells and notebooks which specifies strings of characters tha" - }, - { - "label":"InputField", - "type":"keyword", - "info":"InputField[] represents a blank editable input field. InputField[x] represents an editable input fie" - }, - { - "label":"InputFieldBox", - "type":"keyword", - "info":"System`InputFieldBox" - }, - { - "label":"InputFieldBoxOptions", - "type":"keyword", - "info":"InputFieldBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for InputF" - }, - { - "label":"InputForm", - "type":"keyword", - "info":"InputForm[expr] prints as a version of expr suitable for input to the Wolfram Language. " - }, - { - "label":"InputGrouping", - "type":"keyword", - "info":"System`InputGrouping" - }, - { - "label":"InputNamePacket", - "type":"keyword", - "info":"InputNamePacket[string] is a WSTP packet that contains in string the name to be assigned to the next" - }, - { - "label":"InputNotebook", - "type":"keyword", - "info":"InputNotebook[] gives the current notebook into which keyboard input in the front end will be direct" - }, - { - "label":"InputPacket", - "type":"keyword", - "info":"InputPacket[] is a WSTP packet that indicates a prompt for input as generated by Input." - }, - { - "label":"InputPorts", - "type":"keyword", - "info":"InputPorts is an option to specify the number, names or shapes of input ports for some neural net la" - }, - { - "label":"InputSettings", - "type":"keyword", - "info":"System`InputSettings" - }, - { - "label":"InputStream", - "type":"keyword", - "info":"InputStream[\"name\", n] is an object that represents an input stream for functions such as Read and F" - }, - { - "label":"InputString", - "type":"keyword", - "info":"InputString[] interactively reads in a character string. InputString[prompt] requests input, display" - }, - { - "label":"InputStringPacket", - "type":"keyword", - "info":"InputStringPacket[] is a WSTP packet that requests input in string form." - }, - { - "label":"InputToBoxFormPacket", - "type":"keyword", - "info":"InputToBoxFormPacket is an internal symbol used for formatting." - }, - { - "label":"Insert", - "type":"keyword", - "info":"Insert[list, elem, n] inserts elem at position n in list. If n is negative, the position is counted " - }, - { - "label":"InsertionFunction", - "type":"keyword", - "info":"InsertionFunction is an option for template functions that specifies how expressions are to be proce" - }, - { - "label":"InsertionPointObject", - "type":"keyword", - "info":"System`InsertionPointObject" - }, - { - "label":"InsertLinebreaks", - "type":"keyword", - "info":"InsertLinebreaks[\"string\"] inserts newline characters into string to make a string in which no line " - }, - { - "label":"InsertResults", - "type":"keyword", - "info":"InsertResults is an option for NotebookEvaluate that determines whether to place the results of eval" - }, - { - "label":"Inset", - "type":"keyword", - "info":"Inset[obj] represents an object obj inset in a graphic. Inset[obj, pos] specifies that the inset sho" - }, - { - "label":"Inset3DBox", - "type":"keyword", - "info":"System`Inset3DBox" - }, - { - "label":"Inset3DBoxOptions", - "type":"keyword", - "info":"Inset3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Inset3DBo" - }, - { - "label":"InsetBox", - "type":"keyword", - "info":"System`InsetBox" - }, - { - "label":"InsetBoxOptions", - "type":"keyword", - "info":"InsetBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for InsetBox ob" - }, - { - "label":"Insphere", - "type":"keyword", - "info":" " - }, - { - "label":"Install", - "type":"keyword", - "info":"Install[\"name\"] starts a WSTP-compatible external program and installs Wolfram Language definitions " - }, - { - "label":"InstallService", - "type":"keyword", - "info":"InstallService[\"url\"] installs the web service operations in the WSDL description at the URL given.I" - }, - { - "label":"InstanceNormalizationLayer", - "type":"keyword", - "info":"InstanceNormalizationLayer[] is equivalent to NormalizationLayer[]." - }, - { - "label":"InString", - "type":"keyword", - "info":" th\nInString[n] is a global o" - }, - { - "label":"Integer", - "type":"keyword", - "info":"Integer is the head used for integers. " - }, - { - "label":"IntegerDigits", - "type":"keyword", - "info":"IntegerDigits[n] gives a list of the decimal digits in the integer n. IntegerDigits[n, b] gives a li" - }, - { - "label":"IntegerExponent", - "type":"keyword", - "info":"IntegerExponent[n, b] gives the highest power of b that divides n. " - }, - { - "label":"IntegerLength", - "type":"keyword", - "info":"IntegerLength[n] gives the number of digits in the base 10 representation of the integer n.IntegerLe" - }, - { - "label":"IntegerName", - "type":"keyword", - "info":"IntegerName[n] gives a string containing the full English name of the integer n.IntegerName[n, quali" - }, - { - "label":"IntegerPart", - "type":"keyword", - "info":"IntegerPart[x] gives the integer part of x. " - }, - { - "label":"IntegerPartitions", - "type":"keyword", - "info":"IntegerPartitions[n] gives a list of all possible ways to partition the integer n into smaller integ" - }, - { - "label":"IntegerQ", - "type":"keyword", - "info":"IntegerQ[expr] gives True if expr is an integer, and False otherwise. " - }, - { - "label":"IntegerReverse", - "type":"keyword", - "info":"IntegerReverse[n] gives the integer whose digits are reversed with respect to those of the integer n" - }, - { - "label":"Integers", - "type":"keyword", - "info":"Integers represents the domain of integers, as in x ∈ Integers. " - }, - { - "label":"IntegerString", - "type":"keyword", - "info":"IntegerString[n] gives a string consisting of the decimal digits in the integer n. IntegerString[n, " - }, - { - "label":"Integral", - "type":"keyword", - "info":"System`Integral" - }, - { - "label":"Integrate", - "type":"keyword", - "info":" " - }, - { - "label":"Interactive", - "type":"keyword", - "info":"Interactive is an option that specifies whether a function should create a user prompt when mimickin" - }, - { - "label":"InteractiveTradingChart", - "type":"keyword", - "info":"InteractiveTradingChart[{{date , {open , high , low , close , volume }}, …}] makes a chart showing p" - }, - { - "label":"InterfaceSwitched", - "type":"keyword", - "info":"InterfaceSwitched[ size  expr , size  expr , …|>] is a construct that behaves as if it were exp" - }, - { - "label":"Interlaced", - "type":"keyword", - "info":"System`Interlaced" - }, - { - "label":"Interleaving", - "type":"keyword", - "info":"Interleaving is an option for Image and related functions that specifies whether data corresponding " - }, - { - "label":"InternallyBalancedDecomposition", - "type":"keyword", - "info":"InternallyBalancedDecomposition[ssm] yields the internally balanced decomposition of the state-space" - }, - { - "label":"InterpolatingFunction", - "type":"keyword", - "info":"InterpolatingFunction[domain, table] represents an approximate function whose values are found by in" - }, - { - "label":"InterpolatingPolynomial", - "type":"keyword", - "info":"InterpolatingPolynomial[{f , f , …}, x] constructs an interpolating polynomial in x which reproduces" - }, - { - "label":"Interpolation", - "type":"keyword", - "info":"Interpolation[{f , f , …}] constructs an interpolation of the function values f , assumed to corresp" - }, - { - "label":"InterpolationOrder", - "type":"keyword", - "info":"InterpolationOrder is an option for Interpolation, as well as ListLinePlot, ListPlot3D, ListContourP" - }, - { - "label":"InterpolationPoints", - "type":"keyword", - "info":"InterpolationPoints is an option to SmoothKernelDistribution and FunctionInterpolation that specifie" - }, - { - "label":"InterpolationPrecision", - "type":"keyword", - "info":"System`InterpolationPrecision" - }, - { - "label":"Interpretation", - "type":"keyword", - "info":"Interpretation[e, expr] represents an object that displays as e, but is interpreted as the unevaluat" - }, - { - "label":"InterpretationBox", - "type":"keyword", - "info":"InterpretationBox[boxes, expr] is a low-level box construct that displays as boxes but is interprete" - }, - { - "label":"InterpretationBoxOptions", - "type":"keyword", - "info":"InterpretationBoxOptions is an option for selections that specifies settings for InterpretationBox c" - }, - { - "label":"InterpretationFunction", - "type":"keyword", - "info":"InterpretationFunction is an option for TemplateBox that specifies how the box is to be evaluated." - }, - { - "label":"Interpreter", - "type":"keyword", - "info":"Interpreter[form] represents an interpreter object that can be applied to an input to try to interpr" - }, - { - "label":"InterpretTemplate", - "type":"keyword", - "info":"InterpretTemplate is an experimental function used for interpreting Mathematica input." - }, - { - "label":"InterquartileRange", - "type":"keyword", - "info":"InterquartileRange[list] gives the difference between the upper and lower quartiles for the elements" - }, - { - "label":"Interrupt", - "type":"keyword", - "info":"Interrupt[] generates an interrupt. " - }, - { - "label":"InterruptSettings", - "type":"keyword", - "info":"System`InterruptSettings" - }, - { - "label":"IntersectedEntityClass", - "type":"keyword", - "info":"IntersectedEntityClass[class , class , …] represents an entity class containing all the entities com" - }, - { - "label":"IntersectingQ", - "type":"keyword", - "info":"IntersectingQ[list , list ] yields True if list and list have at least one element in common, and " - }, - { - "label":"Intersection", - "type":"keyword", - "info":"Intersection[list , list , …] gives a sorted list of the elements common to all the list . \n " - }, - { - "label":"Interval", - "type":"keyword", - "info":"Interval[{min, max}] represents the range of values between min and max. Interval[{min , max }, {min" - }, - { - "label":"IntervalIntersection", - "type":"keyword", - "info":"IntervalIntersection[interval , interval , …] gives the interval representing all points common to e" - }, - { - "label":"IntervalMarkers", - "type":"keyword", - "info":"IntervalMarkers is an option for plotting functions such as ListPlot and BarChart that specifies how" - }, - { - "label":"IntervalMarkersStyle", - "type":"keyword", - "info":"IntervalMarkersStyle is an option for plotting functions that specifies styles in which uncertainty" - }, - { - "label":"IntervalMemberQ", - "type":"keyword", - "info":"IntervalMemberQ[interval, x] gives True if the number x lies within the specified interval, and Fals" - }, - { - "label":"IntervalSlider", - "type":"keyword", - "info":"IntervalSlider[{xmin, xmax}] represents a slider with setting {xmin, xmax} in the range 0 to 1.Inter" - }, - { - "label":"IntervalUnion", - "type":"keyword", - "info":"IntervalUnion[interval , interval , …] gives an interval containing the set of all points in any of " - }, - { - "label":"Into", - "type":"keyword", - "info":"System`Into" - }, - { - "label":"Inverse", - "type":"keyword", - "info":"Inverse[m] gives the inverse of a square matrix m. " - }, - { - "label":"InverseBetaRegularized", - "type":"keyword", - "info":"InverseBetaRegularized[s, a, b] gives the inverse of the regularized incomplete beta function. " - }, - { - "label":"InverseBilateralLaplaceTransform", - "type":"keyword", - "info":"InverseBilateralLaplaceTransform[expr, s, t] gives the inverse bilateral Laplace transform of expr. " - }, - { - "label":"InverseBilateralZTransform", - "type":"keyword", - "info":"InverseBilateralZTransform[expr, z, n] gives the inverse bilateral Z transform of expr.InverseBilate" - }, - { - "label":"InverseCDF", - "type":"keyword", - "info":"InverseCDF[dist, q] gives the inverse of the cumulative distribution function for the distribution d" - }, - { - "label":"InverseChiSquareDistribution", - "type":"keyword", - "info":" 2 " - }, - { - "label":"InverseContinuousWaveletTransform", - "type":"keyword", - "info":"InverseContinuousWaveletTransform[cwd] gives the inverse continuous wavelet transform of a Continuou" - }, - { - "label":"InverseDistanceTransform", - "type":"keyword", - "info":"InverseDistanceTransform[image] gives the inverse distance transform of image, returning the result " - }, - { - "label":"InverseEllipticNomeQ", - "type":"keyword", - "info":"InverseEllipticNomeQ[q] gives the parameter m corresponding to the nome q in an elliptic function. " - }, - { - "label":"InverseErf", - "type":"keyword", - "info":"InverseErf[s] gives the inverse error function obtained as the solution for z in s = erf(z). " - }, - { - "label":"InverseErfc", - "type":"keyword", - "info":"InverseErfc[s] gives the inverse complementary error function obtained as the solution for z in s = " - }, - { - "label":"InverseFourier", - "type":"keyword", - "info":"InverseFourier[list] finds the discrete inverse Fourier transform of a list of complex numbers.Inver" - }, - { - "label":"InverseFourierCosTransform", - "type":"keyword", - "info":"InverseFourierCosTransform[expr, ω, t] gives the symbolic inverse Fourier cosine transform of expr. " - }, - { - "label":"InverseFourierSequenceTransform", - "type":"keyword", - "info":"InverseFourierSequenceTransform[expr, ω, n] gives the inverse discrete-time Fourier transform of exp" - }, - { - "label":"InverseFourierSinTransform", - "type":"keyword", - "info":"InverseFourierSinTransform[expr, ω, t] gives the symbolic inverse Fourier sine transform of expr. In" - }, - { - "label":"InverseFourierTransform", - "type":"keyword", - "info":"InverseFourierTransform[expr, ω, t] gives the symbolic inverse Fourier transform of expr. InverseFou" - }, - { - "label":"InverseFunction", - "type":"keyword", - "info":" " - }, - { - "label":"InverseFunctions", - "type":"keyword", - "info":"InverseFunctions is an option for Solve and related functions that specifies whether inverse functio" - }, - { - "label":"InverseGammaDistribution", - "type":"keyword", - "info":"InverseGammaDistribution[Î\\[PlusMinus], Î\.b2] represents an inverse gamma distribution with shape parameter Î\\[PlusMinus] and s" - }, - { - "label":"InverseGammaRegularized", - "type":"keyword", - "info":"InverseGammaRegularized[a, s] gives the inverse of the regularized incomplete gamma function. " - }, - { - "label":"InverseGaussianDistribution", - "type":"keyword", - "info":"InverseGaussianDistribution[μ, λ] represents an inverse Gaussian distribution with mean μ and scale " - }, - { - "label":"InverseGudermannian", - "type":"keyword", - "info":" -1\nInverseGudermannian[z] gives the" - }, - { - "label":"InverseHankelTransform", - "type":"keyword", - "info":"InverseHankelTransform[expr, s, r] gives the inverse Hankel transform of order 0 for expr.InverseHan" - }, - { - "label":"InverseHaversine", - "type":"keyword", - "info":" -1\nInverseHaversine[z] gives the inverse" - }, - { - "label":"InverseImagePyramid", - "type":"keyword", - "info":"InverseImagePyramid[pyr] reconstructs an image from an ImagePyramid object pyr.InverseImagePyramid[p" - }, - { - "label":"InverseJacobiCD", - "type":"keyword", - "info":" -1\nInverseJacobiCD[v, m] gives th" - }, - { - "label":"InverseJacobiCN", - "type":"keyword", - "info":" -1\nInverseJacobiCN[v, m] gives th" - }, - { - "label":"InverseJacobiCS", - "type":"keyword", - "info":" -1\nInverseJacobiCS[v, m] gives th" - }, - { - "label":"InverseJacobiDC", - "type":"keyword", - "info":" -1\nInverseJacobiDC[v, m] gives th" - }, - { - "label":"InverseJacobiDN", - "type":"keyword", - "info":" -1\nInverseJacobiDN[v, m] gives th" - }, - { - "label":"InverseJacobiDS", - "type":"keyword", - "info":" -1\nInverseJacobiDS[v, m] gives th" - }, - { - "label":"InverseJacobiNC", - "type":"keyword", - "info":" -1\nInverseJacobiNC[v, m] gives th" - }, - { - "label":"InverseJacobiND", - "type":"keyword", - "info":" -1\nInverseJacobiND[v, m] gives th" - }, - { - "label":"InverseJacobiNS", - "type":"keyword", - "info":" -1\nInverseJacobiNS[v, m] gives th" - }, - { - "label":"InverseJacobiSC", - "type":"keyword", - "info":" -1\nInverseJacobiSC[v, m] gives th" - }, - { - "label":"InverseJacobiSD", - "type":"keyword", - "info":" -1\nInverseJacobiSD[v, m] gives th" - }, - { - "label":"InverseJacobiSN", - "type":"keyword", - "info":" -1\nInverseJacobiSN[v, m] gives th" - }, - { - "label":"InverseLaplaceTransform", - "type":"keyword", - "info":" " - }, - { - "label":"InverseMellinTransform", - "type":"keyword", - "info":"InverseMellinTransform[expr, s, x] gives the inverse Mellin transform of expr. " - }, - { - "label":"InversePermutation", - "type":"keyword", - "info":"InversePermutation[perm] returns the inverse of permutation perm." - }, - { - "label":"InverseRadon", - "type":"keyword", - "info":"InverseRadon[image] gives the inverse discrete Radon transform of image.InverseRadon[image, {w, h}] " - }, - { - "label":"InverseRadonTransform", - "type":"keyword", - "info":"InverseRadonTransform[expr, {p, ϕ}, {x, y}] gives the inverse Radon transform of expr." - }, - { - "label":"InverseSeries", - "type":"keyword", - "info":"InverseSeries[s] takes the series s, and gives a series for the inverse of the function represented " - }, - { - "label":"InverseShortTimeFourier", - "type":"keyword", - "info":"InverseShortTimeFourier[input] reconstructs the signal from short-time Fourier data.InverseShortTime" - }, - { - "label":"InverseSpectrogram", - "type":"keyword", - "info":"InverseSpectrogram[data] reconstructs the signal from the magnitude spectrogram data.InverseSpectrog" - }, - { - "label":"InverseSurvivalFunction", - "type":"keyword", - "info":"InverseSurvivalFunction[dist, q] gives the inverse of the survival function for the distribution dis" - }, - { - "label":"InverseTransformedRegion", - "type":"keyword", - "info":" n\nInverseTransfo" - }, - { - "label":"InverseWaveletTransform", - "type":"keyword", - "info":"InverseWaveletTransform[dwd] gives the inverse wavelet transform of a DiscreteWaveletData object dwd" - }, - { - "label":"InverseWeierstrassP", - "type":"keyword", - "info":"InverseWeierstrassP[p, {g , g }] gives a value of u for which the Weierstrass function ℘ (u ; g , g " - }, - { - "label":"InverseWishartMatrixDistribution", - "type":"keyword", - "info":"InverseWishartMatrixDistribution[ν, Σ] represents an inverse Wishart matrix distribution with ν degr" - }, - { - "label":"InverseZTransform", - "type":"keyword", - "info":"InverseZTransform[expr, z, n] gives the inverse Z transform of expr. InverseZTransform[expr, {z , z " - }, - { - "label":"Invisible", - "type":"keyword", - "info":"Invisible[expr] displays as space that is the same size as the formatted version of expr." - }, - { - "label":"InvisibleApplication", - "type":"keyword", - "info":"System`InvisibleApplication" - }, - { - "label":"InvisibleTimes", - "type":"keyword", - "info":"System`InvisibleTimes" - }, - { - "label":"IPAddress", - "type":"keyword", - "info":"IPAddress[\"address\"] is a symbolic representation of an IPv4 or IPv6 IP address." - }, - { - "label":"IrreduciblePolynomialQ", - "type":"keyword", - "info":"IrreduciblePolynomialQ[poly] tests whether poly is an irreducible polynomial over the rationals.Irre" - }, - { - "label":"IslandData", - "type":"keyword", - "info":"IslandData[entity, property] gives the value of the specified property for the island entity.IslandD" - }, - { - "label":"IsolatingInterval", - "type":"keyword", - "info":"IsolatingInterval[a] gives a rational isolating interval for the algebraic number a.IsolatingInterva" - }, - { - "label":"IsomorphicGraphQ", - "type":"keyword", - "info":"IsomorphicGraphQ[g , g ] yields True if the graphs g and g are isomorphic, and False otherwise.\n " - }, - { - "label":"IsomorphicSubgraphQ", - "type":"keyword", - "info":"IsomorphicSubgraphQ[g , g ] yields True if the graph g is isomorphic to a subgraph of the graph g ." - }, - { - "label":"IsotopeData", - "type":"keyword", - "info":"IsotopeData[{Z, A}, \"property\"] gives the value of the specified property for the isotope with atomi" - }, - { - "label":"Italic", - "type":"keyword", - "info":"Italic represents an italic font slant." - }, - { - "label":"Item", - "type":"keyword", - "info":"Item[expr, options] represents an item within constructs such as Grid, Overlay, and Manipulate that " - }, - { - "label":"ItemAspectRatio", - "type":"keyword", - "info":"ItemAspectRatio is an option for GraphicsGrid which specifies the ratio of height to width for the r" - }, - { - "label":"ItemBox", - "type":"keyword", - "info":"System`ItemBox" - }, - { - "label":"ItemBoxOptions", - "type":"keyword", - "info":"ItemBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for ItemBox obje" - }, - { - "label":"ItemDisplayFunction", - "type":"keyword", - "info":"ItemDisplayFunction is an option for Dataset that specifies a function to apply to items before disp" - }, - { - "label":"ItemSize", - "type":"keyword", - "info":"ItemSize is an option for Grid, Column, and related constructs that specifies the sizes to allow for" - }, - { - "label":"ItemStyle", - "type":"keyword", - "info":"ItemStyle is an option for Dataset, Grid and related constructs that specifies styles to use for ite" - }, - { - "label":"ItoProcess", - "type":"keyword", - "info":"ItoProcess[{a, b}, x, t] represents an Ito process x(t), where  x(t)  a(t, x(t))  t + b(t, x(t)) " - }, - { - "label":"JaccardDissimilarity", - "type":"keyword", - "info":"JaccardDissimilarity[u, v] gives the Jaccard dissimilarity between Boolean vectors u and v." - }, - { - "label":"JacobiAmplitude", - "type":"keyword", - "info":"JacobiAmplitude[u, m] gives the amplitude am(u ï\.b2 m) for Jacobi elliptic functions. " - }, - { - "label":"Jacobian", - "type":"keyword", - "info":"Jacobian is an option for FindRoot. Jacobian -> Automatic attempts symbolic computation of the Jacob" - }, - { - "label":"JacobiCD", - "type":"keyword", - "info":"JacobiCD[u, m] gives the Jacobi elliptic function cd(u | m)." - }, - { - "label":"JacobiCN", - "type":"keyword", - "info":"JacobiCN[u, m] gives the Jacobi elliptic function cn(u | m)." - }, - { - "label":"JacobiCS", - "type":"keyword", - "info":"JacobiCS[u, m] gives the Jacobi elliptic function cs(u | m)." - }, - { - "label":"JacobiDC", - "type":"keyword", - "info":"JacobiDC[u, m] gives the Jacobi elliptic function dc(u | m)." - }, - { - "label":"JacobiDN", - "type":"keyword", - "info":"JacobiDN[u, m] gives the Jacobi elliptic function dn(u | m)." - }, - { - "label":"JacobiDS", - "type":"keyword", - "info":"JacobiDS[u, m] gives the Jacobi elliptic function ds(u | m)." - }, - { - "label":"JacobiEpsilon", - "type":"keyword", - "info":"JacobiEpsilon[u, m] gives the Jacobi epsilon function â„\\[Degree](u | m)." - }, - { - "label":"JacobiNC", - "type":"keyword", - "info":"JacobiNC[u, m] gives the Jacobi elliptic function nc(u | m)." - }, - { - "label":"JacobiND", - "type":"keyword", - "info":"JacobiND[u, m] gives the Jacobi elliptic function nd(u | m)." - }, - { - "label":"JacobiNS", - "type":"keyword", - "info":"JacobiNS[u, m] gives the Jacobi elliptic function ns(u | m)." - }, - { - "label":"JacobiP", - "type":"keyword", - "info":" (a, b)\nJacobiP[n, a, b, x] gives the Jacobi polynom" - }, - { - "label":"JacobiSC", - "type":"keyword", - "info":"JacobiSC[u, m] gives the Jacobi elliptic function sc(u | m)." - }, - { - "label":"JacobiSD", - "type":"keyword", - "info":"JacobiSD[u, m] gives the Jacobi elliptic function sd(u | m)." - }, - { - "label":"JacobiSN", - "type":"keyword", - "info":"JacobiSN[u, m] gives the Jacobi elliptic function sn(u | m)." - }, - { - "label":"JacobiSymbol", - "type":"keyword", - "info":" n\nJacobiSymbol[n, m] gives the Jacobi symbol (-). \n " - }, - { - "label":"JacobiZeta", - "type":"keyword", - "info":"JacobiZeta[ϕ, m] gives the Jacobi zeta function Z(ϕ ï\.b2 m). " - }, - { - "label":"JacobiZN", - "type":"keyword", - "info":"JacobiZN[u, m] gives the Jacobi zeta function zn(u | m)." - }, - { - "label":"JankoGroupJ1", - "type":"keyword", - "info":"JankoGroupJ1[] represents the sporadic simple Janko group J .\n " - }, - { - "label":"JankoGroupJ2", - "type":"keyword", - "info":"JankoGroupJ2[] represents the sporadic simple Janko group J .\n " - }, - { - "label":"JankoGroupJ3", - "type":"keyword", - "info":"JankoGroupJ3[] represents the sporadic simple Janko group J .\n " - }, - { - "label":"JankoGroupJ4", - "type":"keyword", - "info":"JankoGroupJ4[] represents the sporadic simple Janko group J .\n " - }, - { - "label":"JarqueBeraALMTest", - "type":"keyword", - "info":"JarqueBeraALMTest[data] tests whether data is normally distributed using the Jarque–Bera ALM test.Ja" - }, - { - "label":"JohnsonDistribution", - "type":"keyword", - "info":"JohnsonDistribution[\"SB\", Î\.b3, Î\.b4, μ, σ] represents a bounded Johnson distribution with shape parameter" - }, - { - "label":"Join", - "type":"keyword", - "info":"Join[list , list , …] concatenates lists or other expressions that share the same head.Join[list , l" - }, - { - "label":"JoinAcross", - "type":"keyword", - "info":"JoinAcross[{a , a , …}, {b , b , …}, key] gives a list of associations obtained by joining those pai" - }, - { - "label":"Joined", - "type":"keyword", - "info":"Joined is an option for ListPlot and related functions that specifies whether points in each dataset" - }, - { - "label":"JoinedCurve", - "type":"keyword", - "info":"JoinedCurve[{segment , segment , …}] represents a curve consisting of segment followed by segment " - }, - { - "label":"JoinedCurveBox", - "type":"keyword", - "info":"System`JoinedCurveBox" - }, - { - "label":"JoinedCurveBoxOptions", - "type":"keyword", - "info":"JoinedCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Joine" - }, - { - "label":"JoinForm", - "type":"keyword", - "info":"JoinForm[type] is a graphics directive that specifies what type of joins should be used to connect s" - }, - { - "label":"JordanDecomposition", - "type":"keyword", - "info":"JordanDecomposition[m] yields the Jordan decomposition of a square matrix m. The result is a list {s" - }, - { - "label":"JordanModelDecomposition", - "type":"keyword", - "info":"JordanModelDecomposition[ssm] yields the Jordan decomposition of the state-space model ssm. " - }, - { - "label":"JulianDate", - "type":"keyword", - "info":"JulianDate[] gives the current number of days since noon on November 24, 4714 BCE in the GMT time zo" - }, - { - "label":"JuliaSetBoettcher", - "type":"keyword", - "info":"JuliaSetBoettcher[c, z] gives the BÃ\\[Paragraph]ttcher coordinate of z with respect to the quadratic Julia set J" - }, - { - "label":"JuliaSetIterationCount", - "type":"keyword", - "info":" " - }, - { - "label":"JuliaSetPlot", - "type":"keyword", - "info":" " - }, - { - "label":"JuliaSetPoints", - "type":"keyword", - "info":" " - }, - { - "label":"K", - "type":"keyword", - "info":"K is a default generic name for a summation index in a symbolic sum." - }, - { - "label":"KagiChart", - "type":"keyword", - "info":"KagiChart[{{date , p }, {date , p }, …}] makes a Kagi chart with prices p at date date .KagiChart[{" - }, - { - "label":"KaiserBesselWindow", - "type":"keyword", - "info":"KaiserBesselWindow[x] represents a Kaiser–Bessel window function of x." - }, - { - "label":"KaiserWindow", - "type":"keyword", - "info":"KaiserWindow[x] represents a Kaiser window function of x.KaiserWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n" - }, - { - "label":"KalmanEstimator", - "type":"keyword", - "info":"KalmanEstimator[ssm, {w, v}] constructs the Kalman estimator for the StateSpaceModel ssm with proces" - }, - { - "label":"KalmanFilter", - "type":"keyword", - "info":"KalmanFilter[tproc, data] filters data using the time series model given by tproc." - }, - { - "label":"KarhunenLoeveDecomposition", - "type":"keyword", - "info":"KarhunenLoeveDecomposition[{a , a , …}] gives the Karhunen–Loeve transform {{b , b , …}, m} of the n" - }, - { - "label":"KaryTree", - "type":"keyword", - "info":"KaryTree[n] gives a binary tree with n vertices.KaryTree[n, k] gives a k-ary tree with n vertices.\n" - }, - { - "label":"KatzCentrality", - "type":"keyword", - "info":"KatzCentrality[g, Î\\[PlusMinus]] gives a list of Katz centralities for the vertices in the graph g and weight Î\\[PlusMinus]." - }, - { - "label":"KCoreComponents", - "type":"keyword", - "info":"KCoreComponents[g, k] gives the k-core components of the underlying simple graph of g.KCoreComponent" - }, - { - "label":"KDistribution", - "type":"keyword", - "info":"KDistribution[ν, w] represents a K distribution with shape parameters ν and w." - }, - { - "label":"KEdgeConnectedComponents", - "type":"keyword", - "info":"KEdgeConnectedComponents[g, k] gives the k-edge-connected components of the graph g.KEdgeConnectedCo" - }, - { - "label":"KEdgeConnectedGraphQ", - "type":"keyword", - "info":"KEdgeConnectedGraphQ[g, k] yields True if the graph g is k-edge-connected and False otherwise." - }, - { - "label":"KeepExistingVersion", - "type":"keyword", - "info":"KeepExistingVersion is an option for PacletInstall and PacletInstallSubmit that specifies whether an" - }, - { - "label":"KelvinBei", - "type":"keyword", - "info":"KelvinBei[z] gives the Kelvin function bei(z).KelvinBei[n, z] gives the Kelvin function bei (z). \n " - }, - { - "label":"KelvinBer", - "type":"keyword", - "info":"KelvinBer[z] gives the Kelvin function ber(z).KelvinBer[n, z] gives the Kelvin function ber (z). \n " - }, - { - "label":"KelvinKei", - "type":"keyword", - "info":"KelvinKei[z] gives the Kelvin function kei(z).KelvinKei[n, z] gives the Kelvin function kei (z). \n " - }, - { - "label":"KelvinKer", - "type":"keyword", - "info":"KelvinKer[z] gives the Kelvin function ker(z).KelvinKer[n, z] gives the Kelvin function ker (z). \n " - }, - { - "label":"KendallTau", - "type":"keyword", - "info":" " - }, - { - "label":"KendallTauTest", - "type":"keyword", - "info":"KendallTauTest[v , v ] tests whether the vectors v and v are independent.KendallTauTest[m , m ] te" - }, - { - "label":"KernelExecute", - "type":"keyword", - "info":"System`KernelExecute" - }, - { - "label":"KernelFunction", - "type":"keyword", - "info":"KernelFunction[f] represents a function to be evaluated in the Wolfram Engine kernel, even when it i" - }, - { - "label":"KernelMixtureDistribution", - "type":"keyword", - "info":"KernelMixtureDistribution[{x , x , …}] represents a kernel mixture distribution based on the data va" - }, - { - "label":"KernelObject", - "type":"keyword", - "info":"KernelObject[n, name, …] represents a kernel available for parallel computing." - }, - { - "label":"Kernels", - "type":"keyword", - "info":"Kernels[] gives the list of running kernels available for parallel computing." - }, - { - "label":"Ket", - "type":"keyword", - "info":"System`Ket" - }, - { - "label":"Key", - "type":"keyword", - "info":"Key[key] represents a key used to access a value in an association.Key[key][assoc] extracts the valu" - }, - { - "label":"KeyCollisionFunction", - "type":"keyword", - "info":"KeyCollisionFunction is an option for JoinAcross that specifies how to handle pairs of elements that" - }, - { - "label":"KeyComplement", - "type":"keyword", - "info":"KeyComplement[{assoc , assoc , assoc , …}] generates an association in which only elements whose k" - }, - { - "label":"KeyDrop", - "type":"keyword", - "info":"KeyDrop[assoc, {key , key , …}] yields an association from which elements with keys key have been d" - }, - { - "label":"KeyDropFrom", - "type":"keyword", - "info":"KeyDropFrom[a, key] changes the association a by dropping the element with the specified key.KeyDrop" - }, - { - "label":"KeyExistsQ", - "type":"keyword", - "info":"KeyExistsQ[assoc, key] returns True if the specified key exists in the association assoc, and False " - }, - { - "label":"KeyFreeQ", - "type":"keyword", - "info":"KeyFreeQ[assoc, form] yields True if no key in the association assoc matches form, and yields False " - }, - { - "label":"KeyIntersection", - "type":"keyword", - "info":"KeyIntersection[{assoc , assoc , …}] generates a list of associations in which only elements whose k" - }, - { - "label":"KeyMap", - "type":"keyword", - "info":"KeyMap[f,  key  val , key  val , … ] maps f over the keys in an association, giving  f[key ] " - }, - { - "label":"KeyMemberQ", - "type":"keyword", - "info":"KeyMemberQ[assoc, form] yields True if a key in the association assoc matches form, and False otherw" - }, - { - "label":"KeypointStrength", - "type":"keyword", - "info":"KeypointStrength is an option for ImageKeypoints and related functions to specify a minimum strength" - }, - { - "label":"Keys", - "type":"keyword", - "info":"Keys[ key  val , key  val , … ] gives a list of the keys key in an association.Keys[{key  v" - }, - { - "label":"KeySelect", - "type":"keyword", - "info":"KeySelect[assoc, crit] selects elements in the association assoc for which crit applied to their key" - }, - { - "label":"KeySort", - "type":"keyword", - "info":"KeySort[assoc] orders the elements of an association by sorting its keys.KeySort[assoc, p] orders th" - }, - { - "label":"KeySortBy", - "type":"keyword", - "info":"KeySortBy[assoc, f] sorts the elements of an association in the order defined by applying f to each " - }, - { - "label":"KeyTake", - "type":"keyword", - "info":"KeyTake[assoc, {key , key , …}] yields an association containing only the elements with keys key .Ke" - }, - { - "label":"KeyUnion", - "type":"keyword", - "info":"KeyUnion[{assoc , assoc , …}] generates a list of associations in which each association has the uni" - }, - { - "label":"KeyValueMap", - "type":"keyword", - "info":"KeyValueMap[f,  key  val , key  val , … ] gives the list {f[key , val ], f[key , val ], …}.Key" - }, - { - "label":"KeyValuePattern", - "type":"keyword", - "info":"KeyValuePattern[{patt , …}] is a pattern object that represents an association or list of rules that" - }, - { - "label":"Khinchin", - "type":"keyword", - "info":"Khinchin is Khinchin's constant, with numerical value ≃ 2.68545. " - }, - { - "label":"KillProcess", - "type":"keyword", - "info":"KillProcess[proc] kills the external process represented by the ProcessObject proc." - }, - { - "label":"KirchhoffGraph", - "type":"keyword", - "info":"KirchhoffGraph[kmat] gives the graph with Kirchhoff matrix kmat.KirchhoffGraph[{v , v , …}, kmat] gi" - }, - { - "label":"KirchhoffMatrix", - "type":"keyword", - "info":"KirchhoffMatrix[g] gives the Kirchhoff matrix of the graph g.KirchhoffMatrix[{v  w, …}] uses rules " - }, - { - "label":"KleinInvariantJ", - "type":"keyword", - "info":"KleinInvariantJ[τ] gives the Klein invariant modular elliptic function J(τ). " - }, - { - "label":"KnapsackSolve", - "type":"keyword", - "info":"KnapsackSolve[{cost , cost , …}, maxtotalcost] solves the knapsack problem of finding the maximum nu" - }, - { - "label":"KnightTourGraph", - "type":"keyword", - "info":"KnightTourGraph[m, n] gives a Knight's tour graph on an mn chessboard." - }, - { - "label":"KnotData", - "type":"keyword", - "info":"KnotData[knot, \"property\"] gives the specified property for a knot.KnotData[knot] gives an image of " - }, - { - "label":"KnownUnitQ", - "type":"keyword", - "info":"KnownUnitQ[expr] returns True if expr is a canonical unit, and False otherwise." - }, - { - "label":"KochCurve", - "type":"keyword", - "info":" th\nKochCurve[n] gives the line segments repr" - }, - { - "label":"KolmogorovSmirnovTest", - "type":"keyword", - "info":"KolmogorovSmirnovTest[data] tests whether data is normally distributed using the Kolmogorov–Smirnov " - }, - { - "label":"KroneckerDelta", - "type":"keyword", - "info":"KroneckerDelta[n , n , …] gives the Kronecker delta Î\.b4 , equal to 1 if all the n are equal, an" - }, - { - "label":"KroneckerModelDecomposition", - "type":"keyword", - "info":"KroneckerModelDecomposition[ssm] yields the Kronecker decomposition of a descriptor state-space mode" - }, - { - "label":"KroneckerProduct", - "type":"keyword", - "info":"KroneckerProduct[m , m , …] constructs the Kronecker product of the arrays m .\n 1 " - }, - { - "label":"KroneckerSymbol", - "type":"keyword", - "info":" n\nKroneckerSymbol[n, m] gives the Kronecker symbol" - }, - { - "label":"KuiperTest", - "type":"keyword", - "info":"KuiperTest[data] tests whether data is normally distributed using the Kuiper test.KuiperTest[data, d" - }, - { - "label":"KumaraswamyDistribution", - "type":"keyword", - "info":"KumaraswamyDistribution[Î\\[PlusMinus], Î\.b2] represents a Kumaraswamy distribution with shape parameters Î\\[PlusMinus] and Î\.b2." - }, - { - "label":"Kurtosis", - "type":"keyword", - "info":"Kurtosis[list] gives the coefficient of kurtosis for the elements in list.Kurtosis[dist] gives the c" - }, - { - "label":"KuwaharaFilter", - "type":"keyword", - "info":"KuwaharaFilter[data, r] computes for each element p in data the variance of the values in the four (" - }, - { - "label":"KVertexConnectedComponents", - "type":"keyword", - "info":"KVertexConnectedComponents[g, k] gives the k-vertex-connected components of the graph g.KVertexConne" - }, - { - "label":"KVertexConnectedGraphQ", - "type":"keyword", - "info":"KVertexConnectedGraphQ[g, k] yields True if the graph g is k-vertex-connected and False otherwise." - }, - { - "label":"LABColor", - "type":"keyword", - "info":"LABColor[l, a, b] represents a color in the Lab color space with lightness l and color components a " - }, - { - "label":"Label", - "type":"keyword", - "info":"Label[tag] represents a point in a compound expression to which control can be transferred using Got" - }, - { - "label":"Labeled", - "type":"keyword", - "info":"Labeled[expr, lbl] displays expr labeled with lbl. Labeled[expr, lbl, pos] places lbl at a position " - }, - { - "label":"LabeledSlider", - "type":"keyword", - "info":"System`LabeledSlider" - }, - { - "label":"LabelingFunction", - "type":"keyword", - "info":"LabelingFunction is an option for data visualization functions to automatically label elements of a " - }, - { - "label":"LabelingSize", - "type":"keyword", - "info":"LabelingSize is an option to visualization functions that specifies the size to be used for labels a" - }, - { - "label":"LabelStyle", - "type":"keyword", - "info":"LabelStyle is an option for formatting and related constructs that specifies the style to use in dis" - }, - { - "label":"LabelVisibility", - "type":"keyword", - "info":"LabelVisibility is an option for Callout and Labeled in plotting functions that determines which lab" - }, - { - "label":"LaguerreL", - "type":"keyword", - "info":" " - }, - { - "label":"LakeData", - "type":"keyword", - "info":"LakeData[entity, property] gives the value of the specified property for the lake entity.LakeData[{e" - }, - { - "label":"LambdaComponents", - "type":"keyword", - "info":"LambdaComponents[g] gives the lambda components of the graph g.LambdaComponents[g, {v , v , …}] give" - }, - { - "label":"LambertW", - "type":"keyword", - "info":"System`LambertW" - }, - { - "label":"LameC", - "type":"keyword", - "info":" th j\nLameC[ν, j, z, m] gives the j Lamé function Ec" - }, - { - "label":"LameCPrime", - "type":"keyword", - "info":" th j\nLameCPrime[ν, j, z, m] g" - }, - { - "label":"LameEigenvalueA", - "type":"keyword", - "info":" th j\nLameEigenvalueA[ν, j, m] gives the j L" - }, - { - "label":"LameEigenvalueB", - "type":"keyword", - "info":" th j\nLameEigenvalueB[ν, j, m] gives the j L" - }, - { - "label":"LameS", - "type":"keyword", - "info":" th j\nLameS[ν, j, z, m] gives the j Lamé function Es" - }, - { - "label":"LameSPrime", - "type":"keyword", - "info":" th j\nLameSPrime[ν, j, z, m] g" - }, - { - "label":"LaminaData", - "type":"keyword", - "info":"LaminaData[entity, property] gives the value of the specified property for the lamina entity.LaminaD" - }, - { - "label":"LanczosWindow", - "type":"keyword", - "info":"LanczosWindow[x] represents a Lanczos window function of x." - }, - { - "label":"LandauDistribution", - "type":"keyword", - "info":"LandauDistribution[μ, σ] represents a Landau distribution with location parameter μ and scale parame" - }, - { - "label":"Language", - "type":"keyword", - "info":"Language is an option that specifies the language to use." - }, - { - "label":"LanguageCategory", - "type":"keyword", - "info":"LanguageCategory is an option for Cell that determines in what category of language the contents of " - }, - { - "label":"LanguageData", - "type":"keyword", - "info":"LanguageData[entity, property] gives the value of the specified property for the language entity.Lan" - }, - { - "label":"LanguageIdentify", - "type":"keyword", - "info":"LanguageIdentify[\"string\"] attempts to determine what human language text in string is in, predomina" - }, - { - "label":"LanguageOptions", - "type":"keyword", - "info":"System`LanguageOptions" - }, - { - "label":"LaplaceDistribution", - "type":"keyword", - "info":"LaplaceDistribution[μ, Î\.b2] represents a Laplace double-exponential distribution with mean μ and scale" - }, - { - "label":"LaplaceTransform", - "type":"keyword", - "info":" " - }, - { - "label":"Laplacian", - "type":"keyword", - "info":" 2 2 2 2\nLaplacian[f, {x , …, x }] " - }, - { - "label":"LaplacianFilter", - "type":"keyword", - "info":"LaplacianFilter[data, r] convolves data with a radius-r Laplacian kernel.LaplacianFilter[data, {r , " - }, - { - "label":"LaplacianGaussianFilter", - "type":"keyword", - "info":"LaplacianGaussianFilter[data, r] convolves data with a Laplacian of Gaussian kernel of pixel radius " - }, - { - "label":"LaplacianPDETerm", - "type":"keyword", - "info":" 2\nLaplacianPDETerm[vars] represents a Laplacian " - }, - { - "label":"Large", - "type":"keyword", - "info":"Large is a style or option setting that specifies that objects should be large." - }, - { - "label":"Larger", - "type":"keyword", - "info":"Larger is a style or option setting that specifies that objects should be larger." - }, - { - "label":"Last", - "type":"keyword", - "info":"Last[expr] gives the last element in expr. Last[expr, def] gives the last element if there are any e" - }, - { - "label":"Latitude", - "type":"keyword", - "info":"Latitude[pos] gives the latitude in degrees of a geographic position specified by pos.Latitude[pos, " - }, - { - "label":"LatitudeLongitude", - "type":"keyword", - "info":"LatitudeLongitude[pos] gives a list of the latitude and longitude in degrees of a geographic positio" - }, - { - "label":"LatticeData", - "type":"keyword", - "info":"LatticeData[lattice, \"property\"] gives the specified property for a lattice.LatticeData[n] gives a l" - }, - { - "label":"LatticeReduce", - "type":"keyword", - "info":"LatticeReduce[{v , v , …}] gives a reduced basis for the set of vectors v . \n 1 2 " - }, - { - "label":"Launch", - "type":"keyword", - "info":"Launch is a setting for the LinkMode option of LinkOpen. LinkMode->Launch causes a link to be creat" - }, - { - "label":"LaunchKernels", - "type":"keyword", - "info":"LaunchKernels[] launches all currently configured parallel subkernels.LaunchKernels[n] launches n lo" - }, - { - "label":"LayeredGraphPlot", - "type":"keyword", - "info":"LayeredGraphPlot[g] generates a layered plot of the graph g.LayeredGraphPlot[{e , e , …}] generates " - }, - { - "label":"LayeredGraphPlot3D", - "type":"keyword", - "info":"LayeredGraphPlot3D[g] generates a 3D layered plot of the graph g.LayeredGraphPlot3D[{e , e , …}] gen" - }, - { - "label":"LayerSizeFunction", - "type":"keyword", - "info":"LayerSizeFunction is an option for TreePlot that gives a function to specify the relative height to " - }, - { - "label":"LayoutInformation", - "type":"keyword", - "info":"System`LayoutInformation" - }, - { - "label":"LCHColor", - "type":"keyword", - "info":"LCHColor[l, c, h] represents a color in the LCH color space with lightness l, chroma c and hue h.LCH" - }, - { - "label":"LCM", - "type":"keyword", - "info":"LCM[n , n , …] gives the least common multiple of the n . \n 1 2 " - }, - { - "label":"LeaderSize", - "type":"keyword", - "info":"LeaderSize is an option for Callout that specifies what sizes to use for leader lines." - }, - { - "label":"LeafCount", - "type":"keyword", - "info":"LeafCount[expr] gives the total number of indivisible subexpressions in expr. " - }, - { - "label":"LeapVariant", - "type":"keyword", - "info":"LeapVariant[n] represents a repeated calendar element caused by a leap period." - }, - { - "label":"LeapYearQ", - "type":"keyword", - "info":"LeapYearQ[date] returns True if the year corresponding to date is a leap year." - }, - { - "label":"LearnDistribution", - "type":"keyword", - "info":"LearnDistribution[{example , example , …}] generates a LearnedDistribution[…] that attempts to repre" - }, - { - "label":"LearnedDistribution", - "type":"keyword", - "info":"LearnedDistribution[…] represents a distribution generated by LearnDistribution." - }, - { - "label":"LearningRate", - "type":"keyword", - "info":"LearningRate is an option for NetTrain that specifies the rate at which to adjust neural net weights" - }, - { - "label":"LearningRateMultipliers", - "type":"keyword", - "info":"LearningRateMultipliers is an option for net layers and for NetTrain, NetChain, NetGraph that specif" - }, - { - "label":"LeastSquares", - "type":"keyword", - "info":"LeastSquares[m, b] finds an x that solves the linear least-squares problem for the matrix equation m" - }, - { - "label":"LeastSquaresFilterKernel", - "type":"keyword", - "info":"LeastSquaresFilterKernel[{{ω , …, ω }, {a , …, a }}, n] creates a k-band finite impulse response" - }, - { - "label":"Left", - "type":"keyword", - "info":"Left is a symbol that represents the left-hand side for purposes of alignment and positioning. " - }, - { - "label":"LeftArrow", - "type":"keyword", - "info":"LeftArrow[x, y, …] displays as x ← y ← …." - }, - { - "label":"LeftArrowBar", - "type":"keyword", - "info":"LeftArrowBar[x, y, …] displays as x ⇤ y ⇤ …." - }, - { - "label":"LeftArrowRightArrow", - "type":"keyword", - "info":"LeftArrowRightArrow[x, y, …] displays as x ⇆ y ⇆ …." - }, - { - "label":"LeftDownTeeVector", - "type":"keyword", - "info":"LeftDownTeeVector[x, y, …] displays as x ⥡ y ⥡ …." - }, - { - "label":"LeftDownVector", - "type":"keyword", - "info":"LeftDownVector[x, y, …] displays as x ⇃ y ⇃ …." - }, - { - "label":"LeftDownVectorBar", - "type":"keyword", - "info":"LeftDownVectorBar[x, y, …] displays as x ⥙ y ⥙ …." - }, - { - "label":"LeftRightArrow", - "type":"keyword", - "info":"LeftRightArrow[x, y, …] displays as x ↔ y ↔ …." - }, - { - "label":"LeftRightVector", - "type":"keyword", - "info":"LeftRightVector[x, y, …] displays as x ⥎ y ⥎ …." - }, - { - "label":"LeftTee", - "type":"keyword", - "info":"LeftTee[x, y] displays as x ⊣ y." - }, - { - "label":"LeftTeeArrow", - "type":"keyword", - "info":"LeftTeeArrow[x, y, …] displays as x ↤ y ↤ …." - }, - { - "label":"LeftTeeVector", - "type":"keyword", - "info":"LeftTeeVector[x, y, …] displays as x ⥚ y ⥚ …." - }, - { - "label":"LeftTriangle", - "type":"keyword", - "info":"LeftTriangle[x, y, …] displays as x âŠ\.b2 y âŠ\.b2 …." - }, - { - "label":"LeftTriangleBar", - "type":"keyword", - "info":"LeftTriangleBar[x, y, …] displays as x ⧏ y ⧏ …." - }, - { - "label":"LeftTriangleEqual", - "type":"keyword", - "info":"LeftTriangleEqual[x, y, …] displays as x âŠ\.b4 y âŠ\.b4 …." - }, - { - "label":"LeftUpDownVector", - "type":"keyword", - "info":"LeftUpDownVector[x, y, …] displays as x ⥑ y ⥑ …." - }, - { - "label":"LeftUpTeeVector", - "type":"keyword", - "info":"LeftUpTeeVector[x, y, …] displays as x ⥠ y ⥠ …." - }, - { - "label":"LeftUpVector", - "type":"keyword", - "info":"LeftUpVector[x, y, …] displays as x ↿ y ↿ …." - }, - { - "label":"LeftUpVectorBar", - "type":"keyword", - "info":"LeftUpVectorBar[x, y, …] displays as x ⥘ y ⥘ …." - }, - { - "label":"LeftVector", - "type":"keyword", - "info":"LeftVector[x, y, …] displays as x ↼ y ↼ …." - }, - { - "label":"LeftVectorBar", - "type":"keyword", - "info":"LeftVectorBar[x, y, …] displays as x ⥒ y ⥒ …." - }, - { - "label":"LegendAppearance", - "type":"keyword", - "info":"LegendAppearance is an option for charting functions that specifies the appearance of any legends th" - }, - { - "label":"Legended", - "type":"keyword", - "info":"Legended[expr, leg] displays expr with legend leg. Legended[expr, lbl] indicates in plotting and cha" - }, - { - "label":"LegendFunction", - "type":"keyword", - "info":"LegendFunction is an option for legends that specifies an overall function to apply to the generated" - }, - { - "label":"LegendLabel", - "type":"keyword", - "info":"LegendLabel is an option for legends that specifies an overall label for a legend." - }, - { - "label":"LegendLayout", - "type":"keyword", - "info":"LegendLayout is an option for legends that specifies how to format the legend content." - }, - { - "label":"LegendMargins", - "type":"keyword", - "info":"LegendMargins is an option for legends that specifies the margins to leave around the legend." - }, - { - "label":"LegendMarkers", - "type":"keyword", - "info":"LegendMarkers is an option for legends such as PointLegend that specifies markers for each element." - }, - { - "label":"LegendMarkerSize", - "type":"keyword", - "info":"LegendMarkerSize is an option for legends such as PointLegend that specifies the size of marker regi" - }, - { - "label":"LegendreP", - "type":"keyword", - "info":" " - }, - { - "label":"LegendreQ", - "type":"keyword", - "info":" " - }, - { - "label":"LegendreType", - "type":"keyword", - "info":"System`LegendreType" - }, - { - "label":"Length", - "type":"keyword", - "info":"Length[expr] gives the number of elements in expr. " - }, - { - "label":"LengthWhile", - "type":"keyword", - "info":"LengthWhile[list, crit] gives the number of contiguous elements e starting at the beginning of list" - }, - { - "label":"LerchPhi", - "type":"keyword", - "info":"LerchPhi[z, s, a] gives the Lerch transcendent Φ (z, s, a). " - }, - { - "label":"Less", - "type":"keyword", - "info":"x < y yields True if x is determined to be less than y. x < x < x yields True if the x form a st" - }, - { - "label":"LessEqual", - "type":"keyword", - "info":"x <= y or x ≤ y yields True if x is determined to be less than or equal to y.x ≤ x ≤ x yields Tru" - }, - { - "label":"LessEqualGreater", - "type":"keyword", - "info":"LessEqualGreater[x, y, …] displays as x ⋚ y ⋚ …." - }, - { - "label":"LessEqualThan", - "type":"keyword", - "info":"LessEqualThan[y] is an operator form that yields x ≤ y when applied to an expression x." - }, - { - "label":"LessFullEqual", - "type":"keyword", - "info":"LessFullEqual[x, y, …] displays as x ≦ y ≦ …." - }, - { - "label":"LessGreater", - "type":"keyword", - "info":"LessGreater[x, y, …] displays as x â‰\\[Paragraph] y â‰\\[Paragraph] …." - }, - { - "label":"LessLess", - "type":"keyword", - "info":"LessLess[x, y, …] displays as x ≪ y ≪ …." - }, - { - "label":"LessSlantEqual", - "type":"keyword", - "info":"LessSlantEqual[x, y, …] displays as x ⩽ y ⩽ …." - }, - { - "label":"LessThan", - "type":"keyword", - "info":"LessThan[y] is an operator form that yields x < y when applied to an expression x." - }, - { - "label":"LessTilde", - "type":"keyword", - "info":"LessTilde[x, y, …] displays as x â‰\.b2 y â‰\.b2 …." - }, - { - "label":"LetterCharacter", - "type":"keyword", - "info":"LetterCharacter represents a letter character in StringExpression." - }, - { - "label":"LetterCounts", - "type":"keyword", - "info":"LetterCounts[\"string\"] gives an association whose keys are the distinct letters in string, and whose" - }, - { - "label":"LetterNumber", - "type":"keyword", - "info":"LetterNumber[\"c\"] gives the position of the character c in the English alphabet.LetterNumber[\"c\", al" - }, - { - "label":"LetterQ", - "type":"keyword", - "info":"LetterQ[string] yields True if all the characters in the string are letters, and yields False otherw" - }, - { - "label":"Level", - "type":"keyword", - "info":"Level[expr, levelspec] gives a list of all subexpressions of expr on levels specified by levelspec. " - }, - { - "label":"LeveneTest", - "type":"keyword", - "info":" " - }, - { - "label":"LeviCivitaTensor", - "type":"keyword", - "info":"LeviCivitaTensor[d] gives the d-dimensional Levi-Civita totally antisymmetric tensor." - }, - { - "label":"LevyDistribution", - "type":"keyword", - "info":"LevyDistribution[μ, σ] represents a Lévy distribution with location parameter μ and dispersion param" - }, - { - "label":"Lexicographic", - "type":"keyword", - "info":"System`Lexicographic" - }, - { - "label":"LexicographicOrder", - "type":"keyword", - "info":"LexicographicOrder[{a , a , …}, {b , b , …}] gives Order[a , b ] for the first non-coinciding pair a" - }, - { - "label":"LexicographicSort", - "type":"keyword", - "info":"LexicographicSort[{e , e , …}] sorts the list of expressions e in lexicographic order.Lexicographic" - }, - { - "label":"LibraryDataType", - "type":"keyword", - "info":"LibraryDataType[datatype] specifies the data type for a LibraryFunction argument or result to be dat" - }, - { - "label":"LibraryFunction", - "type":"keyword", - "info":"LibraryFunction[ args] represents a function that has been loaded from a Wolfram Library." - }, - { - "label":"LibraryFunctionError", - "type":"keyword", - "info":"LibraryFunctionError[name, code] represents an error returned from a LibraryFunction." - }, - { - "label":"LibraryFunctionInformation", - "type":"keyword", - "info":"LibraryFunctionInformation[fun] returns information about a LibraryFunction." - }, - { - "label":"LibraryFunctionLoad", - "type":"keyword", - "info":"LibraryFunctionLoad[lib, fun, argtype, rettype] loads Wolfram Library lib and makes the library func" - }, - { - "label":"LibraryFunctionUnload", - "type":"keyword", - "info":"LibraryFunctionUnload[fun] unloads a LibraryFunction so that it cannot be used." - }, - { - "label":"LibraryLoad", - "type":"keyword", - "info":"LibraryLoad[lib] loads the dynamic library lib into the Wolfram System runtime." - }, - { - "label":"LibraryUnload", - "type":"keyword", - "info":"LibraryUnload[lib] unloads all functions that have been loaded from a Wolfram Library, then it unloa" - }, - { - "label":"LicenseEntitlementObject", - "type":"keyword", - "info":"LicenseEntitlementObject[…] represents an on-demand license entitlement.LicenseEntitlementObject[id]" - }, - { - "label":"LicenseEntitlements", - "type":"keyword", - "info":"LicenseEntitlements[] gives a list of on-demand license entitlements owned by you." - }, - { - "label":"LicenseID", - "type":"keyword", - "info":"LicenseID is an option to Encode which specifies the required value of ECLicenseID on the computer th" - }, - { - "label":"LicensingSettings", - "type":"keyword", - "info":"LicensingSettings is an option for RemoteBatchSubmit and related functions to configure licensing fo" - }, - { - "label":"LiftingFilterData", - "type":"keyword", - "info":"LiftingFilterData[…] represents lifting-filter data used to compute forward and inverse lifting wave" - }, - { - "label":"LiftingWaveletTransform", - "type":"keyword", - "info":"LiftingWaveletTransform[data] gives the lifting wavelet transform (LWT) of an array of data.LiftingW" - }, - { - "label":"LightBlue", - "type":"keyword", - "info":"LightBlue represents a light blue color in graphics or style specifications." - }, - { - "label":"LightBrown", - "type":"keyword", - "info":"LightBrown represents a light brown color in graphics or style specifications." - }, - { - "label":"LightCyan", - "type":"keyword", - "info":"LightCyan represents a light cyan color in graphics or style specifications." - }, - { - "label":"Lighter", - "type":"keyword", - "info":"Lighter[color] represents a lighter version of the specified color. Lighter[color, f] represents a v" - }, - { - "label":"LightGray", - "type":"keyword", - "info":"LightGray represents a light gray color in graphics or style specifications." - }, - { - "label":"LightGreen", - "type":"keyword", - "info":"LightGreen represents a light green color in graphics or style specifications." - }, - { - "label":"Lighting", - "type":"keyword", - "info":"Lighting is an option for Graphics3D and related functions that specifies what simulated lighting to" - }, - { - "label":"LightingAngle", - "type":"keyword", - "info":"LightingAngle is an option for ReliefPlot and related functions that specifies the angle from which " - }, - { - "label":"LightMagenta", - "type":"keyword", - "info":"LightMagenta represents a light magenta color in graphics or style specifications." - }, - { - "label":"LightOrange", - "type":"keyword", - "info":"LightOrange represents a light orange color in graphics or style specifications." - }, - { - "label":"LightPink", - "type":"keyword", - "info":"LightPink represents a light pink color in graphics or style specifications." - }, - { - "label":"LightPurple", - "type":"keyword", - "info":"LightPurple represents a light purple color in graphics or style specifications." - }, - { - "label":"LightRed", - "type":"keyword", - "info":"LightRed represents a light red color in graphics or style specifications." - }, - { - "label":"LightSources", - "type":"keyword", - "info":"LightSources is an option for Graphics3D and related functions that specifies the properties of poin" - }, - { - "label":"LightYellow", - "type":"keyword", - "info":"LightYellow represents a light yellow color in graphics or style specifications." - }, - { - "label":"Likelihood", - "type":"keyword", - "info":"Likelihood[dist, {x , x , …}] gives the likelihood function for observations x , x , … from the dist" - }, - { - "label":"Limit", - "type":"keyword", - "info":" * * * " - }, - { - "label":"LimitsPositioning", - "type":"keyword", - "info":"LimitsPositioning is an option for UnderoverscriptBox and related boxes that specifies whether to ch" - }, - { - "label":"LimitsPositioningTokens", - "type":"keyword", - "info":"LimitsPositioningTokens is an option for selections that specifies a set of characters for which the" - }, - { - "label":"LindleyDistribution", - "type":"keyword", - "info":"LindleyDistribution[Î\.b4] represents a Lindley distribution with shape parameter Î\.b4." - }, - { - "label":"Line", - "type":"keyword", - "info":"Line[{p , p , …}] represents the line segments joining a sequence for points p .Line[{{p , p , …}," - }, - { - "label":"Line3DBox", - "type":"keyword", - "info":"System`Line3DBox" - }, - { - "label":"Line3DBoxOptions", - "type":"keyword", - "info":"Line3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Line3DBox " - }, - { - "label":"LinearFilter", - "type":"keyword", - "info":"System`LinearFilter" - }, - { - "label":"LinearFractionalOptimization", - "type":"keyword", - "info":"LinearFractionalOptimization[f, cons, vars] finds values of variables vars that minimize the linear " - }, - { - "label":"LinearFractionalTransform", - "type":"keyword", - "info":"LinearFractionalTransform[m] gives a TransformationFunction that represents a linear fractional tran" - }, - { - "label":"LinearGradientFilling", - "type":"keyword", - "info":"LinearGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that" - }, - { - "label":"LinearGradientImage", - "type":"keyword", - "info":"LinearGradientImage[gcol] returns an image with values linearly changing from left to right based on" - }, - { - "label":"LinearizingTransformationData", - "type":"keyword", - "info":"LinearizingTransformationData[…] represents data of an AffineStateSpaceModel linearized by functions" - }, - { - "label":"LinearLayer", - "type":"keyword", - "info":"LinearLayer[n] represents a trainable, fully connected net layer that computes w . x + b with output" - }, - { - "label":"LinearModelFit", - "type":"keyword", - "info":"LinearModelFit[{y , y , …}, {f , f , …}, x] constructs a linear model of the form Î\.b2 + Î\.b2 f + Î\.b2 f " - }, - { - "label":"LinearOffsetFunction", - "type":"keyword", - "info":"LinearOffsetFunction is an option for linear and generalized linear model fitting functions that spe" - }, - { - "label":"LinearOptimization", - "type":"keyword", - "info":"LinearOptimization[f, cons, vars] finds values of variables vars that minimize the linear objective " - }, - { - "label":"LinearProgramming", - "type":"keyword", - "info":"LinearProgramming[c, m, b] finds a vector x that minimizes the quantity c . x subject to the constra" - }, - { - "label":"LinearRecurrence", - "type":"keyword", - "info":" " - }, - { - "label":"LinearSolve", - "type":"keyword", - "info":"LinearSolve[m, b] finds an x that solves the matrix equation m . x == b. LinearSolve[m] generates a " - }, - { - "label":"LinearSolveFunction", - "type":"keyword", - "info":"LinearSolveFunction[dimensions, data] represents a function for providing solutions to a matrix equa" - }, - { - "label":"LineBox", - "type":"keyword", - "info":"System`LineBox" - }, - { - "label":"LineBoxOptions", - "type":"keyword", - "info":"LineBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for LineBox obje" - }, - { - "label":"LineBreak", - "type":"keyword", - "info":"System`LineBreak" - }, - { - "label":"LinebreakAdjustments", - "type":"keyword", - "info":"LinebreakAdjustments is an option for selections that sets parameters used for calculating where aut" - }, - { - "label":"LineBreakChart", - "type":"keyword", - "info":"LineBreakChart[{{date , p }, {date , p }, …}] makes a line break chart with prices p at date date ." - }, - { - "label":"LinebreakSemicolonWeighting", - "type":"keyword", - "info":"System`LinebreakSemicolonWeighting" - }, - { - "label":"LineBreakWithin", - "type":"keyword", - "info":"LineBreakWithin is an option for selections that specifies whether line breaks occur automatically w" - }, - { - "label":"LineColor", - "type":"keyword", - "info":"System`LineColor" - }, - { - "label":"LineGraph", - "type":"keyword", - "info":"LineGraph[g] gives the line graph of the graph g.LineGraph[{v  w, …}] uses rules v  w to specify t" - }, - { - "label":"LineIndent", - "type":"keyword", - "info":"LineIndent is an option for Style and Cell that specifies how many ems of indentation to add at the " - }, - { - "label":"LineIndentMaxFraction", - "type":"keyword", - "info":"LineIndentMaxFraction is an option for Cell, StyleBox, and Style that specifies the maximum fraction" - }, - { - "label":"LineIntegralConvolutionPlot", - "type":"keyword", - "info":"LineIntegralConvolutionPlot[{{v , v }, image}, {x, x , x }, {y, y , y }] generates a line in" - }, - { - "label":"LineIntegralConvolutionScale", - "type":"keyword", - "info":"LineIntegralConvolutionScale is an option to LineIntegralConvolutionPlot and related functions that " - }, - { - "label":"LineLegend", - "type":"keyword", - "info":"LineLegend[{col , …}, {lbl , …}] generates a legend that associates color col with label lbl .LineL" - }, - { - "label":"LineOpacity", - "type":"keyword", - "info":"System`LineOpacity" - }, - { - "label":"LineSpacing", - "type":"keyword", - "info":"LineSpacing is an option for Style and Cell that specifies the spacing between successive lines of t" - }, - { - "label":"LineWrapParts", - "type":"keyword", - "info":"System`LineWrapParts" - }, - { - "label":"LinkActivate", - "type":"keyword", - "info":"LinkActivate[lnk] activates a WSTP connection, waiting for the program at the other end to respond." - }, - { - "label":"LinkClose", - "type":"keyword", - "info":"LinkClose[link] closes an open WSTP connection. " - }, - { - "label":"LinkConnect", - "type":"keyword", - "info":"LinkConnect[\"name\"] connects to a WSTP link created by another program. " - }, - { - "label":"LinkConnectedQ", - "type":"keyword", - "info":"System`LinkConnectedQ" - }, - { - "label":"LinkCreate", - "type":"keyword", - "info":"LinkCreate[\"name\"] creates a WSTP link with the specified name for another program to connect to. Li" - }, - { - "label":"LinkError", - "type":"keyword", - "info":"LinkError[link] returns error information for link in the form { errorNumber, errorExplanation }." - }, - { - "label":"LinkFlush", - "type":"keyword", - "info":"LinkFlush[link] transmits immediately any locally buffered outgoing expressions." - }, - { - "label":"LinkFunction", - "type":"keyword", - "info":"LinkFunction is an option for GeneralizedLinearModelFit that specifies the link function for the gen" - }, - { - "label":"LinkHost", - "type":"keyword", - "info":"LinkHost is an option for LinkOpen that specifies on what computer a program should be launched or o" - }, - { - "label":"LinkInterrupt", - "type":"keyword", - "info":"LinkInterrupt[link] sends an interrupt to the program at the other end of the specified WSTP connect" - }, - { - "label":"LinkLaunch", - "type":"keyword", - "info":"LinkLaunch[\"prog\"] starts the external program prog and opens a WSTP connection to it. " - }, - { - "label":"LinkMode", - "type":"keyword", - "info":"LinkMode is an option for LinkOpen that specifies how the link is to be established and connected. " - }, - { - "label":"LinkObject", - "type":"keyword", - "info":"LinkObject[\"name\", n , n ] is an object that represents an active WSTP connection for functions such" - }, - { - "label":"LinkOpen", - "type":"keyword", - "info":"LinkOpen[\"prog\"] starts the external program prog and opens a MathLink connection to it." - }, - { - "label":"LinkOptions", - "type":"keyword", - "info":"System`LinkOptions" - }, - { - "label":"LinkPatterns", - "type":"keyword", - "info":"LinkPatterns[link] gives a list of the patterns for which definitions were set up when the external " - }, - { - "label":"LinkProtocol", - "type":"keyword", - "info":"LinkProtocol is an option to LinkLaunch, Install, and related functions that specifies the underlyin" - }, - { - "label":"LinkRankCentrality", - "type":"keyword", - "info":"LinkRankCentrality[g, Î\\[PlusMinus]] gives the link-rank centralities for edges in the graph g and weight Î\\[PlusMinus].Link" - }, - { - "label":"LinkRead", - "type":"keyword", - "info":"LinkRead[link] reads one expression from the specified WSTP connection. LinkRead[link, h] wraps h ar" - }, - { - "label":"LinkReadHeld", - "type":"keyword", - "info":"LinkReadHeld[link] reads an expression via WSTP from link and returns it wrapped in Hold." - }, - { - "label":"LinkReadyQ", - "type":"keyword", - "info":"LinkReadyQ[link] tests whether there is an expression ready to read from the specified WSTP connecti" - }, - { - "label":"Links", - "type":"keyword", - "info":"Links[] gives a list of all WSTP connections that are currently open. Links[patt] lists only links w" - }, - { - "label":"LinkService", - "type":"keyword", - "info":"LinkService[\"service\", l] is an object that represents an active connection to the WSTP service." - }, - { - "label":"LinkWrite", - "type":"keyword", - "info":"LinkWrite[link, expr] writes expr to the specified WSTP connection. " - }, - { - "label":"LinkWriteHeld", - "type":"keyword", - "info":"LinkWriteHeld[link, Hold[expr], (flush : True)] writes expr (without the Hold) via WSTP to link (syn" - }, - { - "label":"LiouvilleLambda", - "type":"keyword", - "info":"LiouvilleLambda[n] gives the Liouville function λ(n)." - }, - { - "label":"List", - "type":"keyword", - "info":"{e , e , …} is a list of elements. \n 1 2" - }, - { - "label":"Listable", - "type":"keyword", - "info":"Listable is an attribute that can be assigned to a symbol f to indicate that the function f should a" - }, - { - "label":"ListAnimate", - "type":"keyword", - "info":"ListAnimate[{expr , expr , …}] generates an animation whose frames are the successive expr . ListAni" - }, - { - "label":"ListContourPlot", - "type":"keyword", - "info":"ListContourPlot[{{f , …, f }, …, {f , …, f }}] generates a contour plot from an array of values " - }, - { - "label":"ListContourPlot3D", - "type":"keyword", - "info":"ListContourPlot3D[array] generates a contour plot from a three-dimensional array of values. ListCont" - }, - { - "label":"ListConvolve", - "type":"keyword", - "info":" " - }, - { - "label":"ListCorrelate", - "type":"keyword", - "info":" " - }, - { - "label":"ListCurvePathPlot", - "type":"keyword", - "info":"ListCurvePathPlot[{{x , y }, {x , y }, …}] plots a curve that corresponds to a smooth path through t" - }, - { - "label":"ListDeconvolve", - "type":"keyword", - "info":"ListDeconvolve[ker, list] gives a deconvolution of list using kernel ker." - }, - { - "label":"ListDensityPlot", - "type":"keyword", - "info":"ListDensityPlot[{{f , …, f }, …, {f , …, f }}] generates a smooth density plot from an array of " - }, - { - "label":"ListDensityPlot3D", - "type":"keyword", - "info":"ListDensityPlot3D[array] generates a smooth density plot from an array of values. ListDensityPlot3D[" - }, - { - "label":"Listen", - "type":"keyword", - "info":"Listen is a setting for the LinkMode option of LinkOpen. LinkMode->Listen causes a link to be creat" - }, - { - "label":"ListFormat", - "type":"keyword", - "info":"ListFormat is an option to TextString and related functions that determines how lists are formatted." - }, - { - "label":"ListFourierSequenceTransform", - "type":"keyword", - "info":"ListFourierSequenceTransform[list, ω] gives the discrete-time Fourier transform (DTFT) of a list as " - }, - { - "label":"ListInterpolation", - "type":"keyword", - "info":"ListInterpolation[array] constructs an InterpolatingFunction object that represents an approximate f" - }, - { - "label":"ListLineIntegralConvolutionPlot", - "type":"keyword", - "info":"ListLineIntegralConvolutionPlot[{array, image}] generates a line integral convolution plot of image " - }, - { - "label":"ListLinePlot", - "type":"keyword", - "info":"ListLinePlot[{y , y , …}] plots a line through the points {1, y }, {2, y }, ….ListLinePlot[{{x , y }" - }, - { - "label":"ListLinePlot3D", - "type":"keyword", - "info":"ListLinePlot3D[{{x , y , z }, {x , y , z }, …, {x , y , z }}] plots a curve through the 3D points {x" - }, - { - "label":"ListLogLinearPlot", - "type":"keyword", - "info":"ListLogLinearPlot[{y , y , …}] makes a log-linear plot of the y , assumed to correspond to x coordin" - }, - { - "label":"ListLogLogPlot", - "type":"keyword", - "info":"ListLogLogPlot[{y , y , …}] makes a log-log plot of the y , assumed to correspond to x coordinates 1" - }, - { - "label":"ListLogPlot", - "type":"keyword", - "info":"ListLogPlot[{y , y , …}] makes a log plot of the y , assumed to correspond to x coordinates 1, 2, …." - }, - { - "label":"ListPicker", - "type":"keyword", - "info":"ListPicker[list, {val , val , …}] represents a list pane with setting list that can contain possible" - }, - { - "label":"ListPickerBox", - "type":"keyword", - "info":"ListPickerBox[list, {val  lbl , val  lbl , …}] is a low-level box structure that represents a li" - }, - { - "label":"ListPickerBoxBackground", - "type":"keyword", - "info":"System`ListPickerBoxBackground" - }, - { - "label":"ListPickerBoxOptions", - "type":"keyword", - "info":"ListPickerBoxOptions is an option that specifies settings for ListPickerBox objects." - }, - { - "label":"ListPlay", - "type":"keyword", - "info":"ListPlay[{a , a , …}] creates an object that plays as a sound whose amplitude is given by the sequen" - }, - { - "label":"ListPlot", - "type":"keyword", - "info":"ListPlot[{y , …, y }] plots points {1, y }, {2, y }, …. ListPlot[{{x , y }, …, {x , y }}] generates " - }, - { - "label":"ListPlot3D", - "type":"keyword", - "info":"ListPlot3D[{{f , …, f }, …, {f , …, f }}] generates a surface representing an array of height va" - }, - { - "label":"ListPointPlot3D", - "type":"keyword", - "info":"ListPointPlot3D[{{x , y , z }, {x , y , z }, …}] generates a 3D scatter plot of points with coordina" - }, - { - "label":"ListPolarPlot", - "type":"keyword", - "info":"ListPolarPlot[{r , r , …}] plots points equally spaced in angle at radii r .ListPolarPlot[{{θ , r }," - }, - { - "label":"ListQ", - "type":"keyword", - "info":"ListQ[expr] gives True if the head of expr is List, and False otherwise." - }, - { - "label":"ListSliceContourPlot3D", - "type":"keyword", - "info":"ListSliceContourPlot3D[array, surf] generates a contour plot of the three-dimensional array of value" - }, - { - "label":"ListSliceDensityPlot3D", - "type":"keyword", - "info":"ListSliceDensityPlot3D[array, surf] generates a density plot of the three-dimensional array of value" - }, - { - "label":"ListSliceVectorPlot3D", - "type":"keyword", - "info":"ListSliceVectorPlot3D[array, surf] generates a vector plot from a 3D array of vector field values ov" - }, - { - "label":"ListStepPlot", - "type":"keyword", - "info":"ListStepPlot[{y , y , …}] plots the values y , y , … in steps at points 1, 2, ….ListStepPlot[{{x , y" - }, - { - "label":"ListStreamDensityPlot", - "type":"keyword", - "info":"ListStreamDensityPlot[array] generates a stream density plot from a 2D array of vector and scalar fi" - }, - { - "label":"ListStreamPlot", - "type":"keyword", - "info":"ListStreamPlot[array] generates a stream plot from an array of vector field values.ListStreamPlot[{{" - }, - { - "label":"ListStreamPlot3D", - "type":"keyword", - "info":"ListStreamPlot3D[array] plots streamlines for the vector field given as an array of vectors." - }, - { - "label":"ListSurfacePlot3D", - "type":"keyword", - "info":"ListSurfacePlot3D[{{x , y , z }, {x , y , z }, …}] plots a three-dimensional surface constructed to " - }, - { - "label":"ListVectorDensityPlot", - "type":"keyword", - "info":"ListVectorDensityPlot[array] generates a vector plot from a 2D array of vector and scalar field valu" - }, - { - "label":"ListVectorDisplacementPlot", - "type":"keyword", - "info":"ListVectorDisplacementPlot[{{{vx , vy }, …, {vx , vy }}, …, {{vx , vy }, …, {vx , vy }}}] ge" - }, - { - "label":"ListVectorDisplacementPlot3D", - "type":"keyword", - "info":"ListVectorDisplacementPlot3D[{{{vx , vy , vz }, …, {vx , vy , vz }}, …, {{vx , vy , vz }, …" - }, - { - "label":"ListVectorPlot", - "type":"keyword", - "info":"ListVectorPlot[array] generates a vector plot from an array of vector field values.ListVectorPlot[{{" - }, - { - "label":"ListVectorPlot3D", - "type":"keyword", - "info":"ListVectorPlot3D[array] generates a 3D vector plot from a 3D array of vector field values.ListVector" - }, - { - "label":"ListZTransform", - "type":"keyword", - "info":"ListZTransform[list, z] gives the Z transform of list as a function of z.ListZTransform[list, z, k] " - }, - { - "label":"Literal", - "type":"keyword", - "info":"System`Literal" - }, - { - "label":"LiteralSearch", - "type":"keyword", - "info":"System`LiteralSearch" - }, - { - "label":"LocalAdaptiveBinarize", - "type":"keyword", - "info":"LocalAdaptiveBinarize[image, r] creates a binary image from image by replacing values above the mean" - }, - { - "label":"LocalCache", - "type":"keyword", - "info":"LocalCache[CloudObject[uri]] caches a cloud object in a local object.LocalCache[URL[url]] caches the" - }, - { - "label":"LocalClusteringCoefficient", - "type":"keyword", - "info":"LocalClusteringCoefficient[g] gives the list of local clustering coefficients of all vertices in the" - }, - { - "label":"LocalizeDefinitions", - "type":"keyword", - "info":"System`LocalizeDefinitions" - }, - { - "label":"LocalizeVariables", - "type":"keyword", - "info":"LocalizeVariables is an option to Manipulate that determines whether the values of variables associa" - }, - { - "label":"LocalObject", - "type":"keyword", - "info":"LocalObject[] represents a new anonymous local object.LocalObject[\"file :\/\/\/…\"] represents a local o" - }, - { - "label":"LocalObjects", - "type":"keyword", - "info":"LocalObjects[] gives a list of local objects in your current local base directory.LocalObjects[dir] " - }, - { - "label":"LocalResponseNormalizationLayer", - "type":"keyword", - "info":"LocalResponseNormalizationLayer[] represents a net layer that normalizes its input by averaging acro" - }, - { - "label":"LocalSubmit", - "type":"keyword", - "info":"LocalSubmit[expr] submits a task to evaluate expr in a separate kernel.LocalSubmit[ScheduledTask[exp" - }, - { - "label":"LocalSymbol", - "type":"keyword", - "info":"LocalSymbol[\"name\"] represents a symbol whose value is persistently stored in the local file system." - }, - { - "label":"LocalTime", - "type":"keyword", - "info":"LocalTime[] gives a DateObject corresponding to the current local time at the current geo location.L" - }, - { - "label":"LocalTimeZone", - "type":"keyword", - "info":"LocalTimeZone[] gives the current time zone for the current geo location.LocalTimeZone[loc] gives th" - }, - { - "label":"LocationEquivalenceTest", - "type":"keyword", - "info":"LocationEquivalenceTest[{data , data , …}] tests whether the means or medians of the data are equal" - }, - { - "label":"LocationTest", - "type":"keyword", - "info":"LocationTest[data] tests whether the mean or median of the data is zero. LocationTest[{data , data }" - }, - { - "label":"Locator", - "type":"keyword", - "info":"Locator[{x, y}] represents a locator object at position {x, y} in a graphic. Locator[Dynamic[pos]] t" - }, - { - "label":"LocatorAutoCreate", - "type":"keyword", - "info":"LocatorAutoCreate is an option for LocatorPane, Manipulate, and related functions that specifies whe" - }, - { - "label":"LocatorBox", - "type":"keyword", - "info":"System`LocatorBox" - }, - { - "label":"LocatorBoxOptions", - "type":"keyword", - "info":"LocatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for LocatorBo" - }, - { - "label":"LocatorCentering", - "type":"keyword", - "info":"System`LocatorCentering" - }, - { - "label":"LocatorPane", - "type":"keyword", - "info":"LocatorPane[{x, y}, back] represents a pane with a locator at position {x, y} and background back.Lo" - }, - { - "label":"LocatorPaneBox", - "type":"keyword", - "info":"System`LocatorPaneBox" - }, - { - "label":"LocatorPaneBoxOptions", - "type":"keyword", - "info":"LocatorPaneBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Locat" - }, - { - "label":"LocatorRegion", - "type":"keyword", - "info":"LocatorRegion is an option for Locator that specifies where the locator object should by default be " - }, - { - "label":"Locked", - "type":"keyword", - "info":"Locked is an attribute that, once assigned, prevents modification of any attributes of a symbol. " - }, - { - "label":"Log", - "type":"keyword", - "info":"Log[z] gives the natural logarithm of z (logarithm to base e). Log[b, z] gives the logarithm to base" - }, - { - "label":"Log10", - "type":"keyword", - "info":"Log10[x] gives the base-10 logarithm of x." - }, - { - "label":"Log2", - "type":"keyword", - "info":"Log2[x] gives the base-2 logarithm of x." - }, - { - "label":"LogBarnesG", - "type":"keyword", - "info":"LogBarnesG[z] gives the logarithm of the Barnes G-function logG(z)." - }, - { - "label":"LogGamma", - "type":"keyword", - "info":"LogGamma[z] gives the logarithm of the gamma function log Γ(z). " - }, - { - "label":"LogGammaDistribution", - "type":"keyword", - "info":"LogGammaDistribution[Î\\[PlusMinus], Î\.b2, μ] represents a log-gamma distribution with shape parameters Î\\[PlusMinus] and Î\.b2 and " - }, - { - "label":"LogicalExpand", - "type":"keyword", - "info":"LogicalExpand[expr] expands out logical combinations of equations, inequalities, and other functions" - }, - { - "label":"LogIntegral", - "type":"keyword", - "info":"LogIntegral[z] is the logarithmic integral function li(z). " - }, - { - "label":"LogisticDistribution", - "type":"keyword", - "info":"LogisticDistribution[μ, Î\.b2] represents a logistic distribution with mean μ and scale parameter Î\.b2.Logi" - }, - { - "label":"LogisticSigmoid", - "type":"keyword", - "info":"LogisticSigmoid[z] gives the logistic sigmoid function." - }, - { - "label":"LogitModelFit", - "type":"keyword", - "info":" " - }, - { - "label":"LogLikelihood", - "type":"keyword", - "info":"LogLikelihood[dist, {x , x , …}] gives the log‐likelihood function for observations x , x , … from t" - }, - { - "label":"LogLinearPlot", - "type":"keyword", - "info":"LogLinearPlot[f, {x, x , x }] generates a log-linear plot of f as a function of x from x to x" - }, - { - "label":"LogLogisticDistribution", - "type":"keyword", - "info":"LogLogisticDistribution[Î\.b3, σ] represents a log-logistic distribution with shape parameter Î\.b3 and scal" - }, - { - "label":"LogLogPlot", - "type":"keyword", - "info":"LogLogPlot[f, {x, x , x }] generates a log-log plot of f as a function of x from x to x . L" - }, - { - "label":"LogMultinormalDistribution", - "type":"keyword", - "info":"LogMultinormalDistribution[μ, Σ] represents a log-multinormal distribution with parameters μ and Σ." - }, - { - "label":"LogNormalDistribution", - "type":"keyword", - "info":"LogNormalDistribution[μ, σ] represents a lognormal distribution derived from a normal distribution w" - }, - { - "label":"LogPlot", - "type":"keyword", - "info":"LogPlot[f, {x, x , x }] generates a log plot of f as a function of x from x to x . LogPlot[" - }, - { - "label":"LogRankTest", - "type":"keyword", - "info":"LogRankTest[{data , data , …}] tests for equal hazard rates among the data using a log-rank type te" - }, - { - "label":"LogSeriesDistribution", - "type":"keyword", - "info":"LogSeriesDistribution[θ] represents a logarithmic series distribution with parameter θ." - }, - { - "label":"LongEqual", - "type":"keyword", - "info":"System`LongEqual" - }, - { - "label":"Longest", - "type":"keyword", - "info":"Longest[p] is a pattern object that matches the longest sequence consistent with the pattern p. " - }, - { - "label":"LongestCommonSequence", - "type":"keyword", - "info":"LongestCommonSequence[s , s ] finds the longest sequence of contiguous or disjoint elements common t" - }, - { - "label":"LongestCommonSequencePositions", - "type":"keyword", - "info":"LongestCommonSequencePositions[s , s ] finds the longest sequence of contiguous or disjoint elements" - }, - { - "label":"LongestCommonSubsequence", - "type":"keyword", - "info":"LongestCommonSubsequence[s , s ] finds the longest contiguous subsequence of elements common to the " - }, - { - "label":"LongestCommonSubsequencePositions", - "type":"keyword", - "info":"LongestCommonSubsequencePositions[s , s ] finds the longest contiguous subsequence of elements commo" - }, - { - "label":"LongestMatch", - "type":"keyword", - "info":"LongestMatch[p] is a string pattern object matching the longest sequence of characters consistent wi" - }, - { - "label":"LongestOrderedSequence", - "type":"keyword", - "info":"LongestOrderedSequence[list] finds the longest ordered sequence of contiguous or disjoint elements i" - }, - { - "label":"LongForm", - "type":"keyword", - "info":"LongForm is an option for Information. With LongForm -> True, the full information of a symbol is pr" - }, - { - "label":"Longitude", - "type":"keyword", - "info":"Longitude[pos] gives the longitude in degrees of a geographic position specified by pos.Longitude[po" - }, - { - "label":"LongLeftArrow", - "type":"keyword", - "info":"LongLeftArrow[x, y, …] displays as x âŸ\\[Micro] y âŸ\\[Micro] …." - }, - { - "label":"LongLeftRightArrow", - "type":"keyword", - "info":"LongLeftRightArrow[x, y, …] displays as x âŸ\\[CenterDot] y âŸ\\[CenterDot] …." - }, - { - "label":"LongRightArrow", - "type":"keyword", - "info":"LongRightArrow[x, y, …] displays as x âŸ\\[Paragraph] y âŸ\\[Paragraph] …." - }, - { - "label":"LongShortTermMemoryLayer", - "type":"keyword", - "info":"LongShortTermMemoryLayer[n] represents a trainable recurrent layer that takes a sequence of vectors " - }, - { - "label":"Lookup", - "type":"keyword", - "info":"Lookup[assoc, key] looks up the value associated with key in the association assoc; if the key is no" - }, - { - "label":"Loopback", - "type":"keyword", - "info":"Loopback is a setting for the LinkMode option of LinkOpen. LinkMode->Loopback causes a link to be c" - }, - { - "label":"LoopFreeGraphQ", - "type":"keyword", - "info":"LoopFreeGraphQ[g] yields True if the graph g has no self-loops, and False otherwise." - }, - { - "label":"Looping", - "type":"keyword", - "info":"Looping is an option for VideoStream, AudioStream and related functions to specify the playback loop" - }, - { - "label":"LossFunction", - "type":"keyword", - "info":"LossFunction is an option for NetTrain that specifies how to compare actual and requested outputs fr" - }, - { - "label":"LowerCaseQ", - "type":"keyword", - "info":"LowerCaseQ[string] yields True if all the characters in the string are lowercase letters, and yields" - }, - { - "label":"LowerLeftArrow", - "type":"keyword", - "info":"LowerLeftArrow[x, y, …] displays as x ↙ y ↙ …." - }, - { - "label":"LowerRightArrow", - "type":"keyword", - "info":"LowerRightArrow[x, y, …] displays as x ↘ y ↘ …." - }, - { - "label":"LowerTriangularize", - "type":"keyword", - "info":" " - }, - { - "label":"LowerTriangularMatrixQ", - "type":"keyword", - "info":" " - }, - { - "label":"LowpassFilter", - "type":"keyword", - "info":"LowpassFilter[data, ω ] applies a lowpass filter with a cutoff frequency ω to an array of data.Lowp" - }, - { - "label":"LQEstimatorGains", - "type":"keyword", - "info":"LQEstimatorGains[ssm, {w, v}] gives the optimal estimator gain matrix for the StateSpaceModel ssm, w" - }, - { - "label":"LQGRegulator", - "type":"keyword", - "info":"LQGRegulator[sspec, cvs, wts] gives the optimal output feedback controller for the stochastic system" - }, - { - "label":"LQOutputRegulatorGains", - "type":"keyword", - "info":"LQOutputRegulatorGains[sspec, wts] gives the state feedback gains for the system specification sspec" - }, - { - "label":"LQRegulatorGains", - "type":"keyword", - "info":"LQRegulatorGains[spsec, wts] gives the state feedback gains for the system specification sspec that " - }, - { - "label":"LUBackSubstitution", - "type":"keyword", - "info":"System`LUBackSubstitution" - }, - { - "label":"LucasL", - "type":"keyword", - "info":"LucasL[n] gives the Lucas number L .LucasL[n, x] gives the Lucas polynomial L (x).\n " - }, - { - "label":"LuccioSamiComponents", - "type":"keyword", - "info":"LuccioSamiComponents[g] gives the Luccio–Sami components of the graph g.LuccioSamiComponents[g, {v ," - }, - { - "label":"LUDecomposition", - "type":"keyword", - "info":"LUDecomposition[m] generates a representation of the LU decomposition of a square matrix m. " - }, - { - "label":"LunarEclipse", - "type":"keyword", - "info":"LunarEclipse[] gives the time of the next lunar eclipse.LunarEclipse[datespec] gives the time for th" - }, - { - "label":"LUVColor", - "type":"keyword", - "info":"LUVColor[l, u, v] represents a color in the LUV color space with lightness l and color components u " - }, - { - "label":"LyapunovSolve", - "type":"keyword", - "info":"LyapunovSolve[a, c] finds a solution x of the matrix Lyapunov equation a . x + x . a   c.LyapunovS" - }, - { - "label":"LyonsGroupLy", - "type":"keyword", - "info":"LyonsGroupLy[] represents the sporadic simple Lyons group Ly." - }, - { - "label":"MachineID", - "type":"keyword", - "info":"MachineID is an option to Encode which specifies the required value of ECMachineID on the computer th" - }, - { - "label":"MachineName", - "type":"keyword", - "info":"MachineName is an option to Encode which specifies the required value of ECMachineName on the compute" - }, - { - "label":"MachineNumberQ", - "type":"keyword", - "info":"MachineNumberQ[expr] returns True if expr is a machine‐precision real or complex number, and returns" - }, - { - "label":"MachinePrecision", - "type":"keyword", - "info":"MachinePrecision is a symbol used to indicate machine‐number precision. " - }, - { - "label":"MacintoshSystemPageSetup", - "type":"keyword", - "info":"System`MacintoshSystemPageSetup" - }, - { - "label":"Magenta", - "type":"keyword", - "info":"Magenta represents the color magenta in graphics or style specifications. " - }, - { - "label":"Magnification", - "type":"keyword", - "info":"Magnification is an option for Style and Cell that specifies what magnification to use for display. " - }, - { - "label":"Magnify", - "type":"keyword", - "info":"Magnify[expr, r] represents an object to be displayed with magnification r. Magnify[expr] displays w" - }, - { - "label":"MailAddressValidation", - "type":"keyword", - "info":"MailAddressValidation is an option for SendMail that specifies whether and how to validate email add" - }, - { - "label":"MailExecute", - "type":"keyword", - "info":"MailExecute[cmd, target] executes the mail command cmd on the target mail server connection, folder," - }, - { - "label":"MailFolder", - "type":"keyword", - "info":"MailFolder[…] represents a mail folder associated with an active mail server connection." - }, - { - "label":"MailItem", - "type":"keyword", - "info":"MailItem[…] represents an item of mail associated with an active mail server connection." - }, - { - "label":"MailReceiverFunction", - "type":"keyword", - "info":"MailReceiverFunction[fun] represents a mail receiver function that applies fun to any mail message i" - }, - { - "label":"MailResponseFunction", - "type":"keyword", - "info":"MailResponseFunction is an option for MailReceiverFunction that specifies what function to apply to " - }, - { - "label":"MailSearch", - "type":"keyword", - "info":"MailSearch[folder, assoc] searches the specified mail folder for messages with properties matching e" - }, - { - "label":"MailServerConnect", - "type":"keyword", - "info":"MailServerConnect[] connects to your default incoming mail server.MailServerConnect[\"server\"] connec" - }, - { - "label":"MailServerConnection", - "type":"keyword", - "info":"MailServerConnection[…] is a symbolic representation of a connection to an incoming mail server." - }, - { - "label":"MailSettings", - "type":"keyword", - "info":"MailSettings is an option for SendMail and MailServerConnect to specify mail settings." - }, - { - "label":"MainSolve", - "type":"keyword", - "info":"MainSolve[eqns] is the underlying function for transforming systems of equations. Solve and Eliminat" - }, - { - "label":"MaintainDynamicCaches", - "type":"keyword", - "info":"System`MaintainDynamicCaches" - }, - { - "label":"Majority", - "type":"keyword", - "info":"Majority[e , e , …] gives True if the majority of the e are True, and False if the majority are Fal" - }, - { - "label":"MakeBoxes", - "type":"keyword", - "info":"MakeBoxes[expr, form] is the low‐level function used in Wolfram System sessions to convert expressio" - }, - { - "label":"MakeExpression", - "type":"keyword", - "info":"MakeExpression[boxes, form] is the low‐level function used in Wolfram System sessions to construct e" - }, - { - "label":"MakeRules", - "type":"keyword", - "info":"MakeRules is an option to Solve and related functions. With MakeRules -> True, the result is present" - }, - { - "label":"ManagedLibraryExpressionID", - "type":"keyword", - "info":"ManagedLibraryExpressionID[expr] returns the positive integer ID associated with expr if it is a man" - }, - { - "label":"ManagedLibraryExpressionQ", - "type":"keyword", - "info":"ManagedLibraryExpressionQ[expr] returns True if expr is a managed library expression and False other" - }, - { - "label":"MandelbrotSetBoettcher", - "type":"keyword", - "info":"MandelbrotSetBoettcher[z] gives the BÃ\\[Paragraph]ttcher coordinate of z with respect to the Mandelbrot set." - }, - { - "label":"MandelbrotSetDistance", - "type":"keyword", - "info":"MandelbrotSetDistance[c] estimates the distance from c to the nearest point in the Mandelbrot set.Ma" - }, - { - "label":"MandelbrotSetIterationCount", - "type":"keyword", - "info":" 2\nMandelbrot" - }, - { - "label":"MandelbrotSetMemberQ", - "type":"keyword", - "info":"MandelbrotSetMemberQ[z] returns True if z is in the Mandelbrot set, and False otherwise." - }, - { - "label":"MandelbrotSetPlot", - "type":"keyword", - "info":"MandelbrotSetPlot[{z , z }] plots the portion of the Mandelbrot set inside the rectangle with co" - }, - { - "label":"MangoldtLambda", - "type":"keyword", - "info":"MangoldtLambda[n] gives the von Mangoldt function Λ(n)." - }, - { - "label":"ManhattanDistance", - "type":"keyword", - "info":"ManhattanDistance[u, v] gives the Manhattan or \"city block\" distance between vectors u and v." - }, - { - "label":"Manipulate", - "type":"keyword", - "info":"Manipulate[expr, {u, u , u }] generates a version of expr with controls added to allow interacti" - }, - { - "label":"Manipulator", - "type":"keyword", - "info":"Manipulator[x] represents a manipulator with setting x in the range 0 to 1. Manipulator[Dynamic[x]] " - }, - { - "label":"MannedSpaceMissionData", - "type":"keyword", - "info":"MannedSpaceMissionData[entity, property] gives the value of the specified property for the manned sp" - }, - { - "label":"MannWhitneyTest", - "type":"keyword", - "info":"MannWhitneyTest[{data , data }] tests whether the medians of data and data are equal.MannWhitneyTe" - }, - { - "label":"MantissaExponent", - "type":"keyword", - "info":"MantissaExponent[x] gives a list containing the mantissa and exponent of a number x. MantissaExponen" - }, - { - "label":"Manual", - "type":"keyword", - "info":"Manual represents an option or other value that is to be selected manually, usually by some form of " - }, - { - "label":"Map", - "type":"keyword", - "info":"Map[f, expr] or f\/@expr applies f to each element on the first level in expr. Map[f, expr, levelspec" - }, - { - "label":"MapAll", - "type":"keyword", - "info":"MapAll[f, expr] or f\/\/@expr applies f to every subexpression in expr. " - }, - { - "label":"MapAt", - "type":"keyword", - "info":"MapAt[f, expr, n] applies f to the element at position n in expr. If n is negative, the position is " - }, - { - "label":"MapIndexed", - "type":"keyword", - "info":"MapIndexed[f, expr] applies f to the elements of expr, giving the part specification of each element" - }, - { - "label":"MAProcess", - "type":"keyword", - "info":"MAProcess[{b , …, b }, v] represents a moving-average process of order q with normal white noise var" - }, - { - "label":"MapThread", - "type":"keyword", - "info":"MapThread[f, {{a , a , …}, {b , b , …}, …}] gives {f[a , b , …], f[a , b , …], …}. MapThread[f, {exp" - }, - { - "label":"MarchenkoPasturDistribution", - "type":"keyword", - "info":"MarchenkoPasturDistribution[λ, σ] represents a Marchenko–Pastur distribution with asymptotic ratio λ" - }, - { - "label":"MarcumQ", - "type":"keyword", - "info":"MarcumQ[m, a, b] gives Marcum's Q function Q (a, b).MarcumQ[m, a, b , b ] gives Marcum's Q function " - }, - { - "label":"MardiaCombinedTest", - "type":"keyword", - "info":"MardiaCombinedTest[data] tests whether data follows a MultinormalDistribution using the Mardia combi" - }, - { - "label":"MardiaKurtosisTest", - "type":"keyword", - "info":"MardiaKurtosisTest[data] tests whether data follows a MultinormalDistribution using the Mardia kurto" - }, - { - "label":"MardiaSkewnessTest", - "type":"keyword", - "info":"MardiaSkewnessTest[data] tests whether data follows a MultinormalDistribution using the Mardia skewn" - }, - { - "label":"MarginalDistribution", - "type":"keyword", - "info":" th\nMarginalDist" - }, - { - "label":"MarkovProcessProperties", - "type":"keyword", - "info":"MarkovProcessProperties[mproc] gives a summary of properties for the finite state Markov process mpr" - }, - { - "label":"Masking", - "type":"keyword", - "info":"Masking is an option for various image and signal processing functions that specifies on which regio" - }, - { - "label":"MassConcentrationCondition", - "type":"keyword", - "info":"MassConcentrationCondition[pred, vars, pars] represents a mass concentration boundary condition for " - }, - { - "label":"MassFluxValue", - "type":"keyword", - "info":"MassFluxValue[pred, vars, pars] represents a mass flux boundary condition for PDEs with predicate pr" - }, - { - "label":"MassImpermeableBoundaryValue", - "type":"keyword", - "info":"MassImpermeableBoundaryValue[pred, vars, pars] represents a mass impermeable boundary condition for " - }, - { - "label":"MassOutflowValue", - "type":"keyword", - "info":"MassOutflowValue[pred, vars, pars] represents a mass outflow boundary condition for PDEs with predic" - }, - { - "label":"MassSymmetryValue", - "type":"keyword", - "info":"MassSymmetryValue[pred, vars, pars] represents a mass symmetry boundary condition for PDEs with pred" - }, - { - "label":"MassTransferValue", - "type":"keyword", - "info":"MassTransferValue[pred, vars, pars] represents a mass transfer boundary condition for PDEs with pred" - }, - { - "label":"MassTransportPDEComponent", - "type":"keyword", - "info":"MassTransportPDEComponent[vars, pars] yields a mass transport PDE term with variables vars and param" - }, - { - "label":"MatchingDissimilarity", - "type":"keyword", - "info":"MatchingDissimilarity[u, v] gives the matching dissimilarity between Boolean vectors u and v." - }, - { - "label":"MatchLocalNameQ", - "type":"keyword", - "info":"MatchLocalNameQ is an internal symbol." - }, - { - "label":"MatchLocalNames", - "type":"keyword", - "info":"MatchLocalNames is an option for Trace and related functions that specifies whether symbols such as " - }, - { - "label":"MatchQ", - "type":"keyword", - "info":"MatchQ[expr, form] returns True if the pattern form matches expr, and returns False otherwise.MatchQ" - }, - { - "label":"Material", - "type":"keyword", - "info":"System`Material" - }, - { - "label":"MaterialShading", - "type":"keyword", - "info":"MaterialShading[\"material\"] is a three-dimensional graphics directive specifying that surfaces that " - }, - { - "label":"MaternPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"MathematicalFunctionData", - "type":"keyword", - "info":"MathematicalFunctionData[entity, property] gives data corresponding to property for the mathematical" - }, - { - "label":"MathematicaNotation", - "type":"keyword", - "info":"System`MathematicaNotation" - }, - { - "label":"MathieuC", - "type":"keyword", - "info":"MathieuC[a, q, z] gives the even Mathieu function with characteristic value a and parameter q. " - }, - { - "label":"MathieuCharacteristicA", - "type":"keyword", - "info":"MathieuCharacteristicA[r, q] gives the characteristic value a for even Mathieu functions with chara" - }, - { - "label":"MathieuCharacteristicB", - "type":"keyword", - "info":"MathieuCharacteristicB[r, q] gives the characteristic value b for odd Mathieu functions with charac" - }, - { - "label":"MathieuCharacteristicExponent", - "type":"keyword", - "info":"MathieuCharacteristicExponent[a, q] gives the characteristic exponent r for Mathieu functions with c" - }, - { - "label":"MathieuCPrime", - "type":"keyword", - "info":"MathieuCPrime[a, q, z] gives the derivative with respect to z of the even Mathieu function with char" - }, - { - "label":"MathieuGroupM11", - "type":"keyword", - "info":"MathieuGroupM11[] represents the sporadic simple Mathieu group M .\n " - }, - { - "label":"MathieuGroupM12", - "type":"keyword", - "info":"MathieuGroupM12[] represents the sporadic simple Mathieu group M .\n " - }, - { - "label":"MathieuGroupM22", - "type":"keyword", - "info":"MathieuGroupM22[] represents the sporadic simple Mathieu group M .\n " - }, - { - "label":"MathieuGroupM23", - "type":"keyword", - "info":"MathieuGroupM23[] represents the sporadic simple Mathieu group M .\n " - }, - { - "label":"MathieuGroupM24", - "type":"keyword", - "info":"MathieuGroupM24[] represents the sporadic simple Mathieu group M .\n " - }, - { - "label":"MathieuS", - "type":"keyword", - "info":"MathieuS[a, q, z] gives the odd Mathieu function with characteristic value a and parameter q. " - }, - { - "label":"MathieuSPrime", - "type":"keyword", - "info":"MathieuSPrime[a, q, z] gives the derivative with respect to z of the odd Mathieu function with chara" - }, - { - "label":"MathMLForm", - "type":"keyword", - "info":"MathMLForm[expr] prints as a MathML form of expr. " - }, - { - "label":"MathMLText", - "type":"keyword", - "info":"System`MathMLText" - }, - { - "label":"Matrices", - "type":"keyword", - "info":"Matrices[{d , d }] represents the domain of matrices of dimensions d ×d .Matrices[{d , d }, dom] rep" - }, - { - "label":"MatrixExp", - "type":"keyword", - "info":"MatrixExp[m] gives the matrix exponential of m. MatrixExp[m, v] gives the matrix exponential of m ap" - }, - { - "label":"MatrixForm", - "type":"keyword", - "info":"MatrixForm[list] prints with the elements of list arranged in a regular array. " - }, - { - "label":"MatrixFunction", - "type":"keyword", - "info":"MatrixFunction[f, m] gives the matrix generated by the scalar function f at the matrix argument m." - }, - { - "label":"MatrixLog", - "type":"keyword", - "info":"MatrixLog[m] gives the matrix logarithm of a matrix m." - }, - { - "label":"MatrixNormalDistribution", - "type":"keyword", - "info":"MatrixNormalDistribution[Σ , Σ ] represents zero mean matrix normal distribution with row covari" - }, - { - "label":"MatrixPlot", - "type":"keyword", - "info":"MatrixPlot[m] generates a plot that gives a visual representation of the values of elements in a mat" - }, - { - "label":"MatrixPower", - "type":"keyword", - "info":" th th\n" - }, - { - "label":"MatrixPropertyDistribution", - "type":"keyword", - "info":"MatrixPropertyDistribution[expr, x  mdist] represents the distribution of the matrix property expr " - }, - { - "label":"MatrixQ", - "type":"keyword", - "info":"MatrixQ[expr] gives True if expr is a list of lists or a two-dimensional SparseArray object that can" - }, - { - "label":"MatrixRank", - "type":"keyword", - "info":"MatrixRank[m] gives the rank of the matrix m. " - }, - { - "label":"MatrixTDistribution", - "type":"keyword", - "info":"MatrixTDistribution[Σ , Σ , ν] represents zero mean matrix t distribution with row covariance ma" - }, - { - "label":"Max", - "type":"keyword", - "info":"Max[x , x , …] yields the numerically largest of the x . Max[{x , x , …}, {y , …}, …] yields the lar" - }, - { - "label":"MaxBend", - "type":"keyword", - "info":"System`MaxBend" - }, - { - "label":"MaxCellMeasure", - "type":"keyword", - "info":"MaxCellMeasure is an option for DiscretizeRegion and related functions that specifies the maximum ce" - }, - { - "label":"MaxColorDistance", - "type":"keyword", - "info":"MaxColorDistance is an option to specify the maximum distance allowed between colors." - }, - { - "label":"MaxDate", - "type":"keyword", - "info":"MaxDate[{date , date , …}] gives the latest date of the date .MaxDate[interval] gives the endpoint o" - }, - { - "label":"MaxDetect", - "type":"keyword", - "info":"MaxDetect[image] gives a binary image in which white pixels correspond to constant extended maxima i" - }, - { - "label":"MaxDuration", - "type":"keyword", - "info":"MaxDuration is an option that specifies the maximum duration for audio playback or capture." - }, - { - "label":"MaxExtraBandwidths", - "type":"keyword", - "info":"MaxExtraBandwidths is an option to SmoothKernelDistribution that controls the behavior outside that " - }, - { - "label":"MaxExtraConditions", - "type":"keyword", - "info":"MaxExtraConditions is an option to Solve and related functions that specifies how many extra equatio" - }, - { - "label":"MaxFeatureDisplacement", - "type":"keyword", - "info":"MaxFeatureDisplacement is an option that specifies the maximum displacement allowed for any feature." - }, - { - "label":"MaxFeatures", - "type":"keyword", - "info":"MaxFeatures is an option that specifies the maximum number of features that will be returned from fe" - }, - { - "label":"MaxFilter", - "type":"keyword", - "info":" " - }, - { - "label":"MaximalBy", - "type":"keyword", - "info":"MaximalBy[{e , e , …}, f] returns a list of the e for which the value of f[e ] is maximal.MaximalBy" - }, - { - "label":"Maximize", - "type":"keyword", - "info":"Maximize[f, x] maximizes f exactly with respect to x.Maximize[f, {x, y, …}] maximizes f exactly with" - }, - { - "label":"MaxItems", - "type":"keyword", - "info":"MaxItems is an option that specifies the maximum number of items to be used or shown." - }, - { - "label":"MaxIterations", - "type":"keyword", - "info":"MaxIterations is an option that specifies the maximum number of iterations that should be tried in v" - }, - { - "label":"MaxLimit", - "type":"keyword", - "info":" * * * " - }, - { - "label":"MaxMemoryUsed", - "type":"keyword", - "info":"MaxMemoryUsed[] gives the maximum number of bytes used to store all data for the current Wolfram Sys" - }, - { - "label":"MaxMixtureKernels", - "type":"keyword", - "info":"MaxMixtureKernels is an option for SmoothKernelDistribution and related functions that specifies the" - }, - { - "label":"MaxOverlapFraction", - "type":"keyword", - "info":"MaxOverlapFraction is an option that specifies the maximum acceptable overlap between different iden" - }, - { - "label":"MaxPlotPoints", - "type":"keyword", - "info":"MaxPlotPoints is an option for plotting functions like ArrayPlot and ListPlot3D that specifies the m" - }, - { - "label":"MaxPoints", - "type":"keyword", - "info":"MaxPoints is an option for NIntegrate specifying the maximum total number of times to sample the int" - }, - { - "label":"MaxRecursion", - "type":"keyword", - "info":"MaxRecursion is an option for functions like NIntegrate and Plot that specifies how many recursive s" - }, - { - "label":"MaxStableDistribution", - "type":"keyword", - "info":"MaxStableDistribution[μ, σ, ξ] represents a generalized maximum extreme value distribution with loca" - }, - { - "label":"MaxStepFraction", - "type":"keyword", - "info":"MaxStepFraction is an option to functions like NDSolve that specifies the maximum fraction of the to" - }, - { - "label":"MaxSteps", - "type":"keyword", - "info":"MaxSteps is an option to functions like NDSolve that specifies the maximum number of steps to take i" - }, - { - "label":"MaxStepSize", - "type":"keyword", - "info":"MaxStepSize is an option to functions like NDSolve that specifies the maximum size of a single step " - }, - { - "label":"MaxTrainingRounds", - "type":"keyword", - "info":"MaxTrainingRounds is an option for NetTrain and related functions that specifies the maximum number " - }, - { - "label":"MaxValue", - "type":"keyword", - "info":"MaxValue[f, x] gives the maximum value of f with respect to x.MaxValue[f, {x, y, …}] gives the maxim" - }, - { - "label":"MaxwellDistribution", - "type":"keyword", - "info":"MaxwellDistribution[σ] represents a Maxwell distribution with scale parameter σ." - }, - { - "label":"MaxWordGap", - "type":"keyword", - "info":"MaxWordGap is an option for SearchAdjustment that specifies the number of words that can occur betwe" - }, - { - "label":"McLaughlinGroupMcL", - "type":"keyword", - "info":"McLaughlinGroupMcL[] represents the sporadic simple McLaughlin group McL." - }, - { - "label":"Mean", - "type":"keyword", - "info":"Mean[list] gives the statistical mean of the elements in list. Mean[dist] gives the mean of the dist" - }, - { - "label":"MeanAbsoluteLossLayer", - "type":"keyword", - "info":"MeanAbsoluteLossLayer[] represents a loss layer that computes the mean absolute loss between the \"In" - }, - { - "label":"MeanAround", - "type":"keyword", - "info":"MeanAround[{x , x , x , …}] gives an Around object describing the mean of the x and its uncertainty" - }, - { - "label":"MeanClusteringCoefficient", - "type":"keyword", - "info":"MeanClusteringCoefficient[g] gives the mean clustering coefficient of the graph g.MeanClusteringCoef" - }, - { - "label":"MeanDegreeConnectivity", - "type":"keyword", - "info":"MeanDegreeConnectivity[g] gives a list of k-mean degree connectivity for the graph g for successive " - }, - { - "label":"MeanDeviation", - "type":"keyword", - "info":"MeanDeviation[list] gives the mean absolute deviation from the mean of the elements in list." - }, - { - "label":"MeanFilter", - "type":"keyword", - "info":" " - }, - { - "label":"MeanGraphDistance", - "type":"keyword", - "info":"MeanGraphDistance[g] gives the mean distance between all pairs of vertices in the graph g.MeanGraphD" - }, - { - "label":"MeanNeighborDegree", - "type":"keyword", - "info":"MeanNeighborDegree[g] gives a list of mean neighbor degrees of vertices for the graph g.MeanNeighbor" - }, - { - "label":"MeanPointDensity", - "type":"keyword", - "info":"MeanPointDensity[pdata] estimates the mean point density λ from point data pdata in the observation " - }, - { - "label":"MeanShift", - "type":"keyword", - "info":"MeanShift[list, d] replaces each element in list by the mean of the values of all elements that diff" - }, - { - "label":"MeanShiftFilter", - "type":"keyword", - "info":" " - }, - { - "label":"MeanSquaredLossLayer", - "type":"keyword", - "info":"MeanSquaredLossLayer[] represents a loss layer that computes the mean squared loss between its \"Inpu" - }, - { - "label":"Median", - "type":"keyword", - "info":"Median[list] gives the median of the elements in list. Median[dist] gives the median of the distribu" - }, - { - "label":"MedianDeviation", - "type":"keyword", - "info":"MedianDeviation[list] gives the median absolute deviation from the median of the elements in list." - }, - { - "label":"MedianFilter", - "type":"keyword", - "info":" " - }, - { - "label":"MedicalTestData", - "type":"keyword", - "info":"MedicalTestData[entity, property] gives the value of the specified property for the medical test ent" - }, - { - "label":"Medium", - "type":"keyword", - "info":"Medium is a style or option setting that specifies that objects should be medium sized." - }, - { - "label":"MeijerG", - "type":"keyword", - "info":" " - }, - { - "label":"MeijerGReduce", - "type":"keyword", - "info":"MeijerGReduce[expr, x] attempts to reduce expr to a single MeijerG object as a function of x." - }, - { - "label":"MeixnerDistribution", - "type":"keyword", - "info":"MeixnerDistribution[a, b, m, d] represents a Meixner distribution with location parameter m, scale p" - }, - { - "label":"MellinConvolve", - "type":"keyword", - "info":"MellinConvolve[f, g, x, y] gives the Mellin convolution with respect to x of the expressions f and g" - }, - { - "label":"MellinTransform", - "type":"keyword", - "info":"MellinTransform[expr, x, s] gives the Mellin transform of expr.MellinTransform[expr, {x , x , …}, {s" - }, - { - "label":"MemberQ", - "type":"keyword", - "info":"MemberQ[list, form] returns True if an element of list matches form, and False otherwise. MemberQ[li" - }, - { - "label":"MemoryAvailable", - "type":"keyword", - "info":"MemoryAvailable[] gives the estimated number of bytes readily available for storing additional data " - }, - { - "label":"MemoryConstrained", - "type":"keyword", - "info":"MemoryConstrained[expr, b] evaluates expr, stopping if more than b bytes of memory are requested. Me" - }, - { - "label":"MemoryConstraint", - "type":"keyword", - "info":"MemoryConstraint is an option for TestReport and VerificationTest that specifies how much memory (in" - }, - { - "label":"MemoryInUse", - "type":"keyword", - "info":"MemoryInUse[] gives the number of bytes currently being used to store all data in the current Wolfra" - }, - { - "label":"MengerMesh", - "type":"keyword", - "info":" th " - }, - { - "label":"Menu", - "type":"keyword", - "info":"System`Menu" - }, - { - "label":"MenuAppearance", - "type":"keyword", - "info":"System`MenuAppearance" - }, - { - "label":"MenuCommandKey", - "type":"keyword", - "info":"MenuCommandKey is an option for cells that specifies the keyboard shortcut to be associated with a s" - }, - { - "label":"MenuEvaluator", - "type":"keyword", - "info":"System`MenuEvaluator" - }, - { - "label":"MenuItem", - "type":"keyword", - "info":"System`MenuItem" - }, - { - "label":"MenuList", - "type":"keyword", - "info":"System`MenuList" - }, - { - "label":"MenuPacket", - "type":"keyword", - "info":"MenuPacket[integer, string] is a WSTP packet indicating a menu request with title string." - }, - { - "label":"MenuSortingValue", - "type":"keyword", - "info":"MenuSortingValue is an option for cells and notebooks that specifies where a cell style, stylesheet," - }, - { - "label":"MenuStyle", - "type":"keyword", - "info":"MenuStyle is an option for menu-generating constructs that specifies the style to use in displaying " - }, - { - "label":"MenuView", - "type":"keyword", - "info":" " - }, - { - "label":"Merge", - "type":"keyword", - "info":"Merge[{assoc , assoc , …}, f] merges the associations assoc , using the function f to combine values" - }, - { - "label":"MergeDifferences", - "type":"keyword", - "info":"System`MergeDifferences" - }, - { - "label":"MergingFunction", - "type":"keyword", - "info":"MergingFunction is an option for functions such as PersistentSymbol that specifies a function to app" - }, - { - "label":"MersennePrimeExponent", - "type":"keyword", - "info":" th\nMersennePrimeExponent[n] gives the n Mersenne prime expon" - }, - { - "label":"MersennePrimeExponentQ", - "type":"keyword", - "info":"MersennePrimeExponentQ[n] returns True if n is a Mersenne prime exponent, and False otherwise." - }, - { - "label":"Mesh", - "type":"keyword", - "info":"Mesh is an option for Plot3D, DensityPlot, and other plotting functions that specifies what mesh sho" - }, - { - "label":"MeshCellCentroid", - "type":"keyword", - "info":"MeshCellCentroid is an annotation of MeshRegion and BoundaryMeshRegion objects that gives the centro" - }, - { - "label":"MeshCellCount", - "type":"keyword", - "info":"MeshCellCount[mreg] gives a list {c , c , …} of counts c of cells of dimension d in the mesh region" - }, - { - "label":"MeshCellHighlight", - "type":"keyword", - "info":"MeshCellHighlight is an option and annotation of MeshRegion, BoundaryMeshRegion, and related functio" - }, - { - "label":"MeshCellIndex", - "type":"keyword", - "info":"MeshCellIndex[mreg, d] gives the cell indices for cells of dimension d in the mesh region mreg.MeshC" - }, - { - "label":"MeshCellLabel", - "type":"keyword", - "info":"MeshCellLabel is an option to MeshRegion, BoundaryMeshRegion and related functions that specifies la" - }, - { - "label":"MeshCellMarker", - "type":"keyword", - "info":"MeshCellMarker is an option to MeshRegion and BoundaryMeshRegion that specifies integer markers to a" - }, - { - "label":"MeshCellMeasure", - "type":"keyword", - "info":"MeshCellMeasure is an annotation of MeshRegion and BoundaryMeshRegion objects that gives the measure" - }, - { - "label":"MeshCellQuality", - "type":"keyword", - "info":"MeshCellQuality is an annotation of MeshRegion and BoundaryMeshRegion objects that gives a quality m" - }, - { - "label":"MeshCells", - "type":"keyword", - "info":"MeshCells[mreg, d] gives the cells of dimension d in the mesh region mreg.MeshCells[mreg, cellspec] " - }, - { - "label":"MeshCellShapeFunction", - "type":"keyword", - "info":"MeshCellShapeFunction is an option and annotation for MeshRegion, BoundaryMeshRegion, and related fu" - }, - { - "label":"MeshCellStyle", - "type":"keyword", - "info":"MeshCellStyle is an option and annotation of MeshRegion, BoundaryMeshRegion, and related functions t" - }, - { - "label":"MeshConnectivityGraph", - "type":"keyword", - "info":"MeshConnectivityGraph[mr, 0] gives a graph of points connected by lines.MeshConnectivityGraph[mr, d]" - }, - { - "label":"MeshCoordinates", - "type":"keyword", - "info":"MeshCoordinates[mreg] gives a list of coordinates in the mesh region mreg." - }, - { - "label":"MeshFunctions", - "type":"keyword", - "info":"MeshFunctions is an option for plotting functions that specifies functions to use to determine the p" - }, - { - "label":"MeshPrimitives", - "type":"keyword", - "info":"MeshPrimitives[mreg, d] gives the graphics primitives for cells of dimension d in the mesh region mr" - }, - { - "label":"MeshQualityGoal", - "type":"keyword", - "info":"MeshQualityGoal is an option for DiscretizeRegion and related functions that specifies a mesh cell q" - }, - { - "label":"MeshRange", - "type":"keyword", - "info":"System`MeshRange" - }, - { - "label":"MeshRefinementFunction", - "type":"keyword", - "info":"MeshRefinementFunction is an option for DiscretizeRegion and related functions that specifies a func" - }, - { - "label":"MeshRegion", - "type":"keyword", - "info":"MeshRegion[{p , p , …}, {mcell [{i , …}], mcell [{j , …}], …}] yields a mesh with cells mcell , wher" - }, - { - "label":"MeshRegionQ", - "type":"keyword", - "info":"MeshRegionQ[reg] yields True if the region reg is a valid MeshRegion object and False otherwise." - }, - { - "label":"MeshShading", - "type":"keyword", - "info":"MeshShading is an option for plotting functions that gives lists of colors to use for regions betwee" - }, - { - "label":"MeshStyle", - "type":"keyword", - "info":"MeshStyle is an option for Plot3D, DensityPlot, and other plotting functions that specifies the styl" - }, - { - "label":"Message", - "type":"keyword", - "info":"Message[symbol :: tag] prints the message symbol :: tag unless it has been switched off. Message[sym" - }, - { - "label":"MessageDialog", - "type":"keyword", - "info":"MessageDialog[expr] puts up a standard message dialog that displays expr together with an OK button." - }, - { - "label":"MessageList", - "type":"keyword", - "info":" " - }, - { - "label":"MessageName", - "type":"keyword", - "info":"symbol :: tag is a name for a message. " - }, - { - "label":"MessageObject", - "type":"keyword", - "info":"System`MessageObject" - }, - { - "label":"MessageOptions", - "type":"keyword", - "info":"System`MessageOptions" - }, - { - "label":"MessagePacket", - "type":"keyword", - "info":"MessagePacket[symbol, string] is a WSTP packet containing a Wolfram Language message identifier of t" - }, - { - "label":"Messages", - "type":"keyword", - "info":"Messages[symbol] gives all the messages assigned to a particular symbol. " - }, - { - "label":"MessagesNotebook", - "type":"keyword", - "info":"System`MessagesNotebook" - }, - { - "label":"MetaCharacters", - "type":"keyword", - "info":"MetaCharacters is an option to StringPosition. With MetaCharacters -> None, no strings have special " - }, - { - "label":"MetaInformation", - "type":"keyword", - "info":"MetaInformation is an option giving meta-information for Image, CloudObject, and other objects." - }, - { - "label":"MeteorShowerData", - "type":"keyword", - "info":"MeteorShowerData[entity, property] gives the value of the specified property for the meteor shower e" - }, - { - "label":"Method", - "type":"keyword", - "info":"Method is an option for various algorithm-intensive functions that specifies what internal methods t" - }, - { - "label":"MethodOptions", - "type":"keyword", - "info":"System`MethodOptions" - }, - { - "label":"MexicanHatWavelet", - "type":"keyword", - "info":"MexicanHatWavelet[] represents the Mexican hat wavelet of width 1.MexicanHatWavelet[σ] represents th" - }, - { - "label":"MeyerWavelet", - "type":"keyword", - "info":"MeyerWavelet[] represents the Meyer wavelet of order 3.MeyerWavelet[n] represents the Meyer wavelet " - }, - { - "label":"Midpoint", - "type":"keyword", - "info":"Midpoint[{p , p }] gives the midpoint of the line segment connecting the points p and p .Midpoint[L" - }, - { - "label":"MIMETypeToFormatList", - "type":"keyword", - "info":"MIMETypeToFormatList[] returns lists of file formats corresponding to all registered MIME types.MIME" - }, - { - "label":"Min", - "type":"keyword", - "info":"Min[x , x , …] yields the numerically smallest of the x . Min[{x , x , …}, {y , …}, …] yields the sm" - }, - { - "label":"MinColorDistance", - "type":"keyword", - "info":"MinColorDistance is an option for DominantColors that specifies the minimum distance between returne" - }, - { - "label":"MinDate", - "type":"keyword", - "info":"MinDate[{date , date , …}] gives the earliest date of the date .MinDate[interval] gives the beginnin" - }, - { - "label":"MinDetect", - "type":"keyword", - "info":"MinDetect[image] gives a binary image in which white pixels correspond to constant extended minima i" - }, - { - "label":"MineralData", - "type":"keyword", - "info":"MineralData[entity, property] gives the value of the specified property for the mineral entity.Miner" - }, - { - "label":"MinFilter", - "type":"keyword", - "info":" " - }, - { - "label":"MinimalBy", - "type":"keyword", - "info":"MinimalBy[{e , e , …}, f] returns a list of the e for which the value of f[e ] is minimal.MinimalBy" - }, - { - "label":"MinimalPolynomial", - "type":"keyword", - "info":"MinimalPolynomial[s, x] gives the minimal polynomial in x for which the algebraic number s is a root" - }, - { - "label":"MinimalStateSpaceModel", - "type":"keyword", - "info":"MinimalStateSpaceModel[sys] gives the minimal state-space model of the state-space model sys.Minimal" - }, - { - "label":"Minimize", - "type":"keyword", - "info":"Minimize[f, x] minimizes f exactly with respect to x.Minimize[f, {x, y, …}] minimizes f exactly with" - }, - { - "label":"MinimumTimeIncrement", - "type":"keyword", - "info":"MinimumTimeIncrement[tseries] gives the minimum time increment in the time series tseries." - }, - { - "label":"MinIntervalSize", - "type":"keyword", - "info":"MinIntervalSize is an option for IntervalSlider that specifies the minimum size of the interval duri" - }, - { - "label":"MinkowskiQuestionMark", - "type":"keyword", - "info":"MinkowskiQuestionMark[x] gives Minkowski's question mark function ? (x)." - }, - { - "label":"MinLimit", - "type":"keyword", - "info":" * * * " - }, - { - "label":"MinMax", - "type":"keyword", - "info":"MinMax[list] gives the list {Min[list], Max[list]}.MinMax[list, Î\.b4] gives {Min[list] - Î\.b4, Max[list] +" - }, - { - "label":"MinorPlanetData", - "type":"keyword", - "info":"MinorPlanetData[entity, property] gives the value of the specified property for the minor planet ent" - }, - { - "label":"Minors", - "type":"keyword", - "info":" th\nMinors[m] gives the minors of" - }, - { - "label":"MinPointSeparation", - "type":"keyword", - "info":"MinPointSeparation is an option for GeoGraphValuePlot that determines when to merge nearby vertices " - }, - { - "label":"MinRecursion", - "type":"keyword", - "info":"MinRecursion is an option for NIntegrate and other numerical functions that use a recursive algorith" - }, - { - "label":"MinSize", - "type":"keyword", - "info":"MinSize is an option of certain BoxForm primitives." - }, - { - "label":"MinStableDistribution", - "type":"keyword", - "info":"MinStableDistribution[μ, σ, ξ] represents a generalized minimum extreme value distribution with loca" - }, - { - "label":"Minus", - "type":"keyword", - "info":"-x is the arithmetic negation of x. " - }, - { - "label":"MinusPlus", - "type":"keyword", - "info":"MinusPlus[x] displays as ∓ x.MinusPlus[x, y, …] displays as x ∓ y ∓ ….\n" - }, - { - "label":"MinValue", - "type":"keyword", - "info":"MinValue[f, x] gives the minimum value of f with respect to x.MinValue[f, {x, y, …}] gives the exact" - }, - { - "label":"Missing", - "type":"keyword", - "info":"Missing[] represents data that is missing.Missing[\"reason\"] specifies a reason for the data's being " - }, - { - "label":"MissingBehavior", - "type":"keyword", - "info":"MissingBehavior is an option to Query and related functions that specifies how expressions with head" - }, - { - "label":"MissingDataMethod", - "type":"keyword", - "info":"MissingDataMethod is an option to TemporalData and other functions that controls how to process miss" - }, - { - "label":"MissingDataRules", - "type":"keyword", - "info":"MissingDataRules is an option for SemanticImport and related functions that specifies what should be" - }, - { - "label":"MissingQ", - "type":"keyword", - "info":"MissingQ[expr] gives True if expr has head Missing." - }, - { - "label":"MissingString", - "type":"keyword", - "info":"MissingString is an option for TextString and related functions that indicates how an expression wit" - }, - { - "label":"MissingStyle", - "type":"keyword", - "info":"MissingStyle is an option for GeoRegionValuePlot that specifies how locations with missing data shou" - }, - { - "label":"MissingValuePattern", - "type":"keyword", - "info":"MissingValuePattern is an option for SynthesizeMissingValues to specify which elements are considere" - }, - { - "label":"MissingValueSynthesis", - "type":"keyword", - "info":"MissingValueSynthesis is an option for functions such as Classify that specifies how missing values " - }, - { - "label":"MittagLefflerE", - "type":"keyword", - "info":"MittagLefflerE[Î\\[PlusMinus], z] gives the Mittag–Leffler function E (z).MittagLefflerE[Î\\[PlusMinus], Î\.b2, z] gives the gener" - }, - { - "label":"MixedFractionParts", - "type":"keyword", - "info":"MixedFractionParts[expr] gives the list {IntegerPart[expr], FractionalPart[expr]}." - }, - { - "label":"MixedGraphQ", - "type":"keyword", - "info":"MixedGraphQ[g] yields True if the graph g is a mixed graph and False otherwise. " - }, - { - "label":"MixedMagnitude", - "type":"keyword", - "info":"MixedMagnitude[{val , val , …, val }] represents a mixed-magnitude expression consisting of values v" - }, - { - "label":"MixedRadix", - "type":"keyword", - "info":"MixedRadix[{b , …, b }] represents the list of bases of a numerical system in which different digits" - }, - { - "label":"MixedRadixQuantity", - "type":"keyword", - "info":"MixedRadixQuantity[{value , …, value }, {unit , …, unit }] yields a single Quantity expression repre" - }, - { - "label":"MixedUnit", - "type":"keyword", - "info":"MixedUnit[{unit , unit , …, unit }] represents a mixed-unit expression consisting of units unit thr" - }, - { - "label":"MixtureDistribution", - "type":"keyword", - "info":"MixtureDistribution[{w , …, w }, {dist , …, dist }] represents a mixture distribution whose CDF is g" - }, - { - "label":"Mod", - "type":"keyword", - "info":"Mod[m, n] gives the remainder on division of m by n. Mod[m, n, d] uses an offset d. \n" - }, - { - "label":"Modal", - "type":"keyword", - "info":"Modal is an option to functions such as CreateDialog that specifies whether the dialog that is creat" - }, - { - "label":"Mode", - "type":"keyword", - "info":"Mode is an option to Eliminate and related functions that specifies in what sense the equations are " - }, - { - "label":"Modular", - "type":"keyword", - "info":"Modular is a setting for the option Mode in Solve and related functions, which specifies that equati" - }, - { - "label":"ModularInverse", - "type":"keyword", - "info":"ModularInverse[k, n] gives the modular inverse of k modulo n." - }, - { - "label":"ModularLambda", - "type":"keyword", - "info":"ModularLambda[τ] gives the modular lambda elliptic function λ(τ). " - }, - { - "label":"Module", - "type":"keyword", - "info":"Module[{x, y, …}, expr] specifies that occurrences of the symbols x, y, … in expr should be treated " - }, - { - "label":"Modulus", - "type":"keyword", - "info":"Modulus  n is an option that can be given in certain algebraic functions to specify that integers s" - }, - { - "label":"MoebiusMu", - "type":"keyword", - "info":"MoebiusMu[n] gives the MÃ\\[Paragraph]bius function μ(n). " - }, - { - "label":"Molecule", - "type":"keyword", - "info":"Molecule[{atom , atom , …}, {bond , bond , …}] represents a molecule with atoms atom and bonds bond" - }, - { - "label":"MoleculeAlign", - "type":"keyword", - "info":"MoleculeAlign[ref, mol] returns a version of mol that is aligned with reference molecule ref.Molecul" - }, - { - "label":"MoleculeContainsQ", - "type":"keyword", - "info":"MoleculeContainsQ[molecule, patt] returns True if patt is a substructure of molecule, and False othe" - }, - { - "label":"MoleculeDraw", - "type":"keyword", - "info":"MoleculeDraw[] displays a window with interactive tools for drawing a Molecule, and returns the resu" - }, - { - "label":"MoleculeEquivalentQ", - "type":"keyword", - "info":"MoleculeEquivalentQ[mol , mol ] gives True if mol and mol represent equivalent molecules and gives" - }, - { - "label":"MoleculeFreeQ", - "type":"keyword", - "info":"MoleculeFreeQ[molecule, patt] returns True if patt is not a substructure of molecule, and False othe" - }, - { - "label":"MoleculeGraph", - "type":"keyword", - "info":"MoleculeGraph[mol] returns a graph constructed from the molecule mol." - }, - { - "label":"MoleculeMatchQ", - "type":"keyword", - "info":"MoleculeMatchQ[mol, patt] returns True if the Molecule matches the given pattern.MoleculeMatchQ[patt" - }, - { - "label":"MoleculeMaximumCommonSubstructure", - "type":"keyword", - "info":"MoleculeMaximumCommonSubstructure[{mol , mol , …}] returns a molecule pattern representing the large" - }, - { - "label":"MoleculeModify", - "type":"keyword", - "info":"MoleculeModify[mol, \"mod\"] gives a molecule or list of molecules derived from the molecule mol by ap" - }, - { - "label":"MoleculeName", - "type":"keyword", - "info":"MoleculeName[mol] attempts to return the systematic chemical name for the given molecule.MoleculeNam" - }, - { - "label":"MoleculePattern", - "type":"keyword", - "info":"MoleculePattern[{atom , atom , … }, { bond , bond , … }] represents a molecule pattern with atoms at" - }, - { - "label":"MoleculePlot", - "type":"keyword", - "info":"MoleculePlot[mol] creates a two-dimensional structure diagram of the molecule mol.MoleculePlot[mol, " - }, - { - "label":"MoleculePlot3D", - "type":"keyword", - "info":"MoleculePlot3D[mol] creates a three-dimensional model of the molecule mol.MoleculePlot3D[mol, patt] " - }, - { - "label":"MoleculeProperty", - "type":"keyword", - "info":"MoleculeProperty[pname] represents a property identified by pname for use in MoleculeValue.MoleculeP" - }, - { - "label":"MoleculeQ", - "type":"keyword", - "info":"MoleculeQ[mol] returns True if mol is a valid Molecule expression, and False otherwise." - }, - { - "label":"MoleculeRecognize", - "type":"keyword", - "info":"MoleculeRecognize[image] recognizes a molecule in image and returns it as a Molecule object." - }, - { - "label":"MoleculeSubstructureCount", - "type":"keyword", - "info":"MoleculeSubstructureCount[mol, patt] gives a count of the number of times patt appears as a substruc" - }, - { - "label":"MoleculeValue", - "type":"keyword", - "info":"MoleculeValue[molecule, property] gives the value of the specified property for the given molecule.M" - }, - { - "label":"Moment", - "type":"keyword", - "info":" th th " - }, - { - "label":"MomentConvert", - "type":"keyword", - "info":"MomentConvert[mexpr, form] converts the moment expression mexpr to the specified form. " - }, - { - "label":"MomentEvaluate", - "type":"keyword", - "info":"MomentEvaluate[mexpr, dist] evaluates formal moments in the moment expression mexpr on the distribut" - }, - { - "label":"MomentGeneratingFunction", - "type":"keyword", - "info":"MomentGeneratingFunction[dist, t] gives the moment-generating function for the distribution dist as " - }, - { - "label":"MomentOfInertia", - "type":"keyword", - "info":"MomentOfInertia[reg, pt, v] computes the moment of inertia for the region reg rotating around an axi" - }, - { - "label":"Monday", - "type":"keyword", - "info":"Monday is a day of the week." - }, - { - "label":"Monitor", - "type":"keyword", - "info":"Monitor[expr, mon] generates a temporary monitor cell in which the continually updated current value" - }, - { - "label":"MonomialList", - "type":"keyword", - "info":"MonomialList[poly] gives the list of all monomials in the polynomial poly.MonomialList[poly, {x , x " - }, - { - "label":"MonomialOrder", - "type":"keyword", - "info":"System`MonomialOrder" - }, - { - "label":"MonsterGroupM", - "type":"keyword", - "info":"MonsterGroupM[] represents the sporadic simple monster group M." - }, - { - "label":"MoonPhase", - "type":"keyword", - "info":"MoonPhase[] gives moon phase fraction of illumination for the current date.MoonPhase[datespec] gives" - }, - { - "label":"MoonPosition", - "type":"keyword", - "info":"MoonPosition[] gives the position of the Moon for the current date and location.MoonPosition[datespe" - }, - { - "label":"MorletWavelet", - "type":"keyword", - "info":"MorletWavelet[] represents a Morlet wavelet. " - }, - { - "label":"MorphologicalBinarize", - "type":"keyword", - "info":"MorphologicalBinarize[image, {t , t }] creates a binary image from image by replacing all values abo" - }, - { - "label":"MorphologicalBranchPoints", - "type":"keyword", - "info":"MorphologicalBranchPoints[image] gives a version of a binary image image in which white pixels repre" - }, - { - "label":"MorphologicalComponents", - "type":"keyword", - "info":"MorphologicalComponents[image] gives an array in which each pixel of image is replaced by an integer" - }, - { - "label":"MorphologicalEulerNumber", - "type":"keyword", - "info":"MorphologicalEulerNumber[image] computes the morphological Euler number of regions in a binary image" - }, - { - "label":"MorphologicalGraph", - "type":"keyword", - "info":"MorphologicalGraph[image] gives a graph object that represents the connectivity of the morphological" - }, - { - "label":"MorphologicalPerimeter", - "type":"keyword", - "info":"MorphologicalPerimeter[image] picks out the morphological perimeter of regions of foreground in imag" - }, - { - "label":"MorphologicalTransform", - "type":"keyword", - "info":"MorphologicalTransform[image, f] applies the function f to the 3×3 neighborhood of each pixel in a b" - }, - { - "label":"MortalityData", - "type":"keyword", - "info":"MortalityData[spec] gives the values of all properties for the specified demographic.MortalityData[s" - }, - { - "label":"Most", - "type":"keyword", - "info":"Most[expr] gives expr with the last element removed. " - }, - { - "label":"MountainData", - "type":"keyword", - "info":"MountainData[entity, property] gives the value of the specified property for the mountain entity.Mou" - }, - { - "label":"MouseAnnotation", - "type":"keyword", - "info":"MouseAnnotation[] gives any mouse annotation associated with the expression at the current mouse pos" - }, - { - "label":"MouseAppearance", - "type":"keyword", - "info":"MouseAppearance[expr, graphic] changes the mouse cursor to appear as graphic when the mouse pointer " - }, - { - "label":"MouseAppearanceTag", - "type":"keyword", - "info":"System`MouseAppearanceTag" - }, - { - "label":"MouseButtons", - "type":"keyword", - "info":"MouseButtons[] gives a list of the mouse buttons currently being pressed." - }, - { - "label":"Mouseover", - "type":"keyword", - "info":"Mouseover[expr, over] represents an object that displays as over when the mouse pointer is over it, " - }, - { - "label":"MousePointerNote", - "type":"keyword", - "info":"System`MousePointerNote" - }, - { - "label":"MousePosition", - "type":"keyword", - "info":"MousePosition[] gives the current mouse position in the notebook front end. MousePosition[\"coords\"] " - }, - { - "label":"MovieData", - "type":"keyword", - "info":"MovieData[entity, property] gives the value of the specified property for the movie entity.MovieData" - }, - { - "label":"MovingAverage", - "type":"keyword", - "info":"MovingAverage[list, r] gives the moving average of list, computed by averaging runs of r elements.Mo" - }, - { - "label":"MovingMap", - "type":"keyword", - "info":"MovingMap[f, data, w] applies f to size w windows in the specified data.MovingMap[f, data, wspec] us" - }, - { - "label":"MovingMedian", - "type":"keyword", - "info":"MovingMedian[list, r] gives the moving median of list, computed using spans of r elements." - }, - { - "label":"MoyalDistribution", - "type":"keyword", - "info":"MoyalDistribution[μ, σ] represents a Moyal distribution with location parameter μ and scale paramete" - }, - { - "label":"MultiaxisArrangement", - "type":"keyword", - "info":"MultiaxisArrangement is an option to plotting functions that specifies how multiple axes are arrange" - }, - { - "label":"Multicolumn", - "type":"keyword", - "info":"Multicolumn[list, cols] is an object that formats with the elements of list arranged in a grid with " - }, - { - "label":"MultiedgeStyle", - "type":"keyword", - "info":"MultiedgeStyle is an option for GraphPlot and related functions that specifies how to draw multiple " - }, - { - "label":"MultigraphQ", - "type":"keyword", - "info":"MultigraphQ[g] yields True if the graph g is a multigraph and False otherwise." - }, - { - "label":"MultilaunchWarning", - "type":"keyword", - "info":"MultilaunchWarning is a global option that specifies whether a warning is given when you try to modi" - }, - { - "label":"MultiLetterItalics", - "type":"keyword", - "info":"System`MultiLetterItalics" - }, - { - "label":"MultiLetterStyle", - "type":"keyword", - "info":"System`MultiLetterStyle" - }, - { - "label":"MultilineFunction", - "type":"keyword", - "info":"MultilineFunction is an option for UnderscriptBox and related box objects that specifies what to do " - }, - { - "label":"Multinomial", - "type":"keyword", - "info":"Multinomial[n , n , …] gives the multinomial coefficient (n + n + …) !\/(n ! n ! …). \n " - }, - { - "label":"MultinomialDistribution", - "type":"keyword", - "info":"MultinomialDistribution[n, {p , p , …, p }] represents a multinomial distribution with n trials and " - }, - { - "label":"MultinormalDistribution", - "type":"keyword", - "info":"MultinormalDistribution[μ, Σ] represents a multivariate normal (Gaussian) distribution with mean vec" - }, - { - "label":"MultiplicativeOrder", - "type":"keyword", - "info":" " - }, - { - "label":"Multiplicity", - "type":"keyword", - "info":"Multiplicity is an option to Roots. Multiplicity -> n specifies that the multiplicity of each of the" - }, - { - "label":"MultiplySides", - "type":"keyword", - "info":"MultiplySides[rel, x] multiplies each side of the equation or inequality rel by x.MultiplySides[rel " - }, - { - "label":"Multiselection", - "type":"keyword", - "info":"Multiselection is an option to ListPicker that specifies whether multiple values may be selected." - }, - { - "label":"MultivariateHypergeometricDistribution", - "type":"keyword", - "info":"MultivariateHypergeometricDistribution[n, {m , m , …, m }] represents a multivariate hypergeometric " - }, - { - "label":"MultivariatePoissonDistribution", - "type":"keyword", - "info":"MultivariatePoissonDistribution[μ , {μ , μ , …}] represents a multivariate Poisson distribution with" - }, - { - "label":"MultivariateTDistribution", - "type":"keyword", - "info":"MultivariateTDistribution[Σ, ν] represents the multivariate Student t distribution with scale matrix" - }, - { - "label":"N", - "type":"keyword", - "info":"N[expr] gives the numerical value of expr. N[expr, n] attempts to give a result with n‐digit precisi" - }, - { - "label":"NakagamiDistribution", - "type":"keyword", - "info":"NakagamiDistribution[μ, ω] represents a Nakagami distribution with shape parameter μ and spread para" - }, - { - "label":"NameQ", - "type":"keyword", - "info":"NameQ[\"string\"] yields True if there are any symbols whose names match the string pattern given, and" - }, - { - "label":"Names", - "type":"keyword", - "info":"Names[\"string\"] gives a list of the names of symbols that match the string. Names[patt] gives a list" - }, - { - "label":"NamespaceBox", - "type":"keyword", - "info":"System`NamespaceBox" - }, - { - "label":"NamespaceBoxOptions", - "type":"keyword", - "info":"System`NamespaceBoxOptions" - }, - { - "label":"Nand", - "type":"keyword", - "info":"Nand[e , e , …] is the logical NAND function. It evaluates its arguments in order, giving True immed" - }, - { - "label":"NArgMax", - "type":"keyword", - "info":"NArgMax[f, x] gives a position x at which f is numerically maximized.NArgMax[f, {x, y, …}] gives " - }, - { - "label":"NArgMin", - "type":"keyword", - "info":"NArgMin[f, x] gives a position x at which f is numerically minimized.NArgMin[f, {x, y, …}] gives " - }, - { - "label":"NBernoulliB", - "type":"keyword", - "info":" th\nNBernoulliB[n] gives the numerical value of the" - }, - { - "label":"NBodySimulation", - "type":"keyword", - "info":"NBodySimulation[law, {state , …, state }, t] generates a simulation of the motion of a system of n b" - }, - { - "label":"NBodySimulationData", - "type":"keyword", - "info":"NBodySimulationData[data…] represents the result of an n-body simulation." - }, - { - "label":"NCache", - "type":"keyword", - "info":"NCache[x, xn] represents a numeric cache object for a quantity with exact value x and approximate nu" - }, - { - "label":"NDEigensystem", - "type":"keyword", - "info":"NDEigensystem[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues and eig" - }, - { - "label":"NDEigenvalues", - "type":"keyword", - "info":"NDEigenvalues[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues for the" - }, - { - "label":"NDSolve", - "type":"keyword", - "info":"NDSolve[eqns, u, {x, x , x }] finds a numerical solution to the ordinary differential equations " - }, - { - "label":"NDSolveValue", - "type":"keyword", - "info":"NDSolveValue[eqns, expr, {x, x , x }] gives the value of expr with functions determined by a num" - }, - { - "label":"Nearest", - "type":"keyword", - "info":"Nearest[{elem , elem , …}, x] gives the list of elem to which x is nearest. Nearest[{elem  v , el" - }, - { - "label":"NearestFunction", - "type":"keyword", - "info":"NearestFunction[data] represents a function whose values give the elements closest to an element tha" - }, - { - "label":"NearestMeshCells", - "type":"keyword", - "info":"NearestMeshCells[mr, pt] gives the indices for the cells to which the point pt is nearest in the mes" - }, - { - "label":"NearestNeighborG", - "type":"keyword", - "info":"NearestNeighborG[pdata, r] estimates the nearest neighbor function G(r) at radius r in the point dat" - }, - { - "label":"NearestNeighborGraph", - "type":"keyword", - "info":"NearestNeighborGraph[{elem , elem , …}] gives a graph with vertices elem , elem , … and edges connec" - }, - { - "label":"NearestTo", - "type":"keyword", - "info":"NearestTo[x] is an operator form that yields Nearest[elems, x] when applied to a list elems.NearestT" - }, - { - "label":"NebulaData", - "type":"keyword", - "info":"NebulaData[entity, property] gives the value of the specified property for the nebula entity.NebulaD" - }, - { - "label":"NeedlemanWunschSimilarity", - "type":"keyword", - "info":"NeedlemanWunschSimilarity[u, v] gives a number representing the Needleman–Wunsch similarity between " - }, - { - "label":"Needs", - "type":"keyword", - "info":"Needs[\"context`\"] loads an appropriate file if the specified context is not already in ECPackages. Ne" - }, - { - "label":"Negative", - "type":"keyword", - "info":"Negative[x] gives True if x is a negative number. " - }, - { - "label":"NegativeBinomialDistribution", - "type":"keyword", - "info":"NegativeBinomialDistribution[n, p] represents a negative binomial distribution with parameters n and" - }, - { - "label":"NegativeDefiniteMatrixQ", - "type":"keyword", - "info":"NegativeDefiniteMatrixQ[m] gives True if m is explicitly negative definite, and False otherwise." - }, - { - "label":"NegativeIntegers", - "type":"keyword", - "info":"NegativeIntegers represents the domain of strictly negative integers, as in x ∈ NegativeIntegers. " - }, - { - "label":"NegativelyOrientedPoints", - "type":"keyword", - "info":"NegativelyOrientedPoints[{p , p , p , …, p }] tests whether the sequence of points p , p , p , …, p " - }, - { - "label":"NegativeMultinomialDistribution", - "type":"keyword", - "info":"NegativeMultinomialDistribution[n, p] represents a negative multinomial distribution with parameter " - }, - { - "label":"NegativeRationals", - "type":"keyword", - "info":"NegativeRationals represents the domain of strictly negative rational numbers, as in x ∈ NegativeRat" - }, - { - "label":"NegativeReals", - "type":"keyword", - "info":"NegativeReals represents the domain of strictly negative real numbers." - }, - { - "label":"NegativeSemidefiniteMatrixQ", - "type":"keyword", - "info":"NegativeSemidefiniteMatrixQ[m] gives True if m is explicitly negative semidefinite, and False otherw" - }, - { - "label":"NeighborhoodData", - "type":"keyword", - "info":"NeighborhoodData[entity, property] gives the value of the specified property for the neighborhood en" - }, - { - "label":"NeighborhoodGraph", - "type":"keyword", - "info":"NeighborhoodGraph[g, v] gives the graph neighborhood of a vertex v in the graph g.NeighborhoodGraph[" - }, - { - "label":"Nest", - "type":"keyword", - "info":"Nest[f, expr, n] gives an expression with f applied n times to expr. " - }, - { - "label":"NestedGreaterGreater", - "type":"keyword", - "info":"NestedGreaterGreater[x, y, …] displays as x ⪢ y ⪢ …." - }, - { - "label":"NestedLessLess", - "type":"keyword", - "info":"NestedLessLess[x, y, …] displays as x ⪡ y ⪡ …." - }, - { - "label":"NestedScriptRules", - "type":"keyword", - "info":"System`NestedScriptRules" - }, - { - "label":"NestGraph", - "type":"keyword", - "info":"NestGraph[f, expr, n] gives the graph obtained by starting with expr and applying f successively n t" - }, - { - "label":"NestList", - "type":"keyword", - "info":"NestList[f, expr, n] gives a list of the results of applying f to expr 0 through n times. " - }, - { - "label":"NestTree", - "type":"keyword", - "info":"NestTree[f, tree] gives the tree obtained by applying f to the data in the leaves of tree and extend" - }, - { - "label":"NestWhile", - "type":"keyword", - "info":"NestWhile[f, expr, test] starts with expr, then repeatedly applies f until applying test to the resu" - }, - { - "label":"NestWhileList", - "type":"keyword", - "info":"NestWhileList[f, expr, test] generates a list of the results of applying f repeatedly, starting with" - }, - { - "label":"NetAppend", - "type":"keyword", - "info":"NetAppend[net, layer] appends a layer or a net onto a NetChain, a layer or a NetGraph with one outpu" - }, - { - "label":"NetArray", - "type":"keyword", - "info":"NetArray[] represents an array in a net.NetArray[\"name\"] uses \"name\" as an identifier to share the a" - }, - { - "label":"NetArrayLayer", - "type":"keyword", - "info":"NetArrayLayer[] represents a layer that has no input and produces as output a constant array.NetArra" - }, - { - "label":"NetBidirectionalOperator", - "type":"keyword", - "info":"NetBidirectionalOperator[net] represents a net that applies net to a sequence and to its reverse, co" - }, - { - "label":"NetChain", - "type":"keyword", - "info":"NetChain[{layer , layer , …}] specifies a neural net in which the output of layer is connected to t" - }, - { - "label":"NetDecoder", - "type":"keyword", - "info":"NetDecoder[\"name\"] represents a decoder that takes a net representation and decodes it into an expre" - }, - { - "label":"NetDelete", - "type":"keyword", - "info":" th\nNetDelete[net, n] deletes the n layer from a NetChain or NetGr" - }, - { - "label":"NetDrop", - "type":"keyword", - "info":"NetDrop[chain, n] removes the first n layers from a NetChain.NetDrop[chain, -n] removes the last n l" - }, - { - "label":"NetEncoder", - "type":"keyword", - "info":"NetEncoder[\"name\"] represents an encoder that takes a given form of input and encodes it as an array" - }, - { - "label":"NetEvaluationMode", - "type":"keyword", - "info":"NetEvaluationMode is an option that can be given when applying neural net functions to input data, s" - }, - { - "label":"NetExtract", - "type":"keyword", - "info":"NetExtract[layer, \"param\"] extracts the value of a parameter for the specified net layer.NetExtract[" - }, - { - "label":"NetFlatten", - "type":"keyword", - "info":"NetFlatten[net] collapses nested NetChain and NetGraph objects within net.NetFlatten[net, n] collaps" - }, - { - "label":"NetFoldOperator", - "type":"keyword", - "info":"NetFoldOperator[net] represents a net in which net is folded over a sequence of inputs, maintaining " - }, - { - "label":"NetGANOperator", - "type":"keyword", - "info":"NetGANOperator[{generator, discriminator}] represents a network to perform generative adversarial ne" - }, - { - "label":"NetGraph", - "type":"keyword", - "info":"NetGraph[{layer , layer , …}, {m  n , m  n , …}] specifies a neural net defined by a graph in wh" - }, - { - "label":"NetInformation", - "type":"keyword", - "info":"NetInformation[net] gives a report about the neural network net.NetInformation[net, \"prop\"] gives th" - }, - { - "label":"NetInitialize", - "type":"keyword", - "info":"NetInitialize[net] gives a net in which all uninitialized learnable parameters in net have been give" - }, - { - "label":"NetInsert", - "type":"keyword", - "info":"NetInsert[chain, layer, i] inserts a layer into a NetChain before the layer at position i.NetInsert[" - }, - { - "label":"NetInsertSharedArrays", - "type":"keyword", - "info":"NetInsertSharedArrays[net] converts all ordinary arrays in net into NetSharedArray objects.NetInsert" - }, - { - "label":"NetJoin", - "type":"keyword", - "info":"NetJoin[net , net , …] connects a series of NetChain or NetGraph objects to form a single NetChain o" - }, - { - "label":"NetMapOperator", - "type":"keyword", - "info":"NetMapOperator[net] represents a net in which net is mapped over a sequence of inputs to give a sequ" - }, - { - "label":"NetMapThreadOperator", - "type":"keyword", - "info":"NetMapThreadOperator[mapnet] represents a net in which mapnet is mapped over one or more inputs to g" - }, - { - "label":"NetMeasurements", - "type":"keyword", - "info":"NetMeasurements[net, data, measurement] computes the requested measurement for the net evaluated on " - }, - { - "label":"NetModel", - "type":"keyword", - "info":"NetModel[\"name\"] obtains a neural net model with the specified name from the Neural Net Repository. " - }, - { - "label":"NetNestOperator", - "type":"keyword", - "info":"NetNestOperator[net, n] represents a net in which net is applied n times to the input." - }, - { - "label":"NetPairEmbeddingOperator", - "type":"keyword", - "info":"NetPairEmbeddingOperator[net] represents a net that takes a pair of arrays, embeds them into a vecto" - }, - { - "label":"NetPort", - "type":"keyword", - "info":"NetPort[\"port\"] represents the specified input or output port for a complete net.NetPort[{n, \"port\"}" - }, - { - "label":"NetPortGradient", - "type":"keyword", - "info":"NetPortGradient[\"port\"] represents the gradient of the output of a net with respect to the value of " - }, - { - "label":"NetPrepend", - "type":"keyword", - "info":"NetPrepend[net, layer] prepends a layer or a net onto a NetChain, a layer or a NetGraph with one inp" - }, - { - "label":"NetRename", - "type":"keyword", - "info":"NetRename[net, \"old\"  \"new\"] gives a net in which the name old for a layer is replaced with new.Net" - }, - { - "label":"NetReplace", - "type":"keyword", - "info":"NetReplace[net, patt  layer] gives a net in which all layers matching patt are replaced with layer." - }, - { - "label":"NetReplacePart", - "type":"keyword", - "info":"NetReplacePart[layer, \"array\"  value] replaces an array within a layer, returning a new layer.NetRe" - }, - { - "label":"NetSharedArray", - "type":"keyword", - "info":"NetSharedArray[\"name\"] represents an array in a net that is shared by more than one layer." - }, - { - "label":"NetStateObject", - "type":"keyword", - "info":"NetStateObject[net] creates an object derived from net that represents a neural net with additional " - }, - { - "label":"NetTake", - "type":"keyword", - "info":"NetTake[net, end] takes only those layers up to end in a NetChain or NetGraph.NetTake[net, {start, e" - }, - { - "label":"NetTrain", - "type":"keyword", - "info":"NetTrain[net, {input  output , input  output , …}] trains the specified neural net by giving the" - }, - { - "label":"NetTrainResultsObject", - "type":"keyword", - "info":"NetTrainResultsObject[…] represents an object generated by NetTrain that contains the trained net an" - }, - { - "label":"NetUnfold", - "type":"keyword", - "info":"NetUnfold[fnet] produces the elementary net of the folded net fnet, exposing the recurrent states." - }, - { - "label":"NetworkPacketCapture", - "type":"keyword", - "info":"NetworkPacketCapture[] creates a temporary interactive interface for capturing information on networ" - }, - { - "label":"NetworkPacketRecording", - "type":"keyword", - "info":"NetworkPacketRecording[t] records information on network packets transmitted or received through all" - }, - { - "label":"NetworkPacketRecordingDuring", - "type":"keyword", - "info":"System`NetworkPacketRecordingDuring" - }, - { - "label":"NetworkPacketTrace", - "type":"keyword", - "info":"NetworkPacketTrace[expr] evaluates expr and returns information on network packets transmitted or re" - }, - { - "label":"NeumannValue", - "type":"keyword", - "info":"NeumannValue[val, pred] represents a Neumann boundary value val, specified on the part of the bounda" - }, - { - "label":"NevilleThetaC", - "type":"keyword", - "info":"NevilleThetaC[z, m] gives the Neville theta function ϑ (z ï\.b2 m). \n " - }, - { - "label":"NevilleThetaD", - "type":"keyword", - "info":"NevilleThetaD[z, m] gives the Neville theta function ϑ (z ï\.b2 m). \n " - }, - { - "label":"NevilleThetaN", - "type":"keyword", - "info":"NevilleThetaN[z, m] gives the Neville theta function ϑ (z ï\.b2 m). \n " - }, - { - "label":"NevilleThetaS", - "type":"keyword", - "info":"NevilleThetaS[z, m] gives the Neville theta function ϑ (z ï\.b2 m). \n " - }, - { - "label":"NewPrimitiveStyle", - "type":"keyword", - "info":"System`NewPrimitiveStyle" - }, - { - "label":"NExpectation", - "type":"keyword", - "info":"NExpectation[expr, x  dist] gives the numerical expectation of expr under the assumption that x fol" - }, - { - "label":"Next", - "type":"keyword", - "info":"System`Next" - }, - { - "label":"NextCell", - "type":"keyword", - "info":"NextCell[] returns the CellObject corresponding to the cell directly below the currently evaluating " - }, - { - "label":"NextDate", - "type":"keyword", - "info":"NextDate[gran] gives the next occurring date of the specified granularity type gran.NextDate[daytype" - }, - { - "label":"NextPrime", - "type":"keyword", - "info":" th\nNextPrime[x] gives the " - }, - { - "label":"NextScheduledTaskTime", - "type":"keyword", - "info":"NextScheduledTaskTime[obj] gives the next execution time of the scheduled task represented by obj." - }, - { - "label":"NeymanScottPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"NHoldAll", - "type":"keyword", - "info":"NHoldAll is an attribute which specifies that none of the arguments to a function should be affected" - }, - { - "label":"NHoldFirst", - "type":"keyword", - "info":"NHoldFirst is an attribute which specifies that the first argument to a function should not be affec" - }, - { - "label":"NHoldRest", - "type":"keyword", - "info":"NHoldRest is an attribute which specifies that all but the first argument to a function should not b" - }, - { - "label":"NicholsGridLines", - "type":"keyword", - "info":"NicholsGridLines is an option to NicholsPlot that specifies contours of constant magnitude and const" - }, - { - "label":"NicholsPlot", - "type":"keyword", - "info":"NicholsPlot[lsys] generates a Nichols plot of the transfer function for the system lsys.NicholsPlot[" - }, - { - "label":"NightHemisphere", - "type":"keyword", - "info":"NightHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth c" - }, - { - "label":"NIntegrate", - "type":"keyword", - "info":" x " - }, - { - "label":"NMaximize", - "type":"keyword", - "info":"NMaximize[f, x] maximizes f numerically with respect to x.NMaximize[f, {x, y, …}] maximizes f numeri" - }, - { - "label":"NMaxValue", - "type":"keyword", - "info":"NMaxValue[f, x] gives the maximum value of f with respect to x.NMaxValue[f, {x, y, …}] gives the max" - }, - { - "label":"NMinimize", - "type":"keyword", - "info":"NMinimize[f, x] minimizes f numerically with respect to x.NMinimize[f, {x, y, …}] minimizes f numeri" - }, - { - "label":"NMinValue", - "type":"keyword", - "info":"NMinValue[f, x] gives the minimum value of f with respect to x.NMinValue[f, {x, y, …}] gives the min" - }, - { - "label":"NominalVariables", - "type":"keyword", - "info":"NominalVariables is an option for statistical functions such as LinearModelFit that specifies which " - }, - { - "label":"NonAssociative", - "type":"keyword", - "info":"NonAssociative is a symbol that represents a non-associative operator in formatting functions." - }, - { - "label":"NoncentralBetaDistribution", - "type":"keyword", - "info":"NoncentralBetaDistribution[Î\\[PlusMinus], Î\.b2, Î\.b4] represents a noncentral beta distribution with shape parameters " - }, - { - "label":"NoncentralChiSquareDistribution", - "type":"keyword", - "info":" 2\nNoncentralChiSquareDistribution[ν, " - }, - { - "label":"NoncentralFRatioDistribution", - "type":"keyword", - "info":"NoncentralFRatioDistribution[n, m, λ] represents a noncentral F-ratio distribution with n numerator " - }, - { - "label":"NoncentralStudentTDistribution", - "type":"keyword", - "info":"NoncentralStudentTDistribution[ν, Î\.b4] represents a noncentral Student t distribution with ν degrees o" - }, - { - "label":"NonCommutativeMultiply", - "type":"keyword", - "info":"a ** b ** c is a general associative, but non‐commutative, form of multiplication. " - }, - { - "label":"NonConstants", - "type":"keyword", - "info":"NonConstants is an option for D which gives a list of objects to be taken to depend implicitly on th" - }, - { - "label":"NondimensionalizationTransform", - "type":"keyword", - "info":"NondimensionalizationTransform[eq, ovars, fvars] nondimensionalizes eq, replacing original variables" - }, - { - "label":"None", - "type":"keyword", - "info":"None is a setting used for certain options. " - }, - { - "label":"NoneTrue", - "type":"keyword", - "info":"NoneTrue[{e , e , …}, test] yields True if test[e ] is False for all of the e .NoneTrue[expr, test, " - }, - { - "label":"NonlinearModelFit", - "type":"keyword", - "info":"NonlinearModelFit[{y , y , …}, form, {Î\.b2 , …}, x] constructs a nonlinear model with structure form th" - }, - { - "label":"NonlinearStateSpaceModel", - "type":"keyword", - "info":"NonlinearStateSpaceModel[{f, g}, x, u] represents the model x ' (t) ï\\[PlusMinus] f(x(t), u(t)), y(t) ï\\[PlusMinus] g(x(t), " - }, - { - "label":"NonlocalMeansFilter", - "type":"keyword", - "info":"NonlocalMeansFilter[image, r] applies a nonlocal means filter to image by comparing a range r neighb" - }, - { - "label":"NonNegative", - "type":"keyword", - "info":"NonNegative[x] gives True if x is a non‐negative number. " - }, - { - "label":"NonNegativeIntegers", - "type":"keyword", - "info":"NonNegativeIntegers represents the domain of non-negative integers, as in x ∈ NonNegativeIntegers. " - }, - { - "label":"NonNegativeRationals", - "type":"keyword", - "info":"NonNegativeRationals represents the domain of non-negative rational numbers, as in x ∈ NonNegativeRa" - }, - { - "label":"NonNegativeReals", - "type":"keyword", - "info":"NonNegativeReals represents the domain of non-negative real numbers." - }, - { - "label":"NonPositive", - "type":"keyword", - "info":"NonPositive[x] gives True if x is a non‐positive number. " - }, - { - "label":"NonPositiveIntegers", - "type":"keyword", - "info":"NonPositiveIntegers represents the domain of non-positive integers, as in x ∈ NonPositiveIntegers. " - }, - { - "label":"NonPositiveRationals", - "type":"keyword", - "info":"NonPositiveRationals represents the domain of non-positive rational numbers, as in x ∈ NonPositiveRa" - }, - { - "label":"NonPositiveReals", - "type":"keyword", - "info":"NonPositiveReals represents the domain of non-positive real numbers." - }, - { - "label":"Nor", - "type":"keyword", - "info":"Nor[e , e , …] is the logical NOR function. It evaluates its arguments in order, giving False immedi" - }, - { - "label":"NorlundB", - "type":"keyword", - "info":" (a) " - }, - { - "label":"Norm", - "type":"keyword", - "info":"Norm[expr] gives the norm of a number, vector, or matrix. Norm[expr, p] gives the p‐norm. \n" - }, - { - "label":"Normal", - "type":"keyword", - "info":"Normal[expr] converts expr to a normal expression from a variety of special forms. Normal[expr, h] c" - }, - { - "label":"NormalDistribution", - "type":"keyword", - "info":"NormalDistribution[μ, σ] represents a normal (Gaussian) distribution with mean μ and standard deviat" - }, - { - "label":"NormalGrouping", - "type":"keyword", - "info":"System`NormalGrouping" - }, - { - "label":"NormalizationLayer", - "type":"keyword", - "info":"NormalizationLayer[] represents a trainable net layer that normalizes its input data across the seco" - }, - { - "label":"Normalize", - "type":"keyword", - "info":"Normalize[v] gives the normalized form of a vector v. Normalize[z] gives the normalized form of a co" - }, - { - "label":"Normalized", - "type":"keyword", - "info":"Normalized is an option that determines whether to test if matrix rows are normalized." - }, - { - "label":"NormalizedSquaredEuclideanDistance", - "type":"keyword", - "info":"NormalizedSquaredEuclideanDistance[u, v] gives the normalized squared Euclidean distance between vec" - }, - { - "label":"NormalMatrixQ", - "type":"keyword", - "info":"NormalMatrixQ[m] gives True if m is an explicitly normal matrix, and False otherwise." - }, - { - "label":"NormalsFunction", - "type":"keyword", - "info":"NormalsFunction is an option for Plot3D and related functions that specifies a function to apply to " - }, - { - "label":"NormFunction", - "type":"keyword", - "info":"NormFunction is an option for functions such as FindFit and NDSolve which gives a function to be min" - }, - { - "label":"Not", - "type":"keyword", - "info":"! expr is the logical NOT function. It gives False if expr is True, and True if it is False. " - }, - { - "label":"NotCongruent", - "type":"keyword", - "info":"NotCongruent[x, y, …] displays as x ≢ y ≢ …." - }, - { - "label":"NotCupCap", - "type":"keyword", - "info":"NotCupCap[x, y, …] displays as x ≭ y ≭ …." - }, - { - "label":"NotDoubleVerticalBar", - "type":"keyword", - "info":"NotDoubleVerticalBar[x, y, …] displays as x ∦ y ∦ …." - }, - { - "label":"Notebook", - "type":"keyword", - "info":"Notebook[{cell , cell , …}] is the low‐level construct that represents a notebook manipulated by the" - }, - { - "label":"NotebookApply", - "type":"keyword", - "info":"NotebookApply[notebook, data] writes data into a notebook at the current selection, replacing the fi" - }, - { - "label":"NotebookAutoSave", - "type":"keyword", - "info":"NotebookAutoSave is a notebook option that specifies whether the notebook should automatically be sa" - }, - { - "label":"NotebookBrowseDirectory", - "type":"keyword", - "info":"NotebookBrowseDirectory is a global option that determines the current working directory." - }, - { - "label":"NotebookClose", - "type":"keyword", - "info":"NotebookClose[notebook] closes the notebook corresponding to the specified notebook object. Notebook" - }, - { - "label":"NotebookConvertSettings", - "type":"keyword", - "info":"NotebookConvertSettings is a global option that specifies settings for converting imported legacy no" - }, - { - "label":"NotebookCreate", - "type":"keyword", - "info":"NotebookCreate[] creates a new open notebook in the front end. NotebookCreate[options] sets up the s" - }, - { - "label":"NotebookCreateReturnObject", - "type":"keyword", - "info":"System`NotebookCreateReturnObject" - }, - { - "label":"NotebookDefault", - "type":"keyword", - "info":"System`NotebookDefault" - }, - { - "label":"NotebookDelete", - "type":"keyword", - "info":"NotebookDelete[notebook] deletes the current selection in the notebook corresponding to the specifie" - }, - { - "label":"NotebookDirectory", - "type":"keyword", - "info":"NotebookDirectory[] gives the directory of the current evaluation notebook. NotebookDirectory[nb] gi" - }, - { - "label":"NotebookDynamicExpression", - "type":"keyword", - "info":"NotebookDynamicExpression is an option for notebooks that specifies an expression to be dynamically " - }, - { - "label":"NotebookEvaluate", - "type":"keyword", - "info":"NotebookEvaluate[notebook] evaluates all the evaluatable cells in notebook." - }, - { - "label":"NotebookEventActions", - "type":"keyword", - "info":"NotebookEventActions is a notebook option that gives a list of actions to perform when specified eve" - }, - { - "label":"NotebookFileName", - "type":"keyword", - "info":"NotebookFileName[] gives the file name of the current evaluation notebook. NotebookFileName[nb] give" - }, - { - "label":"NotebookFind", - "type":"keyword", - "info":"NotebookFind[obj, data] sets the current selection in the specified notebook object to be the next o" - }, - { - "label":"NotebookFindReturnObject", - "type":"keyword", - "info":"System`NotebookFindReturnObject" - }, - { - "label":"NotebookGet", - "type":"keyword", - "info":"NotebookGet[obj] gets the raw expression corresponding to the notebook represented by the notebook o" - }, - { - "label":"NotebookGetLayoutInformationPacket", - "type":"keyword", - "info":"System`NotebookGetLayoutInformationPacket" - }, - { - "label":"NotebookGetMisspellingsPacket", - "type":"keyword", - "info":"System`NotebookGetMisspellingsPacket" - }, - { - "label":"NotebookImport", - "type":"keyword", - "info":"NotebookImport[notebook, style] imports cells with the given cell style from the specified notebook." - }, - { - "label":"NotebookInformation", - "type":"keyword", - "info":"NotebookInformation[] gives a list of properties of the current evaluation notebook.NotebookInformat" - }, - { - "label":"NotebookInterfaceObject", - "type":"keyword", - "info":"System`NotebookInterfaceObject" - }, - { - "label":"NotebookLocate", - "type":"keyword", - "info":"NotebookLocate[\"tag\"] locates all cells with the specified tag in your current input notebook, selec" - }, - { - "label":"NotebookObject", - "type":"keyword", - "info":"NotebookObject[id] is an object that represents an open notebook in the front end. " - }, - { - "label":"NotebookOpen", - "type":"keyword", - "info":"NotebookOpen[\"name\"] opens an existing notebook with the specified name, returning the corresponding" - }, - { - "label":"NotebookOpenReturnObject", - "type":"keyword", - "info":"System`NotebookOpenReturnObject" - }, - { - "label":"NotebookPath", - "type":"keyword", - "info":"NotebookPath is a global option that determines which directories are searched when a specified note" - }, - { - "label":"NotebookPrint", - "type":"keyword", - "info":"NotebookPrint[expr] sends a notebook containing expr to your default printer.NotebookPrint[notebook]" - }, - { - "label":"NotebookPut", - "type":"keyword", - "info":"NotebookPut[expr] creates a notebook corresponding to expr and makes it the currently selected noteb" - }, - { - "label":"NotebookPutReturnObject", - "type":"keyword", - "info":"System`NotebookPutReturnObject" - }, - { - "label":"NotebookRead", - "type":"keyword", - "info":"NotebookRead[notebook] gives the expression corresponding to the current selection in the specified " - }, - { - "label":"NotebookResetGeneratedCells", - "type":"keyword", - "info":"System`NotebookResetGeneratedCells" - }, - { - "label":"Notebooks", - "type":"keyword", - "info":"Notebooks[] gives a list of notebooks currently open in the front end." - }, - { - "label":"NotebookSave", - "type":"keyword", - "info":"NotebookSave[notebook] saves the current version of the specified notebook. NotebookSave[notebook, \"" - }, - { - "label":"NotebookSaveAs", - "type":"keyword", - "info":"System`NotebookSaveAs" - }, - { - "label":"NotebookSelection", - "type":"keyword", - "info":"NotebookSelection[] represents the current selection in the current evaluation notebook in the front" - }, - { - "label":"NotebookSetupLayoutInformationPacket", - "type":"keyword", - "info":"System`NotebookSetupLayoutInformationPacket" - }, - { - "label":"NotebooksMenu", - "type":"keyword", - "info":"NotebooksMenu is a global option that specifies which recently opened notebooks are listed under the" - }, - { - "label":"NotebookTemplate", - "type":"keyword", - "info":"NotebookTemplate[nb] yields a TemplateObject that represents a notebook template to be applied using" - }, - { - "label":"NotebookWrite", - "type":"keyword", - "info":"NotebookWrite[notebook, data] writes data into a notebook at the current selection, setting the curr" - }, - { - "label":"NotElement", - "type":"keyword", - "info":"NotElement[x, dom] or x ∉ dom asserts that x is not an element of the domain dom.NotElement[x | … |" - }, - { - "label":"NotEqualTilde", - "type":"keyword", - "info":"NotEqualTilde[x, y, …] displays as x  y  …." - }, - { - "label":"NotExists", - "type":"keyword", - "info":"NotExists[x, y] displays as ∄ y.\n x" - }, - { - "label":"NotGreater", - "type":"keyword", - "info":"NotGreater[x, y, …] displays as x ≯ y ≯ …." - }, - { - "label":"NotGreaterEqual", - "type":"keyword", - "info":"NotGreaterEqual[x, y, …] displays as x â‰\\[PlusMinus] y â‰\\[PlusMinus] …." - }, - { - "label":"NotGreaterFullEqual", - "type":"keyword", - "info":"NotGreaterFullEqual[x, y, …] displays as x ≩ y ≩ …." - }, - { - "label":"NotGreaterGreater", - "type":"keyword", - "info":"NotGreaterGreater[x, y, …] displays as x  y  …." - }, - { - "label":"NotGreaterLess", - "type":"keyword", - "info":"NotGreaterLess[x, y, …] displays as x ≹ y ≹ …." - }, - { - "label":"NotGreaterSlantEqual", - "type":"keyword", - "info":"NotGreaterSlantEqual[x, y, …] displays as x  y  …." - }, - { - "label":"NotGreaterTilde", - "type":"keyword", - "info":"NotGreaterTilde[x, y, …] displays as x â‰\\[Micro] y â‰\\[Micro] …." - }, - { - "label":"Nothing", - "type":"keyword", - "info":"Nothing represents an element of a list that will automatically be removed. Nothing[…] gives Nothing" - }, - { - "label":"NotHumpDownHump", - "type":"keyword", - "info":"NotHumpDownHump[x, y, …] displays as x  y  …." - }, - { - "label":"NotHumpEqual", - "type":"keyword", - "info":"NotHumpEqual[x, y, …] displays as x  y  …." - }, - { - "label":"NotificationFunction", - "type":"keyword", - "info":"NotificationFunction is an option that specifies how notifications should be sent from background ta" - }, - { - "label":"NotLeftTriangle", - "type":"keyword", - "info":"NotLeftTriangle[x, y, …] displays as x ⋪ y ⋪ …." - }, - { - "label":"NotLeftTriangleBar", - "type":"keyword", - "info":"NotLeftTriangleBar[x, y, …] displays as x  y  …." - }, - { - "label":"NotLeftTriangleEqual", - "type":"keyword", - "info":"NotLeftTriangleEqual[x, y, …] displays as x â‹\\[Not] y â‹\\[Not] …." - }, - { - "label":"NotLess", - "type":"keyword", - "info":"NotLess[x, y, …] displays as x ≮ y ≮ …." - }, - { - "label":"NotLessEqual", - "type":"keyword", - "info":"NotLessEqual[x, y, …] displays as x â‰\\[Degree] y â‰\\[Degree] …." - }, - { - "label":"NotLessFullEqual", - "type":"keyword", - "info":"NotLessFullEqual[x, y, …] displays as x ≨ y ≨ …." - }, - { - "label":"NotLessGreater", - "type":"keyword", - "info":"NotLessGreater[x, y, …] displays as x ≸ y ≸ …." - }, - { - "label":"NotLessLess", - "type":"keyword", - "info":"NotLessLess[x, y, …] displays as x  y  …." - }, - { - "label":"NotLessSlantEqual", - "type":"keyword", - "info":"NotLessSlantEqual[x, y, …] displays as x  y  …." - }, - { - "label":"NotLessTilde", - "type":"keyword", - "info":"NotLessTilde[x, y, …] displays as x â‰\.b4 y â‰\.b4 …." - }, - { - "label":"NotNestedGreaterGreater", - "type":"keyword", - "info":"NotNestedGreaterGreater[x, y, …] displays as x  y  …." - }, - { - "label":"NotNestedLessLess", - "type":"keyword", - "info":"NotNestedLessLess[x, y, …] displays as x  y  …." - }, - { - "label":"NotPrecedes", - "type":"keyword", - "info":"NotPrecedes[x, y, …] displays as x ⊀ y ⊀ …." - }, - { - "label":"NotPrecedesEqual", - "type":"keyword", - "info":"NotPrecedesEqual[x, y, …] displays as x  y  …." - }, - { - "label":"NotPrecedesSlantEqual", - "type":"keyword", - "info":"NotPrecedesSlantEqual[x, y, …] displays as x ⋠ y ⋠ …." - }, - { - "label":"NotPrecedesTilde", - "type":"keyword", - "info":"NotPrecedesTilde[x, y, …] displays as x ⋨ y ⋨ …." - }, - { - "label":"NotReverseElement", - "type":"keyword", - "info":"NotReverseElement[x, y, …] displays as x ∌ y ∌ …." - }, - { - "label":"NotRightTriangle", - "type":"keyword", - "info":"NotRightTriangle[x, y, …] displays as x ⋫ y ⋫ …." - }, - { - "label":"NotRightTriangleBar", - "type":"keyword", - "info":"NotRightTriangleBar[x, y, …] displays as x  y  …." - }, - { - "label":"NotRightTriangleEqual", - "type":"keyword", - "info":"NotRightTriangleEqual[x, y, …] displays as x ⋭ y ⋭ …." - }, - { - "label":"NotSquareSubset", - "type":"keyword", - "info":"NotSquareSubset[x, y, …] displays as x  y  …." - }, - { - "label":"NotSquareSubsetEqual", - "type":"keyword", - "info":"NotSquareSubsetEqual[x, y, …] displays as x ⋢ y ⋢ …." - }, - { - "label":"NotSquareSuperset", - "type":"keyword", - "info":"NotSquareSuperset[x, y, …] displays as x  y  …." - }, - { - "label":"NotSquareSupersetEqual", - "type":"keyword", - "info":"NotSquareSupersetEqual[x, y, …] displays as x ⋣ y ⋣ …." - }, - { - "label":"NotSubset", - "type":"keyword", - "info":"NotSubset[x, y, …] displays as x ⊄ y ⊄ …." - }, - { - "label":"NotSubsetEqual", - "type":"keyword", - "info":"NotSubsetEqual[x, y, …] displays as x ⊈ y ⊈ …." - }, - { - "label":"NotSucceeds", - "type":"keyword", - "info":"NotSucceeds[x, y, …] displays as x ⊁ y ⊁ …." - }, - { - "label":"NotSucceedsEqual", - "type":"keyword", - "info":"NotSucceedsEqual[x, y, …] displays as x  y  …." - }, - { - "label":"NotSucceedsSlantEqual", - "type":"keyword", - "info":"NotSucceedsSlantEqual[x, y, …] displays as x ⋡ y ⋡ …." - }, - { - "label":"NotSucceedsTilde", - "type":"keyword", - "info":"NotSucceedsTilde[x, y, …] displays as x ⋩ y ⋩ …." - }, - { - "label":"NotSuperset", - "type":"keyword", - "info":"NotSuperset[x, y, …] displays as x ⊅ y ⊅ …." - }, - { - "label":"NotSupersetEqual", - "type":"keyword", - "info":"NotSupersetEqual[x, y, …] displays as x ⊉ y ⊉ …." - }, - { - "label":"NotTilde", - "type":"keyword", - "info":"NotTilde[x, y, …] displays as x ≁ y ≁ …." - }, - { - "label":"NotTildeEqual", - "type":"keyword", - "info":"NotTildeEqual[x, y, …] displays as x ≄ y ≄ …." - }, - { - "label":"NotTildeFullEqual", - "type":"keyword", - "info":"NotTildeFullEqual[x, y, …] displays as x ≇ y ≇ …." - }, - { - "label":"NotTildeTilde", - "type":"keyword", - "info":"NotTildeTilde[x, y, …] displays as x ≉ y ≉ …." - }, - { - "label":"NotVerticalBar", - "type":"keyword", - "info":"NotVerticalBar[x, y, …] displays as x  y  …." - }, - { - "label":"Now", - "type":"keyword", - "info":"Now gives a DateObject representing the current moment in time." - }, - { - "label":"NoWhitespace", - "type":"keyword", - "info":"NoWhitespace represents the absence of whitespace between elements in a grammar rules pattern." - }, - { - "label":"NProbability", - "type":"keyword", - "info":"NProbability[pred, x  dist] gives the numerical probability for an event that satisfies the predica" - }, - { - "label":"NProduct", - "type":"keyword", - "info":" i\n " - }, - { - "label":"NProductFactors", - "type":"keyword", - "info":"NProductFactors is an option for NProduct. NProductFactors -> n explicitly includes n factors in the" - }, - { - "label":"NRoots", - "type":"keyword", - "info":"NRoots[lhs == rhs, var] yields a disjunction of equations which represent numerical approximations t" - }, - { - "label":"NSolve", - "type":"keyword", - "info":"NSolve[expr, vars] attempts to find numerical approximations to the solutions of the system expr of " - }, - { - "label":"NSolveValues", - "type":"keyword", - "info":"NSolveValues[expr, vars] attempts to find numerical approximations to the values of vars determined " - }, - { - "label":"NSum", - "type":"keyword", - "info":" i\n " - }, - { - "label":"NSumTerms", - "type":"keyword", - "info":"NSumTerms is an option for NSum. NSumTerms -> n explicitly includes n terms in the sum before extrap" - }, - { - "label":"NuclearExplosionData", - "type":"keyword", - "info":"NuclearExplosionData[entity, property] gives the value of the specified property for the nuclear exp" - }, - { - "label":"NuclearReactorData", - "type":"keyword", - "info":"NuclearReactorData[entity, property] gives the value of the specified property for the nuclear react" - }, - { - "label":"Null", - "type":"keyword", - "info":"Null is a symbol used to indicate the absence of an expression or a result. It is not displayed in o" - }, - { - "label":"NullRecords", - "type":"keyword", - "info":"NullRecords is an option for Read and related functions which specifies whether null records should " - }, - { - "label":"NullSpace", - "type":"keyword", - "info":"NullSpace[m] gives a list of vectors that forms a basis for the null space of the matrix m. " - }, - { - "label":"NullWords", - "type":"keyword", - "info":"NullWords is an option for Read and related functions which specifies whether null words should be t" - }, - { - "label":"Number", - "type":"keyword", - "info":"Number represents an exact integer or an approximate real number in Read. " - }, - { - "label":"NumberCompose", - "type":"keyword", - "info":"NumberCompose[{c , …, c }, {u , …, u }] returns the quantity c u + … + c u .\n 1 " - }, - { - "label":"NumberDecompose", - "type":"keyword", - "info":"NumberDecompose[x, {u , …, u }] returns a list of coefficients {c , …, c } of a decomposition of the" - }, - { - "label":"NumberDigit", - "type":"keyword", - "info":" n " - }, - { - "label":"NumberExpand", - "type":"keyword", - "info":"NumberExpand[x] gives a list of the decimal digits of x multiplied by their corresponding powers of " - }, - { - "label":"NumberFieldClassNumber", - "type":"keyword", - "info":"NumberFieldClassNumber[θ] gives the class number for the algebraic number field ïž\.b4[θ] generated by θ." - }, - { - "label":"NumberFieldDiscriminant", - "type":"keyword", - "info":"NumberFieldDiscriminant[a] gives the discriminant of the field ïž\.b4[a] generated by the algebraic numbe" - }, - { - "label":"NumberFieldFundamentalUnits", - "type":"keyword", - "info":"NumberFieldFundamentalUnits[a] gives a list of fundamental units for the field ïž\.b4[a] generated by the" - }, - { - "label":"NumberFieldIntegralBasis", - "type":"keyword", - "info":"NumberFieldIntegralBasis[a] gives an integral basis for the field ïž\.b4[a] generated by the algebraic nu" - }, - { - "label":"NumberFieldNormRepresentatives", - "type":"keyword", - "info":"NumberFieldNormRepresentatives[a, m] gives a list of representatives of classes of algebraic integer" - }, - { - "label":"NumberFieldRegulator", - "type":"keyword", - "info":"NumberFieldRegulator[a] gives the regulator of the field ïž\.b4[a] generated by the algebraic number a." - }, - { - "label":"NumberFieldRootsOfUnity", - "type":"keyword", - "info":"NumberFieldRootsOfUnity[a] gives the roots of unity for the field ïž\.b4[a] generated by the algebraic nu" - }, - { - "label":"NumberFieldSignature", - "type":"keyword", - "info":"NumberFieldSignature[a] gives the signature of the field ïž\.b4[a] generated by the algebraic number a." - }, - { - "label":"NumberForm", - "type":"keyword", - "info":"NumberForm[expr, n] prints with approximate real numbers in expr given to n‐digit precision. NumberF" - }, - { - "label":"NumberFormat", - "type":"keyword", - "info":"NumberFormat is an option for NumberForm and related functions that specifies how the mantissa, base" - }, - { - "label":"NumberLinePlot", - "type":"keyword", - "info":"NumberLinePlot[{v , v , …}] plots the values v on a number line.NumberLinePlot[pred, x] plots a num" - }, - { - "label":"NumberMarks", - "type":"keyword", - "info":"NumberMarks is an option for InputForm and related functions that specifies whether ` marks should b" - }, - { - "label":"NumberMultiplier", - "type":"keyword", - "info":"NumberMultiplier is an option for NumberForm and related functions which gives the string to use as " - }, - { - "label":"NumberPadding", - "type":"keyword", - "info":"NumberPadding is an option for NumberForm and related functions which gives strings to use as paddin" - }, - { - "label":"NumberPoint", - "type":"keyword", - "info":"NumberPoint is an option for NumberForm and related functions that gives the string to use as a deci" - }, - { - "label":"NumberQ", - "type":"keyword", - "info":"NumberQ[expr] gives True if expr is a number, and False otherwise. " - }, - { - "label":"NumberSeparator", - "type":"keyword", - "info":"NumberSeparator is an option for NumberForm and related functions that gives the string to insert at" - }, - { - "label":"NumberSigns", - "type":"keyword", - "info":"NumberSigns is an option for NumberForm and related functions which gives strings to use as signs fo" - }, - { - "label":"NumberString", - "type":"keyword", - "info":"NumberString represents the characters of a number in StringExpression." - }, - { - "label":"Numerator", - "type":"keyword", - "info":"Numerator[expr] gives the numerator of expr. " - }, - { - "label":"NumeratorDenominator", - "type":"keyword", - "info":"NumeratorDenominator[expr] gives the list {Numerator[expr], Denominator[expr]} of expr." - }, - { - "label":"NumericalOrder", - "type":"keyword", - "info":"NumericalOrder[e , e ] gives 1 if e < e , -1 if e > e , 0 if e and e are identical or numericall" - }, - { - "label":"NumericalSort", - "type":"keyword", - "info":"NumericalSort[list] sorts the elements of list into numerical order." - }, - { - "label":"NumericArray", - "type":"keyword", - "info":"NumericArray[array, type] creates a numeric array of the specified type.NumericArray[array, type, me" - }, - { - "label":"NumericArrayQ", - "type":"keyword", - "info":"NumericArrayQ[expr] gives True if expr is a valid NumericArray object, and False otherwise.NumericAr" - }, - { - "label":"NumericArrayType", - "type":"keyword", - "info":"NumericArrayType[array] gives the underlying type of values used for each element in the NumericArra" - }, - { - "label":"NumericFunction", - "type":"keyword", - "info":"NumericFunction is an attribute that can be assigned to a symbol f to indicate that f[arg , arg , …]" - }, - { - "label":"NumericQ", - "type":"keyword", - "info":"NumericQ[expr] gives True if expr is a numeric quantity, and False otherwise. " - }, - { - "label":"NuttallWindow", - "type":"keyword", - "info":"NuttallWindow[x] represents a Nuttall window function of x." - }, - { - "label":"NValues", - "type":"keyword", - "info":"NValues[f] gives a list of transformation rules corresponding to all numerical values (values for N[" - }, - { - "label":"NyquistGridLines", - "type":"keyword", - "info":"NyquistGridLines is an option to NyquistPlot that specifies contours of constant magnitude and phase" - }, - { - "label":"NyquistPlot", - "type":"keyword", - "info":"NyquistPlot[lsys] generates a Nyquist plot of the transfer function for the system lsys.NyquistPlot[" - }, - { - "label":"O", - "type":"keyword", - "info":" n " - }, - { - "label":"ObjectExistsQ", - "type":"keyword", - "info":"ObjectExistsQ gives True if the object exists and False otherwise." - }, - { - "label":"ObservabilityGramian", - "type":"keyword", - "info":"ObservabilityGramian[ssm] gives the observability Gramian of the state-space model ssm." - }, - { - "label":"ObservabilityMatrix", - "type":"keyword", - "info":"ObservabilityMatrix[ssm] gives the observability matrix of the state-space model ssm." - }, - { - "label":"ObservableDecomposition", - "type":"keyword", - "info":"ObservableDecomposition[sys] yields the observable subsystem of the system sys.ObservableDecompositi" - }, - { - "label":"ObservableModelQ", - "type":"keyword", - "info":"ObservableModelQ[sys] gives True if the system sys is observable, and False otherwise.ObservableMode" - }, - { - "label":"OceanData", - "type":"keyword", - "info":"OceanData[entity, property] gives the value of the specified property for the ocean entity.OceanData" - }, - { - "label":"Octahedron", - "type":"keyword", - "info":"Octahedron[] represents a regular octahedron centered at the origin with unit edge length.Octahedron" - }, - { - "label":"OddQ", - "type":"keyword", - "info":"OddQ[expr] gives True if expr is an odd integer, and False otherwise. " - }, - { - "label":"Off", - "type":"keyword", - "info":"Off[symbol :: tag] switches off a message, so that it is no longer printed. Off[\"name\"] switches off" - }, - { - "label":"Offset", - "type":"keyword", - "info":"Offset[{dx, dy}, position] gives the position of a graphical object obtained by starting at the spec" - }, - { - "label":"OLEData", - "type":"keyword", - "info":"System`OLEData" - }, - { - "label":"On", - "type":"keyword", - "info":"On[symbol :: tag] switches on a message, so that it can be printed. On[\"name\"] switches on a named g" - }, - { - "label":"ONanGroupON", - "type":"keyword", - "info":"ONanGroupON[] represents the sporadic simple O'Nan group O ' N." - }, - { - "label":"Once", - "type":"keyword", - "info":"Once[expr] evaluates expr once in each Wolfram Language session, always returning the result from th" - }, - { - "label":"OneIdentity", - "type":"keyword", - "info":"OneIdentity is an attribute that can be assigned to a symbol f to indicate that f[x], f[f[x]], etc. " - }, - { - "label":"Opacity", - "type":"keyword", - "info":"Opacity[a] is a graphics directive that specifies that graphical objects that follow are to be displ" - }, - { - "label":"OpacityFunction", - "type":"keyword", - "info":"OpacityFunction is an option for graphics functions that specifies a function to apply to determine " - }, - { - "label":"OpacityFunctionScaling", - "type":"keyword", - "info":"OpacityFunctionScaling is an option to visualization functions such as DensityPlot3D that specifies " - }, - { - "label":"Open", - "type":"keyword", - "info":"System`Open" - }, - { - "label":"OpenAppend", - "type":"keyword", - "info":"OpenAppend[\"file\"] opens a file to append output to it, and returns an OutputStream object. " - }, - { - "label":"Opener", - "type":"keyword", - "info":"Opener[x] represents an opener with setting x, displayed as OpenerBox[True] when x is True and Opene" - }, - { - "label":"OpenerBox", - "type":"keyword", - "info":"System`OpenerBox" - }, - { - "label":"OpenerBoxOptions", - "type":"keyword", - "info":"OpenerBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for OpenerBox " - }, - { - "label":"OpenerView", - "type":"keyword", - "info":"OpenerView[{expr , expr }] represents an object which displays as an opener, together with expr if " - }, - { - "label":"OpenFunctionInspectorPacket", - "type":"keyword", - "info":"System`OpenFunctionInspectorPacket" - }, - { - "label":"Opening", - "type":"keyword", - "info":"Opening[image, ker] gives the morphological opening of image with respect to the structuring element" - }, - { - "label":"OpenRead", - "type":"keyword", - "info":"OpenRead[\"file\"] opens a file to read data from, and returns an InputStream object." - }, - { - "label":"OpenSpecialOptions", - "type":"keyword", - "info":"System`OpenSpecialOptions" - }, - { - "label":"OpenTemporary", - "type":"keyword", - "info":"OpenTemporary[] opens a temporary file to which output can be written, and returns an OutputStream o" - }, - { - "label":"OpenWrite", - "type":"keyword", - "info":"OpenWrite[\"file\"] opens a file to write output to it, and returns an OutputStream object. OpenWrite[" - }, - { - "label":"Operate", - "type":"keyword", - "info":"Operate[p, f[x, y]] gives p[f][x, y]. Operate[p, expr, n] applies p at level n in the head of expr. " - }, - { - "label":"OperatingSystem", - "type":"keyword", - "info":"OperatingSystem is an option for file and related operations that specifies the type of operating sy" - }, - { - "label":"OperatorApplied", - "type":"keyword", - "info":"OperatorApplied[f, n] represents an operator form of the function f of n arguments so that OperatorA" - }, - { - "label":"OptimumFlowData", - "type":"keyword", - "info":"OptimumFlowData[…] represents flow data such as generated by FindMaximumFlow, FindMinimumCostFlow, e" - }, - { - "label":"Optional", - "type":"keyword", - "info":"patt : def or Optional[patt, def] is a pattern object that represents an expression of the form patt" - }, - { - "label":"OptionalElement", - "type":"keyword", - "info":"OptionalElement[patt] is a grammar rules pattern object that represents 0 or 1 instances of patt.Opt" - }, - { - "label":"OptionInspectorSettings", - "type":"keyword", - "info":"OptionInspectorSettings is a global option that specifies the display of options in the Option Inspe" - }, - { - "label":"OptionQ", - "type":"keyword", - "info":"OptionQ[e] returns True if e can be considered an option or list of options, and False otherwise." - }, - { - "label":"Options", - "type":"keyword", - "info":"Options[symbol] gives the list of default options assigned to a symbol. Options[expr] gives the opti" - }, - { - "label":"OptionsPacket", - "type":"keyword", - "info":"System`OptionsPacket" - }, - { - "label":"OptionsPattern", - "type":"keyword", - "info":"OptionsPattern[] is a pattern object that represents a collection of options given as rules, where t" - }, - { - "label":"OptionValue", - "type":"keyword", - "info":"OptionValue[name] gives the value of name in options matched by OptionsPattern. OptionValue[f, name]" - }, - { - "label":"OptionValueBox", - "type":"keyword", - "info":"System`OptionValueBox" - }, - { - "label":"OptionValueBoxOptions", - "type":"keyword", - "info":"OptionValueBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Optio" - }, - { - "label":"Or", - "type":"keyword", - "info":"e || e || … is the logical OR function. It evaluates its arguments in order, giving True immediate" - }, - { - "label":"Orange", - "type":"keyword", - "info":"Orange represents the color orange in graphics or style specifications. " - }, - { - "label":"Order", - "type":"keyword", - "info":"Order[expr , expr ] gives 1 if expr is before expr in canonical order, and -1 if expr is after ex" - }, - { - "label":"OrderDistribution", - "type":"keyword", - "info":" th " - }, - { - "label":"OrderedQ", - "type":"keyword", - "info":"OrderedQ[h[e , e , …]] gives True if the e are in canonical order, and False otherwise.OrderedQ[h[e" - }, - { - "label":"Ordering", - "type":"keyword", - "info":"Ordering[list] gives the positions in list at which each successive element of Sort[list] appears. O" - }, - { - "label":"OrderingBy", - "type":"keyword", - "info":"OrderingBy[list, f] gives the positions in list at which each successive element of SortBy[list, f] " - }, - { - "label":"OrderingLayer", - "type":"keyword", - "info":"OrderingLayer[] represents a net layer that effectively applies Ordering to its input. OrderingLayer" - }, - { - "label":"Orderless", - "type":"keyword", - "info":"Orderless is an attribute that can be assigned to a symbol f to indicate that the elements e in exp" - }, - { - "label":"OrderlessPatternSequence", - "type":"keyword", - "info":"OrderlessPatternSequence[p , p , …] is a pattern object that represents a sequence of arguments matc" - }, - { - "label":"OrnsteinUhlenbeckProcess", - "type":"keyword", - "info":"OrnsteinUhlenbeckProcess[μ, σ, θ] represents a stationary Ornstein–Uhlenbeck process with long-term " - }, - { - "label":"Orthogonalize", - "type":"keyword", - "info":"Orthogonalize[{v , v , …}] gives an orthonormal basis found by orthogonalizing the vectors v .Orthog" - }, - { - "label":"OrthogonalMatrixQ", - "type":"keyword", - "info":"OrthogonalMatrixQ[m] gives True if m is an explicitly orthogonal matrix, and False otherwise." - }, - { - "label":"Out", - "type":"keyword", - "info":" th " - }, - { - "label":"Outer", - "type":"keyword", - "info":"Outer[f, list , list , …] gives the generalized outer product of the list , forming all possible com" - }, - { - "label":"OuterPolygon", - "type":"keyword", - "info":"OuterPolygon[poly] gives the outer polygon of the polygon poly." - }, - { - "label":"OuterPolyhedron", - "type":"keyword", - "info":"OuterPolyhedron[poly] gives the outer polyhedron of the polyhedron poly." - }, - { - "label":"OutputAutoOverwrite", - "type":"keyword", - "info":"OutputAutoOverwrite is an option for notebooks that specifies whether the output of a command should" - }, - { - "label":"OutputControllabilityMatrix", - "type":"keyword", - "info":"OutputControllabilityMatrix[ssm] gives the output controllability matrix of the state-space model ss" - }, - { - "label":"OutputControllableModelQ", - "type":"keyword", - "info":"OutputControllableModelQ[ssm] gives True if the state-space model ssm is output controllable, and Fa" - }, - { - "label":"OutputForm", - "type":"keyword", - "info":"OutputForm[expr] prints as a two-dimensional representation of expr using only keyboard characters. " - }, - { - "label":"OutputFormData", - "type":"keyword", - "info":"System`OutputFormData" - }, - { - "label":"OutputGrouping", - "type":"keyword", - "info":"System`OutputGrouping" - }, - { - "label":"OutputMathEditExpression", - "type":"keyword", - "info":"OutputMathEditExpression is an internal symbol used for formatting." - }, - { - "label":"OutputNamePacket", - "type":"keyword", - "info":"OutputNamePacket[string] is a WSTP packet that contains in string the name assigned to the next outp" - }, - { - "label":"OutputPorts", - "type":"keyword", - "info":"OutputPorts is an option to specify the number, names or shapes of output ports for some neural net " - }, - { - "label":"OutputResponse", - "type":"keyword", - "info":"OutputResponse[sys, u, {t, t , t }] gives the numeric output response of systems model sys to th" - }, - { - "label":"OutputSizeLimit", - "type":"keyword", - "info":"OutputSizeLimit is an option for notebooks that specifies the maximum size in bytes of expressions t" - }, - { - "label":"OutputStream", - "type":"keyword", - "info":"OutputStream[\"name\", n] is an object that represents an output stream for functions such as Write. " - }, - { - "label":"Over", - "type":"keyword", - "info":"System`Over" - }, - { - "label":"OverBar", - "type":"keyword", - "info":"OverBar[expr] displays with a bar over expr." - }, - { - "label":"OverDot", - "type":"keyword", - "info":"OverDot[expr] displays with a dot over expr." - }, - { - "label":"Overflow", - "type":"keyword", - "info":"Overflow[] represents a number too large to represent explicitly on your computer system." - }, - { - "label":"OverHat", - "type":"keyword", - "info":"OverHat[expr] displays with a hat over expr." - }, - { - "label":"Overlaps", - "type":"keyword", - "info":"Overlaps is an option to string and sequence functions that specifies how to treat overlapping subst" - }, - { - "label":"Overlay", - "type":"keyword", - "info":"Overlay[{expr , expr , …}] displays as an overlay of all the expr .Overlay[{expr , expr , …}, {i, j," - }, - { - "label":"OverlayBox", - "type":"keyword", - "info":"System`OverlayBox" - }, - { - "label":"OverlayBoxOptions", - "type":"keyword", - "info":"OverlayBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for OverlayBo" - }, - { - "label":"OverlayVideo", - "type":"keyword", - "info":"OverlayVideo[background, o] gives the result of overlaying o onto a background video or image backgr" - }, - { - "label":"Overscript", - "type":"keyword", - "info":" y\nOverscript[x, y] is an object that formats as x. " - }, - { - "label":"OverscriptBox", - "type":"keyword", - "info":" y\nOverscriptBox[x, y] is the low‐level b" - }, - { - "label":"OverscriptBoxOptions", - "type":"keyword", - "info":"OverscriptBoxOptions is an option that specifies the style and display of OverscriptBox constructs." - }, - { - "label":"OverTilde", - "type":"keyword", - "info":"OverTilde[expr] displays with a tilde over expr." - }, - { - "label":"OverVector", - "type":"keyword", - "info":"OverVector[expr] displays with a right vector over expr." - }, - { - "label":"OverwriteTarget", - "type":"keyword", - "info":"OverwriteTarget is an option for functions like CopyFile that specifies whether to overwrite if targ" - }, - { - "label":"OwenT", - "type":"keyword", - "info":"OwenT[x, a] gives Owen's T function T(x, a)." - }, - { - "label":"OwnValues", - "type":"keyword", - "info":"OwnValues[x] gives a list of transformation rules corresponding to all ownvalues defined for the sym" - }, - { - "label":"Package", - "type":"keyword", - "info":"System`Package" - }, - { - "label":"PackingMethod", - "type":"keyword", - "info":"PackingMethod is an option for GraphPlot and related functions that specifies how disconnected compo" - }, - { - "label":"PackPaclet", - "type":"keyword", - "info":"The experimental function PackPaclet is now obsolete and is superseded by CreatePacletArchive." - }, - { - "label":"PacletDataRebuild", - "type":"keyword", - "info":"PacletDataRebuild[] rescans all the installed paclets to rebuild the internal cache of paclet data." - }, - { - "label":"PacletDirectoryAdd", - "type":"keyword", - "info":"The experimental function PacletDirectoryAdd is now obsolete and is superseded by PacletDirectoryLoa" - }, - { - "label":"PacletDirectoryLoad", - "type":"keyword", - "info":"PacletDirectoryLoad[dir] makes paclets in dir visible in the current session.PacletDirectoryLoad[{di" - }, - { - "label":"PacletDirectoryRemove", - "type":"keyword", - "info":"StringTemplate[The experimental function `1` is now obsolete and is superseded by `2`., PacletDirect" - }, - { - "label":"PacletDirectoryUnload", - "type":"keyword", - "info":"PacletDirectoryUnload[dir] makes paclets in dir no longer visible in the current session.PacletDirec" - }, - { - "label":"PacletDisable", - "type":"keyword", - "info":"PacletDisable[paclet] disables an installed paclet." - }, - { - "label":"PacletEnable", - "type":"keyword", - "info":"PacletEnable[paclet] enables a previously disabled paclet." - }, - { - "label":"PacletFind", - "type":"keyword", - "info":"PacletFind[\"name\"] gives a list of installed paclets that match \"name\".PacletFind[\"name\"  \"version\"" - }, - { - "label":"PacletFindRemote", - "type":"keyword", - "info":"PacletFindRemote[\"name\"] gives a list of paclets that match \"name\" available on known paclet sites.P" - }, - { - "label":"PacletInformation", - "type":"keyword", - "info":"The experimental function PacletInformation is now obsolete. Use Information[PacletObject[\"pacletnam" - }, - { - "label":"PacletInstall", - "type":"keyword", - "info":"PacletInstall[paclet] installs or updates paclet.PacletInstall[task] waits for completion of the tas" - }, - { - "label":"PacletInstallSubmit", - "type":"keyword", - "info":"PacletInstallSubmit[paclet] asynchronously installs or updates paclet." - }, - { - "label":"PacletNewerQ", - "type":"keyword", - "info":"PacletNewerQ[paclet , paclet ] returns True if paclet has a higher version number than paclet , and" - }, - { - "label":"PacletObject", - "type":"keyword", - "info":"PacletObject[...] is the representation of a paclet in the Wolfram Language." - }, - { - "label":"PacletObjectQ", - "type":"keyword", - "info":"PacletObjectQ[expr] returns True or False depending on whether its argument is a PacletObject expres" - }, - { - "label":"PacletSite", - "type":"keyword", - "info":"PacletSite is an option for PacletInstall and PacletInstallSubmit that specifies the URL of a paclet" - }, - { - "label":"PacletSiteObject", - "type":"keyword", - "info":"PacletSiteObject[assoc] represents a site from which paclets can be automatically downloaded." - }, - { - "label":"PacletSiteRegister", - "type":"keyword", - "info":"PacletSiteRegister[url] registers url as a known paclet site.PacletSiteRegister[url, name] registers" - }, - { - "label":"PacletSites", - "type":"keyword", - "info":"PacletSites[] gives the list of all paclet sites known to your system." - }, - { - "label":"PacletSiteUnregister", - "type":"keyword", - "info":"PacletSiteUnregister[url] removes url from the list of registered paclet sites.PacletSiteUnregister[" - }, - { - "label":"PacletSiteUpdate", - "type":"keyword", - "info":"PacletSiteUpdate[site] acquires and caches current information about the available paclets on the gi" - }, - { - "label":"PacletSymbol", - "type":"keyword", - "info":"PacletSymbol[paclet, \"sym\"] gives the symbol named \"sym\" in the primary context of paclet.PacletSymb" - }, - { - "label":"PacletUninstall", - "type":"keyword", - "info":"PacletUninstall[paclet] uninstalls a paclet." - }, - { - "label":"PacletUpdate", - "type":"keyword", - "info":"The experimental function PacletUpdate is now obsolete and is superseded by PacletInstall." - }, - { - "label":"PaddedForm", - "type":"keyword", - "info":"PaddedForm[expr, n] prints with all numbers in expr padded to leave room for a total of n digits. Pa" - }, - { - "label":"Padding", - "type":"keyword", - "info":"Padding is an option to various array and image operations that specifies what padding to use when e" - }, - { - "label":"PaddingLayer", - "type":"keyword", - "info":"PaddingLayer[{{m , n }, {m , n }, …}] represents a net layer that pads an input array with m elemen" - }, - { - "label":"PaddingSize", - "type":"keyword", - "info":"PaddingSize is an option in AudioDelay and other functions that specifies the amount of padding." - }, - { - "label":"PadeApproximant", - "type":"keyword", - "info":"PadeApproximant[expr, {x, x , {m, n}}] gives the Padé approximant to expr about the point x = x , wi" - }, - { - "label":"PadLeft", - "type":"keyword", - "info":"PadLeft[list, n] makes a list of length n by padding list with zeros on the left. PadLeft[list, n, x" - }, - { - "label":"PadRight", - "type":"keyword", - "info":"PadRight[list, n] makes a list of length n by padding list with zeros on the right. PadRight[list, n" - }, - { - "label":"PageBreakAbove", - "type":"keyword", - "info":"PageBreakAbove is an option for Cell which specifies whether a page break should be made immediately" - }, - { - "label":"PageBreakBelow", - "type":"keyword", - "info":"PageBreakBelow is an option for Cell which specifies whether a page break should be made immediately" - }, - { - "label":"PageBreakWithin", - "type":"keyword", - "info":"PageBreakWithin is an option for Cell which specifies whether a page break should be allowed within " - }, - { - "label":"PageFooterLines", - "type":"keyword", - "info":"PageFooterLines is an option for notebooks that specifies whether a horizontal line is inserted at t" - }, - { - "label":"PageFooters", - "type":"keyword", - "info":"PageFooters is an option for notebooks that specifies what should be inserted as the footer of each " - }, - { - "label":"PageHeaderLines", - "type":"keyword", - "info":"PageHeaderLines is an option for notebooks that specifies whether a horizontal line is inserted at t" - }, - { - "label":"PageHeaders", - "type":"keyword", - "info":"PageHeaders is an option for notebooks that specifies what should be inserted as the header of each " - }, - { - "label":"PageHeight", - "type":"keyword", - "info":"System`PageHeight" - }, - { - "label":"PageRankCentrality", - "type":"keyword", - "info":"PageRankCentrality[g, Î\\[PlusMinus]] gives a list of page-rank centralities for the vertices in the graph g and " - }, - { - "label":"PageTheme", - "type":"keyword", - "info":"PageTheme is an option for FormObject, GalleryView, and related functions that specifies an overall " - }, - { - "label":"PageWidth", - "type":"keyword", - "info":"PageWidth is an option for output streams and for cells that specifies how wide each line of text is" - }, - { - "label":"Pagination", - "type":"keyword", - "info":"Pagination is an option for GalleryView and related functions that specifies how pagination should b" - }, - { - "label":"PairCorrelationG", - "type":"keyword", - "info":"PairCorrelationG[pdata, r] estimates the pair correlation function g(r) for point data pdata at radi" - }, - { - "label":"PairedBarChart", - "type":"keyword", - "info":"PairedBarChart[{y , y , …}, {z , z , …}] makes a paired bar chart with bar lengths y , y , … and z " - }, - { - "label":"PairedHistogram", - "type":"keyword", - "info":"PairedHistogram[{x , x , …}, {y , y , …}] plots a paired histogram of the values x and y .PairedHis" - }, - { - "label":"PairedSmoothHistogram", - "type":"keyword", - "info":"PairedSmoothHistogram[{x , x , …}, {y , y , …}] plots a paired smooth histogram of the values x and" - }, - { - "label":"PairedTTest", - "type":"keyword", - "info":"PairedTTest[data] tests whether the mean of data is zero. PairedTTest[{data , data }] tests whether " - }, - { - "label":"PairedZTest", - "type":"keyword", - "info":"PairedZTest[data] tests whether the mean of the data is zero. PairedZTest[{data , data }] tests whet" - }, - { - "label":"PaletteNotebook", - "type":"keyword", - "info":"PaletteNotebook[{cell , cell , …}] represents a palette notebook that can be manipulated by the Wolf" - }, - { - "label":"PalettePath", - "type":"keyword", - "info":"PalettePath is a global option that specifies which directories the Wolfram System searches for pale" - }, - { - "label":"PalindromeQ", - "type":"keyword", - "info":"PalindromeQ[list] returns True if the given list is identical to Reverse[list], and False otherwise." - }, - { - "label":"Pane", - "type":"keyword", - "info":"Pane[expr] displays as a pane containing expr. Pane[expr, w] makes the pane be w printer's points wi" - }, - { - "label":"PaneBox", - "type":"keyword", - "info":"System`PaneBox" - }, - { - "label":"PaneBoxOptions", - "type":"keyword", - "info":"PaneBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PaneBox obje" - }, - { - "label":"Panel", - "type":"keyword", - "info":"Panel[expr] displays as a panel containing expr. Panel[expr, title] gives the panel the specified ti" - }, - { - "label":"PanelBox", - "type":"keyword", - "info":"System`PanelBox" - }, - { - "label":"PanelBoxOptions", - "type":"keyword", - "info":"PanelBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PanelBox ob" - }, - { - "label":"Paneled", - "type":"keyword", - "info":"Paneled is an option for Manipulate and related functions that specifies whether to give the output " - }, - { - "label":"PaneSelector", - "type":"keyword", - "info":"PaneSelector[{val  expr , val  expr , …}, x] represents an object that displays as a pane contai" - }, - { - "label":"PaneSelectorBox", - "type":"keyword", - "info":"System`PaneSelectorBox" - }, - { - "label":"PaneSelectorBoxOptions", - "type":"keyword", - "info":"PaneSelectorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Pane" - }, - { - "label":"PaperWidth", - "type":"keyword", - "info":"System`PaperWidth" - }, - { - "label":"ParabolicCylinderD", - "type":"keyword", - "info":"ParabolicCylinderD[ν, z] gives the parabolic cylinder function D (z). \n " - }, - { - "label":"ParagraphIndent", - "type":"keyword", - "info":"ParagraphIndent is an option for Cell which specifies how far in printer's points to indent the firs" - }, - { - "label":"ParagraphSpacing", - "type":"keyword", - "info":"ParagraphSpacing is an option for Cell, StyleBox, and Style that specifies how much extra space to l" - }, - { - "label":"ParallelArray", - "type":"keyword", - "info":"ParallelArray[f, n] generates in parallel a list of length n, with elements f[i], evaluated.Parallel" - }, - { - "label":"ParallelAxisPlot", - "type":"keyword", - "info":"ParallelAxisPlot[{{y , …, y }, …, {y , …, y }}] generates a parallel axis plot for the points {y" - }, - { - "label":"ParallelCombine", - "type":"keyword", - "info":"ParallelCombine[f, h[e , e , …], comb] evaluates f[h[e , e , …]] in parallel by distributing parts o" - }, - { - "label":"ParallelDo", - "type":"keyword", - "info":"ParallelDo[expr, {i }] evaluates expr in parallel i times. ParallelDo[expr, {i, i }] evaluate" - }, - { - "label":"Parallelepiped", - "type":"keyword", - "info":"Parallelepiped[p, {v , …, v }] represents a parallelepiped with origin p and directions v .\n " - }, - { - "label":"ParallelEvaluate", - "type":"keyword", - "info":"ParallelEvaluate[expr] evaluates the expression expr on all available parallel kernels and returns t" - }, - { - "label":"Parallelization", - "type":"keyword", - "info":"Parallelization is an option for Compile that specifies whether it should create a compiled function" - }, - { - "label":"Parallelize", - "type":"keyword", - "info":"Parallelize[expr] evaluates expr using automatic parallelization." - }, - { - "label":"ParallelMap", - "type":"keyword", - "info":"ParallelMap[f, expr] applies f in parallel to each element on the first level in expr.ParallelMap[f," - }, - { - "label":"ParallelNeeds", - "type":"keyword", - "info":"ParallelNeeds[\"context`\"] evaluates Needs[\"context`\"] on all available parallel kernels." - }, - { - "label":"Parallelogram", - "type":"keyword", - "info":"Parallelogram[p, {v , v }] represents a parallelogram with origin p and directions v and v .\n " - }, - { - "label":"ParallelProduct", - "type":"keyword", - "info":" " - }, - { - "label":"ParallelSubmit", - "type":"keyword", - "info":"ParallelSubmit[expr] submits expr for evaluation on the next available parallel kernel and returns a" - }, - { - "label":"ParallelSum", - "type":"keyword", - "info":" " - }, - { - "label":"ParallelTable", - "type":"keyword", - "info":"ParallelTable[expr, {i }] generates in parallel a list of i copies of expr.ParallelTable[expr, " - }, - { - "label":"ParallelTry", - "type":"keyword", - "info":"ParallelTry[f, {arg , arg , …}] evaluates f[arg ] in parallel, returning the first result received.P" - }, - { - "label":"Parameter", - "type":"keyword", - "info":"System`Parameter" - }, - { - "label":"ParameterEstimator", - "type":"keyword", - "info":"ParameterEstimator is an option to EstimatedDistribution and FindDistributionParameters that specifi" - }, - { - "label":"ParameterMixtureDistribution", - "type":"keyword", - "info":"ParameterMixtureDistribution[dist[θ], θ  wdist] represents a parameter mixture distribution where t" - }, - { - "label":"ParameterVariables", - "type":"keyword", - "info":"ParameterVariables is an option for GroebnerBasis and PolynomialReduce. These variables will always " - }, - { - "label":"ParametricConvexOptimization", - "type":"keyword", - "info":"ParametricConvexOptimization[f, cons, vars, pars] gives a ParametricFunction object that finds value" - }, - { - "label":"ParametricFunction", - "type":"keyword", - "info":"ParametricFunction[pars, …] represents a function that computes a solution when evaluated with numer" - }, - { - "label":"ParametricNDSolve", - "type":"keyword", - "info":"ParametricNDSolve[eqns, u, {x, x , x }, pars] finds a numerical solution to the ordinary differe" - }, - { - "label":"ParametricNDSolveValue", - "type":"keyword", - "info":"ParametricNDSolveValue[eqns, expr, {x, x , x }, pars] gives the value of expr with functions det" - }, - { - "label":"ParametricPlot", - "type":"keyword", - "info":"ParametricPlot[{f , f }, {u, u , u }] generates a parametric plot of a curve with x and y coordi" - }, - { - "label":"ParametricPlot3D", - "type":"keyword", - "info":"ParametricPlot3D[{f , f , f }, {u, u , u }] produces a three-dimensional space curve parametrize" - }, - { - "label":"ParametricRampLayer", - "type":"keyword", - "info":"ParametricRampLayer[] represents a net layer that computes a leaky ReLU activation with a slope that" - }, - { - "label":"ParametricRegion", - "type":"keyword", - "info":" n\nParametricRegion[{f , …, f }, {" - }, - { - "label":"ParentBox", - "type":"keyword", - "info":"ParentBox[obj] returns the BoxObject that contains obj." - }, - { - "label":"ParentCell", - "type":"keyword", - "info":"ParentCell[obj] returns the CellObject that contains obj." - }, - { - "label":"ParentConnect", - "type":"keyword", - "info":"System`ParentConnect" - }, - { - "label":"ParentDirectory", - "type":"keyword", - "info":"ParentDirectory[] gives the parent of the current working directory. ParentDirectory[\"dir\"] gives th" - }, - { - "label":"ParentForm", - "type":"keyword", - "info":"ParentForm sets the parent form for a boxes format." - }, - { - "label":"Parenthesize", - "type":"keyword", - "info":"Parenthesize[ expr, fmt, prec, group] or Parenthesize[ expr, fmt, {prec, group}] will represent expr" - }, - { - "label":"ParentList", - "type":"keyword", - "info":"System`ParentList" - }, - { - "label":"ParentNotebook", - "type":"keyword", - "info":"ParentNotebook[obj] returns the NotebookObject that contains obj." - }, - { - "label":"ParetoDistribution", - "type":"keyword", - "info":"ParetoDistribution[k, Î\\[PlusMinus]] represents a Pareto distribution with minimum value parameter k and shape p" - }, - { - "label":"ParetoPickandsDistribution", - "type":"keyword", - "info":"ParetoPickandsDistribution[μ, σ, ξ] gives a Pareto–Pickands distribution with location parameter μ, " - }, - { - "label":"ParkData", - "type":"keyword", - "info":"ParkData[entity, property] gives the value of the specified property for the park entity.ParkData[{e" - }, - { - "label":"Part", - "type":"keyword", - "info":" th\nexpr[[i]] or Part[expr, i] gives the i part of expr. ex" - }, - { - "label":"PartBehavior", - "type":"keyword", - "info":"PartBehavior is an option to Query and related functions that specifies how nonexistent parts should" - }, - { - "label":"PartialCorrelationFunction", - "type":"keyword", - "info":"PartialCorrelationFunction[data, hspec] estimates the partial correlation function at lags hspec fro" - }, - { - "label":"PartialD", - "type":"keyword", - "info":"System`PartialD" - }, - { - "label":"ParticleAcceleratorData", - "type":"keyword", - "info":"ParticleAcceleratorData[entity, property] gives the value of the specified property for the particle" - }, - { - "label":"ParticleData", - "type":"keyword", - "info":"ParticleData[name, \"property\"] gives the specified property for a subatomic particle or family of pa" - }, - { - "label":"Partition", - "type":"keyword", - "info":"Partition[list, n] partitions list into nonoverlapping sublists of length n. Partition[list, n, d] g" - }, - { - "label":"PartitionGranularity", - "type":"keyword", - "info":"PartitionGranularity is an option for audio analysis functions that specifies the partitioning of th" - }, - { - "label":"PartitionsP", - "type":"keyword", - "info":"PartitionsP[n] gives the number p (n) of unrestricted partitions of the integer n. " - }, - { - "label":"PartitionsQ", - "type":"keyword", - "info":"PartitionsQ[n] gives the number q (n) of partitions of the integer n into distinct parts. " - }, - { - "label":"PartLayer", - "type":"keyword", - "info":" th\nPartLayer[i] represents a net layer that giv" - }, - { - "label":"PartOfSpeech", - "type":"keyword", - "info":"PartOfSpeech[\"word\"] returns the possible parts of speech for the specified word." - }, - { - "label":"PartProtection", - "type":"keyword", - "info":"PartProtection is an option for cloud expressions that controls which parts of their structure can b" - }, - { - "label":"ParzenWindow", - "type":"keyword", - "info":"ParzenWindow[x] represents a Parzen window function of x." - }, - { - "label":"PascalDistribution", - "type":"keyword", - "info":"PascalDistribution[n, p] represents a Pascal distribution with parameters n and p." - }, - { - "label":"EventHandler", - "type":"keyword", - "info":"EventHandler[ev_String | _EventObject, {handlers___Rule | handlers___RuleDelayed}] ev_ binds an event object represented as a string or EventObject or anything compatible with this type to a single or multiple handling functions (multiple - only if patterns do not intersect). Returns an original event-object ev" - }, - { - "label":"PassEventsDown", - "type":"keyword", - "info":"PassEventsDown is an option to EventHandler which specifies whether events handled by a particular e" - }, - { - "label":"PassEventsUp", - "type":"keyword", - "info":"PassEventsUp is an option to EventHandler that specifies whether events handled by a particular even" - }, - { - "label":"Paste", - "type":"keyword", - "info":"Paste[expr] pastes expr at the current insertion point in the input notebook. Paste[notebook, expr] " - }, - { - "label":"PasteAutoQuoteCharacters", - "type":"keyword", - "info":"System`PasteAutoQuoteCharacters" - }, - { - "label":"PasteBoxFormInlineCells", - "type":"keyword", - "info":"PasteBoxFormInlineCells is an option for cells that specifies whether a new inline cell is created w" - }, - { - "label":"PasteButton", - "type":"keyword", - "info":"PasteButton[expr] represents a button that pastes expr whenever it is pressed. PasteButton[label, ex" - }, - { - "label":"Path", - "type":"keyword", - "info":"Path is an option for Get and related functions which gives a list of directories to search in attem" - }, - { - "label":"PathGraph", - "type":"keyword", - "info":"PathGraph[{v , v , …}] yields a path with vertices v and edges between v and v .PathGraph[{e" - }, - { - "label":"PathGraphQ", - "type":"keyword", - "info":"PathGraphQ[g] yields True if the graph g is a path and False otherwise." - }, - { - "label":"Pattern", - "type":"keyword", - "info":"sym : obj or Pattern[sym, obj] represents the pattern object obj, assigned the name sym. " - }, - { - "label":"PatternFilling", - "type":"keyword", - "info":"PatternFilling[obj] is a two-dimensional graphics directive specifying that obj should be used to fi" - }, - { - "label":"PatternSequence", - "type":"keyword", - "info":"PatternSequence[p , p , …] is a pattern object that represents a sequence of arguments matching p , " - }, - { - "label":"PatternTest", - "type":"keyword", - "info":"p ? test is a pattern object that stands for any expression that matches p, and on which the applica" - }, - { - "label":"PauliMatrix", - "type":"keyword", - "info":" th\nPauliMatrix[k] gives the k Pauli spin matrix σ .\n " - }, - { - "label":"PaulWavelet", - "type":"keyword", - "info":"PaulWavelet[] represents a Paul wavelet of order 4.PaulWavelet[n] represents a Paul wavelet of order" - }, - { - "label":"Pause", - "type":"keyword", - "info":"Pause[n] pauses for at least n seconds. " - }, - { - "label":"PausedTime", - "type":"keyword", - "info":"System`PausedTime" - }, - { - "label":"PDF", - "type":"keyword", - "info":"PDF[dist, x] gives the probability density function for the distribution dist evaluated at x.PDF[dis" - }, - { - "label":"PeakDetect", - "type":"keyword", - "info":"PeakDetect[list] gives a binary list in which 1s correspond to peak positions in list.PeakDetect[lis" - }, - { - "label":"PeanoCurve", - "type":"keyword", - "info":" th\nPeanoCurve[n] gives the line segments re" - }, - { - "label":"PearsonChiSquareTest", - "type":"keyword", - "info":" 2 " - }, - { - "label":"PearsonCorrelationTest", - "type":"keyword", - "info":"PearsonCorrelationTest[v , v ] tests whether the vectors v and v are linearly independent.PearsonC" - }, - { - "label":"PearsonDistribution", - "type":"keyword", - "info":"PearsonDistribution[a , a , b , b , b ] represents a distribution of the Pearson family with paramet" - }, - { - "label":"PenttinenPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"PercentForm", - "type":"keyword", - "info":"PercentForm[expr] prints with numbers in expr given as percentages.PercentForm[expr, n] prints with " - }, - { - "label":"PerfectNumber", - "type":"keyword", - "info":" th\nPerfectNumber[n] gives the n perfect number." - }, - { - "label":"PerfectNumberQ", - "type":"keyword", - "info":"PerfectNumberQ[n] returns True if n is a perfect number, and False otherwise." - }, - { - "label":"PerformanceGoal", - "type":"keyword", - "info":"PerformanceGoal is an option for various algorithmic and presentational functions that specifies wha" - }, - { - "label":"Perimeter", - "type":"keyword", - "info":"Perimeter[reg] gives the perimeter of the two-dimensional region reg.Perimeter[{x , x }, {s, s , s" - }, - { - "label":"PeriodicBoundaryCondition", - "type":"keyword", - "info":"PeriodicBoundaryCondition[u[x , …], pred, f] represents a periodic boundary condition = u(x ) =" - }, - { - "label":"PeriodicInterpolation", - "type":"keyword", - "info":"System`PeriodicInterpolation" - }, - { - "label":"Periodogram", - "type":"keyword", - "info":"Periodogram[list] plots the squared magnitude of the discrete Fourier transform (power spectrum) of " - }, - { - "label":"PeriodogramArray", - "type":"keyword", - "info":"PeriodogramArray[list] returns the squared magnitude of the discrete Fourier transform (power spectr" - }, - { - "label":"Permanent", - "type":"keyword", - "info":"Permanent[m] gives the permanent of the square matrix m. " - }, - { - "label":"Permissions", - "type":"keyword", - "info":"Permissions is an option for CloudObject and related cloud functions that specifies permissions for " - }, - { - "label":"PermissionsGroup", - "type":"keyword", - "info":"PermissionsGroup[\"name\"] represents a permissions group with the specified name, owned by the curren" - }, - { - "label":"PermissionsGroupMemberQ", - "type":"keyword", - "info":"PermissionsGroupMemberQ[group, user] returns True if user is a member of the permissions group group" - }, - { - "label":"PermissionsGroups", - "type":"keyword", - "info":"PermissionsGroups[] gives a list of permissions groups belonging to the current user." - }, - { - "label":"PermissionsKey", - "type":"keyword", - "info":"PermissionsKey[\"key\"] represents a permissions key that can be used to authorize access to cloud res" - }, - { - "label":"PermissionsKeys", - "type":"keyword", - "info":"PermissionsKeys[] gives a list of all valid permissions keys created by the currently authenticated " - }, - { - "label":"PermutationCycles", - "type":"keyword", - "info":"PermutationCycles[perm] gives a disjoint cycle representation of permutation perm." - }, - { - "label":"PermutationCyclesQ", - "type":"keyword", - "info":"PermutationCyclesQ[expr] returns True if expr is a permutation in disjoint cyclic form, and False ot" - }, - { - "label":"PermutationGroup", - "type":"keyword", - "info":"PermutationGroup[{perm , …, perm }] represents the group generated by multiplication of the permutat" - }, - { - "label":"PermutationLength", - "type":"keyword", - "info":"PermutationLength[perm] returns the number of integers moved by the permutation perm." - }, - { - "label":"PermutationList", - "type":"keyword", - "info":"PermutationList[perm] returns a permutation list representation of permutation perm.PermutationList[" - }, - { - "label":"PermutationListQ", - "type":"keyword", - "info":"PermutationListQ[expr] returns True if expr is a valid permutation list and False otherwise." - }, - { - "label":"PermutationMax", - "type":"keyword", - "info":"PermutationMax[perm] returns the largest integer moved by the permutation perm." - }, - { - "label":"PermutationMin", - "type":"keyword", - "info":"PermutationMin[perm] returns the smallest integer moved by the permutation perm." - }, - { - "label":"PermutationOrder", - "type":"keyword", - "info":"PermutationOrder[perm] gives the order of permutation perm." - }, - { - "label":"PermutationPower", - "type":"keyword", - "info":" th\nPermutationPower[perm, n] gives the n permutation power " - }, - { - "label":"PermutationProduct", - "type":"keyword", - "info":"PermutationProduct[a, b, c] gives the product of permutations a, b, c." - }, - { - "label":"PermutationReplace", - "type":"keyword", - "info":"PermutationReplace[expr, perm] replaces each part in expr by its image under the permutation perm.Pe" - }, - { - "label":"Permutations", - "type":"keyword", - "info":"Permutations[list] generates a list of all possible permutations of the elements in list. Permutatio" - }, - { - "label":"PermutationSupport", - "type":"keyword", - "info":"PermutationSupport[perm] returns the support of the permutation perm." - }, - { - "label":"Permute", - "type":"keyword", - "info":"Permute[expr, perm] permutes the positions of the elements of expr according to the permutation perm" - }, - { - "label":"PeronaMalikFilter", - "type":"keyword", - "info":"PeronaMalikFilter[image] applies a Perona–Malik diffusion filter to image.PeronaMalikFilter[image, t" - }, - { - "label":"Perpendicular", - "type":"keyword", - "info":"System`Perpendicular" - }, - { - "label":"PerpendicularBisector", - "type":"keyword", - "info":"PerpendicularBisector[{p , p }] gives the perpendicular bisector of the line segment connecting p a" - }, - { - "label":"PersistenceLocation", - "type":"keyword", - "info":"PersistenceLocation[\"type\"] represents a persistence location of the given type.PersistenceLocation[" - }, - { - "label":"PersistenceTime", - "type":"keyword", - "info":"PersistenceTime is an option for various functions that specifies when a persistent value should be " - }, - { - "label":"PersistentObject", - "type":"keyword", - "info":"PersistentObject[\"name\", loc] represents a persistent object stored at persistence location loc." - }, - { - "label":"PersistentObjects", - "type":"keyword", - "info":"PersistentObjects[] gives all persistent objects in all locations in ECPersistencePath.PersistentObje" - }, - { - "label":"PersistentSymbol", - "type":"keyword", - "info":"PersistentSymbol[\"name\"] represents the persistent symbol associated with the key \"name\".PersistentS" - }, - { - "label":"PersistentValue", - "type":"keyword", - "info":"PersistentValue[\"name\"] represents the persistent value associated with the key \"name\".PersistentVal" - }, - { - "label":"PersonData", - "type":"keyword", - "info":"PersonData[entity, property] gives the value of the specified property for the person entity.PersonD" - }, - { - "label":"PERTDistribution", - "type":"keyword", - "info":"PERTDistribution[{min, max}, c] represents a PERT distribution with range min to max and mode at c.P" - }, - { - "label":"PetersenGraph", - "type":"keyword", - "info":"PetersenGraph[n, k] gives the generalized Petersen graph P .\n " - }, - { - "label":"PhaseMargins", - "type":"keyword", - "info":"PhaseMargins[lsys] gives the phase margins of the linear time-invariant system lsys." - }, - { - "label":"PhaseRange", - "type":"keyword", - "info":"PhaseRange is an option to BodePlot and NicholsPlot that specifies the phase range." - }, - { - "label":"PhysicalSystemData", - "type":"keyword", - "info":"PhysicalSystemData[entity, property] gives the value of the specified property for the physical syst" - }, - { - "label":"Pi", - "type":"keyword", - "info":"Pi is π, with numerical value ≃ 3.14159. " - }, - { - "label":"Pick", - "type":"keyword", - "info":"Pick[list, sel] picks out those elements of list for which the corresponding element of sel is True." - }, - { - "label":"PickedElements", - "type":"keyword", - "info":"System`PickedElements" - }, - { - "label":"PickMode", - "type":"keyword", - "info":"System`PickMode" - }, - { - "label":"PIDData", - "type":"keyword", - "info":"PIDData[…] represents PID data generated by PIDTune function." - }, - { - "label":"PIDDerivativeFilter", - "type":"keyword", - "info":"PIDDerivativeFilter is an option to PIDTune that controls the filtering used for derivative terms." - }, - { - "label":"PIDFeedforward", - "type":"keyword", - "info":"PIDFeedforward is an option to PIDTune that controls the reference weights used for the feedforward " - }, - { - "label":"PIDTune", - "type":"keyword", - "info":"PIDTune[sys] gives a feedback PID controller for the system sys. PIDTune[sys, \"carch\"] gives a contr" - }, - { - "label":"Piecewise", - "type":"keyword", - "info":"Piecewise[{{val , cond }, {val , cond }, …}] represents a piecewise function with values val in the" - }, - { - "label":"PiecewiseExpand", - "type":"keyword", - "info":"PiecewiseExpand[expr] expands nested piecewise functions in expr to give a single piecewise function" - }, - { - "label":"PieChart", - "type":"keyword", - "info":"PieChart[{y , y , …, y }] makes a pie chart with sector angle proportional to y , y , ….PieChart[{…," - }, - { - "label":"PieChart3D", - "type":"keyword", - "info":"PieChart3D[{y , y , …}] makes a 3D pie chart with sector angle proportional to y , y , … .PieChart3D" - }, - { - "label":"PillaiTrace", - "type":"keyword", - "info":"PillaiTrace[m , m ] gives Pillai's trace for the matrices m and m .\n 1 2 " - }, - { - "label":"PillaiTraceTest", - "type":"keyword", - "info":"PillaiTraceTest[m , m ] tests whether the matrices m and m are independent.PillaiTraceTest[…, \"pro" - }, - { - "label":"PingTime", - "type":"keyword", - "info":"PingTime[host] gives the round-trip ping time for the specified network host.PingTime[host, n] gives" - }, - { - "label":"Pink", - "type":"keyword", - "info":"Pink represents the color pink in graphics or style specifications. " - }, - { - "label":"PitchRecognize", - "type":"keyword", - "info":"PitchRecognize[audio] recognizes the main pitch in audio, returning it as a TimeSeries object. Pitch" - }, - { - "label":"Pivoting", - "type":"keyword", - "info":"Pivoting is an option to certain matrix decomposition functions. With Pivoting -> False, no pivoting" - }, - { - "label":"PixelConstrained", - "type":"keyword", - "info":"PixelConstrained is an option for ArrayPlot that specifies how to constrain cells to align with disp" - }, - { - "label":"PixelValue", - "type":"keyword", - "info":"PixelValue[image, ppos] gives the pixel value of image at position pos.PixelValue[image, ppos, \"type" - }, - { - "label":"PixelValuePositions", - "type":"keyword", - "info":"PixelValuePositions[image, val] returns a list of pixel positions in image that exactly match the va" - }, - { - "label":"Placed", - "type":"keyword", - "info":"Placed[expr, pos] represents an expression expr placed at relative position pos in a chart or other " - }, - { - "label":"Placeholder", - "type":"keyword", - "info":"Placeholder[name] represents a placeholder labeled with name that indicates a place to type.Placehol" - }, - { - "label":"PlaceholderLayer", - "type":"keyword", - "info":"PlaceholderLayer[] represents a net layer whose operation is undefined.PlaceholderLayer[\"tag\", assoc" - }, - { - "label":"PlaceholderReplace", - "type":"keyword", - "info":"PlaceholderReplace is an option to Paste that determines whether to replace a selection placeholder " - }, - { - "label":"Plain", - "type":"keyword", - "info":"Plain represents a font that is not bold, italic, or underlined." - }, - { - "label":"PlanarAngle", - "type":"keyword", - "info":"PlanarAngle[p  {q , q }] gives the angle between the half‐lines from p through q and q .PlanarAngl" - }, - { - "label":"PlanarFaceList", - "type":"keyword", - "info":"PlanarFaceList[g] gives the list of faces of the planar graph g." - }, - { - "label":"PlanarGraph", - "type":"keyword", - "info":"PlanarGraph[{e , e , …}] yields a planar graph with edges e .PlanarGraph[{v , v , …}, {e , e , …}] y" - }, - { - "label":"PlanarGraphQ", - "type":"keyword", - "info":"PlanarGraphQ[g] yields True if g is a planar graph and False otherwise." - }, - { - "label":"PlanckRadiationLaw", - "type":"keyword", - "info":"PlanckRadiationLaw[temperature, λ] returns the spectral radiance for the specified temperature and w" - }, - { - "label":"PlaneCurveData", - "type":"keyword", - "info":"PlaneCurveData[entity, property] gives the value of the specified property for the plane curve entit" - }, - { - "label":"PlanetaryMoonData", - "type":"keyword", - "info":"PlanetaryMoonData[entity, property] gives the value of the specified property for the moon entity of" - }, - { - "label":"PlanetData", - "type":"keyword", - "info":"PlanetData[entity, property] gives the value of the specified property for the planet entity.PlanetD" - }, - { - "label":"PlantData", - "type":"keyword", - "info":"PlantData[entity, property] gives the value of the specified property for the plant entity.PlantData" - }, - { - "label":"Play", - "type":"keyword", - "info":"Play[f, {t, t , t }] creates an object that plays as a sound whose amplitude is given by f as a " - }, - { - "label":"PlayRange", - "type":"keyword", - "info":"PlayRange is an option for Play and related functions which specifies what range of sound amplitude " - }, - { - "label":"Plot", - "type":"keyword", - "info":"Plot[f, {x, x , x }] generates a plot of f as a function of x from x to x . Plot[{f , f , …" - }, - { - "label":"Plot3D", - "type":"keyword", - "info":"Plot3D[f, {x, x , x }, {y, y , y }] generates a three-dimensional plot of f as a function of" - }, - { - "label":"Plot3Matrix", - "type":"keyword", - "info":"System`Plot3Matrix" - }, - { - "label":"PlotDivision", - "type":"keyword", - "info":"PlotDivision is an option for Plot that specifies the maximum amount of subdivision to be used." - }, - { - "label":"PlotJoined", - "type":"keyword", - "info":"PlotJoined is an option for ListPlot that specifies whether the points plotted should be joined by a" - }, - { - "label":"PlotLabel", - "type":"keyword", - "info":"PlotLabel is an option for graphics functions that specifies an overall label for a plot. " - }, - { - "label":"PlotLabels", - "type":"keyword", - "info":"PlotLabels is an option for visualization functions that specifies what labels to use for each data " - }, - { - "label":"PlotLayout", - "type":"keyword", - "info":"PlotLayout is an option for plotting functions that specifies the layout of multiple components in a" - }, - { - "label":"PlotLegends", - "type":"keyword", - "info":"PlotLegends is an option for plot functions that specifies what legends to use. " - }, - { - "label":"PlotMarkers", - "type":"keyword", - "info":"PlotMarkers is an option for graphics functions like ListPlot and ListLinePlot that specifies what m" - }, - { - "label":"PlotPoints", - "type":"keyword", - "info":"PlotPoints is an option for plotting functions that specifies how many initial sample points to use." - }, - { - "label":"PlotRange", - "type":"keyword", - "info":"PlotRange is an option for graphics functions that specifies what range of coordinates to include in" - }, - { - "label":"PlotRangeClipping", - "type":"keyword", - "info":"PlotRangeClipping is an option for graphics functions that specifies whether graphics objects should" - }, - { - "label":"PlotRangeClipPlanesStyle", - "type":"keyword", - "info":"System`PlotRangeClipPlanesStyle" - }, - { - "label":"PlotRangePadding", - "type":"keyword", - "info":"PlotRangePadding is an option for graphics functions that specifies how much further axes etc. shoul" - }, - { - "label":"PlotRegion", - "type":"keyword", - "info":"PlotRegion is an option for graphics functions that specifies what region of the final display area " - }, - { - "label":"PlotStyle", - "type":"keyword", - "info":"PlotStyle is an option for plotting and related functions that specifies styles in which objects are" - }, - { - "label":"PlotTheme", - "type":"keyword", - "info":"PlotTheme is an option for plotting and related functions that specifies an overall theme for visual" - }, - { - "label":"Pluralize", - "type":"keyword", - "info":"Pluralize[\"noun\"] gives the plural form of the English word \"noun\".Pluralize[\"noun\", n] gives the in" - }, - { - "label":"Plus", - "type":"keyword", - "info":"x + y + z represents a sum of terms. " - }, - { - "label":"PlusMinus", - "type":"keyword", - "info":"PlusMinus[x] displays as Â\\[PlusMinus] x.PlusMinus[x, y, …] displays as x Â\\[PlusMinus] y Â\\[PlusMinus] ….\n" - }, - { - "label":"Pochhammer", - "type":"keyword", - "info":"Pochhammer[a, n] gives the Pochhammer symbol (a) . \n " - }, - { - "label":"PodStates", - "type":"keyword", - "info":"PodStates is an option for WolframAlpha that determines information about the states of the pods." - }, - { - "label":"PodWidth", - "type":"keyword", - "info":"PodWidth is an option for WolframAlpha that determines the width parameters of the content returned " - }, - { - "label":"Point", - "type":"keyword", - "info":"Point[p] is a graphics and geometry primitive that represents a point at p. Point[{p , p , …}] repre" - }, - { - "label":"Point3DBox", - "type":"keyword", - "info":"System`Point3DBox" - }, - { - "label":"Point3DBoxOptions", - "type":"keyword", - "info":"Point3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Point3DBo" - }, - { - "label":"PointBox", - "type":"keyword", - "info":"System`PointBox" - }, - { - "label":"PointBoxOptions", - "type":"keyword", - "info":"PointBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PointBox ob" - }, - { - "label":"PointCountDistribution", - "type":"keyword", - "info":"PointCountDistribution[pproc, reg] represents the distribution of point counts for the point process" - }, - { - "label":"PointDensity", - "type":"keyword", - "info":"PointDensity[pdata] estimates the point density function μ(x) from point data pdata.PointDensity[pda" - }, - { - "label":"PointDensityFunction", - "type":"keyword", - "info":"PointDensityFunction[…] represents a function whose values give the density at a given location." - }, - { - "label":"PointFigureChart", - "type":"keyword", - "info":"PointFigureChart[{{date , p }, {date , p }, …}] makes a point and figure chart with prices p at dat" - }, - { - "label":"PointLegend", - "type":"keyword", - "info":"PointLegend[{col , …}, {lbl , …}] generates a legend that associates points of colors col with labe" - }, - { - "label":"PointLight", - "type":"keyword", - "info":"PointLight[col, pt] is a three-dimensional graphics directive that specifies the point light of colo" - }, - { - "label":"PointProcessEstimator", - "type":"keyword", - "info":"PointProcessEstimator[] is an option to EstimatedPointProcess and FindPointProcessParameters that sp" - }, - { - "label":"PointProcessFitTest", - "type":"keyword", - "info":"PointProcessFitTest[pdata] tests whether the point collection pdata could be modeled by a Poisson po" - }, - { - "label":"PointProcessParameterAssumptions", - "type":"keyword", - "info":"PointProcessParameterAssumptions[proc] gives a logical expression for assumptions on parameters in t" - }, - { - "label":"PointProcessParameterQ", - "type":"keyword", - "info":"PointProcessParameterQ[proc] yields True if proc is a valid random point process, and yields False o" - }, - { - "label":"PointSize", - "type":"keyword", - "info":"PointSize[d] is a graphics directive which specifies that points which follow are to be shown if pos" - }, - { - "label":"PointStatisticFunction", - "type":"keyword", - "info":"PointStatisticFunction[…] represents a function whose values give the statistic of a points collecti" - }, - { - "label":"PointValuePlot", - "type":"keyword", - "info":"PointValuePlot[{pt  val , pt  val , …}] plots the points pt styled according to the values val " - }, - { - "label":"PoissonConsulDistribution", - "type":"keyword", - "info":"PoissonConsulDistribution[μ, λ] represents a Poisson–Consul distribution with parameters μ and λ." - }, - { - "label":"PoissonDistribution", - "type":"keyword", - "info":"PoissonDistribution[μ] represents a Poisson distribution with mean μ." - }, - { - "label":"PoissonPDEComponent", - "type":"keyword", - "info":" 2\nPoissonPDEComponent[vars, pars] yields " - }, - { - "label":"PoissonPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"PoissonProcess", - "type":"keyword", - "info":"PoissonProcess[μ] represents a Poisson process with rate μ." - }, - { - "label":"PoissonWindow", - "type":"keyword", - "info":"PoissonWindow[x] represents a Poisson window function of x.PoissonWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus]." - }, - { - "label":"PolarAxes", - "type":"keyword", - "info":"PolarAxes is an option for sector charts and polar plots that specifies whether polar axes should be" - }, - { - "label":"PolarAxesOrigin", - "type":"keyword", - "info":"PolarAxesOrigin is an option for sector charts and polar plots that specifies where polar axes shoul" - }, - { - "label":"PolarGridLines", - "type":"keyword", - "info":"PolarGridLines is an option for sector charts and polar plots that specifies polar grid lines." - }, - { - "label":"PolarPlot", - "type":"keyword", - "info":"PolarPlot[r, {θ, θ , θ }] generates a polar plot of a curve with radius r as a function of angle" - }, - { - "label":"PolarTicks", - "type":"keyword", - "info":"PolarTicks is an option for sector charts and polar plots that specifies tick marks for polar axes." - }, - { - "label":"PoleZeroMarkers", - "type":"keyword", - "info":"PoleZeroMarkers is an option for RootLocusPlot that specifies the markers to be drawn on the complex" - }, - { - "label":"PolyaAeppliDistribution", - "type":"keyword", - "info":"PolyaAeppliDistribution[θ, p] represents a PÃ\.b3lya–Aeppli distribution with shape parameters θ and p. " - }, - { - "label":"PolyGamma", - "type":"keyword", - "info":" th " - }, - { - "label":"Polygon", - "type":"keyword", - "info":"Polygon[{p , …, p }] represents a filled polygon with points p .Polygon[{p , …, p }  {{q , …, q }, " - }, - { - "label":"Polygon3DBox", - "type":"keyword", - "info":"System`Polygon3DBox" - }, - { - "label":"Polygon3DBoxOptions", - "type":"keyword", - "info":"Polygon3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Polygon" - }, - { - "label":"PolygonalNumber", - "type":"keyword", - "info":" th th " - }, - { - "label":"PolygonAngle", - "type":"keyword", - "info":"PolygonAngle[poly] gives a list of angles at the vertex points of poly.PolygonAngle[poly, p] gives t" - }, - { - "label":"PolygonBox", - "type":"keyword", - "info":"System`PolygonBox" - }, - { - "label":"PolygonBoxOptions", - "type":"keyword", - "info":"PolygonBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PolygonBo" - }, - { - "label":"PolygonCoordinates", - "type":"keyword", - "info":"PolygonCoordinates[poly] gives a list of coordinates in the polygon poly." - }, - { - "label":"PolygonDecomposition", - "type":"keyword", - "info":"PolygonDecomposition[poly] decomposes the polygon poly into a disjoint union of simpler polygons.Pol" - }, - { - "label":"PolygonHoleScale", - "type":"keyword", - "info":"System`PolygonHoleScale" - }, - { - "label":"PolygonIntersections", - "type":"keyword", - "info":"PolygonIntersections is an option for Graphics3D which specifies whether intersecting polygons shoul" - }, - { - "label":"PolygonScale", - "type":"keyword", - "info":"System`PolygonScale" - }, - { - "label":"Polyhedron", - "type":"keyword", - "info":"Polyhedron[{f , …, f }] represents a filled polyhedron inside the closed surfaces with polygon faces" - }, - { - "label":"PolyhedronAngle", - "type":"keyword", - "info":"PolyhedronAngle[poly, p] gives the solid angle at the point p and spanned by edges with common point" - }, - { - "label":"PolyhedronBox", - "type":"keyword", - "info":"System`PolyhedronBox" - }, - { - "label":"PolyhedronCoordinates", - "type":"keyword", - "info":"PolyhedronCoordinates[poly] gives a list of coordinates in the polyhedron poly." - }, - { - "label":"PolyhedronData", - "type":"keyword", - "info":"PolyhedronData[poly, \"property\"] gives the value of the specified property for the polyhedron named " - }, - { - "label":"PolyhedronDecomposition", - "type":"keyword", - "info":"PolyhedronDecomposition[poly] decomposes the polyhedron poly into a union of simpler polyhedra." - }, - { - "label":"PolyhedronGenus", - "type":"keyword", - "info":"PolyhedronGenus[poly] gives the genus of the polyhedron poly." - }, - { - "label":"PolyLog", - "type":"keyword", - "info":"PolyLog[n, z] gives the polylogarithm function Li (z).PolyLog[n, p, z] gives the Nielsen generalized" - }, - { - "label":"PolynomialExpressionQ", - "type":"keyword", - "info":"PolynomialExpressionQ[expr, x] gives True if expr is structurally a polynomial expression in x, and " - }, - { - "label":"PolynomialExtendedGCD", - "type":"keyword", - "info":"PolynomialExtendedGCD[poly , poly , x] gives the extended GCD of poly and poly treated as univaria" - }, - { - "label":"PolynomialForm", - "type":"keyword", - "info":"System`PolynomialForm" - }, - { - "label":"PolynomialGCD", - "type":"keyword", - "info":"PolynomialGCD[poly , poly , …] gives the greatest common divisor of the polynomials poly . Polynomia" - }, - { - "label":"PolynomialLCM", - "type":"keyword", - "info":"PolynomialLCM[poly , poly , …] gives the least common multiple of the polynomials poly . PolynomialL" - }, - { - "label":"PolynomialMod", - "type":"keyword", - "info":"PolynomialMod[poly, m] gives the polynomial poly reduced modulo m. PolynomialMod[poly, {m , m , …}] " - }, - { - "label":"PolynomialQ", - "type":"keyword", - "info":"PolynomialQ[expr, var] yields True if expr is a polynomial in var, and yields False otherwise. Polyn" - }, - { - "label":"PolynomialQuotient", - "type":"keyword", - "info":"PolynomialQuotient[p, q, x] gives the quotient of p and q, treated as polynomials in x, with any rem" - }, - { - "label":"PolynomialQuotientRemainder", - "type":"keyword", - "info":"PolynomialQuotientRemainder[p, q, x] gives a list of the quotient and remainder of p and q, treated " - }, - { - "label":"PolynomialReduce", - "type":"keyword", - "info":"PolynomialReduce[poly, {poly , poly , …}, {x , x , …}] yields a list representing a reduction of pol" - }, - { - "label":"PolynomialRemainder", - "type":"keyword", - "info":"PolynomialRemainder[p, q, x] gives the remainder from dividing p by q, treated as polynomials in x. " - }, - { - "label":"Polynomials", - "type":"keyword", - "info":"System`Polynomials" - }, - { - "label":"PolynomialSumOfSquaresList", - "type":"keyword", - "info":" " - }, - { - "label":"PoolingLayer", - "type":"keyword", - "info":"PoolingLayer[sz] represents a pooling net layer using kernels of size sz.PoolingLayer[{w}] represent" - }, - { - "label":"PopupMenu", - "type":"keyword", - "info":"PopupMenu[x, {val , val , …}] represents a popup menu with setting x and possible values val . Popup" - }, - { - "label":"PopupMenuBox", - "type":"keyword", - "info":"System`PopupMenuBox" - }, - { - "label":"PopupMenuBoxOptions", - "type":"keyword", - "info":"PopupMenuBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PopupMe" - }, - { - "label":"PopupView", - "type":"keyword", - "info":" " - }, - { - "label":"PopupWindow", - "type":"keyword", - "info":"PopupWindow[expr, contents] displays as expr, but pops up a window containing contents when clicked." - }, - { - "label":"Position", - "type":"keyword", - "info":"Position[expr, pattern] gives a list of the positions at which objects matching pattern appear in ex" - }, - { - "label":"PositionIndex", - "type":"keyword", - "info":"PositionIndex[list] gives an association between unique elements in list and the positions at which " - }, - { - "label":"Positive", - "type":"keyword", - "info":"Positive[x] gives True if x is a positive number. " - }, - { - "label":"PositiveDefiniteMatrixQ", - "type":"keyword", - "info":"PositiveDefiniteMatrixQ[m] gives True if m is explicitly positive definite, and False otherwise. " - }, - { - "label":"PositiveIntegers", - "type":"keyword", - "info":"PositiveIntegers represents the domain of strictly positive integers, as in x ∈ PositiveIntegers. " - }, - { - "label":"PositivelyOrientedPoints", - "type":"keyword", - "info":"PositivelyOrientedPoints[{p , p , p , …, p }] tests whether the sequence of points p , p , p , …" - }, - { - "label":"PositiveRationals", - "type":"keyword", - "info":"PositiveRationals represents the domain of strictly positive rational numbers, as in x ∈ PositiveRat" - }, - { - "label":"PositiveReals", - "type":"keyword", - "info":"PositiveReals represents the domain of strictly positive real numbers." - }, - { - "label":"PositiveSemidefiniteMatrixQ", - "type":"keyword", - "info":"PositiveSemidefiniteMatrixQ[m] gives True if m is explicitly positive semidefinite, and False otherw" - }, - { - "label":"PossibleZeroQ", - "type":"keyword", - "info":"PossibleZeroQ[expr] gives True if basic symbolic and numerical methods suggest that expr has value z" - }, - { - "label":"Postfix", - "type":"keyword", - "info":"Postfix[f[expr]] prints with f[expr] given in default postfix form: expr\/\/f. Postfix[f[expr], h] pri" - }, - { - "label":"PostScript", - "type":"keyword", - "info":"System`PostScript" - }, - { - "label":"Power", - "type":"keyword", - "info":"x^y gives x to the power y." - }, - { - "label":"PowerDistribution", - "type":"keyword", - "info":"PowerDistribution[k, a] represents a power distribution with domain parameter k and shape parameter " - }, - { - "label":"PowerExpand", - "type":"keyword", - "info":"PowerExpand[expr] expands all powers of products and powers. PowerExpand[expr, {x , x , …}] expands " - }, - { - "label":"PowerMod", - "type":"keyword", - "info":" b " - }, - { - "label":"PowerModList", - "type":"keyword", - "info":" r s\nPowerModList[a, s\/r, m] giv" - }, - { - "label":"PowerRange", - "type":"keyword", - "info":"PowerRange[b] generates the list {1, 10, 100, …, max}, where max is the largest power of 10 that doe" - }, - { - "label":"PowerSpectralDensity", - "type":"keyword", - "info":"PowerSpectralDensity[data, ω] estimates the power spectral density for data.PowerSpectralDensity[dat" - }, - { - "label":"PowersRepresentations", - "type":"keyword", - "info":" " - }, - { - "label":"PowerSymmetricPolynomial", - "type":"keyword", - "info":"PowerSymmetricPolynomial[r] represents a formal power symmetric polynomial with exponent r.PowerSymm" - }, - { - "label":"Precedence", - "type":"keyword", - "info":"Precedence[sym] returns the precedence of the output operator associated to the symbol sym.Precedenc" - }, - { - "label":"PrecedenceForm", - "type":"keyword", - "info":"PrecedenceForm[expr, prec] prints with expr parenthesized as it would be if it contained an operator" - }, - { - "label":"Precedes", - "type":"keyword", - "info":"Precedes[x, y, …] displays as x ≺ y ≺ …." - }, - { - "label":"PrecedesEqual", - "type":"keyword", - "info":"PrecedesEqual[x, y, …] displays as x ⪯ y ⪯ …." - }, - { - "label":"PrecedesSlantEqual", - "type":"keyword", - "info":"PrecedesSlantEqual[x, y, …] displays as x ≼ y ≼ …." - }, - { - "label":"PrecedesTilde", - "type":"keyword", - "info":"PrecedesTilde[x, y, …] displays as x ≾ y ≾ …." - }, - { - "label":"Precision", - "type":"keyword", - "info":"Precision[x] gives the effective number of digits of precision in the number x. " - }, - { - "label":"PrecisionGoal", - "type":"keyword", - "info":"PrecisionGoal is an option for various numerical operations which specifies how many effective digit" - }, - { - "label":"PreDecrement", - "type":"keyword", - "info":"--x decreases the value of x by 1, returning the new value of x. " - }, - { - "label":"Predict", - "type":"keyword", - "info":"Predict[{in  out , in  out , …}] generates a PredictorFunction[…] based on the example input-out" - }, - { - "label":"PredictionRoot", - "type":"keyword", - "info":"System`PredictionRoot" - }, - { - "label":"PredictorFunction", - "type":"keyword", - "info":"PredictorFunction[…] represents a function generated by Predict that predicts numerical values from " - }, - { - "label":"PredictorInformation", - "type":"keyword", - "info":"PredictorInformation[predictor] generates a report giving information on the predictor function pred" - }, - { - "label":"PredictorMeasurements", - "type":"keyword", - "info":"PredictorMeasurements[predictor, testset, prop] gives measurements associated with the property prop" - }, - { - "label":"PredictorMeasurementsObject", - "type":"keyword", - "info":"PredictorMeasurementsObject[…] represents an object generated by PredictorMeasurements that can be a" - }, - { - "label":"PreemptProtect", - "type":"keyword", - "info":"PreemptProtect[expr] evaluates expr, without any interruption from preemptive evaluations." - }, - { - "label":"PreferencesPath", - "type":"keyword", - "info":"PreferencesPath is a global option that specifies which directories are searched for user-specific s" - }, - { - "label":"Prefix", - "type":"keyword", - "info":"Prefix[f[expr]] prints with f[expr] given in default prefix form: f @ expr. Prefix[f[expr], h] print" - }, - { - "label":"PreIncrement", - "type":"keyword", - "info":"++x increases the value of x by 1, returning the new value of x. " - }, - { - "label":"Prepend", - "type":"keyword", - "info":"Prepend[expr, elem] gives expr with elem prepended. Prepend[elem] represents an operator form of Pre" - }, - { - "label":"PrependLayer", - "type":"keyword", - "info":"PrependLayer[] represents a net layer that takes an input array and prepends another array to it." - }, - { - "label":"PrependTo", - "type":"keyword", - "info":"PrependTo[x, elem] prepends elem to the value of x, and resets x to the result. " - }, - { - "label":"PreprocessingRules", - "type":"keyword", - "info":"PreprocessingRules is an option that specifies how the input should be preprocessed." - }, - { - "label":"PreserveColor", - "type":"keyword", - "info":"PreserveColor is an option for ImageRestyle and related functions that specifies whether to preserve" - }, - { - "label":"PreserveImageOptions", - "type":"keyword", - "info":"PreserveImageOptions is an option to graphics and related functions that specifies whether image siz" - }, - { - "label":"Previous", - "type":"keyword", - "info":"System`Previous" - }, - { - "label":"PreviousCell", - "type":"keyword", - "info":"PreviousCell[] returns the CellObject corresponding to the cell directly above the currently evaluat" - }, - { - "label":"PreviousDate", - "type":"keyword", - "info":"PreviousDate[gran] gives the previously occurring date of the specified granularity type gran.Previo" - }, - { - "label":"PriceGraphDistribution", - "type":"keyword", - "info":"PriceGraphDistribution[n, k, a] represents a de Solla Price graph distribution for n-vertex graphs w" - }, - { - "label":"PrimaryPlaceholder", - "type":"keyword", - "info":"System`PrimaryPlaceholder" - }, - { - "label":"Prime", - "type":"keyword", - "info":" th\nPrime[n] gives the n prime number p .\n " - }, - { - "label":"PrimeNu", - "type":"keyword", - "info":"PrimeNu[n] gives the number of distinct primes ν(n) in n." - }, - { - "label":"PrimeOmega", - "type":"keyword", - "info":"PrimeOmega[n] gives the number of prime factors counting multiplicities Ω(n) in n." - }, - { - "label":"PrimePi", - "type":"keyword", - "info":"PrimePi[x] gives the number of primes π(x) less than or equal to x." - }, - { - "label":"PrimePowerQ", - "type":"keyword", - "info":"PrimePowerQ[expr] yields True if expr is a power of a prime number, and yields False otherwise. " - }, - { - "label":"PrimeQ", - "type":"keyword", - "info":"PrimeQ[n] yields True if n is a prime number, and yields False otherwise. " - }, - { - "label":"Primes", - "type":"keyword", - "info":"Primes represents the domain of prime numbers, as in x ∈ Primes. " - }, - { - "label":"PrimeZetaP", - "type":"keyword", - "info":"PrimeZetaP[s] gives prime zeta function P(s)." - }, - { - "label":"PrimitivePolynomialQ", - "type":"keyword", - "info":"PrimitivePolynomialQ[poly, p] tests whether poly is a primitive polynomial modulo a prime p." - }, - { - "label":"PrimitiveRoot", - "type":"keyword", - "info":"PrimitiveRoot[n] gives a primitive root of n.PrimitiveRoot[n, k] gives the smallest primitive root o" - }, - { - "label":"PrimitiveRootList", - "type":"keyword", - "info":"PrimitiveRootList[n] gives a list of primitive roots of n." - }, - { - "label":"PrincipalComponents", - "type":"keyword", - "info":"PrincipalComponents[matrix] transforms elements of matrix into unscaled principal components." - }, - { - "label":"PrincipalValue", - "type":"keyword", - "info":"PrincipalValue is an option for Integrate that specifies whether the Cauchy principal value should b" - }, - { - "label":"Print", - "type":"keyword", - "info":"Print[expr] prints expr as output. " - }, - { - "label":"PrintableASCIIQ", - "type":"keyword", - "info":"PrintableASCIIQ[string] yields True if the string contains only printable ASCII characters, and yiel" - }, - { - "label":"PrintAction", - "type":"keyword", - "info":"PrintAction is an option for notebooks that specifies the action taken when a Print[] command is eva" - }, - { - "label":"PrintForm", - "type":"keyword", - "info":"System`PrintForm" - }, - { - "label":"PrintingCopies", - "type":"keyword", - "info":"PrintingCopies is an option for notebooks that specifies the number of copies of a notebook printed " - }, - { - "label":"PrintingOptions", - "type":"keyword", - "info":"PrintingOptions is an option that specifies settings for printing." - }, - { - "label":"PrintingPageRange", - "type":"keyword", - "info":"PrintingPageRange is an option for notebooks that specifies the range of pages of a notebook to be p" - }, - { - "label":"PrintingStartingPageNumber", - "type":"keyword", - "info":"PrintingStartingPageNumber is an option for notebooks that specifies what number to assign to the fi" - }, - { - "label":"PrintingStyleEnvironment", - "type":"keyword", - "info":"PrintingStyleEnvironment is an option for notebooks that specifies the style environment to be used " - }, - { - "label":"Printout3D", - "type":"keyword", - "info":"Printout3D[model] prints out the 3D model using a 3D print previewer.Printout3D[model, service] prin" - }, - { - "label":"Printout3DPreviewer", - "type":"keyword", - "info":"Printout3DPreviewer is an option for Printout3D that specifies a previewer for generating outputs to" - }, - { - "label":"PrintPrecision", - "type":"keyword", - "info":"PrintPrecision is an option for selections that specifies the maximum number of digits used for disp" - }, - { - "label":"PrintTemporary", - "type":"keyword", - "info":"PrintTemporary[expr] prints expr as a temporary cell in a notebook, removing it when the evaluation " - }, - { - "label":"Prism", - "type":"keyword", - "info":"Prism[{p , …, p }] represents a filled prism connecting the triangles {p , p , p } and {p , p , p }." - }, - { - "label":"PrismBox", - "type":"keyword", - "info":"System`PrismBox" - }, - { - "label":"PrismBoxOptions", - "type":"keyword", - "info":"System`PrismBoxOptions" - }, - { - "label":"PrivateCellOptions", - "type":"keyword", - "info":"PrivateCellOptions is an option for cells that specifies various low-level cell settings." - }, - { - "label":"PrivateEvaluationOptions", - "type":"keyword", - "info":"PrivateEvaluationOptions is an option for selections that specifies settings for evaluation-related " - }, - { - "label":"PrivateFontOptions", - "type":"keyword", - "info":"PrivateFontOptions is an option for selections that specifies settings for various font suboptions." - }, - { - "label":"PrivateKey", - "type":"keyword", - "info":"PrivateKey[assoc] represents the private part of a key pair for a public-key cryptographic system." - }, - { - "label":"PrivateNotebookOptions", - "type":"keyword", - "info":"PrivateNotebookOptions is an option for notebooks that specifies various low-level notebook settings" - }, - { - "label":"PrivatePaths", - "type":"keyword", - "info":"PrivatePaths is a global option that specifies settings for paths private to the notebook front end." - }, - { - "label":"Probability", - "type":"keyword", - "info":"Probability[pred, x  dist] gives the probability for an event that satisfies the predicate pred und" - }, - { - "label":"ProbabilityDistribution", - "type":"keyword", - "info":"ProbabilityDistribution[pdf, {x, x , x }] represents the continuous distribution with PDF pdf in" - }, - { - "label":"ProbabilityPlot", - "type":"keyword", - "info":"ProbabilityPlot[list] generates a plot of the CDF of list against the CDF of a normal distribution.P" - }, - { - "label":"ProbabilityPr", - "type":"keyword", - "info":"System`ProbabilityPr" - }, - { - "label":"ProbabilityScalePlot", - "type":"keyword", - "info":"ProbabilityScalePlot[{x , x , …}] generates a normal probability plot of the samples x . Probability" - }, - { - "label":"ProbitModelFit", - "type":"keyword", - "info":" " - }, - { - "label":"ProcessConnection", - "type":"keyword", - "info":"ProcessConnection[proc, \"stream\"] returns the stream object for a given stream." - }, - { - "label":"ProcessDirectory", - "type":"keyword", - "info":"ProcessDirectory is an option specifying the initial working directory to use when executing a proce" - }, - { - "label":"ProcessEnvironment", - "type":"keyword", - "info":"ProcessEnvironment is an option specifying the initial settings of environment variables to use when" - }, - { - "label":"Processes", - "type":"keyword", - "info":"Processes[] returns a list of currently running external processes, started in this Wolfram Language" - }, - { - "label":"ProcessEstimator", - "type":"keyword", - "info":"ProcessEstimator is an option to EstimatedProcess and FindProcessParameters that specifies what proc" - }, - { - "label":"ProcessInformation", - "type":"keyword", - "info":"ProcessInformation[proc] gives information about an external process proc.\nProcessInformation[proc, " - }, - { - "label":"ProcessObject", - "type":"keyword", - "info":"ProcessObject[...] is an object that represents a runnable external process." - }, - { - "label":"ProcessParameterAssumptions", - "type":"keyword", - "info":"ProcessParameterAssumptions[proc] gives a logical expression for assumptions on parameters in the ra" - }, - { - "label":"ProcessParameterQ", - "type":"keyword", - "info":"ProcessParameterQ[proc] yields True if proc is a valid random process, and yields False otherwise." - }, - { - "label":"ProcessStateDomain", - "type":"keyword", - "info":"System`ProcessStateDomain" - }, - { - "label":"ProcessStatus", - "type":"keyword", - "info":"ProcessStatus[proc] gives the current status of the external process represented by the ProcessObjec" - }, - { - "label":"ProcessTimeDomain", - "type":"keyword", - "info":"System`ProcessTimeDomain" - }, - { - "label":"Product", - "type":"keyword", - "info":" " - }, - { - "label":"ProductDistribution", - "type":"keyword", - "info":"ProductDistribution[dist , dist , …] represents the joint distribution with independent component di" - }, - { - "label":"ProductLog", - "type":"keyword", - "info":" w th\nProdu" - }, - { - "label":"ProgressIndicator", - "type":"keyword", - "info":"ProgressIndicator[x] represents a progress indicator with setting x in the range 0 to 1. ProgressInd" - }, - { - "label":"ProgressIndicatorBox", - "type":"keyword", - "info":"System`ProgressIndicatorBox" - }, - { - "label":"ProgressIndicatorBoxOptions", - "type":"keyword", - "info":"ProgressIndicatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for" - }, - { - "label":"ProgressReporting", - "type":"keyword", - "info":"ProgressReporting is an option for various algorithmic functions that specifies whether to report th" - }, - { - "label":"Projection", - "type":"keyword", - "info":"Projection[u, v] finds the projection of the vector u onto the vector v.Projection[u, v, f] finds pr" - }, - { - "label":"Prolog", - "type":"keyword", - "info":"Prolog is an option for graphics functions which gives a list of graphics primitives to be rendered " - }, - { - "label":"PromptForm", - "type":"keyword", - "info":"PromptForm[prompt, expr] prints as an output prompt and expression." - }, - { - "label":"ProofObject", - "type":"keyword", - "info":"ProofObject[…] represents a proof object generated by FindEquationalProof." - }, - { - "label":"Properties", - "type":"keyword", - "info":"Properties is an option that allows specification of properties to objects and items of objects." - }, - { - "label":"Property", - "type":"keyword", - "info":"Property[item, name  value] associates the property name  value with item." - }, - { - "label":"PropertyList", - "type":"keyword", - "info":"PropertyList[{obj, itemspec}] lists the properties available for itemspec in obj." - }, - { - "label":"PropertyValue", - "type":"keyword", - "info":"PropertyValue[{obj, item}, name] gives the property value associated with name for item in obj.Prope" - }, - { - "label":"Proportion", - "type":"keyword", - "info":"Proportion[x, y, …] displays as x âˆ\\[CenterDot] y âˆ\\[CenterDot] …." - }, - { - "label":"Proportional", - "type":"keyword", - "info":"Proportional[x, y, …] displays as x ∝ y ∝ …." - }, - { - "label":"Protect", - "type":"keyword", - "info":"Protect[s , s , …] sets the attribute Protected for the symbols s . Protect[\"form \", \"form \", …] pro" - }, - { - "label":"Protected", - "type":"keyword", - "info":"Protected is an attribute that prevents any values associated with a symbol from being modified. " - }, - { - "label":"ProteinData", - "type":"keyword", - "info":"ProteinData[entity] gives the reference amino acid sequence for the protein entity.ProteinData[entit" - }, - { - "label":"Pruning", - "type":"keyword", - "info":"Pruning[image] removes the outermost branches of thin objects in image by setting their values to bl" - }, - { - "label":"PseudoInverse", - "type":"keyword", - "info":"PseudoInverse[m] finds the pseudoinverse of a rectangular matrix. " - }, - { - "label":"PsychrometricPropertyData", - "type":"keyword", - "info":"PsychrometricPropertyData[spec] returns the psychrometric properties of moist air for the specified " - }, - { - "label":"PublicKey", - "type":"keyword", - "info":"PublicKey[assoc] represents the public part of a key pair for a public-key cryptographic system.Publ" - }, - { - "label":"PublisherID", - "type":"keyword", - "info":"PublisherID is an option for ResourceSubmit that specifies the ID used to submit a resource for publ" - }, - { - "label":"PulsarData", - "type":"keyword", - "info":"PulsarData[entity, property] gives the value of the specified property for the pulsar entity.PulsarD" - }, - { - "label":"PunctuationCharacter", - "type":"keyword", - "info":"PunctuationCharacter represents a punctuation character in StringExpression." - }, - { - "label":"Purple", - "type":"keyword", - "info":"Purple represents the color purple in graphics or style specifications. " - }, - { - "label":"Put", - "type":"keyword", - "info":"expr >> filename writes expr to a file. Put[expr , expr , …, \"filename\"] writes a sequence of expres" - }, - { - "label":"PutAppend", - "type":"keyword", - "info":"expr >>> filename appends expr to a file. PutAppend[expr , expr , …, \"filename\"] appends a sequence " - }, - { - "label":"Pyramid", - "type":"keyword", - "info":"Pyramid[{p , …, p }] represents a filled pyramid with base {p , …, p } and top p .\n 1 " - }, - { - "label":"PyramidBox", - "type":"keyword", - "info":"System`PyramidBox" - }, - { - "label":"PyramidBoxOptions", - "type":"keyword", - "info":"System`PyramidBoxOptions" - }, - { - "label":"QBinomial", - "type":"keyword", - "info":"QBinomial[n, m, q] gives the q-binomial coefficient (n) .\n " - }, - { - "label":"QFactorial", - "type":"keyword", - "info":"QFactorial[n, q] gives the q-factorial [n] !.\n q" - }, - { - "label":"QGamma", - "type":"keyword", - "info":"QGamma[z, q] gives the q-gamma function Γ (z).\n q" - }, - { - "label":"QHypergeometricPFQ", - "type":"keyword", - "info":"QHypergeometricPFQ[{a , …, a }, {b , …, b }, q, z] gives the basic hypergeometric series   ϕ (a " - }, - { - "label":"QnDispersion", - "type":"keyword", - "info":"QnDispersion[list] gives the Q statistic of the elements in list.QnDispersion[list, c] gives the Q " - }, - { - "label":"QPochhammer", - "type":"keyword", - "info":"QPochhammer[a, q, n] gives the q-Pochhammer symbol (a ; q) .QPochhammer[a, q] gives the q-Pochhamme" - }, - { - "label":"QPolyGamma", - "type":"keyword", - "info":" th " - }, - { - "label":"QRDecomposition", - "type":"keyword", - "info":"QRDecomposition[m] yields the QR decomposition for a numerical matrix m. The result is a list {q, r}" - }, - { - "label":"QuadraticIrrationalQ", - "type":"keyword", - "info":"QuadraticIrrationalQ[x] gives True if x is a quadratic irrational and False otherwise." - }, - { - "label":"QuadraticOptimization", - "type":"keyword", - "info":"QuadraticOptimization[f, cons, vars] finds values of variables vars that minimize the quadratic obje" - }, - { - "label":"Quantile", - "type":"keyword", - "info":" th\nQuantile[list, q] gives the q quantile of list. Quantile[list," - }, - { - "label":"QuantilePlot", - "type":"keyword", - "info":"QuantilePlot[list] generates a plot of quantiles of list against the quantiles of a normal distribut" - }, - { - "label":"Quantity", - "type":"keyword", - "info":"Quantity[magnitude, unit] represents a quantity with size magnitude and unit specified by unit.Quant" - }, - { - "label":"QuantityArray", - "type":"keyword", - "info":"QuantityArray[mags, unit] represents an array of quantities with magnitudes mags and common unit.Qua" - }, - { - "label":"QuantityDistribution", - "type":"keyword", - "info":"QuantityDistribution[dist, unit] represents a distribution dist of quantities with unit specified by" - }, - { - "label":"QuantityForm", - "type":"keyword", - "info":"QuantityForm[expr, form] prints expr with all Quantity expressions using the specified unit display " - }, - { - "label":"QuantityMagnitude", - "type":"keyword", - "info":"QuantityMagnitude[quantity] gives the amount of the specified quantity.QuantityMagnitude[quantity, u" - }, - { - "label":"QuantityQ", - "type":"keyword", - "info":"QuantityQ[expr] gives True if expr is a Quantity with valid arguments, and False otherwise." - }, - { - "label":"QuantityUnit", - "type":"keyword", - "info":"QuantityUnit[quantity] returns the unit associated with the specified quantity." - }, - { - "label":"QuantityVariable", - "type":"keyword", - "info":"QuantityVariable[var, \"pq\"] represents a variable with the label var and the corresponding physical " - }, - { - "label":"QuantityVariableCanonicalUnit", - "type":"keyword", - "info":"QuantityVariableCanonicalUnit[quantityvariable] returns the canonical unit associated with the speci" - }, - { - "label":"QuantityVariableDimensions", - "type":"keyword", - "info":"QuantityVariableDimensions[quantityvariable] returns a list of base dimensions associated with the s" - }, - { - "label":"QuantityVariableIdentifier", - "type":"keyword", - "info":"QuantityVariableIdentifier[quantityvariable] returns the identifier associated with the specified qu" - }, - { - "label":"QuantityVariablePhysicalQuantity", - "type":"keyword", - "info":"QuantityVariablePhysicalQuantity[var] returns the physical quantity associated with the quantity var" - }, - { - "label":"Quartics", - "type":"keyword", - "info":"Quartics is an option for functions that involve solving algebraic equations that specifies whether " - }, - { - "label":"QuartileDeviation", - "type":"keyword", - "info":"QuartileDeviation[list] gives the quartile deviation or semi-interquartile range of the elements in " - }, - { - "label":"Quartiles", - "type":"keyword", - "info":"Quartiles[list] gives a list of the 1\/4, 1\/2 and 3\/4 quantiles of the elements in list.Quartiles[dis" - }, - { - "label":"QuartileSkewness", - "type":"keyword", - "info":"QuartileSkewness[list] gives the coefficient of quartile skewness for the elements in list.QuartileS" - }, - { - "label":"Query", - "type":"keyword", - "info":"Query[operator , operator , …] represents a query that can be applied to a Dataset object, in which " - }, - { - "label":"QuestionInterface", - "type":"keyword", - "info":"QuestionInterface[type,  p  s , p  s , …|>] defines an interface for a QuestionObject using the" - }, - { - "label":"QuestionObject", - "type":"keyword", - "info":"QuestionObject[q, assess] represents the question q and the corresponding assessment assess.Question" - }, - { - "label":"QueueingNetworkProcess", - "type":"keyword", - "info":"QueueingNetworkProcess[Î\.b3, r, μ, c] represents an open (Jackson) queueing network process with arriva" - }, - { - "label":"QueueingProcess", - "type":"keyword", - "info":"QueueingProcess[λ, μ] represents an M\/M\/1 queue with arrival rate λ and service rate μ.QueueingProce" - }, - { - "label":"QueueProperties", - "type":"keyword", - "info":" " - }, - { - "label":"Quiet", - "type":"keyword", - "info":"Quiet[expr] evaluates expr \"quietly\", without actually outputting any messages generated.Quiet[expr," - }, - { - "label":"QuietEcho", - "type":"keyword", - "info":"QuietEcho[expr] evaluates expr without letting Echo and related functions inside expr print any resu" - }, - { - "label":"Quit", - "type":"keyword", - "info":"Quit[] terminates a Wolfram Language kernel session. " - }, - { - "label":"Quotient", - "type":"keyword", - "info":"Quotient[m, n] gives the integer quotient of m and n. Quotient[m, n, d] uses an offset d. \n" - }, - { - "label":"QuotientRemainder", - "type":"keyword", - "info":"QuotientRemainder[m, n] gives a list of the quotient and remainder from division of m by n." - }, - { - "label":"RadialAxisPlot", - "type":"keyword", - "info":"RadialAxisPlot[{y , y , …, y }] generates a radial axis plot where the y are displayed on radial ax" - }, - { - "label":"RadialGradientFilling", - "type":"keyword", - "info":"RadialGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that" - }, - { - "label":"RadialGradientImage", - "type":"keyword", - "info":"RadialGradientImage[gcol] returns an image with values radially changing from center to corners base" - }, - { - "label":"RadialityCentrality", - "type":"keyword", - "info":"RadialityCentrality[g] gives a list of radiality centralities for the vertices in the graph g.Radial" - }, - { - "label":"RadicalBox", - "type":"keyword", - "info":" 1\/n\nRadicalBox[x" - }, - { - "label":"RadicalBoxOptions", - "type":"keyword", - "info":"RadicalBoxOptions is an option for selections that specifies settings for RadicalBox objects." - }, - { - "label":"RadioButton", - "type":"keyword", - "info":"RadioButton[x, val] represents a radio button whose setting x is set to val when the button is click" - }, - { - "label":"RadioButtonBar", - "type":"keyword", - "info":"RadioButtonBar[x, {val , val , …}] represents a radio button bar with setting x and with labeled rad" - }, - { - "label":"RadioButtonBox", - "type":"keyword", - "info":"System`RadioButtonBox" - }, - { - "label":"RadioButtonBoxOptions", - "type":"keyword", - "info":"RadioButtonBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Radio" - }, - { - "label":"Radon", - "type":"keyword", - "info":"Radon[image] gives an image representing the discrete Radon transform of image.Radon[image, {w, h}] " - }, - { - "label":"RadonTransform", - "type":"keyword", - "info":"RadonTransform[expr, {x, y}, {p, ϕ}] gives the Radon transform of expr." - }, - { - "label":"RamanujanTau", - "type":"keyword", - "info":"RamanujanTau[n] gives the Ramanujan τ function τ(n)." - }, - { - "label":"RamanujanTauL", - "type":"keyword", - "info":"RamanujanTauL[s] gives the Ramanujan tau Dirichlet L-function L(s)." - }, - { - "label":"RamanujanTauTheta", - "type":"keyword", - "info":"RamanujanTauTheta[t] gives the Ramanujan tau theta function θ(t)." - }, - { - "label":"RamanujanTauZ", - "type":"keyword", - "info":"RamanujanTauZ[t] gives the Ramanujan tau Z-function Z(t)." - }, - { - "label":"Ramp", - "type":"keyword", - "info":"Ramp[x] gives x if x ≥ 0 and 0 otherwise." - }, - { - "label":"Random", - "type":"keyword", - "info":"Random[] gives a uniformly distributed pseudorandom Real in the range 0 to 1. Random[type, range] gi" - }, - { - "label":"RandomArrayLayer", - "type":"keyword", - "info":"RandomArrayLayer[dist] represents a net layer that has no input and produces a random array from the" - }, - { - "label":"RandomChoice", - "type":"keyword", - "info":"RandomChoice[{e , e , …}] gives a pseudorandom choice of one of the e . RandomChoice[list, n] gives " - }, - { - "label":"RandomColor", - "type":"keyword", - "info":"RandomColor[] gives a pseudorandom color directive in the RGBColor space.RandomColor[n] gives n pseu" - }, - { - "label":"RandomComplex", - "type":"keyword", - "info":"RandomComplex[] gives a pseudorandom complex number with real and imaginary parts in the range 0 to " - }, - { - "label":"RandomEntity", - "type":"keyword", - "info":"RandomEntity[spec] gives a pseudorandom entity with a type determined by the specification spec.Rand" - }, - { - "label":"RandomFunction", - "type":"keyword", - "info":"RandomFunction[proc, {t , t }] generates a pseudorandom function from the process proc from t " - }, - { - "label":"RandomGeneratorState", - "type":"keyword", - "info":"RandomGeneratorState[…] gives a representation of the internal state of a pseudorandom generator." - }, - { - "label":"RandomGeoPosition", - "type":"keyword", - "info":"RandomGeoPosition[] gives a pseudorandom geo position uniformly distributed on the surface of the Ea" - }, - { - "label":"RandomGraph", - "type":"keyword", - "info":"RandomGraph[{n, m}] gives a pseudorandom graph with n vertices and m edges.RandomGraph[{n, m}, k] gi" - }, - { - "label":"RandomImage", - "type":"keyword", - "info":"RandomImage[max] gives an image with pseudorandom pixel values in the range 0 to max.RandomImage[{mi" - }, - { - "label":"RandomInstance", - "type":"keyword", - "info":"RandomInstance[expr] finds a random instance of an expression such as a geometric scene.RandomInstan" - }, - { - "label":"RandomInteger", - "type":"keyword", - "info":"RandomInteger[{i , i }] gives a pseudorandom integer in the range {i , i }. RandomInteger[i " - }, - { - "label":"RandomPermutation", - "type":"keyword", - "info":"RandomPermutation[gr] gives a pseudorandom permutation in the permutation group gr.RandomPermutation" - }, - { - "label":"RandomPoint", - "type":"keyword", - "info":"RandomPoint[reg] gives a pseudorandom point uniformly distributed in the region reg.RandomPoint[reg," - }, - { - "label":"RandomPointConfiguration", - "type":"keyword", - "info":"RandomPointConfiguration[pproc, reg] generates a pseudorandom spatial point configuration from the s" - }, - { - "label":"RandomPolygon", - "type":"keyword", - "info":"RandomPolygon[n] gives a pseudorandom simple polygon with n vertex points.RandomPolygon[spec] gives " - }, - { - "label":"RandomPolyhedron", - "type":"keyword", - "info":"RandomPolyhedron[spec] gives a pseudorandom polyhedron with the specified specification spec.RandomP" - }, - { - "label":"RandomPrime", - "type":"keyword", - "info":"RandomPrime[{i , i }] gives a pseudorandom prime number in the range i to i .RandomPrime[i " - }, - { - "label":"RandomReal", - "type":"keyword", - "info":"RandomReal[] gives a pseudorandom real number in the range 0 to 1. RandomReal[{x , x }] gives a " - }, - { - "label":"RandomSample", - "type":"keyword", - "info":"RandomSample[{e , e , …}, n] gives a pseudorandom sample of n of the e .RandomSample[{w , w , …}  {" - }, - { - "label":"RandomSeed", - "type":"keyword", - "info":"System`RandomSeed" - }, - { - "label":"RandomSeeding", - "type":"keyword", - "info":"RandomSeeding is an option that specifies what seeding of pseudorandom generators should be done ins" - }, - { - "label":"RandomTree", - "type":"keyword", - "info":"RandomTree[n] gives a pseudorandom tree with n nodes.RandomTree[n, k] gives a list of k pseudorandom" - }, - { - "label":"RandomVariate", - "type":"keyword", - "info":"RandomVariate[dist] gives a pseudorandom variate from the symbolic distribution dist.RandomVariate[d" - }, - { - "label":"RandomWalkProcess", - "type":"keyword", - "info":"RandomWalkProcess[p] represents a random walk on a line with the probability of a positive unit step" - }, - { - "label":"RandomWord", - "type":"keyword", - "info":"RandomWord[] gives a pseudorandom commonly used word.RandomWord[n] gives a list of n pseudorandom wo" - }, - { - "label":"Range", - "type":"keyword", - "info":"Range[i ] generates the list {1, 2, …, i }. Range[i , i ] generates the list {i , …, i }" - }, - { - "label":"RangeFilter", - "type":"keyword", - "info":" " - }, - { - "label":"RangeSpecification", - "type":"keyword", - "info":"System`RangeSpecification" - }, - { - "label":"RankedMax", - "type":"keyword", - "info":" th th\nRankedM" - }, - { - "label":"RankedMin", - "type":"keyword", - "info":" th th\nRanked" - }, - { - "label":"RarerProbability", - "type":"keyword", - "info":"RarerProbability[dist, example] computes the probability for distribution dist to generate a sample " - }, - { - "label":"Raster", - "type":"keyword", - "info":"Raster[{{a , a , …}, …}] is a two-dimensional graphics primitive which represents a rectangular ar" - }, - { - "label":"Raster3D", - "type":"keyword", - "info":"Raster3D[{{{a , a , …}, …}, …}] is a three-dimensional graphics primitive that represents a cubica" - }, - { - "label":"Raster3DBox", - "type":"keyword", - "info":"System`Raster3DBox" - }, - { - "label":"Raster3DBoxOptions", - "type":"keyword", - "info":"Raster3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Raster3D" - }, - { - "label":"RasterArray", - "type":"keyword", - "info":"RasterArray[{{g , g , …}, …}] is a two-dimensional graphics primitive that represents a rectangula" - }, - { - "label":"RasterBox", - "type":"keyword", - "info":"System`RasterBox" - }, - { - "label":"RasterBoxOptions", - "type":"keyword", - "info":"RasterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for RasterBox " - }, - { - "label":"Rasterize", - "type":"keyword", - "info":"Rasterize[expr] returns a rasterized version of the displayed form of expr.Rasterize[expr, elem] giv" - }, - { - "label":"RasterSize", - "type":"keyword", - "info":"RasterSize is an option for Rasterize and related functions that determines the absolute pixel size " - }, - { - "label":"Rational", - "type":"keyword", - "info":"Rational is the head used for rational numbers. " - }, - { - "label":"RationalExpressionQ", - "type":"keyword", - "info":"RationalExpressionQ[expr, x] gives True if expr is structurally a rational expression in x, and Fals" - }, - { - "label":"RationalFunctions", - "type":"keyword", - "info":"System`RationalFunctions" - }, - { - "label":"Rationalize", - "type":"keyword", - "info":"Rationalize[x] converts an approximate number x to a nearby rational with small denominator. Rationa" - }, - { - "label":"Rationals", - "type":"keyword", - "info":"Rationals represents the domain of rational numbers, as in x ∈ Rationals. " - }, - { - "label":"Ratios", - "type":"keyword", - "info":" th " - }, - { - "label":"RawArray", - "type":"keyword", - "info":"System`RawArray" - }, - { - "label":"RawBoxes", - "type":"keyword", - "info":"RawBoxes[boxes] is a low-level construct which is formatted as boxes without further interpretation." - }, - { - "label":"RawData", - "type":"keyword", - "info":"RawData[data] is a low-level representation of the contents of a cell in which Show Cell Expression " - }, - { - "label":"RawMedium", - "type":"keyword", - "info":"RawMedium is an internal symbol." - }, - { - "label":"RayleighDistribution", - "type":"keyword", - "info":"RayleighDistribution[σ] represents the Rayleigh distribution with scale parameter σ." - }, - { - "label":"Re", - "type":"keyword", - "info":"Re[z] gives the real part of the complex number z. " - }, - { - "label":"ReactionBalance", - "type":"keyword", - "info":"ReactionBalance[rxn] returns a version of the reaction rxn in which the stoichiometric coefficients " - }, - { - "label":"ReactionBalancedQ", - "type":"keyword", - "info":"ReactionBalancedQ[rxn] returns True if the given chemical reaction is balanced, and False otherwise." - }, - { - "label":"ReactionPDETerm", - "type":"keyword", - "info":"ReactionPDETerm[vars, a] represents a reaction term a u with reaction coefficient a and with model v" - }, - { - "label":"Read", - "type":"keyword", - "info":"Read[stream] reads one expression from an input stream and returns the expression. Read[stream, type" - }, - { - "label":"ReadByteArray", - "type":"keyword", - "info":"ReadByteArray[src] gives the contents of src as a ByteArray object.ReadByteArray[src, n] reads the f" - }, - { - "label":"ReadLine", - "type":"keyword", - "info":"ReadLine[stream] reads a line of text from a stream and returns it as a string.\nReadLine[proc] reads" - }, - { - "label":"ReadList", - "type":"keyword", - "info":"ReadList[\"file\"] reads all the remaining expressions in a file and returns a list of them. ReadList[" - }, - { - "label":"ReadProtected", - "type":"keyword", - "info":"ReadProtected is an attribute that prevents values associated with a symbol from being seen. " - }, - { - "label":"ReadString", - "type":"keyword", - "info":"ReadString[\"file\"] reads the complete contents of a file and returns it as a string.\nReadString[stre" - }, - { - "label":"Real", - "type":"keyword", - "info":"Real is the head used for real (floating‐point) numbers. " - }, - { - "label":"RealAbs", - "type":"keyword", - "info":"RealAbs[x] gives the absolute value of the real number x. " - }, - { - "label":"RealBlockDiagonalForm", - "type":"keyword", - "info":"RealBlockDiagonalForm is an option for SchurDecomposition and related functions which specifies whet" - }, - { - "label":"RealDigits", - "type":"keyword", - "info":" " - }, - { - "label":"RealExponent", - "type":"keyword", - "info":"RealExponent[x] gives log ( x ).RealExponent[x, b] gives log ( x ).\n 10" - }, - { - "label":"Reals", - "type":"keyword", - "info":"Reals represents the domain of real numbers, as in x ∈ Reals. " - }, - { - "label":"RealSign", - "type":"keyword", - "info":"RealSign[x] gives -1, 0 or 1 depending on whether x is negative, zero or positive. " - }, - { - "label":"Reap", - "type":"keyword", - "info":"Reap[expr] gives the value of expr together with all expressions to which Sow has been applied durin" - }, - { - "label":"RebuildPacletData", - "type":"keyword", - "info":"The experimental function RebuildPacletData is now obsolete and is superseded by PacletDataRebuild." - }, - { - "label":"RecalibrationFunction", - "type":"keyword", - "info":"RecalibrationFunction is an option for Classify, Predict and related functions that specifies how to" - }, - { - "label":"RecognitionPrior", - "type":"keyword", - "info":"RecognitionPrior is an option for recognition functions that specifies the prior probability or clas" - }, - { - "label":"RecognitionThreshold", - "type":"keyword", - "info":"RecognitionThreshold is an option for ImageInstanceQ and related functions that specifies the minimu" - }, - { - "label":"Record", - "type":"keyword", - "info":"Record represents a record in Read, Find, and related functions. " - }, - { - "label":"RecordLists", - "type":"keyword", - "info":"RecordLists is an option for ReadList that specifies whether objects from separate records should be" - }, - { - "label":"RecordSeparators", - "type":"keyword", - "info":"RecordSeparators is an option for Read, Find, and related functions that specifies the list of strin" - }, - { - "label":"Rectangle", - "type":"keyword", - "info":"Rectangle[{x , y }, {x , y }] represents an axis-aligned filled rectangle from {x , y } " - }, - { - "label":"RectangleBox", - "type":"keyword", - "info":"System`RectangleBox" - }, - { - "label":"RectangleBoxOptions", - "type":"keyword", - "info":"RectangleBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Rectang" - }, - { - "label":"RectangleChart", - "type":"keyword", - "info":"RectangleChart[{{x , y }, {x , y }, …}] makes a rectangle chart with bars of width x and height y ." - }, - { - "label":"RectangleChart3D", - "type":"keyword", - "info":"RectangleChart3D[{{x , y , z }, {x , y , z }, …}] makes a 3D rectangle chart with bars of width x , " - }, - { - "label":"RectangularRepeatingElement", - "type":"keyword", - "info":"RectangularRepeatingElement[elem] represents a rectangular array of elements of type spec in an inte" - }, - { - "label":"RecurrenceFilter", - "type":"keyword", - "info":"RecurrenceFilter[{Î\\[PlusMinus], Î\.b2}, x] filters x using a linear recurrence equation with coefficients Î\\[PlusMinus] and Î\.b2.R" - }, - { - "label":"RecurrenceTable", - "type":"keyword", - "info":"RecurrenceTable[eqns, expr, {n, n }] generates a list of values of expr for successive n based on " - }, - { - "label":"RecurringDigitsForm", - "type":"keyword", - "info":"System`RecurringDigitsForm" - }, - { - "label":"Red", - "type":"keyword", - "info":"Red represents the color red in graphics or style specifications. " - }, - { - "label":"Reduce", - "type":"keyword", - "info":"Reduce[expr, vars] reduces the statement expr by solving equations or inequalities for vars and elim" - }, - { - "label":"RefBox", - "type":"keyword", - "info":"System`RefBox" - }, - { - "label":"ReferenceLineStyle", - "type":"keyword", - "info":"ReferenceLineStyle is an option for QuantilePlot and similar functions that specifies the style used" - }, - { - "label":"ReferenceMarkers", - "type":"keyword", - "info":"System`ReferenceMarkers" - }, - { - "label":"ReferenceMarkerStyle", - "type":"keyword", - "info":"System`ReferenceMarkerStyle" - }, - { - "label":"Refine", - "type":"keyword", - "info":"Refine[expr, assum] gives the form of expr that would be obtained if symbols in it were replaced by " - }, - { - "label":"ReflectionMatrix", - "type":"keyword", - "info":"ReflectionMatrix[v] gives the matrix that represents reflection of points in a mirror normal to the " - }, - { - "label":"ReflectionTransform", - "type":"keyword", - "info":"ReflectionTransform[v] gives a TransformationFunction that represents a reflection in a mirror throu" - }, - { - "label":"Refresh", - "type":"keyword", - "info":"Refresh[expr, opts] represents an object whose value in a Dynamic should be refreshed at times speci" - }, - { - "label":"RefreshRate", - "type":"keyword", - "info":"RefreshRate is an option to Animate and related functions which specifies the refresh rate for frame" - }, - { - "label":"Region", - "type":"keyword", - "info":"Region[reg] represents a geometric region.Region[reg, options] gives a region that uses the specifie" - }, - { - "label":"RegionBinarize", - "type":"keyword", - "info":"RegionBinarize[image, marker, d] gives a binary version of image that includes the foreground pixels" - }, - { - "label":"RegionBoundary", - "type":"keyword", - "info":"RegionBoundary[reg] represents the boundary of the region reg." - }, - { - "label":"RegionBoundaryStyle", - "type":"keyword", - "info":"RegionBoundaryStyle is an option for plotting functions that specifies the boundary style for the re" - }, - { - "label":"RegionBounds", - "type":"keyword", - "info":"RegionBounds[reg] gives the bounds for the region reg.RegionBounds[reg, \"type\"] gives region bounds " - }, - { - "label":"RegionCentroid", - "type":"keyword", - "info":"RegionCentroid[reg] gives the centroid of the region reg." - }, - { - "label":"RegionCongruent", - "type":"keyword", - "info":"RegionCongruent[reg , reg ] tests whether the regions reg and reg are congruent.\n " - }, - { - "label":"RegionConvert", - "type":"keyword", - "info":"RegionConvert[reg, form] converts the region representation reg to the specified form." - }, - { - "label":"RegionDifference", - "type":"keyword", - "info":"RegionDifference[reg , reg ] gives the difference of the regions reg and reg .\n " - }, - { - "label":"RegionDilation", - "type":"keyword", - "info":"RegionDilation[reg, r] gives the dilation of the region reg by a disk of radius r centered at the or" - }, - { - "label":"RegionDimension", - "type":"keyword", - "info":"RegionDimension[reg] gives the geometric dimension of the region reg. " - }, - { - "label":"RegionDisjoint", - "type":"keyword", - "info":"RegionDisjoint[reg , reg ] returns True if the regions reg and reg are disjoint. RegionDisjoint[re" - }, - { - "label":"RegionDistance", - "type":"keyword", - "info":"RegionDistance[reg, p] gives the minimum distance from the point p to the region reg.RegionDistance[" - }, - { - "label":"RegionDistanceFunction", - "type":"keyword", - "info":"RegionDistanceFunction[reg, …] represents a function whose values give the distance from a point to" - }, - { - "label":"RegionEmbeddingDimension", - "type":"keyword", - "info":"RegionEmbeddingDimension[reg] gives the dimension of the space in which the region reg is embedded. " - }, - { - "label":"RegionEqual", - "type":"keyword", - "info":"RegionEqual[reg , reg ] returns True if the regions reg and reg are equal.RegionEqual[reg , reg , " - }, - { - "label":"RegionErosion", - "type":"keyword", - "info":"RegionErosion[reg, r] gives the erosion of the region reg by a disk of radius r centered at the orig" - }, - { - "label":"RegionFillingStyle", - "type":"keyword", - "info":"RegionFillingStyle is an option for plotting functions that specifies the style for the filled regio" - }, - { - "label":"RegionFit", - "type":"keyword", - "info":"RegionFit[{p , p , …}, \"model\"] finds a geometric region \"model\" that best fits the points p , p , …" - }, - { - "label":"RegionFunction", - "type":"keyword", - "info":"RegionFunction is an option for plotting functions that specifies the region to include in the plot " - }, - { - "label":"RegionImage", - "type":"keyword", - "info":"RegionImage[reg] returns a rasterized grayscale 2D or 3D image of reg.RegionImage[reg, {{x , x }" - }, - { - "label":"RegionIntersection", - "type":"keyword", - "info":"RegionIntersection[reg , reg , …] gives the intersection of the regions reg , reg , ….\n " - }, - { - "label":"RegionMeasure", - "type":"keyword", - "info":"RegionMeasure[reg] gives the measure of the region reg.RegionMeasure[reg, d] gives the d-dimensional" - }, - { - "label":"RegionMember", - "type":"keyword", - "info":"RegionMember[reg, {x, y, …}] gives True if the numeric point {x, y, …} is a member of the constant r" - }, - { - "label":"RegionMemberFunction", - "type":"keyword", - "info":"RegionMemberFunction[reg, …] represents a function whose values give whether a point is in a region" - }, - { - "label":"RegionMoment", - "type":"keyword", - "info":" i i i\nRegionMoment" - }, - { - "label":"RegionNearest", - "type":"keyword", - "info":"RegionNearest[reg, p] gives a point in the region reg that is nearest the point p. RegionNearest[reg" - }, - { - "label":"RegionNearestFunction", - "type":"keyword", - "info":"RegionNearestFunction[reg, …] represents a function whose values give the nearest point in the regi" - }, - { - "label":"RegionPlot", - "type":"keyword", - "info":"RegionPlot[pred, {x, x , x }, {y, y , y }] makes a plot showing the region in which pred is " - }, - { - "label":"RegionPlot3D", - "type":"keyword", - "info":"RegionPlot3D[pred, {x, x , x }, {y, y , y }, {z, z , z }] makes a plot showing the three" - }, - { - "label":"RegionProduct", - "type":"keyword", - "info":"RegionProduct[reg , reg ] represents the Cartesian product of the regions reg and reg .RegionProduc" - }, - { - "label":"RegionQ", - "type":"keyword", - "info":"RegionQ[reg] gives True if reg is a valid region and False otherwise. " - }, - { - "label":"RegionResize", - "type":"keyword", - "info":"RegionResize[reg, l] resize the region reg to have the first side length l preserving side length ra" - }, - { - "label":"RegionSimilar", - "type":"keyword", - "info":"RegionSimilar[reg , reg ] tests whether the regions reg and reg are similar.\n 1 " - }, - { - "label":"RegionSize", - "type":"keyword", - "info":"RegionSize is an option used by Printout3D to specify the overall size of an object to print for a r" - }, - { - "label":"RegionSymmetricDifference", - "type":"keyword", - "info":"RegionSymmetricDifference[reg , reg , …] represents the symmetric difference of the regions reg , re" - }, - { - "label":"RegionUnion", - "type":"keyword", - "info":"RegionUnion[reg , reg , …] gives the union of the regions reg , reg , ….\n 1 2 " - }, - { - "label":"RegionWithin", - "type":"keyword", - "info":"RegionWithin[reg , reg ] returns True if reg is contained within reg .\n 1 2 " - }, - { - "label":"RegisterExternalEvaluator", - "type":"keyword", - "info":"RegisterExternalEvaluator[sys, target] registers the target for use as an external evaluator with th" - }, - { - "label":"RegularExpression", - "type":"keyword", - "info":"RegularExpression[\"regex\"] represents the generalized regular expression specified by the string \"re" - }, - { - "label":"Regularization", - "type":"keyword", - "info":"Regularization is an option for Sum and Product that specifies what type of regularization to use." - }, - { - "label":"RegularlySampledQ", - "type":"keyword", - "info":"RegularlySampledQ[tseries] gives True if tseries is a regular time series, and False otherwise." - }, - { - "label":"RegularPolygon", - "type":"keyword", - "info":"RegularPolygon[n] gives the regular polygon with n vertices equally spaced around the unit circle.Re" - }, - { - "label":"ReIm", - "type":"keyword", - "info":"ReIm[z] gives the list {Re[z], Im[z]} of the number z." - }, - { - "label":"ReImLabels", - "type":"keyword", - "info":"ReImLabels is an option for ReImPlot that specifies labels to use for the real and imaginary compone" - }, - { - "label":"ReImPlot", - "type":"keyword", - "info":"ReImPlot[f, {x, x , x }] generates a plot of Re[f] and Im[f] as functions of x ∈ ïž\\[Micro] from x to " - }, - { - "label":"ReImStyle", - "type":"keyword", - "info":"ReImStyle is an option for ReImPlot that specifies styles to use for the real and imaginary componen" - }, - { - "label":"Reinstall", - "type":"keyword", - "info":"Reinstall[link] un-installs the specified external package and installs it again." - }, - { - "label":"RelationalDatabase", - "type":"keyword", - "info":"RelationalDatabase[…] represents schema information about a relational database.RelationalDatabase[d" - }, - { - "label":"RelationGraph", - "type":"keyword", - "info":"RelationGraph[f, {v , v , …}] gives the graph with vertices v and edges from v to v whenever f[v " - }, - { - "label":"Release", - "type":"keyword", - "info":"System`Release" - }, - { - "label":"ReleaseHold", - "type":"keyword", - "info":"ReleaseHold[expr] removes Hold, HoldForm, HoldPattern, and HoldComplete in expr. " - }, - { - "label":"ReliabilityDistribution", - "type":"keyword", - "info":"ReliabilityDistribution[bexpr, {{x , dist }, {x , dist }, …}] represents the reliability distributio" - }, - { - "label":"ReliefImage", - "type":"keyword", - "info":"ReliefImage[array] generates a relief image of an array of height values. " - }, - { - "label":"ReliefPlot", - "type":"keyword", - "info":"ReliefPlot[array] generates a relief plot of an array of height values. " - }, - { - "label":"RemoteAuthorizationCaching", - "type":"keyword", - "info":"RemoteAuthorizationCaching is an option for RemoteConnect and related functions that determines whet" - }, - { - "label":"RemoteBatchJobAbort", - "type":"keyword", - "info":"RemoteBatchJobAbort[job] aborts a remote batch job." - }, - { - "label":"RemoteBatchJobObject", - "type":"keyword", - "info":"RemoteBatchJobObject[…] represents a remote batch job submitted by RemoteBatchSubmit or RemoteBatchM" - }, - { - "label":"RemoteBatchJobs", - "type":"keyword", - "info":"RemoteBatchJobs[env] gives a list of RemoteBatchJobObject expressions representing batch jobs submit" - }, - { - "label":"RemoteBatchMapSubmit", - "type":"keyword", - "info":"RemoteBatchMapSubmit[env, f, list] submits an array batch job in which f is applied to each element " - }, - { - "label":"RemoteBatchSubmissionEnvironment", - "type":"keyword", - "info":"RemoteBatchSubmissionEnvironment[\"provider\", assoc] represents a remote batch job submission environ" - }, - { - "label":"RemoteBatchSubmit", - "type":"keyword", - "info":"RemoteBatchSubmit[env, expr] submits expr for evaluation using the remote batch submission environme" - }, - { - "label":"RemoteConnect", - "type":"keyword", - "info":"RemoteConnect[\"host\"] connects to the specified remote host.RemoteConnect[IPAddress[\"address\"]] conn" - }, - { - "label":"RemoteConnectionObject", - "type":"keyword", - "info":"RemoteConnectionObject[…] is an object that represents a remote connection." - }, - { - "label":"RemoteEvaluate", - "type":"keyword", - "info":"RemoteEvaluate[expr] gives the result of evaluating expr using your current default remote Wolfram L" - }, - { - "label":"RemoteFile", - "type":"keyword", - "info":"RemoteFile[URL[\"uri\"]] is a symbolic representation of a file on a remote machine." - }, - { - "label":"RemoteInputFiles", - "type":"keyword", - "info":"RemoteInputFiles is an option for RemoteBatchSubmit and RemoteBatchMapSubmit that specifies local fi" - }, - { - "label":"RemoteKernelObject", - "type":"keyword", - "info":"RemoteKernelObject[spec] specifies a remote kernel that can be used for RemoteEvaluate or LaunchKern" - }, - { - "label":"RemoteProviderSettings", - "type":"keyword", - "info":"RemoteProviderSettings is an option for RemoteBatchSubmit and RemoteBatchMapSubmit that specifies pr" - }, - { - "label":"RemoteRun", - "type":"keyword", - "info":"RemoteRun[\"host\", \"command\"] runs the specified operating system command on the remote host, returni" - }, - { - "label":"RemoteRunProcess", - "type":"keyword", - "info":"RemoteRunProcess[\"host\", \"command\"] runs the specified system command on the remote host, returning " - }, - { - "label":"RemovalConditions", - "type":"keyword", - "info":"RemovalConditions is an option for AttachCell that specifies conditions under which to remove the at" - }, - { - "label":"Remove", - "type":"keyword", - "info":"Remove[symbol , …] removes symbols completely, so that their names are no longer recognized by the W" - }, - { - "label":"RemoveAlphaChannel", - "type":"keyword", - "info":"RemoveAlphaChannel[color] removes opacity from color.RemoveAlphaChannel[color, bg] removes opacity b" - }, - { - "label":"RemoveAsynchronousTask", - "type":"keyword", - "info":"RemoveAsynchronousTask[asyncTask] stops asynchronous evaluations and removes asyncTask from the syst" - }, - { - "label":"RemoveAudioStream", - "type":"keyword", - "info":"RemoveAudioStream[] deletes all AudioStream objects.RemoveAudioStream[stream] deletes the AudioStrea" - }, - { - "label":"RemoveBackground", - "type":"keyword", - "info":"RemoveBackground[image] returns an image with an alpha channel where the background is transparent. " - }, - { - "label":"RemoveChannelListener", - "type":"keyword", - "info":"RemoveChannelListener[obj] removes obj from the list of currently active channel listeners.RemoveCha" - }, - { - "label":"RemoveChannelSubscribers", - "type":"keyword", - "info":"RemoveChannelSubscribers[channel] removes all subscribers from the specified channel.RemoveChannelSu" - }, - { - "label":"Removed", - "type":"keyword", - "info":"Removed[string] is printed to indicate a symbol that has been removed." - }, - { - "label":"RemoveDiacritics", - "type":"keyword", - "info":"RemoveDiacritics[string] replaces characters in string that have diacritics by their base ASCII char" - }, - { - "label":"RemoveInputStreamMethod", - "type":"keyword", - "info":"RemoveInputStreamMethod[\"name\"] removes a custom input stream method." - }, - { - "label":"RemoveOutputStreamMethod", - "type":"keyword", - "info":"RemoveOutputStreamMethod[\"name\"] removes a custom output stream method." - }, - { - "label":"RemoveProperty", - "type":"keyword", - "info":"RemoveProperty[{obj, itemspec}] removes all properties associated with itemspec in obj.RemovePropert" - }, - { - "label":"RemoveScheduledTask", - "type":"keyword", - "info":"RemoveScheduledTask[obj] removes obj from the list of currently scheduled local or cloud tasks." - }, - { - "label":"RemoveUsers", - "type":"keyword", - "info":"RemoveUsers[group, {user , …}] removes the users user from the permissions group group.\n " - }, - { - "label":"RemoveVideoStream", - "type":"keyword", - "info":"RemoveVideoStream[] deletes all VideoStream objects.RemoveVideoStream[stream] deletes the VideoStrea" - }, - { - "label":"RenameDirectory", - "type":"keyword", - "info":"RenameDirectory[dir , dir ] renames the directory dir to dir . \n 1 2 " - }, - { - "label":"RenameFile", - "type":"keyword", - "info":"RenameFile[file , file ] renames file to file . \n 1 2 1 2" - }, - { - "label":"RenderAll", - "type":"keyword", - "info":"RenderAll is an option for Graphics3D that specifies whether or not PostScript should be generated f" - }, - { - "label":"RenderingOptions", - "type":"keyword", - "info":"RenderingOptions is an option for Style, Cell and related constructs that specifies options related " - }, - { - "label":"RenewalProcess", - "type":"keyword", - "info":"RenewalProcess[rdist] represents a renewal process with interarrival times distributed according to " - }, - { - "label":"RenkoChart", - "type":"keyword", - "info":"RenkoChart[{{date , p }, {date , p }, …}] makes a Renko chart with prices p at date date .RenkoChar" - }, - { - "label":"RepairMesh", - "type":"keyword", - "info":"RepairMesh[mreg] repairs defects in the mesh region mreg.RepairMesh[mreg, {def , …}] repairs only th" - }, - { - "label":"Repeated", - "type":"keyword", - "info":"p .. or Repeated[p] is a pattern object that represents a sequence of one or more expressions, each " - }, - { - "label":"RepeatedNull", - "type":"keyword", - "info":"p ... or RepeatedNull[p] is a pattern object that represents a sequence of zero or more expressions," - }, - { - "label":"RepeatedString", - "type":"keyword", - "info":"RepeatedString is an internal symbol used for formatting and printing." - }, - { - "label":"RepeatedTiming", - "type":"keyword", - "info":"RepeatedTiming[expr] evaluates expr repeatedly and returns a list of the average time in seconds use" - }, - { - "label":"RepeatingElement", - "type":"keyword", - "info":"RepeatingElement[spec] represents an arbitrarily repeated type of element in an interpreter, API or " - }, - { - "label":"Replace", - "type":"keyword", - "info":"Replace[expr, rules] applies a rule or list of rules in an attempt to transform the entire expressio" - }, - { - "label":"ReplaceAll", - "type":"keyword", - "info":"expr\/.rules or ReplaceAll[expr, rules] applies a rule or list of rules in an attempt to transform ea" - }, - { - "label":"ReplaceHeldPart", - "type":"keyword", - "info":"System`ReplaceHeldPart" - }, - { - "label":"ReplaceImageValue", - "type":"keyword", - "info":"ReplaceImageValue[image, pos  val] changes the pixel values at position pos in image to val.Replace" - }, - { - "label":"ReplaceList", - "type":"keyword", - "info":"ReplaceList[expr, rules] attempts to transform the entire expression expr by applying a rule or list" - }, - { - "label":"ReplacePart", - "type":"keyword", - "info":" th\nReplacePart[expr, i  new] yields" - }, - { - "label":"ReplacePixelValue", - "type":"keyword", - "info":"ReplacePixelValue[image, ppos  val] changes the pixel values at pixel position ppos in image to val" - }, - { - "label":"ReplaceRepeated", - "type":"keyword", - "info":"expr\/\/.rules repeatedly performs replacements until expr no longer changes. ReplaceRepeated[rules] r" - }, - { - "label":"ReplicateLayer", - "type":"keyword", - "info":"ReplicateLayer[n] represents a net layer that takes an input of dimensions {d , d , …} and replicate" - }, - { - "label":"RequiredPhysicalQuantities", - "type":"keyword", - "info":"RequiredPhysicalQuantities is an option for FormulaLookup that specifies physical quantities that mu" - }, - { - "label":"Resampling", - "type":"keyword", - "info":"Resampling is an option that specifies the method to be used for resampling images or arrays." - }, - { - "label":"ResamplingAlgorithmData", - "type":"keyword", - "info":"ResamplingAlgorithmData[rs, \"prop\"] gives the specified property \"prop\" for the resampling rs." - }, - { - "label":"ResamplingMethod", - "type":"keyword", - "info":"ResamplingMethod is an option for functions such as TemporalData and MovingMap that specifies how va" - }, - { - "label":"Rescale", - "type":"keyword", - "info":"Rescale[x, {min, max}] gives x rescaled to run from 0 to 1 over the range min to max. Rescale[x, {mi" - }, - { - "label":"RescalingTransform", - "type":"keyword", - "info":"RescalingTransform[{{x , x }, {y , y }, …}, {{xp , xp }, …}] gives a TransformationFunct" - }, - { - "label":"ResetDirectory", - "type":"keyword", - "info":"ResetDirectory[] resets the current working directory to its previous value. " - }, - { - "label":"ResetMenusPacket", - "type":"keyword", - "info":"System`ResetMenusPacket" - }, - { - "label":"ResetScheduledTask", - "type":"keyword", - "info":"ResetScheduledTask[obj, timespec] resets the timing for a scheduled task to timespec.ResetScheduled" - }, - { - "label":"ReshapeLayer", - "type":"keyword", - "info":"ReshapeLayer[dims] represents a net layer that reinterprets the input to be an array of dimensions d" - }, - { - "label":"Residue", - "type":"keyword", - "info":"Residue[expr, {z, z }] finds the residue of expr at the point z = z . \n 0 " - }, - { - "label":"ResizeLayer", - "type":"keyword", - "info":"ResizeLayer[{d}] represents a layer performing one-dimensional resizing of a two-dimensional array.R" - }, - { - "label":"Resolve", - "type":"keyword", - "info":"Resolve[expr] attempts to resolve expr into a form that eliminates ForAll and Exists quantifiers. Re" - }, - { - "label":"ResolveContextAliases", - "type":"keyword", - "info":"ResolveContextAliases is an option for Names, Contexts and related functions to control whether to r" - }, - { - "label":"ResourceAcquire", - "type":"keyword", - "info":"System`ResourceAcquire" - }, - { - "label":"ResourceData", - "type":"keyword", - "info":"ResourceData[resource] gives the primary content of the specified resource.ResourceData[resource, el" - }, - { - "label":"ResourceFunction", - "type":"keyword", - "info":"ResourceFunction[resource] represents the function associated with the specified resource.ResourceFu" - }, - { - "label":"ResourceObject", - "type":"keyword", - "info":"ResourceObject[\"name\"] represents a resource with the specified name.ResourceObject[\"uuid\"] represen" - }, - { - "label":"ResourceRegister", - "type":"keyword", - "info":"ResourceRegister[resource] creates a persistent cache of a resource object that can be referenced by" - }, - { - "label":"ResourceRemove", - "type":"keyword", - "info":"ResourceRemove[resource] removes the specified resource from the system on which it is run." - }, - { - "label":"ResourceSearch", - "type":"keyword", - "info":"ResourceSearch[form] gives a dataset of resources that contain text matching form.ResourceSearch[for" - }, - { - "label":"ResourceSubmissionObject", - "type":"keyword", - "info":"System`ResourceSubmissionObject" - }, - { - "label":"ResourceSubmit", - "type":"keyword", - "info":"ResourceSubmit[resource] submits the specified resource object to be reviewed for publication.Resour" - }, - { - "label":"ResourceSystemBase", - "type":"keyword", - "info":"ResourceSystemBase is an option for ResourceObject, ResourceSearch and related functions specifying " - }, - { - "label":"ResourceSystemPath", - "type":"keyword", - "info":"ResourceSystemPath is an option for ResourceObject, ResourceSearch and related functions for specify" - }, - { - "label":"ResourceUpdate", - "type":"keyword", - "info":"ResourceUpdate[resource] updates to the latest version of the specified resource object.ResourceUpda" - }, - { - "label":"ResourceVersion", - "type":"keyword", - "info":"ResourceVersion is an option for ResourceObject, ResourceFunction and related functions for specifyi" - }, - { - "label":"ResponseForm", - "type":"keyword", - "info":"ResponseForm[expr, \"fmt\"] represents a response record to be given in a specified format when reques" - }, - { - "label":"Rest", - "type":"keyword", - "info":"Rest[expr] gives expr with the first element removed. " - }, - { - "label":"RestartInterval", - "type":"keyword", - "info":"RestartInterval is an option controlling the restart behavior of functions such as ContinuousTask." - }, - { - "label":"Restricted", - "type":"keyword", - "info":"Restricted[form, cond, …] represents a form for Interpreter and related functions restricted accordi" - }, - { - "label":"Resultant", - "type":"keyword", - "info":"Resultant[poly , poly , var] computes the resultant of the polynomials poly and poly with respect " - }, - { - "label":"ResumePacket", - "type":"keyword", - "info":"ResumePacket[] is a WSTP packet used for synchronization with the Wolfram Language kernel." - }, - { - "label":"Return", - "type":"keyword", - "info":"Return[expr] returns the value expr from a function. Return[] returns the value Null. \n" - }, - { - "label":"ReturnCreatesNewCell", - "type":"keyword", - "info":"System`ReturnCreatesNewCell" - }, - { - "label":"ReturnEntersInput", - "type":"keyword", - "info":"System`ReturnEntersInput" - }, - { - "label":"ReturnExpressionPacket", - "type":"keyword", - "info":"ReturnExpressionPacket[expr] is a WSTP packet that contains the expression expr, the result of an En" - }, - { - "label":"ReturnInputFormPacket", - "type":"keyword", - "info":"ReturnInputFormPacket is an internal symbol used for formatting." - }, - { - "label":"ReturnPacket", - "type":"keyword", - "info":"ReturnPacket[expr] is a WSTP packet that contains the expression expr, the result of an EvaluatePack" - }, - { - "label":"ReturnReceiptFunction", - "type":"keyword", - "info":"ReturnReceiptFunction is an option for MailReceiverFunction that specifies what function to apply if" - }, - { - "label":"ReturnTextPacket", - "type":"keyword", - "info":"ReturnTextPacket[string] is a WSTP packet containing string, the result of an EnterTextPacket evalua" - }, - { - "label":"Reverse", - "type":"keyword", - "info":"Reverse[expr] reverses the order of the elements in expr. Reverse[expr, n] reverses elements at leve" - }, - { - "label":"ReverseApplied", - "type":"keyword", - "info":"ReverseApplied[f] represents a form of f that takes arguments in reverse order so that ReverseApplie" - }, - { - "label":"ReverseBiorthogonalSplineWavelet", - "type":"keyword", - "info":"ReverseBiorthogonalSplineWavelet[] represents a reverse biorthogonal spline wavelet of order 4 and d" - }, - { - "label":"ReverseElement", - "type":"keyword", - "info":"ReverseElement[x, y, …] displays as x ∋ y ∋ …." - }, - { - "label":"ReverseEquilibrium", - "type":"keyword", - "info":"ReverseEquilibrium[x, y, …] displays as x ⇋ y ⇋ …." - }, - { - "label":"ReverseGraph", - "type":"keyword", - "info":"ReverseGraph[g] gives the reverse graph of the directed graph g.ReverseGraph[{v  w, …}] uses rules " - }, - { - "label":"ReverseSort", - "type":"keyword", - "info":"ReverseSort[list] sorts the elements of list into reverse canonical order. ReverseSort[list, p] sort" - }, - { - "label":"ReverseSortBy", - "type":"keyword", - "info":"ReverseSortBy[list, f] sorts the elements of list using the reverse canonical order defined by apply" - }, - { - "label":"ReverseUpEquilibrium", - "type":"keyword", - "info":"ReverseUpEquilibrium[x, y, …] displays as x ⥯ y ⥯ …." - }, - { - "label":"RevolutionAxis", - "type":"keyword", - "info":"RevolutionAxis is an option for RevolutionPlot3D which specifies the revolution axis around which th" - }, - { - "label":"RevolutionPlot3D", - "type":"keyword", - "info":"RevolutionPlot3D[f , {t, t , t }] generates a plot of the surface of revolution with height f a" - }, - { - "label":"RGBColor", - "type":"keyword", - "info":"RGBColor[r, g, b] represents a color in the RGB color space with red, blue and green components. RGB" - }, - { - "label":"RiccatiSolve", - "type":"keyword", - "info":" " - }, - { - "label":"RiceDistribution", - "type":"keyword", - "info":"RiceDistribution[Î\\[PlusMinus], Î\.b2] represents a Rice distribution with shape parameters Î\\[PlusMinus] and Î\.b2.RiceDistribution" - }, - { - "label":"RidgeFilter", - "type":"keyword", - "info":"RidgeFilter[data] computes a measure for the presence of a ridge at every position of data.RidgeFilt" - }, - { - "label":"RiemannR", - "type":"keyword", - "info":"RiemannR[x] gives the Riemann prime counting function R(x)." - }, - { - "label":"RiemannSiegelTheta", - "type":"keyword", - "info":"RiemannSiegelTheta[t] gives the Riemann–Siegel function ϑ(t). " - }, - { - "label":"RiemannSiegelZ", - "type":"keyword", - "info":"RiemannSiegelZ[t] gives the Riemann–Siegel function Z(t). " - }, - { - "label":"RiemannXi", - "type":"keyword", - "info":"RiemannXi[s] gives the Riemann xi function ξ(s)." - }, - { - "label":"Riffle", - "type":"keyword", - "info":" " - }, - { - "label":"Right", - "type":"keyword", - "info":"Right is a symbol that represents the right-hand side for purposes of alignment and positioning. " - }, - { - "label":"RightArrow", - "type":"keyword", - "info":"RightArrow[x, y, …] displays as x → y → …." - }, - { - "label":"RightArrowBar", - "type":"keyword", - "info":"RightArrowBar[x, y, …] displays as x ⇥ y ⇥ …." - }, - { - "label":"RightArrowLeftArrow", - "type":"keyword", - "info":"RightArrowLeftArrow[x, y, …] displays as x ⇄ y ⇄ …." - }, - { - "label":"RightComposition", - "type":"keyword", - "info":"RightComposition[f , f , f , …] represents a composition on the right of the functions f , f , f , …" - }, - { - "label":"RightCosetRepresentative", - "type":"keyword", - "info":"RightCosetRepresentative[group, g] returns the smallest element in the right coset of products of th" - }, - { - "label":"RightDownTeeVector", - "type":"keyword", - "info":"RightDownTeeVector[x, y, …] displays as x ⥝ y ⥝ …." - }, - { - "label":"RightDownVector", - "type":"keyword", - "info":"RightDownVector[x, y, …] displays as x ⇂ y ⇂ …." - }, - { - "label":"RightDownVectorBar", - "type":"keyword", - "info":"RightDownVectorBar[x, y, …] displays as x ⥕ y ⥕ …." - }, - { - "label":"RightTee", - "type":"keyword", - "info":"RightTee[x, y] displays as x ⊢ y." - }, - { - "label":"RightTeeArrow", - "type":"keyword", - "info":"RightTeeArrow[x, y, …] displays as x ↦ y ↦ …." - }, - { - "label":"RightTeeVector", - "type":"keyword", - "info":"RightTeeVector[x, y, …] displays as x ⥛ y ⥛ …." - }, - { - "label":"RightTriangle", - "type":"keyword", - "info":"RightTriangle[x, y, …] displays as x âŠ\.b3 y âŠ\.b3 …." - }, - { - "label":"RightTriangleBar", - "type":"keyword", - "info":"RightTriangleBar[x, y, …] displays as x ⧐ y ⧐ …." - }, - { - "label":"RightTriangleEqual", - "type":"keyword", - "info":"RightTriangleEqual[x, y, …] displays as x âŠ\\[Micro] y âŠ\\[Micro] …." - }, - { - "label":"RightUpDownVector", - "type":"keyword", - "info":"RightUpDownVector[x, y, …] displays as x ⥏ y ⥏ …." - }, - { - "label":"RightUpTeeVector", - "type":"keyword", - "info":"RightUpTeeVector[x, y, …] displays as x ⥜ y ⥜ …." - }, - { - "label":"RightUpVector", - "type":"keyword", - "info":"RightUpVector[x, y, …] displays as x ↾ y ↾ …." - }, - { - "label":"RightUpVectorBar", - "type":"keyword", - "info":"RightUpVectorBar[x, y, …] displays as x ⥔ y ⥔ …." - }, - { - "label":"RightVector", - "type":"keyword", - "info":"RightVector[x, y, …] displays as x ⇀ y ⇀ …." - }, - { - "label":"RightVectorBar", - "type":"keyword", - "info":"RightVectorBar[x, y, …] displays as x ⥓ y ⥓ …." - }, - { - "label":"RipleyK", - "type":"keyword", - "info":"RipleyK[pdata, r] estimates Ripley's K function K(r) at radius r for point data pdata.RipleyK[pproc," - }, - { - "label":"RipleyRassonRegion", - "type":"keyword", - "info":"RipleyRassonRegion[pdata] gives an estimated observation based on the point data pdata. " - }, - { - "label":"RiskAchievementImportance", - "type":"keyword", - "info":"RiskAchievementImportance[rdist, t] gives the risk achievement importances for all components in the" - }, - { - "label":"RiskReductionImportance", - "type":"keyword", - "info":"RiskReductionImportance[rdist, t] gives the risk reduction importances for all components in the Rel" - }, - { - "label":"RobustConvexOptimization", - "type":"keyword", - "info":"RobustConvexOptimization[f, ForAll[pars, pcons, vcons], vars] finds values of vars that give the min" - }, - { - "label":"RogersTanimotoDissimilarity", - "type":"keyword", - "info":"RogersTanimotoDissimilarity[u, v] gives the Rogers–Tanimoto dissimilarity between Boolean vectors u " - }, - { - "label":"RollPitchYawAngles", - "type":"keyword", - "info":"RollPitchYawAngles[r] gives the roll-pitch-yaw angles {Î\\[PlusMinus], Î\.b2, Î\.b3} corresponding to the rotation matrix" - }, - { - "label":"RollPitchYawMatrix", - "type":"keyword", - "info":"RollPitchYawMatrix[{Î\\[PlusMinus], Î\.b2, Î\.b3}] gives the 3D rotation matrix formed by rotating by Î\\[PlusMinus] around the initia" - }, - { - "label":"RomanNumeral", - "type":"keyword", - "info":"RomanNumeral[n] gives a string corresponding to the Roman numeral form of the integer n." - }, - { - "label":"Root", - "type":"keyword", - "info":" " - }, - { - "label":"RootApproximant", - "type":"keyword", - "info":"RootApproximant[x] converts the number x to one of the \"simplest\" algebraic numbers that approximate" - }, - { - "label":"RootIntervals", - "type":"keyword", - "info":"RootIntervals[{poly , poly , …}] gives a list of isolating intervals for the real roots of any of th" - }, - { - "label":"RootLocusPlot", - "type":"keyword", - "info":"RootLocusPlot[lsys, {k, k , k }] generates a root locus plot of a linear time-invariant system l" - }, - { - "label":"RootMeanSquare", - "type":"keyword", - "info":"RootMeanSquare[list] gives the root mean square of values in list.RootMeanSquare[dist] gives the roo" - }, - { - "label":"RootOfUnityQ", - "type":"keyword", - "info":"RootOfUnityQ[a] yields True if a is a root of unity, and yields False otherwise." - }, - { - "label":"RootReduce", - "type":"keyword", - "info":"RootReduce[expr] attempts to reduce expr to a single Root object. " - }, - { - "label":"Roots", - "type":"keyword", - "info":"Roots[lhs == rhs, var] yields a disjunction of equations which represent the roots of a polynomial e" - }, - { - "label":"RootSum", - "type":"keyword", - "info":"RootSum[f, form] represents the sum of form[x] for all x that satisfy the polynomial equation f[x] =" - }, - { - "label":"Rotate", - "type":"keyword", - "info":"Rotate[g, θ] represents 2D graphics primitives or any other objects g rotated counterclockwise by θ " - }, - { - "label":"RotateLabel", - "type":"keyword", - "info":"RotateLabel is an option for graphics and related functions that specifies whether labels on vertica" - }, - { - "label":"RotateLeft", - "type":"keyword", - "info":"RotateLeft[expr, n] cycles the elements in expr n positions to the left. RotateLeft[expr] cycles one" - }, - { - "label":"RotateRight", - "type":"keyword", - "info":"RotateRight[expr, n] cycles the elements in expr n positions to the right. RotateRight[expr] cycles " - }, - { - "label":"RotationAction", - "type":"keyword", - "info":"RotationAction is an option for three-dimensional graphics functions that specifies how to render 3D" - }, - { - "label":"RotationBox", - "type":"keyword", - "info":"System`RotationBox" - }, - { - "label":"RotationBoxOptions", - "type":"keyword", - "info":"RotationBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Rotation" - }, - { - "label":"RotationMatrix", - "type":"keyword", - "info":"RotationMatrix[θ] gives the 2D rotation matrix that rotates 2D vectors counterclockwise by θ radians" - }, - { - "label":"RotationTransform", - "type":"keyword", - "info":"RotationTransform[θ] gives a TransformationFunction that represents a rotation in 2D by θ radians ab" - }, - { - "label":"Round", - "type":"keyword", - "info":"Round[x] gives the integer closest to x. Round[x, a] rounds to the nearest multiple of a. \n" - }, - { - "label":"RoundImplies", - "type":"keyword", - "info":"System`RoundImplies" - }, - { - "label":"RoundingRadius", - "type":"keyword", - "info":"RoundingRadius is an option for Rectangle, Framed, and related functions that specifies the radius o" - }, - { - "label":"Row", - "type":"keyword", - "info":"Row[{expr , expr , …}] is an object that formats with the expr arranged in a row, potentially exten" - }, - { - "label":"RowAlignments", - "type":"keyword", - "info":"RowAlignments is an option for the low-level function GridBox that specifies how entries in each row" - }, - { - "label":"RowBackgrounds", - "type":"keyword", - "info":"System`RowBackgrounds" - }, - { - "label":"RowBox", - "type":"keyword", - "info":"RowBox[{box , box , …}] is a low-level box construct that represents a row of boxes or strings in a " - }, - { - "label":"RowHeights", - "type":"keyword", - "info":"System`RowHeights" - }, - { - "label":"RowLines", - "type":"keyword", - "info":"RowLines is an option for the low-level function GridBox that specifies whether lines should be draw" - }, - { - "label":"RowMinHeight", - "type":"keyword", - "info":"RowMinHeight is an option for the low-level function GridBox that specifies the minimum total height" - }, - { - "label":"RowReduce", - "type":"keyword", - "info":"RowReduce[m] gives the row‐reduced form of the matrix m. " - }, - { - "label":"RowsEqual", - "type":"keyword", - "info":"RowsEqual is an option for the low-level function GridBox that specifies whether all rows in the gri" - }, - { - "label":"RowSpacings", - "type":"keyword", - "info":"RowSpacings is an option for the low-level function GridBox that specifies the spaces in x heights t" - }, - { - "label":"RSolve", - "type":"keyword", - "info":"RSolve[eqn, a[n], n] solves a recurrence equation for a[n]. RSolve[{eqn , eqn , …}, {a [n], a [n], …" - }, - { - "label":"RSolveValue", - "type":"keyword", - "info":"RSolveValue[eqn, expr, n] gives the value of expr determined by a symbolic solution to the ordinary " - }, - { - "label":"RudinShapiro", - "type":"keyword", - "info":" th\nRudinShapiro[n] gives the n term in the Rudin–Shapiro sequence." - }, - { - "label":"RudvalisGroupRu", - "type":"keyword", - "info":"RudvalisGroupRu[] represents the sporadic simple Rudvalis group Ru." - }, - { - "label":"Rule", - "type":"keyword", - "info":"lhs -> rhs or lhs  rhs represents a rule that transforms lhs to rhs. " - }, - { - "label":"RuleCondition", - "type":"keyword", - "info":"RuleCondition is an internal symbol." - }, - { - "label":"RuleDelayed", - "type":"keyword", - "info":"lhs :> rhs or lhs  rhs represents a rule that transforms lhs to rhs, evaluating rhs only after the " - }, - { - "label":"RuleForm", - "type":"keyword", - "info":"RuleForm is an internal symbol used for formatting and printing." - }, - { - "label":"RulePlot", - "type":"keyword", - "info":"RulePlot[sys] generates a plot representing the rule for the computational system sys.RulePlot[sys, " - }, - { - "label":"RulerUnits", - "type":"keyword", - "info":"RulerUnits is an option for notebooks that specifies the units in the ruler toolbar." - }, - { - "label":"RulesTree", - "type":"keyword", - "info":"RulesTree[data  {rule , rule , …}] gives a tree whose root contains data and that has children spec" - }, - { - "label":"Run", - "type":"keyword", - "info":"Run[\"command\"] runs command as an external operating system command, returning the exit code obtaine" - }, - { - "label":"RunProcess", - "type":"keyword", - "info":"RunProcess[\"command\"] runs the specified external command, returning information on the outcome.\nRun" - }, - { - "label":"RunScheduledTask", - "type":"keyword", - "info":"RunScheduledTask[expr] schedules and starts a local scheduled task that will repeatedly evaluate exp" - }, - { - "label":"RunThrough", - "type":"keyword", - "info":"RunThrough[\"command\", expr] executes an external command, giving the printed form of expr as input a" - }, - { - "label":"RuntimeAttributes", - "type":"keyword", - "info":"RuntimeAttributes is an option for Compile that specifies attributes for the compiled function it cr" - }, - { - "label":"RuntimeOptions", - "type":"keyword", - "info":"RuntimeOptions is an option for Compile that specifies runtime settings for the compiled function it" - }, - { - "label":"RussellRaoDissimilarity", - "type":"keyword", - "info":"RussellRaoDissimilarity[u, v] gives the Russell–Rao dissimilarity between Boolean vectors u and v." - }, - { - "label":"SameQ", - "type":"keyword", - "info":"lhs === rhs yields True if the expression lhs is identical to rhs, and yields False otherwise. " - }, - { - "label":"SameTest", - "type":"keyword", - "info":"SameTest is an option whose setting gives a pairwise comparison function to determine whether expres" - }, - { - "label":"SameTestProperties", - "type":"keyword", - "info":"SameTestProperties is an option for set operations on entity classes whose setting gives the propert" - }, - { - "label":"SampledEntityClass", - "type":"keyword", - "info":"SampledEntityClass[class, n] represents an entity class containing n entities from class.SampledEnti" - }, - { - "label":"SampleDepth", - "type":"keyword", - "info":"SampleDepth is an option for sound primitives that specifies how many bits should be used to encode " - }, - { - "label":"SampledSoundFunction", - "type":"keyword", - "info":"SampledSoundFunction[f, n, r] is a sound primitive that represents a sound whose amplitude sampled r" - }, - { - "label":"SampledSoundList", - "type":"keyword", - "info":"SampledSoundList[{a , a , …}, r] is a sound primitive that represents a sound whose amplitude has le" - }, - { - "label":"SampleRate", - "type":"keyword", - "info":"SampleRate is an option that specifies the number of samples per second for sound and signal process" - }, - { - "label":"SamplingPeriod", - "type":"keyword", - "info":"SamplingPeriod is an option to StateSpaceModel etc. that specifies the sampling period." - }, - { - "label":"SARIMAProcess", - "type":"keyword", - "info":"SARIMAProcess[{a , …, a }, d, {b , …, b }, {s, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, Î\.b4, {Î\.b2 , …, Î\.b2 }}, v] represents a seasona" - }, - { - "label":"SARMAProcess", - "type":"keyword", - "info":"SARMAProcess[{a , …, a }, {b , …, b }, {s, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {Î\.b2 , …, Î\.b2 }}, v] represents a weakly station" - }, - { - "label":"SASTriangle", - "type":"keyword", - "info":"SASTriangle[a, Î\.b3, b] returns a filled triangle with sides of length a and b and angle Î\.b3 between them" - }, - { - "label":"SatelliteData", - "type":"keyword", - "info":"SatelliteData[entity, property] gives the value of the specified property for the satellite entity.S" - }, - { - "label":"SatisfiabilityCount", - "type":"keyword", - "info":"SatisfiabilityCount[bf] counts the number of possible combinations of variable values that yield Tru" - }, - { - "label":"SatisfiabilityInstances", - "type":"keyword", - "info":"SatisfiabilityInstances[bf] attempts to find a choice of variables that makes the Boolean function b" - }, - { - "label":"SatisfiableQ", - "type":"keyword", - "info":"SatisfiableQ[bf] gives True if a combination of values of variables exists that makes the Boolean fu" - }, - { - "label":"Saturday", - "type":"keyword", - "info":"Saturday is a day of the week." - }, - { - "label":"Save", - "type":"keyword", - "info":"Save[\"filename\", symbol] appends definitions associated with the specified symbol to a file. Save[\"f" - }, - { - "label":"Saveable", - "type":"keyword", - "info":"Saveable is an option for notebooks that specifies whether a notebook can be saved." - }, - { - "label":"SaveAutoDelete", - "type":"keyword", - "info":"System`SaveAutoDelete" - }, - { - "label":"SaveConnection", - "type":"keyword", - "info":"SaveConnection is an option for ServiceConnect that determines whether the connection should be save" - }, - { - "label":"SaveDefinitions", - "type":"keyword", - "info":"SaveDefinitions is an option to Manipulate and related functions that specifies whether current defi" - }, - { - "label":"SavitzkyGolayMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"SawtoothWave", - "type":"keyword", - "info":"SawtoothWave[x] gives a sawtooth wave that varies from 0 to 1 with unit period.SawtoothWave[{min, ma" - }, - { - "label":"Scale", - "type":"keyword", - "info":"Scale[g, s] represents graphics primitives g scaled by a factor s. Scale[g, s, {x, y, …}] scales wit" - }, - { - "label":"Scaled", - "type":"keyword", - "info":"Scaled[{x, y, …}] gives the position of a graphical object in terms of coordinates scaled to run fro" - }, - { - "label":"ScaleDivisions", - "type":"keyword", - "info":"ScaleDivisions is an option for gauge functions that specifies how many tick marks should be drawn o" - }, - { - "label":"ScaledMousePosition", - "type":"keyword", - "info":"System`ScaledMousePosition" - }, - { - "label":"ScaleOrigin", - "type":"keyword", - "info":"ScaleOrigin is an option for gauge functions that describes how to position the scale on the gauge." - }, - { - "label":"ScalePadding", - "type":"keyword", - "info":"ScalePadding is an option for gauge functions that specifies how much space to leave around the scal" - }, - { - "label":"ScaleRanges", - "type":"keyword", - "info":"ScaleRanges is an option for gauge functions that describes how to draw sections of the scale." - }, - { - "label":"ScaleRangeStyle", - "type":"keyword", - "info":"ScaleRangeStyle is an option for gauge functions to describe how to style different sections of the " - }, - { - "label":"ScalingFunctions", - "type":"keyword", - "info":"ScalingFunctions is an option for ListPlot, BarChart, Histogram, and other plotting functions that s" - }, - { - "label":"ScalingMatrix", - "type":"keyword", - "info":"ScalingMatrix[{s , s , …}] gives the matrix corresponding to scaling by a factor s along each coord" - }, - { - "label":"ScalingTransform", - "type":"keyword", - "info":"ScalingTransform[{s , s , …}] gives a TransformationFunction that represents scaling by a factor s " - }, - { - "label":"Scan", - "type":"keyword", - "info":"Scan[f, expr] evaluates f applied to each element of expr in turn. Scan[f, expr, levelspec] applies " - }, - { - "label":"ScheduledTask", - "type":"keyword", - "info":"ScheduledTask[expr, timespec] represents a scheduled task to be evaluated on the schedule defined by" - }, - { - "label":"ScheduledTaskActiveQ", - "type":"keyword", - "info":"ScheduledTaskActiveQ[obj] yields True if obj represents an active task, and False otherwise." - }, - { - "label":"ScheduledTaskInformation", - "type":"keyword", - "info":"ScheduledTaskInformation[CloudObject] returns information about a task.\nScheduledTaskInformation[Clo" - }, - { - "label":"ScheduledTaskInformationData", - "type":"keyword", - "info":"System`ScheduledTaskInformationData" - }, - { - "label":"ScheduledTaskObject", - "type":"keyword", - "info":"ScheduledTaskObject[id, expr, spec, …] is a task object specifying future evaluation of expr accordi" - }, - { - "label":"ScheduledTasks", - "type":"keyword", - "info":"ScheduledTasks[] returns a list of ScheduledTaskObject and CloudObject expressions that represent cu" - }, - { - "label":"SchurDecomposition", - "type":"keyword", - "info":"SchurDecomposition[m] yields the Schur decomposition for a numerical matrix m, given as a list {q, t" - }, - { - "label":"ScientificForm", - "type":"keyword", - "info":"ScientificForm[expr] prints with all real numbers in expr given in scientific notation. ScientificFo" - }, - { - "label":"ScientificNotationThreshold", - "type":"keyword", - "info":"ScientificNotationThreshold is an option for NumberForm and related functions that specifies the thr" - }, - { - "label":"ScorerGi", - "type":"keyword", - "info":"ScorerGi[z] gives the Scorer function Gi(z)." - }, - { - "label":"ScorerGiPrime", - "type":"keyword", - "info":" â€\.b2\nScorerGiPrime[z] gives the derivati" - }, - { - "label":"ScorerHi", - "type":"keyword", - "info":"ScorerHi[z] gives the Scorer function Hi(z)." - }, - { - "label":"ScorerHiPrime", - "type":"keyword", - "info":" â€\.b2\nScorerHiPrime[z] gives the derivati" - }, - { - "label":"ScreenRectangle", - "type":"keyword", - "info":"ScreenRectangle is a global option that specifies the position of the primary screen by giving the c" - }, - { - "label":"ScreenStyleEnvironment", - "type":"keyword", - "info":"ScreenStyleEnvironment is an option for notebooks that specifies the style environment to be used in" - }, - { - "label":"ScriptBaselineShifts", - "type":"keyword", - "info":"ScriptBaselineShifts is an option for Style that specifies the minimum distance in x‐heights to shif" - }, - { - "label":"ScriptForm", - "type":"keyword", - "info":"System`ScriptForm" - }, - { - "label":"ScriptLevel", - "type":"keyword", - "info":"ScriptLevel is an option for selections that is used in determining the font size of modifiers such " - }, - { - "label":"ScriptMinSize", - "type":"keyword", - "info":"ScriptMinSize is an option for Style which specifies the minimum font size to use in rendering subsc" - }, - { - "label":"ScriptRules", - "type":"keyword", - "info":"System`ScriptRules" - }, - { - "label":"ScriptSizeMultipliers", - "type":"keyword", - "info":"ScriptSizeMultipliers is an option for Style that specifies how much smaller to render each successi" - }, - { - "label":"Scrollbars", - "type":"keyword", - "info":"Scrollbars is an option for Pane that specifies whether scrollbars should be displayed." - }, - { - "label":"ScrollingOptions", - "type":"keyword", - "info":"ScrollingOptions is an option for notebooks that specifies settings for scrolling." - }, - { - "label":"ScrollPosition", - "type":"keyword", - "info":"ScrollPosition is an option for Pane that specifies the scroll position of the contents of the pane." - }, - { - "label":"SearchAdjustment", - "type":"keyword", - "info":"SearchAdjustment[query, w] represents a component of a search query that is to be treated as having " - }, - { - "label":"SearchIndexObject", - "type":"keyword", - "info":"SearchIndexObject[loc] represents a search index object, as created by CreateSearchIndex.SearchIndex" - }, - { - "label":"SearchIndices", - "type":"keyword", - "info":"SearchIndices[] returns a list with all the locally stored instances of SearchIndexObject." - }, - { - "label":"SearchQueryString", - "type":"keyword", - "info":"SearchQueryString[\"query\"] represents a search engine-style query in TextSearch and related function" - }, - { - "label":"SearchResultObject", - "type":"keyword", - "info":"SearchResultObject[…] represents a result from TextSearch[…] and related functions." - }, - { - "label":"Sec", - "type":"keyword", - "info":"Sec[z] gives the secant of z. " - }, - { - "label":"Sech", - "type":"keyword", - "info":"Sech[z] gives the hyperbolic secant of z. " - }, - { - "label":"SechDistribution", - "type":"keyword", - "info":"SechDistribution[μ, σ] represents the hyperbolic secant distribution with location parameter μ and s" - }, - { - "label":"SecondOrderConeOptimization", - "type":"keyword", - "info":"SecondOrderConeOptimization[f, cons, vars] finds values of variables vars that minimize the linear o" - }, - { - "label":"SectionGrouping", - "type":"keyword", - "info":"System`SectionGrouping" - }, - { - "label":"SectorChart", - "type":"keyword", - "info":"SectorChart[{{x , y }, {x , y }, …}] makes a sector chart with sector angles proportional to x and " - }, - { - "label":"SectorChart3D", - "type":"keyword", - "info":"SectorChart3D[{{x , y , z }, {x , y , z }, …}] makes a 3D sector chart with sector angle proportiona" - }, - { - "label":"SectorOrigin", - "type":"keyword", - "info":"SectorOrigin is an option to PieChart and related functions that specifies where sectors should star" - }, - { - "label":"SectorSpacing", - "type":"keyword", - "info":"SectorSpacing is an option to PieChart and related functions that specifies radial spacing of sector" - }, - { - "label":"SecuredAuthenticationKey", - "type":"keyword", - "info":"SecuredAuthenticationKey[assoc] represents a secured authentication key with credentials and detail" - }, - { - "label":"SecuredAuthenticationKeys", - "type":"keyword", - "info":"SecuredAuthenticationKeys[] retrieves a list of all instances of SecuredAuthenticationKey owned by t" - }, - { - "label":"SecurityCertificate", - "type":"keyword", - "info":"SecurityCertificate[assoc] represents the security certificate issued for a public key." - }, - { - "label":"SeedRandom", - "type":"keyword", - "info":"SeedRandom[s] resets the pseudorandom generator, using s as a seed. SeedRandom[] resets the generato" - }, - { - "label":"Select", - "type":"keyword", - "info":"Select[list, crit] picks out all elements e of list for which crit[e ] is True. Select[list, crit, " - }, - { - "label":"Selectable", - "type":"keyword", - "info":"Selectable is an option for displayed objects, cells, and notebooks that specifies whether their con" - }, - { - "label":"SelectComponents", - "type":"keyword", - "info":"SelectComponents[{image, lmat}, crit] selects components of image indicated by the label matrix lmat" - }, - { - "label":"SelectedCells", - "type":"keyword", - "info":"SelectedCells[notebook] returns a list of CellObject expressions corresponding to the currently sele" - }, - { - "label":"SelectedNotebook", - "type":"keyword", - "info":"SelectedNotebook[] gives the currently selected notebook in the front end. " - }, - { - "label":"SelectFirst", - "type":"keyword", - "info":"SelectFirst[{e , e , …}, crit] gives the first e for which crit[e ] is True, or Missing[\"NotFound\"]" - }, - { - "label":"Selection", - "type":"keyword", - "info":"System`Selection" - }, - { - "label":"SelectionAnimate", - "type":"keyword", - "info":"SelectionAnimate[notebook] animates graphics in the current selection in a notebook. SelectionAnimat" - }, - { - "label":"SelectionCell", - "type":"keyword", - "info":"System`SelectionCell" - }, - { - "label":"SelectionCellCreateCell", - "type":"keyword", - "info":"System`SelectionCellCreateCell" - }, - { - "label":"SelectionCellDefaultStyle", - "type":"keyword", - "info":"System`SelectionCellDefaultStyle" - }, - { - "label":"SelectionCellParentStyle", - "type":"keyword", - "info":"System`SelectionCellParentStyle" - }, - { - "label":"SelectionCreateCell", - "type":"keyword", - "info":"SelectionCreateCell[notebook] copies the contents of the current selection in a notebook into a new " - }, - { - "label":"SelectionDebuggerTag", - "type":"keyword", - "info":"System`SelectionDebuggerTag" - }, - { - "label":"SelectionDuplicateCell", - "type":"keyword", - "info":"System`SelectionDuplicateCell" - }, - { - "label":"SelectionEvaluate", - "type":"keyword", - "info":"SelectionEvaluate[notebook] replaces the current selection in a notebook with the result obtained by" - }, - { - "label":"SelectionEvaluateCreateCell", - "type":"keyword", - "info":"SelectionEvaluateCreateCell[notebook] takes the current selection in a notebook and creates a new ce" - }, - { - "label":"SelectionMove", - "type":"keyword", - "info":"SelectionMove[obj, dir, unit] moves the current selection in an open notebook in the front end in th" - }, - { - "label":"SelectionPlaceholder", - "type":"keyword", - "info":"System`SelectionPlaceholder" - }, - { - "label":"SelectionSetStyle", - "type":"keyword", - "info":"System`SelectionSetStyle" - }, - { - "label":"SelectWithContents", - "type":"keyword", - "info":"System`SelectWithContents" - }, - { - "label":"SelfLoops", - "type":"keyword", - "info":"System`SelfLoops" - }, - { - "label":"SelfLoopStyle", - "type":"keyword", - "info":"SelfLoopStyle is an option for GraphPlot and related functions that specifies how to draw self-loops" - }, - { - "label":"SemanticImport", - "type":"keyword", - "info":"SemanticImport[file] attempts to import a file semantically to give a Dataset object.SemanticImport[" - }, - { - "label":"SemanticImportString", - "type":"keyword", - "info":"SemanticImportString[\"string\"] attempts to import a string semantically to give a Dataset object.Sem" - }, - { - "label":"SemanticInterpretation", - "type":"keyword", - "info":"SemanticInterpretation[\"string\"] attempts to give the best semantic interpretation of the specified " - }, - { - "label":"SemialgebraicComponentInstances", - "type":"keyword", - "info":"SemialgebraicComponentInstances[ineqs, {x , x , …}] gives at least one sample point in each connecte" - }, - { - "label":"SemidefiniteOptimization", - "type":"keyword", - "info":" " - }, - { - "label":"SendMail", - "type":"keyword", - "info":"SendMail[body] sends mail consisting of body to the address specified by ECCloudUserID.SendMail[{\"sub" - }, - { - "label":"SendMessage", - "type":"keyword", - "info":"SendMessage[channel, message] sends a message to the specified channel.SendMessage[channel  dest, m" - }, - { - "label":"Sequence", - "type":"keyword", - "info":"Sequence[expr , expr , …] represents a sequence of arguments to be spliced automatically into any fu" - }, - { - "label":"SequenceAlignment", - "type":"keyword", - "info":"SequenceAlignment[s , s ] finds an optimal alignment of sequences of elements in the strings or list" - }, - { - "label":"SequenceAttentionLayer", - "type":"keyword", - "info":"SequenceAttentionLayer[] is equivalent to AttentionLayer[] with a single \"Input\" port instead of por" - }, - { - "label":"SequenceCases", - "type":"keyword", - "info":"SequenceCases[list, patt] gives a list of the sublists in list that match the sequence pattern patt." - }, - { - "label":"SequenceCount", - "type":"keyword", - "info":"SequenceCount[list, sub] gives a count of the number of times sub appears as a sublist of list.Seque" - }, - { - "label":"SequenceFold", - "type":"keyword", - "info":"SequenceFold[f, {x , …, x }, {a , a , …}] gives the last element of SequenceFoldList[f, {x , …, x }," - }, - { - "label":"SequenceFoldList", - "type":"keyword", - "info":"SequenceFoldList[f, {x , …, x }, {a , a , …}] gives {x , …, x , f[x , …, x , a ], f[x , …, x , f[x ," - }, - { - "label":"SequenceForm", - "type":"keyword", - "info":"SequenceForm[expr , expr , …] prints as the textual concatenation of the printed forms of the expr ." - }, - { - "label":"SequenceHold", - "type":"keyword", - "info":"SequenceHold is an attribute that specifies that Sequence objects appearing in the arguments of a fu" - }, - { - "label":"SequenceIndicesLayer", - "type":"keyword", - "info":"SequenceIndicesLayer[] represents a net layer that produces a list of indices for an input sequence." - }, - { - "label":"SequenceLastLayer", - "type":"keyword", - "info":"SequenceLastLayer[] represents a net that takes a sequence of inputs and returns the last element of" - }, - { - "label":"SequenceMostLayer", - "type":"keyword", - "info":"SequenceMostLayer[] represents a net that takes a sequence of inputs and removes its last element." - }, - { - "label":"SequencePosition", - "type":"keyword", - "info":"SequencePosition[list, sublist] gives a list of the starting and ending positions at which sublist a" - }, - { - "label":"SequencePredict", - "type":"keyword", - "info":"SequencePredict[{seq , seq , …}] generates a SequencePredictorFunction[…] based on the sequences giv" - }, - { - "label":"SequencePredictorFunction", - "type":"keyword", - "info":"SequencePredictorFunction[…] represents a function generated by SequencePredict that predicts the ne" - }, - { - "label":"SequenceReplace", - "type":"keyword", - "info":"SequenceReplace[list, rules] replaces sequences in list according to the specified rule or list of r" - }, - { - "label":"SequenceRestLayer", - "type":"keyword", - "info":"SequenceRestLayer[] represents a net that takes a sequence of inputs and removes its first element." - }, - { - "label":"SequenceReverseLayer", - "type":"keyword", - "info":"SequenceReverseLayer[] represents a net that reverses the order of an input sequence." - }, - { - "label":"SequenceSplit", - "type":"keyword", - "info":"SequenceSplit[list, patt] splits list into sublists separated by sequences that match the sequence p" - }, - { - "label":"Series", - "type":"keyword", - "info":" " - }, - { - "label":"SeriesCoefficient", - "type":"keyword", - "info":" th " - }, - { - "label":"SeriesData", - "type":"keyword", - "info":"SeriesData[x, x , {a , a , …}, n , n , den] represents a power series in the variable x about th" - }, - { - "label":"SeriesTermGoal", - "type":"keyword", - "info":"SeriesTermGoal is an option for Asymptotic, DiscreteAsymptotic and similar functions that specifies " - }, - { - "label":"ServiceConnect", - "type":"keyword", - "info":"ServiceConnect[\"service\"] creates a connection to an external service.ServiceConnect[\"service\", id] " - }, - { - "label":"ServiceDisconnect", - "type":"keyword", - "info":"ServiceDisconnect[service] disconnects from an external service specified by a ServiceObject." - }, - { - "label":"ServiceExecute", - "type":"keyword", - "info":"ServiceExecute[service, \"req\"] executes \"req\" on an external service.ServiceExecute[service, \"req\", " - }, - { - "label":"ServiceObject", - "type":"keyword", - "info":"ServiceObject[\"service\", …] represents an open connection to an external service." - }, - { - "label":"ServiceRequest", - "type":"keyword", - "info":"ServiceRequest[service, \"req\"] represents a service request built from service, which might be a con" - }, - { - "label":"ServiceResponse", - "type":"keyword", - "info":"System`ServiceResponse" - }, - { - "label":"ServiceSubmit", - "type":"keyword", - "info":"ServiceSubmit[ServiceRequest[assoc]] submits a request to be executed by an external service specifi" - }, - { - "label":"SessionSubmit", - "type":"keyword", - "info":"SessionSubmit[expr] submits an asynchronous task to evaluate expr in the current session.SessionSubm" - }, - { - "label":"SessionTime", - "type":"keyword", - "info":"SessionTime[] gives the total number of seconds of real time that have elapsed since the beginning o" - }, - { - "label":"Set", - "type":"keyword", - "info":"lhs = rhs evaluates rhs and assigns the result to be the value of lhs. From then on, lhs is replaced" - }, - { - "label":"SetAccuracy", - "type":"keyword", - "info":"SetAccuracy[expr, a] yields a version of expr in which all numbers have been set to have accuracy a." - }, - { - "label":"SetAlphaChannel", - "type":"keyword", - "info":"SetAlphaChannel[color] adds full opacity to color.SetAlphaChannel[color, a] adds opacity a to color." - }, - { - "label":"SetAttributes", - "type":"keyword", - "info":"SetAttributes[symbol, attr] adds attr to the list of attributes of the symbol symbol. SetAttributes[" - }, - { - "label":"Setbacks", - "type":"keyword", - "info":"System`Setbacks" - }, - { - "label":"SetBoxFormNamesPacket", - "type":"keyword", - "info":"System`SetBoxFormNamesPacket" - }, - { - "label":"SetCloudDirectory", - "type":"keyword", - "info":"SetCloudDirectory[dir] sets the current working directory used for cloud objects to dir.SetCloudDire" - }, - { - "label":"SetCookies", - "type":"keyword", - "info":"SetCookies[assoc] sets cookies with attributes specified by the association assoc, to be used by fun" - }, - { - "label":"SetDelayed", - "type":"keyword", - "info":"lhs := rhs assigns rhs to be the delayed value of lhs. rhs is maintained in an unevaluated form. Whe" - }, - { - "label":"SetDirectory", - "type":"keyword", - "info":"SetDirectory[\"dir\"] sets the current working directory to dir. SetDirectory[] sets the current worki" - }, - { - "label":"SetEnvironment", - "type":"keyword", - "info":"SetEnvironment[\"var\"  value] sets the value of an operating system environment variable.SetEnvironm" - }, - { - "label":"SetEvaluationNotebook", - "type":"keyword", - "info":"System`SetEvaluationNotebook" - }, - { - "label":"SetFileDate", - "type":"keyword", - "info":"SetFileDate[\"file\"] sets the modification and access dates for a file to be the current date. " - }, - { - "label":"SetFileFormatProperties", - "type":"keyword", - "info":"SetFileFormatProperties[\"fmt\", \"prop\"  val] sets the value of a property \"prop\" for the specified f" - }, - { - "label":"SetFileLoadingContext", - "type":"keyword", - "info":"System`SetFileLoadingContext" - }, - { - "label":"SetNotebookStatusLine", - "type":"keyword", - "info":"System`SetNotebookStatusLine" - }, - { - "label":"SetOptions", - "type":"keyword", - "info":"SetOptions[s, name  value , name  value , …] sets the specified default options for a symbol s. " - }, - { - "label":"SetOptionsPacket", - "type":"keyword", - "info":"System`SetOptionsPacket" - }, - { - "label":"SetPermissions", - "type":"keyword", - "info":"SetPermissions[obj, \"pstring\"] sets permissions for the cloud object obj to be as specified by the s" - }, - { - "label":"SetPrecision", - "type":"keyword", - "info":"SetPrecision[expr, p] yields a version of expr in which all numbers have been set to have precision " - }, - { - "label":"SetProperty", - "type":"keyword", - "info":"SetProperty[{obj, itemspec}, name  value] sets the property name  value for itemspec in obj." - }, - { - "label":"SetSecuredAuthenticationKey", - "type":"keyword", - "info":"System`SetSecuredAuthenticationKey" - }, - { - "label":"SetSelectedNotebook", - "type":"keyword", - "info":"SetSelectedNotebook[obj] makes the notebook corresponding to obj be the currently selected one in th" - }, - { - "label":"SetSharedFunction", - "type":"keyword", - "info":"SetSharedFunction[f , f , …] declares the symbols f as shared functions whose downvalues are synchr" - }, - { - "label":"SetSharedVariable", - "type":"keyword", - "info":"SetSharedVariable[s , s , …] declares the symbols s as shared variables whose values are synchroniz" - }, - { - "label":"SetSpeechParametersPacket", - "type":"keyword", - "info":"System`SetSpeechParametersPacket" - }, - { - "label":"SetStreamPosition", - "type":"keyword", - "info":"SetStreamPosition[stream, n] sets the current point in an open stream. " - }, - { - "label":"SetSystemModel", - "type":"keyword", - "info":"SetSystemModel[model, spec] changes model parameters, initializations or other properties in place." - }, - { - "label":"SetSystemOptions", - "type":"keyword", - "info":"SetSystemOptions[\"name\"  value] resets the value for the internal system option with the specified " - }, - { - "label":"Setter", - "type":"keyword", - "info":"Setter[x, val] represents a setter button whose setting x is set to val when the button is clicked. " - }, - { - "label":"SetterBar", - "type":"keyword", - "info":"SetterBar[x, {val , val , …}] represents a setter bar with setting x and with setter buttons for val" - }, - { - "label":"SetterBox", - "type":"keyword", - "info":"System`SetterBox" - }, - { - "label":"SetterBoxOptions", - "type":"keyword", - "info":"SetterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for SetterBox " - }, - { - "label":"Setting", - "type":"keyword", - "info":"Setting[expr] replaces forms and control objects such as sliders or popup menus in expr by their set" - }, - { - "label":"SetUsers", - "type":"keyword", - "info":"SetUsers[group, {user , …}] sets the members of the permissions group group to be {user , …}.\n " - }, - { - "label":"SetValue", - "type":"keyword", - "info":"System`SetValue" - }, - { - "label":"Shading", - "type":"keyword", - "info":"Shading is an option for SurfaceGraphics that specifies whether the surfaces should be shaded. " - }, - { - "label":"Shallow", - "type":"keyword", - "info":"Shallow[expr] prints as a shallow form of expr. Shallow[expr, depth] prints with all parts of expr b" - }, - { - "label":"ShannonWavelet", - "type":"keyword", - "info":"ShannonWavelet[] represents the Shannon wavelet evaluated on the equally spaced interval {-10, 10}. " - }, - { - "label":"ShapiroWilkTest", - "type":"keyword", - "info":"ShapiroWilkTest[data] tests whether data is normally distributed using the Shapiro–Wilk test.Shapiro" - }, - { - "label":"Share", - "type":"keyword", - "info":"Share[expr] changes the way expr is stored internally, to try and minimize the amount of memory used" - }, - { - "label":"SharingList", - "type":"keyword", - "info":"SharingList is an option for CloudObject and related constructs that specifies with whom the object " - }, - { - "label":"Sharpen", - "type":"keyword", - "info":"Sharpen[image] gives a sharpened version of image.Sharpen[image, r] gives a version of image sharpen" - }, - { - "label":"ShearingMatrix", - "type":"keyword", - "info":"ShearingMatrix[θ, v, n] gives the matrix corresponding to shearing by θ radians along the direction " - }, - { - "label":"ShearingTransform", - "type":"keyword", - "info":"ShearingTransform[θ, v, n] gives a TransformationFunction that represents a shear by θ radians along" - }, - { - "label":"ShellRegion", - "type":"keyword", - "info":"ShellRegion[reg] gives a solid shell of a 3D region reg.ShellRegion[reg, t] gives a solid shell of r" - }, - { - "label":"ShenCastanMatrix", - "type":"keyword", - "info":" " - }, - { - "label":"ShiftedGompertzDistribution", - "type":"keyword", - "info":"ShiftedGompertzDistribution[λ, ξ] represents a shifted Gompertz distribution with scale parameter λ " - }, - { - "label":"ShiftRegisterSequence", - "type":"keyword", - "info":"ShiftRegisterSequence[n] gives a complete maximum-length sequence for a size n linear-feedback shift" - }, - { - "label":"Short", - "type":"keyword", - "info":"Short[expr] prints as a short form of expr, less than about one line long. Short[expr, n] prints as " - }, - { - "label":"ShortDownArrow", - "type":"keyword", - "info":"ShortDownArrow[x, y, …] displays as x  y  …." - }, - { - "label":"Shortest", - "type":"keyword", - "info":"Shortest[p] is a pattern object that matches the shortest sequence consistent with the pattern p. " - }, - { - "label":"ShortestMatch", - "type":"keyword", - "info":"ShortestMatch[p] is a string pattern object matching the shortest sequence of characters consistent " - }, - { - "label":"ShortestPathFunction", - "type":"keyword", - "info":"ShortestPathFunction[type, data] represents a function that gives the shortest path from a source ve" - }, - { - "label":"ShortLeftArrow", - "type":"keyword", - "info":"ShortLeftArrow[x, y, …] displays as x  y  …." - }, - { - "label":"ShortRightArrow", - "type":"keyword", - "info":"ShortRightArrow[x, y, …] displays as x  y  …." - }, - { - "label":"ShortTimeFourier", - "type":"keyword", - "info":"ShortTimeFourier[data] returns the short-time Fourier transform (STFT) of data as a ShortTimeFourier" - }, - { - "label":"ShortTimeFourierData", - "type":"keyword", - "info":"ShortTimeFourierData[assoc] represents the result and properties of a short-time Fourier transform (" - }, - { - "label":"ShortUpArrow", - "type":"keyword", - "info":"ShortUpArrow[x, y, …] displays as x  y  …." - }, - { - "label":"Show", - "type":"keyword", - "info":"Show[graphics, options] shows graphics with the specified options added. Show[g , g , …] shows sever" - }, - { - "label":"ShowAutoConvert", - "type":"keyword", - "info":"System`ShowAutoConvert" - }, - { - "label":"ShowAutoSpellCheck", - "type":"keyword", - "info":"ShowAutoSpellCheck is an option for Cell that specifies whether to highlight misspelled words." - }, - { - "label":"ShowAutoStyles", - "type":"keyword", - "info":"ShowAutoStyles is an option for Cell that specifies whether styles that are specified to be automati" - }, - { - "label":"ShowCellBracket", - "type":"keyword", - "info":"ShowCellBracket is an option for Cell that specifies whether to display the bracket that indicates t" - }, - { - "label":"ShowCellLabel", - "type":"keyword", - "info":"ShowCellLabel is an option for Cell that specifies whether to display the label for a cell. " - }, - { - "label":"ShowCellTags", - "type":"keyword", - "info":"ShowCellTags is an option for Cell that specifies whether to display tags for a cell. " - }, - { - "label":"ShowClosedCellArea", - "type":"keyword", - "info":"ShowClosedCellArea is an option for cells that specifies whether a rectangular bar is displayed next" - }, - { - "label":"ShowCodeAssist", - "type":"keyword", - "info":"System`ShowCodeAssist" - }, - { - "label":"ShowContents", - "type":"keyword", - "info":"ShowContents is an option for selections that specifies whether an object represented by a StyleBox " - }, - { - "label":"ShowControls", - "type":"keyword", - "info":"System`ShowControls" - }, - { - "label":"ShowCursorTracker", - "type":"keyword", - "info":"ShowCursorTracker is an option for Cell that specifies whether an elliptical spot should appear mome" - }, - { - "label":"ShowGroupOpenCloseIcon", - "type":"keyword", - "info":"ShowGroupOpenCloseIcon is an option for cells that specifies whether a triangular icon is displayed " - }, - { - "label":"ShowGroupOpener", - "type":"keyword", - "info":"ShowGroupOpener is an option for cells that specifies whether an opener icon is displayed next to th" - }, - { - "label":"ShowInvisibleCharacters", - "type":"keyword", - "info":"System`ShowInvisibleCharacters" - }, - { - "label":"ShowPageBreaks", - "type":"keyword", - "info":"ShowPageBreaks is a notebook option that specifies whether to indicate in the on‐screen display of a" - }, - { - "label":"ShowPredictiveInterface", - "type":"keyword", - "info":"System`ShowPredictiveInterface" - }, - { - "label":"ShowSelection", - "type":"keyword", - "info":"ShowSelection is an option to Notebook, Cell, and Style that specifies whether to show the current s" - }, - { - "label":"ShowShortBoxForm", - "type":"keyword", - "info":"ShowShortBoxForm is an option for cells that specifies whether box expressions, which are used to re" - }, - { - "label":"ShowSpecialCharacters", - "type":"keyword", - "info":"ShowSpecialCharacters is an option for Style and Cell that specifies whether to replace \\\[Name], \\:n" - }, - { - "label":"ShowStringCharacters", - "type":"keyword", - "info":"ShowStringCharacters is an option for Cell that specifies whether to display \" when a string is ente" - }, - { - "label":"ShowSyntaxStyles", - "type":"keyword", - "info":"System`ShowSyntaxStyles" - }, - { - "label":"ShrinkingDelay", - "type":"keyword", - "info":"ShrinkingDelay is an option for dynamic objects that specifies how long to delay before shrinking th" - }, - { - "label":"ShrinkWrapBoundingBox", - "type":"keyword", - "info":"System`ShrinkWrapBoundingBox" - }, - { - "label":"SiderealTime", - "type":"keyword", - "info":"SiderealTime[] gives the right ascension of the local meridian for the current date and location.Sid" - }, - { - "label":"SiegelTheta", - "type":"keyword", - "info":"SiegelTheta[Ω, s] gives the Siegel theta function Θ (Ω, s) with Riemann modular matrix Ω and vector " - }, - { - "label":"SiegelTukeyTest", - "type":"keyword", - "info":" " - }, - { - "label":"SierpinskiCurve", - "type":"keyword", - "info":" th\nSierpinskiCurve[n] gives the line s" - }, - { - "label":"SierpinskiMesh", - "type":"keyword", - "info":" th " - }, - { - "label":"Sign", - "type":"keyword", - "info":"Sign[x] gives -1, 0, or 1 depending on whether x is negative, zero, or positive. " - }, - { - "label":"Signature", - "type":"keyword", - "info":"Signature[list] gives the signature of the permutation needed to place the elements of list in canon" - }, - { - "label":"SignedRankTest", - "type":"keyword", - "info":"SignedRankTest[data] tests whether the median of data is zero. SignedRankTest[{data , data }] tests " - }, - { - "label":"SignedRegionDistance", - "type":"keyword", - "info":"SignedRegionDistance[reg, p] gives the minimum distance from the point p to the region reg if p is o" - }, - { - "label":"SignificanceLevel", - "type":"keyword", - "info":"SignificanceLevel is an option to VarianceTest and similar functions that controls cutoffs for diagn" - }, - { - "label":"SignPadding", - "type":"keyword", - "info":"SignPadding is an option for NumberForm and related functions that specifies whether padding should " - }, - { - "label":"SignTest", - "type":"keyword", - "info":"SignTest[data] tests whether the median of data is zero. SignTest[{data , data }] tests whether the " - }, - { - "label":"SimilarityRules", - "type":"keyword", - "info":"SimilarityRules is an option for functions such as SequenceAlignment that gives a list of rules for " - }, - { - "label":"SimpleGraph", - "type":"keyword", - "info":"SimpleGraph[g] gives the underlying simple graph from the graph g.SimpleGraph[{v  w, …}] uses rules" - }, - { - "label":"SimpleGraphQ", - "type":"keyword", - "info":"SimpleGraphQ[g] yields True if the graph g is a simple graph and False otherwise." - }, - { - "label":"SimplePolygonQ", - "type":"keyword", - "info":"SimplePolygonQ[poly] gives True if the polygon poly is simple and False otherwise." - }, - { - "label":"SimplePolyhedronQ", - "type":"keyword", - "info":"SimplePolyhedronQ[poly] gives True if the polyhedron poly is simple and False otherwise." - }, - { - "label":"Simplex", - "type":"keyword", - "info":"Simplex[{p , …, p }] represents the simplex spanned by points p .\n 1 k " - }, - { - "label":"Simplify", - "type":"keyword", - "info":"Simplify[expr] performs a sequence of algebraic and other transformations on expr and returns the si" - }, - { - "label":"Sin", - "type":"keyword", - "info":"Sin[z] gives the sine of z. " - }, - { - "label":"Sinc", - "type":"keyword", - "info":"Sinc[z] gives sinc(z). " - }, - { - "label":"SinghMaddalaDistribution", - "type":"keyword", - "info":"SinghMaddalaDistribution[q, a, b] represents the Singh–Maddala distribution with shape parameters q " - }, - { - "label":"SingleEvaluation", - "type":"keyword", - "info":"System`SingleEvaluation" - }, - { - "label":"SingleLetterItalics", - "type":"keyword", - "info":"SingleLetterItalics is an option for Cell that specifies whether single‐letter names should be displ" - }, - { - "label":"SingleLetterStyle", - "type":"keyword", - "info":"System`SingleLetterStyle" - }, - { - "label":"SingularValueDecomposition", - "type":"keyword", - "info":"SingularValueDecomposition[m] gives the singular value decomposition for a numerical matrix m as a l" - }, - { - "label":"SingularValueList", - "type":"keyword", - "info":"SingularValueList[m] gives a list of the nonzero singular values of a matrix m. SingularValueList[{m" - }, - { - "label":"SingularValuePlot", - "type":"keyword", - "info":"SingularValuePlot[lsys] generates a plot of the singular values of the transfer function for the sys" - }, - { - "label":"SingularValues", - "type":"keyword", - "info":"SingularValues[m] gives the singular value decomposition for a numerical matrix m. The result is a l" - }, - { - "label":"Sinh", - "type":"keyword", - "info":"Sinh[z] gives the hyperbolic sine of z. " - }, - { - "label":"SinhIntegral", - "type":"keyword", - "info":"SinhIntegral[z] gives the hyperbolic sine integral function Shi(z). " - }, - { - "label":"SinIntegral", - "type":"keyword", - "info":"SinIntegral[z] gives the sine integral function Si (z). " - }, - { - "label":"SixJSymbol", - "type":"keyword", - "info":"SixJSymbol[{j , j , j }, {j , j , j }] gives the values of the Racah 6‐j symbol. \n 1 2" - }, - { - "label":"Skeleton", - "type":"keyword", - "info":"Skeleton[n] represents a sequence of n omitted elements in an expression printed with Short or Shall" - }, - { - "label":"SkeletonTransform", - "type":"keyword", - "info":"SkeletonTransform[image] gives the skeleton transform of image, in which the value of each skeleton " - }, - { - "label":"SkellamDistribution", - "type":"keyword", - "info":"SkellamDistribution[μ , μ ] represents a Skellam distribution with shape parameters μ and μ .\n " - }, - { - "label":"Skewness", - "type":"keyword", - "info":"Skewness[list] gives the coefficient of skewness for the elements in list.Skewness[dist] gives the c" - }, - { - "label":"SkewNormalDistribution", - "type":"keyword", - "info":"SkewNormalDistribution[μ, σ, Î\\[PlusMinus]] represents a skew-normal distribution with shape parameter Î\\[PlusMinus], locati" - }, - { - "label":"SkinStyle", - "type":"keyword", - "info":"SkinStyle is an option of AnatomyPlot3D that specifies what style to use for automatically included " - }, - { - "label":"Skip", - "type":"keyword", - "info":"Skip[stream, type] skips one object of the specified type in an input stream. Skip[stream, type, n] " - }, - { - "label":"SliceContourPlot3D", - "type":"keyword", - "info":"SliceContourPlot3D[f, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a contour p" - }, - { - "label":"SliceDensityPlot3D", - "type":"keyword", - "info":"SliceDensityPlot3D[f, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a density p" - }, - { - "label":"SliceDistribution", - "type":"keyword", - "info":"SliceDistribution[proc, t] represents the distribution of the process state at time t.SliceDistribut" - }, - { - "label":"SliceVectorPlot3D", - "type":"keyword", - "info":"SliceVectorPlot3D[{v , v , v }, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a" - }, - { - "label":"Slider", - "type":"keyword", - "info":"Slider[x] represents a slider with setting x in the range 0 to 1. Slider[Dynamic[x]] takes the setti" - }, - { - "label":"Slider2D", - "type":"keyword", - "info":"Slider2D[{x, y}] represents a 2D slider with settings x and y in the range 0 to 1. Slider2D[Dynamic[" - }, - { - "label":"Slider2DBox", - "type":"keyword", - "info":"System`Slider2DBox" - }, - { - "label":"Slider2DBoxOptions", - "type":"keyword", - "info":"Slider2DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Slider2D" - }, - { - "label":"SliderBox", - "type":"keyword", - "info":"System`SliderBox" - }, - { - "label":"SliderBoxOptions", - "type":"keyword", - "info":"SliderBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for SliderBox " - }, - { - "label":"SlideShowVideo", - "type":"keyword", - "info":"SlideShowVideo[{image , image , …}] generates a video iterating through all image .SlideShowVideo[{i" - }, - { - "label":"SlideView", - "type":"keyword", - "info":" " - }, - { - "label":"Slot", - "type":"keyword", - "info":" th\n# represents th" - }, - { - "label":"SlotSequence", - "type":"keyword", - "info":" " - }, - { - "label":"Small", - "type":"keyword", - "info":"Small is a style or option setting that specifies that objects should be small." - }, - { - "label":"SmallCircle", - "type":"keyword", - "info":"SmallCircle[x, y, …] displays as x ∘ y ∘ …." - }, - { - "label":"Smaller", - "type":"keyword", - "info":"Smaller is a style or option setting that specifies that objects should be smaller." - }, - { - "label":"SmithDecomposition", - "type":"keyword", - "info":"SmithDecomposition[m] gives the Smith normal form decomposition of an integer matrix m." - }, - { - "label":"SmithDelayCompensator", - "type":"keyword", - "info":"SmithDelayCompensator[sys, con] gives the Smith compensator for the time-delay system sys and the de" - }, - { - "label":"SmithWatermanSimilarity", - "type":"keyword", - "info":"SmithWatermanSimilarity[u, v] gives a number representing the Smith–Waterman similarity between stri" - }, - { - "label":"SmoothDensityHistogram", - "type":"keyword", - "info":"SmoothDensityHistogram[{{x , y }, {x , y }, …}] plots a smooth kernel histogram of the values {x , y" - }, - { - "label":"SmoothHistogram", - "type":"keyword", - "info":"SmoothHistogram[{x , x , …}] plots a smooth kernel histogram for the PDF of the values x .SmoothHist" - }, - { - "label":"SmoothHistogram3D", - "type":"keyword", - "info":"SmoothHistogram3D[{{x , y }, {x , y }, …}] plots a 3D smooth kernel histogram of the values {x , y }" - }, - { - "label":"SmoothKernelDistribution", - "type":"keyword", - "info":"SmoothKernelDistribution[{x , x , …}] represents a smooth kernel distribution based on the data valu" - }, - { - "label":"SmoothPointDensity", - "type":"keyword", - "info":"SmoothPointDensity[pdata] estimates the point density function μ(x) for point data pdata.SmoothPoint" - }, - { - "label":"SnDispersion", - "type":"keyword", - "info":"SnDispersion[list] gives the S statistic of the elements in list.SnDispersion[list, c] gives the S " - }, - { - "label":"Snippet", - "type":"keyword", - "info":"Snippet[doc] gives a snippet of text from a document or other content object.Snippet[doc, n] gives a" - }, - { - "label":"SnippetsVideo", - "type":"keyword", - "info":"SnippetsVideo[video, n] returns a summary video based on n snippets from video.SnippetsVideo[video, " - }, - { - "label":"SnubPolyhedron", - "type":"keyword", - "info":"SnubPolyhedron[poly] gives the snub polyhedron of poly by truncating some corners." - }, - { - "label":"SocialMediaData", - "type":"keyword", - "info":"SocialMediaData[\"name\"] gives information about the social media entity \"name\".SocialMediaData[\"name" - }, - { - "label":"Socket", - "type":"keyword", - "info":"Socket is a possible value returned by FileType and related functions." - }, - { - "label":"SocketConnect", - "type":"keyword", - "info":"SocketConnect[address] makes a socket connection to the TCP host at the specified address and return" - }, - { - "label":"SocketListen", - "type":"keyword", - "info":"SocketListen[socket, fun] starts listening on the specified socket, asynchronously applying fun when" - }, - { - "label":"SocketListener", - "type":"keyword", - "info":"SocketListener[…] represents a socket listener created by SocketListen." - }, - { - "label":"SocketObject", - "type":"keyword", - "info":"SocketObject[…] represents a network socket connection." - }, - { - "label":"SocketOpen", - "type":"keyword", - "info":"SocketOpen[port] opens a socket that accepts TCP connections to localhost:port and returns a SocketO" - }, - { - "label":"SocketReadMessage", - "type":"keyword", - "info":"SocketReadMessage[socket] reads the next available message on the specified socket, returning it as " - }, - { - "label":"SocketReadyQ", - "type":"keyword", - "info":"SocketReadyQ[socket] tests if there is any data immediately available to read from the specified soc" - }, - { - "label":"Sockets", - "type":"keyword", - "info":"Sockets[] returns all active socket connections initiated by your current Wolfram Language session.S" - }, - { - "label":"SocketWaitAll", - "type":"keyword", - "info":"SocketWaitAll[{socket , socket , …}] waits until there is data ready to read on all of the socket .\n" - }, - { - "label":"SocketWaitNext", - "type":"keyword", - "info":"SocketWaitNext[{socket , socket , …}] waits until there is data ready to read on any of the socket ," - }, - { - "label":"SoftmaxLayer", - "type":"keyword", - "info":"SoftmaxLayer[] represents a softmax net layer.SoftmaxLayer[n] represents a softmax net layer that us" - }, - { - "label":"SokalSneathDissimilarity", - "type":"keyword", - "info":"SokalSneathDissimilarity[u, v] gives the Sokal–Sneath dissimilarity between Boolean vectors u and v." - }, - { - "label":"SolarEclipse", - "type":"keyword", - "info":"SolarEclipse[] gives the time of the next solar eclipse.SolarEclipse[datespec] gives the time for th" - }, - { - "label":"SolarSystemFeatureData", - "type":"keyword", - "info":"SolarSystemFeatureData[entity, property] gives the value of the specified property for the solar sys" - }, - { - "label":"SolarTime", - "type":"keyword", - "info":"SolarTime[] gives the angle on the celestial equator between the Sun and the local antimeridian for " - }, - { - "label":"SolidAngle", - "type":"keyword", - "info":"SolidAngle[p, {u , …, u }] gives the solid angle at the point p and spanned by the vectors u , …, u " - }, - { - "label":"SolidBoundaryLoadValue", - "type":"keyword", - "info":"SolidBoundaryLoadValue[pred, vars, pars] represents a boundary load condition for PDEs with predicat" - }, - { - "label":"SolidData", - "type":"keyword", - "info":"SolidData[entity, property] gives the value of the specified property for the solid entity.SolidData" - }, - { - "label":"SolidDisplacementCondition", - "type":"keyword", - "info":"SolidDisplacementCondition[pred, vars, pars] represents a prescribed displacement on a solid boundar" - }, - { - "label":"SolidFixedCondition", - "type":"keyword", - "info":"SolidFixedCondition[pred, vars, pars] represents a fully constrained solid boundary for PDEs with pr" - }, - { - "label":"SolidMechanicsPDEComponent", - "type":"keyword", - "info":"SolidMechanicsPDEComponent[vars, pars] yields solid mechanics PDE terms with variables vars and para" - }, - { - "label":"SolidMechanicsStrain", - "type":"keyword", - "info":"SolidMechanicsStrain[vars, pars, displ] yields solid mechanics strain with variables vars, parameter" - }, - { - "label":"SolidMechanicsStress", - "type":"keyword", - "info":"SolidMechanicsStress[vars, pars, strain] yields solid mechanics stress with variables vars, paramete" - }, - { - "label":"SolidRegionQ", - "type":"keyword", - "info":"SolidRegionQ[reg] gives True if the 3D region reg is a solid region and False otherwise." - }, - { - "label":"Solve", - "type":"keyword", - "info":"Solve[expr, vars] attempts to solve the system expr of equations or inequalities for the variables v" - }, - { - "label":"SolveAlways", - "type":"keyword", - "info":"SolveAlways[eqns, vars] gives the values of parameters that make the equations eqns valid for all va" - }, - { - "label":"SolveDelayed", - "type":"keyword", - "info":"SolveDelayed is an option to NDSolve. SolveDelayed -> False causes the derivatives to be solved for " - }, - { - "label":"SolveValues", - "type":"keyword", - "info":"SolveValues[expr, vars] gives the values of vars determined by the solutions of the system expr.Solv" - }, - { - "label":"Sort", - "type":"keyword", - "info":"Sort[list] sorts the elements of list into canonical order. Sort[list, p] sorts using the ordering f" - }, - { - "label":"SortBy", - "type":"keyword", - "info":"SortBy[list, f] sorts the elements of list in the order defined by applying f to each of them. SortB" - }, - { - "label":"SortedBy", - "type":"keyword", - "info":"SortedBy is an option that specifies a function by which to sort the results of a computation." - }, - { - "label":"SortedEntityClass", - "type":"keyword", - "info":"SortedEntityClass[class, prop] represents an entity class derived from class by sorting according to" - }, - { - "label":"Sound", - "type":"keyword", - "info":"Sound[primitives] represents a sound. Sound[primitives, t] specifies that the sound should have dura" - }, - { - "label":"SoundAndGraphics", - "type":"keyword", - "info":"System`SoundAndGraphics" - }, - { - "label":"SoundNote", - "type":"keyword", - "info":"SoundNote[pitch] represents a music-like sound note with the specified pitch.SoundNote[pitch, t] tak" - }, - { - "label":"SoundVolume", - "type":"keyword", - "info":"SoundVolume is an option to Sound and SoundNote and related functions that specifies the relative vo" - }, - { - "label":"SourceLink", - "type":"keyword", - "info":"SourceLink is an option for CloudObject and related cloud functions that specifies the source of the" - }, - { - "label":"SourcePDETerm", - "type":"keyword", - "info":"SourcePDETerm[vars, f] represents a source term f with source coefficient f and model variables vars" - }, - { - "label":"Sow", - "type":"keyword", - "info":"Sow[e] specifies that e should be collected by the nearest enclosing Reap. Sow[e, tag] specifies tha" - }, - { - "label":"Space", - "type":"keyword", - "info":"System`Space" - }, - { - "label":"SpaceCurveData", - "type":"keyword", - "info":"SpaceCurveData[entity, property] gives the value of the specified property for the space curve entit" - }, - { - "label":"SpaceForm", - "type":"keyword", - "info":"SpaceForm[n] prints as n spaces." - }, - { - "label":"Spacer", - "type":"keyword", - "info":"Spacer[w] displays as a spacer w printer's points wide.Spacer[{w, h}] displays as a spacer w points " - }, - { - "label":"Spacings", - "type":"keyword", - "info":"Spacings is an option to Grid and related constructs that specifies the spacings to leave between su" - }, - { - "label":"Span", - "type":"keyword", - "info":"i;;j represents a span of elements i through j.i;; represents a span from i to the end.;;j represent" - }, - { - "label":"SpanAdjustments", - "type":"keyword", - "info":"SpanAdjustments is an option for selections that specifies the height and width of spanning characte" - }, - { - "label":"SpanCharacterRounding", - "type":"keyword", - "info":"SpanCharacterRounding is an option for selections that specifies the method used for rounding a span" - }, - { - "label":"SpanFromAbove", - "type":"keyword", - "info":"SpanFromAbove is a symbol that can appear at a particular position in a Grid or related construct to" - }, - { - "label":"SpanFromBoth", - "type":"keyword", - "info":"SpanFromBoth is a symbol that can appear at a particular position in a Grid or related construct to " - }, - { - "label":"SpanFromLeft", - "type":"keyword", - "info":"SpanFromLeft is a symbol that can appear at a particular position in a Grid or related construct to " - }, - { - "label":"SpanLineThickness", - "type":"keyword", - "info":"SpanLineThickness is an option for selections that specifies the thickness in printer's points of li" - }, - { - "label":"SpanMaxSize", - "type":"keyword", - "info":"SpanMaxSize is an option for selections that specifies the maximum size of spanning characters such " - }, - { - "label":"SpanMinSize", - "type":"keyword", - "info":"SpanMinSize is an option for selections that specifies the minimum size of spanning characters such " - }, - { - "label":"SpanningCharacters", - "type":"keyword", - "info":"System`SpanningCharacters" - }, - { - "label":"SpanSymmetric", - "type":"keyword", - "info":"SpanSymmetric is an option for selections that specifies whether vertically expandable characters ar" - }, - { - "label":"SparseArray", - "type":"keyword", - "info":"SparseArray[{pos  v , pos  v , …}] yields a sparse array with all elements zero except for value" - }, - { - "label":"SparseArrayQ", - "type":"keyword", - "info":"SparseArrayQ[s] yields True if s is a valid SparseArray object and False otherwise." - }, - { - "label":"SpatialBinnedPointData", - "type":"keyword", - "info":"SpatialBinnedPointData[{reg  val , reg  val , …}] represents values val associated with disjoin" - }, - { - "label":"SpatialBoundaryCorrection", - "type":"keyword", - "info":"SpatialBoundaryCorrection is an option to various spatial statistics functions that control how to c" - }, - { - "label":"SpatialEstimate", - "type":"keyword", - "info":"SpatialEstimate[{loc  val , loc  val , …}] creates a spatial prediction from values val given a" - }, - { - "label":"SpatialEstimatorFunction", - "type":"keyword", - "info":"SpatialEstimatorFunction[] represents a function generated by SpatialEstimate and predicts spatial f" - }, - { - "label":"SpatialGraphDistribution", - "type":"keyword", - "info":"SpatialGraphDistribution[n, r] represents a spatial distribution for graphs with n vertices uniforml" - }, - { - "label":"SpatialJ", - "type":"keyword", - "info":"SpatialJ[pdata, r] estimates the J function J(r) for point data pdata at radius r.SpatialJ[pproc, r]" - }, - { - "label":"SpatialMedian", - "type":"keyword", - "info":"SpatialMedian[{x , x , …}] gives the spatial median of the elements x .SpatialMedian[data] gives the" - }, - { - "label":"SpatialNoiseLevel", - "type":"keyword", - "info":"SpatialNoiseLevel is an option to SpatialEstimate and other spatial functions that gives the noise v" - }, - { - "label":"SpatialObservationRegionQ", - "type":"keyword", - "info":"SpatialObservationRegionQ[reg] tests whether the geometric or geographic region reg can be an observ" - }, - { - "label":"SpatialPointData", - "type":"keyword", - "info":"SpatialPointData[points] represents a collection of spatial locations points.SpatialPointData[points" - }, - { - "label":"SpatialPointSelect", - "type":"keyword", - "info":"SpatialPointSelect[spdata, crit] selects a subset of the SpatialPointData spdata according to crit." - }, - { - "label":"SpatialRandomnessTest", - "type":"keyword", - "info":"SpatialRandomnessTest[pdata] tests whether the point collection pdata is distributed uniformly over " - }, - { - "label":"SpatialTransformationLayer", - "type":"keyword", - "info":"SpatialTransformationLayer[{h, w}] represents a net layer that applies an affine transformation to a" - }, - { - "label":"SpatialTrendFunction", - "type":"keyword", - "info":"SpatialTrendFunction is an option to SpatialEstimate that specifies what global trend model to use f" - }, - { - "label":"Speak", - "type":"keyword", - "info":"Speak[expr] speaks a spoken representation of the expression expr." - }, - { - "label":"SpeakerMatchQ", - "type":"keyword", - "info":"SpeakerMatchQ[audio, ref] gives True if speaker features in audio match the one from reference ref a" - }, - { - "label":"SpeakTextPacket", - "type":"keyword", - "info":"System`SpeakTextPacket" - }, - { - "label":"SpearmanRankTest", - "type":"keyword", - "info":"SpearmanRankTest[v , v ] tests whether the vectors v and v are independent.SpearmanRankTest[m , m " - }, - { - "label":"SpearmanRho", - "type":"keyword", - "info":" " - }, - { - "label":"SpeciesData", - "type":"keyword", - "info":"SpeciesData[name, property] gives the value of the specified property for the species entity.Species" - }, - { - "label":"SpecificityGoal", - "type":"keyword", - "info":"SpecificityGoal is an option for ImageIdentify and related functions that defines what specificity o" - }, - { - "label":"SpectralLineData", - "type":"keyword", - "info":"SpectralLineData[entity] gives the values of all known properties for an atomic state or state trans" - }, - { - "label":"Spectrogram", - "type":"keyword", - "info":"Spectrogram[list] plots the spectrogram of list.Spectrogram[list, n] uses partitions of length n.Spe" - }, - { - "label":"SpectrogramArray", - "type":"keyword", - "info":"SpectrogramArray[list] returns the spectrogram data of list.SpectrogramArray[list, n] uses partition" - }, - { - "label":"Specularity", - "type":"keyword", - "info":"Specularity[s] is a graphics directive which specifies that surfaces of 3D graphics objects which fo" - }, - { - "label":"SpeechCases", - "type":"keyword", - "info":"SpeechCases[audio, form] gives a list of cases of text identified as being of type form that appear " - }, - { - "label":"SpeechInterpreter", - "type":"keyword", - "info":"SpeechInterpreter[form] represents an interpreter object that can be applied to a speech input to tr" - }, - { - "label":"SpeechRecognize", - "type":"keyword", - "info":"SpeechRecognize[audio] recognizes speech in audio and returns it as a string." - }, - { - "label":"SpeechSynthesize", - "type":"keyword", - "info":"SpeechSynthesize[expr] synthesizes the contents of expr as an Audio object. SpeechSynthesize[expr, v" - }, - { - "label":"SpellingCorrection", - "type":"keyword", - "info":"SpellingCorrection is an option for StringMatchQ, Names, and related functions that specifies whethe" - }, - { - "label":"SpellingCorrectionList", - "type":"keyword", - "info":"SpellingCorrectionList[\"word\"] gives a list of possible spelling corrections for \"word\"." - }, - { - "label":"SpellingDictionaries", - "type":"keyword", - "info":"SpellingDictionaries is a global option that specifies settings for spell checking." - }, - { - "label":"SpellingDictionariesPath", - "type":"keyword", - "info":"SpellingDictionariesPath is a global option that specifies which directories are searched for spelli" - }, - { - "label":"SpellingOptions", - "type":"keyword", - "info":"SpellingOptions is an option for notebooks that specifies settings for spellchecking." - }, - { - "label":"SpellingSuggestionsPacket", - "type":"keyword", - "info":"System`SpellingSuggestionsPacket" - }, - { - "label":"Sphere", - "type":"keyword", - "info":"Sphere[p] represents a unit sphere centered at the point p.Sphere[p, r] represents a sphere of radiu" - }, - { - "label":"SphereBox", - "type":"keyword", - "info":"System`SphereBox" - }, - { - "label":"SpherePoints", - "type":"keyword", - "info":"SpherePoints[n] gives the positions of n uniformly distributed points on the surface of a unit spher" - }, - { - "label":"SphericalBesselJ", - "type":"keyword", - "info":"SphericalBesselJ[n, z] gives the spherical Bessel function of the first kind j (z). \n " - }, - { - "label":"SphericalBesselY", - "type":"keyword", - "info":"SphericalBesselY[n, z] gives the spherical Bessel function of the second kind y (z). \n " - }, - { - "label":"SphericalHankelH1", - "type":"keyword", - "info":" (1)\nSphericalHankelH1" - }, - { - "label":"SphericalHankelH2", - "type":"keyword", - "info":" (2)\nSphericalHankelH" - }, - { - "label":"SphericalHarmonicY", - "type":"keyword", - "info":" m\nSphericalHarmonicY[l, m, θ, ϕ] gives " - }, - { - "label":"SphericalPlot3D", - "type":"keyword", - "info":"SphericalPlot3D[r, θ, ϕ] generates a 3D plot with a spherical radius r as a function of spherical co" - }, - { - "label":"SphericalRegion", - "type":"keyword", - "info":"SphericalRegion is an option for three-dimensional graphics functions that specifies whether the fin" - }, - { - "label":"SphericalShell", - "type":"keyword", - "info":"SphericalShell[c, {r , r }] represents a filled spherical shell centered at c with inner rad" - }, - { - "label":"SpheroidalEigenvalue", - "type":"keyword", - "info":"SpheroidalEigenvalue[n, m, Î\.b3] gives the spheroidal eigenvalue with degree n and order m." - }, - { - "label":"SpheroidalJoiningFactor", - "type":"keyword", - "info":"SpheroidalJoiningFactor[n, m, Î\.b3] gives the spheroidal joining factor with degree n and order m." - }, - { - "label":"SpheroidalPS", - "type":"keyword", - "info":"SpheroidalPS[n, m, Î\.b3, z] gives the angular spheroidal function PS (Î\.b3, z) of the first kind.\n " - }, - { - "label":"SpheroidalPSPrime", - "type":"keyword", - "info":"SpheroidalPSPrime[n, m, Î\.b3, z] gives the derivative with respect to z of the angular spheroidal funct" - }, - { - "label":"SpheroidalQS", - "type":"keyword", - "info":"SpheroidalQS[n, m, Î\.b3, z] gives the angular spheroidal function QS (Î\.b3, z) of the second kind.\n " - }, - { - "label":"SpheroidalQSPrime", - "type":"keyword", - "info":"SpheroidalQSPrime[n, m, Î\.b3, z] gives the derivative with respect to z of the angular spheroidal funct" - }, - { - "label":"SpheroidalRadialFactor", - "type":"keyword", - "info":"SpheroidalRadialFactor[n, m, c] gives the spheroidal radial factor with degree n and order m." - }, - { - "label":"SpheroidalS1", - "type":"keyword", - "info":" (1)\nSpheroidalS1[n, m, Î\.b3, z] gives th" - }, - { - "label":"SpheroidalS1Prime", - "type":"keyword", - "info":" " - }, - { - "label":"SpheroidalS2", - "type":"keyword", - "info":" (2)\nSpheroidalS2[n, m, Î\.b3, z] gives th" - }, - { - "label":"SpheroidalS2Prime", - "type":"keyword", - "info":" " - }, - { - "label":"Splice", - "type":"keyword", - "info":"Splice[{e , e , …}] represents an expression that will automatically be spliced into any list in whi" - }, - { - "label":"SplicedDistribution", - "type":"keyword", - "info":"SplicedDistribution[{w , w , …, w }, {c , c , …, c }, {dist dist , …, dist }] represents the distr" - }, - { - "label":"SplineClosed", - "type":"keyword", - "info":"SplineClosed is an option for B-spline functions and graphics primitives that specifies whether spli" - }, - { - "label":"SplineDegree", - "type":"keyword", - "info":"SplineDegree is an option for spline functions and graphics primitives that specifies the degree of " - }, - { - "label":"SplineKnots", - "type":"keyword", - "info":"SplineKnots is an option for B-spline functions and graphics primitives that specifies the positions" - }, - { - "label":"SplineWeights", - "type":"keyword", - "info":"SplineWeights is an option for B-spline functions and graphics primitives that specifies weights of " - }, - { - "label":"Split", - "type":"keyword", - "info":"Split[list] splits list into sublists consisting of runs of identical elements. Split[list, test] tr" - }, - { - "label":"SplitBy", - "type":"keyword", - "info":"SplitBy[list, f] splits list into sublists consisting of runs of successive elements that give the s" - }, - { - "label":"SpokenString", - "type":"keyword", - "info":"SpokenString[expr] gives a string of text corresponding to a spoken representation of the expression" - }, - { - "label":"SpotLight", - "type":"keyword", - "info":"SpotLight[col, pt, Î\\[PlusMinus]] is a three-dimensional graphics directive to use in coloring 3D surfaces that " - }, - { - "label":"Sqrt", - "type":"keyword", - "info":"Sqrt[z] or Sqrt[z] gives the square root of z. " - }, - { - "label":"SqrtBox", - "type":"keyword", - "info":"SqrtBox[x] is a low-level box construct that represents the displayed object Sqrt[x] in notebook exp" - }, - { - "label":"SqrtBoxOptions", - "type":"keyword", - "info":"SqrtBoxOptions is an option that specifies settings for SqrtBox objects." - }, - { - "label":"Square", - "type":"keyword", - "info":"Square[x] displays as  x." - }, - { - "label":"SquaredEuclideanDistance", - "type":"keyword", - "info":"SquaredEuclideanDistance[u, v] gives the squared Euclidean distance between vectors u and v." - }, - { - "label":"SquareFreeQ", - "type":"keyword", - "info":"SquareFreeQ[expr] gives True if expr is a square-free polynomial or number, and False otherwise.Squa" - }, - { - "label":"SquareIntersection", - "type":"keyword", - "info":"SquareIntersection[x, y, …] displays as x ⊓ y ⊓ …." - }, - { - "label":"SquareMatrixQ", - "type":"keyword", - "info":"SquareMatrixQ[m] gives True if m is a square matrix, and False otherwise." - }, - { - "label":"SquareRepeatingElement", - "type":"keyword", - "info":"SquareRepeatingElement[spec] represents a square array of elements of type spec in an interpreter, A" - }, - { - "label":"SquaresR", - "type":"keyword", - "info":"SquaresR[d, n] gives the number of ways r (n) to represent the integer n as a sum of d squares.\n " - }, - { - "label":"SquareSubset", - "type":"keyword", - "info":"SquareSubset[x, y, …] displays as x ⊏ y ⊏ …." - }, - { - "label":"SquareSubsetEqual", - "type":"keyword", - "info":"SquareSubsetEqual[x, y, …] displays as x ⊑ y ⊑ …." - }, - { - "label":"SquareSuperset", - "type":"keyword", - "info":"SquareSuperset[x, y, …] displays as x ⊐ y ⊐ …." - }, - { - "label":"SquareSupersetEqual", - "type":"keyword", - "info":"SquareSupersetEqual[x, y, …] displays as x ⊒ y ⊒ …." - }, - { - "label":"SquareUnion", - "type":"keyword", - "info":"SquareUnion[x, y, …] displays as x ⊔ y ⊔ …." - }, - { - "label":"SquareWave", - "type":"keyword", - "info":"SquareWave[x] gives a square wave that alternates between +1 and -1 with unit period.SquareWave[{y ," - }, - { - "label":"SSSTriangle", - "type":"keyword", - "info":"SSSTriangle[a, b, c] returns a filled triangle with sides of lengths a, b, and c." - }, - { - "label":"StabilityMargins", - "type":"keyword", - "info":"StabilityMargins is an option to frequency response plots such as BodePlot, NyquistPlot, and Nichols" - }, - { - "label":"StabilityMarginsStyle", - "type":"keyword", - "info":"StabilityMarginsStyle is an option to frequency response plots such as BodePlot, NyquistPlot, and Ni" - }, - { - "label":"StableDistribution", - "type":"keyword", - "info":"StableDistribution[type, Î\\[PlusMinus], Î\.b2, μ, σ] represents the stable distribution S with index of stabilit" - }, - { - "label":"Stack", - "type":"keyword", - "info":"Stack[] shows the current evaluation stack, giving a list of the tags associated with evaluations th" - }, - { - "label":"StackBegin", - "type":"keyword", - "info":"StackBegin[expr] evaluates expr, starting a fresh evaluation stack. " - }, - { - "label":"StackComplete", - "type":"keyword", - "info":"StackComplete[expr] evaluates expr with intermediate expressions in evaluation chains included on th" - }, - { - "label":"StackedDateListPlot", - "type":"keyword", - "info":"StackedDateListPlot[{{date , v }, {date , v }, …}] plots points with values v at a sequence of date" - }, - { - "label":"StackedListPlot", - "type":"keyword", - "info":" th\nStackedListPlot[" - }, - { - "label":"StackInhibit", - "type":"keyword", - "info":"StackInhibit[expr] evaluates expr without modifying the evaluation stack. " - }, - { - "label":"StadiumShape", - "type":"keyword", - "info":"StadiumShape[{{x , y }, {x , y }}, r] represents a stadium of radius r between the points {x , y } a" - }, - { - "label":"StandardAtmosphereData", - "type":"keyword", - "info":"StandardAtmosphereData[altitude, property] returns the value of the property at the specified geomet" - }, - { - "label":"StandardDeviation", - "type":"keyword", - "info":"StandardDeviation[list] gives the sample standard deviation of the elements in list. StandardDeviati" - }, - { - "label":"StandardDeviationFilter", - "type":"keyword", - "info":" " - }, - { - "label":"StandardForm", - "type":"keyword", - "info":"StandardForm[expr] prints as the standard Wolfram Language two-dimensional representation of expr. " - }, - { - "label":"Standardize", - "type":"keyword", - "info":"Standardize[list] shifts and rescales the elements of list to have zero mean and unit sample varianc" - }, - { - "label":"Standardized", - "type":"keyword", - "info":"Standardized is an option that determines whether to standardize the data." - }, - { - "label":"StandardOceanData", - "type":"keyword", - "info":"StandardOceanData[spec] returns the thermodynamic properties of seawater for the specified parameter" - }, - { - "label":"StandbyDistribution", - "type":"keyword", - "info":" " - }, - { - "label":"Star", - "type":"keyword", - "info":"Star[x, y, …] displays as x ⋆ y ⋆ …." - }, - { - "label":"StarClusterData", - "type":"keyword", - "info":"StarClusterData[entity, property] gives the value of the specified property for the star cluster ent" - }, - { - "label":"StarData", - "type":"keyword", - "info":"StarData[entity, property] gives the value of the specified property for the star entity.StarData[{e" - }, - { - "label":"StarGraph", - "type":"keyword", - "info":"StarGraph[n] gives the star graph with n vertices S .\n " - }, - { - "label":"StartAsynchronousTask", - "type":"keyword", - "info":"StartAsynchronousTask[task] allows asynchronous evaluations from task after it has been stopped." - }, - { - "label":"StartExternalSession", - "type":"keyword", - "info":"StartExternalSession[\"sys\"] starts an external session using the external evaluator sys, returning a" - }, - { - "label":"StartingStepSize", - "type":"keyword", - "info":"StartingStepSize is an option to NDSolve and related functions that specifies the initial step size " - }, - { - "label":"StartOfLine", - "type":"keyword", - "info":"StartOfLine represents the start of a line in a string for purposes of matching in StringExpression." - }, - { - "label":"StartOfString", - "type":"keyword", - "info":"StartOfString represents the start of a string for purposes of matching in StringExpression." - }, - { - "label":"StartProcess", - "type":"keyword", - "info":"StartProcess[\"executable\"] executes an external program, yielding a ProcessObject to represent the r" - }, - { - "label":"StartScheduledTask", - "type":"keyword", - "info":"StartScheduledTask[obj] starts the local or cloud scheduled task represented by obj." - }, - { - "label":"StartupSound", - "type":"keyword", - "info":"System`StartupSound" - }, - { - "label":"StartWebSession", - "type":"keyword", - "info":"StartWebSession[] starts a web session and returns a web session object.StartWebSession[\"browser\"] s" - }, - { - "label":"StateDimensions", - "type":"keyword", - "info":"StateDimensions is an option to TemporalData that specifies the dimensions of the state space. " - }, - { - "label":"StateFeedbackGains", - "type":"keyword", - "info":"StateFeedbackGains[sspec, {p , …, p }] gives the state feedback gains for the system specification s" - }, - { - "label":"StateOutputEstimator", - "type":"keyword", - "info":"StateOutputEstimator[ssm, l] constructs an estimator for the StateSpaceModel ssm, with estimator gai" - }, - { - "label":"StateResponse", - "type":"keyword", - "info":"StateResponse[sys, u, {t, t , t }] gives the numeric state response of the state-space model sys" - }, - { - "label":"StateSpaceModel", - "type":"keyword", - "info":"StateSpaceModel[{a, b, c, d}] represents the standard state-space model with state matrix a, input m" - }, - { - "label":"StateSpaceRealization", - "type":"keyword", - "info":"StateSpaceRealization is an option to StateSpaceModel that specifies its canonical representation." - }, - { - "label":"StateSpaceTransform", - "type":"keyword", - "info":"StateSpaceTransform[sys, {p, q}] transforms the state-space model sys using the matrices p and q. St" - }, - { - "label":"StateTransformationLinearize", - "type":"keyword", - "info":"StateTransformationLinearize[asys] linearizes the AffineStateSpaceModel asys by state transformation" - }, - { - "label":"StationaryDistribution", - "type":"keyword", - "info":"StationaryDistribution[proc] represents the stationary distribution of the process proc, when it exi" - }, - { - "label":"StationaryWaveletPacketTransform", - "type":"keyword", - "info":"StationaryWaveletPacketTransform[data] gives the stationary wavelet packet transform (SWPT) of an ar" - }, - { - "label":"StationaryWaveletTransform", - "type":"keyword", - "info":"StationaryWaveletTransform[data] gives the stationary wavelet transform (SWT) of an array of data.St" - }, - { - "label":"StatusArea", - "type":"keyword", - "info":"StatusArea[expr, string] displays string in the status area of the current notebook when the mouse p" - }, - { - "label":"StatusCentrality", - "type":"keyword", - "info":"StatusCentrality[g] gives a list of status centralities for the vertices in the graph g.StatusCentra" - }, - { - "label":"StepMonitor", - "type":"keyword", - "info":"StepMonitor is an option for iterative numerical computation functions that gives an expression to e" - }, - { - "label":"StereochemistryElements", - "type":"keyword", - "info":"StereochemistryElements is an option for Molecule that specifies the local stereochemical arrangemen" - }, - { - "label":"StieltjesGamma", - "type":"keyword", - "info":"StieltjesGamma[n] gives the Stieltjes constant Î\.b3 . StieltjesGamma[n, a] gives the generalized Stielt" - }, - { - "label":"StippleShading", - "type":"keyword", - "info":"StippleShading[] is a three-dimensional graphics directive specifying that objects that follow are t" - }, - { - "label":"StirlingS1", - "type":"keyword", - "info":" (m)\nStirlingS1[n, m] gives the Stirlin" - }, - { - "label":"StirlingS2", - "type":"keyword", - "info":" (m)\nStirlingS2[n, m] gives the Stirli" - }, - { - "label":"StopAsynchronousTask", - "type":"keyword", - "info":"StopAsynchronousTask[task] stops asynchronous evaluations from task." - }, - { - "label":"StoppingPowerData", - "type":"keyword", - "info":"StoppingPowerData[entity, {\"Particle\"  particle, \"Energy\"  quantity}, property] gives the value of" - }, - { - "label":"StopScheduledTask", - "type":"keyword", - "info":"StopScheduledTask[obj] deactivates the local or cloud scheduled task represented by obj." - }, - { - "label":"StrataVariables", - "type":"keyword", - "info":"StrataVariables is an option for fitting functions such as CoxModelFit that specify the variables on" - }, - { - "label":"StratonovichProcess", - "type":"keyword", - "info":"StratonovichProcess[{a, b}, x, t] represents a Stratonovich process x(t), where  x(t)  a(t, x(t)) " - }, - { - "label":"StraussHardcorePointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"StraussPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"StreamColorFunction", - "type":"keyword", - "info":"StreamColorFunction is an option for StreamPlot and related functions that specifies a function to a" - }, - { - "label":"StreamColorFunctionScaling", - "type":"keyword", - "info":"StreamColorFunctionScaling is an option for graphics functions that specifies whether arguments supp" - }, - { - "label":"StreamDensityPlot", - "type":"keyword", - "info":"StreamDensityPlot[{{v , v }, s}, {x, x , x }, {y, y , y }] generates a stream plot of the ve" - }, - { - "label":"StreamMarkers", - "type":"keyword", - "info":"StreamMarkers is an option for StreamPlot, ListStreamPlot and related functions that specifies what " - }, - { - "label":"StreamPlot", - "type":"keyword", - "info":"StreamPlot[{v , v }, {x, x , x }, {y, y , y }] generates a stream plot of the vector field {" - }, - { - "label":"StreamPlot3D", - "type":"keyword", - "info":"StreamPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] plots streamlines for " - }, - { - "label":"StreamPoints", - "type":"keyword", - "info":"StreamPoints is an option to StreamPlot, ListStreamPlot, and related functions that determines how m" - }, - { - "label":"StreamPosition", - "type":"keyword", - "info":"StreamPosition[stream] returns an integer that specifies the position of the current point in an ope" - }, - { - "label":"Streams", - "type":"keyword", - "info":"Streams[] gives a list of all streams that are currently open. Streams[\"name\"] lists only streams wi" - }, - { - "label":"StreamScale", - "type":"keyword", - "info":"StreamScale is an option to StreamPlot, ListStreamPlot, and related functions that determines the le" - }, - { - "label":"StreamStyle", - "type":"keyword", - "info":"StreamStyle is an option to StreamPlot, StreamDensityPlot, and related functions that determines the" - }, - { - "label":"StrictInequalities", - "type":"keyword", - "info":"StrictInequalities is an option to FunctionSign and FunctionMonotonicity, etc. that determines wheth" - }, - { - "label":"String", - "type":"keyword", - "info":"String is the head of a character string \"text\". " - }, - { - "label":"StringBreak", - "type":"keyword", - "info":"System`StringBreak" - }, - { - "label":"StringByteCount", - "type":"keyword", - "info":"StringByteCount[\"string\"] gives the total number of bytes used to store the characters in a string." - }, - { - "label":"StringCases", - "type":"keyword", - "info":"StringCases[\"string\", patt] gives a list of the substrings in \"string\" that match the string express" - }, - { - "label":"StringContainsQ", - "type":"keyword", - "info":"StringContainsQ[\"string\", patt] yields True if any part of string matches the string pattern patt, a" - }, - { - "label":"StringCount", - "type":"keyword", - "info":"StringCount[\"string\", \"sub\"] gives a count of the number of times \"sub\" appears as a substring of \"s" - }, - { - "label":"StringDelete", - "type":"keyword", - "info":"StringDelete[\"string\", patt] yields the string obtained by deleting from string all occurrences of a" - }, - { - "label":"StringDrop", - "type":"keyword", - "info":" " - }, - { - "label":"StringEndsQ", - "type":"keyword", - "info":"StringEndsQ[\"string\", patt] yields True if the end of string matches the string pattern patt, and yi" - }, - { - "label":"StringExpression", - "type":"keyword", - "info":"s ~~ s ~~ … or StringExpression[s , s , …] represents a sequence of strings and symbolic string ob" - }, - { - "label":"StringExtract", - "type":"keyword", - "info":" th\nStringExtract[\"string\", n] extracts the n block of c" - }, - { - "label":"StringForm", - "type":"keyword", - "info":"StringForm[\"controlstring\", expr , …] prints as the text of the controlstring, with the printed form" - }, - { - "label":"StringFormat", - "type":"keyword", - "info":"StringFormat[\"string\"] attempts to determine what ImportString format could be used to import the st" - }, - { - "label":"StringFormatQ", - "type":"keyword", - "info":"StringFormatQ[\"string\", \"fmt\"] gives True if the string \"string\" might be imported as format \"fmt\" a" - }, - { - "label":"StringFreeQ", - "type":"keyword", - "info":"StringFreeQ[\"string\", patt] yields True if no substring in \"string\" matches the string expression pa" - }, - { - "label":"StringInsert", - "type":"keyword", - "info":"StringInsert[\"string\", \"snew\", n] yields a string with \"snew\" inserted starting at position n in \"st" - }, - { - "label":"StringJoin", - "type":"keyword", - "info":"\"s \" <> \"s \" <> …, StringJoin[\"s \", \"s \", …], or StringJoin[{\"s \", \"s \", …}] yields a string consist" - }, - { - "label":"StringLength", - "type":"keyword", - "info":"StringLength[\"string\"] gives the number of characters in a string. " - }, - { - "label":"StringMatchQ", - "type":"keyword", - "info":"StringMatchQ[\"string\", patt] tests whether \"string\" matches the string pattern patt. StringMatchQ[\"s" - }, - { - "label":"StringPadLeft", - "type":"keyword", - "info":"StringPadLeft[\"string\", n] makes string be of length n, padding it on the left with spaces or trunca" - }, - { - "label":"StringPadRight", - "type":"keyword", - "info":"StringPadRight[\"string\", n] makes string be of length n, padding it on the right with spaces or trun" - }, - { - "label":"StringPart", - "type":"keyword", - "info":" th " - }, - { - "label":"StringPartition", - "type":"keyword", - "info":"StringPartition[\"string\", n] partitions string into nonoverlapping substrings of length n.StringPart" - }, - { - "label":"StringPosition", - "type":"keyword", - "info":"StringPosition[\"string\", \"sub\"] gives a list of the starting and ending character positions at which" - }, - { - "label":"StringQ", - "type":"keyword", - "info":"StringQ[expr] gives True if expr is a string, and False otherwise." - }, - { - "label":"StringRepeat", - "type":"keyword", - "info":"StringRepeat[\"str\", n] creates a string consisting of \"str\" repeated n times.StringRepeat[\"str\", n, " - }, - { - "label":"StringReplace", - "type":"keyword", - "info":"StringReplace[\"string\", s  sp] replaces the string expression s by sp wherever it appears in \"strin" - }, - { - "label":"StringReplaceList", - "type":"keyword", - "info":"StringReplaceList[\"string\", s  sp] or StringReplaceList[\"string\", {s  sp , s  sp , …}] gives a " - }, - { - "label":"StringReplacePart", - "type":"keyword", - "info":"StringReplacePart[\"string\", \"snew\", {m, n}] replaces the characters at positions m through n in \"str" - }, - { - "label":"StringReverse", - "type":"keyword", - "info":"StringReverse[\"string\"] reverses the order of the characters in \"string\"." - }, - { - "label":"StringRiffle", - "type":"keyword", - "info":"StringRiffle[{s , s , s , …}] creates a string by concatenating all the s , with spaces inserted bet" - }, - { - "label":"StringRotateLeft", - "type":"keyword", - "info":"StringRotateLeft[string, n] cycles the characters in string n positions to the left.StringRotateLeft" - }, - { - "label":"StringRotateRight", - "type":"keyword", - "info":"StringRotateRight[string, n] cycles the characters in string n positions to the right.StringRotateRi" - }, - { - "label":"StringSkeleton", - "type":"keyword", - "info":"StringSkeleton[n] represents a sequence of n omitted characters in a string printed with Short. The " - }, - { - "label":"StringSplit", - "type":"keyword", - "info":"StringSplit[\"string\"] splits \"string\" into a list of substrings separated by whitespace. StringSplit" - }, - { - "label":"StringStartsQ", - "type":"keyword", - "info":"StringStartsQ[\"string\", patt] yields True if the beginning of string matches the string pattern patt" - }, - { - "label":"StringTake", - "type":"keyword", - "info":" " - }, - { - "label":"StringTakeDrop", - "type":"keyword", - "info":"StringTakeDrop[\"string\", n] gives a pair of strings containing the first n characters in \"string\" an" - }, - { - "label":"StringTemplate", - "type":"keyword", - "info":"StringTemplate[\"string\"] yields a TemplateObject expression that represents a string template to be " - }, - { - "label":"StringToByteArray", - "type":"keyword", - "info":"StringToByteArray[\"string\"] returns a byte array corresponding to the UTF-8 encoding of the specifie" - }, - { - "label":"StringToStream", - "type":"keyword", - "info":"StringToStream[\"string\"] opens an input stream for reading from a string. " - }, - { - "label":"StringTrim", - "type":"keyword", - "info":"StringTrim[\"string\"] trims whitespace from the beginning and end of \"string\".StringTrim[\"string\", pa" - }, - { - "label":"StripBoxes", - "type":"keyword", - "info":"StripBoxes[expr] will strip out unnecessary boxes, spaces, and styles from a format expression." - }, - { - "label":"StripOnInput", - "type":"keyword", - "info":"StripOnInput is an option for certain boxes that determines whether the box should be stripped on ev" - }, - { - "label":"StripStyleOnPaste", - "type":"keyword", - "info":"System`StripStyleOnPaste" - }, - { - "label":"StripWrapperBoxes", - "type":"keyword", - "info":"StripWrapperBoxes is an option to TagBox that controls how boxes are stripped upon evaluation." - }, - { - "label":"StrokeForm", - "type":"keyword", - "info":"System`StrokeForm" - }, - { - "label":"StructuralImportance", - "type":"keyword", - "info":"StructuralImportance[rdist] gives the structural importances for all components in the ReliabilityDi" - }, - { - "label":"StructuredArray", - "type":"keyword", - "info":"StructuredArray[st, {d , d , …}, data] represents a d ×d ×… array with structure type st and specifi" - }, - { - "label":"StructuredArrayHeadQ", - "type":"keyword", - "info":"System`StructuredArrayHeadQ" - }, - { - "label":"StructuredSelection", - "type":"keyword", - "info":"StructuredSelection is an option for Cell that specifies whether to allow only complete subexpressio" - }, - { - "label":"StruveH", - "type":"keyword", - "info":"StruveH[n, z] gives the Struve function H (z). \n n" - }, - { - "label":"StruveL", - "type":"keyword", - "info":"StruveL[n, z] gives the modified Struve function L (z). \n " - }, - { - "label":"Stub", - "type":"keyword", - "info":"Stub is an attribute which specifies that if a symbol is ever used, Needs should automatically be ca" - }, - { - "label":"StudentTDistribution", - "type":"keyword", - "info":"StudentTDistribution[ν] represents a Student t distribution with ν degrees of freedom.StudentTDistri" - }, - { - "label":"Style", - "type":"keyword", - "info":"Style[expr, options] displays with expr formatted using the specified option settings. Style[expr, \"" - }, - { - "label":"StyleBox", - "type":"keyword", - "info":"StyleBox[boxes, options] is a low-level representation of boxes to be shown with the specified optio" - }, - { - "label":"StyleBoxAutoDelete", - "type":"keyword", - "info":"StyleBoxAutoDelete is an option for selections that specifies whether a StyleBox wrapped around them" - }, - { - "label":"StyleData", - "type":"keyword", - "info":"StyleData[\"style\"] is a low-level representation of the contents of a style definition cell.StyleDat" - }, - { - "label":"StyleDefinitions", - "type":"keyword", - "info":"StyleDefinitions is an option for notebooks that gives definitions for the styles that can be used i" - }, - { - "label":"StyleForm", - "type":"keyword", - "info":"StyleForm[expr, options] prints using the specified style options. StyleForm[expr, \"style\"] prints u" - }, - { - "label":"StyleHints", - "type":"keyword", - "info":"StyleHints is an option for cells and notebooks that specifies an association containing hints used " - }, - { - "label":"StyleKeyMapping", - "type":"keyword", - "info":"System`StyleKeyMapping" - }, - { - "label":"StyleMenuListing", - "type":"keyword", - "info":"StyleMenuListing is an option for cells that specifies whether a given cell style is listed in the F" - }, - { - "label":"StyleNameDialogSettings", - "type":"keyword", - "info":"StyleNameDialogSettings is a global option that specifies the cell style displayed in the Custom Sty" - }, - { - "label":"StyleNames", - "type":"keyword", - "info":"System`StyleNames" - }, - { - "label":"StylePrint", - "type":"keyword", - "info":"StylePrint[expr, \"style\"] creates a new cell in the current notebook with the specified style, and p" - }, - { - "label":"StyleSheetPath", - "type":"keyword", - "info":"StyleSheetPath is a global option that specifies which directories the Wolfram System searches to fi" - }, - { - "label":"Subdivide", - "type":"keyword", - "info":"Subdivide[n] generates the list {0, 1\/n, 2\/n, …, 1}.Subdivide[x , n] generates the list of values " - }, - { - "label":"Subfactorial", - "type":"keyword", - "info":"Subfactorial[n] gives the number of permutations of n objects that leave no object fixed." - }, - { - "label":"Subgraph", - "type":"keyword", - "info":"Subgraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices v .Subgraph[g, " - }, - { - "label":"SubMinus", - "type":"keyword", - "info":"SubMinus[expr] displays as expr .\n -" - }, - { - "label":"SubPlus", - "type":"keyword", - "info":"SubPlus[expr] displays as expr .\n +" - }, - { - "label":"SubresultantPolynomialRemainders", - "type":"keyword", - "info":"SubresultantPolynomialRemainders[poly , poly , var] gives the subresultant polynomial remainder sequ" - }, - { - "label":"SubresultantPolynomials", - "type":"keyword", - "info":"SubresultantPolynomials[poly , poly , var] generates a list of subresultant polynomials of the polyn" - }, - { - "label":"Subresultants", - "type":"keyword", - "info":"Subresultants[poly , poly , var] generates a list of the principal subresultant coefficients of the " - }, - { - "label":"Subscript", - "type":"keyword", - "info":"Subscript[x, y] is an object that formats as x . Subscript[x, y , y , …] formats as x .\n " - }, - { - "label":"SubscriptBox", - "type":"keyword", - "info":"SubscriptBox[x, y] is the low‐level box representation for x in notebook expressions. \n " - }, - { - "label":"SubscriptBoxOptions", - "type":"keyword", - "info":"SubscriptBoxOptions is an option for selections that specifies settings for SubscriptBox objects." - }, - { - "label":"Subscripted", - "type":"keyword", - "info":"System`Subscripted" - }, - { - "label":"Subsequences", - "type":"keyword", - "info":" " - }, - { - "label":"Subset", - "type":"keyword", - "info":"Subset[x, y, …] displays as x ⊂ y ⊂ …." - }, - { - "label":"SubsetCases", - "type":"keyword", - "info":"SubsetCases[list, patt] gives a list of the sublists in list that match the pattern patt in any orde" - }, - { - "label":"SubsetCount", - "type":"keyword", - "info":"SubsetCount[list, sub] gives a count of the number of times sub appears in any order as a sublist of" - }, - { - "label":"SubsetEqual", - "type":"keyword", - "info":"SubsetEqual[x, y, …] displays as x ⊆ y ⊆ …." - }, - { - "label":"SubsetMap", - "type":"keyword", - "info":"SubsetMap[f, {e , e , …}, {i, j, …}] yields an expression in which the elements e , e , … in the lis" - }, - { - "label":"SubsetPosition", - "type":"keyword", - "info":"SubsetPosition[list, sublist] gives a list of positions at which sublist appears in list in any orde" - }, - { - "label":"SubsetQ", - "type":"keyword", - "info":"SubsetQ[list , list ] yields True if list is a subset of list , and False otherwise.\n 1 " - }, - { - "label":"SubsetReplace", - "type":"keyword", - "info":"SubsetReplace[list, rules] replaces sublists in list according to the specified rule or list of rule" - }, - { - "label":"Subsets", - "type":"keyword", - "info":" " - }, - { - "label":"SubStar", - "type":"keyword", - "info":"SubStar[expr] displays as expr .\n *" - }, - { - "label":"SubstitutionSystem", - "type":"keyword", - "info":"SubstitutionSystem[rule, init, t] generates a list representing the evolution of the substitution sy" - }, - { - "label":"Subsuperscript", - "type":"keyword", - "info":" z\nSubsuperscript[x, y, z] is an object that fo" - }, - { - "label":"SubsuperscriptBox", - "type":"keyword", - "info":" z\nSubsuperscriptBox[x, y, z] is " - }, - { - "label":"SubsuperscriptBoxOptions", - "type":"keyword", - "info":"SubsuperscriptBoxOptions is an option for selections that specifies settings for SubsuperscriptBox o" - }, - { - "label":"SubtitleEncoding", - "type":"keyword", - "info":"SubtitleEncoding is an option for Export and other functions that specifies the subtitle encoding to" - }, - { - "label":"SubtitleTrackSelection", - "type":"keyword", - "info":"SubtitleTrackSelection is an option that specifies the subtitle tracks of interest." - }, - { - "label":"Subtract", - "type":"keyword", - "info":"x - y is equivalent to x + (-1 * y). " - }, - { - "label":"SubtractFrom", - "type":"keyword", - "info":"x -= dx subtracts dx from x and returns the new value of x. " - }, - { - "label":"SubtractSides", - "type":"keyword", - "info":"SubtractSides[rel, x] subtracts x from each side of the equation or inequality rel.SubtractSides[rel" - }, - { - "label":"SubValues", - "type":"keyword", - "info":"SubValues[f] gives a list of transformation rules corresponding to all subvalues (values for f[…][…]" - }, - { - "label":"Succeeds", - "type":"keyword", - "info":"Succeeds[x, y, …] displays as x ≻ y ≻ …." - }, - { - "label":"SucceedsEqual", - "type":"keyword", - "info":"SucceedsEqual[x, y, …] displays as x âª\\[Degree] y âª\\[Degree] …." - }, - { - "label":"SucceedsSlantEqual", - "type":"keyword", - "info":"SucceedsSlantEqual[x, y, …] displays as x ≽ y ≽ …." - }, - { - "label":"SucceedsTilde", - "type":"keyword", - "info":"SucceedsTilde[x, y, …] displays as x ≿ y ≿ …." - }, - { - "label":"Success", - "type":"keyword", - "info":"Success[\"tag\", assoc] represents a success of a type indicated by tag, with details given by the ass" - }, - { - "label":"SuchThat", - "type":"keyword", - "info":"SuchThat[x, y] displays as x ∍ y." - }, - { - "label":"Sum", - "type":"keyword", - "info":" " - }, - { - "label":"SumConvergence", - "type":"keyword", - "info":" ∞ " - }, - { - "label":"SummationLayer", - "type":"keyword", - "info":"SummationLayer[] represents a net layer that sums all of its input elements." - }, - { - "label":"Sunday", - "type":"keyword", - "info":"Sunday is a day of the week." - }, - { - "label":"SunPosition", - "type":"keyword", - "info":"SunPosition[] gives the position of the Sun for the current date and location.SunPosition[datespec] " - }, - { - "label":"Sunrise", - "type":"keyword", - "info":"Sunrise[] gives the time of the next sunrise for the current date and location.Sunrise[datespec] giv" - }, - { - "label":"Sunset", - "type":"keyword", - "info":"Sunset[] gives the time of the next sunset for the current date and location.Sunset[datespec] gives " - }, - { - "label":"SuperDagger", - "type":"keyword", - "info":" †\nSuperDagger[expr] displays as expr ." - }, - { - "label":"SuperMinus", - "type":"keyword", - "info":" -\nSuperMinus[expr] displays as expr ." - }, - { - "label":"SupernovaData", - "type":"keyword", - "info":"SupernovaData[entity, property] gives the value of the specified property for the supernova entity.S" - }, - { - "label":"SuperPlus", - "type":"keyword", - "info":" +\nSuperPlus[expr] displays as expr ." - }, - { - "label":"Superscript", - "type":"keyword", - "info":" y\nSuperscript[x, y] is an object that formats as x ." - }, - { - "label":"SuperscriptBox", - "type":"keyword", - "info":" y\nSuperscriptBox[x, y] is the low‐leve" - }, - { - "label":"SuperscriptBoxOptions", - "type":"keyword", - "info":"SuperscriptBoxOptions is an option for selections that specifies settings for SuperscriptBox objects" - }, - { - "label":"Superset", - "type":"keyword", - "info":"Superset[x, y, …] displays as x ⊃ y ⊃ …." - }, - { - "label":"SupersetEqual", - "type":"keyword", - "info":"SupersetEqual[x, y, …] displays as x ⊇ y ⊇ …." - }, - { - "label":"SuperStar", - "type":"keyword", - "info":" *\nSuperStar[expr] displays as expr ." - }, - { - "label":"Surd", - "type":"keyword", - "info":" th\nSurd[x, n] gives the real-valued n root of x." - }, - { - "label":"SurdForm", - "type":"keyword", - "info":"SurdForm is an option to RadicalBox and SqrtBox that indicates whether the radical represents a Surd" - }, - { - "label":"SurfaceAppearance", - "type":"keyword", - "info":"System`SurfaceAppearance" - }, - { - "label":"SurfaceArea", - "type":"keyword", - "info":"SurfaceArea[reg] gives the surface area of the three-dimensional region reg.SurfaceArea[{x , …, x }," - }, - { - "label":"SurfaceColor", - "type":"keyword", - "info":"SurfaceColor[dcol] is a three-dimensional graphics directive which specifies that the surfaces which" - }, - { - "label":"SurfaceData", - "type":"keyword", - "info":"SurfaceData[entity, property] gives the value of the specified property for the surface entity.Surfa" - }, - { - "label":"SurfaceGraphics", - "type":"keyword", - "info":"SurfaceGraphics[array] is a representation of a three-dimensional plot of a surface, with heights of" - }, - { - "label":"SurvivalDistribution", - "type":"keyword", - "info":"SurvivalDistribution[{e , e , …}] represents a survival distribution with event times e .SurvivalDis" - }, - { - "label":"SurvivalFunction", - "type":"keyword", - "info":"SurvivalFunction[dist, x] gives the survival function for the distribution dist evaluated at x.Survi" - }, - { - "label":"SurvivalModel", - "type":"keyword", - "info":"SurvivalModel[…] represents the symbolic survival model obtained from functions like SurvivalModelFi" - }, - { - "label":"SurvivalModelFit", - "type":"keyword", - "info":"SurvivalModelFit[{e , e , …}] creates a survival model for event times e .\n 1 2 " - }, - { - "label":"SuspendPacket", - "type":"keyword", - "info":"SuspendPacket[] is a WSTP packet used for synchronization with the Wolfram Language kernel." - }, - { - "label":"SuzukiDistribution", - "type":"keyword", - "info":"SuzukiDistribution[μ, ν] represents the Suzuki distribution with shape parameters μ and ν." - }, - { - "label":"SuzukiGroupSuz", - "type":"keyword", - "info":"SuzukiGroupSuz[] represents the sporadic simple Suzuki group Suz." - }, - { - "label":"SwatchLegend", - "type":"keyword", - "info":"SwatchLegend[{col , …}, {lbl , …}] generates a legend that associates swatches of colors col with l" - }, - { - "label":"Switch", - "type":"keyword", - "info":"Switch[expr, form , value , form , value , …] evaluates expr, then compares it with each of the form" - }, - { - "label":"Symbol", - "type":"keyword", - "info":"Symbol[\"name\"] refers to a symbol with the specified name. " - }, - { - "label":"SymbolName", - "type":"keyword", - "info":"SymbolName[symbol] gives the name of the specified symbol. " - }, - { - "label":"SymletWavelet", - "type":"keyword", - "info":"SymletWavelet[] represents the Symlet wavelet of order 4.SymletWavelet[n] represents the Symlet wave" - }, - { - "label":"Symmetric", - "type":"keyword", - "info":"Symmetric[{s , …, s }] represents the symmetry of a tensor that is symmetric in the slots s .\n " - }, - { - "label":"SymmetricGroup", - "type":"keyword", - "info":"SymmetricGroup[n] represents the symmetric group of degree n." - }, - { - "label":"SymmetricKey", - "type":"keyword", - "info":"SymmetricKey[assoc] represents all the information needed for encryption, decryption, and other oper" - }, - { - "label":"SymmetricMatrixQ", - "type":"keyword", - "info":"SymmetricMatrixQ[m] gives True if m is explicitly symmetric, and False otherwise. " - }, - { - "label":"SymmetricPolynomial", - "type":"keyword", - "info":" th\nSymmetricPolynomial[k, {x , …, x }] gives the k " - }, - { - "label":"SymmetricReduction", - "type":"keyword", - "info":"SymmetricReduction[f, {x , …, x }] gives a pair of polynomials {p, q} in x , …, x such that f == p " - }, - { - "label":"Symmetrize", - "type":"keyword", - "info":"Symmetrize[tensor, sym] returns the symmetrization of tensor under the symmetry sym." - }, - { - "label":"SymmetrizedArray", - "type":"keyword", - "info":"SymmetrizedArray[{pos  val , pos  val , …}, dims, sym] yields an array of dimensions dims whose " - }, - { - "label":"SymmetrizedArrayRules", - "type":"keyword", - "info":"SymmetrizedArrayRules[sa] returns a list of rules pos  val of the symmetrized array sa.Symmetrize" - }, - { - "label":"SymmetrizedDependentComponents", - "type":"keyword", - "info":"SymmetrizedDependentComponents[comp, sym] gives the list of components that are equivalent to the co" - }, - { - "label":"SymmetrizedIndependentComponents", - "type":"keyword", - "info":"SymmetrizedIndependentComponents[dims, sym] gives the list of independent components of an array of " - }, - { - "label":"SymmetrizedReplacePart", - "type":"keyword", - "info":"SymmetrizedReplacePart[sa, {pos  val , pos  val , …}] replaces independent values of the symmetr" - }, - { - "label":"SynchronousInitialization", - "type":"keyword", - "info":"SynchronousInitialization is an option for Manipulate, DynamicModule, and related functions that spe" - }, - { - "label":"SynchronousUpdating", - "type":"keyword", - "info":"SynchronousUpdating is an option for Manipulate, Dynamic, and related functions that specifies wheth" - }, - { - "label":"Synonyms", - "type":"keyword", - "info":"Synonyms[\"word\"] returns the synonyms associated with the specified word." - }, - { - "label":"Syntax", - "type":"keyword", - "info":"System`Syntax" - }, - { - "label":"SyntaxForm", - "type":"keyword", - "info":"SyntaxForm is an option for operator-like box objects that specifies the precedence level to use whe" - }, - { - "label":"SyntaxInformation", - "type":"keyword", - "info":"SyntaxInformation[f] gives information used to generate syntax coloring and other advisories when f[" - }, - { - "label":"SyntaxLength", - "type":"keyword", - "info":"SyntaxLength[\"string\"] finds the number of characters starting at the beginning of a string that cor" - }, - { - "label":"SyntaxPacket", - "type":"keyword", - "info":"SyntaxPacket[integer] is a WSTP packet where integer indicates the position at which a syntax error " - }, - { - "label":"SyntaxQ", - "type":"keyword", - "info":"SyntaxQ[\"string\"] returns True if the string corresponds to syntactically correct input for a single" - }, - { - "label":"SynthesizeMissingValues", - "type":"keyword", - "info":"SynthesizeMissingValues[{example , example , …}] replaces missing values in each example by generate" - }, - { - "label":"SystemCredential", - "type":"keyword", - "info":"SystemCredential[\"keyname\"] gives the expression stored under \"keyname\" in secure storage." - }, - { - "label":"SystemCredentialData", - "type":"keyword", - "info":"SystemCredentialData[assoc, \"pwfield\"] represents data intended for secure credential storage. " - }, - { - "label":"SystemCredentialKey", - "type":"keyword", - "info":"SystemCredentialKey is an option of AuthenticationDialog that specifies the name for secure storage " - }, - { - "label":"SystemCredentialKeys", - "type":"keyword", - "info":"SystemCredentialKeys[\"patt\"] gives the list of keys in secure storage that match patt." - }, - { - "label":"SystemCredentialStoreObject", - "type":"keyword", - "info":"SystemCredentialStoreObject[assoc] represents a credential store." - }, - { - "label":"SystemDialogInput", - "type":"keyword", - "info":"SystemDialogInput[\"type\"] brings up an interactive system dialog and returns the value chosen in the" - }, - { - "label":"SystemException", - "type":"keyword", - "info":"System`SystemException" - }, - { - "label":"SystemGet", - "type":"keyword", - "info":"SystemGet[{sym , …}, \"filename\"] loads source file with path encoded in \"filename\"\n 1" - }, - { - "label":"SystemHelpPath", - "type":"keyword", - "info":"SystemHelpPath is a global option that specifies which directories are searched for the help noteboo" - }, - { - "label":"SystemInformation", - "type":"keyword", - "info":"SystemInformation[] gives detailed information about the Wolfram System being run. SystemInformation" - }, - { - "label":"SystemInformationData", - "type":"keyword", - "info":"System`SystemInformationData" - }, - { - "label":"SystemInstall", - "type":"keyword", - "info":"SystemInstall[pack] downloads and installs the software package pack on your machine." - }, - { - "label":"SystemModel", - "type":"keyword", - "info":"SystemModel[\"model\"] gives a representation of the model \"model\", usable as input to other functions" - }, - { - "label":"SystemModeler", - "type":"keyword", - "info":"SystemModeler[] starts SystemModeler. SystemModeler[model] starts SystemModeler and opens the System" - }, - { - "label":"SystemModelExamples", - "type":"keyword", - "info":"SystemModelExamples[] shows an interactive browser of system modeling example models. SystemModelExa" - }, - { - "label":"SystemModelLinearize", - "type":"keyword", - "info":"SystemModelLinearize[model] gives a linearized StateSpaceModel for model at an equilibrium. SystemMo" - }, - { - "label":"SystemModelParametricSimulate", - "type":"keyword", - "info":"SystemModelParametricSimulate[model, v, {p , p , …}] simulates model for the variable v with paramet" - }, - { - "label":"SystemModelPlot", - "type":"keyword", - "info":"SystemModelPlot[sim] shows default plots from the SystemModelSimulationData object sim.SystemModelPl" - }, - { - "label":"SystemModelProgressReporting", - "type":"keyword", - "info":"SystemModelProgressReporting is an option for SystemModelSimulate and related functions that specifi" - }, - { - "label":"SystemModelReliability", - "type":"keyword", - "info":"SystemModelReliability[model] retrieves the lifetime distribution for model.SystemModelReliability[m" - }, - { - "label":"SystemModels", - "type":"keyword", - "info":"SystemModels[] returns a list of loaded system models.SystemModels[patt] returns the models matching" - }, - { - "label":"SystemModelSimulate", - "type":"keyword", - "info":"SystemModelSimulate[model] simulates model according to experiment settings.SystemModelSimulate[mode" - }, - { - "label":"SystemModelSimulateSensitivity", - "type":"keyword", - "info":"SystemModelSimulateSensitivity[model, {p , p , …}] simulates model and sensitivities to parameters p" - }, - { - "label":"SystemModelSimulationData", - "type":"keyword", - "info":"SystemModelSimulationData[…] represents simulation data from functions such as SystemModelSimulate e" - }, - { - "label":"SystemOpen", - "type":"keyword", - "info":"SystemOpen[\"target\"] opens the specified file, URL, or other target with the associated program on y" - }, - { - "label":"SystemOptions", - "type":"keyword", - "info":"SystemOptions[\"name\"] gives the current setting for the internal system option with the specified na" - }, - { - "label":"SystemProcessData", - "type":"keyword", - "info":"SystemProcessData[] returns a Dataset containing information on the processes running on the host co" - }, - { - "label":"SystemProcesses", - "type":"keyword", - "info":"SystemProcesses[] returns a list of ProcessObjects that represent system programs." - }, - { - "label":"SystemsConnectionsModel", - "type":"keyword", - "info":"SystemsConnectionsModel[{sys , sys , …}, conxs, ins, outs] gives a model with inputs ins and outputs" - }, - { - "label":"SystemsModelControllerData", - "type":"keyword", - "info":"SystemsModelControllerData[…] represents controller data generated by functions LQGRegulator, PIDTun" - }, - { - "label":"SystemsModelDelay", - "type":"keyword", - "info":"SystemsModelDelay[Î\.b4] represents a time delay of Î\.b4 in a StateSpaceModel or TransferFunctionModel." - }, - { - "label":"SystemsModelDelayApproximate", - "type":"keyword", - "info":"SystemsModelDelayApproximate[sys, ord] gives a delay-free system by using approximations of order or" - }, - { - "label":"SystemsModelDelete", - "type":"keyword", - "info":"SystemsModelDelete[sys, {in , …}] deletes the subsystem of the systems model sys associated with inp" - }, - { - "label":"SystemsModelDimensions", - "type":"keyword", - "info":"SystemsModelDimensions[sys] gives the number of inputs and outputs of the systems model sys." - }, - { - "label":"SystemsModelExtract", - "type":"keyword", - "info":"SystemsModelExtract[sys, {in , …}] extracts the subsystem of the systems model sys associated with i" - }, - { - "label":"SystemsModelFeedbackConnect", - "type":"keyword", - "info":" " - }, - { - "label":"SystemsModelLabels", - "type":"keyword", - "info":"SystemsModelLabels is an option to StateSpaceModel etc. that specifies labels of variables." - }, - { - "label":"SystemsModelLinearity", - "type":"keyword", - "info":"SystemsModelLinearity[sys] gives the linearity of the systems model sys.SystemsModelLinearity[{sys, " - }, - { - "label":"SystemsModelMerge", - "type":"keyword", - "info":"SystemsModelMerge[{sys , sys , …}] merges the systems models sys . \n 1 2 " - }, - { - "label":"SystemsModelOrder", - "type":"keyword", - "info":"SystemsModelOrder[sys] gives the order of the state-space model sys." - }, - { - "label":"SystemsModelParallelConnect", - "type":"keyword", - "info":"SystemsModelParallelConnect[sys , sys ] connects the systems models sys and sys in parallel.System" - }, - { - "label":"SystemsModelSeriesConnect", - "type":"keyword", - "info":"SystemsModelSeriesConnect[sys , sys ] connects systems models sys and sys in series. SystemsModelS" - }, - { - "label":"SystemsModelStateFeedbackConnect", - "type":"keyword", - "info":" " - }, - { - "label":"SystemsModelVectorRelativeOrders", - "type":"keyword", - "info":"SystemsModelVectorRelativeOrders[sys] gives the vector-relative orders of the systems model sys." - }, - { - "label":"SystemStub", - "type":"keyword", - "info":"SystemStub[{sym , sym , …}, \"context\", \"filename\"] saves definitions of given symbols {sym , sym , …" - }, - { - "label":"SystemTest", - "type":"keyword", - "info":"System`SystemTest" - }, - { - "label":"Tab", - "type":"keyword", - "info":"System`Tab" - }, - { - "label":"TabFilling", - "type":"keyword", - "info":"TabFilling is an option for character selections that specifies how a Tab character is represented o" - }, - { - "label":"Table", - "type":"keyword", - "info":"Table[expr, n] generates a list of n copies of expr. Table[expr, {i, i }] generates a list of the " - }, - { - "label":"TableAlignments", - "type":"keyword", - "info":"TableAlignments is an option for TableForm and MatrixForm which specifies how entries in each dimens" - }, - { - "label":"TableDepth", - "type":"keyword", - "info":"TableDepth is an option for TableForm and MatrixForm that specifies the maximum number of levels to " - }, - { - "label":"TableDirections", - "type":"keyword", - "info":"TableDirections is an option for TableForm and MatrixForm which specifies whether successive dimensi" - }, - { - "label":"TableForm", - "type":"keyword", - "info":"TableForm[list] prints with the elements of list arranged in an array of rectangular cells. " - }, - { - "label":"TableHeadings", - "type":"keyword", - "info":"TableHeadings is an option for TableForm and MatrixForm that gives the labels to be printed for entr" - }, - { - "label":"TableSpacing", - "type":"keyword", - "info":"TableSpacing is an option for TableForm and MatrixForm that specifies how many spaces should be left" - }, - { - "label":"TableView", - "type":"keyword", - "info":"TableView[{{expr , expr , …}, {expr , expr , …}, …}] displays as a spreadsheet-like table view f" - }, - { - "label":"TableViewBox", - "type":"keyword", - "info":"System`TableViewBox" - }, - { - "label":"TableViewBoxAlignment", - "type":"keyword", - "info":"System`TableViewBoxAlignment" - }, - { - "label":"TableViewBoxBackground", - "type":"keyword", - "info":"System`TableViewBoxBackground" - }, - { - "label":"TableViewBoxHeaders", - "type":"keyword", - "info":"System`TableViewBoxHeaders" - }, - { - "label":"TableViewBoxItemSize", - "type":"keyword", - "info":"System`TableViewBoxItemSize" - }, - { - "label":"TableViewBoxItemStyle", - "type":"keyword", - "info":"System`TableViewBoxItemStyle" - }, - { - "label":"TableViewBoxOptions", - "type":"keyword", - "info":"System`TableViewBoxOptions" - }, - { - "label":"TabSpacings", - "type":"keyword", - "info":"TabSpacings is an option for character selections that specifies the number of spaces in ems that th" - }, - { - "label":"TabView", - "type":"keyword", - "info":" " - }, - { - "label":"TabViewBox", - "type":"keyword", - "info":"System`TabViewBox" - }, - { - "label":"TabViewBoxOptions", - "type":"keyword", - "info":"TabViewBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TabViewBo" - }, - { - "label":"TagBox", - "type":"keyword", - "info":"TagBox[boxes, tag] is a low-level box construct that displays as boxes but maintains tag to guide th" - }, - { - "label":"TagBoxNote", - "type":"keyword", - "info":"System`TagBoxNote" - }, - { - "label":"TagBoxOptions", - "type":"keyword", - "info":"TagBoxOptions is an option that specifies settings for TagBox objects." - }, - { - "label":"TaggingRules", - "type":"keyword", - "info":"TaggingRules is an option for selections that specifies a list of strings to be associated with a se" - }, - { - "label":"TagSet", - "type":"keyword", - "info":"f\/:lhs = rhs assigns rhs to be the value of lhs, and associates the assignment with the symbol f. " - }, - { - "label":"TagSetDelayed", - "type":"keyword", - "info":"f\/:lhs := rhs assigns rhs to be the delayed value of lhs, and associates the assignment with the sym" - }, - { - "label":"TagStyle", - "type":"keyword", - "info":"System`TagStyle" - }, - { - "label":"TagUnset", - "type":"keyword", - "info":"f\/:lhs=. removes any rules defined for lhs, associated with the symbol f. " - }, - { - "label":"Take", - "type":"keyword", - "info":"Take[list, n] gives the first n elements of list. Take[list, -n] gives the last n elements of list. " - }, - { - "label":"TakeDrop", - "type":"keyword", - "info":"TakeDrop[list, n] gives the pair {list , list }, where list contains the first n elements of list a" - }, - { - "label":"TakeLargest", - "type":"keyword", - "info":"TakeLargest[list, n] gives the n numerically largest elements in list, sorted in descending order.Ta" - }, - { - "label":"TakeLargestBy", - "type":"keyword", - "info":"TakeLargestBy[list, f, n] gives the n elements e in list for which f[e ] is largest, sorted in d" - }, - { - "label":"TakeList", - "type":"keyword", - "info":"TakeList[list, {n , n , …}] gives the list of results obtained by successively taking n elements fr" - }, - { - "label":"TakeSmallest", - "type":"keyword", - "info":"TakeSmallest[list, n] gives the n numerically smallest elements in list, sorted in ascending order.T" - }, - { - "label":"TakeSmallestBy", - "type":"keyword", - "info":"TakeSmallestBy[list, f, n] gives the n elements e in list for which f[e ] is smallest, sorted in as" - }, - { - "label":"TakeWhile", - "type":"keyword", - "info":"TakeWhile[list, crit] gives elements e from the beginning of list, continuing so long as crit[e ] i" - }, - { - "label":"Tally", - "type":"keyword", - "info":"Tally[list] tallies the elements in list, listing all distinct elements together with their multipli" - }, - { - "label":"Tan", - "type":"keyword", - "info":"Tan[z] gives the tangent of z." - }, - { - "label":"Tanh", - "type":"keyword", - "info":"Tanh[z] gives the hyperbolic tangent of z." - }, - { - "label":"TargetDevice", - "type":"keyword", - "info":"TargetDevice is an option for certain functions that specifies whether CPU or GPU computation should" - }, - { - "label":"TargetFunctions", - "type":"keyword", - "info":"TargetFunctions is an option for functions such as ComplexExpand and FindDistribution that specifies" - }, - { - "label":"TargetSystem", - "type":"keyword", - "info":"TargetSystem is an option for FunctionCompile and related functions that specifies machine architect" - }, - { - "label":"TargetUnits", - "type":"keyword", - "info":"TargetUnits is an option used to specify the desired output units for visualization functions operat" - }, - { - "label":"TaskAbort", - "type":"keyword", - "info":"TaskAbort[task] generates an interrupt to abort the current execution of a task." - }, - { - "label":"TaskExecute", - "type":"keyword", - "info":"TaskExecute[task] immediately executes an instance of the specified task, independently of any sched" - }, - { - "label":"TaskObject", - "type":"keyword", - "info":"TaskObject[spec] is an object that represents a background task." - }, - { - "label":"TaskRemove", - "type":"keyword", - "info":"TaskRemove[task] terminates and removes the specified task." - }, - { - "label":"TaskResume", - "type":"keyword", - "info":"TaskResume[task] resumes execution of the specified task." - }, - { - "label":"Tasks", - "type":"keyword", - "info":"Tasks[type] gives a list of TaskObject expressions representing currently submitted tasks of given t" - }, - { - "label":"TaskSuspend", - "type":"keyword", - "info":"TaskSuspend[task] suspends the execution of the specified task." - }, - { - "label":"TaskWait", - "type":"keyword", - "info":"TaskWait[task] waits for the specified task to be completely finished. " - }, - { - "label":"TautologyQ", - "type":"keyword", - "info":"TautologyQ[bf] gives True if all combinations of values of variables make the Boolean function bf yi" - }, - { - "label":"TelegraphProcess", - "type":"keyword", - "info":"TelegraphProcess[μ] represents a telegraph process with rate μ." - }, - { - "label":"TemplateApply", - "type":"keyword", - "info":"TemplateApply[template] applies a template, evaluating all template elements it contains.TemplateApp" - }, - { - "label":"TemplateArgBox", - "type":"keyword", - "info":"System`TemplateArgBox" - }, - { - "label":"TemplateBox", - "type":"keyword", - "info":"TemplateBox[{box , box , …}, tag] is a low-level box structure that parameterizes the display and ev" - }, - { - "label":"TemplateBoxOptions", - "type":"keyword", - "info":"TemplateBoxOptions is an option that specifies settings for TemplateBox objects." - }, - { - "label":"TemplateEvaluate", - "type":"keyword", - "info":"System`TemplateEvaluate" - }, - { - "label":"TemplateExpression", - "type":"keyword", - "info":"TemplateExpression[expr] represents an expression held until a template is applied, and then evaluat" - }, - { - "label":"TemplateIf", - "type":"keyword", - "info":"TemplateIf[condition, tclause] represents an element of a template object that inserts tclause if th" - }, - { - "label":"TemplateObject", - "type":"keyword", - "info":"TemplateObject[expr] represents a template object to be applied using functions like TemplateApply.T" - }, - { - "label":"TemplateSequence", - "type":"keyword", - "info":"TemplateSequence[body, list] represents an element of a template object that yields a sequence consi" - }, - { - "label":"TemplateSlot", - "type":"keyword", - "info":" th\nTemplateSlot[n] represents a t" - }, - { - "label":"TemplateSlotSequence", - "type":"keyword", - "info":"System`TemplateSlotSequence" - }, - { - "label":"TemplateUnevaluated", - "type":"keyword", - "info":"System`TemplateUnevaluated" - }, - { - "label":"TemplateVerbatim", - "type":"keyword", - "info":"System`TemplateVerbatim" - }, - { - "label":"TemplateWith", - "type":"keyword", - "info":"TemplateWith[\"name\"  value, expr] represents an element of a template object that evaluates expr af" - }, - { - "label":"TemporalData", - "type":"keyword", - "info":"TemporalData[{v , v , …}, tspec] represents temporal data with values v at times specified by tspec" - }, - { - "label":"TemporalRegularity", - "type":"keyword", - "info":"TemporalRegularity is an option for TemporalData, TimeSeries, and EventSeries that controls whether " - }, - { - "label":"Temporary", - "type":"keyword", - "info":"Temporary is an attribute assigned to symbols which are created as local variables by Module. " - }, - { - "label":"TemporaryVariable", - "type":"keyword", - "info":"System`TemporaryVariable" - }, - { - "label":"TensorContract", - "type":"keyword", - "info":"TensorContract[tensor, {{s , s }, {s , s }, …}] yields the contraction of tensor in the pairs {s" - }, - { - "label":"TensorDimensions", - "type":"keyword", - "info":"TensorDimensions[tensor] gives the list of dimensions of tensor." - }, - { - "label":"TensorExpand", - "type":"keyword", - "info":"TensorExpand[texpr] expands out tensor-related products in the symbolic tensor expression texpr." - }, - { - "label":"TensorProduct", - "type":"keyword", - "info":"TensorProduct[tensor , tensor , …] represents the tensor product of the tensor .\n " - }, - { - "label":"TensorQ", - "type":"keyword", - "info":"System`TensorQ" - }, - { - "label":"TensorRank", - "type":"keyword", - "info":"TensorRank[tensor] gives the rank of tensor." - }, - { - "label":"TensorReduce", - "type":"keyword", - "info":"TensorReduce[texpr] attempts to return a canonical form for the symbolic tensor expression texpr." - }, - { - "label":"TensorSymmetry", - "type":"keyword", - "info":"TensorSymmetry[tensor] gives the symmetry of tensor under permutations of its slots.TensorSymmetry[t" - }, - { - "label":"TensorTranspose", - "type":"keyword", - "info":"TensorTranspose[tensor, perm] represents the tensor obtained by transposing the slots of tensor as g" - }, - { - "label":"TensorWedge", - "type":"keyword", - "info":"TensorWedge[tensor , tensor , …] represents the antisymmetrized tensor product of the tensor .\n " - }, - { - "label":"TestID", - "type":"keyword", - "info":"TestID is an option to VerificationTest that specifies a string used as an identifier for the test." - }, - { - "label":"TestReport", - "type":"keyword", - "info":"TestReport[\"file\"] runs tests from a file, returning an analysis of the completed test run.TestRepor" - }, - { - "label":"TestReportObject", - "type":"keyword", - "info":"TestReportObject[…] gives an object that represents the results of TestReport." - }, - { - "label":"TestResultObject", - "type":"keyword", - "info":"TestResultObject[…] gives an object that represents the results of a VerificationTest." - }, - { - "label":"Tetrahedron", - "type":"keyword", - "info":"Tetrahedron[] represents a regular tetrahedron centered at the origin with unit edge length.Tetrahed" - }, - { - "label":"TetrahedronBox", - "type":"keyword", - "info":"System`TetrahedronBox" - }, - { - "label":"TetrahedronBoxOptions", - "type":"keyword", - "info":"System`TetrahedronBoxOptions" - }, - { - "label":"TeXForm", - "type":"keyword", - "info":"TeXForm[expr] prints as a TeX version of expr. " - }, - { - "label":"TeXSave", - "type":"keyword", - "info":"TeXSave[\"file.tex\"] saves a TeX version of the current input notebook in the front end. TeXSave[\"fil" - }, - { - "label":"Text", - "type":"keyword", - "info":"Text[expr] displays with expr in plain text format. Text[expr, coords] is a graphics primitive that " - }, - { - "label":"Text3DBox", - "type":"keyword", - "info":"System`Text3DBox" - }, - { - "label":"Text3DBoxOptions", - "type":"keyword", - "info":"Text3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Text3DBox " - }, - { - "label":"TextAlignment", - "type":"keyword", - "info":"TextAlignment is an option for Cell, Style and related constructs which specifies how successive lin" - }, - { - "label":"TextBand", - "type":"keyword", - "info":"System`TextBand" - }, - { - "label":"TextBoundingBox", - "type":"keyword", - "info":"System`TextBoundingBox" - }, - { - "label":"TextBox", - "type":"keyword", - "info":"System`TextBox" - }, - { - "label":"TextCases", - "type":"keyword", - "info":"TextCases[text, form] gives a list of all cases of text identified as being of type form that appear" - }, - { - "label":"TextCell", - "type":"keyword", - "info":"TextCell[\"string\"] gives a text cell that can appear in a Wolfram System notebook.TextCell[\"string\"," - }, - { - "label":"TextClipboardType", - "type":"keyword", - "info":"TextClipboardType is an option for cells that specifies how Edit â–\\[Paragraph] Copy treats a cell when convertin" - }, - { - "label":"TextContents", - "type":"keyword", - "info":"TextContents[text] gives a dataset of information about entities, dates, quantities and other conten" - }, - { - "label":"TextData", - "type":"keyword", - "info":"TextData[exprs] is a low-level representation of the contents of a textual cell." - }, - { - "label":"TextElement", - "type":"keyword", - "info":"TextElement[text, props] represents an element of text with the specified properties.TextElement[{el" - }, - { - "label":"TextForm", - "type":"keyword", - "info":"System`TextForm" - }, - { - "label":"TextGrid", - "type":"keyword", - "info":"TextGrid[{{expr , expr , …}, {expr , expr , …}, …}] is an object that formats expr textually a" - }, - { - "label":"TextJustification", - "type":"keyword", - "info":"TextJustification is an option for Cell and Inset which specifies how much lines of text can be stre" - }, - { - "label":"TextLine", - "type":"keyword", - "info":"System`TextLine" - }, - { - "label":"TextPacket", - "type":"keyword", - "info":"TextPacket[string] is a WSTP packet containing string, the text output from the Wolfram System as pr" - }, - { - "label":"TextParagraph", - "type":"keyword", - "info":"System`TextParagraph" - }, - { - "label":"TextPosition", - "type":"keyword", - "info":"TextPosition[text, form] gives a list of the starting and ending positions at which instances of for" - }, - { - "label":"TextRecognize", - "type":"keyword", - "info":"TextRecognize[image] recognizes text in image and returns it as a string.TextRecognize[image, level]" - }, - { - "label":"TextSearch", - "type":"keyword", - "info":"TextSearch[source, form] searches for files referenced by source that contain text matching form.Tex" - }, - { - "label":"TextSearchReport", - "type":"keyword", - "info":"TextSearchReport[source, form] gives a structured report of files referenced by source that contain " - }, - { - "label":"TextSentences", - "type":"keyword", - "info":"TextSentences[\"string\"] gives a list of the runs of characters identified as sentences in string.Tex" - }, - { - "label":"TextString", - "type":"keyword", - "info":"TextString[expr] gives a human-readable string representation of expr." - }, - { - "label":"TextStructure", - "type":"keyword", - "info":"TextStructure[\"text\"] generates a nested collection of TextElement objects representing the grammati" - }, - { - "label":"TextStyle", - "type":"keyword", - "info":"TextStyle is an option for graphics functions and for Text which specifies the default style and fon" - }, - { - "label":"TextTranslation", - "type":"keyword", - "info":"TextTranslation[\"text\"] translates text into the current default language. TextTranslation[\"text\", l" - }, - { - "label":"Texture", - "type":"keyword", - "info":"Texture[obj] is a graphics directive that specifies that obj should be used as a texture on faces of" - }, - { - "label":"TextureCoordinateFunction", - "type":"keyword", - "info":"TextureCoordinateFunction is an option to Plot3D and similar functions that specifies a function tha" - }, - { - "label":"TextureCoordinateScaling", - "type":"keyword", - "info":"TextureCoordinateScaling is an option to Plot3D and similar functions that specifies whether argumen" - }, - { - "label":"TextWords", - "type":"keyword", - "info":"TextWords[\"string\"] gives a list of the runs of characters identified as words in string.TextWords[\"" - }, - { - "label":"Therefore", - "type":"keyword", - "info":"Therefore[x, y] displays as x âˆ\.b4 y." - }, - { - "label":"ThermodynamicData", - "type":"keyword", - "info":"ThermodynamicData[\"name\", \"property\"] gives the value of the specific property for the substance \"na" - }, - { - "label":"ThermometerGauge", - "type":"keyword", - "info":"ThermometerGauge[value] draws a thermometer showing value in a range of 0 to 1.ThermometerGauge[valu" - }, - { - "label":"Thick", - "type":"keyword", - "info":"Thick is a graphics directive that specifies that lines which follow should be drawn thick." - }, - { - "label":"Thickness", - "type":"keyword", - "info":"Thickness[r] is a graphics directive which specifies that lines which follow are to be drawn with th" - }, - { - "label":"Thin", - "type":"keyword", - "info":"Thin is a graphics directive that specifies that lines which follow should be drawn thin." - }, - { - "label":"Thinning", - "type":"keyword", - "info":"Thinning[image] finds the skeletons of foreground regions in image by applying morphological thinnin" - }, - { - "label":"ThisLink", - "type":"keyword", - "info":"ThisLink is used in patterns for external packages to distinguish between several instances of the s" - }, - { - "label":"ThomasPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"ThompsonGroupTh", - "type":"keyword", - "info":"ThompsonGroupTh[] represents the sporadic simple Thompson group Th." - }, - { - "label":"Thread", - "type":"keyword", - "info":"Thread[f[args]] \"threads\" f over any lists that appear in args. Thread[f[args], h] threads f over an" - }, - { - "label":"ThreadingLayer", - "type":"keyword", - "info":"ThreadingLayer[f] represents a net layer that takes several input arrays and applies a function f to" - }, - { - "label":"ThreeJSymbol", - "type":"keyword", - "info":"ThreeJSymbol[{j , m }, {j , m }, {j , m }] gives the values of the Wigner 3‐j symbol. \n " - }, - { - "label":"Threshold", - "type":"keyword", - "info":"Threshold[data] thresholds data by replacing values close to zero by zero.Threshold[data, tspec] thr" - }, - { - "label":"Through", - "type":"keyword", - "info":"Through[p[f , f ][x]] gives p[f [x], f [x]]. Through[expr, h] performs the transformation wherever h" - }, - { - "label":"Throw", - "type":"keyword", - "info":"Throw[value] stops evaluation and returns value as the value of the nearest enclosing Catch.Throw[va" - }, - { - "label":"ThueMorse", - "type":"keyword", - "info":" th\nThueMorse[n] gives the n term in the Thue–Morse sequence." - }, - { - "label":"Thumbnail", - "type":"keyword", - "info":"Thumbnail[image] gives a thumbnail version of an image.Thumbnail[file] gives a thumbnail of an image" - }, - { - "label":"Thursday", - "type":"keyword", - "info":"Thursday is a day of the week." - }, - { - "label":"TickDirection", - "type":"keyword", - "info":"TickDirection is an option for AxisObject that specifies where the ticks are drawn relative to the a" - }, - { - "label":"TickLabelOrientation", - "type":"keyword", - "info":"TickLabelOrientation is an option for AxisObject that specifies how the tick labels should be orient" - }, - { - "label":"TickLabelPositioning", - "type":"keyword", - "info":"TickLabelPositioning is an option for AxisObject that specifies how the tick labels should be positi" - }, - { - "label":"TickLabels", - "type":"keyword", - "info":"TickLabels is an option for AxisObject that specifies how the tick marks should be labeled." - }, - { - "label":"TickLengths", - "type":"keyword", - "info":"TickLengths is an option for AxisObject that specifies the lengths of the tick marks." - }, - { - "label":"TickPositions", - "type":"keyword", - "info":"TickPositions is an option for AxisObject that specifies where the tick marks should be positioned." - }, - { - "label":"Ticks", - "type":"keyword", - "info":"Ticks is an option for graphics functions that specifies tick marks for axes. " - }, - { - "label":"TicksStyle", - "type":"keyword", - "info":"TicksStyle is an option for graphics functions which specifies how ticks should be rendered." - }, - { - "label":"TideData", - "type":"keyword", - "info":"TideData[spec] returns the tidal properties for a location or a set of tidal parameters.TideData[spe" - }, - { - "label":"Tilde", - "type":"keyword", - "info":"Tilde[x, y, …] displays as x ∼ y ∼ …." - }, - { - "label":"TildeEqual", - "type":"keyword", - "info":"TildeEqual[x, y, …] displays as x ≃ y ≃ …." - }, - { - "label":"TildeFullEqual", - "type":"keyword", - "info":"TildeFullEqual[x, y, …] displays as x ≅ y ≅ …." - }, - { - "label":"TildeTilde", - "type":"keyword", - "info":"TildeTilde[x, y, …] displays as x ≈ y ≈ …." - }, - { - "label":"TimeConstrained", - "type":"keyword", - "info":"TimeConstrained[expr, t] evaluates expr, stopping after t seconds. TimeConstrained[expr, t, failexpr" - }, - { - "label":"TimeConstraint", - "type":"keyword", - "info":"TimeConstraint is an option for various functions that specifies the maximum time to spend doing a p" - }, - { - "label":"TimeDirection", - "type":"keyword", - "info":"TimeDirection is an option for Sunrise, Sunset, and related functions that specifies whether the nex" - }, - { - "label":"TimeFormat", - "type":"keyword", - "info":"TimeFormat is an option that determines the time formatting that is used when formatting a TimeObjec" - }, - { - "label":"TimeGoal", - "type":"keyword", - "info":"TimeGoal is an option for various functions that specifies how long to spend doing a particular oper" - }, - { - "label":"TimelinePlot", - "type":"keyword", - "info":"TimelinePlot[{date , date , …}] makes a timeline plot with dates date , date , …. TimelinePlot[{even" - }, - { - "label":"TimeObject", - "type":"keyword", - "info":"TimeObject[] represents the current time.TimeObject[{h, m, s}] represents a time object of standard " - }, - { - "label":"TimeObjectQ", - "type":"keyword", - "info":"TimeObjectQ[expr] gives True if expr is a TimeObject with valid arguments, and False otherwise." - }, - { - "label":"TimeRemaining", - "type":"keyword", - "info":"TimeRemaining[] gives the number of seconds remaining until the earliest enclosing TimeConstrained w" - }, - { - "label":"Times", - "type":"keyword", - "info":"x * y * z, x × y × z, or x y z represents a product of terms. " - }, - { - "label":"TimesBy", - "type":"keyword", - "info":"x *= c multiplies x by c and returns the new value of x. " - }, - { - "label":"TimeSeries", - "type":"keyword", - "info":"TimeSeries[{{t , v }, {t , v } …}] represents a time series specified by time-value pairs {t , v }.T" - }, - { - "label":"TimeSeriesAggregate", - "type":"keyword", - "info":"TimeSeriesAggregate[tseries, dt] computes the mean value of tseries over non-overlapping windows of " - }, - { - "label":"TimeSeriesForecast", - "type":"keyword", - "info":"TimeSeriesForecast[tproc, data, k] gives the k-step-ahead forecast beyond data according to the time" - }, - { - "label":"TimeSeriesInsert", - "type":"keyword", - "info":"TimeSeriesInsert[tseries, {t, v}] inserts a value v at time t in the time series tseries.TimeSeriesI" - }, - { - "label":"TimeSeriesInvertibility", - "type":"keyword", - "info":"TimeSeriesInvertibility[tproc] gives conditions for the time series process tproc to be invertible. " - }, - { - "label":"TimeSeriesMap", - "type":"keyword", - "info":"TimeSeriesMap[f, tseries] applies f to the values in tseries." - }, - { - "label":"TimeSeriesMapThread", - "type":"keyword", - "info":"TimeSeriesMapThread[f, tseries] gives {{t , f[t , x ]}, {t , f[t , x ]}, …} for the time series tser" - }, - { - "label":"TimeSeriesModel", - "type":"keyword", - "info":"TimeSeriesModel[…] represents the symbolic time series model obtained from TimeSeriesModelFit." - }, - { - "label":"TimeSeriesModelFit", - "type":"keyword", - "info":"TimeSeriesModelFit[data] constructs a time series model for data from an automatically selected mode" - }, - { - "label":"TimeSeriesResample", - "type":"keyword", - "info":"TimeSeriesResample[tseries] uniformly resamples tseries according to its minimum time increment.Time" - }, - { - "label":"TimeSeriesRescale", - "type":"keyword", - "info":"TimeSeriesRescale[tseries, {t , t }] rescales the times in time series tseries to run from t " - }, - { - "label":"TimeSeriesShift", - "type":"keyword", - "info":"TimeSeriesShift[tseries, shift] shifts the time series tseries to the left or right according to shi" - }, - { - "label":"TimeSeriesThread", - "type":"keyword", - "info":"TimeSeriesThread[f, {tseries , tseries , …}] combines the tseries using the function f.\n " - }, - { - "label":"TimeSeriesWindow", - "type":"keyword", - "info":"TimeSeriesWindow[tseries, {t , t }] gives the elements of the time series tseries that fall betw" - }, - { - "label":"TimeSystem", - "type":"keyword", - "info":"TimeSystem is an option for time functions that specifies the time system being used to define time." - }, - { - "label":"TimeSystemConvert", - "type":"keyword", - "info":"TimeSystemConvert[date, tsys] converts the date object date to the specified time system tsys.TimeSy" - }, - { - "label":"TimeUsed", - "type":"keyword", - "info":"TimeUsed[] gives the total number of seconds of CPU time used so far in the current Wolfram System s" - }, - { - "label":"TimeValue", - "type":"keyword", - "info":"TimeValue[s, i, t] calculates the time value of a security s at time t for an interest specified by " - }, - { - "label":"TimeWarpingCorrespondence", - "type":"keyword", - "info":"TimeWarpingCorrespondence[s , s ] gives the time warping (DTW) similarity path between sequences s " - }, - { - "label":"TimeWarpingDistance", - "type":"keyword", - "info":"TimeWarpingDistance[s , s ] gives the dynamic time warping (DTW) distance between sequences s and s" - }, - { - "label":"TimeZone", - "type":"keyword", - "info":"TimeZone is an option for DateObject, DateString, and related functions that specifies the time zone" - }, - { - "label":"TimeZoneConvert", - "type":"keyword", - "info":"TimeZoneConvert[time, timezone] converts the date or time object time to the specified time zone tim" - }, - { - "label":"TimeZoneOffset", - "type":"keyword", - "info":"TimeZoneOffset[tz] gives the numeric offset between the time zone tz and GMT on the current date.Tim" - }, - { - "label":"Timing", - "type":"keyword", - "info":"Timing[expr] evaluates expr, and returns a list of the time in seconds used, together with the resul" - }, - { - "label":"Tiny", - "type":"keyword", - "info":"Tiny is a style or option setting that specifies that objects should be tiny." - }, - { - "label":"TitleGrouping", - "type":"keyword", - "info":"System`TitleGrouping" - }, - { - "label":"TitsGroupT", - "type":"keyword", - "info":"TitsGroupT[] represents the simple Tits group T." - }, - { - "label":"ToBoxes", - "type":"keyword", - "info":"ToBoxes[expr] generates boxes corresponding to the printed form of expr in StandardForm. ToBoxes[exp" - }, - { - "label":"ToCharacterCode", - "type":"keyword", - "info":"ToCharacterCode[\"string\"] gives a list of the integer codes corresponding to the characters in a str" - }, - { - "label":"ToColor", - "type":"keyword", - "info":"ToColor[color, form] converts color to form if form is GrayLevel, RGBColor or CMYKColor. Otherwise f" - }, - { - "label":"ToContinuousTimeModel", - "type":"keyword", - "info":"ToContinuousTimeModel[lsys] gives the continuous-time approximation of the discrete-time systems mod" - }, - { - "label":"ToDate", - "type":"keyword", - "info":"ToDate[time] converts an absolute time in seconds since the beginning of January 1, 1900 to a date o" - }, - { - "label":"Today", - "type":"keyword", - "info":"Today gives a DateObject representing the current day." - }, - { - "label":"ToDiscreteTimeModel", - "type":"keyword", - "info":"ToDiscreteTimeModel[lsys, τ] gives the discrete-time approximation, with sampling period τ, of the c" - }, - { - "label":"ToEntity", - "type":"keyword", - "info":"ToEntity[expr] returns an entity object corresponding to the given expression.ToEntity[expr, type] r" - }, - { - "label":"ToeplitzMatrix", - "type":"keyword", - "info":"ToeplitzMatrix[n] gives the n×n Toeplitz matrix with first row and first column being successive int" - }, - { - "label":"ToExpression", - "type":"keyword", - "info":"ToExpression[input] gives the expression obtained by interpreting strings or boxes as Wolfram Langua" - }, - { - "label":"ToFileName", - "type":"keyword", - "info":"ToFileName[\"directory\", \"name\"] assembles a full file name from a directory name and a file name. To" - }, - { - "label":"Together", - "type":"keyword", - "info":"Together[expr] puts terms in a sum over a common denominator, and cancels factors in the result. " - }, - { - "label":"Toggle", - "type":"keyword", - "info":"System`Toggle" - }, - { - "label":"ToggleFalse", - "type":"keyword", - "info":"System`ToggleFalse" - }, - { - "label":"Toggler", - "type":"keyword", - "info":"Toggler[x] represents a toggler button with setting x, that toggles between True and False. Toggler[" - }, - { - "label":"TogglerBar", - "type":"keyword", - "info":"TogglerBar[x, {val , val , …}] represents a toggler bar with setting x and with toggler buttons for " - }, - { - "label":"TogglerBox", - "type":"keyword", - "info":"System`TogglerBox" - }, - { - "label":"TogglerBoxOptions", - "type":"keyword", - "info":"TogglerBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TogglerBo" - }, - { - "label":"ToHeldExpression", - "type":"keyword", - "info":"System`ToHeldExpression" - }, - { - "label":"ToInvertibleTimeSeries", - "type":"keyword", - "info":"ToInvertibleTimeSeries[tproc] returns an invertible version of a time series process tproc." - }, - { - "label":"TokenWords", - "type":"keyword", - "info":"TokenWords is an option for Read and related functions which gives a list of token words to be used " - }, - { - "label":"Tolerance", - "type":"keyword", - "info":"Tolerance is an option for various numerical options which specifies the tolerance that should be al" - }, - { - "label":"ToLowerCase", - "type":"keyword", - "info":"ToLowerCase[string] yields a string in which all letters have been converted to lowercase. " - }, - { - "label":"Tomorrow", - "type":"keyword", - "info":"Tomorrow gives a DateObject representing the following day." - }, - { - "label":"ToNumberField", - "type":"keyword", - "info":"ToNumberField[a, θ] expresses the algebraic number a in the number field generated by θ. ToNumberFie" - }, - { - "label":"TooBig", - "type":"keyword", - "info":"TooBig is an internal symbol." - }, - { - "label":"Tooltip", - "type":"keyword", - "info":"Tooltip[expr, label] displays label as a tooltip while the mouse pointer is in the area where expr i" - }, - { - "label":"TooltipBox", - "type":"keyword", - "info":"System`TooltipBox" - }, - { - "label":"TooltipBoxOptions", - "type":"keyword", - "info":"TooltipBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TooltipBo" - }, - { - "label":"TooltipDelay", - "type":"keyword", - "info":"TooltipDelay is an option for objects such as Tooltip that specifies how long to delay after the mou" - }, - { - "label":"TooltipStyle", - "type":"keyword", - "info":"TooltipStyle is an option for tooltips that specifies the style to use in displaying their elements." - }, - { - "label":"ToonShading", - "type":"keyword", - "info":"ToonShading[] is a three-dimensional graphics directive specifying that surfaces that follow are to " - }, - { - "label":"Top", - "type":"keyword", - "info":"Top is a symbol that represents the top for purposes of alignment and positioning. " - }, - { - "label":"TopHatTransform", - "type":"keyword", - "info":"TopHatTransform[image, ker] gives the morphological top-hat transform of image with respect to struc" - }, - { - "label":"ToPolarCoordinates", - "type":"keyword", - "info":"ToPolarCoordinates[{x, y}] gives the {r, θ} polar coordinates corresponding to the Cartesian coordin" - }, - { - "label":"TopologicalSort", - "type":"keyword", - "info":"TopologicalSort[g] gives a list of vertices of g in topologically sorted order for a directed acycli" - }, - { - "label":"ToRadicals", - "type":"keyword", - "info":"ToRadicals[expr] attempts to express all Root objects in expr in terms of radicals. " - }, - { - "label":"ToRules", - "type":"keyword", - "info":"ToRules[eqns] takes logical combinations of equations, in the form generated by Roots and Reduce, an" - }, - { - "label":"Torus", - "type":"keyword", - "info":"Torus[{x, y, z}, {r , r }] represents a torus centered at {x, y, z} with inner radius r " - }, - { - "label":"ToSphericalCoordinates", - "type":"keyword", - "info":"ToSphericalCoordinates[{x, y, z}] gives the {r, θ, ϕ} spherical coordinates corresponding to the Car" - }, - { - "label":"ToString", - "type":"keyword", - "info":"ToString[expr] gives a string corresponding to the printed form of expr in OutputForm. ToString[expr" - }, - { - "label":"Total", - "type":"keyword", - "info":"Total[list] gives the total of the elements in list. Total[list, n] totals all elements down to leve" - }, - { - "label":"TotalHeight", - "type":"keyword", - "info":"System`TotalHeight" - }, - { - "label":"TotalLayer", - "type":"keyword", - "info":"TotalLayer[] represents a net layer taking a list of input arrays and performing elementwise additio" - }, - { - "label":"TotalVariationFilter", - "type":"keyword", - "info":"TotalVariationFilter[data] iteratively reduces noise while preserving rapid transitions in data.Tota" - }, - { - "label":"TotalWidth", - "type":"keyword", - "info":"TotalWidth is an option that can be set for output streams to specify the maximum total number of ch" - }, - { - "label":"TouchPosition", - "type":"keyword", - "info":" " - }, - { - "label":"TouchscreenAutoZoom", - "type":"keyword", - "info":"TouchscreenAutoZoom is an option for Manipulate and Graphics3D that determines whether the interface" - }, - { - "label":"TouchscreenControlPlacement", - "type":"keyword", - "info":"TouchscreenControlPlacement is an option for Manipulate that determines the placement of the slide-o" - }, - { - "label":"ToUpperCase", - "type":"keyword", - "info":"ToUpperCase[string] yields a string in which all letters have been converted to uppercase. " - }, - { - "label":"TourVideo", - "type":"keyword", - "info":"TourVideo[graphics, {pt , pt , …}] generates a video by taking a tour at points pt around graphics." - }, - { - "label":"Tr", - "type":"keyword", - "info":"Tr[list] finds the trace of the matrix or tensor list. Tr[list, f] finds a generalized trace, combin" - }, - { - "label":"Trace", - "type":"keyword", - "info":"Trace[expr] generates a list of all expressions used in the evaluation of expr. Trace[expr, form] in" - }, - { - "label":"TraceAbove", - "type":"keyword", - "info":"TraceAbove is an option for Trace and related functions which specifies whether to include evaluatio" - }, - { - "label":"TraceAction", - "type":"keyword", - "info":"TraceAction is an option for TracePrint and TraceDialog that specifies the function to be applied to" - }, - { - "label":"TraceBackward", - "type":"keyword", - "info":"TraceBackward is an option for Trace and related functions that specifies whether to include precedi" - }, - { - "label":"TraceDepth", - "type":"keyword", - "info":"TraceDepth is an option for Trace and related functions which specifies the maximum nesting of evalu" - }, - { - "label":"TraceDialog", - "type":"keyword", - "info":"TraceDialog[expr] initiates a dialog for every expression used in the evaluation of expr. TraceDialo" - }, - { - "label":"TraceForward", - "type":"keyword", - "info":"TraceForward is an option for Trace and related functions which specifies whether to include later e" - }, - { - "label":"TraceInternal", - "type":"keyword", - "info":"TraceInternal is an option for Trace and related functions which, if True or False, specifies whethe" - }, - { - "label":"TraceLevel", - "type":"keyword", - "info":"TraceLevel[] returns the level currently being traced when it appears within Trace and related funct" - }, - { - "label":"TraceOff", - "type":"keyword", - "info":"TraceOff is an option for Trace and related functions which specifies forms inside which tracing sho" - }, - { - "label":"TraceOn", - "type":"keyword", - "info":"TraceOn is an option for Trace and related functions which specifies when tracing should be switched" - }, - { - "label":"TraceOriginal", - "type":"keyword", - "info":"TraceOriginal is an option for Trace and related functions which specifies whether to test the form " - }, - { - "label":"TracePrint", - "type":"keyword", - "info":"TracePrint[expr] prints all expressions used in the evaluation of expr. TracePrint[expr, form] inclu" - }, - { - "label":"TraceScan", - "type":"keyword", - "info":"TraceScan[f, expr] applies f to all expressions used in the evaluation of expr. TraceScan[f, expr, f" - }, - { - "label":"TrackCellChangeTimes", - "type":"keyword", - "info":"System`TrackCellChangeTimes" - }, - { - "label":"TrackedSymbols", - "type":"keyword", - "info":"TrackedSymbols is an option to Refresh, Manipulate, and related functions that specifies which symbo" - }, - { - "label":"TrackingFunction", - "type":"keyword", - "info":"TrackingFunction is an option for Manipulate controls that specifies functions to use during interac" - }, - { - "label":"TracyWidomDistribution", - "type":"keyword", - "info":"TracyWidomDistribution[Î\.b2] represents a Tracy–Widom distribution with Dyson index Î\.b2." - }, - { - "label":"TradingChart", - "type":"keyword", - "info":"TradingChart[{{date , {open , high , low , close , volume }}, …}] makes a chart showing prices and v" - }, - { - "label":"TraditionalForm", - "type":"keyword", - "info":"TraditionalForm[expr] prints as an approximation to the traditional mathematical notation for expr. " - }, - { - "label":"TraditionalFunctionNotation", - "type":"keyword", - "info":"TraditionalFunctionNotation is an option for selections that specifies whether input of the form f(x" - }, - { - "label":"TraditionalNotation", - "type":"keyword", - "info":"System`TraditionalNotation" - }, - { - "label":"TraditionalOrder", - "type":"keyword", - "info":"System`TraditionalOrder" - }, - { - "label":"TrainImageContentDetector", - "type":"keyword", - "info":"TrainImageContentDetector[{img  {bbox  class , …}, …}] trains a ContentDetectorFunction[…] based" - }, - { - "label":"TrainingProgressCheckpointing", - "type":"keyword", - "info":"TrainingProgressCheckpointing is an option for NetTrain that specifies how to save copies of the net" - }, - { - "label":"TrainingProgressFunction", - "type":"keyword", - "info":"TrainingProgressFunction is an option for NetTrain that specifies a function to run periodically dur" - }, - { - "label":"TrainingProgressMeasurements", - "type":"keyword", - "info":"TrainingProgressMeasurements is an option for NetTrain that specifies measurements to make while tra" - }, - { - "label":"TrainingProgressReporting", - "type":"keyword", - "info":"TrainingProgressReporting is an option for NetTrain and related functions that specifies how to repo" - }, - { - "label":"TrainingStoppingCriterion", - "type":"keyword", - "info":"TrainingStoppingCriterion is an option for NetTrain that specifies a criterion for stopping training" - }, - { - "label":"TrainingUpdateSchedule", - "type":"keyword", - "info":"TrainingUpdateSchedule is an option for NetTrain that specifies which arrays of the network can be u" - }, - { - "label":"TrainTextContentDetector", - "type":"keyword", - "info":"TrainTextContentDetector[{text  {span  class , …}, …}] trains a ContentDetectorFunction[…] based" - }, - { - "label":"TransferFunctionCancel", - "type":"keyword", - "info":"TransferFunctionCancel[tfm] cancels common poles and zeros in the TransferFunctionModel tfm.Transfer" - }, - { - "label":"TransferFunctionExpand", - "type":"keyword", - "info":"TransferFunctionExpand[tfm] expands polynomial terms in the numerators and denominators of the Trans" - }, - { - "label":"TransferFunctionFactor", - "type":"keyword", - "info":"TransferFunctionFactor[tfm] factors the polynomial terms in the numerators and denominators of the T" - }, - { - "label":"TransferFunctionModel", - "type":"keyword", - "info":"TransferFunctionModel[m, s] represents the model of the transfer-function matrix m with complex vari" - }, - { - "label":"TransferFunctionPoles", - "type":"keyword", - "info":"TransferFunctionPoles[tfm] gives a matrix of roots of the denominators in the TransferFunctionModel " - }, - { - "label":"TransferFunctionTransform", - "type":"keyword", - "info":"TransferFunctionTransform[f, tf] transforms the TransferFunctionModel object tf using the transforma" - }, - { - "label":"TransferFunctionZeros", - "type":"keyword", - "info":"TransferFunctionZeros[tfm] gives a matrix of roots of the numerators in the TransferFunctionModel tf" - }, - { - "label":"TransformationClass", - "type":"keyword", - "info":"TransformationClass is an option that specifies the class of geometric transformations to be used." - }, - { - "label":"TransformationFunction", - "type":"keyword", - "info":"TransformationFunction[data] represents a transformation function that applies geometric and other t" - }, - { - "label":"TransformationFunctions", - "type":"keyword", - "info":"TransformationFunctions is an option for Simplify and FullSimplify which gives the list of functions" - }, - { - "label":"TransformationMatrix", - "type":"keyword", - "info":"TransformationMatrix[tfun] gives the homogeneous matrix associated with a TransformationFunction obj" - }, - { - "label":"TransformedDistribution", - "type":"keyword", - "info":"TransformedDistribution[expr, x  dist] represents the transformed distribution of expr where the ra" - }, - { - "label":"TransformedField", - "type":"keyword", - "info":"TransformedField[t, f, {x , x , …, x }  {y , y , …, y }] uses the coordinate transformation t to tr" - }, - { - "label":"TransformedProcess", - "type":"keyword", - "info":"TransformedProcess[expr, x  proc, t] represents the transformed process of expr where the variable " - }, - { - "label":"TransformedRegion", - "type":"keyword", - "info":"TransformedRegion[reg, f] represents the transformed region {f(p) | p ∈ reg}, where reg is a region " - }, - { - "label":"TransitionDirection", - "type":"keyword", - "info":"TransitionDirection is an option for PaneSelector that specifies the direction in which a transition" - }, - { - "label":"TransitionDuration", - "type":"keyword", - "info":"TransitionDuration is an option for PaneSelector that specifies the duration in seconds that a trans" - }, - { - "label":"TransitionEffect", - "type":"keyword", - "info":"TransitionEffect is an option for PaneSelector that specifies the visual effect used when transition" - }, - { - "label":"TransitiveClosureGraph", - "type":"keyword", - "info":"TransitiveClosureGraph[g] gives the transitive closure of the graph g.TransitiveClosureGraph[{v  w," - }, - { - "label":"TransitiveReductionGraph", - "type":"keyword", - "info":"TransitiveReductionGraph[g] gives a transitive reduction of the graph g.TransitiveReductionGraph[{v " - }, - { - "label":"Translate", - "type":"keyword", - "info":"Translate[g, {x, y, …}] represents graphics primitives g translated by the vector {x, y, …}. Transla" - }, - { - "label":"TranslationOptions", - "type":"keyword", - "info":"TranslationOptions  {opt  val , opt  val , …} is an option for Style and Cell that controls how" - }, - { - "label":"TranslationTransform", - "type":"keyword", - "info":"TranslationTransform[v] gives a TransformationFunction that represents translation of points by a ve" - }, - { - "label":"Transliterate", - "type":"keyword", - "info":"Transliterate[\"string\"] attempts to transliterate string into plain ASCII.Transliterate[\"string\", sc" - }, - { - "label":"Transparent", - "type":"keyword", - "info":"Transparent represents perfect transparency in graphics or style specifications. " - }, - { - "label":"TransparentColor", - "type":"keyword", - "info":"System`TransparentColor" - }, - { - "label":"Transpose", - "type":"keyword", - "info":" " - }, - { - "label":"TransposeLayer", - "type":"keyword", - "info":" " - }, - { - "label":"TrapEnterKey", - "type":"keyword", - "info":"System`TrapEnterKey" - }, - { - "label":"TrapSelection", - "type":"keyword", - "info":"System`TrapSelection" - }, - { - "label":"TravelDirections", - "type":"keyword", - "info":"TravelDirections[{loc , loc , …}] generates directions for travel from loc to loc , ….TravelDirecti" - }, - { - "label":"TravelDirectionsData", - "type":"keyword", - "info":"TravelDirectionsData[…] represents travel directions generated by TravelDirections." - }, - { - "label":"TravelDistance", - "type":"keyword", - "info":"TravelDistance[{loc , loc , …}] gives the estimated distance for travel from loc to loc , ….\n " - }, - { - "label":"TravelDistanceList", - "type":"keyword", - "info":"TravelDistanceList[{loc , loc , …, loc }] returns the list {TravelDistance[loc , loc ], …, TravelDis" - }, - { - "label":"TravelMethod", - "type":"keyword", - "info":"TravelMethod is an option for TravelDirections and related functions that specifies the mode of tran" - }, - { - "label":"TravelTime", - "type":"keyword", - "info":"TravelTime[{loc , loc , …}] gives the estimated time to travel from loc to loc , ….\n " - }, - { - "label":"Tree", - "type":"keyword", - "info":"Tree[{subtree , subtree , …}] represents a tree with a list of child subtrees subtree .Tree[data, su" - }, - { - "label":"TreeCases", - "type":"keyword", - "info":"TreeCases[tree, pattern] gives a list of subtrees of tree with data matching pattern.TreeCases[tree," - }, - { - "label":"TreeChildren", - "type":"keyword", - "info":"TreeChildren[tree] extracts the children of the root of the Tree object tree." - }, - { - "label":"TreeCount", - "type":"keyword", - "info":"TreeCount[tree, pattern] gives the number of subtrees of tree whose data matches pattern.TreeCount[t" - }, - { - "label":"TreeData", - "type":"keyword", - "info":"TreeData[tree] extracts the data in the root of tree." - }, - { - "label":"TreeDelete", - "type":"keyword", - "info":"TreeDelete[tree, pos] deletes the subtree of tree at the position specified by pos.TreeDelete[tree, " - }, - { - "label":"TreeDepth", - "type":"keyword", - "info":"TreeDepth[tree] gives the maximum level of tree.TreeDepth[tree, pattern] gives the maximum level of " - }, - { - "label":"TreeElementLabel", - "type":"keyword", - "info":"TreeElementLabel is an option for Tree and related functions that specifies what labels should be us" - }, - { - "label":"TreeElementStyle", - "type":"keyword", - "info":"TreeElementStyle is an option for Tree and related functions that specifies what style to use for su" - }, - { - "label":"TreeExpression", - "type":"keyword", - "info":"TreeExpression[tree] gives the expression corresponding to the tree tree.TreeExpression[tree, struct" - }, - { - "label":"TreeExtract", - "type":"keyword", - "info":"TreeExtract[tree, pos] extracts the subtree of tree at the position specified by pos.TreeExtract[tre" - }, - { - "label":"TreeFold", - "type":"keyword", - "info":" " - }, - { - "label":"TreeForm", - "type":"keyword", - "info":"TreeForm[expr] displays expr as a tree with different levels at different depths. TreeForm[expr, n] " - }, - { - "label":"TreeGraph", - "type":"keyword", - "info":"TreeGraph[{v , v , …}, {u , u , …}] yields a tree where u is the predecessor of v .TreeGraph[{e , e" - }, - { - "label":"TreeGraphQ", - "type":"keyword", - "info":"TreeGraphQ[g] yields True if the graph g is a tree and False otherwise." - }, - { - "label":"TreeInsert", - "type":"keyword", - "info":"TreeInsert[tree, child, pos] inserts child at the position specified by pos in tree.TreeInsert[tree," - }, - { - "label":"TreeLayout", - "type":"keyword", - "info":"TreeLayout is an option to Tree and related functions that specifies what layout to use." - }, - { - "label":"TreeLeafQ", - "type":"keyword", - "info":"TreeLeafQ[tree] gives True if tree is a tree with no children, and gives False otherwise." - }, - { - "label":"TreeLeaves", - "type":"keyword", - "info":"TreeLeaves[tree] returns the list of leaves of the tree tree." - }, - { - "label":"TreeLevel", - "type":"keyword", - "info":"TreeLevel[tree, levelspec] gives a list of all subtrees of tree on levels specified by levelspec.Tre" - }, - { - "label":"TreeMap", - "type":"keyword", - "info":"TreeMap[f, tree] applies f to the data in each subtree of tree.TreeMap[f, tree, levelspec] applies f" - }, - { - "label":"TreeMapAt", - "type":"keyword", - "info":"TreeMapAt[f, tree, pos] applies f to the data at the position specified by pos in tree.TreeMapAt[f, " - }, - { - "label":"TreeOutline", - "type":"keyword", - "info":"TreeOutline[tree] gives an outline of the data in tree as a nested OpenerView.TreeOutline[tree, pos]" - }, - { - "label":"TreePlot", - "type":"keyword", - "info":"TreePlot[g] generates a tree plot of the graph g.TreePlot[{e , e , …}] generates a tree plot of the " - }, - { - "label":"TreePosition", - "type":"keyword", - "info":"TreePosition[tree, pattern] gives a list of the positions of subtrees of tree whose data matches pat" - }, - { - "label":"TreeQ", - "type":"keyword", - "info":"TreeQ[tree] yields True if tree is a valid Tree object and False otherwise." - }, - { - "label":"TreeReplacePart", - "type":"keyword", - "info":"TreeReplacePart[tree, pos  new] gives a tree in which the subtree of tree at the position specified" - }, - { - "label":"TreeRules", - "type":"keyword", - "info":"TreeRules[tree] returns the rules associated with the Tree object tree." - }, - { - "label":"TreeScan", - "type":"keyword", - "info":"TreeScan[f, tree] evaluates f applied to the data in each subtree of tree in turn.TreeScan[f, tree, " - }, - { - "label":"TreeSelect", - "type":"keyword", - "info":"TreeSelect[tree, crit] picks out all subtrees tree of tree for which crit[tree ] is True.TreeSelect" - }, - { - "label":"TreeSize", - "type":"keyword", - "info":"TreeSize[tree] gives the number of subtrees of tree." - }, - { - "label":"TreeTraversalOrder", - "type":"keyword", - "info":"TreeTraversalOrder is an option for TreeMap and related functions that specifies the order to visit " - }, - { - "label":"TrendStyle", - "type":"keyword", - "info":"TrendStyle is an option to CandlestickChart, RenkoChart, and other financial charting functions that" - }, - { - "label":"Triangle", - "type":"keyword", - "info":"Triangle[{p , p , p }] represents a filled triangle with corner points p , p , and p .Triangle[{{p " - }, - { - "label":"TriangleCenter", - "type":"keyword", - "info":"TriangleCenter[tri, type] gives the specified type of center for the triangle tri.TriangleCenter[tri" - }, - { - "label":"TriangleConstruct", - "type":"keyword", - "info":"TriangleConstruct[tri, type] gives the specified type of construct for the triangle tri." - }, - { - "label":"TriangleMeasurement", - "type":"keyword", - "info":"TriangleMeasurement[tri, type] gives the specified type of measurement for the triangle tri." - }, - { - "label":"TriangleWave", - "type":"keyword", - "info":"TriangleWave[x] gives a triangle wave that varies between -1 and +1 with unit period.TriangleWave[{m" - }, - { - "label":"TriangularDistribution", - "type":"keyword", - "info":"TriangularDistribution[{min, max}] represents a symmetric triangular statistical distribution giving" - }, - { - "label":"TriangulateMesh", - "type":"keyword", - "info":"TriangulateMesh[mr] generates a triangulation of the mesh region mr." - }, - { - "label":"Trig", - "type":"keyword", - "info":"Trig is an option for various polynomial manipulation functions that specifies whether trigonometric" - }, - { - "label":"TrigExpand", - "type":"keyword", - "info":"TrigExpand[expr] expands out trigonometric functions in expr. " - }, - { - "label":"TrigFactor", - "type":"keyword", - "info":"TrigFactor[expr] factors trigonometric functions in expr. " - }, - { - "label":"TrigFactorList", - "type":"keyword", - "info":"TrigFactorList[expr] factors trigonometric functions in expr, yielding a list of lists containing tr" - }, - { - "label":"Trigger", - "type":"keyword", - "info":"Trigger[Dynamic[u]] represents a trigger that can be pressed to make the dynamically updated value o" - }, - { - "label":"TrigReduce", - "type":"keyword", - "info":"TrigReduce[expr] rewrites products and powers of trigonometric functions in expr in terms of trigono" - }, - { - "label":"TrigToExp", - "type":"keyword", - "info":"TrigToExp[expr] converts trigonometric functions in expr to exponentials. " - }, - { - "label":"TrimmedMean", - "type":"keyword", - "info":"TrimmedMean[list, f] gives the mean of the elements in list after dropping a fraction f of the small" - }, - { - "label":"TrimmedVariance", - "type":"keyword", - "info":"TrimmedVariance[list, f] gives the variance of the elements in list after dropping a fraction f of t" - }, - { - "label":"TropicalStormData", - "type":"keyword", - "info":"TropicalStormData[entity, property] gives the value of the specified property for the tropical storm" - }, - { - "label":"True", - "type":"keyword", - "info":"True is the symbol for the Boolean value true. " - }, - { - "label":"TrueQ", - "type":"keyword", - "info":"TrueQ[expr] yields True if expr is True, and yields False otherwise. " - }, - { - "label":"TruncatedDistribution", - "type":"keyword", - "info":"TruncatedDistribution[{x , x }, dist] represents the distribution obtained by truncating the val" - }, - { - "label":"TruncatedPolyhedron", - "type":"keyword", - "info":"TruncatedPolyhedron[poly] gives the truncated polyhedron of poly by truncating all vertices. Truncat" - }, - { - "label":"TsallisQExponentialDistribution", - "type":"keyword", - "info":"TsallisQExponentialDistribution[λ, q] represents a Tsallis q-exponential distribution with scale inv" - }, - { - "label":"TsallisQGaussianDistribution", - "type":"keyword", - "info":"TsallisQGaussianDistribution[μ, Î\.b2, q] represents a Tsallis q-Gaussian distribution with mean μ, scal" - }, - { - "label":"TTest", - "type":"keyword", - "info":"TTest[data] tests whether the mean of data is zero. TTest[{data , data }] tests whether the means of" - }, - { - "label":"Tube", - "type":"keyword", - "info":"Tube[{{x , y , z }, {x , y , z }, …}] represents a 3D tube around the line joining a sequence of poi" - }, - { - "label":"TubeBezierCurveBox", - "type":"keyword", - "info":"System`TubeBezierCurveBox" - }, - { - "label":"TubeBezierCurveBoxOptions", - "type":"keyword", - "info":"TubeBezierCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for T" - }, - { - "label":"TubeBox", - "type":"keyword", - "info":"System`TubeBox" - }, - { - "label":"TubeBoxOptions", - "type":"keyword", - "info":"TubeBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TubeBox obje" - }, - { - "label":"TubeBSplineCurveBox", - "type":"keyword", - "info":"System`TubeBSplineCurveBox" - }, - { - "label":"TubeBSplineCurveBoxOptions", - "type":"keyword", - "info":"TubeBSplineCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for " - }, - { - "label":"Tuesday", - "type":"keyword", - "info":"Tuesday is a day of the week." - }, - { - "label":"TukeyLambdaDistribution", - "type":"keyword", - "info":"TukeyLambdaDistribution[λ] represents Tukey's lambda distribution with shape parameter λ.TukeyLambda" - }, - { - "label":"TukeyWindow", - "type":"keyword", - "info":"TukeyWindow[x] represents a Tukey window function of x.TukeyWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n" - }, - { - "label":"TunnelData", - "type":"keyword", - "info":"TunnelData[entity, property] gives the value of the specified property for the tunnel entity.TunnelD" - }, - { - "label":"Tuples", - "type":"keyword", - "info":" " - }, - { - "label":"TuranGraph", - "type":"keyword", - "info":"TuranGraph[n, k] gives the k-partite Turán graph with n vertices T .\n " - }, - { - "label":"TuringMachine", - "type":"keyword", - "info":"TuringMachine[rule, init, t] generates a list representing the evolution of the Turing machine with " - }, - { - "label":"TuttePolynomial", - "type":"keyword", - "info":"TuttePolynomial[g, {x, y}] gives the Tutte polynomial of the graph g.TuttePolynomial[{v  w, …}, …] " - }, - { - "label":"TwoWayRule", - "type":"keyword", - "info":"x<->y or x  y represents a two-way rule expressing exchange or correspondence of x and y." - }, - { - "label":"Typed", - "type":"keyword", - "info":"Typed[expr, type] represents an expression that should be assumed to be of a specified type for comp" - }, - { - "label":"TypeDeclaration", - "type":"keyword", - "info":"System`TypeDeclaration" - }, - { - "label":"TypeSpecifier", - "type":"keyword", - "info":"TypeSpecifier[cons] represents a type specifier that can be applied to other types to create a compo" - }, - { - "label":"UnateQ", - "type":"keyword", - "info":"UnateQ[bexpr, {x , x , …}] tests whether the Boolean expression bexpr is positive unate in the varia" - }, - { - "label":"Uncompress", - "type":"keyword", - "info":"Uncompress[\"string\"] recovers an expression from a compressed string representation generated by Com" - }, - { - "label":"UnconstrainedParameters", - "type":"keyword", - "info":"UnconstrainedParameters is an option to functions like GeometricScene that specifies what parameters" - }, - { - "label":"Undefined", - "type":"keyword", - "info":"Undefined is a symbol that represents a quantity with no defined value." - }, - { - "label":"UnderBar", - "type":"keyword", - "info":"UnderBar[expr] displays with a bar under expr." - }, - { - "label":"Underflow", - "type":"keyword", - "info":"Underflow[] represents a number too small to represent explicitly on your computer system." - }, - { - "label":"Underlined", - "type":"keyword", - "info":"Underlined represents an underlined font." - }, - { - "label":"Underoverscript", - "type":"keyword", - "info":" z\nUnderoverscript[x, y, z] is an object that f" - }, - { - "label":"UnderoverscriptBox", - "type":"keyword", - "info":" z\nUnderoverscriptBox[x, y, z] is" - }, - { - "label":"UnderoverscriptBoxOptions", - "type":"keyword", - "info":"UnderoverscriptBoxOptions is an option for selections that specifies settings for UnderoverscriptBox" - }, - { - "label":"Underscript", - "type":"keyword", - "info":"Underscript[x, y] is an object that formats as x. \n y" - }, - { - "label":"UnderscriptBox", - "type":"keyword", - "info":"UnderscriptBox[x, y] is the low‐level box representation for x in notebook expressions. \n " - }, - { - "label":"UnderscriptBoxOptions", - "type":"keyword", - "info":"UnderscriptBoxOptions is an option for selections that specifies settings for UnderscriptBox objects" - }, - { - "label":"UnderseaFeatureData", - "type":"keyword", - "info":"UnderseaFeatureData[entity, property] gives the value of the specified property for the undersea fea" - }, - { - "label":"UndirectedEdge", - "type":"keyword", - "info":" " - }, - { - "label":"UndirectedGraph", - "type":"keyword", - "info":"UndirectedGraph[g] gives an undirected graph from the directed graph g.UndirectedGraph[{v  w, …}] u" - }, - { - "label":"UndirectedGraphQ", - "type":"keyword", - "info":"UndirectedGraphQ[g] yields True if the graph g is an undirected graph and False otherwise." - }, - { - "label":"UndoOptions", - "type":"keyword", - "info":"UndoOptions is an option for Style that specifies settings for controlling the behavior of the front" - }, - { - "label":"UndoTrackedVariables", - "type":"keyword", - "info":"UndoTrackedVariables is an option for Manipulate, DynamicModule, and related functions that sets var" - }, - { - "label":"Unequal", - "type":"keyword", - "info":"lhs != rhs or lhs ≠ rhs returns False if lhs and rhs are identical. " - }, - { - "label":"UnequalTo", - "type":"keyword", - "info":"UnequalTo[y] is an operator form that yields x ≠ y when applied to an expression x." - }, - { - "label":"Unevaluated", - "type":"keyword", - "info":"Unevaluated[expr] represents the unevaluated form of expr when it appears as the argument to a funct" - }, - { - "label":"UniformDistribution", - "type":"keyword", - "info":"UniformDistribution[{min, max}] represents a continuous uniform statistical distribution giving valu" - }, - { - "label":"UniformGraphDistribution", - "type":"keyword", - "info":"UniformGraphDistribution[n, m] represents a uniform graph distribution on n-vertex, m-edge graphs." - }, - { - "label":"UniformPolyhedron", - "type":"keyword", - "info":"UniformPolyhedron[\"name\"] gives the uniform polyhedron with the given name.UniformPolyhedron[{n, m}]" - }, - { - "label":"UniformSumDistribution", - "type":"keyword", - "info":"UniformSumDistribution[n] represents the distribution of a sum of n random variables uniformly distr" - }, - { - "label":"Uninstall", - "type":"keyword", - "info":"Uninstall[link] terminates an external program started by Install, and removes Wolfram Language defi" - }, - { - "label":"Union", - "type":"keyword", - "info":"Union[list , list , …] gives a sorted list of all the distinct elements that appear in any of the li" - }, - { - "label":"UnionedEntityClass", - "type":"keyword", - "info":"UnionedEntityClass[class , …] represents an entity class containing all the distinct entities in all" - }, - { - "label":"UnionPlus", - "type":"keyword", - "info":"UnionPlus[x, y, …] displays as x ⊎ y ⊎ …." - }, - { - "label":"Unique", - "type":"keyword", - "info":"Unique[] generates a new symbol, whose name is of the form ECnnn. Unique[x] generates a new symbol, w" - }, - { - "label":"UnitaryMatrixQ", - "type":"keyword", - "info":"UnitaryMatrixQ[m] gives True if m is a unitary matrix, and False otherwise." - }, - { - "label":"UnitBox", - "type":"keyword", - "info":" 1 " - }, - { - "label":"UnitConvert", - "type":"keyword", - "info":"UnitConvert[quantity, targetunit] attempts to convert the specified quantity to the specified target" - }, - { - "label":"UnitDimensions", - "type":"keyword", - "info":"UnitDimensions[unit] returns a list of base dimensions associated with the specified unit.UnitDimens" - }, - { - "label":"Unitize", - "type":"keyword", - "info":"Unitize[x] gives 0 when x is zero, and 1 when x has any other numerical value." - }, - { - "label":"UnitRootTest", - "type":"keyword", - "info":"UnitRootTest[data] tests whether data came from an autoregressive time series process with unit root" - }, - { - "label":"UnitSimplify", - "type":"keyword", - "info":"UnitSimplify[quantity] attempts to simplify the units of the specified quantity." - }, - { - "label":"UnitStep", - "type":"keyword", - "info":"UnitStep[x] represents the unit step function, equal to 0 for x < 0 and 1 for x ≥ 0. UnitStep[x , x " - }, - { - "label":"UnitSystem", - "type":"keyword", - "info":"UnitSystem is an option for functions like AirTemperatureData that determines the units of the resul" - }, - { - "label":"UnitTriangle", - "type":"keyword", - "info":"UnitTriangle[x] represents the unit triangle function on the interval  x  ≤ 1 .UnitTriangle[x , x " - }, - { - "label":"UnitVector", - "type":"keyword", - "info":" th " - }, - { - "label":"UnitVectorLayer", - "type":"keyword", - "info":"UnitVectorLayer[n] represents a net layer that transforms integers between 1 and n into n-dimensiona" - }, - { - "label":"UnityDimensions", - "type":"keyword", - "info":"UnityDimensions is an option for UnitSimplify that specifies which UnitDimensions should be factored" - }, - { - "label":"UniverseModelData", - "type":"keyword", - "info":"UniverseModelData[spec] returns properties of the universe based on the default model at specificati" - }, - { - "label":"UniversityData", - "type":"keyword", - "info":"UniversityData[entity, property] gives the value of the specified property for the university entity" - }, - { - "label":"UnixTime", - "type":"keyword", - "info":"UnixTime[] gives the total number of seconds since the beginning of January 1, 1970, in the GMT time" - }, - { - "label":"Unprotect", - "type":"keyword", - "info":"Unprotect[s , s , …] removes the attribute Protected for the symbols s . Unprotect[\"form \", \"form \"," - }, - { - "label":"UnregisterExternalEvaluator", - "type":"keyword", - "info":"UnregisterExternalEvaluator[sys, target] unregisters the external evaluator referenced by target for" - }, - { - "label":"UnsameQ", - "type":"keyword", - "info":"lhs =!= rhs yields True if the expression lhs is not identical to rhs, and yields False otherwise. " - }, - { - "label":"UnsavedVariables", - "type":"keyword", - "info":"UnsavedVariables is an option for Manipulate, DynamicModule, and related functions that specifies lo" - }, - { - "label":"Unset", - "type":"keyword", - "info":"lhs=. removes any rules defined for lhs. " - }, - { - "label":"UnsetShared", - "type":"keyword", - "info":"UnsetShared[s , s , …] stops the sharing of the variables or functions s among parallel kernels.Uns" - }, - { - "label":"UntrackedVariables", - "type":"keyword", - "info":"System`UntrackedVariables" - }, - { - "label":"Up", - "type":"keyword", - "info":"System`Up" - }, - { - "label":"UpArrow", - "type":"keyword", - "info":"UpArrow[x, y, …] displays as x ↑ y ↑ …." - }, - { - "label":"UpArrowBar", - "type":"keyword", - "info":"UpArrowBar[x, y, …] displays as x ⤒ y ⤒ …." - }, - { - "label":"UpArrowDownArrow", - "type":"keyword", - "info":"UpArrowDownArrow[x, y, …] displays as x ⇅ y ⇅ …." - }, - { - "label":"Update", - "type":"keyword", - "info":"Update[symbol] tells the Wolfram Language that hidden changes have been made that could affect value" - }, - { - "label":"UpdateDynamicObjects", - "type":"keyword", - "info":"System`UpdateDynamicObjects" - }, - { - "label":"UpdateDynamicObjectsSynchronous", - "type":"keyword", - "info":"System`UpdateDynamicObjectsSynchronous" - }, - { - "label":"UpdateInterval", - "type":"keyword", - "info":"UpdateInterval is an option to Refresh and Dynamic that specifies at what time interval to do update" - }, - { - "label":"UpdatePacletSites", - "type":"keyword", - "info":"UpdatePacletSites is an option to PacletInstall and PacletInstallSubmit that specifies whether to fi" - }, - { - "label":"UpdateSearchIndex", - "type":"keyword", - "info":"UpdateSearchIndex[obj] updates the given search index object.UpdateSearchIndex[\"name\"] updates the s" - }, - { - "label":"UpDownArrow", - "type":"keyword", - "info":"UpDownArrow[x, y, …] displays as x ↕ y ↕ …." - }, - { - "label":"UpEquilibrium", - "type":"keyword", - "info":"UpEquilibrium[x, y, …] displays as x ⥮ y ⥮ …." - }, - { - "label":"UpperCaseQ", - "type":"keyword", - "info":"UpperCaseQ[string] yields True if all the characters in the string are uppercase letters, and yields" - }, - { - "label":"UpperLeftArrow", - "type":"keyword", - "info":"UpperLeftArrow[x, y, …] displays as x ↖ y ↖ …." - }, - { - "label":"UpperRightArrow", - "type":"keyword", - "info":"UpperRightArrow[x, y, …] displays as x ↗ y ↗ …." - }, - { - "label":"UpperTriangularize", - "type":"keyword", - "info":" " - }, - { - "label":"UpperTriangularMatrixQ", - "type":"keyword", - "info":" " - }, - { - "label":"Upsample", - "type":"keyword", - "info":"Upsample[array, n] returns an upsampled version of the array by inserting n - 1 zeros between array " - }, - { - "label":"UpSet", - "type":"keyword", - "info":"lhs^=rhs assigns rhs to be the value of lhs, and associates the assignment with symbols that occur a" - }, - { - "label":"UpSetDelayed", - "type":"keyword", - "info":"lhs^:=rhs assigns rhs to be the delayed value of lhs, and associates the assignment with symbols tha" - }, - { - "label":"UpTee", - "type":"keyword", - "info":"UpTee[x, y] displays as x ⊥ y." - }, - { - "label":"UpTeeArrow", - "type":"keyword", - "info":"UpTeeArrow[x, y, …] displays as x ↥ y ↥ …." - }, - { - "label":"UpTo", - "type":"keyword", - "info":"UpTo[n] is a symbolic specification that represents up to n objects or positions. If n objects or po" - }, - { - "label":"UpValues", - "type":"keyword", - "info":"UpValues[f] gives a list of transformation rules corresponding to all upvalues (values for g[…, f[…]" - }, - { - "label":"URL", - "type":"keyword", - "info":"URL[\"url\"] is a symbolic representation of a URL." - }, - { - "label":"URLBuild", - "type":"keyword", - "info":"URLBuild[\"path\", {param  val , param  val , …}] builds a URL with the specified path and query p" - }, - { - "label":"URLDecode", - "type":"keyword", - "info":"URLDecode[\"string\"] decodes a URL-style percent-encoded string." - }, - { - "label":"URLDispatcher", - "type":"keyword", - "info":"URLDispatcher[{patt  content , patt  content , …}] represents a dispatcher for deployed URLs tha" - }, - { - "label":"URLDownload", - "type":"keyword", - "info":"URLDownload[url] downloads the content of the specified URL to a local temporary file.URLDownload[{u" - }, - { - "label":"URLDownloadSubmit", - "type":"keyword", - "info":"URLDownloadSubmit[url, file] submits the specified URL to be downloaded asynchronously to the file g" - }, - { - "label":"URLEncode", - "type":"keyword", - "info":"URLEncode[\"string\"] converts \"string\" into a URL-style, percent-encoded ASCII string. " - }, - { - "label":"URLExecute", - "type":"keyword", - "info":"URLExecute[url] executes the specified URL, importing whatever result is generated.URLExecute[url, {" - }, - { - "label":"URLExpand", - "type":"keyword", - "info":"URLExpand[\"url\"] expands a shortened \"url\"." - }, - { - "label":"URLFetch", - "type":"keyword", - "info":"URLFetch[url] returns the contents of a URL as a string.URLFetch[url, elements] returns the specifie" - }, - { - "label":"URLFetchAsynchronous", - "type":"keyword", - "info":"URLFetchAsynchronous[url, func] performs a connection in the background, calling func when an event " - }, - { - "label":"URLParse", - "type":"keyword", - "info":"URLParse[\"url\"] takes a well-formed URL and gives an association whose values correspond to the comp" - }, - { - "label":"URLQueryDecode", - "type":"keyword", - "info":"URLQueryDecode[\"string\"] decodes a URL-style query string into a list of key-value rules. " - }, - { - "label":"URLQueryEncode", - "type":"keyword", - "info":"URLQueryEncode[ key  val , key  val , … ] creates a URL-style query string from an association" - }, - { - "label":"URLRead", - "type":"keyword", - "info":"URLRead[url] sends a request to a URL and reads back the response, returning it as a response object" - }, - { - "label":"URLResponseTime", - "type":"keyword", - "info":"URLResponseTime[url] gives the total number of seconds to request one byte from the specified URL.UR" - }, - { - "label":"URLSave", - "type":"keyword", - "info":"URLSave[\"url\"] saves the content of the URL to a file in ECTemporaryDirectory.URLSave[\"url\", \"file\"] " - }, - { - "label":"URLSaveAsynchronous", - "type":"keyword", - "info":"URLSaveAsynchronous[\"url\", \"file\", func] performs a download to \"file\" in the background, calling fu" - }, - { - "label":"URLShorten", - "type":"keyword", - "info":"URLShorten[\"url\"] creates a shortened URL that redirects to \"url\".URLShorten[CloudObject[…]] creates" - }, - { - "label":"URLSubmit", - "type":"keyword", - "info":"URLSubmit[url] submits the specified URL to be executed asynchronously.URLSubmit[url, {param  val " - }, - { - "label":"UseEmbeddedLibrary", - "type":"keyword", - "info":"UseEmbeddedLibrary is an option of FunctionCompile that embeds a shared library in a CompiledCodeFun" - }, - { - "label":"UseGraphicsRange", - "type":"keyword", - "info":"System`UseGraphicsRange" - }, - { - "label":"UserDefinedWavelet", - "type":"keyword", - "info":"System`UserDefinedWavelet" - }, - { - "label":"Using", - "type":"keyword", - "info":"Using is an option to Roots that specifies any subsidiary equations that are to be used." - }, - { - "label":"UtilityFunction", - "type":"keyword", - "info":"UtilityFunction is an option for Predict, Classify, and related functions that specifies the utility" - }, - { - "label":"V2Get", - "type":"keyword", - "info":"V2Get[name] reads in a file written by the V2.x versions." - }, - { - "label":"ValenceErrorHandling", - "type":"keyword", - "info":"ValenceErrorHandling is an option for MoleculeModify that specifies whether molecule valences should" - }, - { - "label":"ValenceFilling", - "type":"keyword", - "info":"ValenceFilling is an option for Molecule that specifies whether to fill open valences with hydrogen " - }, - { - "label":"ValidationLength", - "type":"keyword", - "info":"ValidationLength is an option to FindSequenceFunction and related functions that specifies the numbe" - }, - { - "label":"ValidationSet", - "type":"keyword", - "info":"ValidationSet is an option for Predict, Classify, NetTrain, and related functions that specifies the" - }, - { - "label":"Value", - "type":"keyword", - "info":"System`Value" - }, - { - "label":"ValueBox", - "type":"keyword", - "info":"System`ValueBox" - }, - { - "label":"ValueBoxOptions", - "type":"keyword", - "info":"ValueBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for ValueBox ob" - }, - { - "label":"ValueDimensions", - "type":"keyword", - "info":"ValueDimensions is an option to TemporalData, TimeSeries, and EventSeries that specifies the dimensi" - }, - { - "label":"ValueForm", - "type":"keyword", - "info":"ValueForm is an internal symbol." - }, - { - "label":"ValuePreprocessingFunction", - "type":"keyword", - "info":"ValuePreprocessingFunction is an option for functions such as PersistentSymbol and InitializationVal" - }, - { - "label":"ValueQ", - "type":"keyword", - "info":"ValueQ[expr] gives True if a value has been defined for expr, and gives False otherwise. " - }, - { - "label":"Values", - "type":"keyword", - "info":"Values[ key  val , key  val , … ] gives a list of the values val in an association.Values[{ke" - }, - { - "label":"ValuesData", - "type":"keyword", - "info":"System`ValuesData" - }, - { - "label":"Variables", - "type":"keyword", - "info":"Variables[poly] gives a list of all independent variables in a polynomial. " - }, - { - "label":"Variance", - "type":"keyword", - "info":"Variance[list] gives the sample variance of the elements in list. Variance[dist] gives the variance " - }, - { - "label":"VarianceEquivalenceTest", - "type":"keyword", - "info":"VarianceEquivalenceTest[{data , data , …}] tests whether the variances of the data are equal. Varia" - }, - { - "label":"VarianceEstimatorFunction", - "type":"keyword", - "info":"VarianceEstimatorFunction is an option for LinearModelFit and NonlinearModelFit which specifies the " - }, - { - "label":"VarianceGammaDistribution", - "type":"keyword", - "info":"VarianceGammaDistribution[λ, Î\\[PlusMinus], Î\.b2, μ] represents a variance‐gamma distribution with location paramet" - }, - { - "label":"VarianceGammaPointProcess", - "type":"keyword", - "info":" " - }, - { - "label":"VarianceTest", - "type":"keyword", - "info":" " - }, - { - "label":"VariogramFunction", - "type":"keyword", - "info":"VariogramFunction is an option to SpatialEstimate that specifies the local variation model to use. " - }, - { - "label":"VariogramModel", - "type":"keyword", - "info":"VariogramModel[\"model\", {params}] represents the function for the variogram model specified by \"mode" - }, - { - "label":"VectorAngle", - "type":"keyword", - "info":"VectorAngle[u, v] gives the angle between the vectors u and v." - }, - { - "label":"VectorAround", - "type":"keyword", - "info":"VectorAround[{x , x , …}, {Î\.b4 , Î\.b4 , …}] represents a vector of uncorrelated approximate numbers or qu" - }, - { - "label":"VectorAspectRatio", - "type":"keyword", - "info":"VectorAspectRatio is an option setting for VectorPlot and related functions that determines the rela" - }, - { - "label":"VectorColorFunction", - "type":"keyword", - "info":"VectorColorFunction is an option for VectorPlot and related functions that specifies a function to a" - }, - { - "label":"VectorColorFunctionScaling", - "type":"keyword", - "info":"VectorColorFunctionScaling is an option for graphics functions which specifies whether arguments sup" - }, - { - "label":"VectorDensityPlot", - "type":"keyword", - "info":"VectorDensityPlot[{{v , v }, s}, {x, x , x }, {y, y , y }] generates a vector plot of the ve" - }, - { - "label":"VectorDisplacementPlot", - "type":"keyword", - "info":"VectorDisplacementPlot[{v , v }, {x, x , x }, {y, y , y }] generates a displacement plot for" - }, - { - "label":"VectorDisplacementPlot3D", - "type":"keyword", - "info":"VectorDisplacementPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] generates " - }, - { - "label":"VectorGlyphData", - "type":"keyword", - "info":"System`VectorGlyphData" - }, - { - "label":"VectorGreater", - "type":"keyword", - "info":"x ï\.b4 y or VectorGreater[{x, y}] yields True for vectors of length n if x > y for all components 1 ≤" - }, - { - "label":"VectorGreaterEqual", - "type":"keyword", - "info":"x ï\\[Micro] y or VectorGreaterEqual[{x, y}] yields True for vectors of length n if x ≥ y for all component" - }, - { - "label":"VectorLess", - "type":"keyword", - "info":"x ï\\[Paragraph] y or VectorLess[{x, y}] yields True for vectors of length n if x < y for all components 1 ≤ i " - }, - { - "label":"VectorLessEqual", - "type":"keyword", - "info":"x ï\\[CenterDot] y or VectorLessEqual[{x, y}] yields True for vectors of length n if x ≤ y for all components 1" - }, - { - "label":"VectorMarkers", - "type":"keyword", - "info":"VectorMarkers is an option for graphics functions like VectorPlot, ListVectorPlot and related functi" - }, - { - "label":"VectorPlot", - "type":"keyword", - "info":"VectorPlot[{v , v }, {x, x , x }, {y, y , y }] generates a vector plot of the vector field {" - }, - { - "label":"VectorPlot3D", - "type":"keyword", - "info":"VectorPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] generates a 3D vector " - }, - { - "label":"VectorPoints", - "type":"keyword", - "info":"VectorPoints is an option to VectorPlot, ListVectorPlot, and related functions that determines where" - }, - { - "label":"VectorQ", - "type":"keyword", - "info":"VectorQ[expr] gives True if expr is a list or a one‐dimensional SparseArray object, none of whose el" - }, - { - "label":"VectorRange", - "type":"keyword", - "info":"VectorRange is an option for VectorPlot and related functions that specifies the range of vector mag" - }, - { - "label":"Vectors", - "type":"keyword", - "info":"Vectors[d] represents the domain of vectors of dimension d.Vectors[d, dom] represents the domain of " - }, - { - "label":"VectorScale", - "type":"keyword", - "info":"VectorScale is an option to VectorPlot, ListVectorPlot, and related functions that determines the le" - }, - { - "label":"VectorScaling", - "type":"keyword", - "info":"VectorScaling is an option for VectorPlot and related functions that determines how the magnitudes o" - }, - { - "label":"VectorSizes", - "type":"keyword", - "info":"VectorSizes is an option for VectorPlot and related functions that specifies the range of sizes used" - }, - { - "label":"VectorStyle", - "type":"keyword", - "info":"VectorStyle is an option to VectorPlot, ListVectorPlot, and related functions that determines the st" - }, - { - "label":"Vee", - "type":"keyword", - "info":"Vee[x, y, …] displays as x ⋁ y ⋁ …." - }, - { - "label":"Verbatim", - "type":"keyword", - "info":"Verbatim[expr] represents expr in pattern matching, requiring that expr be matched exactly as it app" - }, - { - "label":"Verbose", - "type":"keyword", - "info":"System`Verbose" - }, - { - "label":"VerboseConvertToPostScriptPacket", - "type":"keyword", - "info":"System`VerboseConvertToPostScriptPacket" - }, - { - "label":"VerificationTest", - "type":"keyword", - "info":"VerificationTest[input] runs a verification test to determine whether input evaluates to True, witho" - }, - { - "label":"VerifyConvergence", - "type":"keyword", - "info":"VerifyConvergence is an option to Sum, NSum, and similar functions that specifies whether convergenc" - }, - { - "label":"VerifyDerivedKey", - "type":"keyword", - "info":"VerifyDerivedKey[key, password] verifies that password matches the password used to generate the der" - }, - { - "label":"VerifyDigitalSignature", - "type":"keyword", - "info":"VerifyDigitalSignature[{expr, sig}, key] verifies the digital signature sig for expr using the speci" - }, - { - "label":"VerifyFileSignature", - "type":"keyword", - "info":"VerifyFileSignature[{\"file\", sig}, key] verifies the digital signature sig for file using the specif" - }, - { - "label":"VerifyInterpretation", - "type":"keyword", - "info":"VerifyInterpretation is an option for TextCases, TextPosition and TextContents that verifies that re" - }, - { - "label":"VerifySecurityCertificates", - "type":"keyword", - "info":"VerifySecurityCertificates is an option for URLRead and related functions that specifies whether to " - }, - { - "label":"VerifySolutions", - "type":"keyword", - "info":"VerifySolutions is an option to Solve and related functions that controls whether to verify solution" - }, - { - "label":"VerifyTestAssumptions", - "type":"keyword", - "info":"VerifyTestAssumptions is an option to LocationTest and similar functions that controls which assumpt" - }, - { - "label":"Version", - "type":"keyword", - "info":"System`Version" - }, - { - "label":"VersionedPreferences", - "type":"keyword", - "info":"VersionedPreferences is a global front end option that specifies whether settings on ECFrontEnd shoul" - }, - { - "label":"VersionNumber", - "type":"keyword", - "info":"System`VersionNumber" - }, - { - "label":"VertexAdd", - "type":"keyword", - "info":"VertexAdd[g, v] makes a graph by adding the vertex v to the graph g.VertexAdd[g, {v , v , …}] adds a" - }, - { - "label":"VertexCapacity", - "type":"keyword", - "info":"VertexCapacity is an option and annotation for Graph and related functions that specifies a vertex c" - }, - { - "label":"VertexChromaticNumber", - "type":"keyword", - "info":"VertexChromaticNumber[g] gives the chromatic number for the vertices of the graph g." - }, - { - "label":"VertexColors", - "type":"keyword", - "info":"VertexColors is an option for graphics primitives which specifies the colors to assign to vertices." - }, - { - "label":"VertexComponent", - "type":"keyword", - "info":"VertexComponent[g, {v , v , …}] gives the vertices in the graph g that have a path to at least one o" - }, - { - "label":"VertexConnectivity", - "type":"keyword", - "info":"VertexConnectivity[g] gives the vertex connectivity of the graph g.VertexConnectivity[g, s, t] gives" - }, - { - "label":"VertexContract", - "type":"keyword", - "info":"VertexContract[g, {v , v , …}] contracts a collection of vertices v , v , … into a single vertex of " - }, - { - "label":"VertexCoordinateRules", - "type":"keyword", - "info":"VertexCoordinateRules is an option for GraphPlot and related functions which specifies rules for det" - }, - { - "label":"VertexCoordinates", - "type":"keyword", - "info":"VertexCoordinates is an option to Graph and related functions that specifies the coordinates to use " - }, - { - "label":"VertexCorrelationSimilarity", - "type":"keyword", - "info":"VertexCorrelationSimilarity[g, u, v] gives the correlation similarity between vertices u and v of th" - }, - { - "label":"VertexCosineSimilarity", - "type":"keyword", - "info":"VertexCosineSimilarity[g, u, v] gives the cosine similarity between vertices u and v of the graph g." - }, - { - "label":"VertexCount", - "type":"keyword", - "info":"VertexCount[g] gives a count of the number of vertices in the graph g.VertexCount[g, patt] gives a c" - }, - { - "label":"VertexCoverQ", - "type":"keyword", - "info":"VertexCoverQ[g, vlist] yields True if the vertex list vlist is a vertex cover of the graph g, and Fa" - }, - { - "label":"VertexDataCoordinates", - "type":"keyword", - "info":"VertexDataCoordinates is an option to Raster3D that determines how to map data to the displayed rang" - }, - { - "label":"VertexDegree", - "type":"keyword", - "info":"VertexDegree[g] gives the list of vertex degrees for all vertices in the graph g.VertexDegree[g, v] " - }, - { - "label":"VertexDelete", - "type":"keyword", - "info":"VertexDelete[g, v] makes a graph by deleting the vertex ν and all edges connected to v from the grap" - }, - { - "label":"VertexDiceSimilarity", - "type":"keyword", - "info":"VertexDiceSimilarity[g, u, v] gives the Dice similarity between vertices u and v of the graph g.Vert" - }, - { - "label":"VertexEccentricity", - "type":"keyword", - "info":"VertexEccentricity[g, s] gives the length of the longest shortest path from the source s to every ot" - }, - { - "label":"VertexInComponent", - "type":"keyword", - "info":"VertexInComponent[g, {v , v , …}] gives the vertices in the graph g that have a directed path to at " - }, - { - "label":"VertexInComponentGraph", - "type":"keyword", - "info":"VertexInComponentGraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices t" - }, - { - "label":"VertexInDegree", - "type":"keyword", - "info":"VertexInDegree[g] gives the list of vertex in-degrees for all vertices in the graph g.VertexInDegree" - }, - { - "label":"VertexIndex", - "type":"keyword", - "info":"VertexIndex[g, v] gives the integer index for the vertex v in the graph g.VertexIndex[{v  w, …}, …]" - }, - { - "label":"VertexJaccardSimilarity", - "type":"keyword", - "info":"VertexJaccardSimilarity[g, u, v] gives the Jaccard similarity between vertices u and v of the graph " - }, - { - "label":"VertexLabeling", - "type":"keyword", - "info":"VertexLabeling is an option for GraphPlot and related functions which specifies whether labeling sho" - }, - { - "label":"VertexLabels", - "type":"keyword", - "info":"VertexLabels is an option and annotation for Graph and related functions that specifies what labels " - }, - { - "label":"VertexLabelStyle", - "type":"keyword", - "info":"VertexLabelStyle is an option and property for Graph and related functions that specifies the style " - }, - { - "label":"VertexList", - "type":"keyword", - "info":"VertexList[g] gives the list of vertices for the graph g.VertexList[g, patt] gives a list of vertice" - }, - { - "label":"VertexNormals", - "type":"keyword", - "info":"VertexNormals is an option for graphics primitives which specifies the normal directions to assign t" - }, - { - "label":"VertexOutComponent", - "type":"keyword", - "info":"VertexOutComponent[g, {v , v , …}] gives the vertices in the graph g that have a directed path from " - }, - { - "label":"VertexOutComponentGraph", - "type":"keyword", - "info":"VertexOutComponentGraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices " - }, - { - "label":"VertexOutDegree", - "type":"keyword", - "info":"VertexOutDegree[g] gives the list of vertex out-degrees for all vertices in the graph g.VertexOutDeg" - }, - { - "label":"VertexQ", - "type":"keyword", - "info":"VertexQ[g, v] yields True if v is a vertex in the graph g and False otherwise." - }, - { - "label":"VertexRenderingFunction", - "type":"keyword", - "info":"VertexRenderingFunction is an option for GraphPlot and related functions that gives a function to ge" - }, - { - "label":"VertexReplace", - "type":"keyword", - "info":"VertexReplace[g, {v  w , v  w , …}] replaces each vertex v in the graph g by w .VertexReplace[{" - }, - { - "label":"VertexShape", - "type":"keyword", - "info":"VertexShape is an option and property for Graph and related functions that specifies the graphics us" - }, - { - "label":"VertexShapeFunction", - "type":"keyword", - "info":"VertexShapeFunction is an option and annotation for Graph and related functions that specifies a fun" - }, - { - "label":"VertexSize", - "type":"keyword", - "info":"VertexSize is an option and property for Graph and related functions that specifies the size used fo" - }, - { - "label":"VertexStyle", - "type":"keyword", - "info":"VertexStyle is an option and annotation for Graph and related functions that specifies what style to" - }, - { - "label":"VertexTextureCoordinates", - "type":"keyword", - "info":"VertexTextureCoordinates is an option for graphics primitives that specifies the texture coordinates" - }, - { - "label":"VertexTransitiveGraphQ", - "type":"keyword", - "info":"VertexTransitiveGraphQ[g] yields True if the graph g is a vertex–transitive graph and False otherwis" - }, - { - "label":"VertexWeight", - "type":"keyword", - "info":"VertexWeight is an option and annotation for Graph and related functions that specifies a vertex wei" - }, - { - "label":"VertexWeightedGraphQ", - "type":"keyword", - "info":"VertexWeightedGraphQ[g] yields True if the graph g is a vertex-weighted graph, and False otherwise." - }, - { - "label":"Vertical", - "type":"keyword", - "info":"System`Vertical" - }, - { - "label":"VerticalBar", - "type":"keyword", - "info":"VerticalBar[x, y, …] displays as x  y  …." - }, - { - "label":"VerticalForm", - "type":"keyword", - "info":"VerticalForm is an internal symbol used for formatting and printing." - }, - { - "label":"VerticalGauge", - "type":"keyword", - "info":"VerticalGauge[value] draws a linear gauge showing value in a range of 0 to 1.VerticalGauge[value, {m" - }, - { - "label":"VerticalSeparator", - "type":"keyword", - "info":"VerticalSeparator[x, y, …] displays as x ï\.b2 y ï\.b2 …." - }, - { - "label":"VerticalSlider", - "type":"keyword", - "info":"VerticalSlider[y] represents a vertical slider at position y with range 0 to 1. VerticalSlider[Dynam" - }, - { - "label":"VerticalTilde", - "type":"keyword", - "info":"VerticalTilde[x, y, …] displays as x ≀ y ≀ …." - }, - { - "label":"Video", - "type":"keyword", - "info":"Video[file] represents video stored in the given file.Video[url] represents video stored in the give" - }, - { - "label":"VideoCombine", - "type":"keyword", - "info":"VideoCombine[{obj , obj , …}] creates a multi-track video by combining all tracks of Video or Audio " - }, - { - "label":"VideoDelete", - "type":"keyword", - "info":"VideoDelete[video, t] deletes the first t seconds of video.VideoDelete[video, -t] deletes the last t" - }, - { - "label":"VideoEncoding", - "type":"keyword", - "info":"VideoEncoding is an option for Export and other functions that specifies the video encoding to use w" - }, - { - "label":"VideoExtractFrames", - "type":"keyword", - "info":"VideoExtractFrames[video, t] extracts a frame at time t from video.VideoExtractFrames[video, tspec] " - }, - { - "label":"VideoFrameList", - "type":"keyword", - "info":"VideoFrameList[video, n] gives a list of n images extracted from video.VideoFrameList[video, spec] g" - }, - { - "label":"VideoFrameMap", - "type":"keyword", - "info":"VideoFrameMap[f, video] applies f to each frame of the Video object video, returning a new Video obj" - }, - { - "label":"VideoGenerator", - "type":"keyword", - "info":"VideoGenerator[model] generates one second of video of a given model.VideoGenerator[model, dur] gene" - }, - { - "label":"VideoInsert", - "type":"keyword", - "info":"VideoInsert[video, t  new] inserts the video new at time t.VideoInsert[video, {t , t , …}  new] in" - }, - { - "label":"VideoIntervals", - "type":"keyword", - "info":"VideoIntervals[video, crit] returns time intervals of video for which the criterion crit is satisfie" - }, - { - "label":"VideoJoin", - "type":"keyword", - "info":"VideoJoin[video , video , …] concatenates all video and returns a video object.\n 1 " - }, - { - "label":"VideoMap", - "type":"keyword", - "info":"VideoMap[f, video] applies f to partial video and audio data corresponding to one frame of video, re" - }, - { - "label":"VideoMapList", - "type":"keyword", - "info":"VideoMapList[f, video] applies f to a chunk of data corresponding to one frame from the Video object" - }, - { - "label":"VideoMapTimeSeries", - "type":"keyword", - "info":"VideoMapTimeSeries[f, video] applies f to each frame of the Video object video, returning a time ser" - }, - { - "label":"VideoPause", - "type":"keyword", - "info":"VideoPause[] pauses the playback of all VideoStream objects.VideoPause[vstream] pauses the playback " - }, - { - "label":"VideoPlay", - "type":"keyword", - "info":"VideoPlay[video] returns a new VideoStream object from video and starts the playback.VideoPlay[vstre" - }, - { - "label":"VideoQ", - "type":"keyword", - "info":"VideoQ[video] yields True if video has the form of a valid Video object, and False otherwise." - }, - { - "label":"VideoRecord", - "type":"keyword", - "info":"VideoRecord[source] creates a VideoStream object and records from source.VideoRecord[vstream] starts" - }, - { - "label":"VideoReplace", - "type":"keyword", - "info":"VideoReplace[video, {t , t }  new] replaces the video between t and t with the new video new.Vide" - }, - { - "label":"VideoSplit", - "type":"keyword", - "info":"VideoSplit[video, t] splits video at time t.VideoSplit[video, {t , t , …}] splits video at times t ." - }, - { - "label":"VideoStop", - "type":"keyword", - "info":"VideoStop[] stops the playback of all VideoStream objects.VideoStop[vstream] stops the playback of t" - }, - { - "label":"VideoStream", - "type":"keyword", - "info":"VideoStream[source] creates a new VideoStream object from source.VideoStream[id] is an object that r" - }, - { - "label":"VideoStreams", - "type":"keyword", - "info":"VideoStreams[] returns all existing video streams." - }, - { - "label":"VideoTimeStretch", - "type":"keyword", - "info":"VideoTimeStretch[video, spec] applies time stretching to video using the specified spec." - }, - { - "label":"VideoTrackSelection", - "type":"keyword", - "info":"VideoTrackSelection is an option that specifies the video tracks of interest." - }, - { - "label":"VideoTranscode", - "type":"keyword", - "info":"VideoTranscode[video, \"format\"] converts video to the specified format.VideoTranscode[video, service" - }, - { - "label":"VideoTrim", - "type":"keyword", - "info":"VideoTrim[video, t] returns the first t seconds of video.VideoTrim[video, -t] returns the last t sec" - }, - { - "label":"ViewAngle", - "type":"keyword", - "info":"ViewAngle is an option for Graphics3D and related functions that gives the opening angle for a simul" - }, - { - "label":"ViewCenter", - "type":"keyword", - "info":"ViewCenter is an option for Graphics3D and related functions which gives the scaled coordinates of t" - }, - { - "label":"ViewMatrix", - "type":"keyword", - "info":"ViewMatrix is an option for Graphics3D and related functions that can be used to specify a pair of e" - }, - { - "label":"ViewPoint", - "type":"keyword", - "info":"ViewPoint is an option for Graphics3D and related functions which gives the point in space from whic" - }, - { - "label":"ViewPointSelectorSettings", - "type":"keyword", - "info":"System`ViewPointSelectorSettings" - }, - { - "label":"ViewPort", - "type":"keyword", - "info":"System`ViewPort" - }, - { - "label":"ViewProjection", - "type":"keyword", - "info":"ViewProjection is an option for three-dimensional graphics that specifies the projection to use for " - }, - { - "label":"ViewRange", - "type":"keyword", - "info":"ViewRange is an option for Graphics3D and related functions which specifies the range of distances f" - }, - { - "label":"ViewVector", - "type":"keyword", - "info":"ViewVector is an option for Graphics3D and related functions which specifies the position and direct" - }, - { - "label":"ViewVertical", - "type":"keyword", - "info":"ViewVertical is an option for Graphics3D and related functions which specifies what direction in sca" - }, - { - "label":"VirtualGroupData", - "type":"keyword", - "info":"System`VirtualGroupData" - }, - { - "label":"Visible", - "type":"keyword", - "info":"Visible is a notebook option which specifies whether the notebook should be explicitly displayed on " - }, - { - "label":"VisibleCell", - "type":"keyword", - "info":"System`VisibleCell" - }, - { - "label":"VoiceStyleData", - "type":"keyword", - "info":"VoiceStyleData[] gives the list of available voices for speech synthesis.VoiceStyleData[voice] retur" - }, - { - "label":"VoigtDistribution", - "type":"keyword", - "info":"VoigtDistribution[Î\.b4, σ] represents Voigt distribution with parameters Î\.b4 and σ." - }, - { - "label":"VolcanoData", - "type":"keyword", - "info":"VolcanoData[entity, property] gives the value of the specified property for the volcano entity.Volca" - }, - { - "label":"Volume", - "type":"keyword", - "info":"Volume[reg] gives the volume of the three-dimensional region reg.Volume[{x , …, x }, {s, s , s }" - }, - { - "label":"VonMisesDistribution", - "type":"keyword", - "info":"VonMisesDistribution[μ, κ] represents a von Mises distribution with mean μ and concentration κ." - }, - { - "label":"VoronoiMesh", - "type":"keyword", - "info":"VoronoiMesh[{p , …, p }] gives a MeshRegion representing the Voronoi mesh from the points p , p , …." - }, - { - "label":"WaitAll", - "type":"keyword", - "info":"WaitAll[expr] waits for all concurrent evaluations represented by EvaluationObject expressions in ex" - }, - { - "label":"WaitAsynchronousTask", - "type":"keyword", - "info":"WaitAsynchronousTask[task] waits for task to complete." - }, - { - "label":"WaitNext", - "type":"keyword", - "info":"WaitNext[{eid , eid , …}] waits until the first evaluation represented by any of the eid finishes, " - }, - { - "label":"WaitUntil", - "type":"keyword", - "info":"System`WaitUntil" - }, - { - "label":"WakebyDistribution", - "type":"keyword", - "info":"WakebyDistribution[Î\\[PlusMinus], Î\.b2, Î\.b3, Î\.b4, μ] represents Wakeby distribution with shape parameters Î\.b2 and Î\.b4, scal" - }, - { - "label":"WalleniusHypergeometricDistribution", - "type":"keyword", - "info":"WalleniusHypergeometricDistribution[n, n , n , w] represents a Wallenius noncentral hypergeomet" - }, - { - "label":"WaringYuleDistribution", - "type":"keyword", - "info":"WaringYuleDistribution[Î\\[PlusMinus]] represents the Yule distribution with shape parameter Î\\[PlusMinus].WaringYuleDistribu" - }, - { - "label":"WarpingCorrespondence", - "type":"keyword", - "info":"WarpingCorrespondence[s , s ] gives the time warping (DTW) similarity path between sequences s and " - }, - { - "label":"WarpingDistance", - "type":"keyword", - "info":"WarpingDistance[s , s ] gives the dynamic time warping (DTW) distance between sequences s and s .Wa" - }, - { - "label":"WatershedComponents", - "type":"keyword", - "info":"WatershedComponents[image] computes the watershed transform of image, returning the result as an arr" - }, - { - "label":"WatsonUSquareTest", - "type":"keyword", - "info":" 2 " - }, - { - "label":"WattsStrogatzGraphDistribution", - "type":"keyword", - "info":"WattsStrogatzGraphDistribution[n, p] represents the Watts–Strogatz graph distribution for n-vertex g" - }, - { - "label":"WaveletBestBasis", - "type":"keyword", - "info":"WaveletBestBasis[dwd] computes a best basis representation in the DiscreteWaveletData object dwd.Wav" - }, - { - "label":"WaveletFilterCoefficients", - "type":"keyword", - "info":"WaveletFilterCoefficients[wave, filt] gives the filter coefficients for the symbolic wavelet wave of" - }, - { - "label":"WaveletImagePlot", - "type":"keyword", - "info":"WaveletImagePlot[dwd] plots the basis tree of wavelet image coefficients in the DiscreteWaveletData " - }, - { - "label":"WaveletListPlot", - "type":"keyword", - "info":"WaveletListPlot[dwd] plots wavelet transform coefficients in the DiscreteWaveletData dwd.WaveletList" - }, - { - "label":"WaveletMapIndexed", - "type":"keyword", - "info":"WaveletMapIndexed[f, wd] applies the function f to the arrays of coefficients and indices of a Conti" - }, - { - "label":"WaveletMatrixPlot", - "type":"keyword", - "info":"WaveletMatrixPlot[dwd] plots the basis tree of wavelet matrix coefficients in the DiscreteWaveletDat" - }, - { - "label":"WaveletPhi", - "type":"keyword", - "info":"WaveletPhi[wave, x] gives the scaling function ϕ(x) for the symbolic wavelet wave evaluated at x.Wav" - }, - { - "label":"WaveletPsi", - "type":"keyword", - "info":"WaveletPsi[wave, x] gives the wavelet function ψ(x) for the symbolic wavelet wave evaluated at x.Wav" - }, - { - "label":"WaveletScale", - "type":"keyword", - "info":"WaveletScale is an option for ContinuousWaveletTransform and related constructs used to specify the " - }, - { - "label":"WaveletScalogram", - "type":"keyword", - "info":"WaveletScalogram[wd] plots wavelet vector coefficients in a DiscreteWaveletData or ContinuousWavelet" - }, - { - "label":"WaveletThreshold", - "type":"keyword", - "info":"WaveletThreshold[dwd] thresholds the detail wavelet coefficients in the DiscreteWaveletData object d" - }, - { - "label":"WavePDEComponent", - "type":"keyword", - "info":" 2\n " - }, - { - "label":"WeaklyConnectedComponents", - "type":"keyword", - "info":"WeaklyConnectedComponents[g] gives the weakly connected components of the graph g.WeaklyConnectedCom" - }, - { - "label":"WeaklyConnectedGraphComponents", - "type":"keyword", - "info":"WeaklyConnectedGraphComponents[g] gives the weakly connected components of the graph g.WeaklyConnect" - }, - { - "label":"WeaklyConnectedGraphQ", - "type":"keyword", - "info":"WeaklyConnectedGraphQ[g] yields True if the graph g is weakly connected, and False otherwise." - }, - { - "label":"WeakStationarity", - "type":"keyword", - "info":"WeakStationarity[proc] gives conditions for the process proc to be weakly stationary. " - }, - { - "label":"WeatherData", - "type":"keyword", - "info":"WeatherData[loc, \"property\"] gives the most recent measurement for the specified weather property at" - }, - { - "label":"WeatherForecastData", - "type":"keyword", - "info":"WeatherForecastData[loc] gives the most recent forecast for all weather forecast properties for the " - }, - { - "label":"WebAudioSearch", - "type":"keyword", - "info":"WebAudioSearch[\"string\"] gives a dataset of the top web audio search results for the specified liter" - }, - { - "label":"WebColumn", - "type":"keyword", - "info":"WebColumn[{expr , expr , …}] represents an HTML column containing the expr .WebColumn[expr, options]" - }, - { - "label":"WebElementObject", - "type":"keyword", - "info":"WebElementObject[…] represents an element of an open webpage operated on by WebExecute." - }, - { - "label":"WeberE", - "type":"keyword", - "info":" μ\nW" - }, - { - "label":"WebExecute", - "type":"keyword", - "info":"WebExecute[cmd] executes the command cmd in a web browser. WebExecute[{cmd , cmd , …}] executes a li" - }, - { - "label":"WebImage", - "type":"keyword", - "info":"WebImage[url] gives an image of the webpage specified by url.WebImage[list] gives images specified b" - }, - { - "label":"WebImageSearch", - "type":"keyword", - "info":"WebImageSearch[\"string\"] gives a list of thumbnails of the top web image search results for the spec" - }, - { - "label":"WebItem", - "type":"keyword", - "info":"WebItem[expr] represents an HTML element containing expr.WebItem[expr, options] represents an HTML e" - }, - { - "label":"WebPageMetaInformation", - "type":"keyword", - "info":"System`WebPageMetaInformation" - }, - { - "label":"WebRow", - "type":"keyword", - "info":"WebRow[{expr , expr , …}] represents an HTML column containing the expr .WebRow[expr, options] displ" - }, - { - "label":"WebSearch", - "type":"keyword", - "info":"WebSearch[\"string\"] gives a dataset of the top web search results for the specified literal string.W" - }, - { - "label":"WebSessionObject", - "type":"keyword", - "info":"WebSessionObject[…] represents a web browser session started by StartWebSession for use with WebExec" - }, - { - "label":"WebSessions", - "type":"keyword", - "info":"WebSessions[] gives the list of all active web sessions." - }, - { - "label":"WebWindowObject", - "type":"keyword", - "info":"WebWindowObject[…] represents an open window or tab in a web browser." - }, - { - "label":"Wedge", - "type":"keyword", - "info":"Wedge[x, y, …] displays as x ⋀ y ⋀ …." - }, - { - "label":"Wednesday", - "type":"keyword", - "info":"Wednesday is a day of the week." - }, - { - "label":"WeibullDistribution", - "type":"keyword", - "info":"WeibullDistribution[Î\\[PlusMinus], Î\.b2] represents a Weibull distribution with shape parameter Î\\[PlusMinus] and scale paramet" - }, - { - "label":"WeierstrassE1", - "type":"keyword", - "info":"WeierstrassE1[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period" - }, - { - "label":"WeierstrassE2", - "type":"keyword", - "info":"WeierstrassE2[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period" - }, - { - "label":"WeierstrassE3", - "type":"keyword", - "info":"WeierstrassE3[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period" - }, - { - "label":"WeierstrassEta1", - "type":"keyword", - "info":"WeierstrassEta1[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω" - }, - { - "label":"WeierstrassEta2", - "type":"keyword", - "info":"WeierstrassEta2[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω" - }, - { - "label":"WeierstrassEta3", - "type":"keyword", - "info":"WeierstrassEta3[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω" - }, - { - "label":"WeierstrassHalfPeriods", - "type":"keyword", - "info":"WeierstrassHalfPeriods[{g , g }] gives the half‐periods {ω , ω } for Weierstrass elliptic functions " - }, - { - "label":"WeierstrassHalfPeriodW1", - "type":"keyword", - "info":"WeierstrassHalfPeriodW1[{g , g }] gives the half-period ω for Weierstrass elliptic functions corres" - }, - { - "label":"WeierstrassHalfPeriodW2", - "type":"keyword", - "info":"WeierstrassHalfPeriodW2[{g , g }] gives the half-period ω for the Weierstrass elliptic functions co" - }, - { - "label":"WeierstrassHalfPeriodW3", - "type":"keyword", - "info":"WeierstrassHalfPeriodW3[{g , g }] gives the half-period ω for the Weierstrass elliptic functions co" - }, - { - "label":"WeierstrassInvariantG2", - "type":"keyword", - "info":" â€\.b2 " - }, - { - "label":"WeierstrassInvariantG3", - "type":"keyword", - "info":" â€\.b2 " - }, - { - "label":"WeierstrassInvariants", - "type":"keyword", - "info":"WeierstrassInvariants[{ω , ω }] gives the invariants {g , g } for Weierstrass elliptic functions cor" - }, - { - "label":"WeierstrassP", - "type":"keyword", - "info":"WeierstrassP[u, {g , g }] gives the Weierstrass elliptic function ℘(u ; g , g ). \n " - }, - { - "label":"WeierstrassPPrime", - "type":"keyword", - "info":"WeierstrassPPrime[u, {g , g }] gives the derivative of the Weierstrass elliptic function ℘(u ; g , g" - }, - { - "label":"WeierstrassSigma", - "type":"keyword", - "info":"WeierstrassSigma[u, {g , g }] gives the Weierstrass sigma function σ(u ; g , g ). \n " - }, - { - "label":"WeierstrassZeta", - "type":"keyword", - "info":"WeierstrassZeta[u, {g , g }] gives the Weierstrass zeta function Î\\[Paragraph](u ; g , g ). \n " - }, - { - "label":"WeightedAdjacencyGraph", - "type":"keyword", - "info":"WeightedAdjacencyGraph[wmat] gives the graph with weighted adjacency matrix wmat.WeightedAdjacencyGr" - }, - { - "label":"WeightedAdjacencyMatrix", - "type":"keyword", - "info":"WeightedAdjacencyMatrix[g] gives the adjacency matrix of edge weights of the graph g.WeightedAdjacen" - }, - { - "label":"WeightedData", - "type":"keyword", - "info":"WeightedData[{x , x , …}, {w , w , …}] represents observations x with weights w .WeightedData[{x , " - }, - { - "label":"WeightedGraphQ", - "type":"keyword", - "info":"WeightedGraphQ[g] yields True if the graph g is a weighted graph and False otherwise." - }, - { - "label":"Weights", - "type":"keyword", - "info":"Weights is an option for various fitting and other functions which specifies weights to associate wi" - }, - { - "label":"WelchWindow", - "type":"keyword", - "info":"WelchWindow[x] represents a Welch window function of x.WelchWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n" - }, - { - "label":"WheelGraph", - "type":"keyword", - "info":"WheelGraph[n] gives the wheel graph with n vertices W .\n " - }, - { - "label":"WhenEvent", - "type":"keyword", - "info":"WhenEvent[event, action] specifies an action that occurs when the event triggers it for equations in" - }, - { - "label":"Which", - "type":"keyword", - "info":"Which[test , value , test , value , …] evaluates each of the test in turn, returning the value of t" - }, - { - "label":"While", - "type":"keyword", - "info":"While[test, body] evaluates test, then body, repetitively, until test first fails to give True. " - }, - { - "label":"White", - "type":"keyword", - "info":"White represents the color white in graphics or style specifications. " - }, - { - "label":"WhiteNoiseProcess", - "type":"keyword", - "info":"WhiteNoiseProcess[] represents a Gaussian white noise process with mean 0 and standard deviation 1.W" - }, - { - "label":"WhitePoint", - "type":"keyword", - "info":"WhitePoint is an option for ColorConvert, ChromaticityPlot and other functions to specify the white " - }, - { - "label":"Whitespace", - "type":"keyword", - "info":"Whitespace represents a sequence of whitespace characters in StringExpression." - }, - { - "label":"WhitespaceCharacter", - "type":"keyword", - "info":"WhitespaceCharacter represents a single whitespace character in StringExpression." - }, - { - "label":"WhittakerM", - "type":"keyword", - "info":"WhittakerM[k, m, z] gives the Whittaker function M (z). \n " - }, - { - "label":"WhittakerW", - "type":"keyword", - "info":"WhittakerW[k, m, z] gives the Whittaker function W (z). \n " - }, - { - "label":"WholeCellGroupOpener", - "type":"keyword", - "info":"System`WholeCellGroupOpener" - }, - { - "label":"WienerFilter", - "type":"keyword", - "info":"WienerFilter[data, r] removes noise from data by applying a range-r Wiener filter.WienerFilter[data," - }, - { - "label":"WienerProcess", - "type":"keyword", - "info":"WienerProcess[μ, σ] represents a Wiener process with a drift μ and volatility σ.WienerProcess[] repr" - }, - { - "label":"WignerD", - "type":"keyword", - "info":" j " - }, - { - "label":"WignerSemicircleDistribution", - "type":"keyword", - "info":"WignerSemicircleDistribution[r] represents a Wigner semicircle distribution with radius r centered a" - }, - { - "label":"WikidataData", - "type":"keyword", - "info":"WikidataData[item, property] gives the values of the specified property for the given item.WikidataD" - }, - { - "label":"WikidataSearch", - "type":"keyword", - "info":"WikidataSearch[\"keywords\"] returns a list of Wikidata items whose labels include the given keywords." - }, - { - "label":"WikipediaData", - "type":"keyword", - "info":"WikipediaData[article] gives the plain text of the specified Wikipedia article.WikipediaData[article" - }, - { - "label":"WikipediaSearch", - "type":"keyword", - "info":"WikipediaSearch[keywords] returns a list of Wikipedia articles whose titles include the given keywor" - }, - { - "label":"WilksW", - "type":"keyword", - "info":"WilksW[m , m ] gives Wilks's  for the matrices m and m .\n 1 2 " - }, - { - "label":"WilksWTest", - "type":"keyword", - "info":"WilksWTest[m , m ] tests whether the matrices m and m are independent.WilksWTest[…, \"property\"] re" - }, - { - "label":"WindDirectionData", - "type":"keyword", - "info":"WindDirectionData[] gives the most recent measurement for wind direction near the current location.W" - }, - { - "label":"WindingCount", - "type":"keyword", - "info":"WindingCount[contour, p] gives the count of the number of times a closed curve winds around a point " - }, - { - "label":"WindingPolygon", - "type":"keyword", - "info":"WindingPolygon[{p , p , …, p }] gives a polygon representing all points for which the closed contour" - }, - { - "label":"WindowClickSelect", - "type":"keyword", - "info":"WindowClickSelect is a notebook option that specifies whether the window for the notebook should bec" - }, - { - "label":"WindowElements", - "type":"keyword", - "info":"WindowElements is a notebook option that specifies the elements to include in the window used to dis" - }, - { - "label":"WindowFloating", - "type":"keyword", - "info":"WindowFloating is a notebook option that specifies whether the window for the notebook should float " - }, - { - "label":"WindowFrame", - "type":"keyword", - "info":"WindowFrame is a notebook option that specifies the type of frame to draw around the window in which" - }, - { - "label":"WindowFrameElements", - "type":"keyword", - "info":"WindowFrameElements is an option for notebooks that specifies the elements to include in the frame o" - }, - { - "label":"WindowMargins", - "type":"keyword", - "info":"WindowMargins is a notebook option that specifies what margins to leave around the window that is us" - }, - { - "label":"WindowMovable", - "type":"keyword", - "info":"WindowMovable is a notebook option that specifies whether to allow the window for the notebook to be" - }, - { - "label":"WindowOpacity", - "type":"keyword", - "info":"WindowOpacity is a notebook option that determines the overall opacity of a displayed window." - }, - { - "label":"WindowPersistentStyles", - "type":"keyword", - "info":"System`WindowPersistentStyles" - }, - { - "label":"WindowSelected", - "type":"keyword", - "info":"System`WindowSelected" - }, - { - "label":"WindowSize", - "type":"keyword", - "info":"WindowSize is a notebook option that specifies the size of window that should be used to display a n" - }, - { - "label":"WindowStatusArea", - "type":"keyword", - "info":"WindowStatusArea is a notebook option that specifies what should appear in the status area in the fr" - }, - { - "label":"WindowTitle", - "type":"keyword", - "info":"WindowTitle is an option that specifies the title to give for a window. " - }, - { - "label":"WindowToolbars", - "type":"keyword", - "info":"WindowToolbars is a notebook option that specifies the toolbars to include at the top of the window " - }, - { - "label":"WindowWidth", - "type":"keyword", - "info":"System`WindowWidth" - }, - { - "label":"WindSpeedData", - "type":"keyword", - "info":"WindSpeedData[] gives the most recent measurement for wind speed near the current location.WindSpeed" - }, - { - "label":"WindVectorData", - "type":"keyword", - "info":"WindVectorData[] gives the most recent weather station measurement for wind vector near the current " - }, - { - "label":"WinsorizedMean", - "type":"keyword", - "info":"WinsorizedMean[list, f] gives the mean of the elements in list after replacing the fraction f of the" - }, - { - "label":"WinsorizedVariance", - "type":"keyword", - "info":"WinsorizedVariance[list, f] gives the variance of the elements in list after replacing the fraction " - }, - { - "label":"WishartMatrixDistribution", - "type":"keyword", - "info":"WishartMatrixDistribution[ν, Σ] represents a Wishart matrix distribution with ν degrees of freedom a" - }, - { - "label":"With", - "type":"keyword", - "info":"With[{x = x , y = y , …}, expr] specifies that all occurrences of the symbols x, y, … in expr should" - }, - { - "label":"WithCleanup", - "type":"keyword", - "info":"WithCleanup[expr, cleanup] evaluates expr, running cleanup before returning the result, even if an a" - }, - { - "label":"WithLock", - "type":"keyword", - "info":"WithLock[File[\"path\"], expr] locks the file path, evaluates expr, then releases the file.WithLock[Lo" - }, - { - "label":"WolframAlpha", - "type":"keyword", - "info":"WolframAlpha[\"query\"] sends query to Wolfram|Alpha and imports the output.WolframAlpha[\"query\", form" - }, - { - "label":"WolframAlphaDate", - "type":"keyword", - "info":"System`WolframAlphaDate" - }, - { - "label":"WolframAlphaQuantity", - "type":"keyword", - "info":"System`WolframAlphaQuantity" - }, - { - "label":"WolframAlphaResult", - "type":"keyword", - "info":"System`WolframAlphaResult" - }, - { - "label":"WolframLanguageData", - "type":"keyword", - "info":"WolframLanguageData[entity, property] gives the value of the specified property for the Wolfram Lang" - }, - { - "label":"Word", - "type":"keyword", - "info":"Word represents a word in Read, Find, and related functions. " - }, - { - "label":"WordBoundary", - "type":"keyword", - "info":"WordBoundary represents a boundary between words for purposes of matching in StringExpression." - }, - { - "label":"WordCharacter", - "type":"keyword", - "info":"WordCharacter represents a letter or digit character in StringExpression." - }, - { - "label":"WordCloud", - "type":"keyword", - "info":"WordCloud[{s , s , …}] generates a word cloud graphic in which the s are sized according to their m" - }, - { - "label":"WordCount", - "type":"keyword", - "info":"WordCount[\"string\"] gives the total number of words in string." - }, - { - "label":"WordCounts", - "type":"keyword", - "info":"WordCounts[\"string\"] gives an association whose keys are the distinct words identified in string, an" - }, - { - "label":"WordData", - "type":"keyword", - "info":"WordData[\"word\", \"property\"] gives the specified property for the English word \"word\".WordData[\"word" - }, - { - "label":"WordDefinition", - "type":"keyword", - "info":"WordDefinition[\"word\"] gives the dictionary definitions available for \"word\"." - }, - { - "label":"WordFrequency", - "type":"keyword", - "info":"WordFrequency[text, word] gives the frequency of word in text.WordFrequency[text, {word , word , …}]" - }, - { - "label":"WordFrequencyData", - "type":"keyword", - "info":"WordFrequencyData[word] gives the frequency of word in typical published English text.WordFrequencyD" - }, - { - "label":"WordList", - "type":"keyword", - "info":"WordList[] gives a list of common words.WordList[type] gives a list of words of the specified type.\n" - }, - { - "label":"WordOrientation", - "type":"keyword", - "info":"WordOrientation is an option for WordCloud that specifies the orientations in which words appear." - }, - { - "label":"WordSearch", - "type":"keyword", - "info":"WordSearch is an option for Find and FindList that specifies whether the text searched for must appe" - }, - { - "label":"WordSelectionFunction", - "type":"keyword", - "info":"WordSelectionFunction is an option for WordCloud and other functions that specifies which words to u" - }, - { - "label":"WordSeparators", - "type":"keyword", - "info":"WordSeparators is an option for Read, Find, and related functions that specifies the list of strings" - }, - { - "label":"WordSpacings", - "type":"keyword", - "info":"WordSpacings is an option for WordCloud that specifies the empty space to be added around each word." - }, - { - "label":"WordStem", - "type":"keyword", - "info":"WordStem[\"word\"] gives a stemmed form of word, removing plurals, inflections, etc." - }, - { - "label":"WordTranslation", - "type":"keyword", - "info":"WordTranslation[\"word\", lang] gives translations for word into the language lang.WordTranslation[\"wo" - }, - { - "label":"WorkingPrecision", - "type":"keyword", - "info":"WorkingPrecision is an option for various numerical operations that specifies how many digits of pre" - }, - { - "label":"WrapAround", - "type":"keyword", - "info":"WrapAround is an option for NotebookFind that specifies whether the find operation should continue p" - }, - { - "label":"Write", - "type":"keyword", - "info":"Write[channel, expr , expr , …] writes the expressions expr in sequence, followed by a newline, to " - }, - { - "label":"WriteLine", - "type":"keyword", - "info":"WriteLine[stream, \"string\"] writes \"string\", followed by a newline, to the specified output stream.\n" - }, - { - "label":"WriteString", - "type":"keyword", - "info":"WriteString[\"file\", \"string\"] writes \"string\" to a file.WriteString[channel, \"string\"] writes \"strin" - }, - { - "label":"Wronskian", - "type":"keyword", - "info":"Wronskian[{y , y , …}, x] gives the Wronskian determinant for the functions y , y , … depending on x" - }, - { - "label":"XMLElement", - "type":"keyword", - "info":"XMLElement[tag, {attr  val , …}, {data , …}] represents an element in symbolic XML.\n " - }, - { - "label":"XMLObject", - "type":"keyword", - "info":"XMLObject[\"type\"] represents the head of an XML object in symbolic XML." - }, - { - "label":"XMLTemplate", - "type":"keyword", - "info":"XMLTemplate[\"string\"] yields a TemplateObject that represents an XML template to be applied using fu" - }, - { - "label":"Xnor", - "type":"keyword", - "info":"Xnor[e , e , …] is the logical XNOR (not XOR) function. It gives True if an even number of the e ar" - }, - { - "label":"Xor", - "type":"keyword", - "info":"Xor[e , e , …] is the logical XOR (exclusive OR) function. It gives True if an odd number of the e " - }, - { - "label":"XYZColor", - "type":"keyword", - "info":"XYZColor[x, y, z] represents a color in the XYZ color space with tristimulus values x, y and z.XYZCo" - }, - { - "label":"Yellow", - "type":"keyword", - "info":"Yellow represents the color yellow in graphics or style specifications. " - }, - { - "label":"Yesterday", - "type":"keyword", - "info":"Yesterday gives a DateObject representing the previous day." - }, - { - "label":"YuleDissimilarity", - "type":"keyword", - "info":"YuleDissimilarity[u, v] gives the Yule dissimilarity between Boolean vectors u and v." - }, - { - "label":"ZernikeR", - "type":"keyword", - "info":" m\nZernikeR[n, m, r] gives the radial Zernike " - }, - { - "label":"ZeroSymmetric", - "type":"keyword", - "info":"ZeroSymmetric[{s , …, s }] represents the symmetry of a zero tensor in the slots s .\n " - }, - { - "label":"ZeroTest", - "type":"keyword", - "info":"ZeroTest is an option to various linear algebra functions that gives a function to use in testing wh" - }, - { - "label":"ZeroWidthTimes", - "type":"keyword", - "info":"ZeroWidthTimes is an option for selections that specifies whether blank spaces representing multipli" - }, - { - "label":"Zeta", - "type":"keyword", - "info":"Zeta[s] gives the Riemann zeta function Î\\[Paragraph](s). Zeta[s, a] gives the generalized Riemann zeta function" - }, - { - "label":"ZetaZero", - "type":"keyword", - "info":" th " - }, - { - "label":"ZIPCodeData", - "type":"keyword", - "info":"ZIPCodeData[entity, property] gives the value of the specified property for the ZIP code entity.ZIPC" - }, - { - "label":"ZipfDistribution", - "type":"keyword", - "info":"ZipfDistribution[ρ] represents a zeta distribution with parameter ρ.ZipfDistribution[n, ρ] represent" - }, - { - "label":"ZoomCenter", - "type":"keyword", - "info":"ZoomCenter is an option for DynamicImage that specifies the position of a zoom window within an imag" - }, - { - "label":"ZoomFactor", - "type":"keyword", - "info":"ZoomFactor is an option for DynamicImage that specifies the magnification factor of a zoom. " - }, - { - "label":"ZTest", - "type":"keyword", - "info":" " - }, - { - "label":"ZTransform", - "type":"keyword", - "info":"ZTransform[expr, n, z] gives the Z transform of expr. ZTransform[expr, {n , n , …}, {z , z , …}] giv" - }, - { - "label":"ECcaEC", - "type":"text", - "apply":"\\[CapitalAlpha]", - "detail":"CapitalAlpha" - }, - { - "label":"ECcbEC", - "type":"text", - "apply":"\\[CapitalBeta]", - "detail":"CapitalBeta" - }, - { - "label":"ECcgEC", - "type":"text", - "apply":"\\[CapitalGamma]", - "detail":"CapitalGamma" - }, - { - "label":"ECcdEC", - "type":"text", - "apply":"\\[CapitalDelta]", - "detail":"CapitalDelta" - }, - { - "label":"ECceEC", - "type":"text", - "apply":"\\[CapitalEpsilon]", - "detail":"CapitalEpsilon" - }, - { - "label":"ECczEC", - "type":"text", - "apply":"\\[CapitalZeta]", - "detail":"CapitalZeta" - }, - { - "label":"ECceEC", - "type":"text", - "apply":"\\[CapitalEta]", - "detail":"CapitalEta" - }, - { - "label":"ECctEC", - "type":"text", - "apply":"\\[CapitalTheta]", - "detail":"CapitalTheta" - }, - { - "label":"ECciEC", - "type":"text", - "apply":"\\[CapitalIota]", - "detail":"CapitalIota" - }, - { - "label":"ECckEC", - "type":"text", - "apply":"\\[CapitalKappa]", - "detail":"CapitalKappa" - }, - { - "label":"ECclEC", - "type":"text", - "apply":"\\[CapitalLambda]", - "detail":"CapitalLambda" - }, - { - "label":"ECcmEC", - "type":"text", - "apply":"\\[CapitalMu]", - "detail":"CapitalMu" - }, - { - "label":"ECcnEC", - "type":"text", - "apply":"\\[CapitalNu]", - "detail":"CapitalNu" - }, - { - "label":"ECcxEC", - "type":"text", - "apply":"\\[CapitalXi]", - "detail":"CapitalXi" - }, - { - "label":"ECcoEC", - "type":"text", - "apply":"\\[CapitalOmicron]", - "detail":"CapitalOmicron" - }, - { - "label":"ECcpEC", - "type":"text", - "apply":"\\[CapitalPi]", - "detail":"CapitalPi" - }, - { - "label":"ECcrEC", - "type":"text", - "apply":"\\[CapitalRho]", - "detail":"CapitalRho" - }, - { - "label":"ECcsEC", - "type":"text", - "apply":"\\[CapitalSigma]", - "detail":"CapitalSigma" - }, - { - "label":"ECctEC", - "type":"text", - "apply":"\\[CapitalTau]", - "detail":"CapitalTau" - }, - { - "label":"ECcuEC", - "type":"text", - "apply":"\\[CapitalUpsilon]", - "detail":"CapitalUpsilon" - }, - { - "label":"ECcpEC", - "type":"text", - "apply":"\\[CapitalPhi]", - "detail":"CapitalPhi" - }, - { - "label":"ECccEC", - "type":"text", - "apply":"\\[CapitalChi]", - "detail":"CapitalChi" - }, - { - "label":"ECcpEC", - "type":"text", - "apply":"\\[CapitalPsi]", - "detail":"CapitalPsi" - }, - { - "label":"ECcoEC", - "type":"text", - "apply":"\\[CapitalOmega]", - "detail":"CapitalOmega" - }, - { - "label":"ECalEC", - "type":"text", - "apply":"\\[Alpha]", - "detail":"Alpha" - }, - { - "label":"ECbeEC", - "type":"text", - "apply":"\\[Beta]", - "detail":"Beta" - }, - { - "label":"ECgaEC", - "type":"text", - "apply":"\\[Gamma]", - "detail":"Gamma" - }, - { - "label":"ECdeEC", - "type":"text", - "apply":"\\[Delta]", - "detail":"Delta" - }, - { - "label":"ECceEC", - "type":"text", - "apply":"\\[CurlyEpsilon]", - "detail":"CurlyEpsilon" - }, - { - "label":"ECzeEC", - "type":"text", - "apply":"\\[Zeta]", - "detail":"Zeta" - }, - { - "label":"ECetEC", - "type":"text", - "apply":"\\[Eta]", - "detail":"Eta" - }, - { - "label":"ECthEC", - "type":"text", - "apply":"\\[Theta]", - "detail":"Theta" - }, - { - "label":"ECioEC", - "type":"text", - "apply":"\\[Iota]", - "detail":"Iota" - }, - { - "label":"ECkaEC", - "type":"text", - "apply":"\\[Kappa]", - "detail":"Kappa" - }, - { - "label":"EClaEC", - "type":"text", - "apply":"\\[Lambda]", - "detail":"Lambda" - }, - { - "label":"ECmuEC", - "type":"text", - "apply":"\\[Mu]", - "detail":"Mu" - }, - { - "label":"ECnuEC", - "type":"text", - "apply":"\\[Nu]", - "detail":"Nu" - }, - { - "label":"ECxiEC", - "type":"text", - "apply":"\\[Xi]", - "detail":"Xi" - }, - { - "label":"EComEC", - "type":"text", - "apply":"\\[Omicron]", - "detail":"Omicron" - }, - { - "label":"ECpiEC", - "type":"text", - "apply":"\\[Pi]", - "detail":"Pi" - }, - { - "label":"ECrhEC", - "type":"text", - "apply":"\\[Rho]", - "detail":"Rho" - }, - { - "label":"ECfiEC", - "type":"text", - "apply":"\\[FinalSigma]", - "detail":"FinalSigma" - }, - { - "label":"ECsiEC", - "type":"text", - "apply":"\\[Sigma]", - "detail":"Sigma" - }, - { - "label":"ECtaEC", - "type":"text", - "apply":"\\[Tau]", - "detail":"Tau" - }, - { - "label":"ECupEC", - "type":"text", - "apply":"\\[Upsilon]", - "detail":"Upsilon" - }, - { - "label":"ECcpEC", - "type":"text", - "apply":"\\[CurlyPhi]", - "detail":"CurlyPhi" - }, - { - "label":"ECchEC", - "type":"text", - "apply":"\\[Chi]", - "detail":"Chi" - }, - { - "label":"ECpsEC", - "type":"text", - "apply":"\\[Psi]", - "detail":"Psi" - }, - { - "label":"EComEC", - "type":"text", - "apply":"\\[Omega]", - "detail":"Omega" - }, - { - "label":"ECctEC", - "type":"text", - "apply":"\\[CurlyTheta]", - "detail":"CurlyTheta" - }, - { - "label":"ECccEC", - "type":"text", - "apply":"\\[CurlyCapitalUpsilon]", - "detail":"CurlyCapitalUpsilon" - }, - { - "label":"ECphEC", - "type":"text", - "apply":"\\[Phi]", - "detail":"Phi" - }, - { - "label":"ECcpEC", - "type":"text", - "apply":"\\[CurlyPi]", - "detail":"CurlyPi" - }, - { - "label":"ECcsEC", - "type":"text", - "apply":"\\[CapitalStigma]", - "detail":"CapitalStigma" - }, - { - "label":"ECstEC", - "type":"text", - "apply":"\\[Stigma]", - "detail":"Stigma" - }, - { - "label":"ECcdEC", - "type":"text", - "apply":"\\[CapitalDigamma]", - "detail":"CapitalDigamma" - }, - { - "label":"ECdiEC", - "type":"text", - "apply":"\\[Digamma]", - "detail":"Digamma" - }, - { - "label":"ECckEC", - "type":"text", - "apply":"\\[CapitalKoppa]", - "detail":"CapitalKoppa" - }, - { - "label":"ECkoEC", - "type":"text", - "apply":"\\[Koppa]", - "detail":"Koppa" - }, - { - "label":"ECcsEC", - "type":"text", - "apply":"\\[CapitalSampi]", - "detail":"CapitalSampi" - }, - { - "label":"ECsaEC", - "type":"text", - "apply":"\\[Sampi]", - "detail":"Sampi" - }, - { - "label":"ECckEC", - "type":"text", - "apply":"\\[CurlyKappa]", - "detail":"CurlyKappa" - }, - { - "label":"ECcrEC", - "type":"text", - "apply":"\\[CurlyRho]", - "detail":"CurlyRho" - }, - { - "label":"ECepEC", - "type":"text", - "apply":"\\[Epsilon]", - "detail":"Epsilon" - } - -]; - -function newESC() { - return ({ state, dispatch }) => { - if (state.readOnly) return false; - let changes = state.changeByRange((range) => { - let { from, to } = range; - //if (atEof) from = to = (to <= line.to ? line : state.doc.lineAt(to)).to - - return { - changes: { from, to, insert: "EC" }, - range: EditorSelection.cursor(from + 2) - }; - }); - - dispatch( - state.update(changes, { scrollIntoView: true, userEvent: "input" }) - ); - return true; - }; -} - -function Completions(context, defaultFunctions) { - let word = context.matchBefore(/\w*/); - if (word.from === word.to && !context.explicit) return null; - return { - from: word.from, - options: defaultFunctions - }; -} - -// used pattern building blocks -var Identifier = "[a-zA-Z\\$][a-zA-Z0-9\\$]*"; -var pBase = "(?:\\d+)"; -var pFloat = "(?:\\.\\d+|\\d+\\.\\d*|\\d+)"; -var pFloatBase = "(?:\\.\\w+|\\w+\\.\\w*|\\w+)"; -var pPrecision = "(?:`(?:`?" + pFloat + ")?)"; - -// regular expressions -var reBaseForm = new RegExp( - "(?:" + - pBase + - "(?:\\^\\^" + - pFloatBase + - pPrecision + - "?(?:\\*\\^[+-]?\\d+)?))" -); -var reFloatForm = new RegExp( - "(?:" + pFloat + pPrecision + "?(?:\\*\\^[+-]?\\d+)?)" -); -var reIdInContext = new RegExp( - "(?:`?)(?:" + Identifier + ")(?:`(?:" + Identifier + "))*(?:`?)" -); - -let builtins = defaultFunctions.map((e) => e.label); - -const builtinsSpecial = [ - "True", - "False", - "All", - "None", - "Null", - "Full", - "$Failed", - "$Aborted" -]; - -function tokenBase(stream, state) { - var ch; - - // get next character - ch = stream.next(); - - // string - if (ch === '"') { - state.tokenize = tokenString; - return state.tokenize(stream, state); - } - - // comment - if (ch === "(") { - if (stream.eat("*")) { - state.commentLevel++; - state.tokenize = tokenComment; - return state.tokenize(stream, state); - } - } - - // go back one character - stream.backUp(1); - - // look for numbers - // Numbers in a baseform - if (stream.match(reBaseForm, true, false)) { - return "number"; - } - - // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition - // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow. - if (stream.match(reFloatForm, true, false)) { - return "number"; - } - - // usage - if ( - stream.match( - /([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/, - true, - false - ) - ) { - return "meta"; - } - - // message - if ( - stream.match( - /([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/, - true, - false - ) - ) { - return "string.special"; - } - - // this makes a look-ahead match for something like variable:{_Integer} - // the match is then forwarded to the mma-patterns tokenizer. - if ( - stream.match( - /([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/, - true, - false - ) - ) { - return "variableName.special"; - } - - // catch variables which are used together with Blank (_), BlankSequence (__) or BlankNullSequence (___) - // Cannot start with a number, but can have numbers at any other position. Examples - // blub__Integer, a1_, b34_Integer32 - if ( - stream.match( - /[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/, - true, - false - ) - ) { - return "variableName.special"; - } - if (stream.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/, true, false)) { - return "variableName.special"; - } - if (stream.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/, true, false)) { - return "variableName.special"; - } - - // Named characters in Mathematica, like \[Gamma]. - if (stream.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/, true, false)) { - return "character"; - } - - // Match all braces separately - if (stream.match(/(?:\[|\]|{|}|\(|\))/, true, false)) { - return "bracket"; - } - - // Catch Slots (#, ##, #3, ##9 and the V10 named slots #name). I have never seen someone using more than one digit after #, so we match - // only one. - if (stream.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/, true, false)) { - return "variableName.constant"; - } - - // Literals like variables, keywords, functions - if (stream.match(reIdInContext, true, false)) { - if (builtinsSpecial.indexOf(stream.current()) > -1) return "number"; - if (builtins.indexOf(stream.current()) > -1) return "keyword"; - if (stream.current() in state.localVars) return "atom"; - - state.localVars[stream.current()] = true; - - return "function"; - } - - // operators. Note that operators like @@ or /; are matched separately for each symbol. - if ( - stream.match( - /(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/, - true, - false - ) - ) { - return "operator"; - } - - // everything else is an error - stream.next(); // advance the stream. - return "error"; -} - -function tokenString(stream, state) { - var next, - end = false, - escaped = false; - while ((next = stream.next()) != null) { - if (next === '"' && !escaped) { - end = true; - break; - } - escaped = !escaped && next === "\\"; - } - if (end && !escaped) { - state.tokenize = tokenBase; - } - return "string"; -} - -function tokenComment(stream, state) { - var prev, next; - while (state.commentLevel > 0 && (next = stream.next()) != null) { - if (prev === "(" && next === "*") state.commentLevel++; - if (prev === "*" && next === ")") state.commentLevel--; - prev = next; - } - if (state.commentLevel <= 0) { - state.tokenize = tokenBase; - } - return "comment"; -} - -const mathematica = { - name: "mathematica", - extendVariables: function (symbol) { - //not implemented - }, - startState: function () { - //.log("tocken string"); - - return { tokenize: tokenBase, commentLevel: 0, localVars: {} }; - }, - token: function (stream, state) { - if (stream.eatSpace()) return null; - return state.tokenize(stream, state); - }, - languageData: { - commentTokens: { block: { open: "(*", close: "*)" } } - } -}; - -let wolframLanguage; - -wolframLanguage = [ - StreamLanguage.define(mathematica), - autocompletion({ - override: [ - async (ctx) => Completions(ctx, defaultFunctions) - //snippetCompletion('mySnippet(${one}, ${two})', {label: 'mySnippet'}) - ] - }), - keymap.of([{ key: "Escape", run: newESC() }]) -]; - -wolframLanguage.of = (vocabulary) => { - - return [ - StreamLanguage.define(mathematica), - autocompletion({ - override: [ - async (ctx) => Completions(ctx, vocabulary) - //snippetCompletion('mySnippet(${one}, ${two})', {label: 'mySnippet'}) - ] - }), - keymap.of([{ key: "Escape", run: newESC() }]) - ]; -}; - -wolframLanguage.reBuild = (vocabulary) => { - builtins = vocabulary.map((e) => e.label); -}; - -const transferFiles = (list, ev, view, handler) => { - if (list.length == 0) return; - const id = new Date().valueOf(); - handler.transaction(ev, view, id, list.length); - // server.kernel.emitt('', `<|"Id" -> "${id}", "Length" -> ${list.length}|>`, 'Transaction'); - - for (const file of list) { - readFile(file, (name, result) => { - handler.file(ev, view, id, name, result); - }); - } - -}; - -function readFile(file, cbk) { - const reader = new FileReader(); - reader.addEventListener('load', (event) => { - let compressedData = base64ArrayBuffer(event.target.result); - //console.log(compressedData); - cbk(file.name, compressedData); - }); - - reader.addEventListener('progress', (event) => { - if (event.loaded && event.total) { - const percent = (event.loaded / event.total) * 100; - console.log(percent); - } - }); - - reader.readAsArrayBuffer(file); -} - - -//drag and drop and past events -const DropPasteHandlers = (hd, hp) => EditorView.domEventHandlers({ - drop(ev, view) { - //console.log("codeMirror :: paste ::", ev); // Prevent default behavior (Prevent file from being opened) - ev.preventDefault(); - - const filesArray = []; - - if (ev.dataTransfer.items) { - // Use DataTransferItemList interface to access the file(s) - [...ev.dataTransfer.items].forEach((item, i) => { - // If dropped items aren't files, reject them - if (item.kind === "file") { - const file = item.getAsFile(); - console.log(`… file[${i}].name = ${file.name}`); - filesArray.push(file); - } - }); - } else { - // Use DataTransfer interface to access the file(s) - [...ev.dataTransfer.files].forEach((file, i) => { - console.log(`… file[${i}].name = ${file.name}`); - filesArray.push(file); - }); - } - - transferFiles(filesArray, ev, view, hd); - - }, - - paste(ev, view) { - - let paste = (ev.clipboardData || window.clipboardData); - for (const obj of paste.items) { - //console.log(obj); - if (obj.kind === "string") { - switch(obj.type) { - case 'text/plain': - - break; - case "image/png": - ev.preventDefault(); - transferFiles([obj.getAsFile()], ev, view, hp); - break; - } - } else { - ev.preventDefault(); - transferFiles([obj.getAsFile()], ev, view, hp); - } - } - } -}); - -const GreekMatcher = new MatchDecorator({ - regexp: /\\\[(\w+)\]/g, - decoration: (match) => { - //console.log(match); - return Decoration.replace({ - widget: new GreekWidget(match[1]) - }) - } -}); - -const Greekholder = ViewPlugin.fromClass( - class { - constructor(view) { - this.Greekholder = GreekMatcher.createDeco(view); - } - update(update) { - this.Greekholder = GreekMatcher.updateDeco(update, this.Greekholder); - } - }, - { - decorations: instance => instance.Greekholder, - provide: plugin => EditorView.atomicRanges.of(view => { - return view.plugin(plugin)?.Greekholder || Decoration.none - }) - } -); - -class GreekWidget extends WidgetType { - constructor(name) { - //console.log('created'); - super(); - this.name = name; - } - - eq(other) { - return this.name === other.name; - } - - toDOM() { - //console.log('to DOM'); - let elt = document.createElement("span"); - elt.innerHTML = - "&" + - this.name - .toLowerCase() - .replace("sqrt", "radic") - .replace("undirectededge", 'harr') - .replace('directededge', 'rarr') - .replace('curlyepsilon', 'epsilon') - .replace('curlytheta', 'theta') - .replace('transpose', '#7488') - .replace("degree", "deg") + - ";"; - - return elt; - } - ignoreEvent() { - return false; - } -} - -const ArrowMatcher = new MatchDecorator({ - regexp: /(->|<-)/g, - decoration: (match) => - Decoration.replace({ - widget: new ArrowWidget(match[1]) - }) -}); -ViewPlugin.fromClass( - class { - constructor(view) { - this.Arrowholder = ArrowMatcher.createDeco(view); - } - update(update) { - this.Arrowholder = ArrowMatcher.updateDeco(update, this.Arrowholder); - } + decorations: instance => instance.Greekholder, + provide: plugin => EditorView.atomicRanges.of(view => { + return view.plugin(plugin)?.Greekholder || Decoration.none + }) + } +); + +class GreekWidget extends WidgetType { + constructor(name) { + //console.log('created'); + super(); + this.name = name; + } + + eq(other) { + return this.name === other.name; + } + + toDOM() { + //console.log('to DOM'); + let elt = document.createElement("span"); + elt.innerHTML = + "&" + + this.name + .toLowerCase() + .replace("sqrt", "radic") + .replace("undirectededge", 'harr') + .replace('directededge', 'rarr') + .replace(/capital(.*)/, (arg, rep) => { + return rep.charAt(0).toUpperCase() + rep.slice(1); + }) + .replace(/curly(.*)/, (arg, rep) => { + return rep; + }) + .replace(/script(.*)/, (arg, rep) => { + return 'el'+rep.toLowerCase(); + }) + .replace('transpose', '#7488') + .replace("degree", "deg") + + ";"; + + return elt; + } + ignoreEvent() { + return false; + } +} + +const ArrowMatcher = new MatchDecorator({ + regexp: /(->|<-)/g, + decoration: (match) => + Decoration.replace({ + widget: new ArrowWidget(match[1]) + }) +}); +ViewPlugin.fromClass( + class { + constructor(view) { + this.Arrowholder = ArrowMatcher.createDeco(view); + } + update(update) { + this.Arrowholder = ArrowMatcher.updateDeco(update, this.Arrowholder); + } }, { decorations: (instance) => instance.Arrowholder, @@ -62557,10 +29513,14 @@ var BallancedMatchDecorator2 = /** @class */ (function () { changeTo = Math.max(to, changeTo); } }); - if (update.viewportChanged || changeTo - changeFrom > 1000) + if (update.viewportChanged || changeTo - changeFrom > 1000) { + //console.log('createDeco'); return this.createDeco(update.view); - if (changeTo > -1) + } + if (changeTo > -1) { + //console.log('updatRanges'); return this.updateRange(update.view, deco.map(update.changes), changeFrom, changeTo); + } return deco; }; BallancedMatchDecorator2.prototype.updateRange = function (view, deco, updateFrom, updateTo) { @@ -62814,6 +29774,9 @@ let EditorWidget$7 = class EditorWidget { const data = '(('+update+')'; const changes = {from: relative + args[0].from, to: relative + args[0].from + args[0].length, insert: data}; + //update an imprint + this.visibleValue.str = this.visibleValue.str.substring(0, args[0].from).concat(data, this.visibleValue.str.substring(args[0].from + args[0].length)); + //shift other positions const delta = data.length - args[0].length; @@ -62831,6 +29794,9 @@ let EditorWidget$7 = class EditorWidget { const data = '('+update+'))'; const changes = {from: relative + args[2].from, to: relative + args[2].from + args[2].length, insert: data}; + //update an imprint + this.visibleValue.str = this.visibleValue.str.substring(0, args[2].from).concat(data, this.visibleValue.str.substring(args[2].from + args[2].length)); + //shift other positions const delta = (data.length - args[2].length); @@ -62849,6 +29815,115 @@ let EditorWidget$7 = class EditorWidget { update(visibleValue, placeholder) { //console.log('Update instance: new ranges & arguments'); + + if (this.visibleValue.str != visibleValue.str) { + console.warn('Out of sync'); + const self = this; + const view = this.view; + this.visibleValue = visibleValue; + + //rematch all + this.args = matchArguments(visibleValue.str, /\(\*,\*\)/gm); + + //console.log(visibleValue); + + console.log('recreating InstanceWidget'); + + let topState, bottomState; + + topState = compactCMEditor$6.state({ + doc: self.args[0].body.slice(2,-1), + update: (upd) => self.applyChanges(upd, 0), + eval: () => { + view.viewState.state.config.eval(); + }, + extensions: [ + keymap.of([ + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + //const range = self.placeholder.placeholder.placeholder; + console.log(self.visibleValue.pos); + //if (self.visibleValue.pos == 0) return; + + view.dispatch({selection: {anchor: self.visibleValue.pos}}); + view.focus(); + editor.editorLastCursor = undefined; + return; + } else { + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } + + } }, + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + self.bottomEditor.dispatch({selection: {anchor: 0}}); + self.bottomEditor.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowDown", run: function (editor, key) { + self.bottomEditor.focus(); + editor.editorLastCursor = undefined; + } } + ]) + ] + }); + + bottomState = compactCMEditor$6.state({ + doc: self.args[2].body.slice(1,-2), + + update: (upd) => self.applyChanges(upd, 2), + eval: () => { + self.view.viewState.state.config.eval(); + }, + extensions: [ + keymap.of([ + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + //const range = self.placeholder.placeholder.placeholder; + self.topEditor.dispatch({selection: {anchor: self.topEditor.state.doc.length}}); + self.topEditor.focus(); + editor.editorLastCursor = undefined; + return; + } else { + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } + + } }, + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + + view.dispatch({selection: {anchor: self.visibleValue.pos + self.visibleValue.length}}); + view.focus(); + + + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowUp", run: function (editor, key) { + self.topEditor.focus(); + editor.editorLastCursor = undefined; + } } + ]) + ] + }); + + this.topEditor.setState(topState); + this.bottomEditor.setState(bottomState); + + console.log(self); + + self.args[0].length = self.args[0].body.length; + self.args[2].length = self.args[2].body.length; + + return; + } + + this.visibleValue.pos = visibleValue.pos; this.placeholder = placeholder; this.visibleValue.argsPos = visibleValue.argsPos; @@ -63052,6 +30127,7 @@ var compactCMEditor$5; this.view = view; this.visibleValue = visibleValue; const self = this; + this.sliceRanges = sliceRanges; this.length = visibleValue.str.length; @@ -63117,6 +30193,7 @@ var compactCMEditor$5; const delta = (data.length + 6) - this.length; this.length = this.length + delta; this.visibleValue.length = this.visibleValue.length + delta; + this.visibleValue.str = "Sqrt["+data+"]"; //save internally this.view.dispatch({changes: changes}); } @@ -63124,6 +30201,56 @@ var compactCMEditor$5; update(visibleValue) { //console.log('Update instance: new ranges & arguments'); + if (this.visibleValue.str != visibleValue.str) { + console.warn('Out of sync'); + + //if changes occured outside the widget + //rebuild an entire thing + + this.visibleValue = visibleValue; + const sliceRanges = this.sliceRanges; + const editor = this.editor; + const self = this; + const view = this.view; + + + this.length = visibleValue.str.length; + + const newState = compactCMEditor$5.state({ + doc: visibleValue.str.slice(...sliceRanges), + update: (upd) => self.applyChanges(upd), + eval: () => { + view.viewState.state.config.eval(); + }, + extensions: [ + keymap.of([ + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + view.dispatch({selection: {anchor: self.visibleValue.pos + self.visibleValue.length}}); + view.focus(); + + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + view.dispatch({selection: {anchor: self.visibleValue.pos}}); + view.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } } + ]) + ] + }); + + editor.setState(newState); + return; + } + this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; //this.visibleValue.args = visibleValue.args; @@ -63234,6 +30361,7 @@ var compactCMEditor$5; update(update) { //console.log('update Deco'); //console.log(this.disposable ); + //console.warn(update); this.placeholder = matcher$6(this.disposable, update).updateDeco( update, this.placeholder @@ -63321,6 +30449,9 @@ let EditorWidget$5 = class EditorWidget { doc: self.args[0].body.slice(10), parent: head, update: (upd) => this.applyChanges(upd, 0), + eval: () => { + view.viewState.state.config.eval(); + }, extensions: [ keymap.of([ { key: "ArrowLeft", run: function (editor, key) { @@ -63354,6 +30485,9 @@ let EditorWidget$5 = class EditorWidget { doc: self.args[2].body.slice(0, -1), parent: sub, update: (upd) => this.applyChanges(upd, 2), + eval: () => { + view.viewState.state.config.eval(); + }, extensions: [ keymap.of([ { key: "ArrowRight", run: function (editor, key) { @@ -63409,6 +30543,16 @@ let EditorWidget$5 = class EditorWidget { const data = 'Subscript['+update; const changes = {from: relative + args[0].from, to: relative + args[0].from + args[0].length, insert: data}; + //console.error('Before'); + //console.warn(this.visibleValue.str); + //console.warn(changes); + + + //update imprint string + this.visibleValue.str = this.visibleValue.str.substring(0, args[0].from).concat(data, this.visibleValue.str.substring(args[0].from + args[0].length)); + + //console.warn(this.visibleValue.str) + //shift other positions args[0].to = args[0].to + (data.length - args[0].length); args[2].from = args[2].from + (data.length - args[0].length); @@ -63418,6 +30562,8 @@ let EditorWidget$5 = class EditorWidget { this.visibleValue.length = this.visibleValue.length + delta; + + //console.log(changes); this.view.dispatch({changes: changes}); @@ -63426,6 +30572,10 @@ let EditorWidget$5 = class EditorWidget { const changes = {from: relative + args[2].from, to: relative + args[2].from + args[2].length, insert: data}; + //update imprint string to compare later changes + this.visibleValue.str = this.visibleValue.str.substring(0, args[2].from).concat(data, this.visibleValue.str.substring(args[2].from + args[2].length)); + + //shift other positions args[2].to = args[2].to + (data.length - args[2].length); const delta = data.length - args[2].length; @@ -63442,6 +30592,101 @@ let EditorWidget$5 = class EditorWidget { update(visibleValue) { //console.log('Update instance: new ranges & arguments'); + + + if (this.visibleValue.str != visibleValue.str) { + console.warn('Out of sync'); + const self = this; + const view = this.view; + this.visibleValue = visibleValue; + + //rematch all + this.args = matchArguments(visibleValue.str, /\(\*\|\*\)/gm); + + //console.log(visibleValue); + + console.log('recreating InstanceWidget'); + + let topState, bottomState; + + console.log(self.visibleValue); + + topState = compactCMEditor$4.state({ + doc: self.args[0].body.slice(10), + update: (upd) => self.applyChanges(upd, 0), + extensions: [ + keymap.of([ + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + view.dispatch({selection: {anchor: self.visibleValue.pos }}); + view.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + self.bottomEditor.dispatch({selection:{anchor: 0}}); + self.bottomEditor.focus(); + editor.editorLastCursor = undefined; + + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + + { key: "ArrowDown", run: function (editor, key) { + self.bottomEditor.focus(); + } } + ]) + ] + }); + + bottomState = compactCMEditor$4.state({ + doc: self.args[2].body.slice(0, -1), + update: (upd) => self.applyChanges(upd, 2), + extensions: [ + keymap.of([ + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + view.dispatch({selection: {anchor: self.visibleValue.pos + self.visibleValue.length}}); + view.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + self.topEditor.dispatch({selection:{anchor: self.topEditor.state.doc.length}}); + self.topEditor.focus(); + editor.editorLastCursor = undefined; + return; + } + + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + + { key: "ArrowUp", run: function (editor, key) { + self.topEditor.focus(); + } } + ]) + ] + }); + + //if (focusNext) bottomEditor.focus(); + //focusNext = false; + + this.topEditor.setState(topState); + this.bottomEditor.setState(bottomState); + + self.args[0].length = self.args[0].body.length; + self.args[2].length = self.args[2].body.length; + + return; + } + this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; //this.visibleValue.args = visibleValue.args; @@ -63639,6 +30884,9 @@ var compactCMEditor$3; doc: self.args[0].body.slice(6), parent: head, update: (upd) => this.applyChanges(upd, 0), + eval: () => { + view.viewState.state.config.eval(); + }, extensions: [ keymap.of([ { key: "ArrowLeft", run: function (editor, key) { @@ -63672,6 +30920,9 @@ var compactCMEditor$3; doc: self.args[2].body.slice(0, -1), parent: sub, update: (upd) => this.applyChanges(upd, 2), + eval: () => { + view.viewState.state.config.eval(); + }, extensions: [ keymap.of([ { key: "ArrowRight", run: function (editor, key) { @@ -63726,6 +30977,9 @@ var compactCMEditor$3; //uppder one const data = 'Power['+update; const changes = {from: relative + args[0].from, to: relative + args[0].from + args[0].length, insert: data}; + + //update imprint string + this.visibleValue.str = this.visibleValue.str.substring(0, args[0].from).concat(data, this.visibleValue.str.substring(args[0].from + args[0].length)); //shift other positions args[0].to = args[0].to + (data.length - args[0].length); @@ -63743,6 +30997,10 @@ var compactCMEditor$3; const changes = {from: relative + args[2].from, to: relative + args[2].from + args[2].length, insert: data}; + //update imprint string to compare later changes + this.visibleValue.str = this.visibleValue.str.substring(0, args[2].from).concat(data, this.visibleValue.str.substring(args[2].from + args[2].length)); + + //shift other positions args[2].to = args[2].to + (data.length - args[2].length); const delta = data.length - args[2].length; @@ -63760,6 +31018,97 @@ var compactCMEditor$3; update(visibleValue) { //console.log('Update instance: new ranges & arguments'); + if (this.visibleValue.str != visibleValue.str) { + console.warn('Out of sync'); + const self = this; + const view = this.view; + this.visibleValue = visibleValue; + + //rematch all + this.args = matchArguments(visibleValue.str, /\(\*\|\*\)/gm); + + console.log('recreating InstanceWidget'); + + let topState, bottomState; + + //console.log(self.visibleValue); + + topState = compactCMEditor$3.state({ + doc: self.args[0].body.slice(6), + update: (upd) => self.applyChanges(upd, 0), + extensions: [ + keymap.of([ + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + + view.dispatch({selection: {anchor: self.visibleValue.pos}}); + view.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + self.bottomEditor.dispatch({selection: {anchor: 0}}); + self.bottomEditor.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + + { key: "ArrowUp", run: function (editor, key) { + self.bottomEditor.focus(); + } } + ]) + ] + }); + + bottomState = compactCMEditor$3.state({ + doc: self.args[2].body.slice(0, -1), + update: (upd) => self.applyChanges(upd, 2), + extensions: [ + keymap.of([ + { key: "ArrowRight", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + view.dispatch({selection: {anchor: self.visibleValue.pos + self.visibleValue.length}}); + view.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + { key: "ArrowLeft", run: function (editor, key) { + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + self.topEditor.dispatch({selection: {anchor: self.topEditor.state.doc.length}}); + self.topEditor.focus(); + editor.editorLastCursor = undefined; + return; + } + editor.editorLastCursor = editor.state.selection.ranges[0].to; + } }, + + { key: "ArrowDown", run: function (editor, key) { + self.topEditor.focus(); + } } + ]) + ] + }); + + //if (focusNext) bottomEditor.focus(); + //focusNext = false; + + this.topEditor.setState(topState); + this.bottomEditor.setState(bottomState); + + self.args[0].length = self.args[0].body.length; + self.args[2].length = self.args[2].body.length; + + return; + } + + this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; } @@ -64066,7 +31415,7 @@ var compactCMEditor$2; parent[j].length = text.length; - console.log(changes); + //console.log(changes); //console.log(this.args); this.view.dispatch({changes: changes}); @@ -64075,6 +31424,7 @@ var compactCMEditor$2; update(visibleValue) { //console.log('Update instance: new ranges & arguments'); + console.log('We cant verify if changes were applied from the widget itself!'); this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; //this.visibleValue.args = visibleValue.args; @@ -71461,10 +38811,15 @@ const uuidv4$3 = () => { } let EditorWidget$2 = class EditorWidget { - + constructor(visibleValue, view, span, ref) { + return this._construct(visibleValue, view, span, ref); + } + + _construct(visibleValue, view, span, ref) { this.view = view; this.visibleValue = visibleValue; + this.span = span; this.args = matchArguments(visibleValue.str, /\(\*,\*\)/gm); @@ -71521,6 +38876,7 @@ const uuidv4$3 = () => { const data = '('+update+')'; const changes = {from: relative + args[0].from, to: relative + args[0].from + args[0].length, insert: data}; + this.visibleValue.str = this.visibleValue.str.substring(0, args[0].from).concat(data, this.visibleValue.str.substring(args[0].from + args[0].length)); args[0].length = data.length; @@ -71546,6 +38902,22 @@ const uuidv4$3 = () => { update(visibleValue) { if (this.deactivated) return; //console.log('Update instance: new ranges & arguments'); + + if (visibleValue.str != this.visibleValue.str) { + console.warn('Out of sync'); + + console.log('recreate...'); + + this.destroy(); + + const span = this.span; + + span.replaceChildren(); + + this._construct(visibleValue, this.view, span); + + return; + } this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; @@ -71687,7 +39059,12 @@ function BoxBoxWidget(viewEditor) { let EditorWidget$1 = class EditorWidget { constructor(visibleValue, view, span, ref) { + return this._construct(visibleValue, view, span, ref); + } + + _construct(visibleValue, view, span, ref) { this.view = view; + this.span = span; this.visibleValue = visibleValue; this.args = matchArguments(visibleValue.str, /\(\*,\*\)/gm); @@ -71756,6 +39133,7 @@ let EditorWidget$1 = class EditorWidget { } }; const aa = document.createElement('span'); + this.aa; aa.onkeydown = function(e) { // User hits enter key and is not holding shift if (e.keyCode === 13) { @@ -71833,16 +39211,34 @@ let EditorWidget$1 = class EditorWidget { const data = '('+this.prolog.string+update+this.epilog.string+')'; const changes = {from: relative + args[0].from, to: relative + args[0].from + args[0].length, insert: data}; + //update imprint + this.visibleValue.str = this.visibleValue.str.substring(0, args[0].from).concat(data, this.visibleValue.str.substring(args[0].from + args[0].length)); + const delta = data.length - args[0].length; args[0].length = data.length; this.visibleValue.length = this.visibleValue.length + delta; - this.view.dispatch({changes: changes}); } update(visibleValue) { //console.log('Update instance: new ranges & arguments'); + + if (this.visibleValue.str != visibleValue.str) { + console.warn('Out of sync'); + console.log('recreating InstanceWidget'); + + this.destroy(); + + //HARD RESET + this.span.replaceChildren(); + + this._construct(visibleValue, this.view, this.span); + + + return; + } + this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; } @@ -72003,6 +39399,10 @@ function TemplateBoxWidget(viewEditor) { class EditorWidget { constructor(visibleValue, view, span, ref) { + return this._construct(visibleValue, view, span, ref) + } + + _construct(visibleValue, view, span, ref) { this.view = view; this.visibleValue = visibleValue; @@ -72021,6 +39421,10 @@ class EditorWidget { self.indexes = indexes; const spans = []; + + this.span = span; + this.spans = spans; + for (let i=0; i compactCMEditor({ doc: self.args[index].body, parent: spans[i], @@ -72101,10 +39503,13 @@ class EditorWidget { const args = this.args; const relative = this.visibleValue.argsPos; - console.log(args); + //console.log(args); const changes = {from: relative + args[index].from, to:relative + args[index].from + args[index].length, insert: update}; + //update imprint + this.visibleValue.str = this.visibleValue.str.substring(0, args[index].from).concat(update, this.visibleValue.str.substring(args[index].from + args[index].length)); + const delta = update.length - args[index].length; args[index].length = update.length; for (let i = index + 1; i < args.length; ++i) @@ -72116,6 +39521,21 @@ class EditorWidget { update(visibleValue) { //console.log('Update instance: new ranges & arguments'); + + if (this.visibleValue.str != visibleValue.str) { + console.warn('Out of sync'); + this.view; + this.visibleValue = visibleValue; + + + + this.destroy(); + + this.span.replaceChildren(); + + this._construct(visibleValue, this.view, this.span); + } + this.visibleValue.pos = visibleValue.pos; this.visibleValue.argsPos = visibleValue.argsPos; } @@ -72410,8 +39830,6 @@ const readWriteCompartment = new Compartment; const extras = []; -if (!window.EditorGlobalExtensions) window.EditorGlobalExtensions = []; - /// A default highlight style (works well with light themes). const defaultHighlightStyle = HighlightStyle.define([ {tag: tags$1.meta, @@ -72457,10 +39875,15 @@ const defaultHighlightStyle = HighlightStyle.define([ -window.EditorAutocomplete = defaultFunctions; +const EditorAutocomplete = {data: []}; EditorAutocomplete.extend = (list) => { - window.EditorAutocomplete.push(...list); - wolframLanguage.reBuild(window.EditorAutocomplete); + EditorAutocomplete.data.push(...list); + wolframLanguage.reBuild(EditorAutocomplete.data); +}; + +EditorAutocomplete.replaceAll = (list) => { + EditorAutocomplete.data = list; + wolframLanguage.reBuild(EditorAutocomplete.data); }; const unknownLanguage = StreamLanguage.define(spreadsheet); @@ -72493,6 +39916,9 @@ function checkDocType(str) { return {plugins: unknownLanguage, name: 'spreadsheet', legacy: true}; } + +const legacyLangNameFacet = Facet.define(); + const autoLanguage = EditorState.transactionExtender.of(tr => { if (!tr.docChanged) return null let docType = checkDocType(tr.newDoc.line(1).text); @@ -72501,8 +39927,15 @@ const autoLanguage = EditorState.transactionExtender.of(tr => { //hard to distinguish... - if (tr.startState.facet(language).name == docType.name) return null; + const la = tr.startState.facet(language); + if (!la) { + if (tr.startState.facet(legacyLangNameFacet) == docType.name) return null; + } else { + if (la.name == docType.name) return null; + } + console.log('switching... to '+docType.name); + //if (docType.prolog) docType.prolog(tr); return { effects: languageConf.reconfigure(docType.plugins) } @@ -72513,6 +39946,7 @@ const autoLanguage = EditorState.transactionExtender.of(tr => { if (docType.name === tr.startState.facet(language).name) return null; console.log('switching... to '+docType.name); + //if (docType.prolog) docType.prolog(tr); return { effects: languageConf.reconfigure(docType.plugins) } @@ -72622,7 +40056,7 @@ compactWLEditor = (args) => { args.extensions || [], minimalSetup, editorCustomThemeCompact, - wolframLanguage.of(window.EditorAutocomplete), + wolframLanguage.of(EditorAutocomplete), FractionBoxWidget(compactWLEditor), SqrtBoxWidget(compactWLEditor), SubscriptBoxWidget(compactWLEditor), @@ -72654,6 +40088,56 @@ compactWLEditor = (args) => { return editor; }; +compactWLEditor.state = (args) => { + let state = EditorState.create({ + doc: args.doc, + extensions: [ + keymap.of([ + { key: "Enter", preventDefault: true, run: function (editor, key) { + return true; + } } + ]), + keymap.of([ + { key: "Shift-Enter", preventDefault: true, run: function (editor, key) { + args.eval(); + return true; + } } + ]), + args.extensions || [], + minimalSetup, + editorCustomThemeCompact, + wolframLanguage.of(EditorAutocomplete), + FractionBoxWidget(compactWLEditor), + SqrtBoxWidget(compactWLEditor), + SubscriptBoxWidget(compactWLEditor), + SupscriptBoxWidget(compactWLEditor), + GridBoxWidget(compactWLEditor), + ViewBoxWidget(), + BoxBoxWidget(compactWLEditor), + TemplateBoxWidget(compactWLEditor), + bracketMatching(), + //rainbowBrackets(), + Greekholder, + extras, + + EditorView.updateListener.of((v) => { + if (v.docChanged) { + args.update(v.state.doc.toString()); + } + if (v.selectionSet) { + //console.log('selected editor:'); + //console.log(v.view); + selectedEditor = v.view; + } + }) + ] + }); + + + state.config.eval = args.eval; + return state; +}; + const wlDrop = { transaction: (ev, view, id, length) => { console.log(view.dom.ocellref); @@ -72688,11 +40172,10 @@ const wlPaste = { } }; -window.DropPasteHandlers = DropPasteHandlers; const mathematicaPlugins = [ - wolframLanguage.of(window.EditorAutocomplete), + wolframLanguage.of(EditorAutocomplete), FractionBoxWidget(compactWLEditor), SqrtBoxWidget(compactWLEditor), SubscriptBoxWidget(compactWLEditor), @@ -72783,9 +40266,7 @@ let editorCustomThemeCompact = EditorView.theme({ let globalCMFocus = false; -if (!window.EditorEpilog) window.EditorEpilog = []; - -window.EditorExtensionsMinimal = [ +const EditorExtensionsMinimal = [ () => highlightSpecialChars(), () => history(), () => drawSelection(), @@ -72799,17 +40280,18 @@ window.EditorExtensionsMinimal = [ () => highlightSelectionMatches() ]; -window.EditorParameters = { +const EditorParameters = { }; -window.EditorExtensions = [ +const EditorExtensions = [ () => highlightSpecialChars(), () => history(), () => drawSelection(), () => dropCursor(), + (self) => originFacet.of(self), () => { - if (window.EditorParameters["gutter"]) + if (EditorParameters["gutter"]) return lineNumbers(); return []; @@ -72823,11 +40305,15 @@ window.EditorExtensions = [ () => syntaxHighlighting(defaultHighlightStyle, { fallback: false }), () => highlightSelectionMatches(), () => cellTypesHighlight, - () => placeholder$8('Type Wolfram Expression / .md / .html / .js'), + () => placeholder$8('Type WL Expression / .md / .js'), + + () => EditorState.allowMultipleSelections.of(true), (self, initialLang) => languageConf.of(initialLang), () => readWriteCompartment.of(EditorState.readOnly.of(false)), () => autoLanguage, + + () => search(), (self, initialLang) => keymap.of([indentWithTab, { key: "Backspace", run: function (editor, key) { @@ -72842,16 +40328,24 @@ window.EditorExtensions = [ { key: "ArrowUp", run: function (editor, key) { //console.log('arrowup'); //console.log(editor.state.selection.ranges[0]); - if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) - self.origin.focusPrev(self.origin); + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + console.log('focus prev'); + self.origin.focusPrev(); + editor.editorLastCursor = undefined; + return; + } editor.editorLastCursor = editor.state.selection.ranges[0].to; } }, { key: "ArrowDown", run: function (editor, key) { - //console.log('arrowdown'); + //console.log(editor.state.selection.ranges[0]); - if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) - self.origin.focusNext(self.origin); + if (editor?.editorLastCursor === editor.state.selection.ranges[0].to) { + console.log('focus next'); + self.origin.focusNext(); + editor.editorLastCursor = undefined; + return; + } editor.editorLastCursor = editor.state.selection.ranges[0].to; } }, @@ -72859,13 +40353,13 @@ window.EditorExtensions = [ console.log(editor.state.doc.toString()); self.origin.eval(editor.state.doc.toString()); } } - , ...defaultKeymap, ...historyKeymap + , ...defaultKeymap, ...historyKeymap, ...searchKeymap ]), (self, initialLang) => EditorView.updateListener.of((v) => { if (v.docChanged) { //TODO: TOO SLOW FIXME!!! - self.origin.save(v.state.doc.toString().replaceAll('\\\\', '\\\\\\\\').replaceAll('\\\"', '\\\\\"').replaceAll('\"', '\\"')); + self.origin.save(encodeURIComponent(v.state.doc.toString())); } if (v.selectionSet) { //console.log('selected editor:'); @@ -72884,6 +40378,9 @@ function unicodeToChar(text) { }); } +const originFacet = Facet.define(); + + class CodeMirrorCell { origin = {} editor = {} @@ -72893,19 +40390,30 @@ class CodeMirrorCell { globalCMFocus = true; } + focus(dir) { + if (dir > 0) { + this.editor.dispatch({selection: {anchor: 0}}); + } else if (dir < 0) { + this.editor.dispatch({selection: {anchor: this.editor.state.doc.length}}); + } + + this.editor.focus(); + } + setContent (data) { console.warn('content mutation!'); if (!this.editor.viewState) return; - //FIXME: NO CLEAN UP + const editor = this.editor; console.log('result'); console.log(data); - this.editor.dispatch({ + /*this.editor.dispatch({ changes: { from: 0, to: editor.viewState.state.doc.length , insert: ''} - }); + }); */ //FIXED already + this.editor.dispatch({ changes: { from: 0, @@ -72936,9 +40444,11 @@ class CodeMirrorCell { const self = this; + this.origin.element.ocellref = self; + const editor = new EditorView({ doc: unicodeToChar(data), - extensions: window.EditorExtensions.map((e) => e(self, initialLang)), + extensions: EditorExtensions.map((e) => e(self, initialLang)), parent: this.origin.element }); @@ -72952,8 +40462,6 @@ class CodeMirrorCell { if(globalCMFocus) editor.focus(); globalCMFocus = false; - window.EditorEpilog.forEach((e) => e(self, initialLang)); - return this; @@ -72962,19 +40470,37 @@ class CodeMirrorCell { core.ReadOnly = () => "ReadOnly"; + /* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME */ + /* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME */ + /* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME */ + /* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME */ + function unicodeToChar2(text) { return text.replace(/\\\\:[\da-f]{4}/gi, function (match) { return String.fromCharCode(parseInt(match.replace(/\\\\:/g, ''), 16)); - }); + }).replaceAll('\\:F74E', 'I').replace(/\\:[\da-f]{4}/gi, + function (match) { + return String.fromCharCode(parseInt(match.replace(/\\:/g, ''), 16)); + }); } + //I HATE YOU WOLFRAM!!! + //for dynamics core.EditorView = async (args, env) => { //cm6 inline editor (editable or read-only) - const textData = unicodeToChar2(await interpretate(args[0], env)); + + let textData = await interpretate(args[0], env); + + + + textData = unicodeToChar2(textData); + console.log('UNICODE Disaster'); const options = await core._getRules(args, env); + + let evalFunction = () => {}; let updateFunction = () => {}; @@ -73022,7 +40548,7 @@ class CodeMirrorCell { if (!env.local.editor) return; const textData = unicodeToChar2(await interpretate(args[0], env)); console.log('editor view: dispatch'); - if (env.local.forceUpdate) { + if (env.local.forceUpdate && false) { //option was removed since we fixed it env.local.editor.dispatch({ changes: {from: 0, to: env.local.editor.state.doc.length, insert: ''} }); @@ -73046,6 +40572,8 @@ class CodeMirrorCell { } }; + core.EditorView.virtual = true; + core.PreviewCell = (element, data) => { }; @@ -73064,31 +40592,46 @@ class CodeMirrorCell { name: 'mathematica' }); - window.EditorMathematicaPlugins = mathematicaPlugins; window.SupportedCells['codemirror'] = { - view: CodeMirrorCell + view: CodeMirrorCell, + context: { + EditorAutocomplete: EditorAutocomplete, + javascriptLanguage: javascriptLanguage, + javascript: javascript, + markdownLanguage: markdownLanguage, + markdown: markdown, + htmlLanguage: htmlLanguage, + html: html, + cssLanguage: cssLanguage, + css: css, + EditorView: EditorView, + EditorState: EditorState, + highlightSpecialChars: highlightSpecialChars, + syntaxHighlighting: syntaxHighlighting, + defaultHighlightStyle: defaultHighlightStyle, + editorCustomTheme: editorCustomTheme, + foldGutter: foldGutter, + Facet: Facet, + Compartment: Compartment, + mathematicaPlugins: mathematicaPlugins, + legacyLangNameFacet: legacyLangNameFacet, + DropPasteHandlers: DropPasteHandlers, + EditorExtensionsMinimal: EditorExtensionsMinimal, + EditorParameters: EditorParameters, + EditorExtensions: EditorExtensions, + StateField: StateField, + Decoration: Decoration, + ViewPlugin: ViewPlugin, + WidgetType: WidgetType, + originFacet: originFacet, + MatchDecorator: MatchDecorator + } }; - window.javascriptLanguage = javascriptLanguage; - window.javascript = javascript; - window.markdownLanguage = markdownLanguage; - window.markdown = markdown; - window.htmlLanguage = htmlLanguage; - window.html = html; - - window.cssLanguage = cssLanguage; - window.css = css; - - window.EditorView = EditorView; - window.highlightSpecialChars = highlightSpecialChars; - window.EditorState = EditorState; - window.syntaxHighlighting = syntaxHighlighting; - window.defaultHighlightStyle = defaultHighlightStyle; - window.editorCustomTheme = editorCustomTheme; if (window.OfflineMode) - extras.push(window.EditorState.readOnly.of(true)); + extras.push(EditorState.readOnly.of(true)); function uuidv4() { return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c => @@ -73096,6 +40639,38 @@ function uuidv4() { ); } +core.CellView = async (args, env) => { + const opts = await core._getRules(args, env); + + if (!opts.Display) opts.Display = 'codemirror'; + + const data = await interpretate(args[0], env); + + const container = { + element: env.element, + uid: uuidv4() + }; + + if (opts.Style) { + env.element.style = opts.Style; + } + if (opts.Class) { + env.element.classList.add(...(opts.Class.split(' '))); + } + + if (opts.ImageSize) { + if (Array.isArray(opts.ImageSize)) { + env.element.style.width = opts.ImageSize[0] + 'px'; + env.element.style.height = opts.ImageSize[1] + 'px'; + } else { + env.element.style.width = opts.ImageSize + 'px'; + } + } + + + new window.SupportedCells[opts.Display].view(container, data); +}; + const editorHashMap = {}; core.FrontEditorSelected = async (args, env) => { diff --git a/dist/kernel.min.js b/dist/kernel.min.js index 39557f0..8ff3de1 100644 --- a/dist/kernel.min.js +++ b/dist/kernel.min.js @@ -1 +1 @@ -class e{constructor(){}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,o){let n=[];return this.decompose(0,e,n,2),o.length&&o.decompose(0,o.length,n,3),this.decompose(t,this.length,n,1),i.from(n,this.length-(t-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let o=[];return this.decompose(e,t,o,0),i.from(o,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),i=this.length-this.scanIdentical(e,-1),o=new a(this),n=new a(e);for(let e=t,a=t;;){if(o.next(e),n.next(e),e=0,o.lineBreak!=n.lineBreak||o.done!=n.done||o.value!=n.value)return!1;if(a+=o.value.length,o.done||a>=i)return!0}}iter(e=1){return new a(this,e)}iterRange(e,t=this.length){return new r(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);let o=this.line(e).from;i=this.iterRange(o,Math.max(o,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new s(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(o){if(0==o.length)throw new RangeError("A document must have at least one line");return 1!=o.length||o[0]?o.length<=32?new t(o):i.from(t.split(o,[])):e.empty}}class t extends e{constructor(e,t=function(e){let t=-1;for(let i of e)t+=i.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,o){for(let n=0;;n++){let a=this.text[n],r=o+a.length;if((t?i:r)>=e)return new l(o,r,i,a);o=r+1,i++}}decompose(e,i,a,r){let s=e<=0&&i>=this.length?this:new t(n(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(1&r){let e=a.pop(),i=o(s.text,e.text.slice(),0,s.length);if(i.length<=32)a.push(new t(i,e.length+s.length));else{let e=i.length>>1;a.push(new t(i.slice(0,e)),new t(i.slice(e)))}}else a.push(s)}replace(e,a,r){if(!(r instanceof t))return super.replace(e,a,r);let s=o(this.text,o(r.text,n(this.text,0,e)),a),l=this.length+r.length-(a-e);return s.length<=32?new t(s,l):i.from(t.split(s,[]),l)}sliceString(e,t=this.length,i="\n"){let o="";for(let n=0,a=0;n<=t&&ae&&a&&(o+=i),en&&(o+=r.slice(Math.max(0,e-n),t-n)),n=s+1}return o}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,i){let o=[],n=-1;for(let a of e)o.push(a),n+=a.length+1,32==o.length&&(i.push(new t(o,n)),o=[],n=-1);return n>-1&&i.push(new t(o,n)),i}}class i extends e{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,i,o){for(let n=0;;n++){let a=this.children[n],r=o+a.length,s=i+a.lines-1;if((t?s:r)>=e)return a.lineInner(e,t,i,o);o=r+1,i=s+1}}decompose(e,t,i,o){for(let n=0,a=0;a<=t&&n=a){let n=o&((a<=e?1:0)|(s>=t?2:0));a>=e&&s<=t&&!n?i.push(r):r.decompose(e-a,t-a,i,n)}a=s+1}}replace(e,t,o){if(o.lines=a&&t<=s){let l=r.replace(e-a,t-a,o),p=this.lines-r.lines+l.lines;if(l.lines

>4&&l.lines>p>>6){let a=this.children.slice();return a[n]=l,new i(a,this.length-(t-e)+o.length)}return super.replace(a,s,l)}a=s+1}return super.replace(e,t,o)}sliceString(e,t=this.length,i="\n"){let o="";for(let n=0,a=0;ne&&n&&(o+=i),ea&&(o+=r.sliceString(e-a,t-a,i)),a=s+1}return o}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let o=0,[n,a,r,s]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,a+=t){if(n==r||a==s)return o;let i=this.children[n],l=e.children[a];if(i!=l)return o+i.scanIdentical(l,t);o+=i.length+1}}static from(e,o=e.reduce(((e,t)=>e+t.length+1),-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let i=[];for(let t of e)t.flatten(i);return new t(i,o)}let a=Math.max(32,n>>5),r=a<<1,s=a>>1,l=[],p=0,d=-1,c=[];function h(e){let o;if(e.lines>r&&e instanceof i)for(let t of e.children)h(t);else e.lines>s&&(p>s||!p)?(f(),l.push(e)):e instanceof t&&p&&(o=c[c.length-1])instanceof t&&e.lines+o.lines<=32?(p+=e.lines,d+=e.length+1,c[c.length-1]=new t(o.text.concat(e.text),o.length+1+e.length)):(p+e.lines>a&&f(),p+=e.lines,d+=e.length+1,c.push(e))}function f(){0!=p&&(l.push(1==c.length?c[0]:i.from(c,d)),d=-1,p=c.length=0)}for(let t of e)h(t);return f(),1==l.length?l[0]:new i(l,o)}}function o(e,t,i=0,o=1e9){for(let n=0,a=0,r=!0;a=i&&(l>o&&(s=s.slice(0,o-n)),n0?1:(e instanceof t?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,n=this.nodes[o],a=this.offsets[o],r=a>>1,s=n instanceof t?n.text.length:n.children.length;if(r==(i>0?s:0)){if(0==o)return this.done=!0,this.value="",this;i>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&a)==(i>0?0:1)){if(this.offsets[o]+=i,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(n instanceof t){let t=n.text[r+(i<0?-1:0)];if(this.offsets[o]+=i,t.length>Math.max(0,e))return this.value=0==e?t:i>0?t.slice(e):t.slice(0,t.length-e),this;e-=t.length}else{let a=n.children[r+(i<0?-1:0)];e>a.length?(e-=a.length,this.offsets[o]+=i):(i<0&&this.offsets[o]--,this.nodes.push(a),this.offsets.push(i>0?1:(a instanceof t?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class r{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new a(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}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 i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:o}=this.cursor.next(e);return this.pos+=(o.length+e)*t,this.value=o.length<=i?o:t<0?o.slice(o.length-i):o.slice(0,i),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}}class s{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:o}=this.inner.next(e);return t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(e.prototype[Symbol.iterator]=function(){return this.iter()},a.prototype[Symbol.iterator]=r.prototype[Symbol.iterator]=s.prototype[Symbol.iterator]=function(){return this});let l=class{constructor(e,t,i,o){this.from=e,this.to=t,this.number=i,this.text=o}get length(){return this.to-this.from}},p="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=1;ee)return p[t-1]<=e;return!1}function c(e){return e>=127462&&e<=127487}const h=8205;function f(e,t,i=!0,o=!0){return(i?y:u)(e,t,o)}function y(e,t,i){if(t==e.length)return t;t&&m(e.charCodeAt(t))&&g(e.charCodeAt(t-1))&&t--;let o=b(e,t);for(t+=k(o);t=0&&c(b(e,o));)i++,o-=2;if(i%2==0)break;t+=2}}}return t}function u(e,t,i){for(;t>0;){let o=y(e,t-2,i);if(o=56320&&e<57344}function g(e){return e>=55296&&e<56320}function b(e,t){let i=e.charCodeAt(t);if(!g(i)||t+1==e.length)return i;let o=e.charCodeAt(t+1);return m(o)?o-56320+(i-55296<<10)+65536:i}function w(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function k(e){return e<65536?1:2}const v=/\r\n?|\n/;var O=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(O||(O={}));class x{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return n+(e-o);n+=r}else{if(i!=O.Simple&&l>=e&&(i==O.TrackDel&&oe||i==O.TrackBefore&&oe))return null;if(l>e||l==e&&t<0&&!r)return e==o||t<0?n:n+s;n+=s}o=l}if(e>o)throw new RangeError(`Position ${e} is out of range for changeset of length ${o}`);return n}touchesRange(e,t=e){for(let i=0,o=0;i=0&&o<=t&&n>=e)return!(ot)||"cover";o=n}return!1}toString(){let e="";for(let t=0;t=0?":"+o:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some((e=>"number"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(e)}static create(e){return new x(e)}}class S extends x{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 D(this,((t,i,o,n,a)=>e=e.replace(o,o+(i-t),a)),!1),e}mapDesc(e,t=!1){return T(this,e,t,!0)}invert(t){let i=this.sections.slice(),o=[];for(let n=0,a=0;n=0){i[n]=s,i[n+1]=r;let l=n>>1;for(;o.length0&&P(i,t,n.text),n.forward(e),r+=e}let l=e[a++];for(;r>1].toJSON()))}return e}static of(t,i,o){let n=[],a=[],r=0,s=null;function l(e=!1){if(!e&&!n.length)return;rs||t<0||s>i)throw new RangeError(`Invalid change range ${t} to ${s} (in doc of length ${i})`);let c=d?"string"==typeof d?e.of(d.split(o||v)):d:e.empty,h=c.length;if(t==s&&0==h)return;tr&&C(n,t-r,-1),C(n,s-t,h),P(a,n,c),r=s}}(t),l(!s),s}static empty(e){return new S(e?[e,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],o=[];for(let n=0;nt&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==a.length)i.push(a[0],0);else{for(;o.length=0&&i<=0&&i==e[n+1]?e[n]+=t:0==t&&0==e[n]?e[n+1]+=i:o?(e[n]+=t,e[n+1]+=i):e.push(t,i)}function P(t,i,o){if(0==o.length)return;let n=i.length-2>>1;if(n>1])),!(o||s==t.sections.length||t.sections[s+1]<0);)l=t.sections[s++],p=t.sections[s++];i(a,d,r,c,h),a=d,r=c}}}function T(e,t,i,o=!1){let n=[],a=o?[]:null,r=new R(e),s=new R(t);for(let e=-1;;)if(-1==r.ins&&-1==s.ins){let e=Math.min(r.len,s.len);C(n,e,-1),r.forward(e),s.forward(e)}else if(s.ins>=0&&(r.ins<0||e==r.i||0==r.off&&(s.len=0&&e=0)){if(r.done&&s.done)return a?S.createSet(n,a):x.create(n);throw new Error("Mismatched change set lengths")}{let t=0,i=r.len;for(;i;)if(-1==s.ins){let e=Math.min(i,s.len);t+=e,i-=e,s.forward(e)}else{if(!(0==s.ins&&s.lent||r.ins>=0&&r.len>t)&&(e||o.length>i),a.forward2(t),r.forward(t)}}else C(o,0,r.ins,e),n&&P(n,o,r.text),r.next()}}class R{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return i>=t.length?e.empty:t[i]}textBit(t){let{inserted:i}=this.set,o=this.i-2>>1;return o>=i.length&&!t?e.empty:i[o].slice(this.off,null==t?void 0:this.off+t)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class A{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){let e=3&this.flags;return 3==e?null:e}get goalColumn(){let e=this.flags>>5;return 33554431==e?void 0:e}map(e,t=-1){let i,o;return this.empty?i=o=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),o=e.mapPos(this.to,-1)),i==this.from&&o==this.to?this:new A(i,o,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return M.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return M.range(this.anchor,i)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return M.range(e.anchor,e.head)}static create(e,t,i){return new A(e,t,i)}}class M{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:M.create(this.ranges.map((i=>i.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;te.toJSON())),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new M(e.ranges.map((e=>A.fromJSON(e))),e.main)}static single(e,t=e){return new M([M.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let i=0,o=0;oe?4:0)|n)}static normalized(e,t=0){let i=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(i);for(let i=1;io.head?M.range(r,a):M.range(a,r))}}return new M(e,t)}}function E(e,t){for(let i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let F=0;class L{constructor(e,t,i,o,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=o,this.id=F++,this.default=e([]),this.extensions="function"==typeof n?n(this):n}static define(e={}){return new L(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:B),!!e.static,e.enables)}of(e){return new I([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new I(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new I(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(i=>t(i.field(e))))}}function B(e,t){return e==t||e.length==t.length&&e.every(((e,i)=>e===t[i]))}class I{constructor(e,t,i,o){this.dependencies=e,this.facet=t,this.type=i,this.value=o,this.id=F++}dynamicSlot(e){var t;let i=this.value,o=this.facet.compareInput,n=this.id,a=e[n]>>1,r=2==this.type,s=!1,l=!1,p=[];for(let i of this.dependencies)"doc"==i?s=!0:"selection"==i?l=!0:0==(1&(null!==(t=e[i.id])&&void 0!==t?t:1))&&p.push(e[i.id]);return{create:e=>(e.values[a]=i(e),1),update(e,t){if(s&&t.docChanged||l&&(t.docChanged||t.selection)||$(e,p)){let t=i(e);if(r?!G(t,e.values[a],o):!o(t,e.values[a]))return e.values[a]=t,1}return 0},reconfigure:(e,t)=>{let s,l=t.config.address[n];if(null!=l){let n=ee(t,l);if(this.dependencies.every((i=>i instanceof L?t.facet(i)===e.facet(i):!(i instanceof N)||t.field(i,!1)==e.field(i,!1)))||(r?G(s=i(e),n,o):o(s=i(e),n)))return e.values[a]=n,0}else s=i(e);return e.values[a]=s,1}}}}function G(e,t,i){if(e.length!=t.length)return!1;for(let o=0;oe[t.id])),n=i.map((e=>e.type)),a=o.filter((e=>!(1&e))),r=e[t.id]>>1;function s(e){let i=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(V).find((e=>e.field==this));return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let o=e.values[t],n=this.updateF(o,i);return this.compareF(o,n)?0:(e.values[t]=n,1)},reconfigure:(e,i)=>null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,V.of({field:this,create:e})]}get extension(){return this}}const W=4,q=3,j=2,_=1;function X(e){return t=>new U(t,e)}const Z={highest:X(0),high:X(_),default:X(j),low:X(q),lowest:X(W)};class U{constructor(e,t){this.inner=e,this.prec=t}}class H{of(e){return new Y(this,e)}reconfigure(e){return H.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Y{constructor(e,t){this.compartment=e,this.inner=t}}class K{constructor(e,t,i,o,n,a){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=o,this.staticValues=n,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let o=[],n=Object.create(null),a=new Map;for(let i of function(e,t,i){let o=[[],[],[],[],[]],n=new Map;function a(e,r){let s=n.get(e);if(null!=s){if(s<=r)return;let t=o[s].indexOf(e);t>-1&&o[s].splice(t,1),e instanceof Y&&i.delete(e.compartment)}if(n.set(e,r),Array.isArray(e))for(let t of e)a(t,r);else if(e instanceof Y){if(i.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let o=t.get(e.compartment)||e.inner;i.set(e.compartment,o),a(o,r)}else if(e instanceof U)a(e.inner,e.prec);else if(e instanceof N)o[r].push(e),e.provides&&a(e.provides,r);else if(e instanceof I)o[r].push(e),e.facet.extensions&&a(e.facet.extensions,j);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,r)}}return a(e,j),o.reduce(((e,t)=>e.concat(t)))}(e,t,a))i instanceof N?o.push(i):(n[i.facet.id]||(n[i.facet.id]=[])).push(i);let r=Object.create(null),s=[],l=[];for(let e of o)r[e.id]=l.length<<1,l.push((t=>e.slot(t)));let p=null==i?void 0:i.config.facets;for(let e in n){let t=n[e],o=t[0].facet,a=p&&p[e]||[];if(t.every((e=>0==e.type)))if(r[o.id]=s.length<<1|1,B(a,t))s.push(i.facet(o));else{let e=o.combine(t.map((e=>e.value)));s.push(i&&o.compare(e,i.facet(o))?i.facet(o):e)}else{for(let e of t)0==e.type?(r[e.id]=s.length<<1|1,s.push(e.value)):(r[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));r[o.id]=l.length<<1,l.push((e=>z(e,o,t)))}}let d=l.map((e=>e(r)));return new K(e,a,d,r,s,n)}}function J(e,t){if(1&t)return 2;let i=t>>1,o=e.status[i];if(4==o)throw new Error("Cyclic dependency between fields and/or facets");if(2&o)return o;e.status[i]=4;let n=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|n}function ee(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const te=L.define(),ie=L.define({combine:e=>e.some((e=>e)),static:!0}),oe=L.define({combine:e=>e.length?e[0]:void 0,static:!0}),ne=L.define(),ae=L.define(),re=L.define(),se=L.define({combine:e=>!!e.length&&e[0]});class le{constructor(e,t){this.type=e,this.value=t}static define(){return new pe}}class pe{of(e){return new le(this,e)}}class de{constructor(e){this.map=e}of(e){return new ce(this,e)}}class ce{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ce(this.type,t)}is(e){return this.type==e}static define(e={}){return new de(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let o of e){let e=o.map(t);e&&i.push(e)}return i}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class he{constructor(e,t,i,o,n,a){this.startState=e,this.changes=t,this.selection=i,this.effects=o,this.annotations=n,this.scrollIntoView=a,this._doc=null,this._state=null,i&&E(i,t.newLength),n.some((e=>e.type==he.time))||(this.annotations=n.concat(he.time.of(Date.now())))}static create(e,t,i,o,n,a){return new he(e,t,i,o,n,a)}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(he.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function fe(e,t){let i=[];for(let o=0,n=0;;){let a,r;if(o=e[o]))a=e[o++],r=e[o++];else{if(!(n=0;n--){let a=i[n](e);a&&Object.keys(a).length&&(o=ye(o,ue(t,a,e.changes.newLength),!0))}return o==e?e:he.create(t,e.changes,e.selection,o.effects,o.annotations,o.scrollIntoView)}(i?function(e){let t=e.startState,i=!0;for(let o of t.facet(ne)){let t=o(e);if(!1===t){i=!1;break}Array.isArray(t)&&(i=!0===i?t:fe(i,t))}if(!0!==i){let o,n;if(!1===i)n=e.changes.invertedDesc,o=S.empty(t.doc.length);else{let t=e.changes.filter(i);o=t.changes,n=t.filtered.mapDesc(t.changes).invertedDesc}e=he.create(t,o,e.selection&&e.selection.map(n),ce.mapEffects(e.effects,n),e.annotations,e.scrollIntoView)}let o=t.facet(ae);for(let i=o.length-1;i>=0;i--){let n=o[i](e);e=n instanceof he?n:Array.isArray(n)&&1==n.length&&n[0]instanceof he?n[0]:me(t,be(n),!1)}return e}(n):n)}he.time=le.define(),he.userEvent=le.define(),he.addToHistory=le.define(),he.remote=le.define();const ge=[];function be(e){return null==e?ge:Array.isArray(e)?e:[e]}var we=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(we||(we={}));const ke=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ve;try{ve=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function Oe(e){return t=>{if(!/\S/.test(t))return we.Space;if(function(e){if(ve)return ve.test(e);for(let t=0;t"€"&&(i.toUpperCase()!=i.toLowerCase()||ke.test(i)))return!0}return!1}(t))return we.Word;for(let i=0;i-1)return we.Word;return we.Other}}class xe{constructor(e,t,i,o,n,a){this.config=e,this.doc=t,this.selection=i,this.values=o,this.status=e.statusTemplate.slice(),this.computeSlot=n,a&&(a._state=this);for(let e=0;en.set(t,e))),i=null),n.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(i=null,o=t.value):t.is(ce.appendConfig)&&(i=null,o=be(o).concat(t.value));if(i)t=e.startState.values.slice();else{i=K.resolve(o,n,this),t=new xe(i,this.doc,this.selection,i.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values}new xe(i,e.newDoc,e.newSelection,t,((t,i)=>i.update(t,e)),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:M.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),o=this.changes(i.changes),n=[i.range],a=be(i.effects);for(let i=1;in.spec.fromJSON(a,e))))}return xe.create({doc:e.doc,selection:M.fromJSON(e.selection),extensions:t.extensions?o.concat([t.extensions]):o})}static create(t={}){let i=K.resolve(t.extensions||[],new Map),o=t.doc instanceof e?t.doc:e.of((t.doc||"").split(i.staticFacet(xe.lineSeparator)||v)),n=t.selection?t.selection instanceof M?t.selection:M.single(t.selection.anchor,t.selection.head):M.single(0);return E(n,o.length),i.staticFacet(ie)||(n=n.asSingle()),new xe(i,o,n,i.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(xe.tabSize)}get lineBreak(){return this.facet(xe.lineSeparator)||"\n"}get readOnly(){return this.facet(se)}phrase(e,...t){for(let t of this.facet(xe.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,i)=>{if("$"==i)return"$";let o=+(i||1);return!o||o>t.length?e:t[o-1]}))),e}languageDataAt(e,t,i=-1){let o=[];for(let n of this.facet(te))for(let a of n(this,t,i))Object.prototype.hasOwnProperty.call(a,e)&&o.push(a[e]);return o}charCategorizer(e){return Oe(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:o}=this.doc.lineAt(e),n=this.charCategorizer(e),a=e-i,r=e-i;for(;a>0;){let e=f(t,a,!1);if(n(t.slice(e,a))!=we.Word)break;a=e}for(;re.length?e[0]:4}),xe.lineSeparator=oe,xe.readOnly=se,xe.phrases=L.define({compare(e,t){let i=Object.keys(e),o=Object.keys(t);return i.length==o.length&&i.every((i=>e[i]==t[i]))}}),xe.languageData=te,xe.changeFilter=ne,xe.transactionFilter=ae,xe.transactionExtender=re,H.reconfigure=ce.define();class Ce{eq(e){return this==e}range(e,t=e){return Pe.create(e,t,this)}}Ce.prototype.startSide=Ce.prototype.endSide=0,Ce.prototype.point=!1,Ce.prototype.mapMode=O.TrackDel;let Pe=class e{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(t,i,o){return new e(t,i,o)}};function De(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Te{constructor(e,t,i,o){this.from=e,this.to=t,this.value=i,this.maxPoint=o}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,o=0){let n=i?this.to:this.from;for(let a=o,r=n.length;;){if(a==r)return a;let o=a+r>>1,s=n[o]-e||(i?this.value[o].endSide:this.value[o].startSide)-t;if(o==a)return s>=0?a:r;s>=0?r=o:a=o+1}}between(e,t,i,o){for(let n=this.findIndex(t,-1e9,!0),a=this.findIndex(i,1e9,!1,n);np||l==p&&d.startSide>0&&d.endSide<=0)continue;(p-l||d.endSide-d.startSide)<0||(a<0&&(a=l),d.point&&(r=Math.max(r,p-l)),i.push(d),o.push(l-a),n.push(p-a))}return{mapped:i.length?new Te(o,n,i,r):null,pos:a}}}class Qe{constructor(e,t,i,o){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=o}static create(e,t,i,o){return new Qe(e,t,i,o)}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:i=!1,filterFrom:o=0,filterTo:n=this.length}=e,a=e.filter;if(0==t.length&&!a)return this;if(i&&(t=t.slice().sort(De)),this.isEmpty)return t.length?Qe.of(t):this;let r=new Me(this,null,-1).goto(0),s=0,l=[],p=new Re;for(;r.value||s=0){let e=t[s++];p.addInner(e.from,e.to,e.value)||l.push(e)}else 1==r.rangeIndex&&r.chunkIndexthis.chunkEnd(r.chunkIndex)||nr.to||n=n&&e<=n+a.length&&!1===a.between(n,e-n,t-n,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return Ee.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ee.from(e).goto(t)}static compare(e,t,i,o,n=-1){let a=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n)),r=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n)),s=Ae(a,r,i),l=new Le(a,s,n),p=new Le(r,s,n);i.iterGaps(((e,t,i)=>Be(l,e,p,t,i,o))),i.empty&&0==i.length&&Be(l,0,p,0,0,o)}static eq(e,t,i=0,o){null==o&&(o=999999999);let n=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),a=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(n.length!=a.length)return!1;if(!n.length)return!0;let r=Ae(n,a),s=new Le(n,r,0).goto(i),l=new Le(a,r,0).goto(i);for(;;){if(s.to!=l.to||!Ie(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>o)return!0;s.next(),l.next()}}static spans(e,t,i,o,n=-1){let a=new Le(e,null,n).goto(t),r=t,s=a.openStart;for(;;){let e=Math.min(a.to,i);if(a.point){let i=a.activeForPoint(a.to),n=a.pointFromr&&(o.span(r,e,a.active,s),s=a.openEnd(e));if(a.to>i)return s+(a.point&&a.to>i?1:0);r=a.to,a.next()}}static of(e,t=!1){let i=new Re;for(let o of e instanceof Pe?[e]:t?function(e){if(e.length>1)for(let t=e[0],i=1;i0)return e.slice().sort(De);t=o}return e}(e):e)i.add(o.from,o.to,o.value);return i.finish()}}Qe.empty=new Qe([],[],null,-1),Qe.empty.nextLayer=Qe.empty;class Re{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}finishChunk(e){this.chunks.push(new Te(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=[])}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Re)).add(e,t,i)}addInner(e,t,i){let o=e-this.lastTo||i.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(o<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.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 i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(Qe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Qe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ae(e,t,i){let o=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&o.push(new Me(a,t,i,n));return 1==o.length?o[0]:new Ee(o)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Fe(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Fe(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)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(),Fe(this.heap,0)}}}function Fe(e,t){for(let i=e[t];;){let o=1+(t<<1);if(o>=e.length)break;let n=e[o];if(o+1=0&&(n=e[o+1],o++),i.compare(n)<0)break;e[o]=i,e[t]=n,t=o}}class Le{constructor(e,t,i){this.minPoint=i,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=Ee.from(e,t,i)}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){Ge(this.active,e),Ge(this.activeTo,e),Ge(this.activeRank,e),this.minActive=ze(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:o,rank:n}=this.cursor;for(;t-1&&(this.activeTo[o]-this.cursor.from||this.active[o].endSide-this.cursor.startSide)<0){if(this.activeTo[o]>e){this.to=this.activeTo[o],this.endSide=this.active[o].endSide;break}this.removeActive(o),i&&Ge(i,o)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[t]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Be(e,t,i,o,n,a){e.goto(t),i.goto(o);let r=o+n,s=o,l=o-t;for(;;){let t=e.to+l-i.to||e.endSide-i.endSide,o=t<0?e.to+l:i.to,n=Math.min(o,r);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&Ie(e.activeForPoint(e.to+l),i.activeForPoint(i.to))||a.comparePoint(s,n,e.point,i.point):n>s&&!Ie(e.active,i.active)&&a.compareRange(s,n,e.active,i.active),o>r)break;s=o,t<=0&&e.next(),t>=0&&i.next()}}function Ie(e,t){if(e.length!=t.length)return!1;for(let i=0;i=t;i--)e[i+1]=e[i];e[t]=i}function ze(e,t){let i=-1,o=1e9;for(let n=0;ne.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),r,a);else if(r&&"object"==typeof r){if(!l)throw new RangeError("The value of a property ("+i+") should be a primitive value.");n(o(i),r,s,p)}else null!=r&&s.push(i.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+r+";")}(s.length||p)&&a.push((!i||l||r?e:e.map(i)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)n(o(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=qe[Ne]||1;return qe[Ne]=e+1,"ͼ"+e.toString(36)}static mount(e,t){(e[We]||new Xe(e)).mount(Array.isArray(t)?t:[t])}}let _e=new Map;class Xe{constructor(e){let t=e.ownerDocument||e,i=t.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let o=_e.get(t);if(o)return e.adoptedStyleSheets=[o.sheet,...e.adoptedStyleSheets],e[We]=o;this.sheet=new i.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],_e.set(t,this)}else{this.styleTag=t.createElement("style");let i=e.head||e;i.insertBefore(this.styleTag,i.firstChild)}this.modules=[],e[We]=this}mount(e){let t=this.sheet,i=0,o=0;for(let n=0;n-1&&(this.modules.splice(r,1),o--,r=-1),-1==r){if(this.modules.splice(o++,0,a),t)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},He="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),Ye="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Ke="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Je=Ye||He&&+He[1]<57,et=0;et<10;et++)Ze[48+et]=Ze[96+et]=String(et);for(et=1;et<=24;et++)Ze[et+111]="F"+et;for(et=65;et<=90;et++)Ze[et]=String.fromCharCode(et+32),Ue[et]=String.fromCharCode(et);for(var tt in Ze)Ue.hasOwnProperty(tt)||(Ue[tt]=Ze[tt]);function it(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function ot(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function nt(e,t){if(!t.anchorNode)return!1;try{return ot(e,t.anchorNode)}catch(e){return!1}}function at(e){return 3==e.nodeType?gt(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function rt(e,t,i,o){return!!i&&(lt(e,t,i,o,-1)||lt(e,t,i,o,1))}function st(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function lt(e,t,i,o,n){for(;;){if(e==i&&t==o)return!0;if(t==(n<0?0:pt(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=st(e)+(n<0?0:1),e=i}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(n<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=n<0?pt(e):0}}}function pt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}const dt={left:0,right:0,top:0,bottom:0};function ct(e,t){let i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function ht(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class ft{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){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,t,i,o){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=o}}let yt,ut=null;function mt(e){if(e.setActive)return e.setActive();if(ut)return e.focus(ut);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==ut?{get preventScroll(){return ut={preventScroll:!0},!0}}:void 0),!ut){ut=!1;for(let e=0;et)return i.domBoundsAround(e,t,l);if(d>=e&&-1==o&&(o=s,n=l),l>t&&i.dom.parentNode==this.dom){a=s,r=p;break}p=d,l=d+i.breakAfter}return{from:n,to:r<0?i+this.length:r,startDOM:(o?this.children[o-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:a=0?this.children[a].dom:null}}markDirty(e=!1){this.dirty|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.dirty|=2),1&t.dirty)return;t.dirty|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.dirty&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=vt){this.markDirty();for(let i=e;ithis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function Ct(e,t,i,o,n,a,r,s,l){let{children:p}=e,d=p.length?p[t]:null,c=a.length?a[a.length-1]:null,h=c?c.breakAfter:r;if(!(t==o&&d&&!r&&!h&&a.length<2&&d.merge(i,n,a.length?c:null,0==i,s,l))){if(o0&&(!r&&a.length&&d.merge(i,d.length,a[0],!1,s,0)?d.breakAfter=a.shift().breakAfter:(i2);var Gt={mac:It||/Mac/.test(Dt.platform),windows:/Win/.test(Dt.platform),linux:/Linux|X11/.test(Dt.platform),ie:Mt,ie_version:Rt?Tt.documentMode||6:At?+At[1]:Qt?+Qt[1]:0,gecko:Et,gecko_version:Et?+(/Firefox\/(\d+)/.exec(Dt.userAgent)||[0,0])[1]:0,chrome:!!Ft,chrome_version:Ft?+Ft[1]:0,ios:It,android:/Android\b/.test(Dt.userAgent),webkit:Lt,safari:Bt,webkit_version:Lt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Tt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class $t extends Ot{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,i){return(!i||i instanceof $t&&!(this.length-(t-e)+i.length>256))&&(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new $t(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new kt(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return Vt(this.dom,e,t)}}class zt extends Ot{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let e of t)e.setParent(this)}setAttrs(e){if(wt(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.dirty|=6)}sync(e,t){this.dom?4&this.dirty&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,o,n,a){return(!i||!(!(i instanceof zt&&i.mark.eq(this.mark))||e&&n<=0||te&&t.push(i=e&&(o=n),i=r,n++}let a=this.length-e;return this.length=e,o>-1&&(this.children.length=o,this.markDirty()),new zt(this.mark,t,a)}domAtPos(e){return Ut(this,e)}coordsAt(e,t){return Yt(this,e,t)}}function Vt(e,t,i){let o=e.nodeValue.length;t>o&&(t=o);let n=t,a=t,r=0;0==t&&i<0||t==o&&i>=0?Gt.chrome||Gt.gecko||(t?(n--,r=1):a=0)?0:s.length-1];return Gt.safari&&!r&&0==l.width&&(l=Array.prototype.find.call(s,(e=>e.width))||l),r?ct(l,r<0):l||null}class Nt extends Ot{constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}static create(e,t,i){return new(e.customView||Nt)(e,t,i)}split(e){let t=Nt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,i,o,n,a){return!(i&&(!(i instanceof Nt&&this.widget.compare(i.widget))||e>0&&n<=0||t0)?kt.before(this.dom):kt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.dom.getClientRects(),o=null;if(!i.length)return dt;for(let t=e>0?i.length-1:0;o=i[t],!(e>0?0==t:t==i.length-1||o.top0?-1:1);return this.length?o:ct(o,this.side>0)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class Wt extends Nt{domAtPos(e){let{topView:t,text:i}=this.widget;return t?qt(e,0,t,i,this.length-t.length,((e,t)=>e.domAtPos(t)),((e,t)=>new kt(e,Math.min(t,e.nodeValue.length)))):new kt(i,Math.min(e,i.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(e,t){let{topView:i,text:o}=this.widget;return i?_t(e,t,i,o,this.length-i.length):Math.min(t,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,t){let{topView:i,text:o}=this.widget;return i?qt(e,t,i,o,this.length-i.length,((e,t,i)=>e.coordsAt(t,i)),((e,t,i)=>Vt(e,t,i))):Vt(o,e,t)}destroy(){var e;super.destroy(),null===(e=this.widget.topView)||void 0===e||e.destroy()}get isEditable(){return!0}canReuseDOM(){return!0}}function qt(e,t,i,o,n,a,r){if(i instanceof zt){for(let s=i.dom.firstChild;s;s=s.nextSibling){let i=Ot.get(s);if(i){let l=ot(s,o),p=i.length+(l?n:0);if(e0?kt.before(this.dom):kt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){let t=this.dom.getBoundingClientRect(),i=function(e,t){let i=e.parent,o=i?i.children.indexOf(e):-1;for(;i&&o>=0;)if(t<0?o>0:o0?-1:1);return i&&i.topt.top?{left:t.left,right:t.right,top:i.top,bottom:i.bottom}:t}get overrideDOMText(){return e.empty}get isHidden(){return!0}}function Ut(e,t){let i=e.dom,{children:o}=e,n=0;for(let e=0;ne&&t0;e--){let t=o[e-1];if(t.dom.parentNode==i)return t.domAtPos(t.length)}for(let e=n;e0&&t instanceof zt&&n.length&&(o=n[n.length-1])instanceof zt&&o.mark.eq(t.mark)?Ht(o,t.children[0],i-1):(n.push(t),t.setParent(e)),e.length+=t.length}function Yt(e,t,i){let o=null,n=-1,a=null,r=-1;!function e(t,s){for(let l=0,p=0;l=s&&(d.children.length?e(d,s-p):(!a||a instanceof Zt&&i>0)&&(c>s||p==c&&d.getSide()>0)?(a=d,r=s-p):(p0?3e8:-4e8:t>0?1e8:-1e8,new ri(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,o=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:n,end:a}=si(e,o);t=(n?o?-3e8:-1:5e8)-1,i=1+(a?o?2e8:1:-6e8)}return new ri(e,t,i,o,e.widget||null,!0)}static line(e){return new ai(e)}static set(e,t=!1){return Qe.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}oi.none=Qe.empty;class ni extends oi{constructor(e){let{start:t,end:i}=si(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){return this==e||e instanceof ni&&this.tagName==e.tagName&&this.class==e.class&&Jt(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)}}ni.prototype.point=!1;class ai extends oi{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ai&&this.spec.class==e.spec.class&&Jt(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)}}ai.prototype.mapMode=O.TrackBefore,ai.prototype.point=!0;class ri extends oi{constructor(e,t,i,o,n,a){super(t,i,n,e),this.block=o,this.isReplace=a,this.mapMode=o?t<=0?O.TrackBefore:O.TrackAfter:O.TrackDel}get type(){return this.startSide=5}eq(e){return e instanceof ri&&(t=this.widget,i=e.widget,t==i||!!(t&&i&&t.compare(i)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,i}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)}}function si(e,t=!1){let{inclusiveStart:i,inclusiveEnd:o}=e;return null==i&&(i=e.inclusive),null==o&&(o=e.inclusive),{start:null!=i?i:t,end:null!=o?o:t}}function li(e,t,i,o=0){let n=i.length-1;n>=0&&i[n]+o>=e?i[n]=Math.max(i[n],t):i.push(e,t)}ri.prototype.point=!0;class pi extends Ot{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,o,n,a){if(i){if(!(i instanceof pi))return!1;this.dom||i.transferDOM(this)}return o&&this.setDeco(i?i.attrs:null),Pt(this,e,t,i?i.children:[],n,a),!0}split(e){let t=new pi;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:i,off:o}=this.childPos(e);o&&(t.append(this.children[i].split(o),0),this.children[i].merge(o,this.children[i].length,null,!1,0,0),i++);for(let e=i;e0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){Jt(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Ht(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=Kt(t,this.attrs||{})),i&&(this.attrs=Kt({class:i},this.attrs||{}))}domAtPos(e){return Ut(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.dirty|=6)}sync(e,t){var i;this.dom?4&this.dirty&&(wt(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(ei(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let o=this.dom.lastChild;for(;o&&Ot.get(o)instanceof zt;)o=o.lastChild;if(!(o&&this.length&&("BR"==o.nodeName||0!=(null===(i=Ot.get(o))||void 0===i?void 0:i.isEditable)||Gt.ios&&this.children.some((e=>e instanceof $t))))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let i of this.children){if(!(i instanceof $t)||/[^ -~]/.test(i.text))return null;let o=at(i.dom);if(1!=o.length)return null;t+=o[0].width,e=o[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let i=Yt(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=i.bottom-i.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(n instanceof pi)return n;if(a>t)break}o=a+n.breakAfter}return null}}class di extends Ot{constructor(e,t,i){super(),this.widget=e,this.length=t,this.type=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,o,n,a){return!(i&&(!(i instanceof di&&this.widget.compare(i.widget))||e>0&&n<=0||t0;){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:o}=this.cursor.next(this.skip);if(this.skip=0,o)throw new Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let o=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(hi(new $t(this.text.slice(this.textOff,this.textOff+o)),t),i),this.atCursorPos=!0,this.textOff+=o,e-=o,i=0}}span(e,t,i,o){this.buildText(t-e,i,o),this.pos=t,this.openStart<0&&(this.openStart=o)}point(e,t,i,o,n,a){if(this.disallowBlockEffectsFor[a]&&i instanceof ri){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let r=t-e;if(i instanceof ri)if(i.block){let{type:e}=i;e!=ii.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new di(i.widget||new fi("div"),r,e))}else{let a=Nt.create(i.widget||new fi("span"),r,r?0:i.startSide),s=this.atCursorPos&&!a.isEditable&&n<=o.length&&(e0),l=!a.isEditable&&(eo.length||i.startSide<=0),p=this.getLine();2!=this.pendingBuffer||s||a.isEditable||(this.pendingBuffer=0),this.flushBuffer(o),s&&(p.append(hi(new Zt(1),o),n),n=o.length+Math.max(0,n-o.length)),p.append(hi(a,o),n),this.atCursorPos=l,this.pendingBuffer=l?eo.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=o.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);r&&(this.textOff+r<=this.text.length?this.textOff+=r:(this.skip+=r-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=n)}static build(e,t,i,o,n){let a=new ci(e,t,i,n);return a.openEnd=Qe.spans(o,t,i,a),a.openStart<0&&(a.openStart=a.openEnd),a.finish(a.openEnd),a}}function hi(e,t){for(let i of t)e=new zt(i,[e],e.length);return e}class fi extends ti{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}}const yi=L.define(),ui=L.define(),mi=L.define(),gi=L.define(),bi=L.define(),wi=L.define(),ki=L.define(),vi=L.define({combine:e=>e.some((e=>e))}),Oi=L.define({combine:e=>e.some((e=>e))});class xi{constructor(e,t="nearest",i="nearest",o=5,n=5){this.range=e,this.y=t,this.x=i,this.yMargin=o,this.xMargin=n}map(e){return e.empty?this:new xi(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const Si=ce.define({map:(e,t)=>e.map(t)});function Ci(e,t,i){let o=e.facet(gi);o.length?o[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+":",t):console.error(t)}const Pi=L.define({combine:e=>!e.length||e[0]});let Di=0;const Ti=L.define();class Qi{constructor(e,t,i,o){this.id=e,this.create=t,this.domEventHandlers=i,this.extension=o(this)}static define(e,t){const{eventHandlers:i,provide:o,decorations:n}=t||{};return new Qi(Di++,e,i,(e=>{let t=[Ti.of(e)];return n&&t.push(Ei.of((t=>{let i=t.plugin(e);return i?n(i):oi.none}))),o&&t.push(o(e)),t}))}static fromClass(e,t){return Qi.define((t=>new e(t)),t)}}class Ri{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(Ci(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){Ci(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){Ci(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ai=L.define(),Mi=L.define(),Ei=L.define(),Fi=L.define(),Li=L.define(),Bi=L.define();class Ii{constructor(e,t,i,o){this.fromA=e,this.toA=t,this.fromB=i,this.toB=o}join(e){return new Ii(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,i=this;for(;t>0;t--){let o=e[t-1];if(!(o.fromA>i.toA)){if(o.toAp)break;n+=2}if(!s)return i;new Ii(s.fromA,s.toA,s.fromB,s.toB).addToSet(i),a=s.toA,r=s.toB}}}class Gi{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=S.empty(this.startState.doc.length);for(let e of i)this.changes=this.changes.compose(e.changes);let o=[];this.changes.iterChangedRanges(((e,t,i,n)=>o.push(new Ii(e,t,i,n)))),this.changedRanges=o}static create(e,t,i){return new Gi(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var $i=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}($i||($i={}));const zi=$i.LTR,Vi=$i.RTL;function Ni(e){let t=[];for(let i=0;i=t){if(r.level==i)return a;(n<0||(0!=o?o<0?r.fromt:e[n].level>r.level))&&(n=a)}}if(n<0)throw new RangeError("Index out of range");return n}}const Ui=[];function Hi(e){return[new Zi(0,e,0)]}let Yi="";function Ki(e,t,i,o,n){var a;let r=o.head-e.from,s=-1;if(0==r){if(!n||!e.length)return null;t[0].level!=i&&(r=t[0].side(!1,i),s=0)}else if(r==e.length){if(n)return null;let e=t[t.length-1];e.level!=i&&(r=e.side(!0,i),s=t.length-1)}s<0&&(s=Zi.find(t,r,null!==(a=o.bidiLevel)&&void 0!==a?a:-1,o.assoc));let l=t[s];r==l.side(n,i)&&(l=t[s+=n?1:-1],r=l.side(!n,i));let p=n==(l.dir==i),d=f(e.text,r,p);if(Yi=e.text.slice(Math.min(r,d),Math.max(r,d)),d!=l.side(n,i))return M.cursor(d+e.from,p?-1:1,l.level);let c=s==(n?t.length-1:0)?null:t[s+(n?1:-1)];return c||l.level==i?c&&c.level1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=r-1);i=a+r}}readNode(e){if(e.cmIgnore)return;let t=Ot.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+Math.min(t,i.offset))}}function to(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class io{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class oo extends Ot{constructor(e){super(),this.view=e,this.compositionDeco=oi.none,this.decorations=[],this.dynamicDecorationMap=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new pi],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Ii(0,0,0,e.state.doc.length)],0)}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every((({fromA:e,toA:t})=>tthis.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.view.inputState.composing<0?this.compositionDeco=oi.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=function(e,t){let i=ao(e);if(!i)return oi.none;let{from:o,to:n,node:a,text:r}=i,s=t.mapPos(o,1),l=Math.max(s,t.mapPos(n,-1)),{state:p}=e,d=3==a.nodeType?a.nodeValue:new eo([],p).readRange(a.firstChild,null).text;if(l-s{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Gt.chrome||Gt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.dirty=0,e&&(e.written||i.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}));let o=[];if(this.view.viewport.from||this.view.viewport.to=0?e[t]:null;if(!o)break;let{fromA:n,toA:a,fromB:r,toB:s}=o,{content:l,breakAtStart:p,openStart:d,openEnd:c}=ci.build(this.view.state.doc,r,s,this.decorations,this.dynamicDecorationMap),{i:h,off:f}=i.findPos(a,1),{i:y,off:u}=i.findPos(n,-1);Ct(this,y,u,h,f,l,p,d,c)}}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let i=this.view.root.activeElement,o=i==this.dom,n=!o&&nt(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(o||t||n))return;let a=this.forceSelection;this.forceSelection=!1;let r=this.view.state.selection.main,s=this.domAtPos(r.anchor),l=r.empty?s:this.domAtPos(r.head);if(Gt.gecko&&r.empty&&!this.compositionDeco.size&&(1==(p=s).node.nodeType&&p.node.firstChild&&(0==p.offset||"false"==p.node.childNodes[p.offset-1].contentEditable)&&(p.offset==p.node.childNodes.length||"false"==p.node.childNodes[p.offset].contentEditable))){let e=document.createTextNode("");this.view.observer.ignore((()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null))),s=l=new kt(e,0),a=!0}var p;let d=this.view.observer.selectionRange;!a&&d.focusNode&&rt(s.node,s.offset,d.anchorNode,d.anchorOffset)&&rt(l.node,l.offset,d.focusNode,d.focusOffset)||(this.view.observer.ignore((()=>{Gt.android&&Gt.chrome&&this.dom.contains(d.focusNode)&&function(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(d.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=it(this.view.root);if(e)if(r.empty){if(Gt.gecko){let e=(t=s.node,o=s.offset,1!=t.nodeType?0:(o&&"false"==t.childNodes[o-1].contentEditable?1:0)|(or.head&&([s,l]=[l,s]),t.setEnd(l.node,l.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}else;var t,o;n&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())})),this.view.observer.setSelectionRange(s,l)),this.impreciseAnchor=s.precise?null:new kt(d.anchorNode,d.anchorOffset),this.impreciseHead=l.precise?null:new kt(d.focusNode,d.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let{view:e}=this,t=e.state.selection.main,i=it(e.root),{anchorNode:o,anchorOffset:n}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let a=pi.find(this,t.head);if(!a)return;let r=a.posAtStart;if(t.head==r||t.head==r+a.length)return;let s=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!s||!l||s.bottom>l.top)return;let p=this.domAtPos(t.head+t.assoc);i.collapse(p.node,p.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=t.from&&i.collapse(o,n)}nearest(e){for(let t=e;t;){let e=Ot.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;ta||e==a&&n.type!=ii.WidgetBefore&&n.type!=ii.WidgetAfter&&(!o||2==t||this.children[o-1].breakAfter||this.children[o-1].type==ii.WidgetBefore&&t>-2))return n.coordsAt(e-a,t);i=a}}measureVisibleLineHeights(e){let t=[],{from:i,to:o}=e,n=this.view.contentDOM.clientWidth,a=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,r=-1,s=this.view.textDirection==$i.LTR;for(let e=0,l=0;lo)break;if(e>=i){let i=p.dom.getBoundingClientRect();if(t.push(i.height),a){let t=p.dom.lastChild,o=t?at(t):[];if(o.length){let t=o[o.length-1],a=s?t.right-i.left:i.right-t.left;a>r&&(r=a,this.minWidth=n,this.minWidthFrom=e,this.minWidthTo=d)}}}e=d+p.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?$i.RTL:$i.LTR}measureTextSize(){for(let e of this.children)if(e instanceof pi){let t=e.measureTextSize();if(t)return t}let e,t,i,o=document.createElement("div");return o.className="cm-line",o.style.width="99999px",o.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(o);let n=at(o.firstChild)[0];e=o.getBoundingClientRect().height,t=n?n.width/27:7,i=n?n.height:e,o.remove()})),{lineHeight:e,charWidth:t,textHeight:i}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new St(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,o=0;;o++){let n=o==t.viewports.length?null:t.viewports[o],a=n?n.from-1:this.length;if(a>i){let o=t.lineBlockAt(a).bottom-t.lineBlockAt(i).top;e.push(oi.replace({widget:new no(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!n)break;i=n.to+1}return oi.set(e)}updateDeco(){let e=this.view.state.facet(Ei).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;ti.anchor?-1:1);if(!o)return;!i.empty&&(t=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(o={left:Math.min(o.left,t.left),top:Math.min(o.top,t.top),right:Math.max(o.right,t.right),bottom:Math.max(o.bottom,t.bottom)});let n=0,a=0,r=0,s=0;for(let e of this.view.state.facet(Li).map((e=>e(this.view))))if(e){let{left:t,right:i,top:o,bottom:l}=e;null!=t&&(n=Math.max(n,t)),null!=i&&(a=Math.max(a,i)),null!=o&&(r=Math.max(r,o)),null!=l&&(s=Math.max(s,l))}let l={left:o.left-n,top:o.top-r,right:o.right+a,bottom:o.bottom+s};!function(e,t,i,o,n,a,r,s){let l=e.ownerDocument,p=l.defaultView||window;for(let d=e;d;)if(1==d.nodeType){let e,c=d==l.body;if(c)e=ht(p);else{if(d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let t=d.getBoundingClientRect();e={left:t.left,right:t.left+d.clientWidth,top:t.top,bottom:t.top+d.clientHeight}}let h=0,f=0;if("nearest"==n)t.top0&&t.bottom>e.bottom+f&&(f=t.bottom-e.bottom+f+r)):t.bottom>e.bottom&&(f=t.bottom-e.bottom+r,i<0&&t.top-f0&&t.right>e.right+h&&(h=t.right-e.right+h+a)):t.right>e.right&&(h=t.right-e.right+a,i<0&&t.left0))break;i=i.childNodes[o-1],o=pt(i)}if(i>=0)for(let o=e,n=t;;){if(3==o.nodeType)return o;if(!(1==o.nodeType&&n=0))break;o=o.childNodes[n],n=0}return null}class lo{constructor(){this.changes=[]}compareRange(e,t){li(e,t,this.changes)}comparePoint(e,t){li(e,t,this.changes)}}function po(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function co(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function ho(e,t){return e.topt.top+1}function fo(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function uo(e,t,i){let o,n,a,r,s,l,p,d,c=!1;for(let h=e.firstChild;h;h=h.nextSibling){let e=at(h);for(let f=0;fm||r==m&&a>u){o=h,n=y,a=u,r=m;let s=m?i0?f0)}0==u?i>y.bottom&&(!p||p.bottomy.top)&&(l=h,d=y):p&&ho(p,y)?p=yo(p,y.bottom):d&&ho(d,y)&&(d=fo(d,y.top))}}if(p&&p.bottom>=i?(o=s,n=p):d&&d.top<=i&&(o=l,n=d),!o)return{node:e,offset:0};let h=Math.max(n.left,Math.min(n.right,t));return 3==o.nodeType?mo(o,h,i):c&&"false"!=o.contentEditable?uo(o,h,i):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,o)+(t>=(n.left+n.right)/2?1:0)}}function mo(e,t,i){let o=e.nodeValue.length,n=-1,a=1e9,r=0;for(let s=0;si?p.top-i:i-p.bottom)-1;if(p.left-1<=t&&p.right+1>=t&&d=(p.left+p.right)/2,o=i;if(Gt.chrome||Gt.gecko){gt(e,s).getBoundingClientRect().left==p.right&&(o=!i)}if(d<=0)return{node:e,offset:s+(o?1:0)};n=s+(o?1:0),a=d}}}return{node:e,offset:n>-1?n:r>0?e.nodeValue.length:0}}function go(e,t,i,o=-1){var n,a;let r,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,{docHeight:p}=e.viewState,{x:d,y:c}=t,h=c-l;if(h<0)return 0;if(h>p)return e.state.doc.length;for(let t=e.defaultLineHeight/2,n=!1;r=e.elementAtHeight(h),r.type!=ii.Text;)for(;h=o>0?r.bottom+t:r.top-t,!(h>=0&&h<=p);){if(n)return i?null:0;n=!0,o=-o}c=l+h;let f=r.from;if(fe.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:i?null:bo(e,s,r,d,c);let y=e.dom.ownerDocument,u=e.root.elementFromPoint?e.root:y,m=u.elementFromPoint(d,c);m&&!e.contentDOM.contains(m)&&(m=null),m||(d=Math.max(s.left+1,Math.min(s.right-1,d)),m=u.elementFromPoint(d,c),m&&!e.contentDOM.contains(m)&&(m=null));let g,b=-1;if(m&&0!=(null===(n=e.docView.nearest(m))||void 0===n?void 0:n.isEditable))if(y.caretPositionFromPoint){let e=y.caretPositionFromPoint(d,c);e&&({offsetNode:g,offset:b}=e)}else if(y.caretRangeFromPoint){let t=y.caretRangeFromPoint(d,c);t&&(({startContainer:g,startOffset:b}=t),(!e.contentDOM.contains(g)||Gt.safari&&function(e,t,i){let o;if(3!=e.nodeType||t!=(o=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return gt(e,o-1,o).getBoundingClientRect().left>i}(g,b,d)||Gt.chrome&&function(e,t,i){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}let o=1==e.nodeType?e.getBoundingClientRect():gt(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect();return i-o.left>5}(g,b,d))&&(g=void 0))}if(!g||!e.docView.dom.contains(g)){let t=pi.find(e.docView,f);if(!t)return h>r.top+r.height/2?r.to:r.from;({node:g,offset:b}=uo(t.dom,d,c))}let w=e.docView.nearest(g);if(!w)return null;if(w.isWidget&&1==(null===(a=w.dom)||void 0===a?void 0:a.nodeType)){let e=w.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){a+=Math.floor((n-i.top)/e.defaultLineHeight)*e.viewState.heightOracle.lineLength}let r=e.state.sliceDoc(i.from,i.to);return i.from+function(e,t,i,o){for(let o=0,n=0;;){if(n>=t)return o;if(o==e.length)break;n+=9==e.charCodeAt(o)?i-n%i:1,o=f(e,o)}return!0===o?-1:e.length}(r,a,e.state.tabSize)}function wo(e,t,i,o){let n=e.state.doc.lineAt(t.head),a=e.bidiSpans(n),r=e.textDirectionAt(n.from);for(let s=t,l=null;;){let t=Ki(n,a,r,s,i),p=Yi;if(!t){if(n.number==(i?e.state.doc.lines:1))return s;p="\n",n=e.state.doc.line(n.number+(i?1:-1)),a=e.bidiSpans(n),t=M.cursor(i?n.from:n.to)}if(l){if(!l(p))return s}else{if(!o)return t;l=o(p)}s=t}}function ko(e,t,i,o){let n=e.state.facet(Fi).map((t=>t(e)));for(;;){let e=!1;for(let a of n)a.between(i.from-1,i.from+1,((n,a,r)=>{i.from>n&&i.fromi.from?M.cursor(n,1):M.cursor(a,-1),e=!0,r.widget.skipPosition&&(i=r.widget.skipPosition(i,t,o)))}));if(!e)return i}}class vo{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;let t=(t,i)=>{this.ignoreDuringComposition(i)||"keydown"==i.type&&this.keydown(e,i)||(this.mustFlushObserver(i)&&e.observer.forceFlush(),this.runCustomHandlers(i.type,e,i)?i.preventDefault():t(e,i))};for(let i in To){let o=To[i];e.contentDOM.addEventListener(i,(i=>{Do(e,i)&&t(o,i)}),Qo[i]),this.registeredEvents.push(i)}e.scrollDOM.addEventListener("mousedown",(i=>{if(i.target==e.scrollDOM&&i.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(To.mousedown,i),!i.defaultPrevented&&2==i.button)){let t=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout((()=>e.contentDOM.style.minHeight=t),200)}})),Gt.chrome&&102==Gt.chrome_version&&e.scrollDOM.addEventListener("wheel",(()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout((()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""}),100)}),{passive:!0}),this.notifiedFocused=e.hasFocus,Gt.safari&&e.contentDOM.addEventListener("input",(()=>null))}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var i;let o;this.customHandlers=[];for(let n of t)if(o=null===(i=n.update(e).spec)||void 0===i?void 0:i.domEventHandlers){this.customHandlers.push({plugin:n.value,handlers:o});for(let t in o)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),e.contentDOM.addEventListener(t,(i=>{Do(e,i)&&this.runCustomHandlers(t,e,i)&&i.preventDefault()})))}}runCustomHandlers(e,t,i){for(let o of this.customHandlers){let n=o.handlers[e];if(n)try{if(n.call(o.plugin,i,t)||i.defaultPrevented)return!0}catch(e){Ci(t.state,e)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let i of this.customHandlers){let o=i.handlers.scroll;if(o)try{o.call(i.plugin,t,e)}catch(t){Ci(e.state,t)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()e.keyCode==t.keyCode)))&&!t.ctrlKey||xo.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey))&&(this.pendingIOSKey=i||t,setTimeout((()=>this.flushIOSKey(e)),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(this.pendingIOSKey=void 0,bt(e.contentDOM,t.key,t.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Gt.safari&&!Gt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}mustFlushObserver(e){return"keydown"==e.type&&229!=e.keyCode}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const Oo=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],xo="dthko",So=[16,17,18,20,91,92,224,225];function Co(e){return.7*Math.max(0,e)+8}class Po{constructor(e,t,i,o){this.view=e,this.style=i,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=function(e){let t=e.ownerDocument;for(let i=e.parentNode;i&&i!=t.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}(e.contentDOM);let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(xe.allowMultipleSelections)&&function(e,t){let i=e.state.facet(yi);return i.length?i[0](t):Gt.mac?t.metaKey:t.ctrlKey}(e,t),this.dragMove=function(e,t){let i=e.state.facet(ui);return i.length?i[0](t):Gt.mac?!t.altKey:!t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let o=it(e.root);if(!o||0==o.rangeCount)return!0;let n=o.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}(e,t)||1!=Vo(t))&&null}start(e){!1===this.dragging&&(e.preventDefault(),this.select(e))}move(e){var t;if(0==e.buttons)return this.destroy();if(!1!==this.dragging)return;this.select(this.lastEvent=e);let i=0,o=0,n=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight};e.clientX<=n.left+6?i=-Co(n.left-e.clientX):e.clientX>=n.right-6&&(i=Co(e.clientX-n.right)),e.clientY<=n.top+6?o=-Co(n.top-e.clientY):e.clientY>=n.bottom-6&&(o=Co(e.clientY-n.bottom)),this.setScrollSpeed(i,o)}up(e){null==this.dragging&&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=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(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}select(e){let t=this.style.get(e,this.extend,this.multiple);!this.mustSelect&&t.eq(this.view.state.selection)&&t.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:t,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}function Do(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,o=t.target;o!=e.contentDOM;o=o.parentNode)if(!o||11==o.nodeType||(i=Ot.get(o))&&i.ignoreEvent(t))return!1;return!0}const To=Object.create(null),Qo=Object.create(null),Ro=Gt.ie&&Gt.ie_version<15||Gt.ios&&Gt.webkit_version<604;function Ao(e,t){let i,{state:o}=e,n=1,a=o.toText(t),r=a.lines==o.selection.ranges.length;if(null!=Wo&&o.selection.ranges.every((e=>e.empty))&&Wo==a.toString()){let e=-1;i=o.changeByRange((i=>{let s=o.doc.lineAt(i.from);if(s.from==e)return{range:i};e=s.from;let l=o.toText((r?a.line(n++).text:t)+o.lineBreak);return{changes:{from:s.from,insert:l},range:M.cursor(i.from+l.length)}}))}else i=r?o.changeByRange((e=>{let t=a.line(n++);return{changes:{from:e.from,to:e.to,insert:t.text},range:M.cursor(e.from+t.length)}})):o.replaceSelection(a);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function Mo(e,t,i,o){if(1==o)return M.cursor(t,i);if(2==o)return function(e,t,i=1){let o=e.charCategorizer(t),n=e.doc.lineAt(t),a=t-n.from;if(0==n.length)return M.cursor(t);0==a?i=1:a==n.length&&(i=-1);let r=a,s=a;i<0?r=f(n.text,a,!1):s=f(n.text,a);let l=o(n.text.slice(r,s));for(;r>0;){let e=f(n.text,r,!1);if(o(n.text.slice(e,r))!=l)break;r=e}for(;s{e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now())},To.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},To.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Qo.touchstart=Qo.touchmove={passive:!0},To.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return;let i=null;for(let o of e.state.facet(mi))if(i=o(e,t),i)break;if(i||0!=t.button||(i=function(e,t){let i=Bo(e,t),o=Vo(t),n=e.state.selection;return{update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),n=n.map(e.changes))},get(t,a,r){let s,l=Bo(e,t),p=Mo(e,l.pos,l.bias,o);if(i.pos!=l.pos&&!a){let t=Mo(e,i.pos,i.bias,o),n=Math.min(t.from,p.from),a=Math.max(t.to,p.to);p=n1&&(s=function(e,t){for(let i=0;i=t)return M.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}(n,l.pos))?s:r?n.addRange(p):M.create([p])}}}(e,t)),i){let o=e.root.activeElement!=e.contentDOM;e.inputState.startMouseSelection(new Po(e,t,i,o)),o&&e.observer.ignore((()=>mt(e.contentDOM))),e.inputState.mouseSelection&&e.inputState.mouseSelection.start(t)}};let Eo=(e,t)=>e>=t.top&&e<=t.bottom,Fo=(e,t,i)=>Eo(t,i)&&e>=i.left&&e<=i.right;function Lo(e,t,i,o){let n=pi.find(e.docView,t);if(!n)return 1;let a=t-n.posAtStart;if(0==a)return 1;if(a==n.length)return-1;let r=n.coordsAt(a,-1);if(r&&Fo(i,o,r))return-1;let s=n.coordsAt(a,1);return s&&Fo(i,o,s)?1:r&&Eo(o,r)?-1:1}function Bo(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:Lo(e,i,t.clientX,t.clientY)}}const Io=Gt.ie&&Gt.ie_version<=11;let Go=null,$o=0,zo=0;function Vo(e){if(!Io)return e.detail;let t=Go,i=zo;return Go=e,zo=Date.now(),$o=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?($o+1)%3:1}function No(e,t,i,o){if(!i)return;let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);t.preventDefault();let{mouseSelection:a}=e.inputState,r=o&&a&&a.dragging&&a.dragMove?{from:a.dragging.from,to:a.dragging.to}:null,s={from:n,insert:i},l=e.state.changes(r?[r,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(n,-1),head:l.mapPos(n,1)},userEvent:r?"move.drop":"input.drop"})}To.dragstart=(e,t)=>{let{selection:{main:i}}=e.state,{mouseSelection:o}=e.inputState;o&&(o.dragging=i),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove")},To.drop=(e,t)=>{if(!t.dataTransfer)return;if(e.state.readOnly)return t.preventDefault();let i=t.dataTransfer.files;if(i&&i.length){t.preventDefault();let o=Array(i.length),n=0,a=()=>{++n==i.length&&No(e,t,o.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(o[e]=t.result),a()},t.readAsText(i[e])}}else No(e,t,t.dataTransfer.getData("Text"),!0)},To.paste=(e,t)=>{if(e.state.readOnly)return t.preventDefault();e.observer.flush();let i=Ro?null:t.clipboardData;i?(Ao(e,i.getData("text/plain")||i.getData("text/uri-text")),t.preventDefault()):function(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout((()=>{e.focus(),i.remove(),Ao(e,i.value)}),50)}(e)};let Wo=null;To.copy=To.cut=(e,t)=>{let{text:i,ranges:o,linewise:n}=function(e){let t=[],i=[],o=!1;for(let o of e.selection.ranges)o.empty||(t.push(e.sliceDoc(o.from,o.to)),i.push(o));if(!t.length){let n=-1;for(let{from:o}of e.selection.ranges){let a=e.doc.lineAt(o);a.number>n&&(t.push(a.text),i.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),n=a.number}o=!0}return{text:t.join(e.lineBreak),ranges:i,linewise:o}}(e.state);if(!i&&!n)return;Wo=n?i:null;let a=Ro?null:t.clipboardData;a?(t.preventDefault(),a.clearData(),a.setData("text/plain",i)):function(e,t){let i=e.dom.parentNode;if(!i)return;let o=i.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=t,o.focus(),o.selectionEnd=t.length,o.selectionStart=0,setTimeout((()=>{o.remove(),e.focus()}),50)}(e,i),"cut"!=t.type||e.state.readOnly||e.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"})};const qo=le.define();function jo(e,t){let i=[];for(let o of e.facet(ki)){let n=o(e,t);n&&i.push(n)}return i?e.update({effects:i,annotations:qo.of(!0)}):null}function _o(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let i=jo(e.state,t);i?e.dispatch(i):e.update([])}}),10)}To.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),_o(e)},To.blur=e=>{e.observer.clearSelectionRange(),_o(e)},To.compositionstart=To.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},To.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,Gt.chrome&&Gt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.compositionDeco.size&&e.update([])}),50)},To.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},To.beforeinput=(e,t)=>{var i;let o;if(Gt.chrome&&Gt.android&&(o=Oo.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(o.key,o.keyCode),"Backspace"==o.key||"Delete"==o.key)){let t=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}};const Xo=["pre-wrap","normal","pre-line","break-spaces"];class Zo{constructor(t){this.lineWrapping=t,this.doc=e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Xo.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=r;if(this.lineWrapping=r,this.lineHeight=t,this.charWidth=i,this.textHeight=o,this.lineLength=n,s){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Ko&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return Jo.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,o){let n=this,a=i.doc;for(let r=o.length-1;r>=0;r--){let{fromA:s,toA:l,fromB:p,toB:d}=o[r],c=n.lineAt(s,Yo.ByPosNoHeight,i.setDoc(t),0,0),h=c.to>=l?c:n.lineAt(l,Yo.ByPosNoHeight,i,0,0);for(d+=h.to-l,l=h.to;r>0&&c.from<=o[r-1].toA;)s=o[r-1].fromA,p=o[r-1].fromB,r--,s2*n){let n=e[t-1];n.break?e.splice(--t,1,n.left,null,n.right):e.splice(--t,1,n.left,n.right),i+=1+n.break,o-=n.size}else{if(!(n>2*o))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,n-=t.size}}else if(o=n&&a(this.blockAt(0,i,o,n))}updateHeight(e,t=0,i=!1,o){return o&&o.from<=t&&o.more&&this.setHeight(e,o.heights[o.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class tn extends en{constructor(e,t){super(e,t,ii.Text),this.collapsed=0,this.widgetHeight=0}replace(e,t,i){let o=i[0];return 1==i.length&&(o instanceof tn||o instanceof on&&4&o.flags)&&Math.abs(this.length-o.length)<10?(o instanceof on?o=new tn(o.length,this.height):o.height=this.height,this.outdated||(o.outdated=!1),o):Jo.of(i)}updateHeight(e,t=0,i=!1,o){return o&&o.from<=t&&o.more?this.setHeight(e,o.heights[o.index++]):(i||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class on extends Jo{constructor(e){super(e,0)}heightMetrics(e,t){let i,o=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,a=n-o+1,r=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*a);i=t/a,this.length>a+1&&(r=(this.height-t)/(this.length-a-1))}else i=this.height/a;return{firstLine:o,lastLine:n,perLine:i,perChar:r}}blockAt(e,t,i,o){let{firstLine:n,lastLine:a,perLine:r,perChar:s}=this.heightMetrics(t,o);if(t.lineWrapping){let n=o+Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length),a=t.doc.lineAt(n),l=r+a.length*s,p=Math.max(i,e-l/2);return new Ho(a.from,a.length,p,l,ii.Text)}{let o=Math.max(0,Math.min(a-n,Math.floor((e-i)/r))),{from:s,length:l}=t.doc.line(n+o);return new Ho(s,l,i+r*o,r,ii.Text)}}lineAt(e,t,i,o,n){if(t==Yo.ByHeight)return this.blockAt(e,i,o,n);if(t==Yo.ByPosNoHeight){let{from:t,to:o}=i.doc.lineAt(e);return new Ho(t,o-t,0,0,ii.Text)}let{firstLine:a,perLine:r,perChar:s}=this.heightMetrics(i,n),l=i.doc.lineAt(e),p=r+l.length*s,d=l.number-a,c=o+r*d+s*(l.from-n-d);return new Ho(l.from,l.length,Math.max(o,Math.min(c,o+this.height-p)),p,ii.Text)}forEachLine(e,t,i,o,n,a){e=Math.max(e,n),t=Math.min(t,n+this.length);let{firstLine:r,perLine:s,perChar:l}=this.heightMetrics(i,n);for(let p=e,d=o;p<=t;){let t=i.doc.lineAt(p);if(p==e){let i=t.number-r;d+=s*i+l*(e-n-i)}let o=s+l*t.length;a(new Ho(t.from,t.length,d,o,ii.Text)),d+=o,p=t.to+1}}replace(e,t,i){let o=this.length-t;if(o>0){let e=i[i.length-1];e instanceof on?i[i.length-1]=new on(e.length+o):i.push(null,new on(o-1))}if(e>0){let t=i[0];t instanceof on?i[0]=new on(e+t.length):i.unshift(new on(e-1),null)}return Jo.of(i)}decomposeLeft(e,t){t.push(new on(e-1),null)}decomposeRight(e,t){t.push(null,new on(this.length-e-1))}updateHeight(e,t=0,i=!1,o){let n=t+this.length;if(o&&o.from<=t+this.length&&o.more){let i=[],a=Math.max(t,o.from),r=-1;for(o.from>t&&i.push(new on(o.from-t-1).updateHeight(e,t));a<=n&&o.more;){let t=e.doc.lineAt(a).length;i.length&&i.push(null);let n=o.heights[o.index++];-1==r?r=n:Math.abs(n-r)>=Ko&&(r=-2);let s=new tn(t,n);s.outdated=!1,i.push(s),a+=t+1}a<=n&&i.push(null,new on(n-a).updateHeight(e,a));let s=Jo.of(i);return(r<0||Math.abs(s.height-this.height)>=Ko||Math.abs(r-this.heightMetrics(e,t).perLine)>=Ko)&&(e.heightChanged=!0),s}return(i||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class nn extends Jo{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,o){let n=i+this.left.height;return er))return l;let p=t==Yo.ByPosNoHeight?Yo.ByPosNoHeight:Yo.ByPos;return s?l.join(this.right.lineAt(r,p,i,a,r)):this.left.lineAt(r,p,i,o,n).join(l)}forEachLine(e,t,i,o,n,a){let r=o+this.left.height,s=n+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,t,i,r,s,a);else{let l=this.lineAt(s,Yo.ByPos,i,o,n);e=e&&l.from<=t&&a(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,r,s,a)}}replace(e,t,i){let o=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-o,t-o,i));let n=[];e>0&&this.decomposeLeft(e,n);let a=n.length;for(let e of i)n.push(e);if(e>0&&an(n,a-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,o=i+this.break;if(e>=o)return this.right.decomposeRight(e-o,t);e2*t.size||t.size>2*e.size?Jo.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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,i=!1,o){let{left:n,right:a}=this,r=t+n.length+this.break,s=null;return o&&o.from<=t+n.length&&o.more?s=n=n.updateHeight(e,t,i,o):n.updateHeight(e,t,i),o&&o.from<=r+a.length&&o.more?s=a=a.updateHeight(e,r,i,o):a.updateHeight(e,r,i),s?this.balanced(n,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function an(e,t){let i,o;null==e[t]&&(i=e[t-1])instanceof on&&(o=e[t+1])instanceof on&&e.splice(t-1,3,new on(i.length+1+o.length))}class rn{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 e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof tn?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new tn(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=5)&&this.addLineDeco(o,n)}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 tn(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new on(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof tn)return e;let t=new tn(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine(),e.type!=ii.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=ii.WidgetBefore&&(this.covering=e)}addLineDeco(e,t){let i=this.ensureLine();i.length+=t,i.collapsed+=t,i.widgetHeight=Math.max(i.widgetHeight,e),this.writtenTo=this.pos=this.pos+t}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof tn||this.isCovered?(this.writtenToi.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=o.overflow){let o=i.getBoundingClientRect();a=Math.max(a,o.left),r=Math.min(r,o.right),s=Math.max(s,o.top),l=t==e.parentNode?o.bottom:Math.min(l,o.bottom)}t="absolute"==o.position||"fixed"==o.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:a-i.left,right:Math.max(a,r)-i.left,top:s-(i.top+t),bottom:Math.max(s,l)-(i.top+t)}}function pn(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}class dn{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new Zo(i),this.stateDeco=t.facet(Ei).filter((e=>"function"!=typeof e)),this.heightMap=Jo.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle.setDoc(t.doc),[new Ii(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=oi.set(this.lineGaps.map((e=>e.draw(!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let o=i?t.head:t.anchor;if(!e.some((({from:e,to:t})=>o>=e&&o<=t))){let{from:t,to:i}=this.lineBlockAt(o);e.push(new fn(t,i))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?gn:new bn(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:wn(e,this.scaler))}))}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Ei).filter((e=>"function"!=typeof e));let o=e.changedRanges,n=Ii.extendWithRanges(o,function(e,t,i){let o=new sn;return Qe.compare(e,t,i,o,0),o.changes}(i,this.stateDeco,e?e.changes:S.empty(this.state.doc.length))),a=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),this.heightMap.height!=a&&(e.flags|=2);let r=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headr.to)||!this.viewportIsAppropriate(r))&&(r=this.getViewport(0,t));let s=!e.changes.empty||2&e.flags||r.from!=this.viewport.from||r.to!=this.viewport.to;this.viewport=r,this.updateForViewport(),s&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Oi)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let i=t.contentDOM,o=window.getComputedStyle(i),n=this.heightOracle,a=o.whiteSpace;this.defaultTextDirection="rtl"==o.direction?$i.RTL:$i.LTR;let r=this.heightOracle.mustRefreshForWrapping(a),s=i.getBoundingClientRect(),l=r||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let p=0,d=0,c=parseInt(o.paddingTop)||0,h=parseInt(o.paddingBottom)||0;this.paddingTop==c&&this.paddingBottom==h||(this.paddingTop=c,this.paddingBottom=h,p|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(n.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,p|=8);let f=(this.printing?pn:ln)(i,this.paddingTop),y=f.top-this.pixelViewport.top,u=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let g=s.width;if(this.contentDOMWidth==g&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=t.scrollDOM.clientHeight,p|=8),l){let i=t.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(i)&&(r=!0),r||n.lineWrapping&&Math.abs(g-this.contentDOMWidth)>n.charWidth){let{lineHeight:e,charWidth:o,textHeight:s}=t.docView.measureTextSize();r=e>0&&n.refresh(a,e,o,s,g/o,i),r&&(t.docView.minWidth=0,p|=8)}y>0&&u>0?d=Math.max(y,u):y<0&&u<0&&(d=Math.min(y,u)),n.heightChanged=!1;for(let o of this.viewports){let a=o.from==this.viewport.from?i:t.docView.measureVisibleLineHeights(o);this.heightMap=(r?Jo.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle,[new Ii(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(n,0,r,new Uo(o.from,a))}n.heightChanged&&(p|=2)}let b=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return b&&(this.viewport=this.getViewport(d,this.scrollTarget)),this.updateForViewport(),(2&p||b)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,t)),p|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),p}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,n=this.heightOracle,{visibleTop:a,visibleBottom:r}=this,s=new fn(o.lineAt(a-1e3*i,Yo.ByHeight,n,0,0).from,o.lineAt(r+1e3*(1-i),Yo.ByHeight,n,0,0).to);if(t){let{head:e}=t.range;if(es.to){let i,a=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),r=o.lineAt(e,Yo.ByPos,n,0,0);i="center"==t.y?(r.top+r.bottom)/2-a/2:"start"==t.y||"nearest"==t.y&&e=r+Math.max(10,Math.min(i,250)))&&o>a-2e3&&n>1,a=o<<1;if(this.defaultTextDirection!=$i.LTR&&!i)return[];let r=[],s=(o,a,l,p)=>{if(a-oo&&ee.from>=l.from&&e.to<=l.to&&Math.abs(e.from-o)e.fromt))));if(!h){if(ae.from<=a&&e.to>=a))){let e=t.moveToLineBoundary(M.cursor(a),!1,!0).head;e>o&&(a=e)}h=new dn(o,a,this.gapSize(l,o,a,p))}r.push(h)};for(let e of this.viewportLines){if(e.lengthe.from&&s(e.from,n,e,t),re.draw(this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Qe.spans(e,this.viewport.from,this.viewport.to,{span(e,i){t.push({from:e,to:i})},point(){}},20);let i=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,i)=>e.from!=t[i].from||e.to!=t[i].to));return this.visibleRanges=t,i?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((t=>t.from<=e&&t.to>=e))||wn(this.heightMap.lineAt(e,Yo.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return wn(this.heightMap.lineAt(this.scaler.fromDOM(e),Yo.ByHeight,this.heightOracle,0,0),this.scaler)}elementAtHeight(e){return wn(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}}class fn{constructor(e,t){this.from=e,this.to=t}}function yn(e,t,i){let o=[],n=e,a=0;return Qe.spans(i,e,t,{span(){},point(e,t){e>n&&(o.push({from:n,to:e}),a+=e-n),n=t}},20),n=1)return t[t.length-1].to;let o=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:n}=t[e],a=n-i;if(o<=a)return i+o;o-=a}}function mn(e,t){let i=0;for(let{from:o,to:n}of e.ranges){if(t<=n){i+=t-o;break}i+=n-o}return i/e.total}const gn={toDOM:e=>e,fromDOM:e=>e,scale:1};class bn{constructor(e,t,i){let o=0,n=0,a=0;this.viewports=i.map((({from:i,to:n})=>{let a=t.lineAt(i,Yo.ByPos,e,0,0).top,r=t.lineAt(n,Yo.ByPos,e,0,0).bottom;return o+=r-a,{from:i,to:n,top:a,bottom:r,domTop:0,domBottom:0}})),this.scale=(7e6-o)/(t.height-o);for(let e of this.viewports)e.domTop=a+(e.top-n)*this.scale,a=e.domBottom=e.domTop+(e.bottom-e.top),n=e.bottom}toDOM(e){for(let t=0,i=0,o=0;;t++){let n=twn(e,t))):e.type)}const kn=L.define({combine:e=>e.join(" ")}),vn=L.define({combine:e=>e.indexOf(!0)>-1}),On=je.newName(),xn=je.newName(),Sn=je.newName(),Cn={"&light":"."+xn,"&dark":"."+Sn};function Pn(e,t,i){return new je(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!i||!i[t])throw new RangeError(`Unsupported selector: ${t}`);return i[t]})):e+" "+t})}const Dn=Pn("."+On,{"&":{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},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",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":{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:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&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",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&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},"&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-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"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".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"}},Cn);class Tn{constructor(e,t,i,o){this.typeOver=o,this.bounds=null,this.text="";let{impreciseHead:n,impreciseAnchor:a}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let t=n||a?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:o,focusNode:n,focusOffset:a}=e.observer.selectionRange;i&&(t.push(new io(i,o)),n==i&&a==o||t.push(new io(n,a)));return t}(e),i=new eo(t,e.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function(e,t){if(0==e.length)return null;let i=e[0].pos,o=2==e.length?e[1].pos:i;return i>-1&&o>-1?M.single(i+t,o+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=n&&n.node==t.focusNode&&n.offset==t.focusOffset||!ot(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),o=a&&a.node==t.anchorNode&&a.offset==t.anchorOffset||!ot(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=M.single(o,i)}}}function Qn(t,i){let o,{newSel:n}=i,a=t.state.selection.main;if(i.bounds){let{from:n,to:r}=i.bounds,s=a.from,l=null;(8===t.inputState.lastKeyCode&&t.inputState.lastKeyTime>Date.now()-100||Gt.android&&i.text.length0&&s>0&&e.charCodeAt(r-1)==t.charCodeAt(s-1);)r--,s--;if("end"==o){i-=r+Math.max(0,a-Math.min(r,s))-a}if(r=r?a-i:0,s=a+(s-r),r=a}else if(s=s?a-i:0,r=a+(r-s),s=a}return{from:a,toA:r,toB:s}}(t.state.doc.sliceString(n,r,Ji),i.text,s-n,l);p&&(Gt.chrome&&13==t.inputState.lastKeyCode&&p.toB==p.from+2&&i.text.slice(p.from,p.toB)==Ji+Ji&&p.toB--,o={from:n+p.from,to:n+p.toA,insert:e.of(i.text.slice(p.from,p.toB).split(Ji))})}else n&&(!t.hasFocus&&t.state.facet(Pi)||n.main.eq(a))&&(n=null);if(!o&&!n)return!1;if(!o&&i.typeOver&&!a.empty&&n&&n.main.empty?o={from:a.from,to:a.to,insert:t.state.doc.slice(a.from,a.to)}:o&&o.from>=a.from&&o.to<=a.to&&(o.from!=a.from||o.to!=a.to)&&a.to-a.from-(o.to-o.from)<=4?o={from:a.from,to:a.to,insert:t.state.doc.slice(a.from,o.from).append(o.insert).append(t.state.doc.slice(o.to,a.to))}:(Gt.mac||Gt.android)&&o&&o.from==o.to&&o.from==a.head-1&&/^\. ?$/.test(o.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(n&&2==o.insert.length&&(n=M.single(n.main.anchor-1,n.main.head-1)),o={from:a.from,to:a.to,insert:e.of([" "])}):Gt.chrome&&o&&o.from==o.to&&o.from==a.head&&"\n "==o.insert.toString()&&t.lineWrapping&&(n&&(n=M.single(n.main.anchor-1,n.main.head-1)),o={from:a.from,to:a.to,insert:e.of([" "])}),o){let e=t.state;if(Gt.ios&&t.inputState.flushIOSKey(t))return!0;if(Gt.android&&(o.from==a.from&&o.to==a.to&&1==o.insert.length&&2==o.insert.lines&&bt(t.contentDOM,"Enter",13)||o.from==a.from-1&&o.to==a.to&&0==o.insert.length&&bt(t.contentDOM,"Backspace",8)||o.from==a.from&&o.to==a.to+1&&0==o.insert.length&&bt(t.contentDOM,"Delete",46)))return!0;let i,r=o.insert.toString();if(t.state.facet(wi).some((e=>e(t,o.from,o.to,r))))return!0;if(t.inputState.composing>=0&&t.inputState.composing++,o.from>=a.from&&o.to<=a.to&&o.to-o.from>=(a.to-a.from)/3&&(!n||n.main.empty&&n.main.from==o.from+o.insert.length)&&t.inputState.composing<0){let n=a.fromo.to?e.sliceDoc(o.to,a.to):"";i=e.replaceSelection(t.state.toText(n+o.insert.sliceString(0,void 0,t.state.lineBreak)+r))}else{let r=e.changes(o),s=n&&n.main.to<=r.newLength?n.main:void 0;if(e.selection.ranges.length>1&&t.inputState.composing>=0&&o.to<=a.to&&o.to>=a.to-10){let n=t.state.sliceDoc(o.from,o.to),l=ao(t)||t.state.doc.lineAt(a.head),p=a.to-o.to,d=a.to-a.from;i=e.changeByRange((i=>{if(i.from==a.from&&i.to==a.to)return{changes:r,range:s||i.map(r)};let c=i.to-p,h=c-n.length;if(i.to-i.from!=d||t.state.sliceDoc(h,c)!=n||l&&i.to>=l.from&&i.from<=l.to)return{range:i};let f=e.changes({from:h,to:c,insert:o.insert}),y=i.to-a.to;return{changes:f,range:s?M.range(Math.max(0,s.anchor+y),Math.max(0,s.head+y)):i.map(f)}}))}else i={changes:r,selection:s&&e.selection.replaceRange(s)}}let s="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,s+=".compose",t.inputState.compositionFirstChange&&(s+=".start",t.inputState.compositionFirstChange=!1)),t.dispatch(i,{scrollIntoView:!0,userEvent:s}),!0}if(n&&!n.main.eq(a)){let e=!1,i="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),i=t.inputState.lastSelectionOrigin),t.dispatch({selection:n,scrollIntoView:e,userEvent:i}),!0}return!1}const Rn={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},An=Gt.ie&&Gt.ie_version<=11;class Mn{constructor(e){this.view=e,this.active=!1,this.selectionRange=new ft,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.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(Gt.ie&&Gt.ie_version<=11||Gt.ios&&e.composing)&&t.some((e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length))?this.flushSoon():this.flush()})),An&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)this.view.requestMeasure())),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){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,i)=>t!=e[i])))){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:i}=this,o=this.selectionRange;if(i.state.facet(Pi)?i.root.activeElement!=this.dom:!nt(i.dom,o))return;let n=o.anchorNode&&i.docView.nearest(o.anchorNode);n&&n.ignoreEvent(e)?t||(this.selectionChanged=!1):(Gt.ie&&Gt.ie_version<=11||Gt.android&&Gt.chrome)&&!i.state.selection.main.empty&&o.focusNode&&rt(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Gt.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),!t)return null;let o=t.startContainer,n=t.startOffset,a=t.endContainer,r=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);rt(s.node,s.offset,a,r)&&([o,n,a,r]=[a,r,o,n]);return{anchorNode:o,anchorOffset:n,focusNode:a,focusOffset:r}}(this.view)||it(e.root);if(!t||this.selectionRange.eq(t))return!1;let i=nt(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),!this.flush()&&e.force&&bt(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(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,i=-1,o=!1;for(let n of e){let e=this.readMutation(n);e&&(e.typeOver&&(o=!0),-1==t?({from:t,to:i}=e):(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:o}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),o=this.selectionChanged&&nt(this.dom,this.selectionRange);return e<0&&!o?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new Tn(this.view,e,t,i))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let i=this.view.state,o=Qn(this.view,t);return this.view.state==i&&this.view.update([]),o}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.dirty|=4),"childList"==e.type){let i=En(t,e.previousSibling||e.target.previousSibling,-1),o=En(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:o?t.posBefore(o):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,i,o;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect(),null===(o=this.resizeContent)||void 0===o||o.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function En(e,t,i){for(;t;){let o=Ot.get(t);if(o&&o.parent==e)return o;let n=t.parentNode;t=n!=e.dom?n:i>0?t.nextSibling:t.previousSibling}return null}class Fn{constructor(e={}){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.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(e=>this.update([e])),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new hn(e.state||xe.create(e)),this.plugins=this.state.facet(Ti).map((e=>new Ri(e)));for(let e of this.plugins)e.update(this);this.observer=new Mn(this),this.inputState=new vo(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new oo(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}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.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){this._dispatch(1==e.length&&e[0]instanceof he?e[0]:this.state.update(...e))}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,o=!1,n=this.state;for(let t of e){if(t.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=t.state}if(this.destroyed)return void(this.viewState.state=n);let a=this.hasFocus,r=0,s=null;e.some((e=>e.annotation(qo)))?(this.inputState.notifiedFocused=a,r=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,s=jo(n,a),s||(r=1));let l=this.observer.delayedAndroidKey,p=null;if(l?(this.observer.clearDelayedAndroidKey(),p=this.observer.readChange(),(p&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(p=null)):this.observer.clear(),n.facet(xe.phrases)!=this.state.facet(xe.phrases))return this.setState(n);t=Gi.create(this,n,e),t.flags|=r;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(d&&(d=d.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;d=new xi(e.empty?e:M.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Si)&&(d=e.value)}this.viewState.update(t,d),this.bidiCache=In.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(Bi)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(kn)!=t.state.facet(kn)&&(this.viewState.mustMeasureContent=!0),(i||o||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(bi))e(t);(s||p)&&Promise.resolve().then((()=>{s&&this.state==s.startState&&this.dispatch(s),p&&!Qn(this,p)&&l.force&&bt(this.contentDOM,l.key,l.keyCode)}))}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new hn(e),this.plugins=e.facet(Ti).map((e=>new Ri(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new oo(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Ti),i=e.state.facet(Ti);if(t!=i){let o=[];for(let n of i){let i=t.indexOf(n);if(i<0)o.push(new Ri(n));else{let t=this.plugins[i];t.mustUpdate=e,o.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=o,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,{scrollHeight:i,scrollTop:o,clientHeight:n}=this.scrollDOM,a=o>i-n-4?i:o;try{for(let e=0;;e++){this.updateState=1;let i=this.viewport,o=this.viewState.lineBlockAtHeight(a),n=this.viewState.measure(this);if(!n&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let r=[];4&n||([this.measureRequests,r]=[r,this.measureRequests]);let s=r.map((e=>{try{return e.read(this)}catch(e){return Ci(this.state,e),Bn}})),l=Gi.create(this,this.state,[]),p=!1,d=!1;l.flags|=n,t?t.flags|=n:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),p=this.docView.update(l));for(let e=0;e1||e<-1)&&(this.scrollDOM.scrollTop+=e,d=!0)}if(p&&this.docView.updateSelection(!0),this.viewport.from==i.from&&this.viewport.to==i.to&&!d&&0==this.measureRequests.length)break}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(bi))e(t)}get themeClasses(){return On+" "+(this.state.facet(vn)?Sn:xn)+" "+this.state.facet(kn)}updateAttrs(){let e=Gn(this,Ai,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Pi)?"true":"false",class:"cm-content",style:`${Gt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Gn(this,Mi,t);let i=this.observer.ignore((()=>{let i=ei(this.contentDOM,this.contentAttrs,t),o=ei(this.dom,this.editorAttrs,e);return i||o}));return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)if(e.is(Fn.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(Bi),je.mount(this.root,this.styleModules.concat(Dn).reverse())}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&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(null!=e.key)for(let t=0;tt.spec==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}}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,i){return ko(this,e,wo(this,e,t,i))}moveByCharSelected(e,t,i){return ko(this,e,wo(this,e,t,i),!0)}moveByGroup(e,t){return ko(this,e,wo(this,e,t,(t=>function(e,t,i){let o=e.state.charCategorizer(t),n=o(i);return e=>{let t=o(e);return n==we.Space&&(n=t),n==t}}(this,e.head,t))))}moveToLineBoundary(e,t,i=!0){return function(e,t,i,o){let n=e.state.doc.lineAt(t.head),a=o&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head):null;if(a){let t=e.dom.getBoundingClientRect(),o=e.textDirectionAt(n.from),r=e.posAtCoords({x:i==(o==$i.LTR)?t.right-1:t.left+1,y:(a.top+a.bottom)/2});if(null!=r)return M.cursor(r,i?-1:1)}let r=pi.find(e.docView,t.head),s=r?i?r.posAtEnd:r.posAtStart:i?n.to:n.from;return M.cursor(s,i?-1:1)}(this,e,t,i)}moveVertically(e,t,i){return ko(this,e,function(e,t,i,o){let n=t.head,a=i?1:-1;if(n==(i?e.state.doc.length:0))return M.cursor(n,t.assoc);let r,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),p=e.coordsAtPos(n),d=e.documentTop;if(p)null==s&&(s=p.left-l.left),r=a<0?p.top:p.bottom;else{let t=e.viewState.lineBlockAt(n);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(n-t.from))),r=(a<0?t.top:t.bottom)+d}let c=l.left+s,h=null!=o?o:e.defaultLineHeight>>1;for(let i=0;;i+=10){let o=r+(h+i)*a,p=go(e,{x:c,y:o},!1,a);if(ol.bottom||(a<0?pn))return M.cursor(p,t.assoc,void 0,s)}}(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),go(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let o=this.state.doc.lineAt(e),n=this.bidiSpans(o);return ct(i,n[Zi.find(n,e-o.from,-1,t)].dir==$i.LTR==t>0)}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(vi)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Ln)return Hi(e.length);let t=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==t)return i.order;let i=function(e,t){let i=e.length,o=t==zi?1:2,n=t==zi?2:1;if(!e||1==o&&!Xi.test(e))return Hi(i);for(let t=0,n=o,r=o;t=0;e-=3)if(_i[e+1]==-a){let t=_i[e+2],i=2&t?o:4&t?1&t?n:o:0;i&&(Ui[s]=Ui[_i[e]]=i),l=e;break}}else{if(189==_i.length)break;_i[l++]=s,_i[l++]=t,_i[l++]=p}else if(2==(r=Ui[s])||1==r){let e=r==o;p=e?0:1;for(let t=l-3;t>=0;t-=3){let i=_i[t+2];if(2&i)break;if(e)_i[t+2]|=2;else{if(4&i)break;_i[t+2]|=4}}}for(let e=0;et;){let e=i,o=2!=Ui[--i];for(;i>t&&o==(2!=Ui[i-1]);)i--;r.push(new Zi(i,e,o?2:1))}else r.push(new Zi(t,e,0))}else for(let e=0;eDate.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{mt(this.contentDOM),this.docView.updateSelection()}))}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Si.of(new xi("number"==typeof e?M.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return Qi.define((()=>({})),{eventHandlers:e})}static theme(e,t){let i=je.newName(),o=[kn.of(i),Bi.of(Pn(`.${i}`,e))];return t&&t.dark&&o.push(vn.of(!0)),o}static baseTheme(e){return Z.lowest(Bi.of(Pn("."+On,e,Cn)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),o=i&&Ot.get(i)||Ot.get(e);return(null===(t=null==o?void 0:o.rootView)||void 0===t?void 0:t.view)||null}}Fn.styleModule=Bi,Fn.inputHandler=wi,Fn.focusChangeEffect=ki,Fn.perLineTextDirection=vi,Fn.exceptionSink=gi,Fn.updateListener=bi,Fn.editable=Pi,Fn.mouseSelectionStyle=mi,Fn.dragMovesSelection=ui,Fn.clickAddsSelectionRange=yi,Fn.decorations=Ei,Fn.atomicRanges=Fi,Fn.scrollMargins=Li,Fn.darkTheme=vn,Fn.contentAttributes=Mi,Fn.editorAttributes=Ai,Fn.lineWrapping=Fn.contentAttributes.of({class:"cm-lineWrapping"}),Fn.announce=ce.define();const Ln=4096,Bn={};class In{constructor(e,t,i,o){this.from=e,this.to=t,this.dir=i,this.order=o}static update(e,t){if(t.empty)return e;let i=[],o=e.length?e[e.length-1].dir:$i.LTR;for(let n=Math.max(0,e.length-10);n=0;n--){let t=o[n],a="function"==typeof t?t(e):t;a&&Kt(a,i)}return i}const $n=Gt.mac?"mac":Gt.windows?"win":Gt.linux?"linux":"key";function zn(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}const Vn=Z.default(Fn.domEventHandlers({keydown:(e,t)=>function(e,t,i,o){let n=function(e){var t=!(Je&&(e.ctrlKey||e.altKey||e.metaKey)||Ke&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Ue:Ze)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),a=b(n,0),r=k(a)==n.length&&" "!=n,s="",l=!1;qn&&qn.view==i&&qn.scope==o&&(s=qn.prefix+" ",(l=So.indexOf(t.keyCode)<0)&&(qn=null));let p,d,c=new Set,h=e=>{if(e){for(let o of e.run)if(!c.has(o)&&(c.add(o),o(i,t)))return!0;e.preventDefault&&(l=!0)}return!1},f=e[o];if(f){if(h(f[s+zn(n,t,!r)]))return!0;if(r&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Gt.windows&&t.ctrlKey&&t.altKey)&&(p=Ze[t.keyCode])&&p!=n){if(h(f[s+zn(p,t,!0)]))return!0;if(t.shiftKey&&(d=Ue[t.keyCode])!=n&&d!=p&&h(f[s+zn(d,t,!1)]))return!0}else if(r&&t.shiftKey&&h(f[s+zn(n,t,!0)]))return!0;if(h(f._any))return!0}return l}(function(e){let t=e.facet(Nn),i=Wn.get(t);i||Wn.set(t,i=function(e,t=$n){let i=Object.create(null),o=Object.create(null),n=(e,t)=>{let i=o[e];if(null==i)o[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},a=(e,o,a,r)=>{var s,l;let p=i[e]||(i[e]=Object.create(null)),d=o.split(/ (?!$)/).map((e=>function(e,t){const i=e.split(/-(?!$)/);let o,n,a,r,s=i[i.length-1];"Space"==s&&(s=" ");for(let e=0;e{let o=qn={view:t,prefix:i,scope:e};return setTimeout((()=>{qn==o&&(qn=null)}),jn),!0}]})}let c=d.join(" ");n(c,!1);let h=p[c]||(p[c]={preventDefault:!1,run:(null===(l=null===(s=p._any)||void 0===s?void 0:s.run)||void 0===l?void 0:l.slice())||[]});a&&h.run.push(a),r&&(h.preventDefault=!0)};for(let o of e){let e=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));e._any||(e._any={preventDefault:!1,run:[]});for(let t in e)e[t].run.push(o.any)}let n=o[t]||o.key;if(n)for(let t of e)a(t,n,o.run,o.preventDefault),o.shift&&a(t,"Shift-"+n,o.shift,o.preventDefault)}return i}(t.reduce(((e,t)=>e.concat(t)),[])));return i}(t.state),e,t,"editor")})),Nn=L.define({enables:Vn}),Wn=new WeakMap;let qn=null;const jn=4e3;class _n{constructor(e,t,i,o,n){this.className=e,this.left=t,this.top=i,this.width=o,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let o=e.coordsAtPos(i.head,i.assoc||1);if(!o)return[];let n=Xn(e);return[new _n(t,o.left-n.left,o.top-n.top,null,o.bottom-o.top)]}return function(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let o=Math.max(i.from,e.viewport.from),n=Math.min(i.to,e.viewport.to),a=e.textDirection==$i.LTR,r=e.contentDOM,s=r.getBoundingClientRect(),l=Xn(e),p=r.querySelector(".cm-line"),d=p&&window.getComputedStyle(p),c=s.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),h=s.right-(d?parseInt(d.paddingRight):0),f=Un(e,o),y=Un(e,n),u=f.type==ii.Text?f:null,m=y.type==ii.Text?y:null;e.lineWrapping&&(u&&(u=Zn(e,o,u)),m&&(m=Zn(e,n,m)));if(u&&m&&u.from==m.from)return b(w(i.from,i.to,u));{let t=u?w(i.from,null,u):k(f,!1),o=m?w(null,i.to,m):k(y,!0),n=[];return(u||f).to<(m||y).from-1?n.push(g(c,t.bottom,h,o.top)):t.bottomp&&o.from=a)break;s>n&&l(Math.max(e,n),null==t&&e<=p,Math.min(s,a),null==i&&s>=d,r.dir)}if(n=o.to+1,n>=a)break}return 0==s.length&&l(p,null==t,d,null==i,e.textDirection),{top:n,bottom:r,horizontal:s}}function k(e,t){let i=s.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}(e,t,i)}}function Xn(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==$i.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function Zn(e,t,i){let o=M.cursor(t);return{from:Math.max(i.from,e.moveToLineBoundary(o,!1,!0).from),to:Math.min(i.to,e.moveToLineBoundary(o,!0,!0).from),type:ii.Text}}function Un(e,t){let i=e.lineBlockAt(t);if(Array.isArray(i.type))for(let e of i.type)if(e.to>t||e.to==t&&(e.to==i.to||e.type==ii.Text))return e;return i}class Hn{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Yn)!=e.state.facet(Yn)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Yn);for(;t{return i=e,o=this.drawn[t],!(i.constructor==o.constructor&&i.eq(o));var i,o}))){let t=this.dom.firstChild,i=0;for(let o of e)o.update&&t&&o.constructor&&this.drawn[i].constructor&&o.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(o.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Yn=L.define();function Kn(e){return[Qi.define((t=>new Hn(t,e))),Yn.of(e)]}const Jn=!Gt.ios,ea=L.define({combine:e=>Se(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function ta(e={}){return[ea.of(e),oa,aa,sa,Oi.of(!0)]}function ia(e){return e.startState.facet(ea)!=e.state.facet(ea)}const oa=Kn({above:!0,markers(e){let{state:t}=e,i=t.facet(ea),o=[];for(let n of t.selection.ranges){let a=n==t.selection.main;if(n.empty?!a||Jn:i.drawRangeCursor){let t=a?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=n.empty?n:M.cursor(n.head,n.head>n.anchor?-1:1);for(let n of _n.forRange(e,t,i))o.push(n)}}return o},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=ia(e);return i&&na(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){na(t.state,e)},class:"cm-cursorLayer"});function na(e,t){t.style.animationDuration=e.facet(ea).cursorBlinkRate+"ms"}const aa=Kn({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:_n.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||ia(e),class:"cm-selectionLayer"}),ra={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Jn&&(ra[".cm-line"].caretColor="transparent !important");const sa=Z.highest(Fn.theme(ra)),la=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),pa=N.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(la)?t.value:e),e))}),da=Qi.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let i=e.state.field(pa);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(pa)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let e=this.view.state.field(pa),t=null!=e&&this.view.coordsAtPos(e);if(!t)return null;let i=this.view.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+this.view.scrollDOM.scrollLeft,top:t.top-i.top+this.view.scrollDOM.scrollTop,height:t.bottom-t.top}}drawCursor(e){this.cursor&&(e?(this.cursor.style.left=e.left+"px",this.cursor.style.top=e.top+"px",this.cursor.style.height=e.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(pa)!=e&&this.view.dispatch({effects:la.of(e)})}},{eventHandlers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ca(){return[pa,da]}function ha(e,t,i,o,n){t.lastIndex=0;for(let a,r=e.iterRange(i,o),s=i;!r.next().done;s+=r.value.length)if(!r.lineBreak)for(;a=t.exec(r.value);)n(s+a.index,a)}class fa{constructor(e){const{regexp:t,decoration:i,decorate:o,boundary:n,maxLength:a=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,o)this.addMatch=(e,t,i,n)=>o(n,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,o,n)=>{let a=i(e,t,o);a&&n(o,o+e[0].length,a)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,o,n)=>n(o,o+e[0].length,i)}this.boundary=n,this.maxLength=a}createDeco(e){let t=new Re,i=t.add.bind(t);for(let{from:t,to:o}of function(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let o=[];for(let{from:n,to:a}of i)n=Math.max(e.state.doc.lineAt(n).from,n-t),a=Math.min(e.state.doc.lineAt(a).to,a+t),o.length&&o[o.length-1].to>=n?o[o.length-1].to=a:o.push({from:n,to:a});return o}(e,this.maxLength))ha(e.state.doc,this.regexp,t,o,((t,o)=>this.addMatch(o,e,t,i)));return t.finish()}updateDeco(e,t){let i=1e9,o=-1;return e.docChanged&&e.changes.iterChanges(((t,n,a,r)=>{r>e.view.viewport.from&&a1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),i,o):t}updateRange(e,t,i,o){for(let n of e.visibleRanges){let a=Math.max(n.from,i),r=Math.min(n.to,o);if(r>a){let i=e.state.doc.lineAt(a),o=i.toi.from;a--)if(this.boundary.test(i.text[a-1-i.from])){s=a;break}for(;rd.push(i.range(e,t));if(i==o)for(this.regexp.lastIndex=s-i.from;(p=this.regexp.exec(i.text))&&p.indexthis.addMatch(i,e,t,c)));t=t.update({filterFrom:s,filterTo:l,filter:(e,t)=>el,add:d})}}return t}}const ya=null!=/x/.unicode?"gu":"g",ua=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",ya),ma={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let ga=null;const ba=L.define({combine(e){let t=Se(e,{render:null,specialChars:ua,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==ga&&"undefined"!=typeof document&&document.body){let t=document.body.style;ga=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return ga||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,ya)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,ya)),t}});function wa(e={}){return[ba.of(e),ka||(ka=Qi.fromClass(class{constructor(e){this.view=e,this.decorations=oi.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(ba)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new fa({regexp:e.specialChars,decoration:(t,i,o)=>{let{doc:n}=i.state,a=b(t[0],0);if(9==a){let e=n.lineAt(o),t=i.state.tabSize,a=Ve(e.text,t,o-e.from);return oi.replace({widget:new Oa((t-a%t)*this.view.defaultCharacterWidth)})}return this.decorationCache[a]||(this.decorationCache[a]=oi.replace({widget:new va(e,a)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(ba);e.startState.facet(ba)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let ka=null;class va extends ti{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),i=e.state.phrase("Control character")+" "+(ma[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,i,t);if(o)return o;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}}class Oa extends ti{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}class xa extends ti{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}ignoreEvent(){return!1}}const Sa="-10000px";class Ca{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(i)}update(e){var t;let i=e.state.facet(this.facet),o=i.filter((e=>e));if(i===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let n=[];for(let t=0;t{var t,i,o;return{position:Gt.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find((e=>e.parent)))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(o=e.find((e=>e.tooltipSpace)))||void 0===o?void 0:o.tooltipSpace)||Pa}}}),Ta=new WeakMap,Qa=Qi.fromClass(class{constructor(e){this.view=e,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(Da);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new Ca(e,Ma,(e=>this.createTooltip(e))),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e);t&&this.observeIntersection();let i=t||e.geometryChanged,o=e.state.facet(Da);if(o.position!=this.position){this.position=o.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;i=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=Sa,this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect();return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(Da).tooltipSpace(this.view)}}writeMeasure(e){var t;let{editor:i,space:o}=e,n=[];for(let a=0;a=Math.min(i.bottom,o.bottom)||p.rightMath.min(i.right,o.right)+.1){l.style.top=Sa;continue}let c=r.arrow?s.dom.querySelector(".cm-tooltip-arrow"):null,h=c?7:0,f=d.right-d.left,y=null!==(t=Ta.get(s))&&void 0!==t?t:d.bottom-d.top,u=s.offset||Aa,m=this.view.textDirection==$i.LTR,g=d.width>o.right-o.left?m?o.left:o.right-d.width:m?Math.min(p.left-(c?14:0)+u.x,o.right-f):Math.max(o.left,p.left-f+(c?14:0)-u.x),b=!!r.above;!r.strictSide&&(b?p.top-(d.bottom-d.top)-u.yo.bottom)&&b==o.bottom-p.bottom>p.top-o.top&&(b=!b);let w=(b?p.top-o.top:o.bottom-p.bottom)-h;if(wg&&e.topk&&(k=b?e.top-y-2-h:e.bottom+h+2);"absolute"==this.position?(l.style.top=k-e.parent.top+"px",l.style.left=g-e.parent.left+"px"):(l.style.top=k+"px",l.style.left=g+"px"),c&&(c.style.left=p.left+(m?u.x:-u.x)-(g+14-7)+"px"),!0!==s.overlap&&n.push({left:g,top:k,right:v,bottom:k+y}),l.classList.toggle("cm-tooltip-above",b),l.classList.toggle("cm-tooltip-below",!b),s.positioned&&s.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Sa}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),Ra=Fn.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Aa={x:0,y:0},Ma=L.define({enables:[Qa,Ra]});function Ea(e,t){let i=e.plugin(Qa);if(!i)return null;let o=i.manager.tooltips.indexOf(t);return o<0?null:i.manager.tooltipViews[o]}class Fa extends Ce{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Fa.prototype.elementClass="",Fa.prototype.toDOM=void 0,Fa.prototype.mapMode=O.TrackBefore,Fa.prototype.startSide=Fa.prototype.endSide=-1,Fa.prototype.point=!0;const La=L.define(),Ba=L.define(),Ia=L.define({combine:e=>e.some((e=>e))});function Ga(e){let t=[$a];return e&&!1===e.fixed&&t.push(Ia.of(!0)),t}const $a=Qi.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=e.state.facet(Ba).map((t=>new Wa(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(Ia),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,o=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(o<.8*(i.to-i.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(Ia)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let i=Qe.iter(this.view.state.facet(La),this.view.viewport.from),o=[],n=this.gutters.map((e=>new Na(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks){let t;if(Array.isArray(e.type)){for(let i of e.type)if(i.type==ii.Text){t=i;break}}else t=e.type==ii.Text?e:void 0;if(t){o.length&&(o=[]),Va(i,o,e.from);for(let e of n)e.line(this.view,t,o)}}for(let e of n)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(Ba),i=e.state.facet(Ba),o=e.docChanged||e.heightChanged||e.viewportChanged||!Qe.eq(e.startState.facet(La),e.state.facet(La),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(o=!0);else{o=!0;let n=[];for(let o of i){let i=t.indexOf(o);i<0?n.push(new Wa(this.view,o)):(this.gutters[i].update(e),n.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),n.indexOf(e)<0&&e.destroy();for(let e of n)this.dom.appendChild(e.dom);this.gutters=n}return o}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>Fn.scrollMargins.of((t=>{let i=t.plugin(e);return i&&0!=i.gutters.length&&i.fixed?t.textDirection==$i.LTR?{left:i.dom.offsetWidth}:{right:i.dom.offsetWidth}:null}))});function za(e){return Array.isArray(e)?e:[e]}function Va(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class Na{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=Qe.iter(e.markers,t.from)}line(e,t,i){let o=[];Va(this.cursor,o,t.from),i.length&&(o=o.concat(i));let n=this.gutter.config.lineMarker(e,t,o);n&&o.unshift(n);let a=this.gutter;if(0==o.length&&!a.config.renderEmptyElements)return;let r=t.top-this.height;if(this.i==a.elements.length){let i=new qa(e,t.height,r,o);a.elements.push(i),a.dom.appendChild(i.dom)}else a.elements[this.i].update(e,t.height,r,o);this.height=t.bottom,this.i++}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Wa{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,(o=>{let n,a=o.target;if(a!=this.dom&&this.dom.contains(a)){for(;a.parentNode!=this.dom;)a=a.parentNode;let e=a.getBoundingClientRect();n=(e.top+e.bottom)/2}else n=o.clientY;let r=e.lineBlockAtHeight(n-e.documentTop);t.domEventHandlers[i](e,r,o)&&o.preventDefault()}));this.markers=za(t.markers(e)),t.initialSpacer&&(this.spacer=new qa(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=za(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!Qe.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class qa{constructor(e,t,i,o){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,o)}update(e,t,i,o){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let i=0;iSe(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let o=i[e],n=t[e];i[e]=o?(e,t,i)=>o(e,t,i)||n(e,t,i):n}return i}})});class Xa extends Fa{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Za(e,t){return e.state.facet(_a).formatNumber(t,e.state)}const Ua=Ba.compute([_a],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(ja),lineMarker:(e,t,i)=>i.some((e=>e.toDOM))?null:new Xa(Za(e,e.state.doc.lineAt(t.from).number)),lineMarkerChange:e=>e.startState.facet(_a)!=e.state.facet(_a),initialSpacer:e=>new Xa(Za(e,Ha(e.state.doc.lines))),updateSpacer(e,t){let i=Za(t.view,Ha(t.view.state.doc.lines));return i==e.number?e:new Xa(i)},domEventHandlers:e.facet(_a).domEventHandlers})));function Ha(e){let t=9;for(;t{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=or.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}er.closedBy=new er({deserialize:e=>e.split(" ")}),er.openedBy=new er({deserialize:e=>e.split(" ")}),er.group=new er({deserialize:e=>e.split(" ")}),er.contextHash=new er({perNode:!0}),er.lookAhead=new er({perNode:!0}),er.mounted=new er({perNode:!0});class tr{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}}const ir=Object.create(null);class or{constructor(e,t,i,o=0){this.name=e,this.props=t,this.id=i,this.flags=o}static define(e){let t=e.props&&e.props.length?Object.create(null):ir,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),o=new or(e.name||"",t,e.id,i);if(e.props)for(let i of e.props)if(Array.isArray(i)||(i=i(o)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}return o}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(er.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let o of i.split(" "))t[o]=e[i];return e=>{for(let i=e.prop(er.group),o=-1;o<(i?i.length:0);o++){let n=t[o<0?e.name:i[o]];if(n)return n}}}}or.none=new or("",Object.create(null),0,8);class nr{constructor(e){this.types=e;for(let t=0;t=o&&(a.type.isAnonymous||!1!==t(a))){if(a.firstChild())continue;e=!0}for(;e&&i&&!a.type.isAnonymous&&i(a),!a.nextSibling();){if(!a.parent())return;e=!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:xr(or.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,i)=>new lr(this.type,e,t,i,this.propValues)),e.makeTree||((e,t,i)=>new lr(or.none,e,t,i)))}static build(e){return function(e){var t;let{buffer:i,nodeSet:o,maxBufferLength:n=Ya,reused:a=[],minRepeatType:r=o.types.length}=e,s=Array.isArray(i)?new pr(i,i.length):i,l=o.types,p=0,d=0;function c(e,t,i,g,b){let{id:w,start:k,end:v,size:O}=s,x=d;for(;O<0;){if(s.next(),-1==O){let t=a[w];return i.push(t),void g.push(k-e)}if(-3==O)return void(p=w);if(-4==O)return void(d=w);throw new RangeError(`Unrecognized record size: ${O}`)}let S,C,P=l[w],D=k-e;if(v-k<=n&&(C=u(s.pos-t,b))){let t=new Uint16Array(C.size-C.skip),i=s.pos-C.size,n=t.length;for(;s.pos>i;)n=m(C.start,t,n);S=new dr(t,v-C.start,o),D=C.start-e}else{let e=s.pos-O;s.next();let t=[],i=[],o=w>=r?w:-1,a=0,l=v;for(;s.pos>e;)o>=0&&s.id==o&&s.size>=0?(s.end<=l-n&&(f(t,i,k,a,s.end,l,o,x),a=t.length,l=s.end),s.next()):c(k,e,t,i,o);if(o>=0&&a>0&&a-1&&a>0){let e=h(P);S=xr(P,t,i,0,t.length,0,v-k,e,e)}else S=y(P,t,i,v-k,x-v)}i.push(S),g.push(D)}function h(e){return(t,i,o)=>{let n,a,r=0,s=t.length-1;if(s>=0&&(n=t[s])instanceof lr){if(!s&&n.type==e&&n.length==o)return n;(a=n.prop(er.lookAhead))&&(r=i[s]+n.length+a)}return y(e,t,i,o,r)}}function f(e,t,i,n,a,r,s,l){let p=[],d=[];for(;e.length>n;)p.push(e.pop()),d.push(t.pop()+i-a);e.push(y(o.types[s],p,d,r-a,l-r)),t.push(a-i)}function y(e,t,i,o,n=0,a){if(p){let e=[er.contextHash,p];a=a?[e].concat(a):[e]}if(n>25){let e=[er.lookAhead,n];a=a?[e].concat(a):[e]}return new lr(e,t,i,o,a)}function u(e,t){let i=s.fork(),o=0,a=0,l=0,p=i.end-n,d={size:0,start:0,skip:0};e:for(let n=i.pos-e;i.pos>n;){let e=i.size;if(i.id==t&&e>=0){d.size=o,d.start=a,d.skip=l,l+=4,o+=4,i.next();continue}let s=i.pos-e;if(e<0||s=r?4:0,h=i.start;for(i.next();i.pos>s;){if(i.size<0){if(-3!=i.size)break e;c+=4}else i.id>=r&&(c+=4);i.next()}a=h,o+=e,l+=c}return(t<0||o==e)&&(d.size=o,d.start=a,d.skip=l),d.size>4?d:void 0}function m(e,t,i){let{id:o,start:n,end:a,size:l}=s;if(s.next(),l>=0&&o4){let o=s.pos-(l-4);for(;s.pos>o;)i=m(e,t,i)}t[--i]=r,t[--i]=a-e,t[--i]=n-e,t[--i]=o}else-3==l?p=o:-4==l&&(d=o);return i}let g=[],b=[];for(;s.pos>0;)c(e.start||0,e.bufferStart||0,g,b,-1);let w=null!==(t=e.length)&&void 0!==t?t:g.length?b[0]+g[0].length:0;return new lr(l[e.topID],g.reverse(),b.reverse(),w)}(e)}}lr.empty=new lr(or.none,[],[],0);class pr{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 pr(this.buffer,this.index)}}class dr{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return or.none}toString(){let e=[];for(let t=0;t0));s=a[s+3]);return r}slice(e,t,i){let o=this.buffer,n=new Uint16Array(t-e),a=0;for(let r=e,s=0;r=t&&it;case 1:return i<=t&&o>t;case 2:return o>t;case 4:return!0}}function hr(e,t){let i=e.childBefore(t);for(;i;){let t=i.lastChild;if(!t||t.to!=i.to)break;t.type.isError&&t.from==t.to?(e=i,i=t.prevSibling):i=t}return e}function fr(e,t,i,o){for(var n;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to0?r.length:-1;e!=l;e+=t){let l=r[e],p=s[e]+a.from;if(cr(o,i,p,p+l.length))if(l instanceof dr){if(n&sr.ExcludeBuffers)continue;let r=l.findChild(0,l.buffer.length,t,i-p,o);if(r>-1)return new br(new gr(a,l,e,p),null,r)}else if(n&sr.IncludeAnonymous||!l.type.isAnonymous||kr(l)){let r;if(!(n&sr.IgnoreMounts)&&l.props&&(r=l.prop(er.mounted))&&!r.overlay)return new yr(r.tree,p,e,a);let s=new yr(l,p,e,a);return n&sr.IncludeAnonymous||!s.type.isAnonymous?s:s.nextChild(t<0?l.children.length-1:0,t,i,o)}}if(n&sr.IncludeAnonymous||!a.type.isAnonymous)return null;if(e=a.index>=0?a.index+t:t<0?-1:a._parent._tree.children.length,a=a._parent,!a)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)}enter(e,t,i=0){let o;if(!(i&sr.IgnoreOverlays)&&(o=this._tree.prop(er.mounted))&&o.overlay){let i=e-this.from;for(let{from:e,to:n}of o.overlay)if((t>0?e<=i:e=i:n>i))return new yr(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}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}cursor(e=0){return new wr(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return fr(this,e,t,!1)}resolveInner(e,t=0){return fr(this,e,t,!0)}enterUnfinishedNodesBefore(e){return hr(this,e)}getChild(e,t=null,i=null){let o=ur(this,e,t,i);return o.length?o[0]:null}getChildren(e,t=null,i=null){return ur(this,e,t,i)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return mr(this,e)}}function ur(e,t,i,o){let n=e.cursor(),a=[];if(!n.firstChild())return a;if(null!=i)for(;!n.type.is(i);)if(!n.nextSibling())return a;for(;;){if(null!=o&&n.type.is(o))return a;if(n.type.is(t)&&a.push(n.node),!n.nextSibling())return null==o?a:[]}}function mr(e,t,i=t.length-1){for(let o=e.parent;i>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(t[i]&&t[i]!=o.name)return!1;i--}}return!0}class gr{constructor(e,t,i,o){this.parent=e,this.buffer=t,this.index=i,this.start=o}}class br{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,i){this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:o}=this.context,n=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new br(this.context,this,n)}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)}enter(e,t,i=0){if(i&sr.ExcludeBuffers)return null;let{buffer:o}=this.context,n=o.findChild(this.index+4,o.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new br(this.context,this,n)}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 br(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 br(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new wr(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,o=this.index+4,n=i.buffer[this.index+3];if(n>o){let a=i.buffer[this.index+1];e.push(i.slice(o,n,a)),t.push(0)}return new lr(this.type,e,t,this.to-this.from)}resolve(e,t=0){return fr(this,e,t,!1)}resolveInner(e,t=0){return fr(this,e,t,!0)}enterUnfinishedNodesBefore(e){return hr(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,i=null){let o=ur(this,e,t,i);return o.length?o[0]:null}getChildren(e,t=null,i=null){return ur(this,e,t,i)}get node(){return this}matchContext(e){return mr(this,e)}}class wr{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof yr)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.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)}yieldBuf(e,t){this.index=e;let{start:i,buffer:o}=this.buffer;return this.type=t||o.set.types[o.buffer[e]],this.from=i+o.buffer[e+1],this.to=i+o.buffer[e+2],!0}yield(e){return!!e&&(e instanceof yr?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:o}=this.buffer,n=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,i);return!(n<0)&&(this.stack.push(this.index),this.yieldBuf(n))}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,i=this.mode){return this.buffer?!(i&sr.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&sr.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&sr.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));let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let e=i<0?0:this.stack[i]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(e)}return i<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:o}=this;if(o){if(e>0){if(this.index-1)for(let o=t+e,n=e<0?-1:i._tree.children.length;o!=n;o+=e){let e=i._tree.children[o];if(this.mode&sr.IncludeAnonymous||e instanceof dr||!e.type.isAnonymous||kr(e))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 a=e;a;a=a._parent)if(a.index==o){if(o==this.index)return a;t=a,i=n+1;break e}o=this.stack[--n]}for(let e=i;e=0;n--){if(n<0)return mr(this.node,e,o);let a=i[t.buffer[this.stack[n]]];if(!a.isAnonymous){if(e[o]&&e[o]!=a.name)return!1;o--}}return!0}}function kr(e){return e.children.some((e=>e instanceof dr||!e.type.isAnonymous||kr(e)))}const vr=new WeakMap;function Or(e,t){if(!e.isAnonymous||t instanceof dr||t.type!=e)return 1;let i=vr.get(t);if(null==i){i=1;for(let o of t.children){if(o.type!=e||!(o instanceof lr)){i=1;break}i+=Or(e,o)}vr.set(t,i)}return i}function xr(e,t,i,o,n,a,r,s,l){let p=0;for(let i=o;i=d)break;y+=t}if(p==n+1){if(y>d){let e=i[n];t(e.children,e.positions,0,e.children.length,o[n]+s);continue}c.push(i[n])}else{let t=o[p-1]+i[p-1].length-f;c.push(xr(e,i,o,n,p,f,t,null,l))}h.push(f+s-a)}}(t,i,o,n,0),(s||l)(c,h,r)}class Sr{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let o=this.map.get(e);o||this.map.set(e,o=new Map),o.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof br?this.setBuffer(e.context.buffer,e.index,t):e instanceof yr&&this.map.set(e.tree,t)}get(e){return e instanceof br?this.getBuffer(e.context.buffer,e.index):e instanceof yr?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)}}class Cr{constructor(e,t,i,o,n=!1,a=!1){this.from=e,this.to=t,this.tree=i,this.offset=o,this.open=(n?1:0)|(a?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let o=[new Cr(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&o.push(i);return o}static applyChanges(e,t,i=128){if(!t.length)return e;let o=[],n=1,a=e.length?e[0]:null;for(let r=0,s=0,l=0;;r++){let p=r=i)for(;a&&a.from=t.from||d<=t.to||l){let e=Math.max(t.from,s)-l,i=Math.min(t.to,d)-l;t=e>=i?null:new Cr(e,i,t.tree,t.offset+l,r>0,!!p)}if(t&&o.push(t),a.to>d)break;a=nnew Ja(e.from,e.to))):[new Ja(0,0)]:[new Ja(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let o=this.startParse(e,t,i);for(;;){let e=o.advance();if(e)return e}}}class Dr{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 Tr(e){return(t,i,o,n)=>new Mr(t,e,i,o,n)}class Qr{constructor(e,t,i,o,n){this.parser=e,this.parse=t,this.overlay=i,this.target=o,this.ranges=n}}class Rr{constructor(e,t,i,o,n,a,r){this.parser=e,this.predicate=t,this.mounts=i,this.index=o,this.start=n,this.target=a,this.prev=r,this.depth=0,this.ranges=[]}}const Ar=new er({perNode:!0});class Mr{constructor(e,t,i,o,n){this.nest=t,this.input=i,this.fragments=o,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new lr(e.type,e.children,e.positions,e.length,e.propValues.concat([[Ar,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[er.mounted.id]=new tr(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;te.frag.from<=o.from&&e.frag.to>=o.to&&e.mount.overlay));if(e)for(let i of e.mount.overlay){let n=i.from+e.pos,a=i.to+e.pos;n>=o.from&&a<=o.to&&!t.ranges.some((e=>e.fromn))&&t.ranges.push({from:n,to:a})}}s=!1}else if(i&&(a=Er(i.ranges,o.from,o.to)))s=2!=a;else if(!o.type.isAnonymous&&o.fromnew Ja(e.from-o.from,e.to-o.from))):null,o.tree,e)),n.overlay?e.length&&(i={ranges:e,depth:0,prev:i}):s=!1}}else t&&(r=t.predicate(o))&&(!0===r&&(r=new Ja(o.from,o.to)),r.fromnew Ja(e.from-t.start,e.to-t.start))),t.target,e)),t=t.prev}i&&! --i.depth&&(i=i.prev)}}}}function Er(e,t,i){for(let o of e){if(o.from>=i)break;if(o.to>t)return o.from<=t&&o.to>=i?2:1}return 0}function Fr(e,t,i,o,n,a){if(t=t.to);o++);let r=n.children[o],s=r.buffer;n.children[o]=function e(i,o,n,l,p){let d=i;for(;s[d+2]+a<=t.from;)d=s[d+3];let c=[],h=[];Fr(r,i,d,c,h,l);let f=s[d+1],y=s[d+2],u=f+a==t.from&&y+a==t.to&&s[d]==t.type.id;return c.push(u?t.toTree():e(d+4,s[d+3],r.set.types[s[d]],f,y-f)),h.push(f-l),Fr(r,s[d+3],o,c,h,l),new lr(n,c,h,p)}(0,s.length,or.none,0,r.length);for(let o=0;o<=i;o++)e.childAfter(t.from)}class Br{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(sr.IncludeAnonymous|sr.IgnoreMounts)}moveTo(e){let{cursor:t}=this,i=e-this.offset;for(;!this.done&&t.from=e&&t.enter(i,1,sr.IgnoreOverlays|sr.ExcludeBuffers)||t.next(!1)||(this.done=!0)}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&&0==t.positions[0]&&t.children[0]instanceof lr))break;t=t.children[0]}return!1}}let Ir=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=null!==(t=i.tree.prop(Ar))&&void 0!==t?t:i.to,this.inner=new Br(i.tree,-i.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=null!==(e=t.tree.prop(Ar))&&void 0!==e?e:t.to,this.inner=new Br(t.tree,-t.offset)}}findMounts(e,t){var i;let o=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let n=null===(i=e.tree)||void 0===i?void 0:i.prop(er.mounted);if(n&&n.parser==t)for(let t=this.fragI;t=e.to)break;i.tree==this.curFrag.tree&&o.push({frag:i,pos:e.from-i.offset,mount:n})}}}return o}};function Gr(e,t){let i=null,o=t;for(let n=1,a=0;n=s)break;e.to<=r||(i||(o=i=t.slice()),e.froms&&i.splice(a+1,0,new Ja(s,e.to))):e.to>s?i[a--]=new Ja(s,e.to):i.splice(a--,1))}}return o}function $r(e,t,i,o){let n=0,a=0,r=!1,s=!1,l=-1e9,p=[];for(;;){let d=n==e.length?1e9:r?e[n].to:e[n].from,c=a==t.length?1e9:s?t[a].to:t[a].from;if(r!=s){let e=Math.max(l,i),t=Math.min(d,c,o);enew Ja(e.from+o,e.to+o))),s,l);for(let t=0,o=s;;t++){let s=t==r.length,p=s?l:r[t].from;if(p>o&&i.push(new Cr(o,p,n.tree,-e,a.from>=o||a.openStart,a.to<=p||a.openEnd)),s)break;o=r[t].to}}else i.push(new Cr(s,l,n.tree,-e,a.from>=e||a.openStart,a.to<=r||a.openEnd))}return i}let Vr=0;class Nr{constructor(e,t,i){this.set=e,this.base=t,this.modified=i,this.id=Vr++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Nr([],null,[]);if(t.set.push(t),e)for(let i of e.set)t.set.push(i);return t}static defineModifier(){let e=new qr;return t=>t.modified.indexOf(e)>-1?t:qr.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let Wr=0;class qr{constructor(){this.instances=[],this.id=Wr++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find((i=>{return i.base==e&&(o=t,n=i.modified,o.length==n.length&&o.every(((e,t)=>e==n[t])));var o,n}));if(i)return i;let o=[],n=new Nr(o,e,t);for(let e of t)e.instances.push(n);let a=function(e){let t=[[]];for(let i=0;it.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of a)o.push(qr.get(t,e));return n}}function jr(e){let t=Object.create(null);for(let i in e){let o=e[i];Array.isArray(o)||(o=[o]);for(let e of i.split(" "))if(e){let i=[],n=2,a=e;for(let t=0;;){if("..."==a&&t>0&&t+3==e.length){n=1;break}let o=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!o)throw new RangeError("Invalid path: "+e);if(i.push("*"==o[0]?"":'"'==o[0][0]?JSON.parse(o[0]):o[0]),t+=o[0].length,t==e.length)break;let r=e[t++];if(t==e.length&&"!"==r){n=0;break}if("/"!=r)throw new RangeError("Invalid path: "+e);a=e.slice(t)}let r=i.length-1,s=i[r];if(!s)throw new RangeError("Invalid path: "+e);let l=new Xr(o,n,r>0?i.slice(0,r):null);t[s]=l.sort(t[s])}}return _r.add(t)}const _r=new er;class Xr{constructor(e,t,i,o){this.tags=e,this.mode=t,this.context=i,this.next=o}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=n;for(let o of e)for(let e of o.set){let o=i[e.id];if(o){t=t?t+" "+o:o;break}}return t},scope:o}}function Ur(e,t,i,o=0,n=e.length){let a=new Hr(o,Array.isArray(t)?t:[t],i);a.highlightRange(e.cursor(),o,n,"",a.highlighters),a.flush(n)}Xr.empty=new Xr([],2,null);class Hr{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,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,i,o,n){let{type:a,from:r,to:s}=e;if(r>=i||s<=t)return;a.isTop&&(n=this.highlighters.filter((e=>!e.scope||e.scope(a))));let l=o,p=function(e){let t=e.type.prop(_r);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||Xr.empty,d=function(e,t){let i=null;for(let o of e){let e=o.style(t);e&&(i=i?i+" "+e:e)}return i}(n,p.tags);if(d&&(l&&(l+=" "),l+=d,1==p.mode&&(o+=(o?" ":"")+d)),this.startSpan(e.from,l),p.opaque)return;let c=e.tree&&e.tree.prop(er.mounted);if(c&&c.overlay){let a=e.node.enter(c.overlay[0].from+r,1),p=this.highlighters.filter((e=>!e.scope||e.scope(c.tree.type))),d=e.firstChild();for(let h=0,f=r;;h++){let y=h=u)&&e.nextSibling()););if(!y||u>i)break;f=y.to+r,f>t&&(this.highlightRange(a.cursor(),Math.max(t,y.from+r),Math.min(i,f),o,p),this.startSpan(f,l))}d&&e.parent()}else if(e.firstChild()){do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,o,n),this.startSpan(Math.min(i,e.to),l)}}while(e.nextSibling());e.parent()}}}const Yr=Nr.define,Kr=Yr(),Jr=Yr(),es=Yr(Jr),ts=Yr(Jr),is=Yr(),os=Yr(is),ns=Yr(is),as=Yr(),rs=Yr(as),ss=Yr(),ls=Yr(),ps=Yr(),ds=Yr(ps),cs=Yr(),hs={comment:Kr,lineComment:Yr(Kr),blockComment:Yr(Kr),docComment:Yr(Kr),name:Jr,variableName:Yr(Jr),typeName:es,tagName:Yr(es),propertyName:ts,attributeName:Yr(ts),className:Yr(Jr),labelName:Yr(Jr),namespace:Yr(Jr),macroName:Yr(Jr),literal:is,string:os,docString:Yr(os),character:Yr(os),attributeValue:Yr(os),number:ns,integer:Yr(ns),float:Yr(ns),bool:Yr(is),regexp:Yr(is),escape:Yr(is),color:Yr(is),url:Yr(is),keyword:ss,self:Yr(ss),null:Yr(ss),atom:Yr(ss),unit:Yr(ss),modifier:Yr(ss),operatorKeyword:Yr(ss),controlKeyword:Yr(ss),definitionKeyword:Yr(ss),moduleKeyword:Yr(ss),operator:ls,derefOperator:Yr(ls),arithmeticOperator:Yr(ls),logicOperator:Yr(ls),bitwiseOperator:Yr(ls),compareOperator:Yr(ls),updateOperator:Yr(ls),definitionOperator:Yr(ls),typeOperator:Yr(ls),controlOperator:Yr(ls),punctuation:ps,separator:Yr(ps),bracket:ds,angleBracket:Yr(ds),squareBracket:Yr(ds),paren:Yr(ds),brace:Yr(ds),content:as,heading:rs,heading1:Yr(rs),heading2:Yr(rs),heading3:Yr(rs),heading4:Yr(rs),heading5:Yr(rs),heading6:Yr(rs),contentSeparator:Yr(as),list:Yr(as),quote:Yr(as),emphasis:Yr(as),strong:Yr(as),link:Yr(as),monospace:Yr(as),strikethrough:Yr(as),inserted:Yr(),deleted:Yr(),changed:Yr(),invalid:Yr(),meta:cs,documentMeta:Yr(cs),annotation:Yr(cs),processingInstruction:Yr(cs),definition:Nr.defineModifier(),constant:Nr.defineModifier(),function:Nr.defineModifier(),standard:Nr.defineModifier(),local:Nr.defineModifier(),special:Nr.defineModifier()};var fs;Zr([{tag:hs.link,class:"tok-link"},{tag:hs.heading,class:"tok-heading"},{tag:hs.emphasis,class:"tok-emphasis"},{tag:hs.strong,class:"tok-strong"},{tag:hs.keyword,class:"tok-keyword"},{tag:hs.atom,class:"tok-atom"},{tag:hs.bool,class:"tok-bool"},{tag:hs.url,class:"tok-url"},{tag:hs.labelName,class:"tok-labelName"},{tag:hs.inserted,class:"tok-inserted"},{tag:hs.deleted,class:"tok-deleted"},{tag:hs.literal,class:"tok-literal"},{tag:hs.string,class:"tok-string"},{tag:hs.number,class:"tok-number"},{tag:[hs.regexp,hs.escape,hs.special(hs.string)],class:"tok-string2"},{tag:hs.variableName,class:"tok-variableName"},{tag:hs.local(hs.variableName),class:"tok-variableName tok-local"},{tag:hs.definition(hs.variableName),class:"tok-variableName tok-definition"},{tag:hs.special(hs.variableName),class:"tok-variableName2"},{tag:hs.definition(hs.propertyName),class:"tok-propertyName tok-definition"},{tag:hs.typeName,class:"tok-typeName"},{tag:hs.namespace,class:"tok-namespace"},{tag:hs.className,class:"tok-className"},{tag:hs.macroName,class:"tok-macroName"},{tag:hs.propertyName,class:"tok-propertyName"},{tag:hs.operator,class:"tok-operator"},{tag:hs.comment,class:"tok-comment"},{tag:hs.meta,class:"tok-meta"},{tag:hs.invalid,class:"tok-invalid"},{tag:hs.punctuation,class:"tok-punctuation"}]);const ys=new er;function us(e){return L.define({combine:e?t=>t.concat(e):void 0})}const ms=new er;class gs{constructor(e,t,i=[],o=""){this.data=e,this.name=o,xe.prototype.hasOwnProperty("tree")||Object.defineProperty(xe.prototype,"tree",{get(){return ks(this)}}),this.parser=t,this.extension=[Qs.of(this),xe.languageData.of(((e,t,i)=>{let o=bs(e,t,i),n=o.type.prop(ys);if(!n)return[];let a=e.facet(n),r=o.type.prop(ms);if(r){let n=o.resolve(t-o.from,i);for(let t of r)if(t.test(n,e)){let i=e.facet(t.facet);return"replace"==t.type?i:i.concat(a)}}return a}))].concat(i)}isActiveAt(e,t,i=-1){return bs(e,t,i).type.prop(ys)==this.data}findRegions(e){let t=e.facet(Qs);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],o=(e,t)=>{if(e.prop(ys)==this.data)return void i.push({from:t,to:t+e.length});let n=e.prop(er.mounted);if(n){if(n.tree.prop(ys)==this.data){if(n.overlay)for(let e of n.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(n.overlay){let e=i.length;if(o(n.tree,n.overlay[0].from+t),i.length>e)return}}for(let i=0;ie.isTop?t:void 0))]}),e.name)}configure(e,t){return new ws(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function ks(e){let t=e.field(gs.state,!1);return t?t.tree:lr.empty}class vs{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 i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Os=null;class xs{constructor(e,t,i=[],o,n,a,r,s){this.parser=e,this.state=t,this.fragments=i,this.tree=o,this.treeLen=n,this.viewport=a,this.skipped=r,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new xs(e,t,[],lr.empty,0,i,[],null)}startParse(){return this.parser.startParse(new vs(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=lr.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||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(Cr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Os;Os=this;try{return e()}finally{Os=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ss(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:o,treeLen:n,viewport:a,skipped:r}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,i,o,n)=>t.push({fromA:e,toA:i,fromB:o,toB:n}))),i=Cr.applyChanges(i,t),o=lr.empty,n=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){r=[];for(let t of this.skipped){let i=e.mapPos(t.from,1),o=e.mapPos(t.to,-1);ie.from&&(this.fragments=Ss(this.fragments,i,o),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(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 Pr{createParse(t,i,o){let n=o[0].from,a=o[o.length-1].to;return{parsedPos:n,advance(){let t=Os;if(t){for(let e of o)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=a,new lr(or.none,[],[],a-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return Os}}function Ss(e,t,i){return Cr.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class Cs{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),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Cs(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=xs.create(e.facet(Qs).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Cs(i)}}gs.state=N.define({create:Cs.init,update(e,t){for(let e of t.effects)if(e.is(gs.setState))return e.value;return t.startState.facet(Qs)!=t.state.facet(Qs)?Cs.init(t.state):e.apply(t)}});let Ps=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(Ps=e=>{let t=-1,i=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});const Ds="undefined"!=typeof navigator&&(null===(fs=navigator.scheduling)||void 0===fs?void 0:fs.isInputPending)?()=>navigator.scheduling.isInputPending():null,Ts=Qi.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(gs.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(gs.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=Ps(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndo+1e3,s=n.context.work((()=>Ds&&Ds()||Date.now()>a),o+(r?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:gs.setState.of(new Cs(n.context))})),this.chunkBudget>0&&(!s||r)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>Ci(this.view.state,e))).then((()=>this.workScheduled--)),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Qs=L.define({combine:e=>e.length?e[0]:null,enables:e=>[gs.state,Ts,Fn.contentAttributes.compute([e],(t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}}))]});class Rs{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class As{constructor(e,t,i,o,n,a=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=o,this.loadFunc=n,this.support=a,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:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new As(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let i=/\.([^.]+)$/.exec(t);if(i)for(let t of e)if(t.extensions.indexOf(i[1])>-1)return t;return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some((e=>e==t)))return i;if(i)for(let i of e)for(let e of i.alias){let o=t.indexOf(e);if(o>-1&&(e.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+e.length])))return i}return null}}const Ms=L.define(),Es=L.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((e=>e!=t[0])))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function Fs(e){let t=e.facet(Es);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Ls(e,t){let i="",o=e.tabSize,n=e.facet(Es)[0];if("\t"==n){for(;t>=o;)i+="\t",t-=o;n=" "}for(let e=0;e=i.from&&o<=i.to?n&&o==e?{text:"",from:e}:(t<0?o-1&&(n+=a-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return Ve(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:o}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let e=n(o);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Gs=new er;function $s(e){let t=e.type.prop(Gs);if(t)return t;let i,o=e.firstChild;if(o&&(i=o.type.prop(er.closedBy))){let t=e.lastChild,o=t&&i.indexOf(t.name)>-1;return e=>js(e,!0,1,void 0,o&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Vs:null}function zs(e,t,i){for(;e;e=e.parent){let o=$s(e);if(o)return o(Ns.create(i,t,e))}return null}function Vs(){return 0}class Ns extends Is{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.node=i}static create(e,t,i){return new Ns(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let e=this.state.doc.lineAt(this.node.from);for(;;){let t=this.node.resolve(e.from);for(;t.parent&&t.parent.from==t.from;)t=t.parent;if(Ws(t,this.node))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}continue(){let e=this.node.parent;return e?zs(e,this.pos,this.base):0}}function Ws(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function qs({closing:e,align:t=!0,units:i=1}){return o=>js(o,t,i,e)}function js(e,t,i,o,n){let a=e.textAfter,r=a.match(/^\s*/)[0].length,s=o&&a.slice(r,r+o.length)==o||n==e.pos+r,l=t?function(e){let t=e.node,i=t.childAfter(t.from),o=t.lastChild;if(!i)return null;let n=e.options.simulateBreak,a=e.state.doc.lineAt(i.from),r=null==n||n<=a.from?a.to:Math.min(a.to,n);for(let e=i.to;;){let n=t.childAfter(e);if(!n||n==o)return null;if(!n.type.isSkipped)return n.from{let o=e&&e.test(i.textAfter);return i.baseIndent+(o?0:t*i.unit)}}function Xs(){return xe.transactionFilter.of((e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:o}=e.newSelection.main,n=i.lineAt(o);if(o>n.from+200)return e;let a=i.sliceString(n.from,o);if(!t.some((e=>e.test(a))))return e;let{state:r}=e,s=-1,l=[];for(let{head:e}of r.selection.ranges){let t=r.doc.lineAt(e);if(t.from==s)continue;s=t.from;let i=Bs(r,t.from);if(null==i)continue;let o=/^\s*/.exec(t.text)[0],n=Ls(r,i);o!=n&&l.push({from:t.from,to:t.from+o.length,insert:n})}return l.length?[e,{changes:l,sequential:!0}]:e}))}const Zs=L.define(),Us=new er;function Hs(e){let t=e.firstChild,i=e.lastChild;return t&&t.toe.prop(ys)==a.data:a?e=>e==a:void 0,this.style=Zr(e.map((e=>({tag:e.tag,class:e.class||o(Object.assign({},e,{tag:null}))}))),{all:n}).style,this.module=i?new je(i):null,this.themeType=t.themeType}static define(e,t){return new Ys(e,t||{})}}const Ks=L.define(),Js=L.define({combine:e=>e.length?[e[0]]:null});function el(e){let t=e.facet(Ks);return t.length?t:e.facet(Js)}function tl(e,t){let i,o=[ol];return e instanceof Ys&&(e.module&&o.push(Fn.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?o.push(Js.of(e)):i?o.push(Ks.computeN([Fn.darkTheme],(t=>t.facet(Fn.darkTheme)==("dark"==i)?[e]:[]))):o.push(Ks.of(e)),o}class il{constructor(e){this.markCache=Object.create(null),this.tree=ks(e.state),this.decorations=this.buildDeco(e,el(e.state))}update(e){let t=ks(e.state),i=el(e.state),o=i!=el(e.startState);t.length{i.add(e,t,this.markCache[o]||(this.markCache[o]=oi.mark({class:o})))}),o,n);return i.finish()}}const ol=Z.high(Qi.fromClass(il,{decorations:e=>e.decorations})),nl=Ys.define([{tag:hs.meta,color:"#404740"},{tag:hs.link,textDecoration:"underline"},{tag:hs.heading,textDecoration:"underline",fontWeight:"bold"},{tag:hs.emphasis,fontStyle:"italic"},{tag:hs.strong,fontWeight:"bold"},{tag:hs.strikethrough,textDecoration:"line-through"},{tag:hs.keyword,color:"#708"},{tag:[hs.atom,hs.bool,hs.url,hs.contentSeparator,hs.labelName],color:"#219"},{tag:[hs.literal,hs.inserted],color:"#164"},{tag:[hs.string,hs.deleted],color:"#a11"},{tag:[hs.regexp,hs.escape,hs.special(hs.string)],color:"#e40"},{tag:hs.definition(hs.variableName),color:"#00f"},{tag:hs.local(hs.variableName),color:"#30a"},{tag:[hs.typeName,hs.namespace],color:"#085"},{tag:hs.className,color:"#167"},{tag:[hs.special(hs.variableName),hs.macroName],color:"#256"},{tag:hs.definition(hs.propertyName),color:"#00c"},{tag:hs.comment,color:"#940"},{tag:hs.invalid,color:"#f00"}]),al=Fn.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),rl=1e4,sl="()[]{}",ll=L.define({combine:e=>Se(e,{afterCursor:!0,brackets:sl,maxScanDistance:rl,renderMatch:cl})}),pl=oi.mark({class:"cm-matchingBracket"}),dl=oi.mark({class:"cm-nonmatchingBracket"});function cl(e){let t=[],i=e.matched?pl:dl;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}const hl=N.define({create:()=>oi.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let i=[],o=t.state.facet(ll);for(let e of t.state.selection.ranges){if(!e.empty)continue;let n=bl(t.state,e.head,-1,o)||e.head>0&&bl(t.state,e.head-1,1,o)||o.afterCursor&&(bl(t.state,e.head,1,o)||e.headFn.decorations.from(e)}),fl=[hl,al];function yl(e={}){return[ll.of(e),fl]}const ul=new er;function ml(e,t,i){let o=e.prop(t<0?er.openedBy:er.closedBy);if(o)return o;if(1==e.name.length){let o=i.indexOf(e.name);if(o>-1&&o%2==(t<0?1:0))return[i[o+t]]}return null}function gl(e){let t=e.type.prop(ul);return t?t(e.node):e}function bl(e,t,i,o={}){let n=o.maxScanDistance||rl,a=o.brackets||sl,r=ks(e),s=r.resolveInner(t,i);for(let o=s;o;o=o.parent){let n=ml(o.type,i,a);if(n&&o.from0?t>=r.from&&tr.from&&t<=r.to))return wl(e,t,i,o,r,n,a)}}return function(e,t,i,o,n,a,r){let s=i<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=r.indexOf(s);if(l<0||l%2==0!=i>0)return null;let p={from:i<0?t-1:t,to:i>0?t+1:t},d=e.doc.iterRange(t,i>0?e.doc.length:0),c=0;for(let e=0;!d.next().done&&e<=a;){let a=d.value;i<0&&(e+=a.length);let s=t+e*i;for(let e=i>0?0:a.length-1,t=i>0?a.length:-1;e!=t;e+=i){let t=r.indexOf(a[e]);if(!(t<0||o.resolveInner(s+e,1).type!=n))if(t%2==0==i>0)c++;else{if(1==c)return{start:p,end:{from:s+e,to:s+e+1},matched:t>>1==l>>1};c--}}i>0&&(e+=a.length)}return d.done?{start:p,matched:!1}:null}(e,t,i,r,s.type,n,a)}function wl(e,t,i,o,n,a,r){let s=o.parent,l={from:n.from,to:n.to},p=0,d=null==s?void 0:s.cursor();if(d&&(i<0?d.childBefore(o.from):d.childAfter(o.to)))do{if(i<0?d.to<=o.from:d.from>=o.to){if(0==p&&a.indexOf(d.type.name)>-1&&d.from=this.string.length}sol(){return 0==this.pos}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.lastColumnPosi?e.toLowerCase():e;return o(this.string.substr(this.pos,e.length))==o(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function Ol(e){if("object"!=typeof e)return e;let t={};for(let i in e){let o=e[i];t[i]=o instanceof Array?o.slice():o}return t}const xl=new WeakMap;class Sl extends gs{constructor(e){let t,i=us(e.languageData),o={name:(n=e).name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||Ol,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||Ql};var n;super(i,new class extends Pr{createParse(e,i,o){return new Dl(t,e,i,o)}},[Ms.of(((e,t)=>this.getIndent(e,t)))],e.name),this.topNode=function(e){let t=or.define({id:Rl.length,name:"Document",props:[ys.add((()=>e))]});return Rl.push(t),t}(i),t=this,this.streamParser=o,this.stateAfter=new er({perNode:!0}),this.tokenTable=e.tokenTable?new Fl(o.tokenTable):Ll}static define(e){return new Sl(e)}getIndent(e,t){let i,o=ks(e.state),n=o.resolve(t);for(;n&&n.type!=this.topNode;)n=n.parent;if(!n)return null;let{overrideIndentation:a}=e.options;a&&(i=xl.get(e.state),null!=i&&i1e4)return null;for(;r=o&&i+t.length<=n&&t.prop(e.stateAfter);if(a)return{state:e.streamParser.copyState(a),pos:i+t.length};for(let a=t.children.length-1;a>=0;a--){let r=t.children[a],s=i+t.positions[a],l=r instanceof lr&&s=t.length)return t;n||t.type!=e.topNode||(n=!0);for(let a=t.children.length-1;a>=0;a--){let r,s=t.positions[a],l=t.children[a];if(si&&Cl(e,o.tree,0-o.offset,i,a);if(r&&(t=Pl(e,o.tree,i+o.offset,r.pos+o.offset,!1)))return{state:r.state,tree:t}}return{state:e.streamParser.startState(o?Fs(o):4),tree:lr.empty}}(e,i,a,null==n?void 0:n.state);this.state=r,this.parsedPos=this.chunkStart=a+s.length;for(let e=0;e=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)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let e=this.rangeIndex;;){let o=this.ranges[e].to;if(o>=i)break;if(t=t.slice(0,o-(i-t.length)),e++,e==this.ranges.length)break;let n=this.ranges[e].from,a=this.lineAfter(n);t+=a,i=n+a.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let o=this.ranges[this.rangeIndex].to,n=e+t;if(i>0?o>n:o>=n)break;t+=this.ranges[++this.rangeIndex].from-o}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){t+=n=this.skipGapsTo(t,n,1);let e=this.chunk.length;i+=n=this.skipGapsTo(i,n,-1),o+=this.chunk.length-e}return this.chunk.push(e,t,i,o),n}parseLine(e){let{line:t,end:i}=this.nextLine(),o=0,{streamParser:n}=this.lang,a=new vl(t,e?e.state.tabSize:4,e?Fs(e.state):2);if(a.eol())n.blankLine(this.state,a.indentUnit);else for(;!a.eol();){let e=Tl(n.token,a,this.state);if(e&&(o=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+a.start,this.parsedPos+a.pos,4,o)),a.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPost.start)return o}throw new Error("Stream parser failed to advance stream.")}const Ql=Object.create(null),Rl=[or.none],Al=new nr(Rl),Ml=[],El=Object.create(null);for(let[e,t]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"]])El[e]=Il(Ql,t);class Fl{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),El)}resolve(e){return e?this.table[e]||(this.table[e]=Il(this.extra,e)):0}}const Ll=new Fl(Ql);function Bl(e,t){Ml.indexOf(e)>-1||(Ml.push(e),console.warn(t))}function Il(e,t){let i=null;for(let o of t.split(".")){let t=e[o]||hs[o];t?"function"==typeof t?i?i=t(i):Bl(o,`Modifier ${o} used at start of tag`):i?Bl(o,`Tag ${o} used as modifier`):i=t:Bl(o,`Unknown highlighting tag ${o}`)}if(!i)return 0;let o=t.replace(/ /g,"_"),n=or.define({id:Rl.length,name:o,props:[jr({[o]:i})]});return Rl.push(n),n.id}function Gl(e,t){return({state:i,dispatch:o})=>{if(i.readOnly)return!1;let n=e(t,i);return!!n&&(o(i.update(n)),!0)}}const $l=Gl(jl,0),zl=Gl(ql,0),Vl=Gl(((e,t)=>ql(e,t,function(e){let t=[];for(let i of e.selection.ranges){let o=e.doc.lineAt(i.from),n=i.to<=o.to?o:e.doc.lineAt(i.to),a=t.length-1;a>=0&&t[a].to>o.from?t[a].to=n.to:t.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:n.to})}return t}(t))),0);function Nl(e,t){let i=e.languageDataAt("commentTokens",t);return i.length?i[0]:{}}const Wl=50;function ql(e,t,i=t.selection.ranges){let o=i.map((e=>Nl(t,e.from).block));if(!o.every((e=>e)))return null;let n=i.map(((e,i)=>function(e,{open:t,close:i},o,n){let a,r,s=e.sliceDoc(o-Wl,o),l=e.sliceDoc(n,n+Wl),p=/\s*$/.exec(s)[0].length,d=/^\s*/.exec(l)[0].length,c=s.length-p;if(s.slice(c-t.length,c)==t&&l.slice(d,d+i.length)==i)return{open:{pos:o-p,margin:p&&1},close:{pos:n+d,margin:d&&1}};n-o<=2*Wl?a=r=e.sliceDoc(o,n):(a=e.sliceDoc(o,o+Wl),r=e.sliceDoc(n-Wl,n));let h=/^\s*/.exec(a)[0].length,f=/\s*$/.exec(r)[0].length,y=r.length-f-i.length;return a.slice(h,h+t.length)==t&&r.slice(y,y+i.length)==i?{open:{pos:o+h+t.length,margin:/\s/.test(a.charAt(h+t.length))?1:0},close:{pos:n-f-i.length,margin:/\s/.test(r.charAt(y-1))?1:0}}:null}(t,o[i],e.from,e.to)));if(2!=e&&!n.every((e=>e)))return{changes:t.changes(i.map(((e,t)=>n[t]?[]:[{from:e.from,insert:o[t].open+" "},{from:e.to,insert:" "+o[t].close}])))};if(1!=e&&n.some((e=>e))){let e=[];for(let t,i=0;in&&(e==a||a>l.from)){n=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,i=l.text.slice(e,e+s.length)==s?e:-1;ee.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:i,indent:n,empty:a,single:r}of o)!r&&a||e.push({from:t.from+n,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&o.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:i,token:n}of o)if(i>=0){let o=t.from+i,a=o+n.length;" "==t.text[a-t.from]&&a++,e.push({from:o,to:a})}return{changes:e}}return null}const _l=le.define(),Xl=le.define(),Zl=L.define(),Ul=L.define({combine:e=>Se(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,o)=>e(i,o)||t(i,o)})});const Hl=N.define({create:()=>fp.empty,update(e,t){let i=t.state.facet(Ul),o=t.annotation(_l);if(o){let n=t.docChanged?M.single(function(e){let t=0;return e.iterChangedRanges(((e,i)=>t=i)),t}(t.changes)):void 0,a=op.fromTransaction(t,n),r=o.side,s=0==r?e.undone:e.done;return s=a?np(s,s.length,i.minDepth,a):lp(s,t.startState.selection),new fp(0==r?o.rest:s,0==r?s:o.rest)}let n=t.annotation(Xl);if("full"!=n&&"before"!=n||(e=e.isolate()),!1===t.annotation(he.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let a=op.fromTransaction(t),r=t.annotation(he.time),s=t.annotation(he.userEvent);return a?e=e.addChanges(a,r,s,i,t):t.selection&&(e=e.addSelection(t.startState.selection,r,s,i.newGroupDelay)),"full"!=n&&"after"!=n||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new fp(e.done.map(op.fromJSON),e.undone.map(op.fromJSON))});function Yl(e={}){return[Hl,Ul.of(e),Fn.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?Jl:"historyRedo"==e.inputType?ep:null;return!!i&&(e.preventDefault(),i(t))}})]}function Kl(e,t){return function({state:i,dispatch:o}){if(!t&&i.readOnly)return!1;let n=i.field(Hl,!1);if(!n)return!1;let a=n.pop(e,i,t);return!!a&&(o(a),!0)}}const Jl=Kl(0,!1),ep=Kl(1,!1),tp=Kl(0,!0),ip=Kl(1,!0);class op{constructor(e,t,i,o,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=o,this.selectionsAfter=n}setSelAfter(e){return new op(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new op(e.changes&&S.fromJSON(e.changes),[],e.mapped&&x.fromJSON(e.mapped),e.startSelection&&M.fromJSON(e.startSelection),e.selectionsAfter.map(M.fromJSON))}static fromTransaction(e,t){let i=rp;for(let t of e.startState.facet(Zl)){let o=t(e);o.length&&(i=i.concat(o))}return!i.length&&e.changes.empty?null:new op(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,rp)}static selection(e){return new op(void 0,rp,void 0,void 0,e)}}function np(e,t,i,o){let n=t+1>i+20?t-i-1:0,a=e.slice(n,t);return a.push(o),a}function ap(e,t){return e.length?t.length?e.concat(t):e:t}const rp=[],sp=200;function lp(e,t){if(e.length){let i=e[e.length-1],o=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-sp));return o.length&&o[o.length-1].eq(t)?e:(o.push(t),np(e,e.length-1,1e9,i.setSelAfter(o)))}return[op.selection([t])]}function pp(e){let t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function dp(e,t){if(!e.length)return e;let i=e.length,o=rp;for(;i;){let n=cp(e[i-1],t,o);if(n.changes&&!n.changes.empty||n.effects.length){let t=e.slice(0,i);return t[i-1]=n,t}t=n.mapped,i--,o=n.selectionsAfter}return o.length?[op.selection(o)]:rp}function cp(e,t,i){let o=ap(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):rp,i);if(!e.changes)return op.selection(o);let n=e.changes.map(t),a=t.mapDesc(e.changes,!0),r=e.mapped?e.mapped.composeDesc(a):a;return new op(n,ce.mapEffects(e.effects,t),r,e.startSelection.map(a),o)}const hp=/^(input\.type|delete)($|\.)/;class fp{constructor(e,t,i=0,o=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=o}isolate(){return this.prevTime?new fp(this.done,this.undone):this}addChanges(e,t,i,o,n){let a=this.done,r=a[a.length-1];return a=r&&r.changes&&!r.changes.empty&&e.changes&&(!i||hp.test(i))&&(!r.selectionsAfter.length&&t-this.prevTimei.push(e,t))),t.iterChangedRanges(((e,t,n,a)=>{for(let e=0;e=t&&n<=r&&(o=!0)}})),o}(r.changes,e.changes))||"input.type.compose"==i)?np(a,a.length-1,o.minDepth,new op(e.changes.compose(r.changes),ap(e.effects,r.effects),r.mapped,r.startSelection,rp)):np(a,a.length,o.minDepth,e),new fp(a,rp,t,i)}addSelection(e,t,i,o){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:rp;return n.length>0&&t-this.prevTimee.empty!=r.ranges[t].empty)).length)?this:new fp(lp(this.done,e),this.undone,t,i);var a,r}addMapping(e){return new fp(dp(this.done,e),dp(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let o=0==e?this.done:this.undone;if(0==o.length)return null;let n=o[o.length-1];if(i&&n.selectionsAfter.length)return t.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:_l.of({side:e,rest:pp(o)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=1==o.length?rp:o.slice(0,o.length-1);return n.mapped&&(i=dp(i,n.mapped)),t.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:_l.of({side:e,rest:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}fp.empty=new fp(rp,rp);const yp=[{key:"Mod-z",run:Jl,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ep,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ep,preventDefault:!0},{key:"Mod-u",run:tp,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:ip,preventDefault:!0}];function up(e,t){return M.create(e.ranges.map(t),e.mainIndex)}function mp(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function gp({state:e,dispatch:t},i){let o=up(e.selection,i);return!o.eq(e.selection)&&(t(mp(e,o)),!0)}function bp(e,t){return M.cursor(t?e.to:e.from)}function wp(e,t){return gp(e,(i=>i.empty?e.moveByChar(i,t):bp(i,t)))}function kp(e){return e.textDirectionAt(e.state.selection.main.head)==$i.LTR}const vp=e=>wp(e,!kp(e)),Op=e=>wp(e,kp(e));function xp(e,t){return gp(e,(i=>i.empty?e.moveByGroup(i,t):bp(i,t)))}function Sp(e,t,i){if(t.type.prop(i))return!0;let o=t.to-t.from;return o&&(o>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Cp(e,t,i){let o,n,a=ks(e).resolveInner(t.head),r=i?er.closedBy:er.openedBy;for(let o=t.head;;){let t=i?a.childAfter(o):a.childBefore(o);if(!t)break;Sp(e,t,r)?a=t:o=i?t.to:t.from}return n=a.type.prop(r)&&(o=i?bl(e,a.from,1):bl(e,a.to,-1))&&o.matched?i?o.end.to:o.end.from:i?a.to:a.from,M.cursor(n,i?-1:1)}function Pp(e,t){return gp(e,(i=>{if(!i.empty)return bp(i,t);let o=e.moveVertically(i,t);return o.head!=i.head?o:e.moveToLineBoundary(i,t)}))}const Dp=e=>Pp(e,!1),Tp=e=>Pp(e,!0);function Qp(e){let t,i=e.scrollDOM.clientHeighti.empty?e.moveVertically(i,t,o.height):bp(i,t)));if(a.eq(n.selection))return!1;if(o.selfScroll){let t=e.coordsAtPos(n.selection.main.head),r=e.scrollDOM.getBoundingClientRect(),s=r.top+o.marginTop,l=r.bottom-o.marginBottom;t&&t.top>s&&t.bottomRp(e,!1),Mp=e=>Rp(e,!0);function Ep(e,t,i){let o=e.lineBlockAt(t.head),n=e.moveToLineBoundary(t,i);if(n.head==t.head&&n.head!=(i?o.to:o.from)&&(n=e.moveToLineBoundary(t,i,!1)),!i&&n.head==o.from&&o.length){let i=/^\s*/.exec(e.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;i&&t.head!=o.from+i&&(n=M.cursor(o.from+i))}return n}function Fp(e,t){let i=up(e.state.selection,(e=>{let i=t(e);return M.range(e.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)}));return!i.eq(e.state.selection)&&(e.dispatch(mp(e.state,i)),!0)}function Lp(e,t){return console.log("Select!"),Fp(e,(i=>e.moveByCharSelected(i,t)))}const Bp=e=>Lp(e,!kp(e)),Ip=e=>Lp(e,kp(e));function Gp(e,t){return Fp(e,(i=>e.moveByGroup(i,t)))}function $p(e,t){return Fp(e,(i=>e.moveVertically(i,t)))}const zp=e=>$p(e,!1),Vp=e=>$p(e,!0);function Np(e,t){return Fp(e,(i=>e.moveVertically(i,t,Qp(e).height)))}const Wp=e=>Np(e,!1),qp=e=>Np(e,!0),jp=({state:e,dispatch:t})=>(t(mp(e,{anchor:0})),!0),_p=({state:e,dispatch:t})=>(t(mp(e,{anchor:e.doc.length})),!0),Xp=({state:e,dispatch:t})=>(t(mp(e,{anchor:e.selection.main.anchor,head:0})),!0),Zp=({state:e,dispatch:t})=>(t(mp(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function Up(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:o}=e,n=o.changeByRange((o=>{let{from:n,to:a}=o;if(n==a){let o=t(n);on&&(i="delete.forward",o=Hp(e,o,!0)),n=Math.min(n,o),a=Math.max(a,o)}else n=Hp(e,n,!1),a=Hp(e,a,!0);return n==a?{range:o}:{changes:{from:n,to:a},range:M.cursor(n)}}));return!n.changes.empty&&(e.dispatch(o.update(n,{scrollIntoView:!0,userEvent:i,effects:"delete.selection"==i?Fn.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function Hp(e,t,i){if(e instanceof Fn)for(let o of e.state.facet(Fn.atomicRanges).map((t=>t(e))))o.between(t,t,((e,o)=>{et&&(t=i?o:e)}));return t}const Yp=(e,t)=>Up(e,(i=>{let o,n,{state:a}=e,r=a.doc.lineAt(i);if(!t&&i>r.from&&iYp(e,!1),Jp=e=>Yp(e,!0),ed=(e,t)=>Up(e,(i=>{let o=i,{state:n}=e,a=n.doc.lineAt(o),r=n.charCategorizer(o);for(let e=null;;){if(o==(t?a.to:a.from)){o==i&&a.number!=(t?n.doc.lines:1)&&(o+=t?1:-1);break}let s=f(a.text,o-a.from,t)+a.from,l=a.text.slice(Math.min(o,s)-a.from,Math.max(o,s)-a.from),p=r(l);if(null!=e&&p!=e)break;" "==l&&o==i||(e=p),o=s}return o})),td=e=>ed(e,!1),id=e=>Up(e,(t=>{let i=e.lineBlockAt(t).to;return t=n.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(o)}else t.push({from:n.from,to:a.to,ranges:[o]});i=a.number+1}return t}function nd(e,t,i){if(e.readOnly)return!1;let o=[],n=[];for(let t of od(e)){if(i?t.to==e.doc.length:0==t.from)continue;let a=e.doc.lineAt(i?t.to+1:t.from-1),r=a.length+1;if(i){o.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let i of t.ranges)n.push(M.range(Math.min(e.doc.length,i.anchor+r),Math.min(e.doc.length,i.head+r)))}else{o.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)n.push(M.range(e.anchor-r,e.head-r))}}return!!o.length&&(t(e.update({changes:o,scrollIntoView:!0,selection:M.create(n,e.selection.mainIndex),userEvent:"move.line"})),!0)}function ad(e,t,i){if(e.readOnly)return!1;let o=[];for(let t of od(e))i?o.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):o.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:o,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const rd=sd(!1);function sd(t){return({state:i,dispatch:o})=>{if(i.readOnly)return!1;let n=i.changeByRange((o=>{let{from:n,to:a}=o,r=i.doc.lineAt(n),s=!t&&n==a&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,o=ks(e).resolveInner(t),n=o.childBefore(t),a=o.childAfter(t);return n&&a&&n.to<=t&&a.from>=t&&(i=n.type.prop(er.closedBy))&&i.indexOf(a.name)>-1&&e.doc.lineAt(n.to).from==e.doc.lineAt(a.from).from?{from:n.to,to:a.from}:null}(i,n);t&&(n=a=(a<=r.to?r:i.doc.lineAt(a)).to);let l=new Is(i,{simulateBreak:n,simulateDoubleBreak:!!s}),p=Bs(l,n);for(null==p&&(p=/^\s*/.exec(i.doc.lineAt(n).text)[0].length);ar.from&&n{let n=[];for(let a=o.from;a<=o.to;){let r=e.doc.lineAt(a);r.number>i&&(o.empty||o.to>r.from)&&(t(r,n,o),i=r.number),a=r.to+1}let a=e.changes(n);return{changes:n,range:M.range(a.mapPos(o.anchor,1),a.mapPos(o.head,1))}}))}const pd=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(ld(e,((t,i)=>{i.push({from:t.from,insert:e.facet(Es)})})),{userEvent:"input.indent"})),!0),dd=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(ld(e,((t,i)=>{let o=/^\s*/.exec(t.text)[0];if(!o)return;let n=Ve(o,e.tabSize),a=0,r=Ls(e,Math.max(0,n-Fs(e)));for(;agp(e,(t=>Cp(e.state,t,!kp(e)))),shift:e=>Fp(e,(t=>Cp(e.state,t,!kp(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>gp(e,(t=>Cp(e.state,t,kp(e)))),shift:e=>Fp(e,(t=>Cp(e.state,t,kp(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>nd(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>ad(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>nd(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>ad(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let i=e.selection,o=null;return i.ranges.length>1?o=M.create([i.main]):i.main.empty||(o=M.create([M.cursor(i.main.head)])),!!o&&(t(mp(e,o)),!0)}},{key:"Mod-Enter",run:sd(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let i=od(e).map((({from:t,to:i})=>M.range(t,Math.min(i+1,e.doc.length))));return t(e.update({selection:M.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let i=up(e.selection,(t=>{var i;let o=ks(e).resolveInner(t.head,1);for(;!(o.from=t.to||o.to>t.to&&o.from<=t.from)&&(null===(i=o.parent)||void 0===i?void 0:i.parent);)o=o.parent;return M.range(o.to,o.from)}));return t(mp(e,i)),!0},preventDefault:!0},{key:"Mod-[",run:dd},{key:"Mod-]",run:pd},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),o=new Is(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),n=ld(e,((t,n,a)=>{let r=Bs(o,t.from);if(null==r)return;/\S/.test(t.text)||(r=0);let s=/^\s*/.exec(t.text)[0],l=Ls(e,r);(s!=l||a.from{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(od(t).map((({from:e,to:i})=>(e>0?e--:ie.moveVertically(t,!0))).map(i);return e.dispatch({changes:i,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,i){let o=!1,n=up(e.selection,(t=>{let n=bl(e,t.head,-1)||bl(e,t.head,1)||t.head>0&&bl(e,t.head-1,1)||t.head{let{state:t}=e,i=t.doc.lineAt(t.selection.main.from),o=Nl(e.state,i.from);return o.line?$l(e):!!o.block&&Vl(e)}},{key:"Alt-A",run:zl}].concat([{key:"ArrowLeft",run:vp,shift:Bp,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>xp(e,!kp(e)),shift:e=>Gp(e,!kp(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>gp(e,(t=>Ep(e,t,!kp(e)))),shift:e=>Fp(e,(t=>Ep(e,t,!kp(e)))),preventDefault:!0},{key:"ArrowRight",run:Op,shift:Ip,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>xp(e,kp(e)),shift:e=>Gp(e,kp(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>gp(e,(t=>Ep(e,t,kp(e)))),shift:e=>Fp(e,(t=>Ep(e,t,kp(e)))),preventDefault:!0},{key:"ArrowUp",run:Dp,shift:zp,preventDefault:!0},{mac:"Cmd-ArrowUp",run:jp,shift:Xp},{mac:"Ctrl-ArrowUp",run:Ap,shift:Wp},{key:"ArrowDown",run:Tp,shift:Vp,preventDefault:!0},{mac:"Cmd-ArrowDown",run:_p,shift:Zp},{mac:"Ctrl-ArrowDown",run:Mp,shift:qp},{key:"PageUp",run:Ap,shift:Wp},{key:"PageDown",run:Mp,shift:qp},{key:"Home",run:e=>gp(e,(t=>Ep(e,t,!1))),shift:e=>Fp(e,(t=>Ep(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:jp,shift:Xp},{key:"End",run:e=>gp(e,(t=>Ep(e,t,!0))),shift:e=>Fp(e,(t=>Ep(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:_p,shift:Zp},{key:"Enter",run:rd},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:Kp,shift:Kp},{key:"Delete",run:Jp},{key:"Mod-Backspace",mac:"Alt-Backspace",run:td},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>ed(e,!0)},{mac:"Mod-Backspace",run:e=>Up(e,(t=>{let i=e.lineBlockAt(t).from;return t>i?i:Math.max(0,t-1)}))},{mac:"Mod-Delete",run:id}].concat([{key:"Ctrl-b",run:vp,shift:Bp,preventDefault:!0},{key:"Ctrl-f",run:Op,shift:Ip},{key:"Ctrl-p",run:Dp,shift:zp},{key:"Ctrl-n",run:Tp,shift:Vp},{key:"Ctrl-a",run:e=>gp(e,(t=>M.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>Fp(e,(t=>M.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>gp(e,(t=>M.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>Fp(e,(t=>M.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:Jp},{key:"Ctrl-h",run:Kp},{key:"Ctrl-k",run:id},{key:"Ctrl-Alt-h",run:td},{key:"Ctrl-o",run:({state:t,dispatch:i})=>{if(t.readOnly)return!1;let o=t.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e.of(["",""])},range:M.cursor(t.from)})));return i(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,o=e.doc.lineAt(i),n=i==o.from?i-1:f(o.text,i-o.from,!1)+o.from,a=i==o.to?i+1:f(o.text,i-o.from,!0)+o.from;return{changes:{from:n,to:a,insert:e.doc.slice(i,a).append(e.doc.slice(n,i))},range:M.cursor(a)}}));return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Mp}].map((e=>({mac:e.key,run:e.run,shift:e.shift}))))),hd={key:"Tab",run:pd,shift:dd},fd="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class yd{constructor(e,t,i=0,o=e.length,n,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,o),this.bufferStart=i,this.normalize=n?e=>n(fd(e)):fd,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return b(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=w(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=k(e);let o=this.normalize(t);for(let e=0,n=i;;e++){let a=o.charCodeAt(e),r=this.match(a,n);if(r)return this.value=r,this;if(e==o.length-1)break;n==i&&eSe(e,ud,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function gd(e){let t=[Od,vd];return e&&t.push(md.of(e)),t}const bd=oi.mark({class:"cm-selectionMatch"}),wd=oi.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function kd(e,t,i,o){return!(0!=i&&e(t.sliceDoc(i-1,i))==we.Word||o!=t.doc.length&&e(t.sliceDoc(o,o+1))==we.Word)}const vd=Qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(md),{state:i}=e,o=i.selection;if(o.ranges.length>1)return oi.none;let n,a=o.main,r=null;if(a.empty){if(!t.highlightWordAroundCursor)return oi.none;let e=i.wordAt(a.head);if(!e)return oi.none;r=i.charCategorizer(a.head),n=i.sliceDoc(e.from,e.to)}else{let e=a.to-a.from;if(e200)return oi.none;if(t.wholeWords){if(n=i.sliceDoc(a.from,a.to),r=i.charCategorizer(a.head),!kd(r,i,a.from,a.to)||!function(e,t,i,o){return e(t.sliceDoc(i,i+1))==we.Word&&e(t.sliceDoc(o-1,o))==we.Word}(r,i,a.from,a.to))return oi.none}else if(n=i.sliceDoc(a.from,a.to).trim(),!n)return oi.none}let s=[];for(let o of e.visibleRanges){let e=new yd(i.doc,n,o.from,o.to);for(;!e.next().done;){let{from:o,to:n}=e.value;if((!r||kd(r,i,o,n))&&(a.empty&&o<=a.from&&n>=a.to?s.push(wd.range(o,n)):(o>=a.to||n<=a.from)&&s.push(bd.range(o,n)),s.length>t.maxMatches))return oi.none}}return oi.set(s)}},{decorations:e=>e.decorations}),Od=Fn.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});class xd{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=ks(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),i=Math.max(t.from,this.pos-250),o=t.text.slice(i-t.from,this.pos-t.from),n=o.search(Td(e,!1));return n<0?null:{from:i+n,to:this.pos,text:o.slice(n)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function Sd(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Cd(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[i,o]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),i=Object.create(null);for(let{label:o}of e){t[o[0]]=!0;for(let e=1;e{let n=e.matchBefore(o);return n||e.explicit?{from:n?n.from:e.pos,options:t,validFor:i}:null}}class Pd{constructor(e,t,i,o){this.completion=e,this.source=t,this.match=i,this.score=o}}function Dd(e){return e.selection.main.from}function Td(e,t){var i;let{source:o}=e,n=t&&"^"!=o[0],a="$"!=o[o.length-1];return n||a?new RegExp(`${n?"^":""}(?:${o})${a?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}const Qd=le.define();const Rd=new WeakMap;function Ad(e){if(!Array.isArray(e))return e;let t=Rd.get(e);return t||Rd.set(e,t=Cd(e)),t}const Md=ce.define(),Ed=ce.define();class Fd{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let t=0;t=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(v=w(l))!=v.toLowerCase()?1:v!=v.toUpperCase()?2:0;(!o||1==O&&u||0==g&&0!=O)&&(t[d]==l||i[d]==l&&(c=!0)?a[d++]=o:a.length&&(m=!1)),g=O,o+=k(l)}return d==s&&0==a[0]&&m?this.result((c?-200:0)-100,a,e):h==s&&0==f?[-200-e.length+(y==e.length?0:-100),0,y]:r>-1?[-700-e.length,r,r+this.pattern.length]:h==s?[-900-e.length,f,y]:d==s?this.result((c?-200:0)-100-700+(m?0:-1100),a,e):2==t.length?null:this.result((o[0]?-700:0)-200-1100,o,e)}result(e,t,i){let o=[e-i.length],n=1;for(let e of t){let t=e+(this.astral?k(b(i,e)):1);n>1&&o[n-1]==e?o[n-1]=t:(o[n++]=e,o[n++]=t)}return o}}const Ld=L.define({combine:e=>Se(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Id,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>Bd(e(i),t(i)),optionClass:(e,t)=>i=>Bd(e(i),t(i)),addToOptions:(e,t)=>e.concat(t)})});function Bd(e,t){return e?t?e+" "+t:e:t}function Id(e,t,i,o,n){let a,r,s=e.textDirection==$i.RTL,l=s,p=!1,d="top",c=t.left-n.left,h=n.right-t.right,f=o.right-o.left,y=o.bottom-o.top;if(l&&c=y||e>t.top?a=i.bottom-t.top:(d="bottom",a=t.bottom-i.top)}return{style:`${d}: ${a}px; max-width: ${r}px`,class:"cm-completionInfo-"+(p?s?"left-narrow":"right-narrow":l?"left":"right")}}function Gd(e,t="option"){return i=>{let o=i.state.field(tc,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp-1?o.open.selected+a*(e?1:-1):e?0:r-1;return s<0?s="page"==t?0:r-1:s>=r&&(s="page"==t?r-1:0),i.dispatch({effects:ec.of(s)}),!0}}class $d{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const zd=Qi.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(tc).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(tc);if(!e.selectionSet&&!e.docChanged&&e.startState.field(tc)==t)return;let i=e.transactions.some((e=>(e.selection||e.docChanged)&&!Hd(e)));for(let t=0;t50&&Date.now()-o.time>1e3){for(let e of o.context.abortListeners)try{e()}catch(e){Ci(this.view.state,e)}o.context.abortListeners=null,this.running.splice(t--,1)}else o.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let t of e.transactions)"input"==Hd(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(tc);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,i=Dd(t),o=new xd(t,i,e.explicitPos==i),n=new $d(e,o);this.running.push(n),Promise.resolve(e.source(o)).then((e=>{n.context.aborted||(n.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:Ed.of(null)}),Ci(this.view.state,e)}))}scheduleAccept(){this.running.every((e=>void 0!==e.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),50))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(Ld);for(let o=0;oe.source==n.active.source));if(a&&1==a.state)if(null==n.done){let e=new Yd(n.active.source,0);for(let t of n.updates)e=e.update(t,i);1!=e.state&&t.push(e)}else this.startQuery(a)}t.length&&this.view.dispatch({effects:Jd.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(tc,!1);if(t&&t.tooltip&&this.view.state.facet(Ld).closeOnBlur){let i=t.open&&Ea(this.view,t.open.tooltip);i&&i.dom.contains(e.relatedTarget)||this.view.dispatch({effects:Ed.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Md.of(!1)})),20),this.composing=0}}});function Vd(e,t){const i=t.completion.apply||t.completion.label;let o=e.state.field(tc).active.find((e=>e.source==t.source));return o instanceof Kd&&("string"==typeof i?e.dispatch(Object.assign(Object.assign({},function(e,t,i,o){let{main:n}=e.selection,a=i-n.from,r=o-n.from;return Object.assign(Object.assign({},e.changeByRange((s=>s!=n&&i!=o&&e.sliceDoc(s.from+a,s.from+r)!=e.sliceDoc(i,o)?{range:s}:{changes:{from:s.from+a,to:o==n.from?s.to:s.from+r,insert:t},range:M.cursor(s.from+a+t.length)}))),{userEvent:"input.complete"})}(e.state,i,o.from,o.to)),{annotations:Qd.of(t.completion)})):i(e,t.completion,o.from,o.to),!0)}function Nd(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let o=Math.floor((e-t)/i);return{from:e-(o+1)*i,to:e-o*i}}class Wd{constructor(e,t){this.view=e,this.stateField=t,this.info=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:o,selected:n}=i.open,a=e.state.facet(Ld);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map((e=>"cm-completionIcon-"+e))),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,i){let o=document.createElement("span");o.className="cm-completionLabel";let{label:n}=e,a=0;for(let e=1;ea&&o.appendChild(document.createTextNode(n.slice(a,t)));let s=o.appendChild(document.createElement("span"));s.appendChild(document.createTextNode(n.slice(t,r))),s.className="cm-completionMatchedText",a=r}return ae.position-t.position)).map((e=>e.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Nd(o.length,n,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(t=>{for(let i,n=t.target;n&&n!=this.dom;n=n.parentNode)if("LI"==n.nodeName&&(i=/-(\d+)$/.exec(n.id))&&+i[1]{let i=e.state.field(this.stateField,!1);i&&i.tooltip&&e.state.facet(Ld).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ed.of(null)})})),this.list=this.dom.appendChild(this.createListBox(o,i.id,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}mount(){this.updateSel()}update(e){var t,i,o;let n=e.state.field(this.stateField),a=e.startState.field(this.stateField);this.updateTooltipClass(e.state),n!=a&&(this.updateSel(),(null===(t=n.open)||void 0===t?void 0:t.disabled)!=(null===(i=a.open)||void 0===i?void 0:i.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(null===(o=n.open)||void 0===o?void 0:o.disabled)))}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Nd(t.options.length,t.selected,this.view.state.facet(Ld).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t.options,e.id,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))),this.updateSelectedOption(t.selected)){this.info&&(this.info.remove(),this.info=null);let{completion:i}=t.options[t.selected],{info:o}=i;if(!o)return;let n="string"==typeof o?document.createTextNode(o):o(i);if(!n)return;"then"in n?n.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t)})).catch((e=>Ci(this.view.state,e,"completion info"))):this.addInfoPane(n)}}addInfoPane(e){let t=this.info=document.createElement("div");t.className="cm-tooltip cm-completionInfo",t.appendChild(e),this.dom.appendChild(t),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,o=this.range.from;i;i=i.nextSibling,o++)"LI"==i.nodeName&&i.id?o==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected"):o--;return t&&function(e,t){let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();o.topi.bottom&&(e.scrollTop+=o.bottom-i.bottom)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),o=e.getBoundingClientRect(),n=this.space;if(!n){let e=this.dom.ownerDocument.defaultView||window;n={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return o.top>Math.min(n.bottom,t.bottom)-10||o.bottomi.from||0==i.from))if(n=e,"string"!=typeof l&&l.header)o.appendChild(l.header(l));else{o.appendChild(document.createElement("completion-section")).textContent=e}}const p=o.appendChild(document.createElement("li"));p.id=t+"-"+a,p.setAttribute("role","option");let d=this.optionClass(r);d&&(p.className=d);for(let e of this.optionContent){let t=e(r,this.view.state,s);t&&p.appendChild(t)}}return i.from&&o.classList.add("cm-completionListIncompleteTop"),i.to=this.options.length?this:new jd(this.options,Zd(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,o,n){let a=function(e,t){let i=[],o=null,n=e=>{i.push(e);let{section:t}=e.completion;if(t){o||(o=[]);let e="string"==typeof t?t:t.name;o.some((t=>t.name==e))||o.push("string"==typeof t?{name:e}:t)}};for(let o of e)if(o.hasResult())if(!1===o.result.filter){let e=o.result.getMatch;for(let t of o.result.options){let a=[1e9-i.length];if(e)for(let i of e(t))a.push(i);n(new Pd(t,o.source,a,a[0]))}}else{let e,i=new Fd(t.sliceDoc(o.from,o.to));for(let t of o.result.options)(e=i.match(t.label))&&n(new Pd(t,o.source,e,e[0]+(t.boost||0)))}if(o){let e=Object.create(null),t=0,n=(e,t)=>{var i,o;return(null!==(i=e.rank)&&void 0!==i?i:1e9)-(null!==(o=t.rank)&&void 0!==o?o:1e9)||(e.namet.score-e.score||s(e.completion,t.completion))))!r||r.label!=e.completion.label||r.detail!=e.completion.detail||null!=r.type&&null!=e.completion.type&&r.type!=e.completion.type||r.apply!=e.completion.apply?a.push(e):qd(e.completion)>qd(r)&&(a[a.length-1]=e),r=e.completion;return a}(e,t);if(!a.length)return o&&e.some((e=>1==e.state))?new jd(o.options,o.attrs,o.tooltip,o.timestamp,o.selected,!0):null;let r=t.facet(Ld).selectOnOpen?0:-1;if(o&&o.selected!=r&&-1!=o.selected){let e=o.options[o.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e),1e8),create:(s=tc,e=>new Wd(e,s)),above:n.aboveCursor},o?o.timestamp:Date.now(),r,!1);var s}map(e){return new jd(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class _d{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new _d(Ud,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Ld),o=(i.override||t.languageDataAt("autocomplete",Dd(t)).map(Ad)).map((t=>(this.active.find((e=>e.source==t))||new Yd(t,this.active.some((e=>0!=e.state))?1:0)).update(e,i)));o.length==this.active.length&&o.every(((e,t)=>e==this.active[t]))&&(o=this.active);let n=this.open;n&&e.docChanged&&(n=n.map(e.changes)),e.selection||o.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let i=0,o=0;;){for(;i1==e.state))&&(n=null),!n&&o.every((e=>1!=e.state))&&o.some((e=>e.hasResult()))&&(o=o.map((e=>e.hasResult()?new Yd(e.source,0):e)));for(let t of e.effects)t.is(ec)&&(n=n&&n.setSelected(t.value,this.id));return o==this.active&&n==this.open?this:new _d(o,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:Xd}}const Xd={"aria-autocomplete":"list"};function Zd(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}const Ud=[];function Hd(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class Yd{constructor(e,t,i=-1){this.source=e,this.state=t,this.explicitPos=i}hasResult(){return!1}update(e,t){let i=Hd(e),o=this;i?o=o.handleUserEvent(e,i,t):e.docChanged?o=o.handleChange(e):e.selection&&0!=o.state&&(o=new Yd(o.source,0));for(let t of e.effects)if(t.is(Md))o=new Yd(o.source,1,t.value?Dd(e.state):-1);else if(t.is(Ed))o=new Yd(o.source,0);else if(t.is(Jd))for(let e of t.value)e.source==o.source&&(o=e);return o}handleUserEvent(e,t,i){return"delete"!=t&&i.activateOnTyping?new Yd(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(Dd(e.startState))?new Yd(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Yd(this.source,this.state,e.mapPos(this.explicitPos))}}class Kd extends Yd{constructor(e,t,i,o,n){super(e,2,t),this.result=i,this.from=o,this.to=n}hasResult(){return!0}handleUserEvent(e,t,i){var o;let n=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),r=Dd(e.state);if((this.explicitPos<0?r<=n:ra||"delete"==t&&Dd(e.startState)==this.from)return new Yd(this.source,"input"==t&&i.activateOnTyping?1:0);let s,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,i,o){if(!e)return!1;let n=t.sliceDoc(i,o);return"function"==typeof e?e(n,i,o,t):Td(e,!0).test(n)}(this.result.validFor,e.state,n,a)?new Kd(this.source,l,this.result,n,a):this.result.update&&(s=this.result.update(this.result,n,a,new xd(e.state,r,l>=0)))?new Kd(this.source,l,s,s.from,null!==(o=s.to)&&void 0!==o?o:Dd(e.state)):new Yd(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Yd(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new Kd(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const Jd=ce.define({map:(e,t)=>e.map((e=>e.map(t)))}),ec=ce.define(),tc=N.define({create:()=>_d.start(),update:(e,t)=>e.update(t),provide:e=>[Ma.from(e,(e=>e.tooltip)),Fn.contentAttributes.from(e,(e=>e.attrs))]}),ic=Fn.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:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class oc{constructor(e,t,i,o){this.field=e,this.line=t,this.from=i,this.to=o}}class nc{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,O.TrackDel),i=e.mapPos(this.to,1,O.TrackDel);return null==t||null==i?null:new nc(this.field,t,i)}}class ac{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],o=[t],n=e.doc.lineAt(t),a=/^\s*/.exec(n.text)[0];for(let n of this.lines){if(i.length){let i=a,r=/^\t*/.exec(n)[0].length;for(let t=0;tnew nc(e.field,o[e.line]+e.from,o[e.line]+e.to)));return{text:i,ranges:r}}static parse(e){let t,i=[],o=[],n=[];for(let a of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(a);){let e=t[1]?+t[1]:null,r=t[2]||t[3]||"",s=-1;for(let t=0;t=s&&e.field++}n.push(new oc(s,o.length,t.index,t.index+r.length)),a=a.slice(0,t.index)+r+a.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(a);){a=a.slice(0,e.index)+e[1]+a.slice(e.index+e[0].length);for(let t of n)t.line==o.length&&t.from>e.index&&(t.from--,t.to--)}o.push(a)}return new ac(o,n)}}let rc=oi.widget({widget:new class extends ti{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),sc=oi.mark({class:"cm-snippetField"});class lc{constructor(e,t){this.ranges=e,this.active=t,this.deco=oi.set(e.map((e=>(e.from==e.to?rc:sc).range(e.from,e.to))))}map(e){let t=[];for(let i of this.ranges){let o=i.map(e);if(!o)return null;t.push(o)}return new lc(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const pc=ce.define({map:(e,t)=>e&&e.map(t)}),dc=ce.define(),cc=N.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(pc))return i.value;if(i.is(dc)&&e)return new lc(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>Fn.decorations.from(e,(e=>e?e.deco:oi.none))});function hc(e,t){return M.create(e.filter((e=>e.field==t)).map((e=>M.range(e.from,e.to))))}function fc(t){let i=ac.parse(t);return(t,o,n,a)=>{let{text:r,ranges:s}=i.instantiate(t.state,n),l={changes:{from:n,to:a,insert:e.of(r)},scrollIntoView:!0,annotations:o?Qd.of(o):void 0};if(s.length&&(l.selection=hc(s,0)),s.length>1){let e=new lc(s,0),i=l.effects=[pc.of(e)];void 0===t.state.field(cc,!1)&&i.push(ce.appendConfig.of([cc,gc,wc,ic]))}t.dispatch(t.state.update(l))}}function yc(e){return({state:t,dispatch:i})=>{let o=t.field(cc,!1);if(!o||e<0&&0==o.active)return!1;let n=o.active+e,a=e>0&&!o.ranges.some((t=>t.field==n+e));return i(t.update({selection:hc(o.ranges,n),effects:pc.of(a?null:new lc(o.ranges,n))})),!0}}const uc=[{key:"Tab",run:yc(1),shift:yc(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(cc,!1)&&(t(e.update({effects:pc.of(null)})),!0)}],mc=L.define({combine:e=>e.length?e[0]:uc}),gc=Z.highest(Nn.compute([mc],(e=>e.facet(mc))));function bc(e,t){return Object.assign(Object.assign({},t),{apply:fc(e)})}const wc=Fn.domEventHandlers({mousedown(e,t){let i,o=t.state.field(cc,!1);if(!o||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let n=o.ranges.find((e=>e.from<=i&&e.to>=i));return!(!n||n.field==o.active)&&(t.dispatch({selection:hc(o.ranges,n.field),effects:pc.of(o.ranges.some((e=>e.field>n.field))?new lc(o.ranges,n.field):null)}),!0)}}),kc=new class extends Ce{};function vc(e={}){return[tc,Ld.of(e),zd,xc,ic]}kc.startSide=1,kc.endSide=-1;const Oc=[{key:"Ctrl-Space",run:e=>!!e.state.field(tc,!1)&&(e.dispatch({effects:Md.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(tc,!1);return!(!t||!t.active.some((e=>0!=e.state)))&&(e.dispatch({effects:Ed.of(null)}),!0)}},{key:"ArrowDown",run:Gd(!0)},{key:"ArrowUp",run:Gd(!1)},{key:"PageDown",run:Gd(!0,"page")},{key:"PageUp",run:Gd(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(tc,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||Date.now()-t.open.timestampe.facet(Ld).defaultKeymap?[Oc]:[]))),Sc=(()=>[wa(),Yl(),ta(),tl(nl,{fallback:!0}),Nn.of([...cd,...yp])])();class Cc{constructor(e,t,i,o,n,a,r,s,l,p=0,d){this.p=e,this.stack=t,this.state=i,this.reducePos=o,this.pos=n,this.score=a,this.buffer=r,this.bufferBase=s,this.curContext=l,this.lookAhead=p,this.parent=d}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let o=e.parser.context;return new Cc(e,[],t,i,i,0,[],0,o?new Pc(o,o.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 i=e>>19,o=65535&e,{parser:n}=this.p,a=n.dynamicPrecedence(o);if(a&&(this.score+=a),0==i)return this.pushState(n.getGoto(this.state,o,!0),this.reducePos),o=2e3&&!(null===(t=this.p.parser.nodeSet.types[o])||void 0===t?void 0:t.isAnonymous)&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizer;)this.stack.pop();this.reduceContext(o,s)}storeNode(e,t,i,o=4,n=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[o-4]&&e.buffer[o-1]>-1){if(t==i)return;if(e.buffer[o-2]>=t)return void(e.buffer[o-2]=i)}}if(n&&this.pos!=i){let n=this.buffer.length;if(n>0&&0!=this.buffer[n-4])for(;n>0&&this.buffer[n-2]>i;)this.buffer[n]=this.buffer[n-4],this.buffer[n+1]=this.buffer[n-3],this.buffer[n+2]=this.buffer[n-2],this.buffer[n+3]=this.buffer[n-1],n-=4,o>4&&(o-=4);this.buffer[n]=e,this.buffer[n+1]=t,this.buffer[n+2]=i,this.buffer[n+3]=o}else this.buffer.push(e,t,i,o)}shift(e,t,i){let o=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let n=e,{parser:a}=this.p;(i>this.pos||t<=a.maxNode)&&(this.pos=i,a.stateFlag(n,1)||(this.reducePos=i)),this.pushState(n,o),this.shiftContext(t,o),t<=a.maxNode&&this.buffer.push(t,o,i,4)}else this.pos=i,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,i,4)}apply(e,t,i){65536&e?this.reduce(e):this.shift(e,t,i)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(i,o,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>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new Cc(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Tc(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))return!0;t.reduce(i)}}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 i=[];for(let o,n=0;n1&t&&e==o))||i.push(t[e],o)}t=i}let i=[];for(let e=0;e>19,o=65535&e,n=this.stack.length-3*i;if(n<0||t.getGoto(this.stack[n],o,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!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(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){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;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Pc{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}var Dc;!function(e){e[e.Insert=200]="Insert",e[e.Delete=190]="Delete",e[e.Reduce=100]="Reduce",e[e.MaxNext=4]="MaxNext",e[e.MaxInsertStackDepth=300]="MaxInsertStackDepth",e[e.DampenInsertStackDepth=120]="DampenInsertStackDepth",e[e.MinBigReduction=2e3]="MinBigReduction"}(Dc||(Dc={}));class Tc{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}}class Qc{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Qc(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(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,0==this.index&&this.maybeNext()}fork(){return new Qc(this.stack,this.pos,this.index)}}function Rc(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let o=0,n=0;o=92&&t--,t>=34&&t--;let n=t-32;if(n>=46&&(n-=46,i=!0),a+=n,i)break;a*=46}i?i[n++]=a:i=new t(a)}return i}class Ac{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Mc=new Ac;class Ec{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Mc,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 i=this.range,o=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(o==this.ranges.length-1)return null;let e=this.ranges[++o];n+=e.from-i.to,i=e}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,i,o=this.chunkOff+e;if(o>=0&&o=this.chunk2Pos&&to.to&&(this.chunk2=this.chunk2.slice(0,o.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=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=Mc,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 i="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(i+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return i}}class Fc{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;Ic(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}Fc.prototype.contextual=Fc.prototype.fallback=Fc.prototype.extend=!1;class Lc{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data="string"==typeof e?Rc(e):e}token(e,t){let i=e.pos,o=0;for(;Ic(this.data,e,t,0,this.data,this.precTable),!(e.token.value>-1);){if(null==this.elseToken)return;if(e.next<0)break;e.advance(),e.reset(e.pos,e.token),o++}o&&(e.reset(i,e.token),e.acceptToken(this.elseToken,o))}}Lc.prototype.contextual=Fc.prototype.fallback=Fc.prototype.extend=!1;class Bc{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Ic(e,t,i,o,n,a){let r=0,s=1<0){let i=e[o];if(l.allows(i)&&(-1==t.token.value||t.token.value==i||$c(i,t.token.value,n,a))){t.acceptToken(i);break}}let o=t.next,p=0,d=e[r+2];if(!(t.next<0&&d>p&&65535==e[i+3*d-3]&&65535==e[i+3*d-3])){for(;p>1,a=i+n+(n<<1),s=e[a],l=e[a+1]||65536;if(o=l)){r=e[a+2],t.advance();continue e}p=n+1}}break}r=e[i+3*d-1]}}function Gc(e,t,i){for(let o,n=t;65535!=(o=e[n]);n++)if(o==i)return n-t;return-1}function $c(e,t,i,o){let n=Gc(i,o,t);return n<0||Gc(i,o,e)t)&&!o.type.isError)return i<0?Math.max(0,Math.min(o.to-1,t-25)):Math.min(e.length,Math.max(o.from+1,t+25));if(i<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return i<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(Nc||(Nc={}));let qc=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?Wc(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Wc(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=a,null;if(n instanceof lr){if(a==e){if(a=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+n.length}}};class jc{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new Ac))}getActions(e){let t=0,i=null,{parser:o}=e.p,{tokenizers:n}=o,a=o.stateSlot(e.state,3),r=e.curContext?e.curContext.hash:0,s=0;for(let o=0;op.end+25&&(s=Math.max(p.lookAhead,s)),0!=p.value)){let o=t;if(p.extended>-1&&(t=this.addActions(e,p.extended,p.end,t)),t=this.addActions(e,p.value,p.end,t),!l.extend&&(i=p,t>o))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),i||e.pos!=this.stream.end||(i=new Ac,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ac,{pos:i,p:o}=e;return t.start=i,t.end=Math.min(i+1,o.stream.end),t.value=i==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,i){let o=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(o,e),i),e.value>-1){let{parser:t}=i.p;for(let o=0;o=0&&i.p.parser.dialect.allows(n>>1)){0==(1&n)?e.value=n>>1:e.extended=n>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,t,i,o){for(let t=0;t4*e.bufferLength?new qc(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,o=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[e]=i;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;ao)n.push(r);else{if(this.advanceStack(r,n,i))continue;{e||(e=[],t=[]),e.push(r);let i=this.tokens.getMainToken(r);t.push(i.value,i.end)}}break}}if(!n.length){let t=e&&function(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,n);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(n.length>e)for(n.sort(((e,t)=>t.score-e.score));n.length>e;)n.pop();n.some((e=>e.reducePos>o))&&this.recovering--}else if(n.length>1){e:for(let e=0;e500&&o.buffer.length>500){if(!((t.score-o.score||t.buffer.length-o.buffer.length)>0)){n.splice(e--,1);continue e}n.splice(i--,1)}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let r=this.fragments.nodeAt(o);r;){let o=this.parser.nodeSet.types[r.type.id]==r.type?n.getGoto(e.state,r.type.id):-1;if(o>-1&&r.length&&(!t||(r.prop(er.contextHash)||0)==i))return e.useNode(r,o),zc&&console.log(a+this.stackID(e)+` (via reuse of ${n.getName(r.type.id)})`),!0;if(!(r instanceof lr)||0==r.children.length||r.positions[0]>0)break;let s=r.children[0];if(!(s instanceof lr&&0==r.positions[0]))break;r=s}}let r=n.stateSlot(e.state,4);if(r>0)return e.reduce(r),zc&&console.log(a+this.stackID(e)+` (via always-reduce ${n.getName(65535&r)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let r=0;ro?t.push(h):i.push(h)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return Zc(e,t),!0}}runRecovery(e,t,i){let o=null,n=!1;for(let a=0;a ":"";if(r.deadEnd){if(n)continue;if(n=!0,r.restart(),zc&&console.log(p+this.stackID(r)+" (restarted)"),this.advanceFully(r,i))continue}let d=r.split(),c=p;for(let e=0;d.forceReduce()&&e<10;e++){if(zc&&console.log(c+this.stackID(d)+" (via force-reduce)"),this.advanceFully(d,i))break;zc&&(c=this.stackID(d)+" -> ")}for(let e of r.recoverByInsert(s))zc&&console.log(p+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,i);this.stream.end>r.pos?(l==r.pos&&(l++,s=0),r.recoverByDelete(s,l),zc&&console.log(p+this.stackID(r)+` (via recover-delete ${this.parser.getName(s)})`),Zc(r,i)):(!o||o.scoree;class Yc{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=!1!==e.strict}}class Kc extends Pr{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;ie.topRules[t][1])),o=[];for(let e=0;e=0)n(o,e,t[i++]);else{let a=t[i+-o];for(let r=-o;r>0;r--)n(t[i++],e,a);i++}}}this.nodeSet=new nr(t.map(((t,n)=>or.define({name:n>=this.minRepeatTerm?void 0:t,id:n,props:o[n],top:i.indexOf(n)>-1,error:0==n,skipped:e.skippedNodes&&e.skippedNodes.indexOf(n)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Ya;let a=Rc(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new Fc(a,e):e)),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,i){let o=new Xc(this,e,t,i);for(let n of this.wrappers)o=n(o,e,t,i);return o}getGoto(e,t,i=!1){let o=this.goto;if(t>=o[0])return-1;for(let n=o[t+1];;){let t=o[n++],a=1&t,r=o[n++];if(a&&i)return r;for(let i=n+(t>>1);n0}validAction(e,t){if(t==this.stateSlot(e,4))return!0;for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])return!1;i=Jc(this.data,i+2)}if(t==Jc(this.data,i+1))return!0}}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=Jc(this.data,i+2)}if(0==(1&this.data[i+2])){let e=this.data[i+1];t.some(((t,i)=>1&i&&t==e))||t.push(this.data[i],e)}}return t}configure(e){let t=Object.assign(Object.create(Kc.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let i=e.tokenizers.find((e=>e.from==t));return i?i.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((i,o)=>{let n=e.specializers.find((e=>e.from==i.external));if(!n)return i;let a=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[o]=eh(a),a}))),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(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 null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map((()=>!1));if(e)for(let o of e.split(" ")){let e=t.indexOf(o);e>=0&&(i[e]=!0)}let o=null;for(let e=0;ee.external(i,o)<<1|t}return e.get}const th=[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],ih=new Yc({start:!1,shift:(e,t)=>3==t||4==t||305==t?e:306==t,strict:!1}),oh=new Bc(((e,t)=>{let{next:i}=e;(125==i||-1==i||t.context)&&t.canShift(303)&&e.acceptToken(303)}),{contextual:!0,fallback:!0}),nh=new Bc(((e,t)=>{let i,{next:o}=e;th.indexOf(o)>-1||(47!=o||47!=(i=e.peek(1))&&42!=i)&&125!=o&&59!=o&&-1!=o&&!t.context&&t.canShift(302)&&e.acceptToken(302)}),{contextual:!0}),ah=new Bc(((e,t)=>{let{next:i}=e;if((43==i||45==i)&&(e.advance(),i==e.next)){e.advance();let i=!t.context&&t.canShift(1);e.acceptToken(i?1:2)}}),{contextual:!0}),rh=jr({"get set async static":hs.modifier,"for while do if else switch try catch finally return throw break continue default case":hs.controlKeyword,"in of await yield void typeof delete instanceof":hs.operatorKeyword,"let var const function class extends":hs.definitionKeyword,"import export from":hs.moduleKeyword,"with debugger as new":hs.keyword,TemplateString:hs.special(hs.string),super:hs.atom,BooleanLiteral:hs.bool,this:hs.self,null:hs.null,Star:hs.modifier,VariableName:hs.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":hs.function(hs.variableName),VariableDefinition:hs.definition(hs.variableName),Label:hs.labelName,PropertyName:hs.propertyName,PrivatePropertyName:hs.special(hs.propertyName),"CallExpression/MemberExpression/PropertyName":hs.function(hs.propertyName),"FunctionDeclaration/VariableDefinition":hs.function(hs.definition(hs.variableName)),"ClassDeclaration/VariableDefinition":hs.definition(hs.className),PropertyDefinition:hs.definition(hs.propertyName),PrivatePropertyDefinition:hs.definition(hs.special(hs.propertyName)),UpdateOp:hs.updateOperator,LineComment:hs.lineComment,BlockComment:hs.blockComment,Number:hs.number,String:hs.string,Escape:hs.escape,ArithOp:hs.arithmeticOperator,LogicOp:hs.logicOperator,BitOp:hs.bitwiseOperator,CompareOp:hs.compareOperator,RegExp:hs.regexp,Equals:hs.definitionOperator,Arrow:hs.function(hs.punctuation),": Spread":hs.punctuation,"( )":hs.paren,"[ ]":hs.squareBracket,"{ }":hs.brace,"InterpolationStart InterpolationEnd":hs.special(hs.brace),".":hs.derefOperator,", ;":hs.separator,"@":hs.meta,TypeName:hs.typeName,TypeDefinition:hs.definition(hs.typeName),"type enum interface implements namespace module declare":hs.definitionKeyword,"abstract global Privacy readonly override":hs.modifier,"is keyof unique infer":hs.operatorKeyword,JSXAttributeValue:hs.attributeValue,JSXText:hs.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":hs.angleBracket,"JSXIdentifier JSXNameSpacedName":hs.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":hs.attributeName,"JSXBuiltin/JSXIdentifier":hs.standard(hs.tagName)}),sh={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,interface:417,enum:421,namespace:427,module:429,declare:433,global:437,for:456,of:465,while:468,with:472,do:476,if:480,else:482,switch:486,case:492,try:498,catch:502,finally:506,return:510,throw:514,break:518,continue:522,debugger:526},lh={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},ph={__proto__:null,"<":137},dh=Kc.deserialize({version:14,states:"$6[O`QUOOO%QQUOOO'TQWOOP(bOSOOO*pQ(CjO'#CfO*wOpO'#CgO+VO!bO'#CgO+eO07`O'#DZO-vQUO'#DaO.WQUO'#DlO%QQUO'#DvO0[QUO'#EOOOQ(CY'#EW'#EWO0uQSO'#ETOOQO'#Ei'#EiOOQO'#Ib'#IbO0}QSO'#GkO1YQSO'#EhO1_QSO'#EhO3aQ(CjO'#JcO6QQ(CjO'#JdO6nQSO'#FWO6sQ#tO'#FoOOQ(CY'#F`'#F`O7OO&jO'#F`O7^Q,UO'#FvO8tQSO'#FuOOQ(CY'#Jd'#JdOOQ(CW'#Jc'#JcOOQQ'#KO'#KOO8yQSO'#IOO9OQ(C[O'#IPOOQQ'#JP'#JPOOQQ'#IT'#ITQ`QUOOO%QQUO'#DnO9WQUO'#DzO%QQUO'#D|O9_QSO'#GkO9dQ,UO'#ClO9rQSO'#EgO9}QSO'#ErO:SQ,UO'#F_O:qQSO'#GkO:vQSO'#GoO;RQSO'#GoO;aQSO'#GrO;aQSO'#GsO;aQSO'#GuO9_QSO'#GxOQQSO'#HnO>VQ(C]O'#HtO%QQUO'#HvO>bQ(C]O'#HxO>mQ(C]O'#HzO9OQ(C[O'#H|O>xQ(CjO'#CfO?zQWO'#DfQOQSOOO@bQSO'#EPO9dQ,UO'#EgO@mQSO'#EgO@xQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jg'#JgO%QQUO'#JgOOQO'#Jk'#JkOOQO'#I_'#I_OAxQWO'#E`OOQ(CW'#E_'#E_OBtQ(C`O'#E`OCOQWO'#ESOOQO'#Jj'#JjOCdQWO'#JkODqQWO'#ESOCOQWO'#E`PEOO?MpO'#C`POOO)CDn)CDnOOOO'#IU'#IUOEZOpO,59ROOQ(CY,59R,59ROOOO'#IV'#IVOEiO!bO,59RO%QQUO'#D]OOOO'#IX'#IXOEwO07`O,59uOOQ(CY,59u,59uOFVQUO'#IYOFjQSO'#JeOHlQbO'#JeO+sQUO'#JeOHsQSO,59{OIZQSO'#EiOIhQSO'#JsOIsQSO'#JrOIsQSO'#JrOI{QSO,5;VOJQQSO'#JqOOQ(CY,5:W,5:WOJXQUO,5:WOLYQ(CjO,5:bOLyQSO,5:jOMdQ(C[O'#JpOMkQSO'#JoO:vQSO'#JoONPQSO'#JoONXQSO,5;UON^QSO'#JoO!!fQbO'#JdOOQ(CY'#Cf'#CfO%QQUO'#EOO!#UQ`O,5:oOOQO'#Jl'#JlOOQO-E<`-E<`O9_QSO,5=VO!#lQSO,5=VO!#qQUO,5;SO!%tQ,UO'#EdO!'XQSO,5;SO!(qQ,UO'#DpO!(xQUO'#DuO!)SQWO,5;]O!)[QWO,5;]O%QQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^OOQQ'#FU'#FUO!)jQUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!+mQSO,5;uOOQ(CY,5;v,5;vO%QQUO'#IfO!+uQ(C[O,5jOOQQ'#JX'#JXOOQQ,5>k,5>kOOQQ-ERQ(C[O'#JYO8tQSO'#JYO!>dQ(C[O,59WO!>oQWO,59WO!>wQ,UO,59WO9dQ,UO,59WO!?SQSO,5;SO!?[QSO'#HWO!?mQSO'#KSO%QQUO,5;wO!?uQWO,5;yO!?zQSO,5=qO!@PQSO,5=qO!@UQSO,5=qO9OQ(C[O,5=qO!@dQSO'#EkO!A^QWO'#ElOOQ(CW'#Jq'#JqO!AeQ(C[O'#KPO9OQ(C[O,5=ZO;aQSO,5=aOOQO'#Cr'#CrO!ApQWO,5=^O!AxQ,UO,5=_O!BTQSO,5=aO!BYQ`O,5=dO>QQSO'#G}O9_QSO'#HPO!BbQSO'#HPO9dQ,UO'#HRO!BgQSO'#HROOQQ,5=g,5=gO!BlQSO'#HSO!BtQSO'#ClO!ByQSO,58|O!CTQSO,58|O!E]QUO,58|OOQQ,58|,58|O!EjQ(C[O,58|O%QQUO,58|O!EuQUO'#HZOOQQ'#H['#H[OOQQ'#H]'#H]O`QUO,5=sO!FVQSO,5=sO`QUO,5=yO`QUO,5={O!F[QSO,5=}O`QUO,5>PO!FaQSO,5>SO!FfQUO,5>YOOQQ,5>`,5>`O%QQUO,5>`O9OQ(C[O,5>bOOQQ,5>d,5>dO!JmQSO,5>dOOQQ,5>f,5>fO!JmQSO,5>fOOQQ,5>h,5>hO!JrQWO'#DXO%QQUO'#JgO!KaQWO'#JgO!LOQWO'#DgO!LaQWO'#DgO!NrQUO'#DgO!NyQSO'#JfO# RQSO,5:QO# WQSO'#EmO# fQSO'#JtO# nQSO,5;WO# sQWO'#DgO#!QQWO'#EROOQ(CY,5:k,5:kO%QQUO,5:kO#!XQSO,5:kO>QQSO,5;RO!>oQWO,5;RO!>wQ,UO,5;RO9dQ,UO,5;RO#!aQSO,5@RO#!fQ!LQO,5:oOOQO-E<]-E<]O##lQ(C`O,5:zOCOQWO,5:nO##vQWO,5:nOCOQWO,5:zO!>dQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%QQUO,5:zO#$TQ(C[O,5:zO#$`Q(C[O,5:zO!>oQWO,5:nOOQO,5;Q,5;QO#$nQ(C[O,5:zPOOO'#IS'#ISP#%SO?MpO,58zPOOO,58z,58zOOOO-EtO+sQUO,5>tOOQO,5>z,5>zO#%nQUO'#IYOOQO-EdQ(C[O1G.rO!>oQWO1G.rO!>wQ,UO1G.rO$%YQSO1G0nO$%_QSO'#CfO$%jQSO'#KTO$%rQSO,5=rO$%wQSO'#KTO$%|QSO'#KTO$&XQSO'#IsO$&gQSO,5@nO$&oQbO1G1cOOQ(CY1G1e1G1eO9_QSO1G3]O?rQSO1G3]O$&vQSO1G3]O$&{QSO1G3]OOQQ1G3]1G3]O:vQSO'#JrO:vQSO'#EmO%QQUO'#EmO:vQSO'#ImO$'QQ(C[O,5@kOOQQ1G2u1G2uO!BTQSO1G2{O!%tQ,UO1G2xO$']QSO1G2xOOQQ1G2y1G2yO!%tQ,UO1G2yO$'bQSO1G2yO$'jQWO'#GwOOQQ1G2{1G2{O!3cQWO'#IoO!BYQ`O1G3OOOQQ1G3O1G3OOOQQ,5=i,5=iO$'rQ,UO,5=kO9_QSO,5=kO#K`QSO,5=mO8tQSO,5=mO!>oQWO,5=mO!>wQ,UO,5=mO9dQ,UO,5=mO$(QQSO'#KRO$(]QSO,5=nOOQQ1G.h1G.hO$(bQ(C[O1G.hO?rQSO1G.hO$(mQSO1G.hO9OQ(C[O1G.hO$*rQbO,5@pO$+SQSO,5@pO$+_QUO,5=uO$+fQSO,5=uO:vQSO,5@pOOQQ1G3_1G3_O`QUO1G3_OOQQ1G3e1G3eOOQQ1G3g1G3gO={QSO1G3iO$+kQUO1G3kO$/lQUO'#HjOOQQ1G3n1G3nO$/yQSO'#HpO>QQSO'#HrOOQQ1G3t1G3tO$0RQUO1G3tO9OQ(C[O1G3zOOQQ1G3|1G3|OOQ(CW'#GW'#GWO9OQ(C[O1G4OO9OQ(C[O1G4QO$4VQSO,5@RO!)jQUO,5;XO:vQSO,5;XO>QQSO,5:RO!)jQUO,5:RO!>oQWO,5:RO$4[Q$IUO,5:ROOQO,5;X,5;XO$4fQWO'#IZO$4|QSO,5@QOOQ(CY1G/l1G/lO$5UQWO'#IaO$5`QSO,5@`OOQ(CW1G0r1G0rO!LaQWO,5:ROOQO'#I^'#I^O$5hQWO,5:mOOQ(CY,5:m,5:mO#![QSO1G0VOOQ(CY1G0V1G0VO%QQUO1G0VOOQ(CY1G0m1G0mO>QQSO1G0mO!>oQWO1G0mO!>wQ,UO1G0mOOQ(CW1G5m1G5mO!>dQ(C[O1G0YOOQO1G0f1G0fO%QQUO1G0fO$5oQ(C[O1G0fO$5zQ(C[O1G0fO!>oQWO1G0YOCOQWO1G0YO$6YQ(C[O1G0fOOQO1G0Y1G0YO$6nQ(CjO1G0fPOOO-EtO$7[QSO1G5kO$7dQSO1G5xO$7lQbO1G5yO:vQSO,5>zO$7vQ(CjO1G5vO%QQUO1G5vO$8WQ(C[O1G5vO$8iQSO1G5uO$8iQSO1G5uO:vQSO1G5uO$8qQSO,5>}O:vQSO,5>}OOQO,5>},5>}O$9VQSO,5>}O$ mQSO,5>}OOQO-EcQ(CjO,5oQWO,5dQ(C[O7+$^O!>oQWO7+$^O!#qQUO7+&YO$NgQSO'#IrO$N{QSO,5@oOOQO1G3^1G3^O9_QSO,5@oO$N{QSO,5@oO% TQSO,5@oOOQO,5?_,5?_OOQO-EoQWO1G3XO!>wQ,UO1G3XO%$RQSO'#IqO%$^QSO,5@mO%$fQWO,5@mOOQ(CW1G3Y1G3YOOQQ7+$S7+$SO?rQSO7+$SO9OQ(C[O7+$SO%$qQSO7+$SO%QQUO1G6[O%QQUO1G6]O%$vQUO1G3aO%$}QSO1G3aO%%SQUO1G3aO%%ZQ(C[O1G6[OOQQ7+(y7+(yO9OQ(C[O7+)TO`QUO7+)VOOQQ'#KW'#KWOOQQ'#It'#ItO%%eQUO,5>UOOQQ,5>U,5>UO%QQUO'#HkO%%rQSO'#HmOOQQ,5>[,5>[O:vQSO,5>[OOQQ,5>^,5>^OOQQ7+)`7+)`OOQQ7+)f7+)fOOQQ7+)j7+)jOOQQ7+)l7+)lO%%wQWO1G5mO%&]Q$IUO1G0sO%&gQSO1G0sOOQO1G/m1G/mO%&rQ$IUO1G/mO>QQSO1G/mO!)jQUO'#DgOOQO,5>u,5>uOOQO-E{,5>{OOQO-E<_-E<_O!>oQWO1G/mOOQO-E<[-E<[OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#![QSO7+%qOOQ(CY7+&X7+&XO>QQSO7+&XO!>oQWO7+&XOOQO7+%t7+%tO$6nQ(CjO7+&QOOQO7+&Q7+&QO%QQUO7+&QO%&|Q(C[O7+&QO!>dQ(C[O7+%tO!>oQWO7+%tO%'XQ(C[O7+&QO%'gQ(CjO7++bO%QQUO7++bO%'wQSO7++aO%'wQSO7++aOOQO1G4i1G4iO:vQSO1G4iO%(PQSO1G4iOOQO7+%y7+%yO#![QSO<vOOQO-EwO%QQUO,5>wOOQO-ESQ(CjO<oQWO1G2bOBoQSO1G2cO%EsQSO1G2dO%E{QSO1G2cO!'^Q,UO7+*}OOQ(CY1G/[1G/[O%FWQSO1G/[OOQ(CY7+'n7+'nO%F]Q,UO7+'uO%FmQ(CjO<dQ(C[O<oQWO7+(sO%JhQSO,5?]OOQO-EVOOQQ,5>X,5>XO%KmQSO1G3vO:vQSO7+&_O!)jQUO7+&_OOQO7+%X7+%XO%KrQ$IUO1G5yO>QQSO7+%XOOQ(CY<QQSO<dQ(C[O<QQSO7+)bO&3ZQSO<zAN>zO%QQUOAN?WOOQO<OQ$IUO7+'uO&?tQ,UOG26{OOQO<QOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO#v:PO(RVO(b$WO(i#yO(j#zO~O#y.dO~P#@_O#X:UO#{:UO#y(WX!W(WX~PNlO^'Ya!V'Ya'k'Ya'i'Ya!g'Ya!S'Yao'Ya!X'Ya%a'Ya!a'Ya~P!6UOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(R#fi(b#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#)tO^#zi!V#zi'k#zi'i#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!6UO$W.iO$Y.iO~O$W.jO$Y.jO~O!a)YO#X.kO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.lO~O!X)]O$T.nO$W)[O$Y)[O$a.oO~O!V:QO!W(VX~P#@_O!W.pO~O!a)YO$a(kX~O$a.rO~Oq)lO(S)mO(T.uO~Ol.xO!S.yO'vTO'yUO~O!VcX!acX!gcX!g$sX(bcX~P!.xO!g/PO~P#)tO!V/QO!a#rO(b'bO!g(oX~O!g/VO~O!U)}O't%eO!g(oP~O#d/XO~O!S$sX!V$sX!a$zX~P!.xO!V/YO!S(pX~P#)tO!a/[O~O!S/^O~Ok/bO!a#rO!h%ZO'}%OO(b'bO~O't/dO~O!a*}O~O^%^O!V/hO'k%^O~O!W/jO~P!2vO!]/kO!^/kO'u!iO(U!jO~O|/mO(U!jO~O#T/nO~O't%|Od'_X!V'_X~O!V*gOd(Oa~Od/sO~Oy/tOz/tO|/uOgva(iva(jva!Vva#Xva~Odva#yva~P#L|Oy)qO|)rOg$la(i$la(j$la!V$la#X$la~Od$la#y$la~P#MrOy)qO|)rOg$na(i$na(j$na!V$na#X$na~Od$na#y$na~P#NeO#d/wO~Od$|a!V$|a#X$|a#y$|a~P!0RO!a#rO~O#d/zO~Oy#vOz#wO|#xO!f#tO!h#uO(RVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(b!ni(i!ni(j!ni~O^!ni'k!ni'i!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$ wOg.PO!X'QO%a.OO~Oi0RO't0QO~P!0sO!a*}O^'|a!X'|a'k'|a!V'|a~O#d0XO~OXYX!VcX!WcX~O!V0YO!W(wX~O!W0[O~OX0]O~O't+VO'vTO'yUO~O!X%nO't%eO]'gX!V'gX~O!V+[O](va~O!g0bO~P!6UOX0eO~O]0fO~O!V+hO^(sa'k(sa~O#X0lO~Og0oO!X$yO~O(U(oO!W(tP~Og0xO!X0uO%a0wO'}%OO~OX1SO!V1QO!W(uX~O!W1TO~O]1VO^%^O'k%^O~O't#jO'vTO'yUO~O#X$bO#{$bOP(WXX(WXk(WXy(WXz(WX|(WX!V(WX!e(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#q(WX#s(WX#u(WX#v(WX(R(WX(b(WX(i(WX(j(WX~O#o1YO&Q1ZO^(WX!f(WX~P$(xO#X$bO#o1YO&Q1ZO~O^1[O~P%QO^1^O~O&Z1bOP&XiQ&XiV&Xi^&Xia&Xib&Xii&Xik&Xil&Xim&Xis&Xiu&Xiw&Xi|&Xi!Q&Xi!R&Xi!X&Xi!c&Xi!h&Xi!k&Xi!l&Xi!m&Xi!o&Xi!q&Xi!t&Xi!x&Xi#p&Xi$Q&Xi$U&Xi%`&Xi%b&Xi%d&Xi%e&Xi%h&Xi%j&Xi%m&Xi%n&Xi%p&Xi%|&Xi&S&Xi&U&Xi&W&Xi&Y&Xi&]&Xi&c&Xi&i&Xi&k&Xi&m&Xi&o&Xi&q&Xi'i&Xi't&Xi'v&Xi'y&Xi(R&Xi(a&Xi(n&Xi!W&Xi_&Xi&`&Xi~O_1hO!W1fO&`1gO~P`O!XXO!h1jO~O&g,eOP&biQ&biV&bi^&bia&bib&bii&bik&bil&bim&bis&biu&biw&bi|&bi!Q&bi!R&bi!X&bi!c&bi!h&bi!k&bi!l&bi!m&bi!o&bi!q&bi!t&bi!x&bi#p&bi$Q&bi$U&bi%`&bi%b&bi%d&bi%e&bi%h&bi%j&bi%m&bi%n&bi%p&bi%|&bi&S&bi&U&bi&W&bi&Y&bi&]&bi&c&bi&i&bi&k&bi&m&bi&o&bi&q&bi'i&bi't&bi'v&bi'y&bi(R&bi(a&bi(n&bi!W&bi&Z&bi_&bi&`&bi~O!S1pO~O!V!Za!W!Za~P#@_Ol!kO|!lO!U1vO(U!jO!V&}X!W&}X~P?fO!V,uO!W(Ya~O!V'TX!W'TX~P!@xO!V,xO!W(ha~O!W1}O~P'TO^%^O#X2WO'k%^O~O^%^O!a#rO#X2WO'k%^O~O^%^O!a#rO!l2[O#X2WO'k%^O(b'bO~O^%^O'k%^O~P!6UO!V$^Oo$ka~O!S&|i!V&|i~P!6UO!V'vO!S(Xi~O!V'}O!S(fi~O!S(gi!V(gi~P!6UO!V(di!g(di^(di'k(di~P!6UO#X2^O!V(di!g(di^(di'k(di~O!V(ZO!g(ci~O|%vO!X%wO!x]O#b2cO#c2bO't%eO~O|%vO!X%wO#c2bO't%eO~Og2jO!X'QO%a2iO~Og2jO!X'QO%a2iO'}%OO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'kva(Rva(bva!gva!Sva'ivaova!Xva%ava!ava~P#L|O#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'k$la(R$la(b$la!g$la!S$la'i$lao$la!X$la%a$la!a$la~P#MrO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'k$na(R$na(b$na!g$na!S$na'i$nao$na!X$na%a$na!a$na~P#NeO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'k$|a(R$|a(b$|a!g$|a!S$|a'i$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#)tO^#[q!V#[q'k#[q'i#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!6UOd'OX!V'OX~P!'^O!V.YOd([a~O!U2rO!V'PX!g'PX~P%QO!V.]O!g(]a~O!V.]O!g(]a~P!6UO!S2uO~O#y!ja!W!ja~PJ`O#y!ba!V!ba!W!ba~P#@_O#y!na!W!na~P!8oO#y!pa!W!pa~P!;YO!X3XO$UfO$_3YO~O!W3^O~Oo3_O~P#)tO^$hq!V$hq'k$hq'i$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!6UO!S3`O~Ol.xO'vTO'yUO~Oy)qO|)rO(j)vOg%Xi(i%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$GeOy)qO|)rOg%Zi(i%Zi(j%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$HWO(b$WO~P#)tO!U3cO't%eO!V'ZX!g'ZX~O!V/QO!g(oa~O!V/QO!a#rO!g(oa~O!V/QO!a#rO(b'bO!g(oa~Od$ui!V$ui#X$ui#y$ui~P!0RO!U3kO't*SO!S']X!V']X~P!0pO!V/YO!S(pa~O!V/YO!S(pa~P#)tO!a#rO#o3sO~Ok3vO!a#rO(b'bO~Od(Pi!V(Pi~P!0RO#X3yOd(Pi!V(Pi~P!0RO!g3|O~O^$iq!V$iq'k$iq'i$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!6UO!V4QO!X(qX~P#)tO!f#tO~P3}O^$sX!X$sX%UYX'k$sX!V$sX~P!.xO%U4SO^hXghXyhX|hX!XhX'khX(ihX(jhX!VhX~O%U4SO~O%b4ZO't+VO'vTO'yUO!V'fX!W'fX~O!V0YO!W(wa~OX4_O~O]4`O~O!S4dO~O^%^O'k%^O~P#)tO!X$yO~P#)tO!V4iO#X4kO!W(tX~O!W4lO~Ol!kO|4mO![!uO!]!rO!^!rO!x9mO!|!mO!}!mO#O!mO#P!mO#Q!mO#T4rO#U!vO'u!iO'vTO'yUO(U!jO(a!pO~O!W4qO~P%!VOg4wO!X0uO%a4vO~Og4wO!X0uO%a4vO'}%OO~O't#jO!V'eX!W'eX~O!V1QO!W(ua~O'vTO'yUO(U5QO~O]5UO~O!g5XO~P%QO^5ZO~O^5ZO~P%QO#o5]O&Q5^O~PMOO_1hO!W5bO&`1gO~P`O!a5dO~O!a5fO!V(Zi!W(Zi!a(Zi!h(Zi'}(Zi~O!V#ai!W#ai~P#@_O#X5gO!V#ai!W#ai~O!V!Zi!W!Zi~P#@_O^%^O#X5pO'k%^O~O^%^O!a#rO#X5pO'k%^O~O!V(dq!g(dq^(dq'k(dq~P!6UO!V(ZO!g(cq~O|%vO!X%wO#c5wO't%eO~O!X'QO%a5zO~Og5}O!X'QO%a5zO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'k%Xi(R%Xi(b%Xi!g%Xi!S%Xi'i%Xio%Xi!X%Xi%a%Xi!a%Xi~P$GeO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'k%Zi(R%Zi(b%Zi!g%Zi!S%Zi'i%Zio%Zi!X%Zi%a%Zi!a%Zi~P$HWO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'k$ui(R$ui(b$ui!g$ui!S$ui'i$ui#X$uio$ui!X$ui%a$ui!a$ui~P#)tOd'Oa!V'Oa~P!0RO!V'Pa!g'Pa~P!6UO!V.]O!g(]i~O#y#[i!V#[i!W#[i~P#@_OP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(RVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~O#g#fi~P%0fO#g9uO~P%0fOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO(RVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~Ok#fi~P%2qOk9wO~P%2qOP$YOk9wOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO(RVO#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%4|OX:TO!e9yO#l9yO#m9yO#n:SO#o9yO~P%4|OP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO(RVO#s#fi#u#fi#v#fi#y#fi(b#fi(j#fi!V#fi!W#fi~O(i#fi~P%7hO(i#yO~P%7hOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O(RVO(i#yO#u#fi#v#fi#y#fi(b#fi!V#fi!W#fi~O(j#fi~P%9sO(j#zO~P%9sOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO(RVO(i#yO(j#zO~O#v#fi#y#fi(b#fi!V#fi!W#fi~P%vO!f#tOP(QXX(QXg(QXk(QXy(QXz(QX|(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX#y(QX(R(QX(b(QX(i(QX(j(QX!V(QX!W(QX~O#y#zi!V#zi!W#zi~P#@_O#y!ni!W!ni~P$ wO!W6ZO~O!V'Ya!W'Ya~P#@_O!a#rO(b'bO!V'Za!g'Za~O!V/QO!g(oi~O!V/QO!a#rO!g(oi~Od$uq!V$uq#X$uq#y$uq~P!0RO!S']a!V']a~P#)tO!a6bO~O!V/YO!S(pi~P#)tO!V/YO!S(pi~O!S6fO~O!a#rO#o6kO~Ok6lO!a#rO(b'bO~O!S6nO~Od$wq!V$wq#X$wq#y$wq~P!0RO^$iy!V$iy'k$iy'i$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!6UO!V4QO!X(qa~O^#[y!V#[y'k#[y'i#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!6UOX6sO~O!V0YO!W(wi~O]6yO~O!a5fO~O(U(oO!V'bX!W'bX~O!V4iO!W(ta~OikO't7QO~P._O!W7TO~P%!VOl!kO|7UO'vTO'yUO(U!jO(a!pO~O!X0uO~O!X0uO%a7WO~Og7ZO!X0uO%a7WO~OX7`O!V'ea!W'ea~O!V1QO!W(ui~O!g7dO~O!g7eO~O!g7fO~O!g7fO~P%QO^7hO~O!a7kO~O!g7lO~O!V(gi!W(gi~P#@_O^%^O#X7tO'k%^O~O!V(dy!g(dy^(dy'k(dy~P!6UO!V(ZO!g(cy~O!X'QO%a7wO~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'k$uq(R$uq(b$uq!g$uq!S$uq'i$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#)tO#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'k$wq(R$wq(b$wq!g$wq!S$wq'i$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#)tO!V'Pi!g'Pi~P!6UO#y#[q!V#[q!W#[q~P#@_Oy/tOz/tO|/uOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Rva(bva(iva(jva!Vva!Wva~Oy)qO|)rOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(R$la(b$la(i$la(j$la!V$la!W$la~Oy)qO|)rOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(R$na(b$na(i$na(j$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(R$|a(b$|a!V$|a!W$|a~P%>vO#y$hq!V$hq!W$hq~P#@_O#y$iq!V$iq!W$iq~P#@_O!W8RO~O#y8SO~P!0RO!a#rO!V'Zi!g'Zi~O!a#rO(b'bO!V'Zi!g'Zi~O!V/QO!g(oq~O!S']i!V']i~P#)tO!V/YO!S(pq~O!S8YO~P#)tO!S8YO~Od(Py!V(Py~P!0RO!V'`a!X'`a~P#)tO^%Tq!X%Tq'k%Tq!V%Tq~P#)tOX8_O~O!V0YO!W(wq~O#X8cO!V'ba!W'ba~O!V4iO!W(ti~P#@_OPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!a%RX#o%RX~P&/vO!X0uO%a8gO~O'vTO'yUO(U8lO~O!V1QO!W(uq~O!g8oO~O!g8oO~P%QO!g8qO~O!g8rO~O#X8tO!V#ay!W#ay~O!V#ay!W#ay~P#@_O!X'QO%a8yO~O#y#wy!V#wy!W#wy~P#@_OP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(R$ui(b$ui!V$ui!W$ui~P%>vOy)qO|)rO(j)vOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(R%Xi(b%Xi(i%Xi!V%Xi!W%Xi~Oy)qO|)rOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(R%Zi(b%Zi(i%Zi(j%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#@_O#y#[y!V#[y!W#[y~P#@_O!a#rO!V'Zq!g'Zq~O!V/QO!g(oy~O!S']q!V']q~P#)tO!S9QO~P#)tO!V0YO!W(wy~O!V4iO!W(tq~O!X0uO%a9XO~O!g9[O~O!X'QO%a9aO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(R$uq(b$uq!V$uq!W$uq~P%>vOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(R$wq(b$wq!V$wq!W$wq~P%>vOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0RO!V'bq!W'bq~P#@_O!V#a!Z!W#a!Z~P#@_O#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'k%]!Z(R%]!Z(b%]!Z!g%]!Z!S%]!Z'i%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#)tOP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(R%]!Z(b%]!Z!V%]!Z!W%]!Z~P%>vOo(VX~P1gO'u!iO~P!)jO!ScX!VcX#XcX~P&/vOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!acX!gYX!gcX(bcX~P&E^OP9lOQ9lOa;]Ob!fOikOk9lOlkOmkOskOu9lOw9lO|WO!QkO!RkO!XXO!c9oO!hZO!k9lO!l9lO!m9lO!o9pO!q9qO!t!eO$Q!hO$UfO't)PO'vTO'yUO(RVO(a[O(n;ZO~O!V:QO!W$ka~Oi%POk$qOl$pOm$pOs%QOu%ROw:WO|$xO!X$yO!c;bO!h$uO#c:^O$Q%VO$m:YO$o:[O$r%WO't(gO'vTO'yUO'}%OO(R$rO~O#p)WO~P&JSO!WYX!WcX~P&E^O#d9tO~O!a#rO#d9tO~O#X:UO~O#o9yO~O#X:`O!V(gX!W(gX~O#X:UO!V(eX!W(eX~O#d:aO~Od:cO~P!0RO#d:hO~O#d:iO~O!a#rO#d:jO~O!a#rO#d:aO~O#y:kO~P#@_O#d:lO~O#d:mO~O#d:nO~O#d:oO~O#d:pO~O#d:qO~O#y:rO~P!0RO#y:sO~P!0RO$U~!f!|!}#P#Q#T#b#c#n(n$m$o$r%U%`%a%b%h%j%m%n%p%r~'oR$U(n#h!R'm'u#il#g#jky'n(U'n't$W$Y$W~",goto:"$%Z({PPPP(|P)PP)aP*p.rPPPP5SPP5iP;d>iP>|P>|PPP>|P@lP>|P>|P>|P@pPP@uPA`PFUPPPFYPPPPFYIXPPPI_JYPFYPLgPPPPNuFYPPPFYPFYP!#TFYP!&g!'i!'rP!(e!(i!(ePPPPP!+r!'iPP!,`!-YP!/|FYFY!0R!3Z!7n!7n!;cPPP!;jFYPPPPPPPPPPP!>uP!@WPPFY!AePFYPFYFYFYFYPFY!BwPP!E}P!IPP!IT!I_!Ic!IcP!EzP!Ig!IgP!LiP!LmFYFY!Ls# t>|P>|P>|>|P##O>|>|#$x>|#'V>|#(y>|>|#)g#+c#+c#+g#+o#+c#+wP#+cP>|#,a>|#-i>|>|5SPPP#.tPP#/^#/^P#/^P#/s#/^PP#/yP#/pP#/p#0]#/p#0w#0}5P)P#1Q)PP#1X#1X#1XP)PP)PP)PP)PPP)PP#1_#1bP#1b)PP#1fP#1iP)PP)PP)PP)PP)PP)P)PPP#1o#1u#2P#2V#2]#2c#2i#2w#2}#3T#3_#3e#3o#4O#4U#4u#5X#5_#5e#5s#6Y#7j#7x#8O#8U#8[#8b#8l#8r#8x#9S#9f#9lPPPPPPPPPP#9rPPPPPPP#:f#=mP#>|#?T#?]PPPP#Cg#F]#Lr#Lu#Lx#Mq#Mt#Mw#NO#NWPP#N^#Nb$ Z$!Z$!_$!sPP$!w$!}$#RP$#U$#Y$#]$$R$$i$$n$$q$$t$$z$$}$%R$%VR!xRmpOXr!X#`%]&d&f&g&i,],b1b1eY!rQ'Q,}0u4pQ%ctQ%kwQ%rzQ&[!TS&x!c,uQ'W!fS'^!o!uS*Y$y*_Q+T%lQ+b%tQ+|&UQ,{'PQ-V'XQ-_'_Q/k*aQ1P+}R:_9p$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7tS#m]9m!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q*j%SQ+Y%nQ,O&XQ,V&aQ.S:VQ0O*{Q0S*}Q0_+ZQ1X,TQ2f.PQ4Y0YQ5O1QQ5|2jQ6S:WQ6u4ZR7z5}&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^t!kQ!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4r$Y$pi#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ%uzQ&v!cS&|%w,xQ+Y%nS.x)r.zQ/v*nQ0_+ZQ0d+aQ1W,SQ1X,TQ4Y0YQ4c0fQ5R1SQ5S1VQ6u4ZQ6x4`Q7c5UQ8b6yR8m7`pmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR,Q&]&r^OPXYrstux!X!^!g!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u'S'd'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;];^[#XWZ#S#V&y'tQ%fvQ%jwS%oz%t!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ&Q!RQ'T!eQ'V!fQ(b#oS)|$u*QS+S%k%lQ+W%nQ+w&SQ+{&US-U'W'XQ.R(cQ/U)}Q0W+TQ0^+ZQ0`+[Q0c+`Q0z+xS1O+|+}Q2S-VQ3b/QQ4X0YQ4]0]Q4b0eQ4}1PQ6_3cQ6t4ZQ6w4_Q8^6sR9S8_v$wi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!S%hw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uQ*|%fQ+m%}Q+p&OQ+z&UQ.Q(bQ0y+wU0}+{+|+}Q2k.RQ4x0zS4|1O1PQ7_4}!z;_#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg;`:S:T:Y:[:^:e:g:i:m:o:sW$|i%O*g;ZS%}!O&ZQ&O!PQ&P!QR+k%{$Z${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hT)m$r)nV*k%S:V:WU&|!c%w,xS(p#v#wQ+_%qS-z(^(_Q0p+qQ3z/tR6}4i&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^$i$]c#U#a%a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.e.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QT#PV#Q&ykOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q&z!cR1w,uv!kQ!c!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4rS*X$y*_S/c*Y*aQ/l*bQ0r+sQ3u/kR3x/nlpOXr!X#`%]&d&f&g&i,],b1b1eQ&k![Q'h!tS(d#q9tQ+Q%iQ+u&QQ+v&RQ-S'UQ-a'aS.W(i:aS/y*s:jQ0U+RQ0t+tQ1i,dQ1k,eQ1s,pQ2Q-TQ2T-XS4P/z:pQ4T0VS4W0X:qQ5h1uQ5l2RQ5q2YQ6r4UQ7o5jQ7p5mQ7s5rR8s7l$d$[c#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(a#l'ZU*d$z(h3US*w%a.eQ2g0OQ5y2fQ7y5|R8z7z$d$Zc#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(`#l'ZS(r#w$[S*v%a.eS-{(_(aQ.h)SQ/{*wR2d-|&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S#m]9mQ&f!VQ&g!WQ&i!YQ&j!ZR1a,`Q'R!eQ*y%fQ-Q'TS-}(b*|Q2O-PW2h.Q.R/}0PQ5k2PU5x2e2g2kS7v5y5{S8x7x7yS9_8w8zQ9g9`R9j9hU!sQ'Q,}T4n0u4p!O_OXZ`r!T!X#`#d%Z%]&Z&]&d&f&g&i(Z,],b-t1b1e]!mQ!o'Q,}0u4pT#m]9m%UyOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS(p#v#wS-z(^(_!s:w$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Y!qQ'Q,}0u4pQ']!oS'g!r!uS'i!v4rS-^'^'_Q-`'`R2Z-_Q'f!qS(V#c1_S-]']'iQ/T)|Q/a*XQ2[-`Q3g/US3p/b/lQ6^3bS6i3v3xQ8U6_R8]6lQ#sbQ'e!qS(U#c1_S(W#i*rQ*t%[Q+O%gQ+U%mU-[']'f'iQ-p(VQ/S)|Q/`*XQ/f*[Q0T+PQ0{+yS2X-]-`Q2a-xS3f/T/US3o/a/lQ3r/eQ3t/gQ4z0|Q5s2[Q6]3bQ6a3gS6e3p3xQ6j3wQ7]4{S8T6^6_Q8X6fQ8Z6iQ8j7^Q9O8UQ9P8YQ9R8]Q9Z8kQ9c9QQ:z:uQ;V;OR;W;PV!sQ'Q,}%UaOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS#sx!g!r:t$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:z;]%UbOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tQ%[j!S%gw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uS%mx!gQ+P%hQ+y&UW0|+z+{+|+}U4{0}1O1PS7^4|4}Q8k7_!r:u$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q;O;[R;P;]$xeOPXYrstu!X!^!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tY#^WZ#S#V't!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ,W&a!p:v$X$j)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:y&yS&}!c%wR1y,x$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7t!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q,V&aQ0O*{Q2f.PQ5|2jR7z5}!f$Rc#U%a's'y(e(l({(|(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!T9{)Q)c,s.e1q1t2v3O3P3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!b$Tc#U%a's'y(e(l(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!P9})Q)c,s.e1q1t2v3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!^$Xc#U%a's'y(e(l)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9nQ3a/Oz;^)Q)c,s.e1q1t2v3V3]5i6R6W6X7P7n7{8P8Q9U9];QQ;c;eR;d;f&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S$kh$lR3Y.k'PgOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$gf$mQ$efS)[$h)`R)h$mT$ff$mT)^$h)`'PhOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$kh$lQ$nhR)g$l%UjOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7t!s;[$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^#alOPXZr!X!^!l#O#`#k#x$j%]&]&`&a&d&f&g&i&m&u'S(q)e*{+g,X,],b-R.P.l/u0x1Y1Z1[1^1b1e1g2j3X4m4w5Z5]5^5}7U7Z7hv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hQ*o%WQ.w)qg3U:S:T:Y:[:^:e:g:i:m:o:sv$vi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;dQ*R$wS*[$y*_Q*p%XQ/g*]!z:|#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hf:}:S:T:Y:[:^:e:g:i:m:o:sQ;R;_Q;S;`Q;T;aR;U;bv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg3U:S:T:Y:[:^:e:g:i:m:o:slnOXr!X#`%]&d&f&g&i,],b1b1eQ*U$xQ,k&pQ,l&rR3j/Y$Y${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ+n&OQ0n+pQ4g0mR6|4hT*^$y*_S*^$y*_T4o0u4pS/e*Z4mT3w/m7UQ+O%gQ/f*[Q0T+PQ0{+yQ4z0|Q7]4{Q8j7^R9Z8kn)u$s(j*q/W/o/p2o3h3}6[6m8}:{;X;Y!W:d(f)V){*T.V.s/O/]/|0k0m2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f]:e3T6V7|8{8|9kp)w$s(j*q.|/W/o/p2o3h3}6[6m8}:{;X;Y!Y:f(f)V){*T.V.s/O/]/|0k0m2l2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f_:g3T6V7|7}8{8|9kpmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ&W!SR,X&apmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR&W!SQ+r&PR0j+kqmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ0v+wS4u0y0zU7V4s4t4xS8f7X7YS9V8e8hQ9d9WR9i9eQ&_!TR,R&ZR5R1SS%oz%tR0`+[Q&d!UR,]&eR,c&jT1c,b1eR,g&kQ,f&kR1l,gQ'k!wR-c'kQrOQ#`XT%`r#`Q!zTR'm!zQ!}UR'o!}Q)n$rR.t)nQ#QVR'q#QQ#TWU'w#T'x-jQ'x#UR-j'yQ,v&zR1x,vQ.Z(jR2p.ZQ.^(lS2s.^2tR2t._Q,}'QR1|,}Y!oQ'Q,}0u4pR'[!oS#ZW%vU(O#Z(P-kQ(P#[R-k'zQ,y&}R1z,yr`OXr!T!X#`%]&Z&]&d&f&g&i,],b1b1eS#dZ%ZU#n`#d-tR-t(ZQ([#fQ-q(WW-y([-q2_5uQ2_-rR5u2`Q)`$hR.m)`Q$lhR)f$lQ$_cU)U$_-f:RQ-f9nR:R)cQ/R)|W3d/R3e6`8VU3e/S/T/US6`3f3gR8V6a#m)s$s(f(j)V){*T*l*m*q.T.U.V.s.|.}/O/W/]/o/p/|0k0m2l2m2n2o3T3h3i3m3}4f4h6O6P6T6U6V6[6c6g6m6o6q7|7}8O8W8[8{8|8}9b9k:{;X;Y;e;fQ/Z*TU3l/Z3n6dQ3n/]R6d3mQ*_$yR/i*_Q*h$}R/r*hQ4R/|R6p4RQ+i%yR0i+iQ4j0pS7O4j8dR8d7PQ+t&QR0s+tQ4p0uR7S4pQ1R,OS5P1R7aR7a5RQ0Z+WW4[0Z4^6v8`Q4^0^Q6v4]R8`6wQ+]%oR0a+]Q1e,bR5a1eWqOXr#`Q&h!XQ*u%]Q,[&dQ,^&fQ,_&gQ,a&iQ1`,]S1c,b1eR5`1bQ%_oQ&l!]Q&o!_Q&q!`Q&s!aQ'c!qQ+Q%iQ+d%uQ+j%zQ,Q&_Q,i&nW-Y']'e'f'iQ-a'aQ/h*^Q0U+RS1U,R,UQ1m,hQ1n,kQ1o,lQ2T-XW2V-[-]-`-bQ4T0VQ4a0dQ4e0kQ4y0{Q5T1WQ5_1aU5n2U2X2[Q5q2YQ6r4UQ6z4cQ6{4fQ7R4oQ7[4zQ7b5SS7q5o5sQ7s5rQ8a6xQ8i7]Q8n7cQ8u7rQ9T8bQ9Y8jQ9^8vR9f9ZQ%iwQ'U!fQ'a!qU+R%j%k%lQ,p&wU-T'V'W'XS-X']'gQ/_*XS0V+S+TQ1u,rS2R-U-VQ2Y-^Q3q/cQ4U0WQ5j1{Q5m2SQ5r2ZR6h3uS$ti;ZR*i%OU$}i%O;ZR/q*gQ$siS(f#r*}Q(j#tS)V$`$aQ){$uQ*T$xQ*l%TQ*m%UQ*q%YQ.T:XQ.U:ZQ.V:]Q.s)lQ.|)uQ.})wQ/O)xQ/W*PQ/]*VQ/o*eQ/p*fh/|*z.O0w2i4v5z7W7w8g8y9X9aQ0k+lQ0m+oQ2l:dQ2m:fQ2n:hQ2o.YS3T:S:TQ3h/XQ3i/YQ3m/[Q3}/wQ4f0lQ4h0oQ6O:lQ6P:nQ6T:YQ6U:[Q6V:^Q6[3aQ6c3kQ6g3sQ6m3yQ6o4QQ6q4SQ7|:iQ7}:eQ8O:gQ8W6bQ8[6kQ8{:mQ8|:oQ8}8SQ9b:rQ9k:sQ:{;ZQ;X;cQ;Y;dQ;e;gR;f;hloOXr!X#`%]&d&f&g&i,],b1b1eQ!dPS#bZ#kQ&n!^U'Y!l4m7UQ'p#OQ(s#xQ)d$jS,U&]&`Q,Y&aQ,h&mQ,m&uQ-P'SQ.a(qQ.q)eQ0P*{Q0g+gQ1],XQ2P-RQ2g.PQ3[.lQ3{/uQ4t0xQ5V1YQ5W1ZQ5Y1[Q5[1^Q5c1gQ5y2jQ6Y3XQ7Y4wQ7g5ZQ7i5]Q7j5^Q7y5}Q8h7ZR8p7h#UcOPXZr!X!^!l#`#k#x%]&]&`&a&d&f&g&i&m&u'S(q*{+g,X,],b-R.P/u0x1Y1Z1[1^1b1e1g2j4m4w5Z5]5^5}7U7Z7hQ#UWQ#aYQ%asQ%btQ%duS's#S'vQ'y#VQ(e#qQ(l#uQ(t#{Q(u#|Q(v#}Q(w$OQ(x$PQ(y$QQ(z$RQ({$SQ(|$TQ(}$UQ)O$VQ)Q$XQ)T$^Q)X$bW)c$j)e.l3XQ*x%cQ+^%pS,s&y1vQ-b'dS-g't-iQ-l'|Q-n(TQ.X(iQ._(mQ.c9lQ.e9oQ.f9pQ.g9qQ.v)pQ/x*sQ1q,nQ1t,qQ2U-ZQ2]-oQ2q.]Q2v9tQ2w9uQ2x9vQ2y9wQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S.dQ3V:UQ3W:_Q3]:QQ4O/zQ4V0XQ5i:`Q5o2WQ5t2^Q6Q2rQ6R:aQ6W:cQ6X:jQ7P4kQ7n5gQ7r5pQ7{:kQ8P:pQ8Q:qQ8v7tQ9U8cQ9]8tQ9n#OR;Q;^R#WWR&{!cY!qQ'Q,}0u4pS&w!c,uQ']!oS'g!r!uS'i!v4rS,r&x'PS-^'^'_Q-`'`Q1{,{R2Z-_R(k#tR(n#uQ!dQT,|'Q,}]!nQ!o'Q,}0u4pQ#l]R'Z9mT#gZ%ZS#fZ%ZU%y|},ZU(W#d#e#hS-r(X(YQ-v(ZQ0h+hQ2`-sU2a-t-u-wS5v2b2cR7u5w`#YW#S#V%v't'}+e-mt#cZ|}#d#e#h%Z(X(Y(Z+h-s-t-u-w2b2c5wQ1_,ZQ1r,oQ5e1jQ7m5fT:x&y+fT#]W%vS#[W%vS'u#S'}S'z#V+eS,t&y+fT-h't-mT'O!c%wQ$hfR)j$mT)_$h)`R3Z.kT*O$u*QR*W$xQ/}*zQ2e.OQ4s0wQ5{2iQ7X4vQ7x5zQ8e7WQ8w7wQ9W8gQ9`8yQ9e9XR9h9alpOXr!X#`%]&d&f&g&i,],b1b1eQ&^!TR,Q&ZV%z|},ZR0q+qR,P&XQ%szR+c%tR+X%nT&b!U&eT&c!U&eT1d,b1e",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList 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 : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression 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 in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration 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:364,context:ih,nodeProps:[["group",-26,6,14,16,62,199,203,206,207,209,212,215,225,227,233,235,237,239,242,248,254,256,258,260,262,264,265,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[rh],skippedNodes:[0,3,4,268],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&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$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&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]$d&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%Z(CS+rq$d&j'wp'z!b'm(;dOX%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%Z(CS.ST'x#S$d&j'n(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'wp'z!b'n(;dOY%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%#`/x`$d&j!l$Ip'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%#S1V`#q$Id$d&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%#S2d_#q$Id$d&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$2b3l_'v$(n$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu`k$d&j'wp'z!b(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'wp'z!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'wp'z!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'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%DfETa(j%Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'wp'z!b'n(;d(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[nh,ah,2,3,4,5,6,7,8,9,10,11,12,13,oh,new Lc("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!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(T~~",141,326),new Lc("j~RQYZXz{^~^O'q~~aP!P!Qd~iO'r~~",25,308)],topRules:{Script:[0,5],SingleExpression:[1,266],SingleClassItem:[2,267]},dialects:{jsx:12686,ts:12688},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:312,get:e=>sh[e]||-1},{term:328,get:e=>lh[e]||-1},{term:67,get:e=>ph[e]||-1}],tokenPrec:12712}),ch=[bc("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),bc("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),bc("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),bc("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),bc("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),bc("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),bc("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),bc("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),bc("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),bc('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),bc('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],hh=new Sr,fh=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function yh(e){return(t,i)=>{let o=t.node.getChild("VariableDefinition");return o&&i(o,e),!0}}const uh=["FunctionDeclaration"],mh={FunctionDeclaration:yh("function"),ClassDeclaration:yh("class"),ClassExpression:()=>!0,EnumDeclaration:yh("constant"),TypeAliasDeclaration:yh("type"),NamespaceDeclaration:yh("namespace"),VariableDefinition(e,t){e.matchContext(uh)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function gh(e,t){let i=hh.get(t);if(i)return i;let o=[],n=!0;function a(t,i){let n=e.sliceString(t.from,t.to);o.push({label:n,type:i})}return t.cursor(sr.IncludeAnonymous).iterate((t=>{if(n)n=!1;else if(t.name){let e=mh[t.name];if(e&&e(t,a)||fh.has(t.name))return!1}else if(t.to-t.from>8192){for(let i of gh(e,t.node))o.push(i);return!1}})),hh.set(t,o),o}const bh=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,wh=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function kh(e){let t=ks(e.state).resolveInner(e.pos,-1);if(wh.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&bh.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let o=[];for(let i=t;i;i=i.parent)fh.has(i.name)&&(o=o.concat(gh(e.state.doc,i)));return{options:o,from:i?t.from:e.pos,validFor:bh}}const vh=ws.define({name:"javascript",parser:dh.configure({props:[Gs.add({IfStatement:_s({except:/^\s*({|else\b)/}),TryStatement:_s({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),o=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:o?1:2)*e.unit},Block:qs({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":_s({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),Us.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":Hs,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Oh={test:e=>/^JSX/.test(e.name),facet:us({commentTokens:{block:{open:"{/*",close:"*/}"}}})},xh=vh.configure({dialect:"ts"},"typescript"),Sh=vh.configure({dialect:"jsx",props:[ms.add((e=>e.isTop?[Oh]:void 0))]}),Ch=vh.configure({dialect:"jsx ts",props:[ms.add((e=>e.isTop?[Oh]:void 0))]},"typescript"),Ph="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((e=>({label:e,type:"keyword"})));function Dh(e={}){let t=e.jsx?e.typescript?Ch:Sh:e.typescript?xh:vh;return new Rs(t,[vh.data.of({autocomplete:(i=wh,o=Cd(ch.concat(Ph)),e=>{for(let t=ks(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(i.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return o(e)})}),vh.data.of({autocomplete:kh}),e.jsx?Rh:[]]);var i,o}function Th(e,t,i=e.length){for(let o=null==t?void 0:t.firstChild;o;o=o.nextSibling)if("JSXIdentifier"==o.name||"JSXBuiltin"==o.name||"JSXNamespacedName"==o.name||"JSXMemberExpression"==o.name)return e.sliceString(o.from,Math.min(o.to,i));return""}const Qh="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Rh=Fn.inputHandler.of(((e,t,i,o)=>{if((Qh?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=o&&"/"!=o||!vh.isActiveAt(e.state,t,-1))return!1;let{state:n}=e,a=n.changeByRange((e=>{var t,i;let a,{head:r}=e,s=ks(n).resolveInner(r,-1);if("JSXStartTag"==s.name&&(s=s.parent),">"==o&&"JSXFragmentTag"==s.name)return{range:M.cursor(r+1),changes:{from:r,insert:">"}};if("/"==o&&"JSXFragmentTag"==s.name){let e=s.parent,i=null==e?void 0:e.parent;if(e.from==r-1&&"JSXEndTag"!=(null===(t=i.lastChild)||void 0===t?void 0:t.name)&&(a=Th(n.doc,null==i?void 0:i.firstChild,r))){let e=`/${a}>`;return{range:M.cursor(r+e.length),changes:{from:r,insert:e}}}}else if(">"==o){let e=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if(!e.parent)return null;e=e.parent}}(s);if(e&&"JSXEndTag"!=(null===(i=e.lastChild)||void 0===i?void 0:i.name)&&"`}}}return{range:e}}));return!a.changes.empty&&(e.dispatch(a,{userEvent:"input.type",scrollIntoView:!0}),!0)}));class Ah{constructor(e,t,i,o,n,a,r){this.type=e,this.value=t,this.from=i,this.hash=o,this.end=n,this.children=a,this.positions=r,this.hashProp=[[er.contextHash,o]]}static create(e,t,i,o,n){return new Ah(e,t,i,o+(o<<8)+e+(t<<4)|0,n,[],[])}addChild(e,t){e.prop(er.contextHash)!=this.hash&&(e=new lr(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new lr(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,i)=>new lr(or.none,e,t,i,this.hashProp)})}}var Mh;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(Mh||(Mh={}));class Eh{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class Fh{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 Gh(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,i=0){for(let o=t;o=t.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let o=(e.type==Mh.OrderedList?jh:qh)(i,t,!1);return o>0&&(e.type!=Mh.BulletList||Nh(i,t,!1)<0)&&i.text.charCodeAt(i.pos+o-1)==e.value}const Bh={[Mh.Blockquote]:(e,t,i)=>62==i.next&&(i.markers.push(kf(Mh.QuoteMark,t.lineStart+i.pos,t.lineStart+i.pos+1)),i.moveBase(i.pos+(Ih(i.text.charCodeAt(i.pos+1))?2:1)),e.end=t.lineStart+i.text.length,!0),[Mh.ListItem]:(e,t,i)=>!(i.indent-1)&&(i.moveBaseColumn(i.baseIndent+e.value),!0),[Mh.OrderedList]:Lh,[Mh.BulletList]:Lh,[Mh.Document]:()=>!0};function Ih(e){return 32==e||9==e||10==e||13==e}function Gh(e,t=0){for(;ti&&Ih(e.charCodeAt(t-1));)t--;return t}function zh(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length||o<3?-1:1}function Wh(e,t){for(let i=e.stack.length-1;i>=0;i--)if(e.stack[i].type==t)return!0;return!1}function qh(e,t,i){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!Ih(e.text.charCodeAt(e.pos+1))||!(!i||Wh(t,Mh.BulletList)||e.skipSpace(e.pos+2)=48&&n<=57;){if(o++,o==e.text.length)return-1;n=e.text.charCodeAt(o)}return o==e.pos||o>e.pos+9||46!=n&&41!=n||oe.pos+1||49!=e.next)?-1:o+1-e.pos}function _h(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t6?-1:i}function Xh(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,Hh=/\?>/,Yh=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(o);if(a)return e.append(kf(Mh.Comment,i,i+1+a[0].length));let r=/^\?[^]*?\?>/.exec(o);if(r)return e.append(kf(Mh.ProcessingInstruction,i,i+1+r[0].length));let s=/^(?:![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(o);return s?e.append(kf(Mh.HTMLTag,i,i+1+s[0].length)):-1},Emphasis(e,t,i){if(95!=t&&42!=t)return-1;let o=i+1;for(;e.char(o)==t;)o++;let n=e.slice(i-1,i),a=e.slice(o,o+1),r=Df.test(n),s=Df.test(a),l=/\s|^$/.test(n),p=/\s|^$/.test(a),d=!p&&(!s||l||r),c=!l&&(!r||p||s),h=d&&(42==t||!c||r),f=c&&(42==t||!d||s);return e.append(new Cf(95==t?vf:Of,i,o,(h?1:0)|(f?2:0)))},HardBreak(e,t,i){if(92==t&&10==e.char(i+1))return e.append(kf(Mh.HardBreak,i,i+2));if(32==t){let t=i+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=i+2)return e.append(kf(Mh.HardBreak,i,t+1))}return-1},Link:(e,t,i)=>91==t?e.append(new Cf(xf,i,i+1,1)):-1,Image:(e,t,i)=>33==t&&91==e.char(i+1)?e.append(new Cf(Sf,i,i+2,1)):-1,LinkEnd(e,t,i){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let o=e.parts[t];if(o instanceof Cf&&(o.type==xf||o.type==Sf)){if(!o.side||e.skipSpace(o.to)==i&&!/[(\[]/.test(e.slice(i+1,i+2)))return e.parts[t]=null,-1;let n=e.takeContent(t),a=e.parts[t]=Qf(e,n,o.type==xf?Mh.Link:Mh.Image,o.from,i+1);if(o.type==xf)for(let i=0;it?kf(Mh.URL,t+i,n+i):n==e.length&&null}}function Af(e,t,i){let o=e.charCodeAt(t);if(39!=o&&34!=o&&40!=o)return!1;let n=40==o?41:o;for(let o=t+1,a=!1;o=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,i,o,n){return this.append(new Cf(e,t,i,(o?1:0)|(n?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t=e;r--){let e=this.parts[r];if(e instanceof Cf&&1&e.side&&e.type==i.type&&!(n&&(1&i.side||2&e.side)&&(e.to-e.from+a)%3==0&&((e.to-e.from)%3||a%3))){o=e;break}}if(!o)continue;let s=i.type.resolve,l=[],p=o.from,d=i.to;if(n){let e=Math.min(2,o.to-o.from,a);p=o.to-e,d=i.from+e,s=1==e?"Emphasis":"StrongEmphasis"}o.type.mark&&l.push(this.elt(o.type.mark,p,o.to));for(let e=r+1;e=0;t--){let i=this.parts[t];if(i instanceof Cf&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return Gh(this.text,e-this.offset)+this.offset}elt(e,t,i,o){return"string"==typeof e?kf(this.parser.getNodeType(e),t,i,o):new wf(e,t)}}function Ff(e,t){if(!t.length)return e;if(!e.length)return t;let i=e.slice(),o=0;for(let e of t){for(;o(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let o=e+this.fragment.offset;for(;i.to<=o;)if(!i.parent())return!1;for(;;){if(i.from>=o)return this.fragment.from<=t;if(!i.childAfter(o))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(er.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,o=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,a=n,r=e.block.children.length,s=a,l=r;for(;;){if(t.to-i>o){if(t.type.isAnonymous&&t.firstChild())continue;break}if(e.dontInject.add(t.tree),e.addNode(t.tree,t.from-i),t.type.is("Block")&&(Lf.indexOf(t.type.id)<0?(a=t.to-i,r=e.block.children.length):(a=s,r=l,s=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>r;)e.block.children.pop(),e.block.positions.pop();return a-n}}const If=jr({"Blockquote/...":hs.quote,HorizontalRule:hs.contentSeparator,"ATXHeading1/... SetextHeading1/...":hs.heading1,"ATXHeading2/... SetextHeading2/...":hs.heading2,"ATXHeading3/...":hs.heading3,"ATXHeading4/...":hs.heading4,"ATXHeading5/...":hs.heading5,"ATXHeading6/...":hs.heading6,"Comment CommentBlock":hs.comment,Escape:hs.escape,Entity:hs.character,"Emphasis/...":hs.emphasis,"StrongEmphasis/...":hs.strong,"Link/... Image/...":hs.link,"OrderedList/... BulletList/...":hs.list,"BlockQuote/...":hs.quote,"InlineCode CodeText":hs.monospace,URL:hs.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":hs.processingInstruction,"CodeInfo LinkLabel":hs.labelName,LinkTitle:hs.string,Paragraph:hs.content}),Gf=new cf(new nr(uf).extend(If),Object.keys(tf).map((e=>tf[e])),Object.keys(tf).map((e=>rf[e])),Object.keys(tf),sf,Bh,Object.keys(Tf).map((e=>Tf[e])),Object.keys(Tf),[]);function $f(e,t,i){let o=[];for(let n=e.firstChild,a=t;;n=n.nextSibling){let e=n?n.from:i;if(e>a&&o.push({from:a,to:e}),!n)break;a=n.to}return o}const zf={resolve:"Strikethrough",mark:"StrikethroughMark"},Vf={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":hs.strikethrough}},{name:"StrikethroughMark",style:hs.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,i){if(126!=t||126!=e.char(i+1)||126==e.char(i+2))return-1;let o=e.slice(i-1,i),n=e.slice(i+2,i+3),a=/\s|^$/.test(o),r=/\s|^$/.test(n),s=Df.test(o),l=Df.test(n);return e.addDelimiter(zf,i,i+2,!r&&(!l||a||s),!a&&(!s||r||l))},after:"Emphasis"}]};function Nf(e,t,i=0,o,n=0){let a=0,r=!0,s=-1,l=-1,p=!1,d=()=>{o.push(e.elt("TableCell",n+s,n+l,e.parser.parseInline(t.slice(s,l),n+s)))};for(let c=i;c-1)&&a++,r=!1,o&&(s>-1&&d(),o.push(e.elt("TableDelimiter",c+n,c+n+1))),s=l=-1),p=!p&&92==i}return s>-1&&(a++,o&&d()),a}function Wf(e,t){for(let i=t;iWf(t.content,0)?new jf:null,endLeaf(e,t,i){if(i.parsers.some((e=>e instanceof jf))||!Wf(t.text,t.basePos))return!1;let o=e.scanLine(e.absoluteLineEnd+1).text;return qf.test(o)&&Nf(e,t.text,t.basePos)==Nf(e,o,t.basePos)},before:"SetextHeading"}]};class Xf{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}}const Zf=[_f,{defineNodes:[{name:"Task",block:!0,style:hs.list},{name:"TaskMarker",style:hs.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\]/.test(t.content)&&"ListItem"==e.parentType().name?new Xf:null,after:"SetextHeading"}]},Vf];function Uf(e,t,i){return(o,n,a)=>{if(n!=e||o.char(a+1)==e)return-1;let r=[o.elt(i,a,a+1)];for(let n=a+1;n=65&&a<=90||95==a||a>=97&&a<=122||a>=161;)n+=String.fromCharCode(o),o=e.peek(++t);var a;return yy=e,uy=i,fy=n?n.toLowerCase():o==gy||o==by?void 0:null}const gy=63,by=33;function wy(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;tky.indexOf(t)>-1?new wy(my(o,1)||"",e):e,reduce:(e,t)=>t==Jf&&e?e.parent:e,reuse(e,t,i,o){let n=t.type.id;return 6==n||36==n?new wy(my(o,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Oy=new Bc(((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(57));e.advance();let i=47==e.next;i&&e.advance();let o=my(e,0);if(void 0===o)return;if(!o)return e.acceptToken(i?14:6);let n=t.context?t.context.name:null;if(i){if(o==n)return e.acceptToken(11);if(n&&dy[n])return e.acceptToken(57,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==o)return;e.acceptToken(13)}else{if("script"==o)return e.acceptToken(7);if("style"==o)return e.acceptToken(8);if("textarea"==o)return e.acceptToken(9);if(py.hasOwnProperty(o))return e.acceptToken(10);n&&cy[n]&&cy[n][o]?e.acceptToken(57,-1):e.acceptToken(6)}}),{contextual:!0}),xy=new Bc((e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(58);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){i>3&&e.acceptToken(58,-2);break}t=0}e.advance()}}));const Sy=new Bc(((e,t)=>{if(47==e.next&&62==e.peek(1)){let i=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(i?5:4,2)}else 62==e.next&&e.acceptToken(4,1)}));function Cy(e,t,i){let o=2+e.length;return new Bc((n=>{for(let a=0,r=0,s=0;;s++){if(n.next<0){s&&n.acceptToken(t);break}if(0==a&&60==n.next||1==a&&47==n.next||a>=2&&ar?n.acceptToken(t,-r):n.acceptToken(i,-(r-2));break}if((10==n.next||13==n.next)&&s){n.acceptToken(t,1);break}a=r=0}else r++;n.advance()}}))}const Py=Cy("script",54,1),Dy=Cy("style",55,2),Ty=Cy("textarea",56,3),Qy=jr({"Text RawText":hs.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":hs.angleBracket,TagName:hs.tagName,"MismatchedCloseTag/TagName":[hs.tagName,hs.invalid],AttributeName:hs.attributeName,"AttributeValue UnquotedAttributeValue":hs.attributeValue,Is:hs.definitionOperator,"EntityReference CharacterReference":hs.character,Comment:hs.blockComment,ProcessingInst:hs.processingInstruction,DoctypeDecl:hs.documentMeta}),Ry=Kc.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag 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:67,context:vy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Qy],skippedNodes:[0],repeatNodeCount:9,tokenData:"#%g!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs4ysv-_vw5iwxJ^x}-_}!OKP!O!P-_!P!Q$q!Q![-_![!]!!O!]!^-_!^!_!&W!_!`#$o!`!a&X!a!c-_!c!}!!O!}#R-_#R#S!!O#S#T3V#T#o!!O#o#s-_#s$f$q$f%W-_%W%o!!O%o%p-_%p&a!!O&a&b-_&b1p!!O1p4U-_4U4d!!O4d4e-_4e$IS!!O$IS$I`-_$I`$Ib!!O$Ib$Kh-_$Kh%#t!!O%#t&/x-_&/x&Et!!O&Et&FV-_&FV;'S!!O;'S;:j!&Q;:j;=`4s<%l?&r-_?&r?Ah!!O?Ah?BY$q?BY?Mn!!O?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/echSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0uXhSqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0pS1eP;=`<%l0p[1kP;=`<%l/^!U1wbhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!U3SP;=`<%l1n!V3bchS`P!a`!cpOq&Xqr3Vrs&}sv3Vvw0pwx(tx!P3V!P!Q&X!Q!^3V!^!_1n!_!a&X!a#s3V#s$f&X$f;'S3V;'S;=`4m<%l?Ah3V?Ah?BY&X?BY?Mn3V?MnO&X!V4pP;=`<%l3V!_4vP;=`<%l-_!Z5SV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_5rjhSkWc!ROX7dXZ8qZ[7d[^8q^p7dqr:crs8qst@Ttw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^/^!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!Z7ibkWOX7dXZ8qZ[7d[^8q^p7dqr7drs8qst+Ptw7dwx8qx!]7d!]!^9f!^!a8q!a#S7d#S#T8q#T;'S7d;'S;=`:]<%lO7d!R8tVOp8qqs8qt!]8q!]!^9Z!^;'S8q;'S;=`9`<%lO8q!R9`Oa!R!R9cP;=`<%l8q!Z9mYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z:`P;=`<%l7d!_:jjhSkWOX7dXZ8qZ[7d[^8q^p7dqr:crs8qst/^tw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^<[!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!_b#d#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!>kdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#V1n#V#W!?y#W#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!@SdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#h1n#h#i!Ab#i#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!AkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#m1n#m#n!By#n#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!CSdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#d1n#d#e!Db#e#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!DkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#X1n#X#Y!5]#Y#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!FSchS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!a!G_!a!b##T!b#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!R!GfY!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!a!G_!a!b!Lv!b;'S!G_;'S;=`!N]<%lO!G_q!HZV!cpOv!HUvx!Hpx!a!HU!a!b!Iq!b;'S!HU;'S;=`!Jp<%lO!HUP!HsTO!a!Hp!a!b!IS!b;'S!Hp;'S;=`!Ik<%lO!HpP!IVTO!`!Hp!`!a!If!a;'S!Hp;'S;=`!Ik<%lO!HpP!IkOxPP!InP;=`<%l!Hpq!IvV!cpOv!HUvx!Hpx!`!HU!`!a!J]!a;'S!HU;'S;=`!Jp<%lO!HUq!JdS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!JsP;=`<%l!HUa!J{X!a`Or!Jvrs!Hpsv!Jvvw!Hpw!a!Jv!a!b!Kh!b;'S!Jv;'S;=`!Lp<%lO!Jva!KmX!a`Or!Jvrs!Hpsv!Jvvw!Hpw!`!Jv!`!a!LY!a;'S!Jv;'S;=`!Lp<%lO!Jva!LaT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!LsP;=`<%l!Jv!R!L}Y!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!`!G_!`!a!Mm!a;'S!G_;'S;=`!N]<%lO!G_!R!MvV!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!N`P;=`<%l!G_T!NhbhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!a!Hp!a!b# p!b#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT# ubhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!`!Hp!`!a!If!a#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT##QP;=`<%l!Nc!V##^chS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!`!G_!`!a!Mm!a#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!V#$lP;=`<%l!Ey!V#$zXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Py,Dy,Ty,Sy,Oy,xy,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function Ay(e,t){let i=Object.create(null);for(let o of e.getChildren(ty)){let e=o.getChild(iy),n=o.getChild(oy)||o.getChild(ny);e&&(i[t.read(e.from,e.to)]=n?n.type.id==oy?t.read(n.from+1,n.to-1):t.read(n.from,n.to):"")}return i}function My(e,t){let i=e.getChild(ey);return i?t.read(i.from,i.to):" "}function Ey(e,t,i){let o;for(let n of i)if(!n.attrs||n.attrs(o||(o=Ay(e.node.parent.firstChild,t))))return{parser:n.parser};return null}function Fy(e=[],t=[]){let i=[],o=[],n=[],a=[];for(let t of e){("script"==t.tag?i:"style"==t.tag?o:"textarea"==t.tag?n:a).push(t)}let r=t.length?Object.create(null):null;for(let e of t)(r[e.name]||(r[e.name]=[])).push(e);return Tr(((e,t)=>{let s=e.type.id;if(s==ay)return Ey(e,t,i);if(s==ry)return Ey(e,t,o);if(s==sy)return Ey(e,t,n);if(s==Jf&&a.length){let i,o=e.node,n=o.firstChild,r=n&&My(n,t);if(r)for(let e of a)if(e.tag==r&&(!e.attrs||e.attrs(i||(i=Ay(o,t))))){let t=o.lastChild;return{parser:e.parser,overlay:[{from:n.to,to:t.type.id==ly?t.from:o.to}]}}}if(r&&s==ty){let i,o=e.node;if(i=o.firstChild){let e=r[t.read(i.from,i.to)];if(e)for(let i of e){if(i.tagName&&i.tagName!=My(o.parent,t))continue;let e=o.lastChild;if(e.type.id==oy){let t=e.from+1,o=e.lastChild,n=e.to-(o&&o.isError?0:1);if(n>t)return{parser:i.parser,overlay:[{from:t,to:n}]}}else if(e.type.id==ny)return{parser:i.parser,overlay:[{from:e.from,to:e.to}]}}}}return null}))}const Ly=[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];function By(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}const Iy=new Bc(((e,t)=>{for(let o=!1,n=0,a=0;;a++){let{next:r}=e;if(!(By(r)||45==r||95==r||o&&(i=r,i>=48&&i<=57))){o&&e.acceptToken(40==r?95:2==n&&t.canShift(2)?2:96);break}!o&&(45!=r||a>0)&&(o=!0),n===a&&45==r&&n++,e.advance()}var i})),Gy=new Bc((e=>{if(Ly.includes(e.peek(-1))){let{next:t}=e;(By(t)||95==t||35==t||46==t||91==t||58==t||45==t)&&e.acceptToken(94)}})),$y=new Bc((e=>{if(!Ly.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),By(t)){do{e.advance()}while(By(e.next));e.acceptToken(1)}}})),zy=jr({"AtKeyword import charset namespace keyframes media supports":hs.definitionKeyword,"from to selector":hs.keyword,NamespaceName:hs.namespace,KeyframeName:hs.labelName,TagName:hs.tagName,ClassName:hs.className,PseudoClassName:hs.constant(hs.className),IdName:hs.labelName,"FeatureName PropertyName":hs.propertyName,AttributeName:hs.attributeName,NumberLiteral:hs.number,KeywordQuery:hs.keyword,UnaryQueryOp:hs.operatorKeyword,"CallTag ValueName":hs.atom,VariableName:hs.variableName,Callee:hs.operatorKeyword,Unit:hs.unit,"UniversalSelector NestingSelector":hs.definitionOperator,MatchOp:hs.compareOperator,"ChildOp SiblingOp, LogicOp":hs.logicOperator,BinOp:hs.arithmeticOperator,Important:hs.modifier,Comment:hs.blockComment,ParenthesizedContent:hs.special(hs.name),ColorLiteral:hs.color,StringLiteral:hs.string,":":hs.punctuation,"PseudoOp #":hs.derefOperator,"; ,":hs.separator,"( )":hs.paren,"[ ]":hs.squareBracket,"{ }":hs.brace}),Vy={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},Ny={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},Wy={__proto__:null,not:128,only:128,from:158,to:160},qy=Kc.deserialize({version:14,states:"7WQYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ed'#EdO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&TQ[O'#EPO&cQ[O'#EROOQS'#Ec'#EcOOQS'#ET'#ETQYQ[OOO&jQXO'#CdO'_QWO'#DaO'dQWO'#EjO'oQ[O'#EjQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'yQ[O'#EWO(eQWO,58{O(mQ[O,59SO$lQ[O,59kO$qQ[O,59oO'yQ[O,59sO'yQ[O,59uO'yQ[O,59vO(xQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)PQWO,59SO)UQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)ZQ`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)cQvO'#CsO*pQtO,5:POOQO'#Cx'#CxO)UQWO'#CwO+UQWO'#CyOOQS'#Eg'#EgOOQO'#Dh'#DhO+ZQ[O'#DoO+iQWO'#EkO&TQ[O'#DmO+wQWO'#DpOOQO'#El'#ElO(hQWO,5:^O+|QpO,5:`OOQS'#Dx'#DxO,UQWO,5:bO,ZQ[O,5:bOOQO'#D{'#D{O,cQWO,5:eO,hQWO,5:kO,pQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,xQ[O'#EYO-VQWO,5;UO-VQWO,5;UOOQP1G.l1G.lO-|QXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)PQWO1G.nO)UQWO1G.nOOQP1G/V1G/VO.ZQ`O1G/ZO.tQXO1G/_O/[QXO1G/aO/rQXO1G/bO0YQWO,59zO0_Q[O'#DOO0fQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0mQpO,59]OOQS,59_,59_O$vQdO,59aO0uQWO1G/kOOQS,59c,59cO0zQ!bO,59eO1SQWO'#DhO1_QWO,5:TO1dQWO,5:ZO&TQ[O,5:VO&TQ[O'#EZO1lQWO,5;VO1wQWO,5:XO'yQ[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2YQWO1G/|O2_QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0pOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EiO3tQWO,59jO3yQtO'#EUO4nQdO'#EfO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsO(hQWO'#E[O5yQdO,5:hOOQS,5:h,5:hO6XQtO'#EXO$vQdO'#EXO7VQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7jQpO<T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#[UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^[[oW#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#XPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^XKeS!RPOy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",tokenizers:[Gy,$y,Iy,0,1,2,3],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:95,get:e=>Vy[e]||-1},{term:56,get:e=>Ny[e]||-1},{term:96,get:e=>Wy[e]||-1}],tokenPrec:1123});let jy=null;function _y(){if(!jy&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],i=new Set;for(let o in e)"cssText"!=o&&"cssFloat"!=o&&"string"==typeof e[o]&&(/[A-Z]/.test(o)&&(o=o.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))),i.has(o)||(t.push(o),i.add(o)));jy=t.sort().map((e=>({type:"property",label:e})))}return jy||[]}const Xy=["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((e=>({type:"class",label:e}))),Zy=["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((e=>({type:"keyword",label:e}))).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((e=>({type:"constant",label:e})))),Uy=["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((e=>({type:"type",label:e}))),Hy=/^(\w[\w-]*|-\w[\w-]*|)$/,Yy=/^-(-[\w-]*)?$/;const Ky=new Sr,Jy=["Declaration"];function eu(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function tu(e,t,i){if(t.to-t.from>4096){let o=Ky.get(t);if(o)return o;let n=[],a=new Set,r=t.cursor(sr.IncludeAnonymous);if(r.firstChild())do{for(let t of tu(e,r.node,i))a.has(t.label)||(a.add(t.label),n.push(t))}while(r.nextSibling());return Ky.set(t,n),n}{let o=[],n=new Set;return t.cursor().iterate((t=>{var a;if(i(t)&&t.matchContext(Jy)&&":"==(null===(a=t.node.nextSibling)||void 0===a?void 0:a.name)){let i=e.sliceString(t.from,t.to);n.has(i)||(n.add(i),o.push({label:i,type:"variable"}))}})),o}}const iu=e=>t=>{let{state:i,pos:o}=t,n=ks(i).resolveInner(o,-1),a=n.type.isError&&n.from==n.to-1&&"-"==i.doc.sliceString(n.from,n.to);if("PropertyName"==n.name||(a||"TagName"==n.name)&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:_y(),validFor:Hy};if("ValueName"==n.name)return{from:n.from,options:Zy,validFor:Hy};if("PseudoClassName"==n.name)return{from:n.from,options:Xy,validFor:Hy};if(e(n)||(t.explicit||a)&&function(e,t){var i;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let o=null===(i=e.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==o?void 0:o.name)&&"var"==t.sliceString(o.from,o.to)}(n,i.doc))return{from:e(n)||a?n.from:o,options:tu(i.doc,eu(n),e),validFor:Yy};if("TagName"==n.name){for(let{parent:e}=n;e;e=e.parent)if("Block"==e.name)return{from:n.from,options:_y(),validFor:Hy};return{from:n.from,options:Uy,validFor:Hy}}if(!t.explicit)return null;let r=n.resolve(o),s=r.childBefore(o);return s&&":"==s.name&&"PseudoClassSelector"==r.name?{from:o,options:Xy,validFor:Hy}:s&&":"==s.name&&"Declaration"==r.name||"ArgList"==r.name?{from:o,options:Zy,validFor:Hy}:"Block"==r.name||"Styles"==r.name?{from:o,options:_y(),validFor:Hy}:null},ou=iu((e=>"VariableName"==e.name)),nu=ws.define({name:"css",parser:qy.configure({props:[Gs.add({Declaration:_s()}),Us.add({"Block KeyframeList":Hs})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function au(){return new Rs(nu,nu.data.of({autocomplete:ou}))}const ru=["_blank","_self","_top","_parent"],su=["ascii","utf-8","utf-16","latin1","latin1"],lu=["get","post","put","delete"],pu=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],du=["true","false"],cu={},hu={a:{attrs:{href:null,ping:null,type:null,media:null,target:ru,hreflang:null}},abbr:cu,address:cu,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:cu,aside:cu,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:cu,base:{attrs:{href:null,target:ru}},bdi:cu,bdo:cu,blockquote:{attrs:{cite:null}},body:cu,br:cu,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:pu,formmethod:lu,formnovalidate:["novalidate"],formtarget:ru,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:cu,center:cu,cite:cu,code:cu,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:cu,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:cu,div:cu,dl:cu,dt:cu,em:cu,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:cu,figure:cu,footer:cu,form:{attrs:{action:null,name:null,"accept-charset":su,autocomplete:["on","off"],enctype:pu,method:lu,novalidate:["novalidate"],target:ru}},h1:cu,h2:cu,h3:cu,h4:cu,h5:cu,h6:cu,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:cu,hgroup:cu,hr:cu,html:{attrs:{manifest:null}},i:cu,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:pu,formmethod:lu,formnovalidate:["novalidate"],formtarget:ru,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:cu,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:cu,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:cu,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:su,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:cu,noscript:cu,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:cu,param:{attrs:{name:null,value:null}},pre:cu,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:cu,rt:cu,ruby:cu,samp:cu,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:su}},section:cu,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:cu,source:{attrs:{src:null,type:null,media:null}},span:cu,strong:cu,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:cu,summary:cu,sup:cu,table:cu,tbody:cu,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:cu,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:cu,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:cu,time:{attrs:{datetime:null}},title:cu,tr:cu,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:cu,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:cu},fu={accesskey:null,class:null,contenteditable:du,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:du,autocorrect:du,autocapitalize:du,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":du,"aria-autocomplete":["inline","list","both","none"],"aria-busy":du,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":du,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":du,"aria-hidden":du,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":du,"aria-multiselectable":du,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":du,"aria-relevant":null,"aria-required":du,"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},yu="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((e=>"on"+e));for(let e of yu)fu[e]=null;class uu{constructor(e,t){this.tags=Object.assign(Object.assign({},hu),e),this.globalAttrs=Object.assign(Object.assign({},fu),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function mu(e,t,i=e.length){if(!t)return"";let o=t.firstChild,n=o&&o.getChild("TagName");return n?e.sliceString(n.from,Math.min(n.to,i)):""}function gu(e,t=!1){for(let i=e.parent;i;i=i.parent)if("Element"==i.name){if(!t)return i;t=!1}return null}function bu(e,t,i){let o=i.tags[mu(e,gu(t,!0))];return(null==o?void 0:o.children)||i.allTags}function wu(e,t){let i=[];for(let o=t;o=gu(o);){let n=mu(e,o);if(n&&"CloseTag"==o.lastChild.name)break;n&&i.indexOf(n)<0&&("EndTag"==t.name||t.from>=o.firstChild.to)&&i.push(n)}return i}uu.default=new uu;const ku=/^[:\-\.\w\u00b7-\uffff]*$/;function vu(e,t,i,o,n){let a=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:o,to:n,options:bu(e.doc,i,t).map((e=>({label:e,type:"type"}))).concat(wu(e.doc,i).map(((e,t)=>({label:"/"+e,apply:"/"+e+a,type:"type",boost:99-t})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Ou(e,t,i,o){let n=/\s*>/.test(e.sliceDoc(o,o+5))?"":">";return{from:i,to:o,options:wu(e.doc,t).map(((e,t)=>({label:e,apply:e+n,type:"type",boost:99-t}))),validFor:ku}}function xu(e,t){let{state:i,pos:o}=t,n=ks(i).resolveInner(o),a=n.resolve(o,-1);for(let e,t=o;n==a&&(e=a.childBefore(t));){let i=e.lastChild;if(!i||!i.type.isError||i.from({label:e,type:"property"}))),validFor:ku}}(i,e,a,"AttributeName"==a.name?a.from:o,o):"Is"==a.name||"AttributeValue"==a.name||"UnquotedAttributeValue"==a.name?function(e,t,i,o,n){var a;let r,s=null===(a=i.parent)||void 0===a?void 0:a.getChild("AttributeName"),l=[];if(s){let a=e.sliceDoc(s.from,s.to),p=t.globalAttrs[a];if(!p){let o=gu(i),n=o?t.tags[mu(e.doc,o)]:null;p=(null==n?void 0:n.attrs)&&n.attrs[a]}if(p){let t=e.sliceDoc(o,n).toLowerCase(),i='"',a='"';/^['"]/.test(t)?(r='"'==t[0]?/^[^"]*$/:/^[^']*$/,i="",a=e.sliceDoc(n,n+1)==t[0]?"":t[0],t=t.slice(1),o++):r=/^[^\s<>='"]*$/;for(let e of p)l.push({label:e,apply:i+e+a,type:"constant"})}}return{from:o,to:n,options:l,validFor:r}}(i,e,a,"Is"==a.name?o:a.from,o):!t.explicit||"Element"!=n.name&&"Text"!=n.name&&"Document"!=n.name?null:function(e,t,i,o){let n=[],a=0;for(let o of bu(e.doc,i,t))n.push({label:"<"+o,type:"type"});for(let t of wu(e.doc,i))n.push({label:"",type:"type",boost:99-a++});return{from:o,to:o,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(i,e,a,o)}function Su(e){let{extraTags:t,extraGlobalAttributes:i}=e,o=i||t?new uu(t,i):uu.default;return e=>xu(o,e)}const Cu=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:xh.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:Sh.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:Ch.parser},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:vh.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:nu.parser}],Pu=[{name:"style",parser:nu.parser.configure({top:"Styles"})}].concat(yu.map((e=>({name:e,parser:vh.parser})))),Du=ws.define({name:"html",parser:Ry.configure({props:[Gs.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})],wrap:Fy(Cu,Pu)}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}});function Tu(e={}){let t,i="";!1===e.matchClosingTags&&(i="noMatch"),!0===e.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Fy((e.nestedLanguages||[]).concat(Cu),(e.nestedAttributes||[]).concat(Pu)));let o=t||i?Du.configure({dialect:i,wrap:t}):Du;return new Rs(o,[Du.data.of({autocomplete:Su(e)}),!1!==e.autoCloseTags?Ru:[],Dh().support,au().support])}const Qu=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Ru=Fn.inputHandler.of(((e,t,i,o)=>{if(e.composing||e.state.readOnly||t!=i||">"!=o&&"/"!=o||!Du.isActiveAt(e.state,t,-1))return!1;let{state:n}=e,a=n.changeByRange((t=>{var i,a,r;let s,{head:l}=t,p=ks(n).resolveInner(l,-1);if("TagName"!=p.name&&"StartTag"!=p.name||(p=p.parent),">"==o&&"OpenTag"==p.name){if("CloseTag"!=(null===(a=null===(i=p.parent)||void 0===i?void 0:i.lastChild)||void 0===a?void 0:a.name)&&(s=mu(n.doc,p.parent,l))&&!Qu.has(s)){let t=">"===e.state.doc.sliceString(l,l+1),i=`${t?"":">"}`;return{range:M.cursor(l+1),changes:{from:l+(t?1:0),insert:i}}}}else if("/"==o&&"OpenTag"==p.name){let t=p.parent,i=null==t?void 0:t.parent;if(t.from==l-1&&"CloseTag"!=(null===(r=i.lastChild)||void 0===r?void 0:r.name)&&(s=mu(n.doc,i,l))&&!Qu.has(s)){let t=">"===e.state.doc.sliceString(l,l+1),i=`/${s}${t?"":">"}`,o=l+i.length+(t?1:0);return{range:M.cursor(o),changes:{from:l,insert:i}}}}return{range:t}}));return!a.changes.empty&&(e.dispatch(a,{userEvent:"input.type",scrollIntoView:!0}),!0)})),Au=us({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),Mu=new er,Eu=Gf.configure({props:[Us.add((e=>!e.is("Block")||e.is("Document")||null!=Fu(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to}))),Mu.add(Fu),Gs.add({Document:()=>null}),ys.add({Document:Au})]});function Fu(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Lu(e,t){let i=e;for(;;){let e,o=i.nextSibling;if(!o||null!=(e=Fu(o.type))&&e<=t)break;i=o}return i.to}const Bu=Zs.of(((e,t,i)=>{for(let o=ks(e).resolveInner(i,-1);o&&!(o.fromi)return{from:i,to:t}}return null}));function Iu(e){return new gs(Au,e,[Bu],"markdown")}const Gu=Iu(Eu),$u=Iu(Eu.configure([Zf,Yf,Hf,Kf]));class zu{constructor(e,t,i,o,n,a,r){this.node=e,this.from=t,this.to=i,this.spaceBefore=o,this.spaceAfter=n,this.type=a,this.item=r}blank(e,t=!0){let i=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;i.length0;e--)i+=" ";return i+(t?this.spaceAfter:"")}marker(e,t){let i="OrderedList"==this.node.name?String(+Nu(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}}function Vu(e,t){let i=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||i.push(t);let o=[];for(let e=i.length-1;e>=0;e--){let n,a=i[e],r=t.lineAt(a.from),s=a.from-r.from;if("FencedCode"==a.name)o.push(new zu(a,s,s,"","","",null));else if("Blockquote"==a.name&&(n=/^[ \t]*>( ?)/.exec(r.text.slice(s))))o.push(new zu(a,s,s+n[0].length,"",n[1],">",null));else if("ListItem"==a.name&&"OrderedList"==a.parent.name&&(n=/^([ \t]*)\d+([.)])([ \t]*)/.exec(r.text.slice(s)))){let e=n[3],t=n[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),o.push(new zu(a.parent,s,s+t,n[1],e,n[2],a))}else if("ListItem"==a.name&&"BulletList"==a.parent.name&&(n=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(r.text.slice(s)))){let e=n[4],t=n[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let i=n[2];n[3]&&(i+=n[3].replace(/[xX]/," ")),o.push(new zu(a.parent,s,s+t,n[1],e,i,a))}}return o}function Nu(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Wu(e,t,i,o=0){for(let n=-1,a=e;;){if("ListItem"==a.name){let e=Nu(a,t),r=+e[2];if(n>=0){if(r!=n+1)return;i.push({from:a.from+e[1].length,to:a.from+e[0].length,insert:String(n+2+o)})}n=r}let e=a.nextSibling;if(!e)break;a=e}}function qu(e){return"QuoteMark"==e.name||"ListMark"==e.name}const ju=[{key:"Enter",run:({state:e,dispatch:t})=>{let i=ks(e),{doc:o}=e,n=null,a=e.changeByRange((t=>{if(!t.empty||!$u.isActiveAt(e,t.from))return n={range:t};let a=t.from,r=o.lineAt(a),s=Vu(i.resolveInner(a,-1),o);for(;s.length&&s[s.length-1].from>a-r.from;)s.pop();if(!s.length)return n={range:t};let l=s[s.length-1];if(l.to-l.spaceAfter.length>a-r.from)return n={range:t};let p=a>=l.to-l.spaceAfter.length&&!/\S/.test(r.text.slice(l.to));if(l.item&&p){if(l.node.firstChild.to>=a||r.from>0&&!/[^\s>]/.test(o.lineAt(r.from-1).text)){let e,t=s.length>1?s[s.length-2]:null,i="";t&&t.item?(e=r.from+t.from,i=t.marker(o,1)):e=r.from+(t?t.to:0);let n=[{from:e,to:a,insert:i}];return"OrderedList"==l.node.name&&Wu(l.item,o,n,-2),t&&"OrderedList"==t.node.name&&Wu(t.item,o,n),{range:M.cursor(e+i.length),changes:n}}{let t="";for(let e=0,i=s.length-2;e<=i;e++)t+=s[e].blank(e\s*$/.exec(i.text);if(n&&n.index==l.from){let o=e.changes([{from:i.from+n.index,to:i.to},{from:r.from+l.from,to:r.to}]);return{range:t.map(o),changes:o}}}let d=[];"OrderedList"==l.node.name&&Wu(l.item,o,d);let c=l.item&&l.item.from]*/.exec(r.text)[0].length>=l.to)for(let e=0,t=s.length-1;e<=t;e++)h+=e!=t||c?s[e].blank(er.from&&/\s/.test(r.text.charAt(f-r.from-1));)f--;return h=e.lineBreak+h,d.push({from:f,to:a,insert:h}),{range:M.cursor(f+h.length),changes:d}}));return!n&&(t(e.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let i=ks(e),o=null,n=e.changeByRange((t=>{let n=t.from,{doc:a}=e;if(t.empty&&$u.isActiveAt(e,t.from)){let e=a.lineAt(n),o=Vu(function(e,t){let i=e.resolveInner(t,-1),o=t;qu(i)&&(o=i.from,i=i.parent);for(let e;e=i.childBefore(o);)if(qu(e))o=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;i=e.lastChild,o=i.to}return i}(i,n),a);if(o.length){let i=o[o.length-1],a=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(n-e.from>a&&!/\S/.test(e.text.slice(a,n-e.from)))return{range:M.cursor(e.from+a),changes:{from:e.from+a,to:n}};if(n-e.from==a&&(!i.item||e.from<=i.item.from||!/\S/.test(e.text.slice(0,i.to)))){let o=e.from+i.from;if(i.item&&i.node.frome.from-t.from||e.startSide-t.startSide)),oi.set(i)}getMatchingBracket(e){switch(e){case")":return"(";case"]":return"[";case"}":return"{";default:return null}}},{decorations:e=>e.decorations});let Xu=[{label:"AASTriangle",type:"keyword",info:"AASTriangle[Î\\[PlusMinus], Îb2, a] returns a filled triangle with angles Î\\[PlusMinus] and Î.b2 and side length a, where a is adj"},{label:"AbelianGroup",type:"keyword",info:"AbelianGroup[{n , n , …}] represents the direct product of the cyclic groups of degrees n , n , ….\n "},{label:"Abort",type:"keyword",info:"Abort[] generates an interrupt to abort a computation. "},{label:"AbortKernels",type:"keyword",info:"AbortKernels[] aborts evaluations running in all parallel subkernels."},{label:"AbortProtect",type:"keyword",info:"AbortProtect[expr] evaluates expr, saving any aborts until the evaluation is complete. "},{label:"AbortScheduledTask",type:"keyword",info:"AbortScheduledTask[task] interrupts any currently evaluating instances of the cloud task task."},{label:"WLXEmbed",type:"keyword",info:"Renders an inline WLX or HTML strings into DOM"},{label:"Above",type:"keyword",info:"Above is a symbol that represents the region above an object for purposes of placement."},{label:"Abs",type:"keyword",info:"Abs[z] gives the absolute value of the real or complex number z. "},{label:"AbsArg",type:"keyword",info:"AbsArg[z] gives the list {Abs[z], Arg[z]} of the number z."},{label:"AbsArgPlot",type:"keyword",info:"AbsArgPlot[f, {x, x , x }] generates a plot of Abs[f] colored by Arg[f] as a function of x ∈ ïž\\[Micro] f"},{label:"Absolute",type:"keyword",info:"System`Absolute"},{label:"AbsoluteCorrelation",type:"keyword",info:" "},{label:"AbsoluteCorrelationFunction",type:"keyword",info:"AbsoluteCorrelationFunction[data, hspec] estimates the absolute correlation function at lags hspec f"},{label:"AbsoluteCurrentValue",type:"keyword",info:"AbsoluteCurrentValue[item] gives the absolute current value of item at a location in the Wolfram Sys"},{label:"AbsoluteDashing",type:"keyword",info:"AbsoluteDashing[{d , d , …}] is a graphics directive which specifies that lines which follow are to "},{label:"AbsoluteFileName",type:"keyword",info:'AbsoluteFileName["name"] gives the full absolute version of the name for a file in your filesystem.'},{label:"AbsoluteOptions",type:"keyword",info:"AbsoluteOptions[expr] gives the absolute settings of options specified in an expression such as a gr"},{label:"AbsolutePointSize",type:"keyword",info:"AbsolutePointSize[d] is a graphics directive which specifies that points which follow are to be show"},{label:"AbsoluteThickness",type:"keyword",info:"AbsoluteThickness[d] is a graphics directive which specifies that lines which follow are to be drawn"},{label:"AbsoluteTime",type:"keyword",info:"AbsoluteTime[] gives the total number of seconds since the beginning of January 1, 1900, in your tim"},{label:"AbsoluteTiming",type:"keyword",info:"AbsoluteTiming[expr] evaluates expr, returning a list of the absolute number of seconds in real time"},{label:"AcceptanceThreshold",type:"keyword",info:"AcceptanceThreshold is an option that specifies the minimum threshold at which a result is considere"},{label:"AccountingForm",type:"keyword",info:"AccountingForm[expr] prints with all numbers in expr given in standard accounting notation. Accounti"},{label:"Accumulate",type:"keyword",info:"Accumulate[list] gives a list of the successive accumulated totals of elements in list. "},{label:"Accuracy",type:"keyword",info:"Accuracy[x] gives the effective number of digits to the right of the decimal point in the number x. "},{label:"AccuracyGoal",type:"keyword",info:"AccuracyGoal is an option for various numerical operations which specifies how many effective digits"},{label:"AcousticAbsorbingValue",type:"keyword",info:"AcousticAbsorbingValue[pred, vars, pars] represents a time or frequency domain absorbing boundary co"},{label:"AcousticImpedanceValue",type:"keyword",info:"AcousticImpedanceValue[pred, vars, pars] represents a time or frequency domain impedance boundary co"},{label:"AcousticNormalVelocityValue",type:"keyword",info:"AcousticNormalVelocityValue[pred, vars, pars] represents a time or frequency domain normal velocity "},{label:"AcousticPDEComponent",type:"keyword",info:"AcousticPDEComponent[vars, pars] yields an acoustic PDE term component with variables vars and param"},{label:"AcousticPressureCondition",type:"keyword",info:"AcousticPressureCondition[pred, vars, pars] represents a time or frequency domain pressure boundary "},{label:"AcousticRadiationValue",type:"keyword",info:"AcousticRadiationValue[pred, vars, pars] represents a time or frequency radiation boundary condition"},{label:"AcousticSoundHardValue",type:"keyword",info:"AcousticSoundHardValue[pred, vars, pars] represents a time or frequency domain sound hard boundary c"},{label:"AcousticSoundSoftCondition",type:"keyword",info:"AcousticSoundSoftCondition[pred, vars, pars] represents a time or frequency domain sound soft bounda"},{label:"ActionDelay",type:"keyword",info:"System`ActionDelay"},{label:"ActionMenu",type:"keyword",info:"ActionMenu[name, {lbl :> act , lbl :> act , …}] represents an action menu with label name and with"},{label:"ActionMenuBox",type:"keyword",info:"System`ActionMenuBox"},{label:"ActionMenuBoxOptions",type:"keyword",info:"ActionMenuBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Action"},{label:"Activate",type:"keyword",info:"Activate[expr] replaces all instances of Inactive[f] in expr with f.Activate[expr, patt] replaces on"},{label:"Active",type:"keyword",info:"Active is an option for ButtonBox, Cell, and Notebook that specifies whether a button should be acti"},{label:"ActiveClassification",type:"keyword",info:"ActiveClassification[f, {conf , conf , …}] gives an object representing the result of active classif"},{label:"ActiveClassificationObject",type:"keyword",info:"ActiveClassificationObject[…] represents the result of an ActiveClassification process."},{label:"ActiveItem",type:"keyword",info:"System`ActiveItem"},{label:"ActivePrediction",type:"keyword",info:"ActivePrediction[f, {conf , conf , …}] gives an object representing the result of active prediction "},{label:"ActivePredictionObject",type:"keyword",info:"ActivePredictionObject[…] represents the result of an ActivePrediction process."},{label:"ActiveStyle",type:"keyword",info:"ActiveStyle is an option for Hyperlink and related constructs that specifies styles to add when the "},{label:"AcyclicGraphQ",type:"keyword",info:"AcyclicGraphQ[g] yields True if the graph g is an acyclic graph and False otherwise."},{label:"AddOnHelpPath",type:"keyword",info:"AddOnHelpPath is a global option that specifies which directories are searched for additional help f"},{label:"AddSides",type:"keyword",info:"AddSides[rel, x] adds x to each side of the equation or inequality rel.AddSides[rel , rel ] adds the"},{label:"AddTo",type:"keyword",info:"x += dx adds dx to x and returns the new value of x. "},{label:"AddToSearchIndex",type:"keyword",info:"AddToSearchIndex[obj, content] adds the specified content to the existing search index object obj. A"},{label:"AddUsers",type:"keyword",info:"AddUsers[group, {user , …}] adds the users user to the permissions group group. \n "},{label:"AdjacencyGraph",type:"keyword",info:"AdjacencyGraph[amat] gives the graph with adjacency matrix amat.AdjacencyGraph[{v , v , …}, amat] gi"},{label:"AdjacencyList",type:"keyword",info:"AdjacencyList[g, v] gives a list of vertices adjacent to vertex v.AdjacencyList[g, patt] gives a lis"},{label:"AdjacencyMatrix",type:"keyword",info:"AdjacencyMatrix[g] gives the vertex–vertex adjacency matrix of the graph g.AdjacencyMatrix[{v  w, …"},{label:"AdjacentMeshCells",type:"keyword",info:"AdjacentMeshCells[mr, cellspec, d] gives cells of dimension d adjacent to the cell specified by cell"},{label:"Adjugate",type:"keyword",info:"Adjugate[m] gives the adjugate of a square matrix m."},{label:"AdjustmentBox",type:"keyword",info:"AdjustmentBox[box, opts] is a low-level box construct which displays with the placement of box adjus"},{label:"AdjustmentBoxOptions",type:"keyword",info:"AdjustmentBoxOptions is an option that specifies settings for AdjustmentBox objects."},{label:"AdjustTimeSeriesForecast",type:"keyword",info:"AdjustTimeSeriesForecast[tproc, forecast, newdata] adjusts forecast using new observations newdata a"},{label:"AdministrativeDivisionData",type:"keyword",info:"AdministrativeDivisionData[entity, property] gives the value of the specified property for the admin"},{label:"AffineHalfSpace",type:"keyword",info:"AffineHalfSpace[{p , …, p }, w] represents AffineSpace[{p , …, p }] extended in the directio"},{label:"AffineSpace",type:"keyword",info:"AffineSpace[{p , …, p }] represents the affine space passing through the points p .AffineSpace[p"},{label:"AffineStateSpaceModel",type:"keyword",info:"AffineStateSpaceModel[{a, b, c, d}, x] represents the affine state-space model x ' (t) ï\\[PlusMinus] a(x(t)) + b"},{label:"AffineTransform",type:"keyword",info:"AffineTransform[m] gives a TransformationFunction that represents an affine transform that maps r to"},{label:"After",type:"keyword",info:"After is a symbol that represents the region after an object for purposes of placement."},{label:"AggregatedEntityClass",type:"keyword",info:'AggregatedEntityClass[class, "prop"  f] represents an entity class containing a single entity with '},{label:"AggregationLayer",type:"keyword",info:"AggregationLayer[f] represents a layer that aggregates an array of arbitrary rank into a vector, usi"},{label:"AircraftData",type:"keyword",info:"AircraftData[entity, property] gives the value of the specified property for the aircraft entity.Air"},{label:"AirportData",type:"keyword",info:"AirportData[entity, property] gives the value of the specified property for the airport entity.Airpo"},{label:"AirPressureData",type:"keyword",info:"AirPressureData[] gives the most recent measurement for air pressure near the current location.AirPr"},{label:"AirSoundAttenuation",type:"keyword",info:"AirSoundAttenuation[spec, frequency] returns the sound attenuation coefficient in moist air for the "},{label:"AirTemperatureData",type:"keyword",info:"AirTemperatureData[] gives the most recent measurement for air temperature near the current location"},{label:"AiryAi",type:"keyword",info:"AiryAi[z] gives the Airy function Ai(z). "},{label:"AiryAiPrime",type:"keyword",info:" â€.b2\nAiryAiPrime[z] gives the derivative of "},{label:"AiryAiZero",type:"keyword",info:" th "},{label:"AiryBi",type:"keyword",info:"AiryBi[z] gives the Airy function Bi(z). "},{label:"AiryBiPrime",type:"keyword",info:" â€.b2\nAiryBiPrime[z] gives the derivative of "},{label:"AiryBiZero",type:"keyword",info:" th "},{label:"AlgebraicIntegerQ",type:"keyword",info:"AlgebraicIntegerQ[a] yields True if a is an algebraic integer, and yields False otherwise."},{label:"AlgebraicNumber",type:"keyword",info:" "},{label:"AlgebraicNumberDenominator",type:"keyword",info:"AlgebraicNumberDenominator[a] gives the smallest positive integer n such that n a is an algebraic in"},{label:"AlgebraicNumberNorm",type:"keyword",info:"AlgebraicNumberNorm[a] gives the norm of the algebraic number a."},{label:"AlgebraicNumberPolynomial",type:"keyword",info:"AlgebraicNumberPolynomial[a, x] gives the polynomial in x corresponding to the AlgebraicNumber objec"},{label:"AlgebraicNumberTrace",type:"keyword",info:"AlgebraicNumberTrace[a] gives the trace of the algebraic number a."},{label:"AlgebraicRules",type:"keyword",info:"System`AlgebraicRules"},{label:"AlgebraicRulesData",type:"keyword",info:"AlgebraicRulesData is an object returned by AlgebraicRules. Its OutputForm appears to be a list of r"},{label:"Algebraics",type:"keyword",info:"Algebraics represents the domain of algebraic numbers, as in x ∈ Algebraics. "},{label:"AlgebraicUnitQ",type:"keyword",info:"AlgebraicUnitQ[a] yields True if a is an algebraic unit, and yields False otherwise."},{label:"Alignment",type:"keyword",info:"Alignment is an option which specifies how the contents of a displayed object should be aligned with"},{label:"AlignmentMarker",type:"keyword",info:"System`AlignmentMarker"},{label:"AlignmentPoint",type:"keyword",info:"AlignmentPoint is an option which specifies how objects should by default be aligned when they appea"},{label:"All",type:"keyword",info:"All is a setting used for certain options. In Part and related functions, All specifies all parts at"},{label:"AllowAdultContent",type:"keyword",info:"System`AllowAdultContent"},{label:"AllowedCloudExtraParameters",type:"keyword",info:"AllowedCloudExtraParameters is an option for APIFunction and related functions that specifies whethe"},{label:"AllowedCloudParameterExtensions",type:"keyword",info:"AllowedCloudParameterExtensions is an option for APIFunction and related functions that specifies wh"},{label:"AllowedDimensions",type:"keyword",info:"AllowedDimensions is an option for Grid and related functions that specifies the allowed minimum and"},{label:"AllowedFrequencyRange",type:"keyword",info:"AllowedFrequencyRange is an option for audio and signal processing functions that specifies the rang"},{label:"AllowedHeads",type:"keyword",info:"AllowedHeads is an option that specifies the heads of subexpressions into which a function may desce"},{label:"AllowGroupClose",type:"keyword",info:"AllowGroupClose is an option for Cell that specifies whether a cell group can be closed normally."},{label:"AllowIncomplete",type:"keyword",info:"System`AllowIncomplete"},{label:"AllowInlineCells",type:"keyword",info:"AllowInlineCells is an option for SelectedCells, Cell, and related constructs that specifies whether"},{label:"AllowKernelInitialization",type:"keyword",info:"System`AllowKernelInitialization"},{label:"AllowLooseGrammar",type:"keyword",info:"AllowLooseGrammar is an option for GrammarRules and related functions that specifies whether grammat"},{label:"AllowReverseGroupClose",type:"keyword",info:"AllowReverseGroupClose is an option for Cell that specifies whether a cell group can be reverse clos"},{label:"AllowScriptLevelChange",type:"keyword",info:"AllowScriptLevelChange is an option for fractions and grids that controls whether certain operators,"},{label:"AllowVersionUpdate",type:"keyword",info:"AllowVersionUpdate is an option for PacletInstall and PacletInstallSubmit that specifies whether a n"},{label:"AllTrue",type:"keyword",info:"AllTrue[{e , e , …}, test] yields True if test[e ] is True for all of the e .AllTrue[expr, test, lev"},{label:"Alphabet",type:"keyword",info:"Alphabet[] gives a list of the lowercase letters a through z in the English alphabet.Alphabet[type] "},{label:"AlphabeticOrder",type:"keyword",info:'AlphabeticOrder[string , string ] gives 1 if "string " appears before "string " in alphabetical orde'},{label:"AlphabeticSort",type:"keyword",info:"AlphabeticSort[list] sorts the elements of list into alphabetical order.AlphabeticSort[list, lang] s"},{label:"AlphaChannel",type:"keyword",info:"AlphaChannel[color] returns the opacity of color.AlphaChannel[image] returns the alpha channel of im"},{label:"AlternateImage",type:"keyword",info:"AlternateImage is an option to CDFInformation that specifies an image that should be used if the plu"},{label:"AlternatingFactorial",type:"keyword",info:"AlternatingFactorial[n] gives the alternating factorial a(n)."},{label:"AlternatingGroup",type:"keyword",info:"AlternatingGroup[n] represents the alternating group of degree n."},{label:"AlternativeHypothesis",type:"keyword",info:"AlternativeHypothesis is an option for hypothesis testing functions like LocationTest that specifies"},{label:"Alternatives",type:"keyword",info:"p | p | … is a pattern object that represents any of the patterns p . \n 1 2 "},{label:"AltitudeMethod",type:"keyword",info:"AltitudeMethod is an option for SunPosition, MoonPosition, and related functions that determines whe"},{label:"AmbientLight",type:"keyword",info:"AmbientLight[col] is a three-dimensional graphics directive that specifies the uniform ambient light"},{label:"AmbiguityFunction",type:"keyword",info:"AmbiguityFunction is an option for SemanticInterpretation, Interpreter, and related functions that s"},{label:"AmbiguityList",type:"keyword",info:"AmbiguityList[{expr , expr , …}] represents possible results derived from an ambiguous semantic inte"},{label:"Analytic",type:"keyword",info:"Analytic is an option for Limit and Series. With Analytic -> True, unrecognized functions are treate"},{label:"AnatomyData",type:"keyword",info:"AnatomyData[entity, property] gives the value of the specified property for the anatomical structure"},{label:"AnatomyForm",type:"keyword",info:"AnatomyForm[g] is a graphics directive used in AnatomyPlot3D that specifies how anatomy entity‐based"},{label:"AnatomyPlot3D",type:"keyword",info:"AnatomyPlot3D[primitives, options] represents a three-dimensional graphical image that works with an"},{label:"AnatomySkinStyle",type:"keyword",info:"AnatomySkinStyle is an option of AnatomyPlot3D that specifies what style to use for automatically in"},{label:"AnatomyStyling",type:"keyword",info:"AnatomyStyling[g] is a graphics directive used in AnatomyPlot3D that specifies how anatomy entity‐ba"},{label:"AnchoredSearch",type:"keyword",info:"AnchoredSearch is an option for Find and FindList that specifies whether the text searched for must "},{label:"And",type:"keyword",info:"e && e && … is the logical AND function. It evaluates its arguments in order, giving False immedia"},{label:"AndersonDarlingTest",type:"keyword",info:"AndersonDarlingTest[data] tests whether data is normally distributed using the Anderson–Darling test"},{label:"AngerJ",type:"keyword",info:" μ\nA"},{label:"AngleBisector",type:"keyword",info:"AngleBisector[{q , p, q }] gives the bisector of the interior angle at p formed by the triangle with"},{label:"AngleBracket",type:"keyword",info:"AngleBracket[x, y, …] displays as 〈 x, y, … 〉."},{label:"AnglePath",type:"keyword",info:"AnglePath[{θ , θ , θ , …}] gives the list of 2D coordinates corresponding to a path that starts at {"},{label:"AnglePath3D",type:"keyword",info:"AnglePath3D[{{Î\\[PlusMinus] , Î.b2 , Î.b3 }, {Î\\[PlusMinus] , Î.b2 , Î.b3 }, …}] gives the list of 3D coordinates of a path of an object"},{label:"AngleVector",type:"keyword",info:"AngleVector[θ] gives the list representing the 2D unit vector at angle θ relative to the x axis.Angl"},{label:"AngularGauge",type:"keyword",info:"AngularGauge[value] draws a gauge showing value in the range 0 to 1.AngularGauge[value, {min, max}] "},{label:"Animate",type:"keyword",info:"Animate[expr, {u, u , u }] generates an animation of expr in which u varies continuously from u "},{label:"AnimatedImage",type:"keyword",info:"AnimatedImage[{image , image , …}] generates an animation whose frames are the successive image . An"},{label:"AnimationCycleOffset",type:"keyword",info:"AnimationCycleOffset is an option for cells that specifies the relative position of the next graphic"},{label:"AnimationCycleRepetitions",type:"keyword",info:"AnimationCycleRepetitions is an option for cells that specifies the number of times a given animatio"},{label:"AnimationDirection",type:"keyword",info:"AnimationDirection is an option which specifies the direction to run an animation. "},{label:"AnimationDisplayTime",type:"keyword",info:"AnimationDisplayTime is an option for Cell that specifies the minimum time in seconds for which a ce"},{label:"AnimationRate",type:"keyword",info:"AnimationRate is an option for Animate and Animator that specifies at what rate an animation should "},{label:"AnimationRepetitions",type:"keyword",info:"AnimationRepetitions is an option to Animate and related functions that specifies how many times the"},{label:"AnimationRunning",type:"keyword",info:"AnimationRunning is an option to Animate and related functions that specifies whether the animation "},{label:"AnimationRunTime",type:"keyword",info:"AnimationRunTime is an option to Animator and related functions that indicates how long the animatio"},{label:"AnimationTimeIndex",type:"keyword",info:"AnimationTimeIndex is an option to Animator and related functions that specifies the current time in"},{label:"AnimationVideo",type:"keyword",info:"AnimationVideo[fexpr, {u, u , u }] generates a video of fexpr in which u varies from u to u "},{label:"Animator",type:"keyword",info:"Animator[u] represents an object that displays with the value of u being continually increased from "},{label:"AnimatorBox",type:"keyword",info:"System`AnimatorBox"},{label:"AnimatorBoxOptions",type:"keyword",info:"AnimatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Animator"},{label:"AnimatorElements",type:"keyword",info:"System`AnimatorElements"},{label:"Annotate",type:"keyword",info:"Annotate[obj, key  value] sets the annotation key  value for the object obj.Annotate[{obj, itemspe"},{label:"Annotation",type:"keyword",info:'Annotation[expr, data] represents an expression expr, with annotation data.Annotation[expr, data, "t'},{label:"AnnotationDelete",type:"keyword",info:"AnnotationDelete[obj] deletes all annotations of the object obj.AnnotationDelete[{obj, itemspec}] de"},{label:"AnnotationKeys",type:"keyword",info:"AnnotationKeys[obj] lists all annotation keys available for the object obj.AnnotationKeys[{obj, item"},{label:"AnnotationRules",type:"keyword",info:"AnnotationRules is an option that allows specification of annotations to objects and items in object"},{label:"AnnotationValue",type:"keyword",info:"AnnotationValue[obj, key] gives the annotation value associated with key for the object obj.Annotati"},{label:"Annuity",type:"keyword",info:"Annuity[p, t] represents an annuity of fixed payments p made over t periods.Annuity[p, t, q] represe"},{label:"AnnuityDue",type:"keyword",info:"AnnuityDue[p, t] represents an annuity due of fixed payments p made over t periods.AnnuityDue[p, t, "},{label:"Annulus",type:"keyword",info:"Annulus[{x, y}, {r , r }] represents an annulus centered at {x, y} with inner radius r "},{label:"AnomalyDetection",type:"keyword",info:"AnomalyDetection[{example , example , …}] generates an AnomalyDetectorFunction[…] based on the examp"},{label:"AnomalyDetector",type:"keyword",info:"AnomalyDetector is an option for functions such as Classify that specifies an anomaly detector for t"},{label:"AnomalyDetectorFunction",type:"keyword",info:"AnomalyDetectorFunction[…] represents a function generated by AnomalyDetection for detecting whether"},{label:"Anonymous",type:"keyword",info:"Anonymous represents an option or other value that indicates the absence of a name."},{label:"Antialiasing",type:"keyword",info:"Antialiasing is an option that specifies whether antialiasing should be done."},{label:"Antihermitian",type:"keyword",info:"Antihermitian[{1, 2}] represents the symmetry of an antihermitian matrix."},{label:"AntihermitianMatrixQ",type:"keyword",info:"AntihermitianMatrixQ[m] gives True if m is explicitly antihermitian, and False otherwise."},{label:"Antisymmetric",type:"keyword",info:"Antisymmetric[{s , …, s }] represents the symmetry of a tensor that is antisymmetric in the slots s "},{label:"AntisymmetricMatrixQ",type:"keyword",info:"AntisymmetricMatrixQ[m] gives True if m is explicitly antisymmetric, and False otherwise."},{label:"Antonyms",type:"keyword",info:'Antonyms["word"] returns the antonyms associated with the specified word.'},{label:"AnyOrder",type:"keyword",info:"AnyOrder[p , p , …] is a grammar rules pattern object that represents a sequence of elements matchin"},{label:"AnySubset",type:"keyword",info:"AnySubset[{c , c , …}] represents an element in an interpreter or form that accepts any subset of th"},{label:"AnyTrue",type:"keyword",info:"AnyTrue[{e , e , …}, test] yields True if test[e ] is True for any of the e .AnyTrue[expr, test, lev"},{label:"Apart",type:"keyword",info:"Apart[expr] rewrites a rational expression as a sum of terms with minimal denominators. Apart[expr, "},{label:"ApartSquareFree",type:"keyword",info:"ApartSquareFree[expr] rewrites a rational expression as a sum of terms whose denominators are powers"},{label:"APIFunction",type:"keyword",info:"APIFunction[{name  type , name  type , …}, fun] represents an API with parameters name that eva"},{label:"Appearance",type:"keyword",info:"Appearance is an option for displayed objects such as Button and Slider that specifies the general t"},{label:"AppearanceElements",type:"keyword",info:"AppearanceElements is an option for functions like Manipulate that specifies what elements should be"},{label:"AppearanceRules",type:"keyword",info:"AppearanceRules is an option for form and page generation functions that specifies the overall appea"},{label:"AppellF1",type:"keyword",info:"AppellF1[a, b , b , c, x, y] is the Appell hypergeometric function of two variables F (a ; b , b ;"},{label:"Append",type:"keyword",info:"Append[expr, elem] gives expr with elem appended. Append[elem] represents an operator form of Append"},{label:"AppendCheck",type:"keyword",info:"System`AppendCheck"},{label:"AppendLayer",type:"keyword",info:"AppendLayer[] represents a net layer that takes an input array and appends another array to it."},{label:"AppendTo",type:"keyword",info:"AppendTo[x, elem] appends elem to the value of x, and resets x to the result. "},{label:"Application",type:"keyword",info:"f ï”\\[Degree] g or Application[f, g] represents the formal application of f to g."},{label:"ApplicationIdentificationKey",type:"keyword",info:"System`ApplicationIdentificationKey"},{label:"Apply",type:"keyword",info:"f @@ expr or Apply[f, expr] replaces the head of expr by f. f@@@expr or Apply[f, expr, {1}] replaces"},{label:"ApplySides",type:"keyword",info:"ApplySides[f, rel] applies f to each side of the equation or inequality rel."},{label:"ApplyTo",type:"keyword",info:"ApplyTo[x, f] or x//= f computes f[x] and resets x to the result."},{label:"ArcCos",type:"keyword",info:" -1\nArcCos[z] gives the arc cosine cos (z) of the complex number z"},{label:"ArcCosh",type:"keyword",info:" -1\nArcCosh[z] gives the inverse hyperbolic cosine"},{label:"ArcCot",type:"keyword",info:" -1\nArcCot[z] gives the arc cotangent cot (z) of the complex nu"},{label:"ArcCoth",type:"keyword",info:" -1\nArcCoth[z] gives the inverse hyperbolic cot"},{label:"ArcCsc",type:"keyword",info:" -1\nArcCsc[z] gives the arc cosecant csc (z) of the complex numb"},{label:"ArcCsch",type:"keyword",info:" -1\nArcCsch[z] gives the inverse hyperbolic cose"},{label:"ArcCurvature",type:"keyword",info:"ArcCurvature[{x , …, x }, t] gives the curvature of the parametrized curve whose Cartesian coordinat"},{label:"ARCHProcess",type:"keyword",info:"ARCHProcess[κ, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }] represents an autoregressive conditionally heteroscedastic process of or"},{label:"ArcLength",type:"keyword",info:"ArcLength[reg] gives the length of the one-dimensional region reg.ArcLength[{x , …, x }, {t, t , t"},{label:"ArcSec",type:"keyword",info:" -1\nArcSec[z] gives the arc secant sec (z) of the complex number z"},{label:"ArcSech",type:"keyword",info:" -1\nArcSech[z] gives the inverse hyperbolic secant"},{label:"ArcSin",type:"keyword",info:" -1\nArcSin[z] gives the arc sine sin (z) of the complex number z. "},{label:"ArcSinDistribution",type:"keyword",info:"ArcSinDistribution[{x , x }] represents the arc sine distribution supported between x and x "},{label:"ArcSinh",type:"keyword",info:" -1\nArcSinh[z] gives the inverse hyperbolic sine sin"},{label:"ArcTan",type:"keyword",info:" -1 "},{label:"ArcTanh",type:"keyword",info:" -1\nArcTanh[z] gives the inverse hyperbolic tange"},{label:"Area",type:"keyword",info:"Area[reg] gives the area of the two-dimensional region reg.Area[{x , …, x }, {s, s , s }, {t, t "},{label:"Arg",type:"keyword",info:"Arg[z] gives the argument of the complex number z. "},{label:"ArgMax",type:"keyword",info:"ArgMax[f, x] gives a position x at which f is maximized.ArgMax[f, {x, y, …}] gives a position {x "},{label:"ArgMin",type:"keyword",info:"ArgMin[f, x] gives a position x at which f is minimized.ArgMin[f, {x, y, …}] gives a position {x "},{label:"ArgumentCountQ",type:"keyword",info:"ArgumentCountQ[head, len, min, max] tests whether the number len of arguments of a function head is "},{label:"ArgumentsOptions",type:"keyword",info:"ArgumentsOptions[f[args], n] tries to separate args into a list of n positional arguments followed b"},{label:"ARIMAProcess",type:"keyword",info:" "},{label:"ArithmeticGeometricMean",type:"keyword",info:"ArithmeticGeometricMean[a, b] gives the arithmetic‐geometric mean of a and b. "},{label:"ARMAProcess",type:"keyword",info:"ARMAProcess[{a , …, a }, {b , …, b }, v] represents a weakly stationary autoregressive moving-averag"},{label:"Around",type:"keyword",info:"Around[x, Î.b4] represents an approximate number or quantity with a value around x and an uncertainty Î.b4"},{label:"AroundReplace",type:"keyword",info:"AroundReplace[expr, {s  Around[x , Î.b4 ], s  Around[x , Î.b4 ], …}] propagates uncertainty in expr by"},{label:"ARProcess",type:"keyword",info:"ARProcess[{a , …, a }, v] represents a weakly stationary autoregressive process of order p with norm"},{label:"Array",type:"keyword",info:"Array[f, n] generates a list of length n, with elements f[i]. Array[f, n, r] generates a list using "},{label:"ArrayComponents",type:"keyword",info:"ArrayComponents[array] gives an array in which all identical elements of array are replaced by an in"},{label:"ArrayDepth",type:"keyword",info:"ArrayDepth[expr] gives the depth to which expr is a full array, with all the parts at a particular l"},{label:"ArrayFilter",type:"keyword",info:"ArrayFilter[f, array, r] applies f to all range-r blocks in the specified array.ArrayFilter[f, array"},{label:"ArrayFlatten",type:"keyword",info:"ArrayFlatten[{{m , m , …}, {m , m , …}, …}] creates a single flattened matrix from a matrix of m"},{label:"ArrayMesh",type:"keyword",info:"ArrayMesh[array] generates a mesh region from an array of rank d in which each cell has a geometric "},{label:"ArrayPad",type:"keyword",info:"ArrayPad[array, m] gives an array with m zeros of padding on every side. ArrayPad[array, m, padding]"},{label:"ArrayPlot",type:"keyword",info:"ArrayPlot[array] generates a plot in which the values in an array are shown in a discrete array of s"},{label:"ArrayPlot3D",type:"keyword",info:"ArrayPlot3D[array] generates a plot in which the values in an array are shown in a discrete array of"},{label:"ArrayQ",type:"keyword",info:"ArrayQ[expr] gives True if expr is a full array or a SparseArray object, and gives False otherwise. "},{label:"ArrayReduce",type:"keyword",info:"ArrayReduce[f, array, n] reduces dimension n of array by applying f.ArrayReduce[f, array, n ;; n ] "},{label:"ArrayResample",type:"keyword",info:"ArrayResample[array, {n , n , …}] resamples array to have dimensions {n , n , …}.ArrayResample[array"},{label:"ArrayReshape",type:"keyword",info:"ArrayReshape[list, dims] arranges the elements of list into a rectangular array with dimensions dims"},{label:"ArrayRules",type:"keyword",info:"ArrayRules[SparseArray[…]] gives the rules {pos  val , pos  val , …} specifying elements in a sp"},{label:"Arrays",type:"keyword",info:"Arrays[{d , …, d }] represents the domain of arrays of rank r and dimensions d .Arrays[{d , …, d }, "},{label:"Arrow",type:"keyword",info:"Arrow[{pt , pt }] is a graphics primitive that represents an arrow from pt to pt .Arrow[{pt , pt },"},{label:"Arrow3DBox",type:"keyword",info:"System`Arrow3DBox"},{label:"ArrowBox",type:"keyword",info:"System`ArrowBox"},{label:"Arrowheads",type:"keyword",info:"Arrowheads[spec] is a graphics directive specifying that arrows that follow should have arrowheads w"},{label:"ASATriangle",type:"keyword",info:"ASATriangle[Î\\[PlusMinus], c, Î.b2] returns a filled triangle with angles Î\\[PlusMinus] and Î.b2 and side length c, and c is adjac"},{label:"Ask",type:"keyword",info:'Ask["key"] is a construct for use inside AskFunction that gives the value associated with key, or in'},{label:"AskAppend",type:"keyword",info:'AskAppend["key"] is a construct for use inside AskFunction that asks for a new value, appends it to '},{label:"AskConfirm",type:"keyword",info:'AskConfirm["key"] is a construct for use inside AskFunction that asks for confirmation of the curren'},{label:"AskDisplay",type:"keyword",info:"AskDisplay[expr] is a construct for use inside AskFunction that displays the result of evaluating ex"},{label:"AskedQ",type:"keyword",info:'AskedQ["key"] is a construct for use inside AskFunction that gives True if a value is currently asso'},{label:"AskedValue",type:"keyword",info:'AskedValue["key"] is a construct for use inside AskFunction that gives the value associated with key'},{label:"AskFunction",type:"keyword",info:"AskFunction[body] evaluates body, interactively asking for values specified by Ask[…] and related co"},{label:"AskState",type:"keyword",info:"AskState[] is a construct for use inside AskFunction that returns an association of all values in th"},{label:"AskTemplateDisplay",type:"keyword",info:"AskTemplateDisplay[fun] is a construct for use inside AskFunction that displays the result of applyi"},{label:"AspectRatio",type:"keyword",info:"AspectRatio is an option for Graphics and related functions that specifies the ratio of height to wi"},{label:"AspectRatioFixed",type:"keyword",info:"AspectRatioFixed is an option for Cell that specifies whether graphics in the cell should be constra"},{label:"Assert",type:"keyword",info:"Assert[test] represents the assertion that test is True. If assertions have been enabled, test is ev"},{label:"AssessmentFunction",type:"keyword",info:"AssessmentFunction[key] represents a tool for assessing whether answers are correct according to the"},{label:"AssessmentResultObject",type:"keyword",info:"AssessmentResultObject[assoc] represents the results of an assessment.AssessmentResultObject[{aro , "},{label:"AssociateTo",type:"keyword",info:"AssociateTo[a, key  val] changes the association a by adding the key-value pair key  val.Associate"},{label:"Association",type:"keyword",info:"Association[key  val , key  val , …] or  key  val , key  val , …  represents an associatio"},{label:"AssociationFormat",type:"keyword",info:"AssociationFormat is an option to TextString and related functions that determines how associations "},{label:"AssociationMap",type:"keyword",info:"AssociationMap[f, {key , key , …}] creates the association  key  f[key ], key  f[key ], … .Ass"},{label:"AssociationQ",type:"keyword",info:"AssociationQ[expr] gives True if expr is a valid Association object, and False otherwise."},{label:"AssociationThread",type:"keyword",info:"AssociationThread[{key , key , …}  {val , val , …}] gives the association  key  val , key  val"},{label:"AssumeDeterministic",type:"keyword",info:"AssumeDeterministic is an option for functions such as BayesianMinimization that specifies whether o"},{label:"Assuming",type:"keyword",info:"Assuming[assum, expr] evaluates expr with assum appended to ECAssumptions, so that assum is included "},{label:"Assumptions",type:"keyword",info:"Assumptions is an option for functions such as Simplify, Refine, and Integrate that specifies defaul"},{label:"AstronomicalData",type:"keyword",info:'AstronomicalData["name", "property"] gives the value of the specified property of the astronomical o'},{label:"Asymptotic",type:"keyword",info:"Asymptotic[expr, x  x ] gives an asymptotic approximation for expr near x .Asymptotic[expr, {x, x ,"},{label:"AsymptoticDSolveValue",type:"keyword",info:"AsymptoticDSolveValue[eqn, f, x  x ] computes an asymptotic approximation to the differential equat"},{label:"AsymptoticEqual",type:"keyword",info:" * * "},{label:"AsymptoticEquivalent",type:"keyword",info:" * * "},{label:"AsymptoticExpectation",type:"keyword",info:"AsymptoticExpectation[expr, x  dist, a  a ] computes an asymptotic approximation for the expectati"},{label:"AsymptoticGreater",type:"keyword",info:" * * "},{label:"AsymptoticGreaterEqual",type:"keyword",info:" * * "},{label:"AsymptoticIntegrate",type:"keyword",info:" "},{label:"AsymptoticLess",type:"keyword",info:" * * "},{label:"AsymptoticLessEqual",type:"keyword",info:" * * "},{label:"AsymptoticOutputTracker",type:"keyword",info:"AsymptoticOutputTracker[sys, {f , …}, {p , …}] gives the state feedback control law that causes the "},{label:"AsymptoticProbability",type:"keyword",info:"AsymptoticProbability[pred, x  dist, a  a ] computes an asymptotic approximation for the probabili"},{label:"AsymptoticProduct",type:"keyword",info:" "},{label:"AsymptoticRSolveValue",type:"keyword",info:"AsymptoticRSolveValue[eqn, f, x  ∞] computes an asymptotic approximation to the difference equation"},{label:"AsymptoticSolve",type:"keyword",info:"AsymptoticSolve[eqn, y  b, x -> a] computes asymptotic approximations of solutions y[x] of the equa"},{label:"AsymptoticSum",type:"keyword",info:" "},{label:"Asynchronous",type:"keyword",info:"Asynchronous is an option for WolframAlpha that determines whether to use the asynchronous features "},{label:"AsynchronousTaskObject",type:"keyword",info:'AsynchronousTaskObject["name", id, sessionid] is an object that represents asynchronous evaluations '},{label:"AsynchronousTasks",type:"keyword",info:"AsynchronousTasks[] returns a list of running asynchronous tasks."},{label:"Atom",type:"keyword",info:'Atom["sym"] represents an atom with atomic symbol "sym".Atom["sym", name  value, …] represents an a'},{label:"AtomCoordinates",type:"keyword",info:"AtomCoordinates is an option for Molecule and related functions that specifies the three-dimensional"},{label:"AtomCount",type:"keyword",info:"AtomCount[mol] gives the number of atoms in the molecule represented by mol.AtomCount[mol, patt] giv"},{label:"AtomDiagramCoordinates",type:"keyword",info:"AtomDiagramCoordinates is an option for Molecule and related functions that specifies the two-dimens"},{label:"AtomLabels",type:"keyword",info:"AtomLabels is an option for MoleculePlot and MoleculePlot3D that specifies what labels and label pos"},{label:"AtomLabelStyle",type:"keyword",info:"AtomLabelStyle is an option for MoleculePlot and MoleculePlot3D that specifies the style to use for "},{label:"AtomList",type:"keyword",info:"AtomList[mol] gives the list of atoms in the molecule represented by mol.AtomList[mol, patt] gives t"},{label:"AtomQ",type:"keyword",info:"AtomQ[expr] yields True if expr is an expression which cannot be divided into subexpressions, and yi"},{label:"AttachCell",type:"keyword",info:"AttachCell[expr] makes expr a cell attached to the current cell being evaluated.AttachCell[obj, expr"},{label:"AttachedCell",type:"keyword",info:"AttachedCell is an option for Cells that indicates whether to find cells that created with AttachCel"},{label:"AttentionLayer",type:"keyword",info:"AttentionLayer[] represents a trainable net layer that learns to pay attention to certain portions o"},{label:"Attributes",type:"keyword",info:'Attributes[symbol] gives the list of attributes for a symbol. Attributes["symbol"] gives the attribu'},{label:"Audio",type:"keyword",info:"Audio[file] represents audio stored in the given file.Audio[url] represents audio stored in the give"},{label:"AudioAmplify",type:"keyword",info:"AudioAmplify[audio, s] multiplies all samples of audio by a factor s. "},{label:"AudioAnnotate",type:"keyword",info:"AudioAnnotate[audio, prop] computes the property prop and adds it as an annotation to audio.AudioAnn"},{label:"AudioAnnotationLookup",type:"keyword",info:"AudioAnnotationLookup[audio] gives all annotations associated to audio.AudioAnnotationLookup[audio, "},{label:"AudioBlockMap",type:"keyword",info:"AudioBlockMap[f, audio, dur] applies f to non-overlapping partitions of length dur in audio. AudioBl"},{label:"AudioCapture",type:"keyword",info:"AudioCapture[] creates a temporary interactive interface for capturing an audio signal.AudioCapture["},{label:"AudioChannelAssignment",type:"keyword",info:"AudioChannelAssignment is an option for Audio and related functions that specifies a mapping from au"},{label:"AudioChannelCombine",type:"keyword",info:"AudioChannelCombine[{audio , audio , …}] creates a multichannel audio object by combining the sequen"},{label:"AudioChannelMix",type:"keyword",info:"AudioChannelMix[audio] mixes channels of audio by averaging and returns a center-panned stereo audio"},{label:"AudioChannels",type:"keyword",info:"AudioChannels[audio] returns the number of channels in the Audio object audio.AudioChannels[video] r"},{label:"AudioChannelSeparate",type:"keyword",info:"AudioChannelSeparate[audio] gives a list of Audio objects, each of which represents one channel of a"},{label:"AudioData",type:"keyword",info:'AudioData[audio] gives an array of audio samples.AudioData[audio, "type"] gives an array of audio sa'},{label:"AudioDelay",type:"keyword",info:"AudioDelay[audio, delay] creates audio by adding repeated decaying echos to audio spaced by the spec"},{label:"AudioDelete",type:"keyword",info:"AudioDelete[audio, t] deletes the first t seconds of audio.AudioDelete[audio, -t] deletes the last t"},{label:"AudioDevice",type:"keyword",info:"AudioDevice is an option for Audio and related functions that specifies the device to use for playba"},{label:"AudioDistance",type:"keyword",info:"AudioDistance[audio , audio ] returns a distance measure between audio and audio .\n "},{label:"AudioEncoding",type:"keyword",info:"AudioEncoding is an option for Export and other functions that specifies the audio encoding to use w"},{label:"AudioFade",type:"keyword",info:"AudioFade[audio] returns audio in which the beginning and end of audio are faded.AudioFade[audio, t]"},{label:"AudioFrequencyShift",type:"keyword",info:"AudioFrequencyShift[audio, freq] gives audio by shifting the spectrum of audio by freq.AudioFrequenc"},{label:"AudioGenerator",type:"keyword",info:"AudioGenerator[model] generates one second of audio of a given model.AudioGenerator[model, t] genera"},{label:"AudioIdentify",type:"keyword",info:"AudioIdentify[audio] yields the result of attempting to identify what audio is a recording of.AudioI"},{label:"AudioInputDevice",type:"keyword",info:"AudioInputDevice is an option for AudioCapture that specifies the device to use for audio recording."},{label:"AudioInsert",type:"keyword",info:"AudioInsert[audio, t  new] inserts the audio signal new at time t.AudioInsert[audio, {t , t , …}  "},{label:"AudioInstanceQ",type:"keyword",info:"AudioInstanceQ[audio, obj] gives True if audio sounds to be an instance of the object obj, and gives"},{label:"AudioIntervals",type:"keyword",info:"AudioIntervals[audio] returns audible intervals of audio.AudioIntervals[audio, crit] returns interva"},{label:"AudioJoin",type:"keyword",info:"AudioJoin[audio , audio , …] or AudioJoin[{audio , audio , …}] concatenates all audio and returns a"},{label:"AudioLabel",type:"keyword",info:"AudioLabel is an option for an Audio object that specifies the label to show on the object."},{label:"AudioLength",type:"keyword",info:"AudioLength[audio] returns the number of samples in the Audio object audio."},{label:"AudioLocalMeasurements",type:"keyword",info:'AudioLocalMeasurements[audio, "prop"] computes the property "prop" locally for partitions of audio.A'},{label:"AudioLooping",type:"keyword",info:"AudioLooping is an option for AudioStream and related functions to specify the playback looping."},{label:"AudioLoudness",type:"keyword",info:"AudioLoudness[audio] computes the loudness of audio according to the EBU momentary definition.AudioL"},{label:"AudioMeasurements",type:"keyword",info:'AudioMeasurements[audio, "prop"] computes the property "prop" for the entire audio.AudioMeasurements'},{label:"AudioNormalize",type:"keyword",info:"AudioNormalize[audio] normalizes audio so that the maximum absolute value of its samples is 1.AudioN"},{label:"AudioOutputDevice",type:"keyword",info:"AudioOutputDevice is an option for Audio and related functions that specifies the device to use for "},{label:"AudioOverlay",type:"keyword",info:"AudioOverlay[{audio , audio , …}] returns an audio object by overlaying all audio .\n "},{label:"AudioPad",type:"keyword",info:"AudioPad[audio, t] adds t seconds of silence to the end of audio.AudioPad[audio, {t , t }] adds t s"},{label:"AudioPan",type:"keyword",info:"AudioPan[audio] returns a center-panned stereo audio object from a mono audio. AudioPan[audio, pan] "},{label:"AudioPartition",type:"keyword",info:"AudioPartition[audio, dur] partitions an audio object into non-overlapping segments of duration dur."},{label:"AudioPause",type:"keyword",info:"AudioPause[] pauses the playback of all AudioStream objects.AudioPause[astream] pauses the playback "},{label:"AudioPitchShift",type:"keyword",info:"AudioPitchShift[audio, r] applies pitch shifting to audio by the ratio r, shifting every frequency f"},{label:"AudioPlay",type:"keyword",info:"AudioPlay[audio] returns a new AudioStream object from audio and starts the playback.AudioPlay[astre"},{label:"AudioPlot",type:"keyword",info:"AudioPlot[audio] plots the waveform of audio.AudioPlot[{audio , audio , …}] plots waveforms of all a"},{label:"AudioQ",type:"keyword",info:"AudioQ[audio] yields True if audio has the form of a valid Audio object, and False otherwise."},{label:"AudioRecord",type:"keyword",info:"AudioRecord[] returns a new AudioStream object and starts to record from the default input audio dev"},{label:"AudioReplace",type:"keyword",info:"AudioReplace[audio, {t , t }  new] replaces the audio signal between t and t with the new signal "},{label:"AudioResample",type:"keyword",info:"AudioResample[audio, sr] resamples audio to have the sample rate of sr."},{label:"AudioReverb",type:"keyword",info:"AudioReverb[audio] adds reverberation to audio.AudioReverb[audio, model] adds reverberation followin"},{label:"AudioReverse",type:"keyword",info:"AudioReverse[audio] reverses audio so that the signal is played backward."},{label:"AudioSampleRate",type:"keyword",info:"AudioSampleRate[audio] returns the sample rate of the Audio object audio.AudioSampleRate[video] retu"},{label:"AudioSpectralMap",type:"keyword",info:"AudioSpectralMap[f, audio] transforms audio by applying the function f to its short-time Fourier tra"},{label:"AudioSpectralTransformation",type:"keyword",info:"AudioSpectralTransformation[f, audio] returns a modified version of audio by applying a time-frequen"},{label:"AudioSplit",type:"keyword",info:"AudioSplit[audio, t] splits audio at time t.AudioSplit[audio, {t , t , …}] splits audio at times t ."},{label:"AudioStop",type:"keyword",info:"AudioStop[] stops the playback of all AudioStream objects.AudioStop[astream] stops the playback of t"},{label:"AudioStream",type:"keyword",info:"AudioStream[source] creates a new AudioStream object from source.AudioStream[id] is an object that r"},{label:"AudioStreams",type:"keyword",info:"AudioStreams[] returns all existing streams.AudioStreams[audio] returns all existing streams that or"},{label:"AudioTimeStretch",type:"keyword",info:"AudioTimeStretch[audio, r] applies time stretching to audio by the specified factor r."},{label:"AudioTrackApply",type:"keyword",info:"AudioTrackApply[f, video] applies the function f to the first audio track of the Video object video."},{label:"AudioTrackSelection",type:"keyword",info:"AudioTrackSelection is an option that specifies the audio tracks of interest."},{label:"AudioTrim",type:"keyword",info:"AudioTrim[audio] trims silence from the beginning and end of audio.AudioTrim[audio, t] returns the f"},{label:"AudioType",type:"keyword",info:"AudioType[audio] returns the data type used to represent samples in the Audio object audio."},{label:"AugmentedPolyhedron",type:"keyword",info:"AugmentedPolyhedron[poly] gives the augmented polyhedron poly by replacing each face by a pyramid. A"},{label:"AugmentedSymmetricPolynomial",type:"keyword",info:"AugmentedSymmetricPolynomial[{r , r , …}] represents a formal augmented symmetric polynomial with ex"},{label:"Authenticate",type:"keyword",info:"System`Authenticate"},{label:"Authentication",type:"keyword",info:"Authentication is an option for cloud, web and SSH access functions that allows authentication param"},{label:"AuthenticationDialog",type:"keyword",info:"AuthenticationDialog[] initiates a standard dialog for entering username/password authentication inf"},{label:"AutoAction",type:"keyword",info:"AutoAction is an option for objects such as Slider, Locator, and Button that specifies whether they "},{label:"Autocomplete",type:"keyword",info:'Autocomplete[{string , string , …}, "string"] gives a list of the string that can complete string.A'},{label:"AutocompletionFunction",type:"keyword",info:"AutocompletionFunction[…] represents a function to be applied to a string to generate possible compl"},{label:"AutoCopy",type:"keyword",info:"AutoCopy is an option for notebooks and cloud objects that specifies whether to automatically make a"},{label:"AutocorrelationTest",type:"keyword",info:"AutocorrelationTest[data] tests whether the data is autocorrelated.AutocorrelationTest[data, k] test"},{label:"AutoDelete",type:"keyword",info:"AutoDelete is an option for boxes that specifies whether a box is automatically deleted when its con"},{label:"AutoEvaluateEvents",type:"keyword",info:"System`AutoEvaluateEvents"},{label:"AutoGeneratedPackage",type:"keyword",info:"AutoGeneratedPackage is an option for notebooks that specifies whether a package is automatically cr"},{label:"AutoIndent",type:"keyword",info:"AutoIndent is an option for Style and Cell that specifies what automatic indentation should be done "},{label:"AutoIndentSpacings",type:"keyword",info:"System`AutoIndentSpacings"},{label:"AutoItalicWords",type:"keyword",info:"AutoItalicWords is an option for Cell that gives a list of words that should automatically be put in"},{label:"AutoloadPath",type:"keyword",info:"AutoloadPath is a global option that specifies from which directories packages are automatically loa"},{label:"AutoMatch",type:"keyword",info:"System`AutoMatch"},{label:"Automatic",type:"keyword",info:"Automatic represents an option or other value that is to be chosen automatically by a built‐in funct"},{label:"AutomaticImageSize",type:"keyword",info:"System`AutomaticImageSize"},{label:"AutoMultiplicationSymbol",type:"keyword",info:"AutoMultiplicationSymbol is an option for objects such as Cell and Notebook that specifies when to a"},{label:"AutoNumberFormatting",type:"keyword",info:"System`AutoNumberFormatting"},{label:"AutoOpenNotebooks",type:"keyword",info:"AutoOpenNotebooks is a global option that specifies which notebooks should be automatically opened w"},{label:"AutoOpenPalettes",type:"keyword",info:"AutoOpenPalettes is a global option that specifies the palettes that are automatically opened when t"},{label:"AutoOperatorRenderings",type:"keyword",info:"AutoOperatorRenderings is an option for cells and notebooks that specifies automatic renderings to b"},{label:"AutoQuoteCharacters",type:"keyword",info:"System`AutoQuoteCharacters"},{label:"AutoRefreshed",type:"keyword",info:"AutoRefreshed[expr] represents an expression to be reevaluated every hour and made available in the "},{label:"AutoRemove",type:"keyword",info:"AutoRemove is an option specifying whether tasks, generators, cloud objects and related constructs s"},{label:"AutorunSequencing",type:"keyword",info:"AutorunSequencing is an option for Manipulate that specifies how autorun should use the controls pro"},{label:"AutoScaling",type:"keyword",info:"System`AutoScaling"},{label:"AutoScroll",type:"keyword",info:"AutoScroll is an option to SelectionMove and related functions that specifies whether a notebook sho"},{label:"AutoSpacing",type:"keyword",info:"AutoSpacing is an option for Style and Cell that specifies whether spaces between successive charact"},{label:"AutoStyleOptions",type:"keyword",info:"System`AutoStyleOptions"},{label:"AutoStyleWords",type:"keyword",info:"System`AutoStyleWords"},{label:"AutoSubmitting",type:"keyword",info:"AutoSubmitting[spec] represents an element of a form that automatically submits the whole form if it"},{label:"Axes",type:"keyword",info:"Axes is an option for graphics functions that specifies whether axes should be drawn. "},{label:"AxesEdge",type:"keyword",info:"AxesEdge is an option for three-dimensional graphics functions that specifies on which edges of the "},{label:"AxesLabel",type:"keyword",info:"AxesLabel is an option for graphics functions that specifies labels for axes. "},{label:"AxesOrigin",type:"keyword",info:"AxesOrigin is an option for graphics functions that specifies where any axes drawn should cross. "},{label:"AxesStyle",type:"keyword",info:"AxesStyle is an option for graphics functions that specifies how axes should be rendered. "},{label:"AxiomaticTheory",type:"keyword",info:'AxiomaticTheory["theory"] gives an axiomatic representation of the specified axiomatic theory.Axioma'},{label:"Axis",type:"keyword",info:"Axis is a symbol that represents the axis for purposes of alignment and positioning. "},{label:"Axis3DBox",type:"keyword",info:"System`Axis3DBox"},{label:"Axis3DBoxOptions",type:"keyword",info:"System`Axis3DBoxOptions"},{label:"AxisBox",type:"keyword",info:"System`AxisBox"},{label:"AxisBoxOptions",type:"keyword",info:"System`AxisBoxOptions"},{label:"AxisLabel",type:"keyword",info:"AxisLabel is an option for AxisObject that specifies a label for the axis."},{label:"AxisObject",type:"keyword",info:"AxisObject[path] is a Graphics primitive that represents an axis with a quantitative scale along the"},{label:"AxisStyle",type:"keyword",info:"AxisStyle is an option for AxisObject that specifies how to style the path of an axis."},{label:"BabyMonsterGroupB",type:"keyword",info:"BabyMonsterGroupB[] represents the sporadic simple baby monster group B."},{label:"Back",type:"keyword",info:"Back is a symbol that represents the back of a graphic for purposes of placement and alignment."},{label:"BackFaceColor",type:"keyword",info:"System`BackFaceColor"},{label:"BackFaceGlowColor",type:"keyword",info:"System`BackFaceGlowColor"},{label:"BackFaceOpacity",type:"keyword",info:"System`BackFaceOpacity"},{label:"BackFaceSpecularColor",type:"keyword",info:"System`BackFaceSpecularColor"},{label:"BackFaceSpecularExponent",type:"keyword",info:"System`BackFaceSpecularExponent"},{label:"BackFaceSurfaceAppearance",type:"keyword",info:"System`BackFaceSurfaceAppearance"},{label:"BackFaceTexture",type:"keyword",info:"System`BackFaceTexture"},{label:"Background",type:"keyword",info:"Background is an option that specifies what background color to use. "},{label:"BackgroundAppearance",type:"keyword",info:"System`BackgroundAppearance"},{label:"BackgroundTasksSettings",type:"keyword",info:"System`BackgroundTasksSettings"},{label:"Backslash",type:"keyword",info:"Backslash[x, y, …] displays as x ∖ y ∖ …."},{label:"Backsubstitution",type:"keyword",info:"System`Backsubstitution"},{label:"Backward",type:"keyword",info:"Backward is a symbol that represents the backward direction for purposes of motion and animation."},{label:"Ball",type:"keyword",info:"Ball[p] represents the unit ball centered at the point p.Ball[p, r] represents the ball of radius r "},{label:"Band",type:"keyword",info:"Band[{i, j}] represents the sequence of positions on the diagonal band that starts with {i, j} in a "},{label:"BandpassFilter",type:"keyword",info:"BandpassFilter[data, {ω , ω }] applies a bandpass filter with cutoff frequencies ω and ω to an arr"},{label:"BandstopFilter",type:"keyword",info:"BandstopFilter[data, {ω , ω }] applies a bandstop filter with cutoff frequencies ω and ω to an arr"},{label:"BarabasiAlbertGraphDistribution",type:"keyword",info:"BarabasiAlbertGraphDistribution[n, k] represents a Barabasi–Albert graph distribution for n-vertex g"},{label:"BarChart",type:"keyword",info:"BarChart[{y , y , …, y }] makes a bar chart with bar lengths y , y , ….BarChart[{…, w [y , …], …, w"},{label:"BarChart3D",type:"keyword",info:"BarChart3D[{y , y , …}] makes a 3D bar chart with bar lengths y , y , … .BarChart3D[{…, w [y , …], …"},{label:"BarcodeImage",type:"keyword",info:'BarcodeImage["string", format] generates a barcode image of "string" in the specified format.Barcode'},{label:"BarcodeRecognize",type:"keyword",info:"BarcodeRecognize[image] recognizes a barcode in image and returns it as a string.BarcodeRecognize[im"},{label:"BaringhausHenzeTest",type:"keyword",info:"BaringhausHenzeTest[data] tests whether data follows a MultinormalDistribution using the Baringhaus–"},{label:"BarLegend",type:"keyword",info:"BarLegend[cf] generates a legend that identifies colors from the color function cf with an automatic"},{label:"BarlowProschanImportance",type:"keyword",info:"BarlowProschanImportance[rdist] gives the Barlow–Proschan importances for all components in the Reli"},{label:"BarnesG",type:"keyword",info:"BarnesG[z] gives the Barnes G-function G(z)."},{label:"BarOrigin",type:"keyword",info:"BarOrigin is an option to BarChart and related functions that specifies the origin placement for bar"},{label:"BarSpacing",type:"keyword",info:"BarSpacing is an option to BarChart and related functions that controls the spacing between bars and"},{label:"BartlettHannWindow",type:"keyword",info:"BartlettHannWindow[x] represents a Bartlett–Hann window function of x."},{label:"BartlettWindow",type:"keyword",info:"BartlettWindow[x] represents a Bartlett window function of x."},{label:"BaseDecode",type:"keyword",info:'BaseDecode["string"] decodes the Base64 data contained in a string and returns the result as a byte '},{label:"BaseEncode",type:"keyword",info:'BaseEncode[ba] encodes the byte array ba as a Base64 string.BaseEncode[ba, "encoding"] encodes using'},{label:"BaseForm",type:"keyword",info:"BaseForm[expr, n] prints with the numbers in expr given in base n. "},{label:"Baseline",type:"keyword",info:"Baseline is a symbol that represents the baseline for purposes of alignment and positioning. "},{label:"BaselinePosition",type:"keyword",info:"BaselinePosition is an option that specifies where the baseline of an object is considered to be for"},{label:"BaseStyle",type:"keyword",info:"BaseStyle is an option for formatting and related constructs that specifies the base style to use fo"},{label:"BasicRecurrentLayer",type:"keyword",info:"BasicRecurrentLayer[n] represents a trainable recurrent layer that takes a sequence of vectors and p"},{label:"BatchNormalizationLayer",type:"keyword",info:"BatchNormalizationLayer[] represents a trainable net layer that normalizes its input data by learnin"},{label:"BatchSize",type:"keyword",info:"BatchSize is an option for NetTrain and related functions that specifies the size of a batch of exam"},{label:"BatesDistribution",type:"keyword",info:"BatesDistribution[n] represents the distribution of a mean of n random variables uniformly distribut"},{label:"BattleLemarieWavelet",type:"keyword",info:"BattleLemarieWavelet[] represents the Battle–Lemarié wavelet of order 3.BattleLemarieWavelet[n] repr"},{label:"BayesianMaximization",type:"keyword",info:"BayesianMaximization[f, {conf , conf , …}] gives an object representing the result of Bayesian maxim"},{label:"BayesianMaximizationObject",type:"keyword",info:"BayesianMaximizationObject[…] represents the result of a Bayesian maximization process."},{label:"BayesianMinimization",type:"keyword",info:"BayesianMinimization[f, {conf , conf , …}] gives an object representing the result of Bayesian minim"},{label:"BayesianMinimizationObject",type:"keyword",info:"BayesianMinimizationObject[…] represents the result of a Bayesian minimization process. "},{label:"Because",type:"keyword",info:"Because[x, y] displays as x âˆ\\[Micro] y."},{label:"BeckmannDistribution",type:"keyword",info:"BeckmannDistribution[μ , μ , σ , σ ] represents the Beckmann distribution with means μ and μ and s"},{label:"Beep",type:"keyword",info:"Beep[] generates an audible beep when evaluated. "},{label:"Before",type:"keyword",info:"Before is a symbol that represents the region before an object for purposes of placement."},{label:"Begin",type:"keyword",info:'Begin["context`"] resets the current context. '},{label:"BeginDialogPacket",type:"keyword",info:"BeginDialogPacket[integer] is a WSTP packet that indicates the start of the Dialog subsession refere"},{label:"BeginPackage",type:"keyword",info:'BeginPackage["context`"] makes context` and System` the only active contexts. BeginPackage["context`'},{label:"BellB",type:"keyword",info:"BellB[n] gives the Bell number B . BellB[n, x] gives the Bell polynomial B (x). \n "},{label:"BellY",type:"keyword",info:"BellY[n, k, {x , …, x }] gives the partial Bell polynomial Y (x , …, x ).BellY[n,"},{label:"Below",type:"keyword",info:"Below is a symbol that represents the region below an object for purposes of placement."},{label:"BenfordDistribution",type:"keyword",info:"BenfordDistribution[b] represents a Benford distribution with base parameter b."},{label:"BeniniDistribution",type:"keyword",info:"BeniniDistribution[Î\\[PlusMinus], Î.b2, σ] represents a Benini distribution with shape parameters Î\\[PlusMinus] and Î.b2 and scale"},{label:"BenktanderGibratDistribution",type:"keyword",info:"BenktanderGibratDistribution[a, b] represents a Benktander distribution of type I with parameters a "},{label:"BenktanderWeibullDistribution",type:"keyword",info:"BenktanderWeibullDistribution[a, b] represents a Benktander distribution of type II with parameters "},{label:"BernoulliB",type:"keyword",info:"BernoulliB[n] gives the Bernoulli number B . BernoulliB[n, x] gives the Bernoulli polynomial B (x). "},{label:"BernoulliDistribution",type:"keyword",info:"BernoulliDistribution[p] represents a Bernoulli distribution with probability parameter p."},{label:"BernoulliGraphDistribution",type:"keyword",info:"BernoulliGraphDistribution[n, p] represents a Bernoulli graph distribution for n-vertex graphs with "},{label:"BernoulliProcess",type:"keyword",info:"BernoulliProcess[p] represents a Bernoulli process with event probability p."},{label:"BernsteinBasis",type:"keyword",info:" th\nBernsteinBasis[d, n, x] represents the n Bernstein ba"},{label:"BesagL",type:"keyword",info:"BesagL[pdata, r] estimates Besag's L function L(r) for point data pdata at radius r.BesagL[pproc, r]"},{label:"BesselFilterModel",type:"keyword",info:"BesselFilterModel[n] designs a lowpass Bessel filter of order n and cutoff frequency 1.BesselFilterM"},{label:"BesselI",type:"keyword",info:"BesselI[n, z] gives the modified Bessel function of the first kind I (z). \n "},{label:"BesselJ",type:"keyword",info:"BesselJ[n, z] gives the Bessel function of the first kind J (z). \n "},{label:"BesselJZero",type:"keyword",info:" th "},{label:"BesselK",type:"keyword",info:"BesselK[n, z] gives the modified Bessel function of the second kind K (z). \n "},{label:"BesselY",type:"keyword",info:"BesselY[n, z] gives the Bessel function of the second kind Y (z). \n "},{label:"BesselYZero",type:"keyword",info:" th "},{label:"Beta",type:"keyword",info:"Beta[a, b] gives the Euler beta function Β(a, b). Beta[z, a, b] gives the incomplete beta function Β"},{label:"BetaBinomialDistribution",type:"keyword",info:"BetaBinomialDistribution[Î\\[PlusMinus], Î.b2, n] represents a beta binomial mixture distribution with beta distribu"},{label:"BetaDistribution",type:"keyword",info:"BetaDistribution[Î\\[PlusMinus], Î.b2] represents a continuous beta distribution with shape parameters Î\\[PlusMinus] and Î.b2."},{label:"BetaNegativeBinomialDistribution",type:"keyword",info:"BetaNegativeBinomialDistribution[Î\\[PlusMinus], Î.b2, n] represents a beta negative binomial mixture distribution w"},{label:"BetaPrimeDistribution",type:"keyword",info:"BetaPrimeDistribution[p, q] represents a beta prime distribution with shape parameters p and q. Beta"},{label:"BetaRegularized",type:"keyword",info:"BetaRegularized[z, a, b] gives the regularized incomplete beta function I (a, b). \n "},{label:"Between",type:"keyword",info:"Between[x, {min, max}] is equivalent to min ≤ x ≤ max.Between[x, {{min , max }, {min , max }, …}] is"},{label:"BetweennessCentrality",type:"keyword",info:"BetweennessCentrality[g] gives a list of betweenness centralities for the vertices in the graph g.Be"},{label:"Beveled",type:"keyword",info:"System`Beveled"},{label:"BeveledPolyhedron",type:"keyword",info:"BeveledPolyhedron[poly] gives the beveled polyhedron of poly, by beveling each edge. BeveledPolyhedr"},{label:"BezierCurve",type:"keyword",info:"BezierCurve[{pt , pt , …}] is a graphics primitive that represents a Bézier curve with control point"},{label:"BezierCurve3DBox",type:"keyword",info:"System`BezierCurve3DBox"},{label:"BezierCurve3DBoxOptions",type:"keyword",info:"BezierCurve3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Bez"},{label:"BezierCurveBox",type:"keyword",info:"System`BezierCurveBox"},{label:"BezierCurveBoxOptions",type:"keyword",info:"BezierCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Bezie"},{label:"BezierFunction",type:"keyword",info:"BezierFunction[{pt , pt , …}] represents a Bézier function for a curve defined by the control points"},{label:"BilateralFilter",type:"keyword",info:"BilateralFilter[data, σ, μ] applies a bilateral filter of spatial spread σ and pixel value spread μ "},{label:"BilateralLaplaceTransform",type:"keyword",info:"BilateralLaplaceTransform[expr, t, s] gives the bilateral Laplace transform of expr. BilateralLaplac"},{label:"BilateralZTransform",type:"keyword",info:"BilateralZTransform[expr, n, z] gives the bilateral Z transform of expr.BilateralZTransform[expr, {n"},{label:"Binarize",type:"keyword",info:"Binarize[image] creates a binary image from image by replacing all values above a globally determine"},{label:"BinaryDeserialize",type:"keyword",info:"BinaryDeserialize[ByteArray[…]] recovers an expression from a binary representation generated by Bin"},{label:"BinaryDistance",type:"keyword",info:"BinaryDistance[u, v] gives the binary distance between vectors u and v, equal to 0 if they are ident"},{label:"BinaryFormat",type:"keyword",info:"BinaryFormat is an option for OpenRead and related functions that specifies that a stream should be "},{label:"BinaryImageQ",type:"keyword",info:"BinaryImageQ[image] yields True if image has the form of a binary Image or Image3D object, and False"},{label:"BinaryRead",type:"keyword",info:"BinaryRead[stream] reads one byte of raw binary data from an input stream, and returns an integer fr"},{label:"BinaryReadList",type:"keyword",info:'BinaryReadList["file"] reads all remaining bytes from a file, and returns them as a list of integers'},{label:"BinarySerialize",type:"keyword",info:"BinarySerialize[expr] gives a binary representation of any expression expr as a ByteArray object."},{label:"BinaryWrite",type:"keyword",info:"BinaryWrite[channel, b] writes a byte of data, specified as an integer from 0 to 255. BinaryWrite[ch"},{label:"BinCounts",type:"keyword",info:"BinCounts[{x , x , …}] counts the number of elements x whose values lie in successive integer bins."},{label:"BinLists",type:"keyword",info:"BinLists[{x , x , …}] gives lists of the elements x whose values lie in successive integer bins.Bin"},{label:"BinnedVariogramList",type:"keyword",info:"BinnedVariogramList[{loc  val , loc  val , …}] computes a variogram using binned values. BinnedV"},{label:"Binomial",type:"keyword",info:"Binomial[n, m] gives the binomial coefficient (n).\n\n m"},{label:"BinomialDistribution",type:"keyword",info:"BinomialDistribution[n, p] represents a binomial distribution with n trials and success probability "},{label:"BinomialPointProcess",type:"keyword",info:"BinomialPointProcess[n, reg] represents a binomial point process with n points in the region reg."},{label:"BinomialProcess",type:"keyword",info:"BinomialProcess[p] represents a binomial process with event probability p."},{label:"BinormalDistribution",type:"keyword",info:" "},{label:"BiorthogonalSplineWavelet",type:"keyword",info:"BiorthogonalSplineWavelet[] represents a biorthogonal spline wavelet of order 4 and dual order 2.Bio"},{label:"BioSequence",type:"keyword",info:'BioSequence[type, "seq"] represents the biomolecular sequence of the given type corresponding to a s'},{label:"BioSequenceBackTranslateList",type:"keyword",info:"BioSequenceBackTranslateList[bioseq] gives the generalized back translations of a peptide sequence b"},{label:"BioSequenceComplement",type:"keyword",info:"BioSequenceComplement[bioseq] gives the biological complement of the sequence bioseq."},{label:"BioSequenceInstances",type:"keyword",info:"BioSequenceInstances[bioseq] expands the possibly degenerate sequence bioseq into all fully specifie"},{label:"BioSequenceModify",type:"keyword",info:'BioSequenceModify[seq, "mod"] gives the result of applying the modification "mod" to the sequence se'},{label:"BioSequencePlot",type:"keyword",info:"BioSequencePlot[bioseq] creates a two-dimensional schematic diagram of the biomolecular sequence bio"},{label:"BioSequenceQ",type:"keyword",info:"BioSequenceQ[bioseq] returns True if bioseq is a valid BioSequence expression, and False otherwise.B"},{label:"BioSequenceReverseComplement",type:"keyword",info:"BioSequenceReverseComplement[bioseq] biologically complements and reverses the sequence bioseq."},{label:"BioSequenceTranscribe",type:"keyword",info:"BioSequenceTranscribe[bioseq] transcribes DNA into RNA or inverts the transcription of RNA back to D"},{label:"BioSequenceTranslate",type:"keyword",info:"BioSequenceTranslate[bioseq] translates a DNA or RNA sequence bioseq to a peptide sequence.BioSequen"},{label:"BipartiteGraphQ",type:"keyword",info:"BipartiteGraphQ[g] yields True if the graph g is a bipartite graph and False otherwise."},{label:"BiquadraticFilterModel",type:"keyword",info:"BiquadraticFilterModel[{ω, q}] creates a lowpass biquadratic filter using the characteristic frequen"},{label:"BirnbaumImportance",type:"keyword",info:"BirnbaumImportance[rdist, t] gives the Birnbaum importances for all components in the ReliabilityDis"},{label:"BirnbaumSaundersDistribution",type:"keyword",info:"BirnbaumSaundersDistribution[Î\\[PlusMinus], λ] represents the Birnbaum–Saunders distribution with shape paramete"},{label:"BitAnd",type:"keyword",info:"BitAnd[n , n , …] gives the bitwise AND of the integers n . \n 1 2 "},{label:"BitClear",type:"keyword",info:" k\nBitClear[n, k] sets to 0 the"},{label:"BitGet",type:"keyword",info:" k\nBitGet[n, k] gets the bit correspon"},{label:"BitLength",type:"keyword",info:"BitLength[n] gives the number of binary bits necessary to represent the integer n. "},{label:"BitNot",type:"keyword",info:"BitNot[n] gives the bitwise NOT of the integer n. "},{label:"BitOr",type:"keyword",info:"BitOr[n , n , …] gives the bitwise OR of the integers n . \n 1 2 "},{label:"BitRate",type:"keyword",info:"BitRate is an option that specifies an approximate number of bits per second when creating video and"},{label:"BitSet",type:"keyword",info:" k\nBitSet[n, k] sets to 1 the bit"},{label:"BitShiftLeft",type:"keyword",info:"BitShiftLeft[n, k] shifts the binary bits in the integer n to the left by k places, padding with zer"},{label:"BitShiftRight",type:"keyword",info:"BitShiftRight[n, k] shifts the binary bits in the integer n to the right by k places, dropping bits "},{label:"BitXor",type:"keyword",info:"BitXor[n , n , …] gives the bitwise XOR of the integers n . \n 1 2 "},{label:"BiweightLocation",type:"keyword",info:"BiweightLocation[list] gives the value of the biweight location estimator of the elements in list.Bi"},{label:"BiweightMidvariance",type:"keyword",info:"BiweightMidvariance[list] gives the value of the biweight midvariance of the elements in list.Biweig"},{label:"Black",type:"keyword",info:"Black represents the color black in graphics or style specifications. "},{label:"BlackmanHarrisWindow",type:"keyword",info:"BlackmanHarrisWindow[x] represents a Blackman–Harris window function of x."},{label:"BlackmanNuttallWindow",type:"keyword",info:"BlackmanNuttallWindow[x] represents a Blackman–Nuttall window function of x."},{label:"BlackmanWindow",type:"keyword",info:"BlackmanWindow[x] represents a Blackman window function of x."},{label:"Blank",type:"keyword",info:"_ or Blank[] is a pattern object that can stand for any Wolfram Language expression. _h or Blank[h] "},{label:"BlankForm",type:"keyword",info:"BlankForm is an internal symbol used for formatting and printing."},{label:"BlankNullSequence",type:"keyword",info:"___ (three _ characters) or BlankNullSequence[] is a pattern object that can stand for any sequence "},{label:"BlankSequence",type:"keyword",info:"__ (two _ characters) or BlankSequence[] is a pattern object that can stand for any sequence of one "},{label:"Blend",type:"keyword",info:"Blend[{col , col }, x] gives a color obtained by blending a fraction 1 - x of color col and x of co"},{label:"Block",type:"keyword",info:"Block[{x, y, …}, expr] specifies that expr is to be evaluated with local values for the symbols x, y"},{label:"BlockchainAddressData",type:"keyword",info:'BlockchainAddressData["address"] gives available information connected with the specified address on'},{label:"BlockchainBase",type:"keyword",info:"BlockchainBase is an option for various blockchain functions that specifies which blockchain to use."},{label:"BlockchainBlockData",type:"keyword",info:'BlockchainBlockData["hash"] gives information about the block with the specified hash on the blockch'},{label:"BlockchainContractValue",type:"keyword",info:"BlockchainContractValue[caddr] gets the result obtained from a Wolfram expression contract at blockc"},{label:"BlockchainData",type:"keyword",info:"BlockchainData[] gives information about the blockchain specified by ECBlockchainBase.BlockchainData["},{label:"BlockchainGet",type:"keyword",info:"BlockchainGet[id] retrieves data from the Wolfram blockchain for the transaction with the specified "},{label:"BlockchainKeyEncode",type:"keyword",info:"BlockchainKeyEncode[key, form] encodes a private or public key in the specified blockchain format."},{label:"BlockchainPut",type:"keyword",info:"BlockchainPut[expr] adds expr to the Wolfram blockchain."},{label:"BlockchainTokenData",type:"keyword",info:'BlockchainTokenData["name"] gives information about the use of tokens with the specified name on a b'},{label:"BlockchainTransaction",type:"keyword",info:"BlockchainTransaction[assoc] represents a blockchain transaction built from the components in the as"},{label:"BlockchainTransactionData",type:"keyword",info:"BlockchainTransactionData[txid] gives information about the blockchain transaction with ID txid on t"},{label:"BlockchainTransactionSign",type:"keyword",info:"BlockchainTransactionSign[obj, key] digitally signs a blockchain transaction using the specified pri"},{label:"BlockchainTransactionSubmit",type:"keyword",info:"BlockchainTransactionSubmit[obj] submits the transaction specified in the BlockchainTransaction obje"},{label:"BlockMap",type:"keyword",info:"BlockMap[f, list, n] applies f to non-overlapping sublists of length n in list. BlockMap[f, list, n,"},{label:"BlockRandom",type:"keyword",info:"BlockRandom[expr] evaluates expr with all pseudorandom generators localized, so that uses of SeedRan"},{label:"BlomqvistBeta",type:"keyword",info:" "},{label:"BlomqvistBetaTest",type:"keyword",info:"BlomqvistBetaTest[v , v ] tests whether the vectors v and v are independent.BlomqvistBetaTest[m , "},{label:"Blue",type:"keyword",info:"Blue represents the color blue in graphics or style specifications. "},{label:"Blur",type:"keyword",info:"Blur[image] gives a blurred version of image.Blur[image, r] gives a version of image blurred over pi"},{label:"BodePlot",type:"keyword",info:"BodePlot[lsys] generates a Bode plot of a linear time-invariant system lsys.BodePlot[lsys, {ω , ω "},{label:"BohmanWindow",type:"keyword",info:"BohmanWindow[x] represents a Bohman window function of x."},{label:"Bold",type:"keyword",info:"Bold represents a bold font weight."},{label:"Bond",type:"keyword",info:"Bond[{id , id }] represents a single chemical bond between atoms with indices id and id .Bond[{id ,"},{label:"BondCount",type:"keyword",info:"BondCount[mol] gives the number of bonds in the molecule mol.BondCount[mol, patt] gives the number o"},{label:"BondLabels",type:"keyword",info:"BondLabels is an option for MoleculePlot and MoleculePlot3D that specifies what labels and label pos"},{label:"BondLabelStyle",type:"keyword",info:"BondLabelStyle is an option for MoleculePlot and MoleculePlot3D that specifies the style to use for "},{label:"BondList",type:"keyword",info:"BondList[mol] gives the list of bonds in the molecule mol.BondList[mol, patt] gives the list of bond"},{label:"BondQ",type:"keyword",info:"BondQ[m, bond] gives True if bond is a bond in the molecule m, and False otherwise."},{label:"Bookmarks",type:"keyword",info:"Bookmarks is an option for Manipulate and related functions that gives a list of bookmark settings."},{label:"Boole",type:"keyword",info:"Boole[expr] yields 1 if expr is True and 0 if it is False. "},{label:"BooleanConsecutiveFunction",type:"keyword",info:" "},{label:"BooleanConvert",type:"keyword",info:"BooleanConvert[expr] converts the Boolean expression expr to disjunctive normal form.BooleanConvert["},{label:"BooleanCountingFunction",type:"keyword",info:"BooleanCountingFunction[k , n] represents a Boolean function of n variables that gives True if at "},{label:"BooleanFunction",type:"keyword",info:" th\nBooleanFunction[k, n] represents the k Boolean function"},{label:"BooleanGraph",type:"keyword",info:"BooleanGraph[bfunc, g , …, g ] gives the Boolean graph defined by the Boolean function bfunc on the "},{label:"BooleanMaxterms",type:"keyword",info:" th\nBooleanMaxterms[k, n] represents the k maxterm in n var"},{label:"BooleanMinimize",type:"keyword",info:"BooleanMinimize[expr] finds a minimal-length disjunctive normal form representation of expr.BooleanM"},{label:"BooleanMinterms",type:"keyword",info:" th\nBooleanMinterms[k, n] represents the k minterm in n var"},{label:"BooleanQ",type:"keyword",info:"BooleanQ[expr] returns True if expr is either True or False."},{label:"BooleanRegion",type:"keyword",info:"BooleanRegion[bfunc, {reg , reg , …}] represents the Boolean combination bfunc of regions reg , reg "},{label:"Booleans",type:"keyword",info:"Booleans represents the domain of Booleans, as in x ∈ Booleans. "},{label:"BooleanStrings",type:"keyword",info:"BooleanStrings is an option to TextString and related functions that determines what strings corresp"},{label:"BooleanTable",type:"keyword",info:"BooleanTable[bf] gives a list of truth values for all possible combinations of variable values suppl"},{label:"BooleanVariables",type:"keyword",info:"BooleanVariables[expr] gives a list of the Boolean variables in the Boolean expression expr.BooleanV"},{label:"BorderDimensions",type:"keyword",info:"BorderDimensions[image] gives the pixel width of uniform borders of image in the form {{left, right}"},{label:"BorelTannerDistribution",type:"keyword",info:"BorelTannerDistribution[Î\\[PlusMinus], n] represents a Borel–Tanner distribution with shape parameters Î\\[PlusMinus] and n."},{label:"Bottom",type:"keyword",info:"Bottom is a symbol that represents the bottom for purposes of alignment and positioning. "},{label:"BottomHatTransform",type:"keyword",info:"BottomHatTransform[image, ker] gives the morphological bottom-hat transform of image with respect to"},{label:"BoundaryDiscretizeGraphics",type:"keyword",info:"BoundaryDiscretizeGraphics[g] discretizes a 2D or 3D graphic g into a BoundaryMeshRegion.BoundaryDis"},{label:"BoundaryDiscretizeRegion",type:"keyword",info:"BoundaryDiscretizeRegion[reg] discretizes the region reg into a BoundaryMeshRegion.BoundaryDiscretiz"},{label:"BoundaryMesh",type:"keyword",info:"BoundaryMesh[mreg] gives a BoundaryMeshRegion from a MeshRegion mreg. "},{label:"BoundaryMeshRegion",type:"keyword",info:"BoundaryMeshRegion[{p , p , …}, {bcell [{i , …}], bcell [{j , …}], …}] yields a mesh with boundary c"},{label:"BoundaryMeshRegionQ",type:"keyword",info:"BoundaryMeshRegionQ[reg] yields True if the region reg is a valid BoundaryMeshRegion object and Fals"},{label:"BoundaryStyle",type:"keyword",info:"BoundaryStyle is an option for plotting functions that specifies the style in which boundaries of re"},{label:"BoundedRegionQ",type:"keyword",info:"BoundedRegionQ[reg] gives True if reg is a bounded region and False otherwise. "},{label:"BoundingRegion",type:"keyword",info:"BoundingRegion[{pt , pt , …}] gives the minimal axis-aligned bounding box for the points pt , pt , …"},{label:"Bounds",type:"keyword",info:"System`Bounds"},{label:"Box",type:"keyword",info:"System`Box"},{label:"BoxBaselineShift",type:"keyword",info:"BoxBaselineShift is an option for AdjustmentBox that specifies how much the baseline of the box shou"},{label:"BoxData",type:"keyword",info:"BoxData[boxes] is a low-level representation of the contents of a typesetting cell."},{label:"BoxDimensions",type:"keyword",info:"System`BoxDimensions"},{label:"Boxed",type:"keyword",info:"Boxed is an option for Graphics3D that specifies whether to draw the edges of the bounding box in a "},{label:"Boxes",type:"keyword",info:"Boxes is a symbol that represents typeset boxes in InputField and related functions."},{label:"BoxForm",type:"keyword",info:"System`BoxForm"},{label:"BoxFormFormatTypes",type:"keyword",info:"BoxFormFormatTypes is a global option that specifies the list of typeset format types that are curre"},{label:"BoxFrame",type:"keyword",info:"BoxFrame is an option for FrameBox objects that specifies whether to draw a frame around the content"},{label:"BoxID",type:"keyword",info:"System`BoxID"},{label:"BoxMargins",type:"keyword",info:"BoxMargins is an option for AdjustmentBox objects that specifies the margins to leave around the con"},{label:"BoxMatrix",type:"keyword",info:"BoxMatrix[r] gives a (2 r + 1) × (2r + 1) matrix of 1s.BoxMatrix[r, w] gives a (2 r + 1) × (2r + 1) "},{label:"BoxObject",type:"keyword",info:"BoxObject[id] is an object that represents a box structure in an open notebook in the front end."},{label:"BoxRatios",type:"keyword",info:"BoxRatios is an option for Graphics3D that gives the ratios of side lengths for the bounding box of "},{label:"BoxRotation",type:"keyword",info:"System`BoxRotation"},{label:"BoxRotationPoint",type:"keyword",info:"System`BoxRotationPoint"},{label:"BoxStyle",type:"keyword",info:"BoxStyle is an option for three-dimensional graphics functions that specifies how the bounding box s"},{label:"BoxWhiskerChart",type:"keyword",info:"BoxWhiskerChart[{x , x , …}] makes a box‐and‐whisker chart for the values x .BoxWhiskerChart[{x , x "},{label:"Bra",type:"keyword",info:"System`Bra"},{label:"BracketingBar",type:"keyword",info:"BracketingBar[x, y, …] displays as  x, y, … ."},{label:"BraKet",type:"keyword",info:"System`BraKet"},{label:"BrayCurtisDistance",type:"keyword",info:"BrayCurtisDistance[u, v] gives the Bray–Curtis distance between vectors u and v."},{label:"BreadthFirstScan",type:"keyword",info:"BreadthFirstScan[g, s, {event  f , event  f , …}] performs a breadth-first scan (bfs) of the gra"},{label:"Break",type:"keyword",info:"Break[] exits the nearest enclosing Do, For, or While. "},{label:"BridgeData",type:"keyword",info:"BridgeData[entity, property] gives the value of the specified property for the bridge entity.BridgeD"},{label:"BrightnessEqualize",type:"keyword",info:"BrightnessEqualize[image] adjusts the brightness across image, correcting uneven illumination.Bright"},{label:"BroadcastStationData",type:"keyword",info:"BroadcastStationData[entity, property] gives the value of the specified property for the broadcast s"},{label:"Brown",type:"keyword",info:"Brown represents the color brown in graphics or style specifications. "},{label:"BrownForsytheTest",type:"keyword",info:" "},{label:"BrownianBridgeProcess",type:"keyword",info:"BrownianBridgeProcess[σ, {t , a}, {t , b}] represents the Brownian bridge process from value a at ti"},{label:"BrowserCategory",type:"keyword",info:"System`BrowserCategory"},{label:"BSplineBasis",type:"keyword",info:" "},{label:"BSplineCurve",type:"keyword",info:"BSplineCurve[{pt , pt , …}] is a graphics primitive that represents a nonuniform rational B-spline c"},{label:"BSplineCurve3DBox",type:"keyword",info:"System`BSplineCurve3DBox"},{label:"BSplineCurve3DBoxOptions",type:"keyword",info:"BSplineCurve3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for BS"},{label:"BSplineCurveBox",type:"keyword",info:"System`BSplineCurveBox"},{label:"BSplineCurveBoxOptions",type:"keyword",info:"BSplineCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for BSpl"},{label:"BSplineFunction",type:"keyword",info:"BSplineFunction[{pt , pt , …}] represents a B-spline function for a curve defined by the control poi"},{label:"BSplineSurface",type:"keyword",info:"BSplineSurface[array] is a graphics primitive that represents a nonuniform rational B-spline surface"},{label:"BSplineSurface3DBox",type:"keyword",info:"System`BSplineSurface3DBox"},{label:"BSplineSurface3DBoxOptions",type:"keyword",info:"BSplineSurface3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for "},{label:"BubbleChart",type:"keyword",info:"BubbleChart[{{x , y , z }, {x , y , z }, …}] makes a bubble chart with bubbles at positions {x , y }"},{label:"BubbleChart3D",type:"keyword",info:"BubbleChart3D[{{x , y , z , u }, {x , y , z , u }, …}] makes a 3D bubble chart with bubbles at posit"},{label:"BubbleScale",type:"keyword",info:"BubbleScale is an option to BubbleChart and related functions that specifies how the scale of each b"},{label:"BubbleSizes",type:"keyword",info:"BubbleSizes is an option to BubbleChart and related functions that specifies the range of sizes used"},{label:"BuildingData",type:"keyword",info:"BuildingData[entity, property] gives the value of the specified property for the building entity.Bui"},{label:"BulletGauge",type:"keyword",info:"BulletGauge[value, reference, {min, max}] draws a bullet gauge showing value and reference in a rang"},{label:"BusinessDayQ",type:"keyword",info:"BusinessDayQ[date] returns True if the date is a business day and returns False otherwise."},{label:"ButterflyGraph",type:"keyword",info:"ButterflyGraph[n] gives the order-n butterfly graph. ButterflyGraph[n, b] gives the base-b order-n b"},{label:"ButterworthFilterModel",type:"keyword",info:"ButterworthFilterModel[n] creates a lowpass Butterworth filter of order n and cutoff frequency of 1."},{label:"Button",type:"keyword",info:"Button[label, action] represents a button that is labeled with label, and evaluates action whenever "},{label:"ButtonBar",type:"keyword",info:"ButtonBar[{lbl :> act , lbl :> act , …}] represents a bar of buttons with labels lbl that perform"},{label:"ButtonBox",type:"keyword",info:"ButtonBox[boxes] is a low-level box construct that represents a button in a notebook expression."},{label:"ButtonBoxOptions",type:"keyword",info:"ButtonBoxOptions is an option that specifies settings for ButtonBox."},{label:"ButtonCell",type:"keyword",info:"System`ButtonCell"},{label:"ButtonContents",type:"keyword",info:"System`ButtonContents"},{label:"ButtonData",type:"keyword",info:"ButtonData is an option for the low-level function ButtonBox that specifies the second argument to g"},{label:"ButtonEvaluator",type:"keyword",info:"ButtonEvaluator is an option for the low-level function ButtonBox that specifies where the expressio"},{label:"ButtonExpandable",type:"keyword",info:"ButtonExpandable is an option for the low-level function ButtonBox that specifies whether the button"},{label:"ButtonFrame",type:"keyword",info:"ButtonFrame is an option for the low-level function ButtonBox that specifies the type of frame to di"},{label:"ButtonFunction",type:"keyword",info:"ButtonFunction is an option for the low-level function ButtonBox that specifies the function to exec"},{label:"ButtonMargins",type:"keyword",info:"ButtonMargins is an option for ButtonBox that specifies how much space in printer's points to leave "},{label:"ButtonMinHeight",type:"keyword",info:"ButtonMinHeight is an option for the low-level function ButtonBox that specifies the minimum total h"},{label:"ButtonNote",type:"keyword",info:"ButtonNote is an option for ButtonBox that specifies what should be displayed in the status line of "},{label:"ButtonNotebook",type:"keyword",info:"ButtonNotebook[] gives the notebook, if any, that contains the button which initiated the current ev"},{label:"ButtonSource",type:"keyword",info:"ButtonSource is an option for the low-level function ButtonBox that specifies the first argument to "},{label:"ButtonStyle",type:"keyword",info:"ButtonStyle is an option for ButtonBox that specifies the default properties for the button. "},{label:"ButtonStyleMenuListing",type:"keyword",info:"System`ButtonStyleMenuListing"},{label:"Byte",type:"keyword",info:"Byte represents a single byte of data in Read. "},{label:"ByteArray",type:"keyword",info:'ByteArray[{b , b , …}] constructs a ByteArray object containing the byte values b .ByteArray["string'},{label:"ByteArrayFormat",type:"keyword",info:"ByteArrayFormat[ba] attempts to determine what ImportByteArray format could be used to import the By"},{label:"ByteArrayFormatQ",type:"keyword",info:'ByteArrayFormatQ[ba, "fmt"] gives True if the ByteArray object ba might be imported as format "fmt" '},{label:"ByteArrayQ",type:"keyword",info:"ByteArrayQ[expr] gives True if expr is a valid ByteArray object, and False otherwise."},{label:"ByteArrayToString",type:"keyword",info:"ByteArrayToString[ba] returns a string by decoding the data in the byte array ba, assuming UTF-8 enc"},{label:"ByteCount",type:"keyword",info:"ByteCount[expr] gives the number of bytes used internally by the Wolfram System to store expr. "},{label:"ByteOrdering",type:"keyword",info:"ByteOrdering is an option for BinaryRead, BinaryWrite, and related functions that specifies what ord"},{label:"C",type:"keyword",info:" th\nC[i] is the default form for the i parameter or constant "},{label:"CachedValue",type:"keyword",info:"System`CachedValue"},{label:"CacheGraphics",type:"keyword",info:"System`CacheGraphics"},{label:"CachePersistence",type:"keyword",info:"CachePersistence is an option for CloudObject and related cloud functions that specifies the time du"},{label:"CalendarConvert",type:"keyword",info:"CalendarConvert[date, calendar] converts the date object date to the specified calendar type calenda"},{label:"CalendarData",type:"keyword",info:"CalendarData[cal] gives the default parameters associated with the date calendar cal.CalendarData[co"},{label:"CalendarType",type:"keyword",info:"CalendarType is an option that determines the calendar system in which all dates are to be interpret"},{label:"Callout",type:"keyword",info:"Callout[data, expr] displays expr in a plot as a callout pointing to data.Callout[data, expr, pos] d"},{label:"CalloutMarker",type:"keyword",info:"CalloutMarker is an option for Callout that specifies what marker to draw at the end of the leader i"},{label:"CalloutStyle",type:"keyword",info:"CalloutStyle is an option for Callout that specifies what style to use for callouts."},{label:"CallPacket",type:"keyword",info:"CallPacket[integer, list] is a WSTP packet encapsulating a request to invoke the external function n"},{label:"CanberraDistance",type:"keyword",info:"CanberraDistance[u, v] gives the Canberra distance between vectors u and v."},{label:"Cancel",type:"keyword",info:"Cancel[expr] cancels out common factors in the numerator and denominator of expr. "},{label:"CancelButton",type:"keyword",info:"CancelButton[] represents a Cancel button in a dialog that closes the dialog window when clicked.Can"},{label:"CandlestickChart",type:"keyword",info:"CandlestickChart[{{date , {open , high , low , close }}, …}] makes a chart with candles representing"},{label:"CanonicalGraph",type:"keyword",info:"CanonicalGraph[g] gives a canonical form of the graph g.CanonicalGraph[{v  w, …}] uses rules v  w "},{label:"CanonicalizePolygon",type:"keyword",info:"CanonicalizePolygon[poly] gives a canonical representation of the polygon poly with shared coordinat"},{label:"CanonicalizePolyhedron",type:"keyword",info:"CanonicalizePolyhedron[poly] gives a canonical representation of the polyhedron poly with shared coo"},{label:"CanonicalizeRegion",type:"keyword",info:"CanonicalizeRegion[reg] gives a canonical representation of the region reg."},{label:"CanonicalName",type:"keyword",info:"CanonicalName[entity] gives the canonical name for the entity specified by entity.CanonicalName[{ent"},{label:"CanonicalWarpingCorrespondence",type:"keyword",info:"CanonicalWarpingCorrespondence[s , s ] gives the canonical time warping (CTW) correspondence between"},{label:"CanonicalWarpingDistance",type:"keyword",info:"CanonicalWarpingDistance[s , s ] gives the canonical time warping (CTW) distance between sequences s"},{label:"CantorMesh",type:"keyword",info:" th "},{label:"CantorStaircase",type:"keyword",info:"CantorStaircase[x] gives the Cantor staircase function F (x).\n "},{label:"Canvas",type:"keyword",info:"Canvas[] represents an empty canvas in the current notebook in which you can do free-form drawing.Ca"},{label:"Cap",type:"keyword",info:"Cap[x, y, …] displays as x ⌢ y ⌢ …."},{label:"CapForm",type:"keyword",info:"CapForm[type] is a graphics primitive that specifies what type of caps should be used at the ends of"},{label:"CapitalDifferentialD",type:"keyword",info:"CapitalDifferentialD[x] displays as  x."},{label:"Capitalize",type:"keyword",info:"Capitalize[string] yields a string in which the first character has been made uppercase.Capitalize[s"},{label:"CapsuleShape",type:"keyword",info:"CapsuleShape[{{x , y , z }, {x , y , z }}, r] represents the filled capsule between points {x , y , "},{label:"CaptureRunning",type:"keyword",info:"CaptureRunning is an option for signal acquisition functions that specifies whether to immediately s"},{label:"CardinalBSplineBasis",type:"keyword",info:"System`CardinalBSplineBasis"},{label:"CarlemanLinearize",type:"keyword",info:"CarlemanLinearize[sys, spec] Carleman linearizes the nonlinear state-space model sys according to sp"},{label:"CarlsonRC",type:"keyword",info:"CarlsonRC[x, y] gives the Carlson's elliptic integral R (x, y).\n "},{label:"CarlsonRD",type:"keyword",info:"CarlsonRD[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n "},{label:"CarlsonRE",type:"keyword",info:"CarlsonRE[x, y] gives the Carlson's elliptic integral R (x, y).\n "},{label:"CarlsonRF",type:"keyword",info:"CarlsonRF[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n "},{label:"CarlsonRG",type:"keyword",info:"CarlsonRG[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n "},{label:"CarlsonRJ",type:"keyword",info:"CarlsonRJ[x, y, z, ρ] gives Carlson's elliptic integral R (x, y, z, ρ).\n "},{label:"CarlsonRK",type:"keyword",info:"CarlsonRK[x, y] gives the Carlson's elliptic integral R (x, y).\n "},{label:"CarlsonRM",type:"keyword",info:"CarlsonRM[x, y, ρ] gives Carlson's elliptic integral R (x, y, ρ).\n "},{label:"CarmichaelLambda",type:"keyword",info:"CarmichaelLambda[n] gives the Carmichael function λ(n)."},{label:"CaseOrdering",type:"keyword",info:"CaseOrdering is an option for AlphabeticSort and related functions that specifies how upper versus l"},{label:"Cases",type:"keyword",info:"Cases[{e , e , …}, pattern] gives a list of the e that match the pattern. Cases[{e , …}, pattern  "},{label:"CaseSensitive",type:"keyword",info:"CaseSensitive[patt] represents a string pattern that requires matching typographical case, even with"},{label:"Cashflow",type:"keyword",info:"Cashflow[{c , c , …, c }] represents a series of cash flows occurring at unit time intervals.Cashflo"},{label:"Casoratian",type:"keyword",info:"Casoratian[{y , y , …}, n] gives the Casoratian determinant for the sequences y , y , … depending on"},{label:"Catalan",type:"keyword",info:"Catalan is Catalan's constant, with numerical value ≃ 0.915966. "},{label:"CatalanNumber",type:"keyword",info:" th\nCatalanNumber[n] gives the n Catalan number C .\n "},{label:"Catch",type:"keyword",info:"Catch[expr] returns the argument of the first Throw generated in the evaluation of expr. Catch[expr,"},{label:"CategoricalDistribution",type:"keyword",info:"CategoricalDistribution[{c , c , …}] generates a uniform categorical distribution over classes c , c"},{label:"Catenate",type:"keyword",info:"Catenate[{list , list , …}] yields a single list with all elements from the list in order. Catenate"},{label:"CatenateLayer",type:"keyword",info:"CatenateLayer[] represents a net layer that takes a list of input arrays and catenates them.Catenate"},{label:"CauchyDistribution",type:"keyword",info:"CauchyDistribution[a, b] represents a Cauchy distribution with location parameter a and scale parame"},{label:"CauchyPointProcess",type:"keyword",info:" "},{label:"CauchyWindow",type:"keyword",info:"CauchyWindow[x] represents a Cauchy window function of x.CauchyWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"CayleyGraph",type:"keyword",info:"CayleyGraph[group] returns a Cayley graph representation of group."},{label:"CDF",type:"keyword",info:"CDF[dist, x] gives the cumulative distribution function for the distribution dist evaluated at x.CDF"},{label:"CDFDeploy",type:"keyword",info:'CDFDeploy["file.cdf", expr] deploys expr in a form that can be played by Wolfram Player.CDFDeploy["f'},{label:"CDFInformation",type:"keyword",info:"CDFInformation[expr] gives a list of properties relevant to a CDF deployed with the content expr.CDF"},{label:"CDFWavelet",type:"keyword",info:'CDFWavelet[] represents a Cohen–Daubechies–Feauveau wavelet of type "9/7". CDFWavelet["type"] repres'},{label:"Ceiling",type:"keyword",info:"Ceiling[x] gives the smallest integer greater than or equal to x. Ceiling[x, a] gives the smallest m"},{label:"CelestialSystem",type:"keyword",info:"CelestialSystem is an option for SunPosition, MoonPosition, and related functions that specifies the"},{label:"Cell",type:"keyword",info:"Cell[contents] is the low-level representation of a cell inside a Wolfram System notebook. Cell[cont"},{label:"CellAutoOverwrite",type:"keyword",info:"CellAutoOverwrite is an option for Cell which specifies whether an output cell should be overwritten"},{label:"CellBaseline",type:"keyword",info:"CellBaseline is an option for Cell which specifies where the baseline of the cell should be assumed "},{label:"CellBoundingBox",type:"keyword",info:"System`CellBoundingBox"},{label:"CellBracketOptions",type:"keyword",info:"CellBracketOptions is an option for cells that specifies settings for cell brackets."},{label:"CellChangeTimes",type:"keyword",info:"CellChangeTimes is an option to Cell that specifies when changes were made to the cell."},{label:"CellContents",type:"keyword",info:"System`CellContents"},{label:"CellContext",type:"keyword",info:"CellContext is an option for Cell which specifies the context to use for the evaluation of the conte"},{label:"CellDingbat",type:"keyword",info:"CellDingbat is an option for Cell which specifies what dingbat to use to emphasize a cell. "},{label:"CellDynamicExpression",type:"keyword",info:"CellDynamicExpression is an option for cells that specifies an expression to be dynamically updated "},{label:"CellEditDuplicate",type:"keyword",info:"CellEditDuplicate is an option for Cell which specifies whether the front end should make a copy of "},{label:"CellElementsBoundingBox",type:"keyword",info:"System`CellElementsBoundingBox"},{label:"CellElementSpacings",type:"keyword",info:"System`CellElementSpacings"},{label:"CellEpilog",type:"keyword",info:"CellEpilog is an option for Cell which gives an expression to evaluate after each ordinary evaluatio"},{label:"CellEvaluationDuplicate",type:"keyword",info:"CellEvaluationDuplicate is an option for Cell which specifies whether the front end should make a co"},{label:"CellEvaluationFunction",type:"keyword",info:"CellEvaluationFunction is an option for Cell that gives a function to be applied to every expression"},{label:"CellEvaluationLanguage",type:"keyword",info:"System`CellEvaluationLanguage"},{label:"CellEventActions",type:"keyword",info:"CellEventActions is an option for Cell that gives a list of actions to perform when specified events"},{label:"CellFrame",type:"keyword",info:"CellFrame is an option for Cell that specifies whether a frame should be drawn around a cell. "},{label:"CellFrameColor",type:"keyword",info:"CellFrameColor is an option that specifies the color of the frame around a cell."},{label:"CellFrameLabelMargins",type:"keyword",info:"CellFrameLabelMargins is an option for cells that specifies the absolute margins in printer's points"},{label:"CellFrameLabels",type:"keyword",info:"CellFrameLabels is an option that specifies the labels associated with the frame around a cell."},{label:"CellFrameMargins",type:"keyword",info:"CellFrameMargins is an option for Cell that specifies the absolute margins in printer’s points to le"},{label:"CellFrameStyle",type:"keyword",info:"System`CellFrameStyle"},{label:"CellGroup",type:"keyword",info:"CellGroup[{cell , cell , …}] gives an open group of cells that can appear in a Wolfram System notebo"},{label:"CellGroupData",type:"keyword",info:"CellGroupData[{cell , cell , …}] is a low-level construct that represents an open group of cells in "},{label:"CellGrouping",type:"keyword",info:"CellGrouping is a notebook option that specifies how cells in the notebook should be assembled into "},{label:"CellGroupingRules",type:"keyword",info:"CellGroupingRules is an option for cells that specifies the rules used for grouping a cell."},{label:"CellHorizontalScrolling",type:"keyword",info:"CellHorizontalScrolling is an option for cells that specifies whether the contents of a cell can be "},{label:"CellID",type:"keyword",info:"CellID is an option for Cell that specifies a unique ID number for a cell."},{label:"CellInsertionPointCell",type:"keyword",info:"System`CellInsertionPointCell"},{label:"CellLabel",type:"keyword",info:"CellLabel is an option for Cell which gives the label to use for a particular cell. "},{label:"CellLabelAutoDelete",type:"keyword",info:"CellLabelAutoDelete is an option for Cell which specifies whether a label for the cell should be aut"},{label:"CellLabelMargins",type:"keyword",info:"CellLabelMargins is an option for cells that specifies the absolute margins in printer's points arou"},{label:"CellLabelPositioning",type:"keyword",info:"CellLabelPositioning is an option for cells that specifies where the label for a cell is positioned."},{label:"CellLabelStyle",type:"keyword",info:"CellLabelStyle is an option for Cell that specifies the style to use in displaying cell labels marki"},{label:"CellLabelTemplate",type:"keyword",info:"System`CellLabelTemplate"},{label:"CellMargins",type:"keyword",info:"CellMargins is an option for Cell that specifies the absolute margins in printer's points to leave a"},{label:"CellObject",type:"keyword",info:"CellObject[id] is an object that represents a cell in an open notebook in the front end."},{label:"CellOpen",type:"keyword",info:"CellOpen is an option for Cell that specifies whether the contents of a cell should be explicitly di"},{label:"CellPrint",type:"keyword",info:"CellPrint[expr] inserts expr as a complete cell in the current notebook just below the cell being ev"},{label:"CellProlog",type:"keyword",info:"CellProlog is an option to Cell that gives an expression to evaluate before each ordinary evaluation"},{label:"Cells",type:"keyword",info:"Cells[] returns a list of CellObject expressions corresponding to cells in the current notebook.Cell"},{label:"CellSize",type:"keyword",info:"CellSize is an option for cells that specifies the width and height of an inline cell."},{label:"CellStyle",type:"keyword",info:"CellStyle is a setting for functions such as NotebookFind and Cells that specifies the name of a cel"},{label:"CellTags",type:"keyword",info:"CellTags is an option for Cell that gives a list of tags to associate with a cell. "},{label:"CellTrayWidgets",type:"keyword",info:"System`CellTrayWidgets"},{label:"CellularAutomaton",type:"keyword",info:"CellularAutomaton[rule, init, t] generates a list representing the evolution of the cellular automat"},{label:"CensoredDistribution",type:"keyword",info:"CensoredDistribution[{x , x }, dist] represents the distribution of values that come from dist a"},{label:"Censoring",type:"keyword",info:"Censoring[t, c] represents a censored event time t with censoring c.Censoring[{t , t , …}, c] repres"},{label:"Center",type:"keyword",info:"Center is a symbol that represents the center for purposes of alignment and positioning. "},{label:"CenterArray",type:"keyword",info:"CenterArray[a, n] creates a list of length n with the elements of a at the center and zeros elsewher"},{label:"CenterDot",type:"keyword",info:"CenterDot[x, y, …] displays as x Â\\[CenterDot] y Â\\[CenterDot] …."},{label:"CenteredInterval",type:"keyword",info:"CenteredInterval[x, dx] for real numbers x and dx gives a centered interval that contains the real i"},{label:"CentralFeature",type:"keyword",info:"CentralFeature[{x , x , …}] gives the central feature of the elements x .CentralFeature[{x  v , x "},{label:"CentralMoment",type:"keyword",info:" th "},{label:"CentralMomentGeneratingFunction",type:"keyword",info:"CentralMomentGeneratingFunction[dist, t] gives the central moment-generating function for the distri"},{label:"Cepstrogram",type:"keyword",info:"Cepstrogram[data] plots the array of power cepstra computed on each partition of data.Cepstrogram[da"},{label:"CepstrogramArray",type:"keyword",info:"CepstrogramArray[data] computes an array of cepstra on data.CepstrogramArray[data, n] uses partition"},{label:"CepstrumArray",type:"keyword",info:"CepstrumArray[data] computes the power cepstrum of data.CepstrumArray[data, type] computes the speci"},{label:"CForm",type:"keyword",info:"CForm[expr] prints as a C language version of expr. "},{label:"ChampernowneNumber",type:"keyword",info:"ChampernowneNumber[b] gives the base-b Champernowne number C .ChampernowneNumber[] gives the base-10"},{label:"ChangeOptions",type:"keyword",info:"System`ChangeOptions"},{label:"ChannelBase",type:"keyword",info:"ChannelBase is an option specifying the base URL of the server to use for brokering channel communic"},{label:"ChannelBrokerAction",type:"keyword",info:"ChannelBrokerAction is an option specifying the action to execute on the channel broker server in ad"},{label:"ChannelDatabin",type:"keyword",info:"System`ChannelDatabin"},{label:"ChannelHistoryLength",type:"keyword",info:"ChannelHistoryLength is an option to ChannelListen that specifies the maximum number of messages to "},{label:"ChannelListen",type:"keyword",info:"ChannelListen[channel] starts listening on the specified channel.ChannelListen[channel, func] applie"},{label:"ChannelListener",type:"keyword",info:"ChannelListener[…] represents a channel listener created by ChannelListen."},{label:"ChannelListeners",type:"keyword",info:"ChannelListeners[] gives a list of currently active channel listeners."},{label:"ChannelListenerWait",type:"keyword",info:"System`ChannelListenerWait"},{label:"ChannelObject",type:"keyword",info:'ChannelObject[] gives a new anonymous channel specification.\\!RowBox[{"ChannelObject", "[", ""mqtt'},{label:"ChannelPreSendFunction",type:"keyword",info:"System`ChannelPreSendFunction"},{label:"ChannelReceiverFunction",type:"keyword",info:"ChannelReceiverFunction[fun] represents a channel receiver function that applies fun to any channel "},{label:"ChannelSend",type:"keyword",info:"ChannelSend[channel, msg] sends the specified message msg to the specified channel."},{label:"ChannelSubscribers",type:"keyword",info:"ChannelSubscribers[channel] gives a list of users currently subscribed to the specified channel.Chan"},{label:"ChanVeseBinarize",type:"keyword",info:"ChanVeseBinarize[image] finds a two-level segmentation of image by computing optimal contours around"},{label:"Character",type:"keyword",info:"Character represents a single character in Read. "},{label:"CharacterCounts",type:"keyword",info:'CharacterCounts["string"] gives an association whose keys are the distinct characters in string, and'},{label:"CharacterEncoding",type:"keyword",info:"CharacterEncoding is an option for input and output functions which specifies what raw character enc"},{label:"CharacterEncodingsPath",type:"keyword",info:"CharacterEncodingsPath is a global option that specifies which directories are searched for characte"},{label:"CharacteristicFunction",type:"keyword",info:"CharacteristicFunction[dist, t] gives the characteristic function for the distribution dist as a fun"},{label:"CharacteristicPolynomial",type:"keyword",info:"CharacteristicPolynomial[m, x] gives the characteristic polynomial for the matrix m. CharacteristicP"},{label:"CharacterName",type:"keyword",info:'CharacterName["c"] gives the name of the character c.CharacterName[n] gives the name of the characte'},{label:"CharacterNormalize",type:"keyword",info:'CharacterNormalize["text", form] converts the characters in text to the specified normalization form'},{label:"CharacterRange",type:"keyword",info:'CharacterRange[c , c ] yields a list of the characters in the range from "c " to "c ". CharacterRang'},{label:"Characters",type:"keyword",info:'Characters["string"] gives a list of the characters in a string. '},{label:"ChartBaseStyle",type:"keyword",info:"ChartBaseStyle is an option for charting functions that specifies the base style for all chart eleme"},{label:"ChartElementData",type:"keyword",info:"System`ChartElementData"},{label:"ChartElementDataFunction",type:"keyword",info:"System`ChartElementDataFunction"},{label:"ChartElementFunction",type:"keyword",info:"ChartElementFunction is an option for charting functions such as BarChart that gives a function to u"},{label:"ChartElements",type:"keyword",info:"ChartElements is an option to charting functions such as BarChart that specifies the graphics to use"},{label:"ChartLabels",type:"keyword",info:"ChartLabels is an option for charting functions that specifies what labels should be used for chart "},{label:"ChartLayout",type:"keyword",info:"ChartLayout is an option to charting functions that specifies the overall layout to use."},{label:"ChartLegends",type:"keyword",info:"ChartLegends is an option for charting functions that specifies what legends should be used for char"},{label:"ChartStyle",type:"keyword",info:"ChartStyle is an option for charting functions that specifies styles in which chart elements should "},{label:"Chebyshev1FilterModel",type:"keyword",info:"Chebyshev1FilterModel[n] creates a lowpass Chebyshev type 1 filter of order n.Chebyshev1FilterModel["},{label:"Chebyshev2FilterModel",type:"keyword",info:"Chebyshev2FilterModel[n] creates a lowpass Chebyshev type 2 filter of order n.Chebyshev2FilterModel["},{label:"ChebyshevDistance",type:"keyword",info:"ChebyshevDistance[u, v] gives the Chebyshev or sup norm distance between vectors u and v."},{label:"ChebyshevT",type:"keyword",info:"ChebyshevT[n, x] gives the Chebyshev polynomial of the first kind T (x). \n "},{label:"ChebyshevU",type:"keyword",info:"ChebyshevU[n, x] gives the Chebyshev polynomial of the second kind U (x). \n "},{label:"Check",type:"keyword",info:"Check[expr, failexpr] evaluates expr, and returns the result, unless messages were generated, in whi"},{label:"CheckAbort",type:"keyword",info:"CheckAbort[expr, failexpr] evaluates expr, returning failexpr if an abort occurs. "},{label:"CheckAll",type:"keyword",info:"CheckAll[expr, f] evaluates expr and returns f[expr, HoldComplete[control , …]] where the control e"},{label:"CheckArguments",type:"keyword",info:"CheckArguments[f[args], n] gives True if args consists of exactly n positional arguments followed by"},{label:"Checkbox",type:"keyword",info:"Checkbox[x] represents a checkbox with setting x, displayed as CheckboxBox[True] when x is True and "},{label:"CheckboxBar",type:"keyword",info:"CheckboxBar[x, {val , val , …}] represents a checkbox bar with setting x and with checkboxes for val"},{label:"CheckboxBox",type:"keyword",info:"System`CheckboxBox"},{label:"CheckboxBoxOptions",type:"keyword",info:"CheckboxBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Checkbox"},{label:"ChemicalData",type:"keyword",info:'ChemicalData["name", "property"] gives the value of the specified property for the chemical "name".C'},{label:"ChemicalFormula",type:"keyword",info:"ChemicalFormula[ elem  n , elem  n , …|>] represents a chemical species with n atoms of the el"},{label:"ChemicalReaction",type:"keyword",info:"ChemicalReaction[reactants  products] represents a chemical reaction between the given reactants an"},{label:"ChessboardDistance",type:"keyword",info:"ChessboardDistance[u, v] gives the chessboard, Chebyshev, or sup norm distance between vectors u and"},{label:"ChiDistribution",type:"keyword",info:"ChiDistribution[ν] represents a χ distribution with ν degrees of freedom."},{label:"ChineseRemainder",type:"keyword",info:"ChineseRemainder[{r , r , …}, {m , m , …}] gives the smallest x with x ≥ 0 that satisfies all the in"},{label:"ChiSquareDistribution",type:"keyword",info:" 2\nChiSquareDistribution[ν] represents a χ distribution with "},{label:"ChoiceButtons",type:"keyword",info:"ChoiceButtons[] represents a pair of OK and Cancel buttons that close a dialog.ChoiceButtons[{act ,"},{label:"ChoiceDialog",type:"keyword",info:"ChoiceDialog[expr] puts up a standard choice dialog that displays expr together with OK and Cancel b"},{label:"CholeskyDecomposition",type:"keyword",info:"CholeskyDecomposition[m] gives the Cholesky decomposition of a matrix m. "},{label:"Chop",type:"keyword",info:"Chop[expr] replaces approximate real numbers in expr that are close to zero by the exact integer 0. "},{label:"ChromaticityPlot",type:"keyword",info:"ChromaticityPlot[colspace] plots a 2D slice of the color space colspace. ChromaticityPlot[color] plo"},{label:"ChromaticityPlot3D",type:"keyword",info:"ChromaticityPlot3D[colspace] returns a 3D gamut of the color space colspace.ChromaticityPlot3D[color"},{label:"ChromaticPolynomial",type:"keyword",info:"ChromaticPolynomial[g, k] gives the chromatic polynomial of the graph g.ChromaticPolynomial[{v  w, "},{label:"Circle",type:"keyword",info:"Circle[{x, y}, r] represents a circle of radius r centered at {x, y}.Circle[{x, y}] gives a circle o"},{label:"CircleBox",type:"keyword",info:"System`CircleBox"},{label:"CircleDot",type:"keyword",info:"CircleDot[x, y, …] displays as x ⊙ y ⊙ …."},{label:"CircleMinus",type:"keyword",info:"CircleMinus[x, y] displays as x ⊖ y. "},{label:"CirclePlus",type:"keyword",info:"CirclePlus[x, y, …] displays as x ⊕ y ⊕ …."},{label:"CirclePoints",type:"keyword",info:"CirclePoints[n] gives the positions of n points equally spaced around the unit circle.CirclePoints[r"},{label:"CircleThrough",type:"keyword",info:"CircleThrough[{p , p , …}] represents a circle passing through the points p .CircleThrough[{p , p , "},{label:"CircleTimes",type:"keyword",info:"CircleTimes[x] displays as ⊗ x.CircleTimes[x, y, …] displays as x ⊗ y ⊗ ….\n"},{label:"CirculantGraph",type:"keyword",info:"CirculantGraph[n, j] gives the circulant graph C (j) with n vertices and jump j.CirculantGraph[n, {j"},{label:"CircularOrthogonalMatrixDistribution",type:"keyword",info:"CircularOrthogonalMatrixDistribution[n] represents a circular orthogonal matrix distribution with ma"},{label:"CircularQuaternionMatrixDistribution",type:"keyword",info:"CircularQuaternionMatrixDistribution[n] represents a circular quaternion matrix distribution with ma"},{label:"CircularRealMatrixDistribution",type:"keyword",info:"CircularRealMatrixDistribution[n] represents a circular real matrix distribution with matrix dimensi"},{label:"CircularSymplecticMatrixDistribution",type:"keyword",info:"CircularSymplecticMatrixDistribution[n] represents a circular symplectic matrix distribution with ma"},{label:"CircularUnitaryMatrixDistribution",type:"keyword",info:"CircularUnitaryMatrixDistribution[n] represents a circular unitary matrix distribution with matrix d"},{label:"Circumsphere",type:"keyword",info:" n\nCircumsphere[{"},{label:"CityData",type:"keyword",info:'CityData[name, "property"] gives the value of the specified property for the city with the specified'},{label:"ClassifierFunction",type:"keyword",info:"ClassifierFunction[…] represents a function generated by Classify that classifies data into classes."},{label:"ClassifierInformation",type:"keyword",info:"ClassifierInformation[classifier] generates a report giving information on the classifier function c"},{label:"ClassifierMeasurements",type:"keyword",info:"ClassifierMeasurements[classifier, testset, prop] gives measurements associated with property prop w"},{label:"ClassifierMeasurementsObject",type:"keyword",info:"ClassifierMeasurementsObject[…] represents an object generated by ClassifierMeasurements that can be"},{label:"Classify",type:"keyword",info:"Classify[{example  class , example  class , …}] generates a ClassifierFunction[…] based on the e"},{label:"ClassPriors",type:"keyword",info:"ClassPriors is an option for Classify and related functions that specifies explicit prior probabilit"},{label:"Clear",type:"keyword",info:'Clear[symbol , symbol , …] clears values and definitions for the symbol . Clear["form ", "form ", …]'},{label:"ClearAll",type:"keyword",info:"ClearAll[symb , symb , …] clears all values, definitions, attributes, messages, and defaults associa"},{label:"ClearAttributes",type:"keyword",info:"ClearAttributes[symbol, attr] removes attr from the list of attributes of the symbol symbol. ClearAt"},{label:"ClearCookies",type:"keyword",info:"ClearCookies[domain] clears all persistent and session cookies associated with the specified domain."},{label:"ClearPermissions",type:"keyword",info:"ClearPermissions[obj, class] clears permissions for the specified class of users for the cloud objec"},{label:"ClearSystemCache",type:"keyword",info:"ClearSystemCache[] clears internal system caches of stored results.ClearSystemCache[type] clears onl"},{label:"ClebschGordan",type:"keyword",info:"ClebschGordan[{j , m }, {j , m }, {j, m}] gives the Clebsch–Gordan coefficient for the decomposition"},{label:"ClickPane",type:"keyword",info:"ClickPane[image, func] represents a clickable pane that displays as image and applies func to the x,"},{label:"ClickToCopy",type:"keyword",info:"ClickToCopy[expr] represents a button that copies expr whenever it is clicked.ClickToCopy[label, exp"},{label:"ClickToCopyEnabled",type:"keyword",info:"ClickToCopyEnabled is an option for Cell that specifies whether to show a click-to-copy overlay when"},{label:"Clip",type:"keyword",info:"Clip[x] gives x clipped to be between -1 and +1. Clip[x, {min, max}] gives x for min ≤ x ≤ max, min "},{label:"ClipboardNotebook",type:"keyword",info:"System`ClipboardNotebook"},{label:"ClipFill",type:"keyword",info:"ClipFill is an option for plotting functions that specifies what should be shown where curves or sur"},{label:"ClippingStyle",type:"keyword",info:"ClippingStyle is an option for plotting functions that specifies the style of what should be drawn w"},{label:"ClipPlanes",type:"keyword",info:"ClipPlanes is an option to Graphics3D that specifies a list of clipping planes that can cut away por"},{label:"ClipPlanesStyle",type:"keyword",info:"ClipPlanesStyle is an option to Graphics3D that specifies how clipping planes defined with the ClipP"},{label:"ClipRange",type:"keyword",info:"ClipRange is an option to Raster3D that specifies a rectangular region that is cut away from the res"},{label:"Clock",type:"keyword",info:"Clock[] represents a clock variable whose value cycles continuously from 0 to 1 once per second when"},{label:"ClockGauge",type:"keyword",info:"ClockGauge[] draws an analog clock face showing the local time with hours, minutes, and seconds.Cloc"},{label:"ClockwiseContourIntegral",type:"keyword",info:"System`ClockwiseContourIntegral"},{label:"Close",type:"keyword",info:"Close[obj] closes a stream or socket. "},{label:"Closed",type:"keyword",info:"System`Closed"},{label:"CloseKernels",type:"keyword",info:"CloseKernels[] terminates all parallel kernels from the list Kernels[].CloseKernels[k] terminates th"},{label:"ClosenessCentrality",type:"keyword",info:"ClosenessCentrality[g] gives a list of closeness centralities for the vertices in the graph g.Closen"},{label:"Closing",type:"keyword",info:"Closing[image, ker] gives the morphological closing of image with respect to the structuring element"},{label:"ClosingAutoSave",type:"keyword",info:"ClosingAutoSave is an option for notebooks that specifies whether a notebook is automatically saved "},{label:"ClosingEvent",type:"keyword",info:"System`ClosingEvent"},{label:"CloudAccountData",type:"keyword",info:"CloudAccountData[] gives data associated with the cloud account currently being used.CloudAccountDat"},{label:"CloudBase",type:"keyword",info:"CloudBase is an option specifying the base URI of the server to use for cloud operations."},{label:"CloudConnect",type:"keyword",info:"CloudConnect[userid, password] authenticates to the Wolfram Cloud using the specified cloud user ID "},{label:"CloudConnections",type:"keyword",info:"CloudConnections[] gives a list of cloud accounts that are authenticated."},{label:"CloudDeploy",type:"keyword",info:"CloudDeploy[expr] deploys expr to a new anonymous cloud object.CloudDeploy[expr, location] deploys e"},{label:"CloudDirectory",type:"keyword",info:"CloudDirectory[] gives a CloudObject representing the current working directory used for cloud objec"},{label:"CloudDisconnect",type:"keyword",info:"CloudDisconnect[] disconnects a non-cloud instance of the Wolfram Language from the Wolfram Cloud."},{label:"CloudEvaluate",type:"keyword",info:"CloudEvaluate[expr] evaluates expr in the cloud and returns the result.CloudEvaluate[expr, h] wraps "},{label:"CloudExport",type:"keyword",info:'CloudExport[expr, "format"] exports expr to a new anonymous cloud object in the specified format.Clo'},{label:"CloudExpression",type:"keyword",info:'CloudExpression["name"] represents an expression whose value is persistently stored in the cloud.htt'},{label:"CloudExpressions",type:"keyword",info:"CloudExpressions[] gives a list of named cloud expressions owned by you. CloudExpressions[None] give"},{label:"CloudFunction",type:"keyword",info:"CloudFunction[fun] represents a pure function that evaluates fun[args] in the cloud.CloudFunction[Cl"},{label:"CloudGet",type:"keyword",info:'CloudGet["uri"] reads in a cloud object at a given URI, evaluating each expression in it and returni'},{label:"CloudImport",type:"keyword",info:'CloudImport["uri"] imports from a cloud object at a given URI.CloudImport["uri", elements] imports t'},{label:"CloudLoggingData",type:"keyword",info:"CloudLoggingData[] gives summary logging data for all your cloud objects.CloudLoggingData[category] "},{label:"CloudObject",type:"keyword",info:'CloudObject[] represents a new anonymous cloud object.http://…"], CloudObject["https://…"] represent'},{label:"CloudObjectInformation",type:"keyword",info:"CloudObjectInformation[obj] gives information about a cloud object.\nCloudObjectInformation[{obj, ..."},{label:"CloudObjectInformationData",type:"keyword",info:"System`CloudObjectInformationData"},{label:"CloudObjectNameFormat",type:"keyword",info:"CloudObjectNameFormat is an option for CloudObject and related objects that determines how the name "},{label:"CloudObjects",type:"keyword",info:"CloudObjects[] gives a list of cloud objects in your current cloud directory.CloudObjects[dir] gives"},{label:"CloudObjectURLType",type:"keyword",info:"CloudObjectURLType is an option for CloudObject and related objects that specifies the base type of "},{label:"CloudPublish",type:"keyword",info:"CloudPublish[] makes a public copy in the cloud of the current document.CloudPublish[obj] makes a pu"},{label:"CloudPut",type:"keyword",info:'CloudPut[expr] writes expr to a new anonymous cloud object.CloudPut[expr, "uri"] writes expr to a cl'},{label:"CloudRenderingMethod",type:"keyword",info:"CloudRenderingMethod is an option for Cell and Notebook that specifies how to render cells in the cl"},{label:"CloudSave",type:"keyword",info:"CloudSave[symbol] saves definitions associated with the specified symbol to a new anonymous cloud ob"},{label:"CloudShare",type:"keyword",info:"CloudShare[user] shares the current cloud document with the specified user.CloudShare[{user , user ,"},{label:"CloudSubmit",type:"keyword",info:"CloudSubmit[expr] submits expr for immediate asynchronous cloud evaluation. CloudSubmit[ScheduledTas"},{label:"CloudSymbol",type:"keyword",info:'CloudSymbol["name"] represents a symbol whose value is persistently stored in the cloud.CloudSymbol['},{label:"CloudUnshare",type:"keyword",info:"CloudUnshare[obj] cancels sharing of the cloud object obj with everyone.CloudUnshare[obj, users] can"},{label:"CloudUsageData",type:"keyword",info:'CloudUsageData[] gives usage data for all of your cloud objects.\nCloudUsageData["Periods"] lists all'},{label:"CloudUserID",type:"keyword",info:"System`CloudUserID"},{label:"ClusterClassify",type:"keyword",info:"ClusterClassify[data] generates a ClassifierFunction[…] by partitioning data into clusters of simila"},{label:"ClusterDissimilarityFunction",type:"keyword",info:"ClusterDissimilarityFunction is an option for ClusteringTree and Dendrogram that specifies the inter"},{label:"ClusteringComponents",type:"keyword",info:"ClusteringComponents[array] gives an array in which each element at the lowest level of array is rep"},{label:"ClusteringTree",type:"keyword",info:"ClusteringTree[{e , e , …}] constructs a weighted tree from the hierarchical clustering of the eleme"},{label:"CMYKColor",type:"keyword",info:"CMYKColor[c, m, y, k] represents a color in the CMYK color space with cyan, magenta, yellow and blac"},{label:"Coarse",type:"keyword",info:"System`Coarse"},{label:"CodeAssistOptions",type:"keyword",info:"CodeAssistOptions is an option for cells that specifies settings for controlling code input assistan"},{label:"Coefficient",type:"keyword",info:"Coefficient[expr, form] gives the coefficient of form in the polynomial expr. Coefficient[expr, form"},{label:"CoefficientArrays",type:"keyword",info:"CoefficientArrays[polys, vars] gives the arrays of coefficients of the variables vars in the polynom"},{label:"CoefficientDomain",type:"keyword",info:"System`CoefficientDomain"},{label:"CoefficientList",type:"keyword",info:"CoefficientList[poly, var] gives a list of coefficients of powers of var in poly, starting with powe"},{label:"CoefficientRules",type:"keyword",info:"CoefficientRules[poly, {x , x , …}] gives the list {{e , e , …}  c , {e , …}  c , …} of exponen"},{label:"CoifletWavelet",type:"keyword",info:"CoifletWavelet[] represents a Coiflet wavelet of order 2.CoifletWavelet[n] represents a Coiflet wave"},{label:"Collect",type:"keyword",info:"Collect[expr, x] collects together terms involving the same powers of objects matching x. Collect[ex"},{label:"CollinearPoints",type:"keyword",info:"CollinearPoints[{p , p , p , …, p }] tests whether the points p , p , p , …, p are collinear.\n "},{label:"Colon",type:"keyword",info:"Colon[x, y, …] displays as x âˆ\\[Paragraph] y âˆ\\[Paragraph] …."},{label:"ColonForm",type:"keyword",info:"ColonForm[a, b] prints as a : b."},{label:"ColorBalance",type:"keyword",info:"ColorBalance[image] adjusts the colors in image to achieve a balance that simulates the effect of ne"},{label:"ColorCombine",type:"keyword",info:"ColorCombine[{image , image , …}] creates a multichannel image by combining the sequence of channels"},{label:"ColorConvert",type:"keyword",info:"ColorConvert[color, colspace] converts the color space of a color to the specified color space colsp"},{label:"ColorCoverage",type:"keyword",info:"ColorCoverage is an option for DominantColors that specifies the minimum image coverage that each co"},{label:"ColorData",type:"keyword",info:'ColorData["scheme"] gives a function that generates colors in the named color scheme when applied to'},{label:"ColorDataFunction",type:"keyword",info:"ColorDataFunction[range, …] is a function that represents a color scheme. "},{label:"ColorDetect",type:"keyword",info:"ColorDetect[image, cspec] returns a mask image representing regions in image with colors within the "},{label:"ColorDistance",type:"keyword",info:"ColorDistance[c , c ] gives the approximate perceptual distance between color directives c and c .C"},{label:"ColorFunction",type:"keyword",info:"ColorFunction is an option for graphics functions that specifies a function to apply to determine co"},{label:"ColorFunctionBinning",type:"keyword",info:"ColorFunctionBinning is an option for plotting functions that divides values into a limited set of b"},{label:"ColorFunctionScaling",type:"keyword",info:"ColorFunctionScaling is an option for graphics functions that specifies whether arguments supplied t"},{label:"Colorize",type:"keyword",info:"Colorize[m] generates an image from an integer matrix m, using colors for positive integers and blac"},{label:"ColorNegate",type:"keyword",info:"ColorNegate[color] gives the negative of a color.ColorNegate[image] gives the negative of image, in "},{label:"ColorOutput",type:"keyword",info:"ColorOutput is an option for graphics functions that specifies the type of color output to produce. "},{label:"ColorProfileData",type:"keyword",info:'ColorProfileData[<>, "Description"  "desc", "DeviceColorSpace"  "device", "IndependentColorSpace" '},{label:"ColorQ",type:"keyword",info:"ColorQ[color] yields True if color is a valid color directive and False otherwise."},{label:"ColorQuantize",type:"keyword",info:"ColorQuantize[image] gives an approximation to image by quantizing to distinct colors.ColorQuantize["},{label:"ColorReplace",type:"keyword",info:"ColorReplace[image, color] finds regions in image whose pixel values are similar to color and replac"},{label:"ColorRules",type:"keyword",info:"ColorRules is an option that specifies how colors of cells should be determined from values. "},{label:"ColorSelectorSettings",type:"keyword",info:"ColorSelectorSettings is a global option that specifies settings for the Color dialog box."},{label:"ColorSeparate",type:"keyword",info:"ColorSeparate[image] gives a list of single-channel images corresponding to each of the color channe"},{label:"ColorSetter",type:"keyword",info:"ColorSetter[color] represents a color setter which displays as a swatch of the specified color and w"},{label:"ColorSetterBox",type:"keyword",info:"System`ColorSetterBox"},{label:"ColorSetterBoxOptions",type:"keyword",info:"ColorSetterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Color"},{label:"ColorSlider",type:"keyword",info:"ColorSlider[color] represents a color slider currently set to the color corresponding to color.Color"},{label:"ColorsNear",type:"keyword",info:"ColorsNear[color] represents a region around color.ColorsNear[color, d] represents a region with max"},{label:"ColorSpace",type:"keyword",info:"ColorSpace is an option for Image and related functions that specifies the color space to which colo"},{label:"ColorToneMapping",type:"keyword",info:"ColorToneMapping[image] applies a tone mapping to color values in image so as to make variations of "},{label:"Column",type:"keyword",info:"Column[{expr , expr , …}] is an object that formats with the expr arranged in a column, with expr "},{label:"ColumnAlignments",type:"keyword",info:"ColumnAlignments is an option for the low-level function GridBox that specifies how entries in each "},{label:"ColumnBackgrounds",type:"keyword",info:"System`ColumnBackgrounds"},{label:"ColumnForm",type:"keyword",info:"ColumnForm[{e , e , …}] prints as a column with e above e , etc. ColumnForm[list, horiz] specifies "},{label:"ColumnLines",type:"keyword",info:"ColumnLines is an option for the low-level function GridBox which specifies whether lines should be "},{label:"ColumnsEqual",type:"keyword",info:"ColumnsEqual is an option for the low-level function GridBox which specifies whether all columns in "},{label:"ColumnSpacings",type:"keyword",info:"ColumnSpacings is an option for the low-level function GridBox which specifies the spaces in ems tha"},{label:"ColumnWidths",type:"keyword",info:"ColumnWidths is an option for the low-level function GridBox which specifies the widths to use for c"},{label:"CombinatorB",type:"keyword",info:"CombinatorB represents the B combinator."},{label:"CombinatorC",type:"keyword",info:"CombinatorC represents the C combinator."},{label:"CombinatorI",type:"keyword",info:"CombinatorI represents the I combinator."},{label:"CombinatorK",type:"keyword",info:"CombinatorK represents the K combinator."},{label:"CombinatorS",type:"keyword",info:"CombinatorS represents the S combinator."},{label:"CombinatorW",type:"keyword",info:"CombinatorW represents the W combinator."},{label:"CombinatorY",type:"keyword",info:"CombinatorY represents the Y combinator."},{label:"CombinedEntityClass",type:"keyword",info:"CombinedEntityClass[class , class , prop] represents a class of entities obtained by combining the p"},{label:"CombinerFunction",type:"keyword",info:"CombinerFunction is an option for template functions that specifies how fragments should be assemble"},{label:"CometData",type:"keyword",info:"CometData[entity, property] gives the value of the specified property for the comet entity.CometData"},{label:"CommonDefaultFormatTypes",type:"keyword",info:"CommonDefaultFormatTypes is an option that specifies default formats for newly created cells."},{label:"Commonest",type:"keyword",info:"Commonest[list] gives a list of the elements that are the most common in list.Commonest[list, n] giv"},{label:"CommonestFilter",type:"keyword",info:" "},{label:"CommonName",type:"keyword",info:"CommonName[entity] gives the common name for the entity specified by entity.CommonName[{entity , …, "},{label:"CommonUnits",type:"keyword",info:"CommonUnits[{quantity , quantity , …, quantity }] converts quantity through quantity to common uni"},{label:"CommunityBoundaryStyle",type:"keyword",info:"CommunityBoundaryStyle is an option to CommunityGraphPlot that specifies how to style community boun"},{label:"CommunityGraphPlot",type:"keyword",info:"CommunityGraphPlot[g] generates a plot showing the community structure of the graph g.CommunityGraph"},{label:"CommunityLabels",type:"keyword",info:"CommunityLabels is an option to CommunityGraphPlot that controls what labels and placement to use fo"},{label:"CommunityRegionStyle",type:"keyword",info:"CommunityRegionStyle is an option to CommunityGraphPlot that specifies how to style community region"},{label:"CompanyData",type:"keyword",info:"CompanyData[entity, property] gives the value of the specified property for the company entity.Compa"},{label:"CompatibleUnitQ",type:"keyword",info:"CompatibleUnitQ[quantity , quantity ] returns True if quantity and quantity have compatible units,"},{label:"CompilationOptions",type:"keyword",info:"CompilationOptions is an option for Compile that specifies settings for the compilation process. "},{label:"CompilationTarget",type:"keyword",info:"CompilationTarget is an option for Compile that specifies the target runtime for the compiled functi"},{label:"Compile",type:"keyword",info:"Compile[{x , x , …}, expr] creates a compiled function that evaluates expr assuming numerical values"},{label:"Compiled",type:"keyword",info:"Compiled is an option for various numerical and plotting functions which specifies whether the expre"},{label:"CompiledCodeFunction",type:"keyword",info:"CompiledCodeFunction[…] is a function created by FunctionCompile that contains compiled code that is"},{label:"CompiledFunction",type:"keyword",info:"CompiledFunction[args…] represents compiled code for evaluating a compiled function. "},{label:"CompiledLayer",type:"keyword",info:"CompiledLayer[func] represents a net layer whose computation is defined by the compilable function f"},{label:"CompilerEnvironment",type:"keyword",info:"CompilerEnvironment is an option for FunctionCompile and related functions that allows definitions t"},{label:"CompilerEnvironmentAppend",type:"keyword",info:"System`CompilerEnvironmentAppend"},{label:"CompilerEnvironmentAppendTo",type:"keyword",info:"CompilerEnvironmentAppendTo[{def , def , …}] appends declarations to ECCompilerEnvironment.CompilerEn"},{label:"CompilerEnvironmentObject",type:"keyword",info:"CompilerEnvironmentObject represents a collection of definitions that can be included in compilation"},{label:"CompilerOptions",type:"keyword",info:"CompilerOptions is an option for FunctionCompile and related functions that allows options for the c"},{label:"Complement",type:"keyword",info:"Complement[e , e , e , …] gives the elements in e that are not in any of the e . \n a"},{label:"ComplementedEntityClass",type:"keyword",info:"ComplementedEntityClass[class , class , …] represents an entity class containing all the entities "},{label:"CompleteGraph",type:"keyword",info:"CompleteGraph[n] gives the complete graph with n vertices K .CompleteGraph[{n , n , …, n }] gives th"},{label:"CompleteGraphQ",type:"keyword",info:"CompleteGraphQ[g] yields True if the graph g is a complete graph, and False otherwise.CompleteGraphQ"},{label:"CompleteIntegral",type:"keyword",info:"CompleteIntegral[pde, u, {x , …, x }] gives a complete integral u for the first-order partial differ"},{label:"CompleteKaryTree",type:"keyword",info:"CompleteKaryTree[n] gives the complete binary tree with n levels.CompleteKaryTree[n, k] gives the co"},{label:"CompletionsListPacket",type:"keyword",info:"System`CompletionsListPacket"},{label:"Complex",type:"keyword",info:"Complex is the head used for complex numbers. "},{label:"ComplexArrayPlot",type:"keyword",info:"ComplexArrayPlot[array] generates a plot in which complex values z in an array array are shown in "},{label:"ComplexContourPlot",type:"keyword",info:"ComplexContourPlot[f, {z, z , z }] generates a filled contour plot of f as a function of z. Comp"},{label:"Complexes",type:"keyword",info:"Complexes represents the domain of complex numbers, as in x ∈ Complexes. "},{label:"ComplexExpand",type:"keyword",info:"ComplexExpand[expr] expands expr assuming that all variables are real. ComplexExpand[expr, {x , x , "},{label:"ComplexInfinity",type:"keyword",info:"ComplexInfinity represents a quantity with infinite magnitude, but undetermined complex phase. "},{label:"ComplexityFunction",type:"keyword",info:"ComplexityFunction is an option for Simplify and other functions which gives a function to rank the "},{label:"ComplexListPlot",type:"keyword",info:"ComplexListPlot[{z , z , …}] plots complex numbers z , z , … as points in the complex plane.ComplexL"},{label:"ComplexPlot",type:"keyword",info:"ComplexPlot[f, {z, z , z }] generates a plot of Arg[f] over the complex rectangle with corners z"},{label:"ComplexPlot3D",type:"keyword",info:"ComplexPlot3D[f, {z, z , z }] generates a 3D plot of Abs[f] colored by Arg[f] over the complex r"},{label:"ComplexRegionPlot",type:"keyword",info:"ComplexRegionPlot[pred, {z, z , z }] makes a plot showing the region in the complex plane for wh"},{label:"ComplexStreamPlot",type:"keyword",info:"ComplexStreamPlot[f, {z, z , z }] generates a streamline plot of the vector field {Re[f], Im[f]}"},{label:"ComplexVectorPlot",type:"keyword",info:"ComplexVectorPlot[f, {z, z , z }] generates a vector plot of the vector field {Re[f], Im[f]} ove"},{label:"ComponentMeasurements",type:"keyword",info:'ComponentMeasurements[{image, lmat}, "prop"] computes the property "prop" for components of image in'},{label:"ComponentwiseContextMenu",type:"keyword",info:"System`ComponentwiseContextMenu"},{label:"Compose",type:"keyword",info:"System`Compose"},{label:"ComposeList",type:"keyword",info:"ComposeList[{f , f , …}, x] generates a list of the form {x, f [x], f [f [x]], …}. \n 1 "},{label:"ComposeSeries",type:"keyword",info:"ComposeSeries[series , series , …] composes several power series. \n 1 2"},{label:"CompositeQ",type:"keyword",info:"CompositeQ[n] yields True if n is a composite number, and yields False otherwise. "},{label:"Composition",type:"keyword",info:"Composition[f , f , f , …] represents a composition of the functions f , f , f , …. \n 1 "},{label:"CompoundElement",type:"keyword",info:"CompoundElement[{spec , spec , …}] represents a form or interpreter specification for a list of fiel"},{label:"CompoundExpression",type:"keyword",info:"expr ; expr ; … evaluates the expr in turn, giving the last one as the result. \n 1 2 "},{label:"CompoundPoissonDistribution",type:"keyword",info:"CompoundPoissonDistribution[λ, dist] represents a compound Poisson distribution with rate parameter "},{label:"CompoundPoissonProcess",type:"keyword",info:"CompoundPoissonProcess[λ, jdist] represents a compound Poisson process with rate parameter λ and jum"},{label:"CompoundRenewalProcess",type:"keyword",info:"CompoundRenewalProcess[rdist, jdist] represents a compound renewal process with renewal-time distrib"},{label:"Compress",type:"keyword",info:"Compress[expr] gives a compressed representation of expr as a string. "},{label:"CompressedData",type:"keyword",info:"System`CompressedData"},{label:"CompressionLevel",type:"keyword",info:"CompressionLevel is an option for Export and CreateArchive that specifies the amount of compression "},{label:"ComputeUncertainty",type:"keyword",info:"ComputeUncertainty is an option for ClassifierMeasurements, LearnedDistribution and other functions "},{label:"ConcaveHullMesh",type:"keyword",info:"ConcaveHullMesh[{p , p , …}] gives the concave hull mesh from the points p , p , ….ConcaveHullMesh[{"},{label:"Condition",type:"keyword",info:"patt/;test is a pattern which matches only if the evaluation of test yields True. lhs :> rhs/;test r"},{label:"ConditionalExpression",type:"keyword",info:"ConditionalExpression[expr, cond] is a symbolic construct that represents the expression expr when t"},{label:"Conditioned",type:"keyword",info:"Conditioned[expr, cond] or expr  cond represents expr conditioned by the predicate cond."},{label:"Cone",type:"keyword",info:"Cone[{{x , y , z }, {x , y , z }}, r] represents a cone with a base of radius r centered at (x , y ,"},{label:"ConeBox",type:"keyword",info:"System`ConeBox"},{label:"ConfidenceLevel",type:"keyword",info:"ConfidenceLevel is an option for LinearModelFit and other fitting functions that specifies the level"},{label:"ConfidenceRange",type:"keyword",info:"ConfidenceRange is an option for SurvivalModelFit and other functions that specifies the range over "},{label:"ConfidenceTransform",type:"keyword",info:"ConfidenceTransform is an option for functions such as SurvivalModelFit that specifies the transform"},{label:"ConfigurationPath",type:"keyword",info:"ConfigurationPath is a global option that specifies which directories are searched for systemwide co"},{label:"Confirm",type:"keyword",info:"Confirm[expr] confirms that expr is not considered a failure, otherwise throwing an error to the nea"},{label:"ConfirmAssert",type:"keyword",info:"ConfirmAssert[test] confirms that test is True, otherwise throwing an error to the nearest surroundi"},{label:"ConfirmBy",type:"keyword",info:"ConfirmBy[expr, f] confirms that f[expr] returns True, otherwise throwing an error to the nearest su"},{label:"ConfirmMatch",type:"keyword",info:"ConfirmMatch[expr, form] confirms that expr matches the pattern form, otherwise throwing an error to"},{label:"ConfirmQuiet",type:"keyword",info:"ConfirmQuiet[expr] confirms that no messages are generated during the evaluation of expr, otherwise "},{label:"ConformationMethod",type:"keyword",info:"ConformationMethod is an option for VideoJoin and others that specifies how to conform frames of dif"},{label:"ConformAudio",type:"keyword",info:"ConformAudio[{audio , audio , …}] returns a list of audio objects where all audio are made to have "},{label:"ConformImages",type:"keyword",info:"ConformImages[{image , image , …}] returns a list of images where all image are made to have confor"},{label:"Congruent",type:"keyword",info:"Congruent[x, y, …] displays as x ≡ y ≡ …."},{label:"ConicGradientFilling",type:"keyword",info:"ConicGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that "},{label:"ConicHullRegion",type:"keyword",info:"ConicHullRegion[{p , …, p }] represents the m-dimensional affine hull region passing through poi"},{label:"ConicHullRegion3DBox",type:"keyword",info:"System`ConicHullRegion3DBox"},{label:"ConicHullRegionBox",type:"keyword",info:"System`ConicHullRegionBox"},{label:"ConicOptimization",type:"keyword",info:"ConicOptimization[f, cons, vars] finds values of variables vars that minimize the linear objective f"},{label:"Conjugate",type:"keyword",info:"Conjugate[z] or z  gives the complex conjugate of the complex number z. "},{label:"ConjugateTranspose",type:"keyword",info:" \nConjugateTranspose[m] or m gives the conjugate transpose of m. "},{label:"Conjunction",type:"keyword",info:"Conjunction[expr, {a , a , …}] gives the conjunction of expr over all choices of the Boolean variabl"},{label:"Connect",type:"keyword",info:"Connect is a setting for the LinkMode option of LinkOpen. LinkMode->Connect causes a link to be cre"},{label:"ConnectedComponents",type:"keyword",info:"ConnectedComponents[g] gives the connected components of the graph g.ConnectedComponents[g, {v , v ,"},{label:"ConnectedGraphComponents",type:"keyword",info:"ConnectedGraphComponents[g] gives the connected components of the graph g.ConnectedGraphComponents[g"},{label:"ConnectedGraphQ",type:"keyword",info:"ConnectedGraphQ[g] yields True if the graph g is connected, and False otherwise."},{label:"ConnectedMeshComponents",type:"keyword",info:"ConnectedMeshComponents[mr] gives a list {c , c , …} of disjoint path connected meshed regions.\n "},{label:"ConnectedMoleculeComponents",type:"keyword",info:"ConnectedMoleculeComponents[mol] gives the connected components of the molecule mol."},{label:"ConnectedMoleculeQ",type:"keyword",info:"ConnectedMoleculeQ[mol] returns True if the atoms in mol form are connected by bonds, and False othe"},{label:"ConnectionSettings",type:"keyword",info:"ConnectionSettings is an option for URLRead and related functions to specify advanced connection set"},{label:"ConnectLibraryCallbackFunction",type:"keyword",info:"ConnectLibraryCallbackFunction[mname, cf] connects a CompiledFunction cf with the library callback m"},{label:"ConnectSystemModelComponents",type:"keyword",info:"ConnectSystemModelComponents[{c ∈ comp , …}, {c . a  c . b, …}] creates a system model by connec"},{label:"ConnectSystemModelController",type:"keyword",info:"ConnectSystemModelController[model, controller] connects the system model model with a controller ac"},{label:"ConnesWindow",type:"keyword",info:"ConnesWindow[x] represents a Connes window function of x.ConnesWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"ConoverTest",type:"keyword",info:" "},{label:"ConservativeConvectionPDETerm",type:"keyword",info:"ConservativeConvectionPDETerm[vars, Î\\[PlusMinus]] represents a conservative convection term ∇ Â\\[CenterDot] (-Î\\[PlusMinus] "},{label:"ConsoleMessage",type:"keyword",info:"ConsoleMessage[expr] prints expr as a message to the Messages window of the frontend."},{label:"ConsoleMessagePacket",type:"keyword",info:"System`ConsoleMessagePacket"},{label:"Constant",type:"keyword",info:"Constant is an attribute that indicates zero derivative of a symbol with respect to all parameters. "},{label:"ConstantArray",type:"keyword",info:"ConstantArray[c, n] generates a list of n copies of the element c.ConstantArray[c, {n , n , …}] gene"},{label:"ConstantArrayLayer",type:"keyword",info:"ConstantArrayLayer[] represents a layer that has no input and produces as output a constant array.Co"},{label:"ConstantImage",type:"keyword",info:"ConstantImage[val, size] gives an image of the specified size with constant pixel values of val.Cons"},{label:"ConstantPlusLayer",type:"keyword",info:"ConstantPlusLayer[] represents a layer that adds a learnable bias to its input.ConstantPlusLayer[opt"},{label:"ConstantRegionQ",type:"keyword",info:"ConstantRegionQ[reg] gives True if the reg is a constant region and False otherwise."},{label:"Constants",type:"keyword",info:"Constants is an option for Dt which gives a list of objects to be taken as constants. "},{label:"ConstantTimesLayer",type:"keyword",info:"ConstantTimesLayer[] represents a layer that multiplies its input by a learnable scaling array.Const"},{label:"ConstellationData",type:"keyword",info:"ConstellationData[entity, property] gives the value of the specified property for the constellation "},{label:"ConstrainedMax",type:"keyword",info:"System`ConstrainedMax"},{label:"ConstrainedMin",type:"keyword",info:"System`ConstrainedMin"},{label:"Construct",type:"keyword",info:"Construct[f, x] gives f[x].Construct[f, x , …, x ] gives f[x , …, x ].\n "},{label:"Containing",type:"keyword",info:'Containing["outer", "inner"] represents an object of type outer containing objects of type inner.'},{label:"ContainsAll",type:"keyword",info:"ContainsAll[e , e ] yields True if e contains all of the elements of e .ContainsAll[e ] is an opera"},{label:"ContainsAny",type:"keyword",info:"ContainsAny[e , e ] yields True if e contains any of the elements of e .ContainsAny[e ] is an opera"},{label:"ContainsExactly",type:"keyword",info:"ContainsExactly[e , e ] yields True if e contains exactly the same elements as e .ContainsExactly[e"},{label:"ContainsNone",type:"keyword",info:"ContainsNone[e , e ] yields True if e contains none of the elements in e .ContainsNone[e ] is an op"},{label:"ContainsOnly",type:"keyword",info:"ContainsOnly[e , e ] yields True if e contains only elements that appear in e .ContainsOnly[e ] is "},{label:"ContentDetectorFunction",type:"keyword",info:"ContentDetectorFunction[…] represents a function generated by TrainImageContentDetector or TrainText"},{label:"ContentFieldOptions",type:"keyword",info:"ContentFieldOptions is an option for CreateSearchIndex and related functions that allows options to "},{label:"ContentLocationFunction",type:"keyword",info:"ContentLocationFunction is an option to CreateSearchIndex and related functions that specifies how t"},{label:"ContentObject",type:"keyword",info:'ContentObject["string"] gives a content object whose content is string.ContentObject[File[…]] gives '},{label:"ContentPadding",type:"keyword",info:"ContentPadding is an option for objects that can be displayed with frames that specifies whether the"},{label:"ContentsBoundingBox",type:"keyword",info:"System`ContentsBoundingBox"},{label:"ContentSelectable",type:"keyword",info:"ContentSelectable is an option to constructs such as Inset, Graphics, and GraphicsGroup that specifi"},{label:"ContentSize",type:"keyword",info:"ContentSize is an option for Manipulate and other functions that specifies the size of the content a"},{label:"Context",type:"keyword",info:"Context[] gives the current context. Context[symbol] gives the context in which a symbol appears. Co"},{label:"ContextMenu",type:"keyword",info:"System`ContextMenu"},{label:"Contexts",type:"keyword",info:'Contexts[] gives a list of all contexts. Contexts["string"] gives a list of the contexts that match '},{label:"ContextToFileName",type:"keyword",info:'ContextToFileName["context"] gives the string specifying the file name that is by convention associa'},{label:"Continuation",type:"keyword",info:"System`Continuation"},{label:"Continue",type:"keyword",info:"Continue[] exits to the nearest enclosing Do, For, or While in a procedural program. "},{label:"ContinuedFraction",type:"keyword",info:"ContinuedFraction[x, n] generates a list of the first n terms in the continued fraction representati"},{label:"ContinuedFractionK",type:"keyword",info:" i "},{label:"ContinuousAction",type:"keyword",info:"ContinuousAction is an option for Manipulate, Slider, and related functions that specifies whether a"},{label:"ContinuousMarkovProcess",type:"keyword",info:"ContinuousMarkovProcess[i , q] represents a continuous-time finite-state Markov process with transit"},{label:"ContinuousTask",type:"keyword",info:"ContinuousTask[expr] represents a task in which expr is continuously reevaluated.ContinuousTask[expr"},{label:"ContinuousTimeModelQ",type:"keyword",info:"ContinuousTimeModelQ[lsys] gives True if lsys is a continuous-time systems model, and False otherwis"},{label:"ContinuousWaveletData",type:"keyword",info:"ContinuousWaveletData[{{oct , voc } -> coef , …}, wave] yields a continuous wavelet data object with"},{label:"ContinuousWaveletTransform",type:"keyword",info:"ContinuousWaveletTransform[{x , x , …}] gives the continuous wavelet transform of a list of values x"},{label:"ContourDetect",type:"keyword",info:"ContourDetect[image] gives a binary image in which white pixels correspond to the zeros and zero cro"},{label:"ContourGraphics",type:"keyword",info:"ContourGraphics[array] is a representation of a contour plot. "},{label:"ContourIntegral",type:"keyword",info:"System`ContourIntegral"},{label:"ContourLabels",type:"keyword",info:"ContourLabels is an option for contour plots that specifies how to label contours. "},{label:"ContourLines",type:"keyword",info:"ContourLines is an option for contour plots that specifies whether to draw explicit contour lines. "},{label:"ContourPlot",type:"keyword",info:"ContourPlot[f, {x, x , x }, {y, y , y }] generates a contour plot of f as a function of x an"},{label:"ContourPlot3D",type:"keyword",info:"ContourPlot3D[f, {x, x , x }, {y, y , y }, {z, z , z }] produces a three-dimensional con"},{label:"Contours",type:"keyword",info:"Contours is an option for contour plots that specifies the contours to draw. "},{label:"ContourShading",type:"keyword",info:"ContourShading is an option for contour plots that specifies how the regions between contour lines s"},{label:"ContourSmoothing",type:"keyword",info:"System`ContourSmoothing"},{label:"ContourStyle",type:"keyword",info:"ContourStyle is an option for contour plots that specifies the style in which contour lines or surfa"},{label:"ContraharmonicMean",type:"keyword",info:"ContraharmonicMean[list] gives the contraharmonic mean of the values in list.ContraharmonicMean[list"},{label:"ContrastiveLossLayer",type:"keyword",info:"ContrastiveLossLayer[] represents a loss layer that computes a loss based on a distance metric and a"},{label:"Control",type:"keyword",info:"Control[{u, dom}] represents an interactive control for the variable u in the domain dom, with the t"},{label:"ControlActive",type:"keyword",info:"ControlActive[act, norm] evaluates to act if a control that affects act is actively being used, and "},{label:"ControlAlignment",type:"keyword",info:"System`ControlAlignment"},{label:"ControlGroupContentsBox",type:"keyword",info:"System`ControlGroupContentsBox"},{label:"ControllabilityGramian",type:"keyword",info:"ControllabilityGramian[ssm] gives the controllability Gramian of the state-space model ssm."},{label:"ControllabilityMatrix",type:"keyword",info:"ControllabilityMatrix[ssm] gives the controllability matrix of the state-space model ssm."},{label:"ControllableDecomposition",type:"keyword",info:"ControllableDecomposition[sys] yields the controllable subsystem of the state-space model sys.Contro"},{label:"ControllableModelQ",type:"keyword",info:"ControllableModelQ[sys] yields True if the state-space model sys is controllable, and False otherwis"},{label:"ControllerDuration",type:"keyword",info:"System`ControllerDuration"},{label:"ControllerInformation",type:"keyword",info:"ControllerInformation[] gives dynamically updated information on currently connected controller devi"},{label:"ControllerInformationData",type:"keyword",info:"System`ControllerInformationData"},{label:"ControllerLinking",type:"keyword",info:"ControllerLinking is an option for Manipulate, Graphics3D, Plot3D, and related functions that specif"},{label:"ControllerManipulate",type:"keyword",info:"ControllerManipulate[expr, {u, u , u }] generates a version of expr set up to allow interactive "},{label:"ControllerMethod",type:"keyword",info:"ControllerMethod is an option for Manipulate, Graphics3D, Plot3D, and related functions that specifi"},{label:"ControllerPath",type:"keyword",info:"ControllerPath is an option that gives a list of external controllers or classes of controllers to t"},{label:"ControllerState",type:"keyword",info:'ControllerState["c"] gives the state of the control c for the first connected controller device on w'},{label:"ControlPlacement",type:"keyword",info:"ControlPlacement is an option for Manipulate, TabView, and other control objects that specifies wher"},{label:"ControlsRendering",type:"keyword",info:"ControlsRendering is a Style option that specifies how controls should be rendered."},{label:"ControlType",type:"keyword",info:"ControlType is an option for Manipulate and related functions that specifies what type of controls s"},{label:"ConvectionPDETerm",type:"keyword",info:"ConvectionPDETerm[vars, Î.b2] represents a convection term Î.b2 Â\\[CenterDot] ∇ u with convection coefficie"},{label:"Convergents",type:"keyword",info:"Convergents[list] gives a list of the convergents corresponding to the continued fraction terms list"},{label:"ConversionOptions",type:"keyword",info:"ConversionOptions is an option to Import and Export used to pass special options to a particular for"},{label:"ConversionRules",type:"keyword",info:"ConversionRules is an option for Cell that can be set to a list of rules specifying how the contents"},{label:"ConvertToBitmapPacket",type:"keyword",info:"System`ConvertToBitmapPacket"},{label:"ConvertToPostScript",type:"keyword",info:"System`ConvertToPostScript"},{label:"ConvertToPostScriptPacket",type:"keyword",info:"ConvertToPostScriptPacket is an internal symbol used for formatting."},{label:"ConvexHullMesh",type:"keyword",info:"ConvexHullMesh[{p , p , …}] gives a BoundaryMeshRegion representing the convex hull from the points "},{label:"ConvexHullRegion",type:"keyword",info:"ConvexHullRegion[{p , p , …}] gives the convex hull from the points p , p , ….ConvexHullRegion[reg] "},{label:"ConvexOptimization",type:"keyword",info:"ConvexOptimization[f, cons, vars] finds values of variables vars that minimize the convex objective "},{label:"ConvexPolygonQ",type:"keyword",info:"ConvexPolygonQ[poly] gives True if the polygon poly is convex, and False otherwise."},{label:"ConvexPolyhedronQ",type:"keyword",info:"ConvexPolyhedronQ[poly] gives True if the polyhedron poly is convex, and False otherwise."},{label:"ConvexRegionQ",type:"keyword",info:"ConvexRegionQ[reg] gives True if reg is a convex region and False otherwise. "},{label:"ConvolutionLayer",type:"keyword",info:"ConvolutionLayer[n, s] represents a trainable convolutional net layer having n output channels and u"},{label:"Convolve",type:"keyword",info:"Convolve[f, g, x, y] gives the convolution with respect to x of the expressions f and g.Convolve[f, "},{label:"ConwayGroupCo1",type:"keyword",info:"ConwayGroupCo1[] represents the sporadic simple Conway group Co .\n "},{label:"ConwayGroupCo2",type:"keyword",info:"ConwayGroupCo2[] represents the sporadic simple Conway group Co .\n "},{label:"ConwayGroupCo3",type:"keyword",info:"ConwayGroupCo3[] represents the sporadic simple Conway group Co .\n "},{label:"CookieFunction",type:"keyword",info:"CookieFunction is an option for URLRead, HTTPRequest, and related functions that gives a function to"},{label:"Cookies",type:"keyword",info:"System`Cookies"},{label:"CoordinateBoundingBox",type:"keyword",info:"CoordinateBoundingBox[coords] gives the corners {{x , y , …}, {x , y , …}} of the bounding b"},{label:"CoordinateBoundingBoxArray",type:"keyword",info:"CoordinateBoundingBoxArray[{{x , y , …}, {x , y , …}}] generates an array of {x, y, …} coord"},{label:"CoordinateBounds",type:"keyword",info:"CoordinateBounds[coords] gives a list {{x , x }, {y , y }, …} of the bounds in each dimensio"},{label:"CoordinateBoundsArray",type:"keyword",info:"CoordinateBoundsArray[{{x , x }, {y , y }, …}] generates an array of {x, y, …} coordinates w"},{label:"CoordinateChartData",type:"keyword",info:"CoordinateChartData[chart, property] gives the value of the specified property for chart.CoordinateC"},{label:"CoordinatesToolOptions",type:"keyword",info:"CoordinatesToolOptions is an option for Graphics that gives values of options associated with the Ge"},{label:"CoordinateTransform",type:"keyword",info:"CoordinateTransform[t, pt] performs the coordinate transformation t on the point pt.CoordinateTransf"},{label:"CoordinateTransformData",type:"keyword",info:"CoordinateTransformData[t, property] gives the value of the specified property for the coordinate tr"},{label:"CoplanarPoints",type:"keyword",info:"CoplanarPoints[{p , p , p , p , …, p }] tests whether the points p , p , p , p , …, p are coplanar."},{label:"CoprimeQ",type:"keyword",info:"CoprimeQ[n , n ] yields True if n and n are relatively prime, and yields False otherwise. CoprimeQ"},{label:"Coproduct",type:"keyword",info:"Coproduct[x, y, …] displays as x ∐ y ∐ …."},{label:"CopulaDistribution",type:"keyword",info:"CopulaDistribution[ker, {dist , dist , …}] represents a copula distribution with kernel distribution"},{label:"Copyable",type:"keyword",info:"Copyable is an option for Cell that specifies whether a cell can be copied interactively using the f"},{label:"CopyDatabin",type:"keyword",info:"CopyDatabin[bin] creates a copy of a databin.CopyDatabin[bin, options] creates a copy with the speci"},{label:"CopyDirectory",type:"keyword",info:"CopyDirectory[dir , dir ] copies the directory dir to dir . \n 1 2 "},{label:"CopyFile",type:"keyword",info:"CopyFile[file , file ] copies from the local, remote or cloud file file to the local, remote or clo"},{label:"CopyFunction",type:"keyword",info:"CopyFunction is an option for TemplateBox that specifies how the box is to be copied."},{label:"CopyTag",type:"keyword",info:"System`CopyTag"},{label:"CopyToClipboard",type:"keyword",info:"CopyToClipboard[expr] replaces the contents of the clipboard with expr."},{label:"CoreNilpotentDecomposition",type:"keyword",info:"CoreNilpotentDecomposition[m] yields the core-nilpotent decomposition of a square matrix m."},{label:"CornerFilter",type:"keyword",info:"CornerFilter[image] computes a measure for the presence of a corner for each pixel in image and retu"},{label:"CornerNeighbors",type:"keyword",info:"CornerNeighbors is an option for various array and image processing functions that specifies whether"},{label:"Correlation",type:"keyword",info:" "},{label:"CorrelationDistance",type:"keyword",info:"CorrelationDistance[u, v] gives the correlation coefficient distance between vectors u and v."},{label:"CorrelationFunction",type:"keyword",info:"CorrelationFunction[data, hspec] estimates the correlation function at lags hspec from data.Correlat"},{label:"CorrelationTest",type:"keyword",info:"CorrelationTest[{{x , y }, {x , y }, …}] tests whether the correlation coefficient for a bivariate p"},{label:"Cos",type:"keyword",info:"Cos[z] gives the cosine of z. "},{label:"Cosh",type:"keyword",info:"Cosh[z] gives the hyperbolic cosine of z. "},{label:"CoshIntegral",type:"keyword",info:"CoshIntegral[z] gives the hyperbolic cosine integral Chi(z)."},{label:"CosineDistance",type:"keyword",info:"CosineDistance[u, v] gives the angular cosine distance between vectors u and v."},{label:"CosineWindow",type:"keyword",info:"CosineWindow[x] represents a cosine window function of x.CosineWindow[x, Î\\[PlusMinus]] uses the exponent Î\\[PlusMinus].\n"},{label:"CosIntegral",type:"keyword",info:"CosIntegral[z] gives the cosine integral function Ci(z). "},{label:"Cot",type:"keyword",info:"Cot[z] gives the cotangent of z. "},{label:"Coth",type:"keyword",info:"Coth[z] gives the hyperbolic cotangent of z. "},{label:"CoulombF",type:"keyword",info:"CoulombF[l, Î\\[CenterDot], r] gives the regular Coulomb wavefunction F (Î\\[CenterDot], r).\n "},{label:"CoulombG",type:"keyword",info:"CoulombG[l, Î\\[CenterDot], r] gives the irregular Coulomb wavefunction G (Î\\[CenterDot], r).\n "},{label:"CoulombH1",type:"keyword",info:" (+)\nCoulombH1[l, Î\\[CenterDot], r] gives t"},{label:"CoulombH2",type:"keyword",info:" (-)\nCoulombH2[l, Î\\[CenterDot], r] gives t"},{label:"Count",type:"keyword",info:"Count[list, pattern] gives the number of elements in list that match pattern. Count[expr, pattern, l"},{label:"CountDistinct",type:"keyword",info:"CountDistinct[list] gives the number of distinct elements that appear in list."},{label:"CountDistinctBy",type:"keyword",info:"CountDistinctBy[{e , e , …}, f] gives the number of distinct values of f[e ] that occur.CountDistinc"},{label:"CounterAssignments",type:"keyword",info:"CounterAssignments is an option for selections that sets the value of a specified counter."},{label:"CounterBox",type:"keyword",info:"System`CounterBox"},{label:"CounterBoxOptions",type:"keyword",info:"CounterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for CounterBo"},{label:"CounterClockwiseContourIntegral",type:"keyword",info:"System`CounterClockwiseContourIntegral"},{label:"CounterEvaluator",type:"keyword",info:"System`CounterEvaluator"},{label:"CounterFunction",type:"keyword",info:"CounterFunction is an option for counters that specifies the symbols used to display the value of th"},{label:"CounterIncrements",type:"keyword",info:"CounterIncrements is an option for selections that specifies whether the value of a specified counte"},{label:"CounterStyle",type:"keyword",info:"System`CounterStyle"},{label:"CounterStyleMenuListing",type:"keyword",info:"CounterStyleMenuListing is an option for cells that specifies what counter styles are listed in the "},{label:"CountRoots",type:"keyword",info:"CountRoots[f, x] gives the number of real roots of the univariate function f in x.CountRoots[f, {x, "},{label:"CountryData",type:"keyword",info:'CountryData["tag", property] gives the value of the specified property for the country, country-like'},{label:"Counts",type:"keyword",info:"Counts[list] gives an association whose keys are the distinct elements of list, and whose values giv"},{label:"CountsBy",type:"keyword",info:"CountsBy[{e , e , …}, f] gives an association whose keys are the distinct values of the f[e ], and w"},{label:"Covariance",type:"keyword",info:" "},{label:"CovarianceEstimatorFunction",type:"keyword",info:"CovarianceEstimatorFunction is an option for generalized linear model fitting functions that specifi"},{label:"CovarianceFunction",type:"keyword",info:"CovarianceFunction[data, hspec] estimates the covariance function at lags hspec from data.Covariance"},{label:"CoxianDistribution",type:"keyword",info:"CoxianDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {λ , …, λ }] represent an m-phase Coxian distribution with phase"},{label:"CoxIngersollRossProcess",type:"keyword",info:"CoxIngersollRossProcess[μ, σ, θ, x ] represents a Cox–Ingersoll–Ross process with long‐term mean μ, "},{label:"CoxModel",type:"keyword",info:"CoxModel[…] represents the symbolic proportional hazards model obtained from CoxModelFit."},{label:"CoxModelFit",type:"keyword",info:"CoxModelFit[{e , …, e }] constructs a model of the baseline hazard h (t) for events times e .CoxMode"},{label:"CramerVonMisesTest",type:"keyword",info:"CramerVonMisesTest[data] tests whether data is normally distributed using the Cramér–von Mises test."},{label:"CreateArchive",type:"keyword",info:"CreateArchive[source] creates a compressed archive in the current directory from source.CreateArchiv"},{label:"CreateCellID",type:"keyword",info:"CreateCellID is an option for Notebook that specifies whether to assign a CellID to cells created in"},{label:"CreateChannel",type:"keyword",info:"CreateChannel[] creates a new channel for channel communication, with a generated name.CreateChannel"},{label:"CreateCloudExpression",type:"keyword",info:"CreateCloudExpression[value] creates a new anonymous cloud expression that stores the specified init"},{label:"CreateCompilerEnvironment",type:"keyword",info:"CreateCompilerEnvironment[] creates a compiler environment that can be used in FunctionCompile and r"},{label:"CreateDatabin",type:"keyword",info:"CreateDatabin[] creates a databin in the Wolfram Data Drop and returns the corresponding Databin obj"},{label:"CreateDataStructure",type:"keyword",info:'CreateDataStructure["type", arg , arg , …] creates a data structure with the specified type.\n '},{label:"CreateDataSystemModel",type:"keyword",info:"CreateDataSystemModel[{v , v , …}] creates a SystemModel generating a signal of values v . CreateDat"},{label:"CreateDialog",type:"keyword",info:"CreateDialog[expr] creates a dialog notebook containing expr and opens it in the front end.CreateDia"},{label:"CreateDirectory",type:"keyword",info:'CreateDirectory["dir"] creates a directory with name dir. CreateDirectory[] creates a directory in t'},{label:"CreateDocument",type:"keyword",info:"CreateDocument[] creates an empty document notebook and opens it in the front end.CreateDocument[exp"},{label:"CreateFile",type:"keyword",info:'CreateFile["file"] creates a file with name file. CreateFile[] creates a file in the default area fo'},{label:"CreateIntermediateDirectories",type:"keyword",info:"CreateIntermediateDirectories is an option for CreateDirectory and related functions that specifies "},{label:"CreateLicenseEntitlement",type:"keyword",info:"CreateLicenseEntitlement[settings] creates an on-demand license entitlement using settings.CreateLic"},{label:"CreateManagedLibraryExpression",type:"keyword",info:"CreateManagedLibraryExpression[mname, f] creates a managed library expression by applying f to a pos"},{label:"CreateNotebook",type:"keyword",info:'CreateNotebook[] creates a generic empty notebook and opens it in the front end.CreateNotebook["type'},{label:"CreatePacletArchive",type:"keyword",info:"CreatePacletArchive[source] creates a paclet archive file from source.CreatePacletArchive[source, de"},{label:"CreatePalette",type:"keyword",info:"CreatePalette[expr] creates a palette notebook containing expr, and opens it in the front end.Create"},{label:"CreatePalettePacket",type:"keyword",info:"System`CreatePalettePacket"},{label:"CreatePermissionsGroup",type:"keyword",info:'CreatePermissionsGroup["name"] creates a permissions group with the specified name.CreatePermissions'},{label:"CreateScheduledTask",type:"keyword",info:"CreateScheduledTask[expr] creates a local scheduled task that will repeatedly evaluate expr once per"},{label:"CreateSearchIndex",type:"keyword",info:"CreateSearchIndex[dir] creates a search index from all files in the directory dir and its subdirecto"},{label:"CreateSystemModel",type:"keyword",info:"CreateSystemModel[sys] creates a Modelica SystemModel from the systems model sys. CreateSystemModel["},{label:"CreateTemporary",type:"keyword",info:"CreateTemporary[] creates a temporary file with a unique name in the default temporary directory and"},{label:"CreateUUID",type:"keyword",info:'CreateUUID[] creates a random, universally unique UUID string.CreateUUID["base"] appends a UUID stri'},{label:"CreateWindow",type:"keyword",info:"CreateWindow[] creates an empty window in the front end.CreateWindow[expr] creates a window displayi"},{label:"CriterionFunction",type:"keyword",info:"CriterionFunction is an option in functions such as ClusterClassify that specifies the criterion to "},{label:"CriticalityFailureImportance",type:"keyword",info:"CriticalityFailureImportance[rdist, t] gives the criticality failure importances for all components "},{label:"CriticalitySuccessImportance",type:"keyword",info:"CriticalitySuccessImportance[rdist, t] gives the criticality success importances for all components "},{label:"CriticalSection",type:"keyword",info:"CriticalSection[var, expr] locks the variable var with respect to parallel computation, evaluates ex"},{label:"Cross",type:"keyword",info:"Cross[a, b] gives the vector cross product of a and b. "},{label:"CrossEntropyLossLayer",type:"keyword",info:'CrossEntropyLossLayer["Index"] represents a net layer that computes the cross-entropy loss by compar'},{label:"CrossingCount",type:"keyword",info:"CrossingCount[contour, p] gives a count of the number of times a ray starting from the point p cross"},{label:"CrossingDetect",type:"keyword",info:"CrossingDetect[image] gives a binary image in which white pixels correspond to the zero crossings in"},{label:"CrossingPolygon",type:"keyword",info:"CrossingPolygon[{p , p , …, p }] gives a Polygon representing all points for which a ray from the po"},{label:"CrossMatrix",type:"keyword",info:" "},{label:"Csc",type:"keyword",info:"Csc[z] gives the cosecant of z. "},{label:"Csch",type:"keyword",info:"Csch[z] gives the hyperbolic cosecant of z. "},{label:"CSGRegion",type:"keyword",info:'CSGRegion["op", {reg , reg , …}] represents the solid region corresponding to the Boolean combinatio'},{label:"CSGRegionQ",type:"keyword",info:"CSGRegionQ[reg] yields True if the region reg is a valid CSGRegion object and False otherwise."},{label:"CSGRegionTree",type:"keyword",info:"CSGRegionTree[reg] gives the tree expression representing the CSG region reg."},{label:"CTCLossLayer",type:"keyword",info:"CTCLossLayer[] represents a net layer that computes the connectionist temporal classification loss b"},{label:"Cube",type:"keyword",info:"Cube[] represents a regular cube centered at the origin with unit edge length.Cube[l] represents a c"},{label:"CubeRoot",type:"keyword",info:"CubeRoot[x] gives the real-valued cube root of x."},{label:"Cubics",type:"keyword",info:"Cubics is an option for functions that involve solving algebraic equations, that specifies whether e"},{label:"Cuboid",type:"keyword",info:"Cuboid[p ] represents a unit hypercube with its lower corner at p .Cuboid[p , p ] represents"},{label:"CuboidBox",type:"keyword",info:"System`CuboidBox"},{label:"Cumulant",type:"keyword",info:" th th "},{label:"CumulantGeneratingFunction",type:"keyword",info:"CumulantGeneratingFunction[dist, t] gives the cumulant-generating function for the distribution dist"},{label:"Cup",type:"keyword",info:"Cup[x, y, …] displays as x ⌣ y ⌣ …."},{label:"CupCap",type:"keyword",info:"CupCap[x, y, …] displays as x ≍ y ≍ …."},{label:"Curl",type:"keyword",info:"Curl[{f , f }, {x , x }] gives the curl ∂ f /∂ x - ∂ f /∂ x .Curl[{f , f , f }, {x , x , x }] gives"},{label:"CurlyDoubleQuote",type:"keyword",info:"System`CurlyDoubleQuote"},{label:"CurlyQuote",type:"keyword",info:"System`CurlyQuote"},{label:"CurrencyConvert",type:"keyword",info:"CurrencyConvert[quantity, target] attempts to convert the specified currency quantity to the specifi"},{label:"CurrentDate",type:"keyword",info:"CurrentDate[gran] gives the current date of the specified granularity type gran.CurrentDate[date, gr"},{label:"CurrentImage",type:"keyword",info:"CurrentImage[] returns the current image captured from a connected camera.CurrentImage[n] returns n "},{label:"CurrentlySpeakingPacket",type:"keyword",info:"System`CurrentlySpeakingPacket"},{label:"CurrentNotebookImage",type:"keyword",info:"CurrentNotebookImage[nb] returns an image captured from the portion of the notebook nb that appears "},{label:"CurrentScreenImage",type:"keyword",info:"CurrentScreenImage[] returns an image captured from all current display screens on your computer. Cu"},{label:"CurrentValue",type:"keyword",info:"CurrentValue[item] gives the current value of item at a location in the Wolfram System and interface"},{label:"Curry",type:"keyword",info:"Curry[f, n] represents an operator form of the function f of n arguments so that Curry[f, n][x ] …[x"},{label:"CurryApplied",type:"keyword",info:"CurryApplied[f, n] represents an operator form of the function f of n arguments so that CurryApplied"},{label:"CurvatureFlowFilter",type:"keyword",info:"CurvatureFlowFilter[image] applies a mean curvature flow filter to image.CurvatureFlowFilter[image, "},{label:"CurveClosed",type:"keyword",info:"CurveClosed is an option for JoinedCurve that specifies whether individual curve components should b"},{label:"Cyan",type:"keyword",info:"Cyan represents the color cyan in graphics or style specifications. "},{label:"CycleGraph",type:"keyword",info:"CycleGraph[n] gives the cycle graph with n vertices C .\n "},{label:"CycleIndexPolynomial",type:"keyword",info:"CycleIndexPolynomial[perm, {x , …, x }] constructs the cycle index monomial of the permutation perm "},{label:"Cycles",type:"keyword",info:"Cycles[{cyc , cyc , …}] represents a permutation with disjoint cycles cyc .\n 1 2 "},{label:"CyclicGroup",type:"keyword",info:"CyclicGroup[n] represents the cyclic group of degree n."},{label:"Cyclotomic",type:"keyword",info:" th\nCyclotomic[n, x] gives the n cyclotomic polynomial in x. "},{label:"Cylinder",type:"keyword",info:"Cylinder[{{x , y , z }, {x , y , z }}, r] represents a cylinder of radius r around the line from (x "},{label:"CylinderBox",type:"keyword",info:"System`CylinderBox"},{label:"CylindricalDecomposition",type:"keyword",info:"CylindricalDecomposition[expr, {x , x , …}] finds a decomposition of the region represented by the s"},{label:"CylindricalDecompositionFunction",type:"keyword",info:"CylindricalDecompositionFunction[data][x , x , …] represents a cylindrical algebraic formula in x , "},{label:"CEC",type:"keyword",info:"System`CEC"},{label:"D",type:"keyword",info:" n n "},{label:"DagumDistribution",type:"keyword",info:"DagumDistribution[p, a, b] represents a Dagum distribution with shape parameters p and a and scale p"},{label:"DamData",type:"keyword",info:"DamData[entity, property] gives the value of the specified property for the dam entity.DamData[{enti"},{label:"DamerauLevenshteinDistance",type:"keyword",info:"DamerauLevenshteinDistance[u, v] gives the Damerau–Levenshtein distance between strings or vectors u"},{label:"DampingFactor",type:"keyword",info:"DampingFactor is an option for FindRoot, which can be used to control convergence behavior. DampingF"},{label:"Darker",type:"keyword",info:"Darker[color] represents a darker version of the specified color. Darker[color, f] represents a vers"},{label:"Dashed",type:"keyword",info:"Dashed is a graphics directive specifying that lines that follow should be drawn dashed."},{label:"Dashing",type:"keyword",info:"Dashing[{r , r , …}] is a two-dimensional graphics directive specifying that lines that follow are t"},{label:"DatabaseConnect",type:"keyword",info:"DatabaseConnect[db] activates a connection to the database db."},{label:"DatabaseDisconnect",type:"keyword",info:"DatabaseDisconnect[db] deactivates a connection to the database db. "},{label:"DatabaseReference",type:"keyword",info:'DatabaseReference[File["filename"]] represents a reference to a local file-based SQL database.Databa'},{label:"Databin",type:"keyword",info:'Databin["id"] represents a databin in the Wolfram Data Drop.Databin["id", n] represents the first n '},{label:"DatabinAdd",type:"keyword",info:"DatabinAdd[bin, data] adds the specified data to a databin."},{label:"DatabinRemove",type:"keyword",info:" th\nDatabinRemove[bin, i] removes the i entry from a databin.Da"},{label:"Databins",type:"keyword",info:"Databins[] gives a list of databins associated with the currently connected user."},{label:"DatabinSubmit",type:"keyword",info:"DatabinSubmit[bin, data] submits the specified data to be added to the databin bin asynchronously."},{label:"DatabinUpload",type:"keyword",info:"DatabinUpload[bin, {entry , entry , …}] bulk uploads all the entries entry to a databin.DatabinUplo"},{label:"DataCompression",type:"keyword",info:"System`DataCompression"},{label:"DataDistribution",type:"keyword",info:"DataDistribution[ddist, …] represents a probability distribution of type ddist, estimated from a set"},{label:"DataRange",type:"keyword",info:"DataRange is an option for functions such as ListPlot and ListDensityPlot that specifies what range "},{label:"DataReversed",type:"keyword",info:"DataReversed is an option for ArrayPlot and related functions that specifies whether data should be "},{label:"Dataset",type:"keyword",info:"Dataset[data] represents a structured dataset based on a hierarchy of lists and associations."},{label:"DatasetDisplayPanel",type:"keyword",info:"System`DatasetDisplayPanel"},{label:"DatasetTheme",type:"keyword",info:"DatasetTheme is an option for Dataset that specifies an overall theme for a dataset and its elements"},{label:"DataStructure",type:"keyword",info:'DataStructure["type", data] represents a data structure.'},{label:"DataStructureQ",type:"keyword",info:"DataStructureQ[ds] yields True if ds is a valid data structure and False otherwise.DataStructureQ[ds"},{label:"Date",type:"keyword",info:"Date[] gives the current local date and time in the form {year, month, day, hour, minute, second}. "},{label:"DateBounds",type:"keyword",info:"DateBounds[{date , date , …}] gives the earliest and latest of the date .DateBounds[tseries] gives t"},{label:"Dated",type:"keyword",info:"Dated[obj, year] represents the object obj associated with a particular year.Dated[obj, date] repres"},{label:"DateDelimiters",type:"keyword",info:"System`DateDelimiters"},{label:"DateDifference",type:"keyword",info:"DateDifference[date , date ] gives the number of days from date to date .DateDifference[date , date"},{label:"DatedUnit",type:"keyword",info:"DatedUnit[unit, date] represents the specified unit at a specific date."},{label:"DateFormat",type:"keyword",info:"DateFormat is an option that determines the date formatting of dates."},{label:"DateFunction",type:"keyword",info:"DateFunction is an option for DateListPlot and TemporalData that specifies how dates given as input "},{label:"DateHistogram",type:"keyword",info:"DateHistogram[{date , date , …}] plots a histogram of the dates date .DateHistogram[{date , date , …"},{label:"DateInterval",type:"keyword",info:"DateInterval[{start, end}] represents the continuous interval of time between start and end.DateInte"},{label:"DateList",type:"keyword",info:"DateList[] gives the current local date and time in the form {year, month, day, hour, minute, second"},{label:"DateListLogPlot",type:"keyword",info:"DateListLogPlot[{{date , v }, {date , v }, …}] makes a log plot with values v at a sequence of date"},{label:"DateListPlot",type:"keyword",info:"DateListPlot[{{date , v }, {date , v }, …, {date , v }}] plots points with values v at a sequence o"},{label:"DateListStepPlot",type:"keyword",info:"DateListStepPlot[{{date , v }, {date , v }, …}] plots the values v in steps at a sequence of dates."},{label:"DateObject",type:"keyword",info:"DateObject[] gives the current local date.DateObject[date] gives a date object corresponding to the "},{label:"DateObjectQ",type:"keyword",info:"DateObjectQ[expr] gives True if expr is a DateObject with valid arguments, and False otherwise."},{label:"DateOverlapsQ",type:"keyword",info:"DateOverlapsQ[date , date ] returns True if the calendar dates date and date overlap, and False ot"},{label:"DatePattern",type:"keyword",info:'DatePattern[{"e ", "e ", …}] represents the characters of a date with elements of type "e " in Strin'},{label:"DatePlus",type:"keyword",info:"DatePlus[date, n] gives the date n days after date.DatePlus[date, {n, step}] gives the date n calend"},{label:"DateRange",type:"keyword",info:"DateRange[date , date ] gives all dates in the range from date to date .DateRange[date , date , inc"},{label:"DateReduction",type:"keyword",info:"DateReduction is an option for DateHistogram that specifies the length for cyclic periods of time."},{label:"DateScale",type:"keyword",info:"DateScale[] represents the canonical mapping of continuous dates and times to a quantitative scale."},{label:"DateSelect",type:"keyword",info:"DateSelect[list, crit] picks out all dates date of a list for which crit[date ] is True.DateSelect["},{label:"DateString",type:"keyword",info:"DateString[] gives a string representing the complete current local date and time. DateString[date] "},{label:"DateTicksFormat",type:"keyword",info:"DateTicksFormat is an option for DateListPlot which specifies how date tick labels should be formatt"},{label:"DateValue",type:"keyword",info:'DateValue["elem"] gives the specified element of the current date and time.DateValue[{elem , elem , '},{label:"DateWithinQ",type:"keyword",info:"DateWithinQ[date , date ] returns True if the calendar date date is entirely contained within date "},{label:"DaubechiesWavelet",type:"keyword",info:"DaubechiesWavelet[] represents a Daubechies wavelet of order 2. DaubechiesWavelet[n] represents a Da"},{label:"DavisDistribution",type:"keyword",info:"DavisDistribution[b, n, μ] represents a Davis distribution with scale parameter b, shape parameter n"},{label:"DawsonF",type:"keyword",info:"DawsonF[z] gives the Dawson integral F(z)."},{label:"DayCount",type:"keyword",info:"DayCount[date , date ] gives the number of days from date to date .DayCount[date , date , daytype] "},{label:"DayCountConvention",type:"keyword",info:"DayCountConvention is an option that specifies the day count convention used by DateDifference."},{label:"DayHemisphere",type:"keyword",info:"DayHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth tha"},{label:"DaylightQ",type:"keyword",info:"DaylightQ[] gives True if it is currently daylight from the user's location.DaylightQ[datespec] give"},{label:"DayMatchQ",type:"keyword",info:"DayMatchQ[date, daytype] returns True if the date matches the daytype specification and returns Fals"},{label:"DayName",type:"keyword",info:"DayName[] gives the current day of the week.DayName[date] gives the day of the week for the given da"},{label:"DayNightTerminator",type:"keyword",info:"DayNightTerminator[] is a one-dimensional GeoGraphics primitive that represents the separation line "},{label:"DayPlus",type:"keyword",info:"DayPlus[date, n] gives the date n days away from date.DayPlus[date, n, daytype] gives the date that "},{label:"DayRange",type:"keyword",info:"DayRange[date , date ] gives the dates in the range from date to date .DayRange[date , date , dayty"},{label:"DayRound",type:"keyword",info:"DayRound[date, daytype] rounds date to the nearest day of daytype, using the next-day rounding conve"},{label:"DeBruijnGraph",type:"keyword",info:"DeBruijnGraph[m, n] gives the n-dimensional De Bruijn graph with m symbols.DeBruijnGraph[m, n, type]"},{label:"DeBruijnSequence",type:"keyword",info:"DeBruijnSequence[list, n] gives a de Bruijn sequence on the elements in list taken n at a time.DeBru"},{label:"Debug",type:"keyword",info:"System`Debug"},{label:"DebugTag",type:"keyword",info:"System`DebugTag"},{label:"Decapitalize",type:"keyword",info:"Decapitalize[string] yields a string in which the first character has been made lowercase."},{label:"Decimal",type:"keyword",info:"Decimal is a setting for the ColumnAlignments option of GridBox which states that numbers should ali"},{label:"DecimalForm",type:"keyword",info:"DecimalForm[expr] prints with approximate real numbers in expr always given in decimal form, without"},{label:"DeclareKnownSymbols",type:"keyword",info:"System`DeclareKnownSymbols"},{label:"DeclarePackage",type:"keyword",info:'DeclarePackage["context`", {"name ", "name ", …}] declares that Needs["context`"] should automatical'},{label:"Decompose",type:"keyword",info:"Decompose[poly, x] decomposes a polynomial, if possible, into a composition of simpler polynomials. "},{label:"DeconvolutionLayer",type:"keyword",info:"DeconvolutionLayer[n, sz] represents a trainable deconvolutional net layer having n output channels "},{label:"Decrement",type:"keyword",info:"x -- decreases the value of x by 1, returning the old value of x. "},{label:"Decrypt",type:"keyword",info:'Decrypt["password", enc] attempts to decrypt the encrypted object enc using the specified password.D'},{label:"DecryptFile",type:"keyword",info:'DecryptFile["password", file] generates a decrypted version of a file, using the specified password.'},{label:"DedekindEta",type:"keyword",info:"DedekindEta[τ] gives the Dedekind eta modular elliptic function Î\\[CenterDot](τ)."},{label:"DeepSpaceProbeData",type:"keyword",info:"DeepSpaceProbeData[entity, property] gives the value of the specified property for the deep space pr"},{label:"Default",type:"keyword",info:" "},{label:"Default2DTool",type:"keyword",info:"System`Default2DTool"},{label:"Default3DTool",type:"keyword",info:"System`Default3DTool"},{label:"DefaultAttachedCellStyle",type:"keyword",info:"System`DefaultAttachedCellStyle"},{label:"DefaultAxesStyle",type:"keyword",info:"DefaultAxesStyle is a low-level option for graphics functions that specifies the default style to us"},{label:"DefaultBaseStyle",type:"keyword",info:"DefaultBaseStyle is a low-level option for formatting and related constructs that specifies a defaul"},{label:"DefaultBoxStyle",type:"keyword",info:"DefaultBoxStyle is a low-level option for three-dimensional graphics functions that specifies the de"},{label:"DefaultButton",type:"keyword",info:"DefaultButton[] represents an OK button that closes a dialog, and is the default when StyleBox[Dynam"},{label:"DefaultColor",type:"keyword",info:"DefaultColor is an option for graphics functions that specifies the default color to use for lines, "},{label:"DefaultControlPlacement",type:"keyword",info:"System`DefaultControlPlacement"},{label:"DefaultDockedCellStyle",type:"keyword",info:"System`DefaultDockedCellStyle"},{label:"DefaultDuplicateCellStyle",type:"keyword",info:"DefaultDuplicateCellStyle is a notebook option that specifies the default style to use for cells cre"},{label:"DefaultDuration",type:"keyword",info:"DefaultDuration is an option to Animate and related functions that specifies the default total durat"},{label:"DefaultElement",type:"keyword",info:"DefaultElement is an option for Grid and related constructs which specifies what to insert when a ne"},{label:"DefaultFaceGridsStyle",type:"keyword",info:"DefaultFaceGridsStyle is a low-level option for 3D graphics functions that specifies the default sty"},{label:"DefaultFieldHintStyle",type:"keyword",info:"DefaultFieldHintStyle is a low-level option for InputField that specifies the default style to use f"},{label:"DefaultFont",type:"keyword",info:"System`DefaultFont"},{label:"DefaultFontProperties",type:"keyword",info:"DefaultFontProperties is a global option that specifies various properties of a font family, such as"},{label:"DefaultFormatType",type:"keyword",info:"DefaultFormatType is an option for cells that specifies the format used for displaying expressions i"},{label:"DefaultFormatTypeForStyle",type:"keyword",info:"System`DefaultFormatTypeForStyle"},{label:"DefaultFrameStyle",type:"keyword",info:"DefaultFrameStyle is a low-level option for graphics and related constructs that specifies the defau"},{label:"DefaultFrameTicksStyle",type:"keyword",info:"DefaultFrameTicksStyle is a low-level option for 2D graphics functions that specifies the default st"},{label:"DefaultGridLinesStyle",type:"keyword",info:"DefaultGridLinesStyle is a low-level option for 2D graphics functions that specifies the default sty"},{label:"DefaultInlineFormatType",type:"keyword",info:"DefaultInlineFormatType is an option for cells that specifies the format used for displaying express"},{label:"DefaultInputFormatType",type:"keyword",info:"System`DefaultInputFormatType"},{label:"DefaultLabelStyle",type:"keyword",info:"DefaultLabelStyle is a low-level option for formatting and related constructs that specifies the def"},{label:"DefaultMenuStyle",type:"keyword",info:"DefaultMenuStyle is a low-level option for menu-generating constructs that specifies the default sty"},{label:"DefaultNaturalLanguage",type:"keyword",info:"DefaultNaturalLanguage is an option for character selections that specifies the language used when c"},{label:"DefaultNewCellStyle",type:"keyword",info:"DefaultNewCellStyle is a notebook option which specifies the default style to use for new cells crea"},{label:"DefaultNewInlineCellStyle",type:"keyword",info:"DefaultNewInlineCellStyle is an option for cells that specifies the default style to use for new inl"},{label:"DefaultNotebook",type:"keyword",info:"DefaultNotebook is a global option that specifies which notebook is used as a template for all new n"},{label:"DefaultOptions",type:"keyword",info:"DefaultOptions is a style option that allows default options to be specified for particular formatti"},{label:"DefaultOutputFormatType",type:"keyword",info:"System`DefaultOutputFormatType"},{label:"DefaultPrintPrecision",type:"keyword",info:"DefaultPrintPrecision is an option for NumberForm, DecimalForm and related functions that specifies "},{label:"DefaultStyle",type:"keyword",info:"System`DefaultStyle"},{label:"DefaultStyleDefinitions",type:"keyword",info:"DefaultStyleDefinitions is a global option that specifies the default stylesheet for all new noteboo"},{label:"DefaultTextFormatType",type:"keyword",info:"System`DefaultTextFormatType"},{label:"DefaultTextInlineFormatType",type:"keyword",info:"System`DefaultTextInlineFormatType"},{label:"DefaultTicksStyle",type:"keyword",info:"DefaultTicksStyle is a low-level option for graphics functions that specifies the default style to u"},{label:"DefaultTooltipStyle",type:"keyword",info:"DefaultTooltipStyle is a low-level option for tooltips that specifies the default style to use in di"},{label:"DefaultValue",type:"keyword",info:"System`DefaultValue"},{label:"DefaultValues",type:"keyword",info:"DefaultValues[f] gives a list of transformation rules corresponding to all default argument values ("},{label:"Defer",type:"keyword",info:"Defer[expr] yields an object that displays as the unevaluated form of expr, but that is evaluated if"},{label:"DefineExternal",type:"keyword",info:"System`DefineExternal"},{label:"DefineInputStreamMethod",type:"keyword",info:'DefineInputStreamMethod["name", {fname  function , fname  function , … }] defines a custom input'},{label:"DefineOutputStreamMethod",type:"keyword",info:'DefineOutputStreamMethod["name", {fname  function , fname  function , … }] defines a custom outp'},{label:"DefineResourceFunction",type:"keyword",info:"DefineResourceFunction[f] defines a resource function that can be applied to arguments to give the s"},{label:"Definition",type:"keyword",info:'Definition[symbol] prints as the definitions given for a symbol.Definition["symbol"] prints as the d'},{label:"Degree",type:"keyword",info:" π\nDegree gives the nu"},{label:"DegreeCentrality",type:"keyword",info:"DegreeCentrality[g] gives a list of vertex degrees for the vertices in the underlying simple graph o"},{label:"DegreeGraphDistribution",type:"keyword",info:"DegreeGraphDistribution[dlist] represents a degree graph distribution with vertex degree dlist."},{label:"DegreeLexicographic",type:"keyword",info:"System`DegreeLexicographic"},{label:"DegreeReverseLexicographic",type:"keyword",info:"System`DegreeReverseLexicographic"},{label:"DEigensystem",type:"keyword",info:"DEigensystem[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues and eige"},{label:"DEigenvalues",type:"keyword",info:"DEigenvalues[ℒ[u[x, y, …], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues for the l"},{label:"Deinitialization",type:"keyword",info:"Deinitialization is an option for Dynamic, DynamicModule, Manipulate, and related constructs that sp"},{label:"Del",type:"keyword",info:"Del[x] displays as ∇ x."},{label:"DelaunayMesh",type:"keyword",info:"DelaunayMesh[{p , p , …}] gives a MeshRegion representing the Delaunay mesh from the points p , p , "},{label:"Delayed",type:"keyword",info:"Delayed[expr] represents an expression whose evaluation is delayed until its value is externally req"},{label:"Deletable",type:"keyword",info:"Deletable is an option for Cell that specifies whether the cell can be deleted interactively using t"},{label:"Delete",type:"keyword",info:"Delete[expr, n] deletes the element at position n in expr. If n is negative, the position is counted"},{label:"DeleteAnomalies",type:"keyword",info:"DeleteAnomalies[{example , example , …}] gives a list in which example that are considered anomalou"},{label:"DeleteBorderComponents",type:"keyword",info:"DeleteBorderComponents[image] replaces connected components adjacent to the border in a binary image"},{label:"DeleteCases",type:"keyword",info:"DeleteCases[expr, pattern] removes all elements of expr that match pattern. DeleteCases[expr, patter"},{label:"DeleteChannel",type:"keyword",info:"DeleteChannel[channel] deletes the specified channel from the channel broker server.DeleteChannel[{c"},{label:"DeleteCloudExpression",type:"keyword",info:'DeleteCloudExpression["name"] deletes the cloud expression identified by "name".DeleteCloudExpressio'},{label:"DeleteContents",type:"keyword",info:"DeleteContents is an option for DeleteDirectory that specifies whether the contents of directories s"},{label:"DeleteDirectory",type:"keyword",info:'DeleteDirectory["dir"] deletes the specified directory. '},{label:"DeleteDuplicates",type:"keyword",info:"DeleteDuplicates[list] deletes all duplicates from list.DeleteDuplicates[list, test] applies test to"},{label:"DeleteDuplicatesBy",type:"keyword",info:"DeleteDuplicatesBy[{e , e , …}, f] deletes those e that yield duplicates in the list {f[e ], f[e ],"},{label:"DeleteFile",type:"keyword",info:'DeleteFile["file"] deletes a file. DeleteFile[{"file ", "file ", …}] deletes a list of files. \n '},{label:"DeleteMissing",type:"keyword",info:"DeleteMissing[list] drops elements with head Missing from a list.DeleteMissing[assoc] drops elements"},{label:"DeleteObject",type:"keyword",info:"DeleteObject[obj] deletes the object obj.DeleteObject[{obj , obj , …}] deletes all the obj .\n "},{label:"DeletePermissionsKey",type:"keyword",info:"DeletePermissionsKey[key] deletes a permissions key, rendering it invalid.DeletePermissionsKey[{key "},{label:"DeleteSearchIndex",type:"keyword",info:"DeleteSearchIndex[obj] deletes the search index represented by the search index object obj.DeleteSea"},{label:"DeleteSmallComponents",type:"keyword",info:"DeleteSmallComponents[image] replaces small connected components in a binary image image with backgr"},{label:"DeleteStopwords",type:"keyword",info:'DeleteStopwords[list] deletes stopwords from a list of words.DeleteStopwords["string"] deletes stopw'},{label:"DeleteWithContents",type:"keyword",info:"System`DeleteWithContents"},{label:"DeletionWarning",type:"keyword",info:"DeletionWarning is an option for InterpretationBox or TagBox objects that specifies whether a warnin"},{label:"DelimitedArray",type:"keyword",info:"System`DelimitedArray"},{label:"DelimitedSequence",type:"keyword",info:"DelimitedSequence[form] represents a delimited sequence of elements of the specified form in Interpr"},{label:"Delimiter",type:"keyword",info:"Delimiter represents a delimiter to be displayed in objects such as PopupMenu, Manipulate, and FormO"},{label:"DelimiterAutoMatching",type:"keyword",info:"DelimiterAutoMatching is an option for cells and notebooks that specifies whether matching delimiter"},{label:"DelimiterFlashTime",type:"keyword",info:"DelimiterFlashTime is an option for cells and notebooks that specifies how long in seconds a delimit"},{label:"DelimiterMatching",type:"keyword",info:"DelimiterMatching is an option for selections that specifies whether an opening delimiter will match"},{label:"Delimiters",type:"keyword",info:"Delimiters is an option to various functions that specifies what delimiters to use or look for."},{label:"DeliveryFunction",type:"keyword",info:"DeliveryFunction is an option that specifies how material such as documents generated by DocumentGen"},{label:"Dendrogram",type:"keyword",info:"Dendrogram[{e , e , …}] constructs a dendrogram from the hierarchical clustering of the elements e ,"},{label:"Denominator",type:"keyword",info:"Denominator[expr] gives the denominator of expr. "},{label:"DensityGraphics",type:"keyword",info:"DensityGraphics[array] is a representation of a density plot. "},{label:"DensityHistogram",type:"keyword",info:"DensityHistogram[{{x , y }, {x , y }, …}] plots a density histogram of the values {x , y }.DensityHi"},{label:"DensityPlot",type:"keyword",info:"DensityPlot[f, {x, x , x }, {y, y , y }] makes a density plot of f as a function of x and y."},{label:"DensityPlot3D",type:"keyword",info:"DensityPlot3D[f, {x, x , x }, {y, y , y }, {z, z , z }] makes a density plot of f as a f"},{label:"DependentVariables",type:"keyword",info:"DependentVariables is an option for NDSolve and other functions that specifies the list of all objec"},{label:"Deploy",type:"keyword",info:"Deploy[expr] yields a deployed version of expr in which elements such as Slider, InputField, Locator"},{label:"Deployed",type:"keyword",info:"Deployed is an option for displayed objects, cells, and notebooks that specifies whether their conte"},{label:"Depth",type:"keyword",info:"Depth[expr] gives the maximum number of indices needed to specify any part of expr, plus 1. "},{label:"DepthFirstScan",type:"keyword",info:"DepthFirstScan[g, s, {event  f , event  f , …}] performs a depth-first scan of the graph g start"},{label:"Derivative",type:"keyword",info:"f ' represents the derivative of a function f of one argument. Derivative[n , n , …][f] is the gener"},{label:"DerivativeFilter",type:"keyword",info:" th\nDerivativeFilter[data, {n , n , …}] computes "},{label:"DerivativePDETerm",type:"keyword",info:"DerivativePDETerm[vars, Î.b3] represents a load derivative term ∇ Â\\[CenterDot] (Î.b3) with load derivative"},{label:"DerivedKey",type:"keyword",info:"DerivedKey[assoc] represents a derived key generated by GenerateDerivedKey."},{label:"DescriptorStateSpace",type:"keyword",info:"DescriptorStateSpace is an option to StateSpaceModel and StateSpaceTransform that specifies whether "},{label:"DesignMatrix",type:"keyword",info:"DesignMatrix[{{x , x , …, y }, {x , x , …, y }, …}, {f , f , …}, {x , x , …}] constructs the des"},{label:"DestroyAfterEvaluation",type:"keyword",info:"System`DestroyAfterEvaluation"},{label:"Det",type:"keyword",info:"Det[m] gives the determinant of the square matrix m. "},{label:"DeviceClose",type:"keyword",info:"DeviceClose[device] closes the connection to a device and frees related resources."},{label:"DeviceConfigure",type:"keyword",info:"DeviceConfigure[device, config] configures the specified device according to config."},{label:"DeviceExecute",type:"keyword",info:'DeviceExecute[device, "command"] executes the specified command on a device.DeviceExecute[device, "c'},{label:"DeviceExecuteAsynchronous",type:"keyword",info:'DeviceExecuteAsynchronous[device, "command", fun] initiates asynchronous execution of the specified '},{label:"DeviceObject",type:"keyword",info:"DeviceObject[…] represents a device that can be accessed in a Wolfram Language session."},{label:"DeviceOpen",type:"keyword",info:'DeviceOpen["devclass"] opens a connection to the first available device in the class specified by "d'},{label:"DeviceOpenQ",type:"keyword",info:"System`DeviceOpenQ"},{label:"DeviceRead",type:"keyword",info:"DeviceRead[devobj] reads a single default item from the open device corresponding to the specified D"},{label:"DeviceReadBuffer",type:"keyword",info:"DeviceReadBuffer[device] reads the complete contents of the buffer on a device.DeviceReadBuffer[devi"},{label:"DeviceReadLatest",type:"keyword",info:"DeviceReadLatest[device] returns the most recently collected default item from a device.DeviceReadLa"},{label:"DeviceReadList",type:"keyword",info:"DeviceReadList[device, n] reads from the specified device n times, returning a list of the results.D"},{label:"DeviceReadTimeSeries",type:"keyword",info:"DeviceReadTimeSeries[device, {t, dt}] repeatedly reads default items from the specified device at in"},{label:"Devices",type:"keyword",info:"Devices[] gives a list of registered devices on a particular system.Devices[form] gives a list of de"},{label:"DeviceStreams",type:"keyword",info:"DeviceStreams[device] gives a list of all open streams associated with a device.DeviceStreams[device"},{label:"DeviceWrite",type:"keyword",info:"DeviceWrite[device, val] writes the value val to the specified device.DeviceWrite[device, {val , val"},{label:"DeviceWriteBuffer",type:"keyword",info:"DeviceWriteBuffer[device, vals] fills the buffer on a device with the values vals.DeviceWriteBuffer["},{label:"DGaussianWavelet",type:"keyword",info:"DGaussianWavelet[] represents a derivative of Gaussian wavelet of derivative order 2.DGaussianWavele"},{label:"DiacriticalPositioning",type:"keyword",info:"DiacriticalPositioning is an option for UnderscriptBox and related boxes that specifies how close di"},{label:"Diagonal",type:"keyword",info:" "},{label:"DiagonalizableMatrixQ",type:"keyword",info:"DiagonalizableMatrixQ[m] gives True if m is diagonalizable, and False otherwise. "},{label:"DiagonalMatrix",type:"keyword",info:" "},{label:"DiagonalMatrixQ",type:"keyword",info:" "},{label:"Dialog",type:"keyword",info:"Dialog[] initiates a dialog. Dialog[expr] initiates a dialog with expr as the current value of %. \n"},{label:"DialogIndent",type:"keyword",info:"System`DialogIndent"},{label:"DialogInput",type:"keyword",info:"DialogInput[expr] interactively puts up expr as a dialog notebook, waits until a DialogReturn[e] is "},{label:"DialogLevel",type:"keyword",info:"System`DialogLevel"},{label:"DialogNotebook",type:"keyword",info:"DialogNotebook[{cell , cell , …}] represents a dialog notebook that can be manipulated by the Wolfra"},{label:"DialogProlog",type:"keyword",info:"DialogProlog is an option for Dialog that can give an expression to evaluate before the dialog start"},{label:"DialogReturn",type:"keyword",info:"DialogReturn[expr] closes a dialog window, returning the expression expr from the dialog.DialogRetur"},{label:"DialogSymbols",type:"keyword",info:"DialogSymbols is an option for Dialog that gives a list of symbols whose values should be localized "},{label:"Diamond",type:"keyword",info:"Diamond[x, y, …] displays as x ⋄ y ⋄ …."},{label:"DiamondMatrix",type:"keyword",info:" "},{label:"DiceDissimilarity",type:"keyword",info:"DiceDissimilarity[x, y] gives the Dice dissimilarity between Boolean vectors x and y."},{label:"DictionaryLookup",type:"keyword",info:"DictionaryLookup[patt] finds all words in an English dictionary that match the string pattern patt.D"},{label:"DictionaryWordQ",type:"keyword",info:'DictionaryWordQ["word"] tests whether "word" is a recognized dictionary word.'},{label:"DifferenceDelta",type:"keyword",info:" "},{label:"DifferenceOrder",type:"keyword",info:"System`DifferenceOrder"},{label:"DifferenceQuotient",type:"keyword",info:"DifferenceQuotient[f, {x, h}] gives the difference quotient (f(x + h) - f(x))/h.DifferenceQuotient["},{label:"DifferenceRoot",type:"keyword",info:"DifferenceRoot[lde][k] gives the holonomic sequence h(k), specified by the linear difference equatio"},{label:"DifferenceRootReduce",type:"keyword",info:"DifferenceRootReduce[expr, n] attempts to reduce expr to a single DifferenceRoot object as a functio"},{label:"Differences",type:"keyword",info:" "},{label:"DifferentialD",type:"keyword",info:"DifferentialD[x] displays as  x."},{label:"DifferentialRoot",type:"keyword",info:"DifferentialRoot[lde][x] gives the holonomic function h(x), specified by the linear differential equ"},{label:"DifferentialRootReduce",type:"keyword",info:"DifferentialRootReduce[expr, x] attempts to reduce expr to a single DifferentialRoot object as a fun"},{label:"DifferentiatorFilter",type:"keyword",info:"DifferentiatorFilter[data, ω ] applies a differentiator filter with a cutoff frequency ω to an arra"},{label:"DiffusionPDETerm",type:"keyword",info:"DiffusionPDETerm[vars] represents a diffusion term ∇ Â\\[CenterDot] (-∇ u) with model varia"},{label:"DiggleGatesPointProcess",type:"keyword",info:" "},{label:"DiggleGrattonPointProcess",type:"keyword",info:" "},{label:"DigitalSignature",type:"keyword",info:"DigitalSignature[assoc] represents a digital signature object."},{label:"DigitBlock",type:"keyword",info:"DigitBlock is an option for NumberForm and related functions that specifies the maximum length of bl"},{label:"DigitBlockMinimum",type:"keyword",info:"System`DigitBlockMinimum"},{label:"DigitCharacter",type:"keyword",info:"DigitCharacter represents a digit character 0–9 in StringExpression. "},{label:"DigitCount",type:"keyword",info:"DigitCount[n, b, d] gives the number of d digits in the base-b representation of n. DigitCount[n, b]"},{label:"DigitQ",type:"keyword",info:"DigitQ[string] yields True if all the characters in the string are digits in the range 0 through 9, "},{label:"DihedralAngle",type:"keyword",info:"DihedralAngle[{p , p }, {v, w}] gives the angle between two half-planes bounded by the line through "},{label:"DihedralGroup",type:"keyword",info:"DihedralGroup[n] represents the dihedral group of order 2n."},{label:"Dilation",type:"keyword",info:"Dilation[image, ker] gives the morphological dilation of image with respect to the structuring eleme"},{label:"DimensionalCombinations",type:"keyword",info:"DimensionalCombinations[{pq , pq , …}] returns the possible combinations of the list of physical qua"},{label:"DimensionalMeshComponents",type:"keyword",info:"DimensionalMeshComponents[mr] gives a list {r , r , …} of regions such that r has dimension d for a"},{label:"DimensionReduce",type:"keyword",info:"DimensionReduce[{example , example , …}] projects the examples example to a lower-dimensional appro"},{label:"DimensionReducerFunction",type:"keyword",info:"DimensionReducerFunction[…] represents a function generated by DimensionReduction that projects data"},{label:"DimensionReduction",type:"keyword",info:"DimensionReduction[{example , example , …}] generates a DimensionReducerFunction[…] that projects fr"},{label:"Dimensions",type:"keyword",info:"Dimensions[expr] gives a list of the dimensions of expr. Dimensions[expr, n] gives a list of the dim"},{label:"DiracComb",type:"keyword",info:"DiracComb[x] represents the Dirac comb function (x) giving a delta function at every integer point."},{label:"DiracDelta",type:"keyword",info:"DiracDelta[x] represents the Dirac delta function Î.b4(x). DiracDelta[x , x , …] represents the multidi"},{label:"DirectedEdge",type:"keyword",info:" t\nDire"},{label:"DirectedEdges",type:"keyword",info:"DirectedEdges is an option for Graph, GraphPlot, and related functions that specifies whether edges "},{label:"DirectedGraph",type:"keyword",info:"DirectedGraph[g] gives a directed graph from the undirected graph g.DirectedGraph[g, conv] gives a d"},{label:"DirectedGraphQ",type:"keyword",info:"DirectedGraphQ[g] yields True if the graph g is a directed graph and False otherwise."},{label:"DirectedInfinity",type:"keyword",info:"DirectedInfinity[] represents an infinite numerical quantity whose direction in the complex plane is"},{label:"Direction",type:"keyword",info:"Direction is an option for Limit and related functions that specifies the direction in which the lim"},{label:"DirectionalLight",type:"keyword",info:"DirectionalLight[col, pt] is a three–dimensional graphics directive that specifies the directional l"},{label:"Directive",type:"keyword",info:"Directive[g , g , …] represents a single graphics directive composed of the directives g , g , ….\n "},{label:"Directory",type:"keyword",info:"Directory[] gives the current working directory. "},{label:"DirectoryName",type:"keyword",info:'DirectoryName["name"] extracts the directory name from the specification for a file. '},{label:"DirectoryQ",type:"keyword",info:'DirectoryQ["name"] gives True if the directory with the specified name exists, and gives False other'},{label:"DirectoryStack",type:"keyword",info:"DirectoryStack[] gives the directory stack that represents the sequence of current directories used."},{label:"DirichletBeta",type:"keyword",info:"DirichletBeta[s] gives the Dirichlet beta function Î.b2(s)."},{label:"DirichletCharacter",type:"keyword",info:"DirichletCharacter[k, j, n] gives the Dirichlet character χ (n) with modulus k and index j.\n "},{label:"DirichletCondition",type:"keyword",info:"DirichletCondition[beqn, pred] represents a Dirichlet boundary condition given by equation beqn, sat"},{label:"DirichletConvolve",type:"keyword",info:"DirichletConvolve[f, g, n, m] gives the Dirichlet convolution of the expressions f and g. "},{label:"DirichletDistribution",type:"keyword",info:"DirichletDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }] represents a Dirichlet distribution of dimension k with shape"},{label:"DirichletEta",type:"keyword",info:"DirichletEta[s] gives the Dirichlet eta function Î\\[CenterDot](s)."},{label:"DirichletL",type:"keyword",info:"DirichletL[k, j, s] gives the Dirichlet L-function L(χ, s) for the Dirichlet character χ(n) with mod"},{label:"DirichletLambda",type:"keyword",info:"DirichletLambda[s] gives the Dirichlet lambda function λ(s)."},{label:"DirichletTransform",type:"keyword",info:"DirichletTransform[expr, n, s] gives the Dirichlet transform of expr with respect to n."},{label:"DirichletWindow",type:"keyword",info:"DirichletWindow[x] represents a Dirichlet window function of x."},{label:"DisableConsolePrintPacket",type:"keyword",info:"System`DisableConsolePrintPacket"},{label:"DisableFormatting",type:"keyword",info:"DisableFormatting[expr] is a form that disables the formatting of expr when it appears inside held e"},{label:"DiscreteAsymptotic",type:"keyword",info:"DiscreteAsymptotic[expr, n  ∞] gives an asymptotic approximation for expr as n tends to infinity ov"},{label:"DiscreteChirpZTransform",type:"keyword",info:"DiscreteChirpZTransform[list] gives the chirp Z transform of list.DiscreteChirpZTransform[list, n] r"},{label:"DiscreteConvolve",type:"keyword",info:"DiscreteConvolve[f, g, n, m] gives the convolution with respect to n of the expressions f and g. Dis"},{label:"DiscreteDelta",type:"keyword",info:"DiscreteDelta[n , n , …] gives the discrete delta function Î.b4 (n , n , …), equal to 1 if all the n a"},{label:"DiscreteHadamardTransform",type:"keyword",info:"DiscreteHadamardTransform[list] gives the discrete Hadamard transform of list."},{label:"DiscreteIndicator",type:"keyword",info:"DiscreteIndicator[x, x , {u , u , …}] yields the discrete indicator function, equal to 1 if x = x a"},{label:"DiscreteLimit",type:"keyword",info:" "},{label:"DiscreteLQEstimatorGains",type:"keyword",info:"DiscreteLQEstimatorGains[ssm, {w, v}, τ] gives the optimal discrete-time estimator gain matrix with "},{label:"DiscreteLQRegulatorGains",type:"keyword",info:"DiscreteLQRegulatorGains[sspec, wts, τ] gives the discrete-time state feedback gains with sampling p"},{label:"DiscreteLyapunovSolve",type:"keyword",info:"DiscreteLyapunovSolve[a, c] finds the numeric solution x of the discrete matrix equation a . x . a "},{label:"DiscreteMarkovProcess",type:"keyword",info:"DiscreteMarkovProcess[i , m] represents a discrete-time, finite-state Markov process with transition"},{label:"DiscreteMaxLimit",type:"keyword",info:" "},{label:"DiscreteMinLimit",type:"keyword",info:" "},{label:"DiscretePlot",type:"keyword",info:"DiscretePlot[expr, {n, n }] generates a plot of the values of expr when n runs from 1 to n .Disc"},{label:"DiscretePlot3D",type:"keyword",info:"DiscretePlot3D[expr, {i, i , i }, {j, j , j }] generates a plot of the values of expr when i"},{label:"DiscreteRatio",type:"keyword",info:" f(i + 1)\nDiscreteRatio[f, i] gives the discrete ratio -"},{label:"DiscreteRiccatiSolve",type:"keyword",info:" "},{label:"DiscreteShift",type:"keyword",info:" "},{label:"DiscreteTimeModelQ",type:"keyword",info:"DiscreteTimeModelQ[lsys] gives True if lsys is a discrete-time systems model, and False otherwise."},{label:"DiscreteUniformDistribution",type:"keyword",info:"DiscreteUniformDistribution[{i , i }] represents a discrete uniform distribution over the intege"},{label:"DiscreteVariables",type:"keyword",info:"DiscreteVariables is an option for NDSolve and other functions that specifies variables that only ch"},{label:"DiscreteWaveletData",type:"keyword",info:"DiscreteWaveletData[{wind  coef , …}, wave, wtrans] yields a discrete wavelet data object with wav"},{label:"DiscreteWaveletPacketTransform",type:"keyword",info:"DiscreteWaveletPacketTransform[data] gives the discrete wavelet packet transform (DWPT) of an array "},{label:"DiscreteWaveletTransform",type:"keyword",info:"DiscreteWaveletTransform[data] gives the discrete wavelet transform (DWT) of an array of data.Discre"},{label:"DiscretizeGraphics",type:"keyword",info:"DiscretizeGraphics[g] discretizes a 2D or 3D graphic g into a MeshRegion.DiscretizeGraphics[g, patt]"},{label:"DiscretizeRegion",type:"keyword",info:"DiscretizeRegion[reg] discretizes a region reg into a MeshRegion.DiscretizeRegion[reg, {{x , x }"},{label:"Discriminant",type:"keyword",info:"Discriminant[poly, var] computes the discriminant of the polynomial poly with respect to the variabl"},{label:"DisjointQ",type:"keyword",info:"DisjointQ[list , list ] yields True if list and list do not share any common elements, and False o"},{label:"Disjunction",type:"keyword",info:"Disjunction[expr, {a , a , …}] gives the disjunction of expr over all choices of the Boolean variabl"},{label:"Disk",type:"keyword",info:"Disk[{x, y}, r] represents a disk of radius r centered at {x, y}.Disk[{x, y}] gives a disk of radius"},{label:"DiskBox",type:"keyword",info:"System`DiskBox"},{label:"DiskMatrix",type:"keyword",info:" "},{label:"DiskSegment",type:"keyword",info:"DiskSegment[{x, y}, r, {θ , θ }] represents the disk segment from angle θ to θ in a disk centered "},{label:"Dispatch",type:"keyword",info:"Dispatch[{lhs  rhs , lhs  rhs , …}] generates an optimized dispatch table representation of a li"},{label:"DispatchQ",type:"keyword",info:"System`DispatchQ"},{label:"DispersionEstimatorFunction",type:"keyword",info:"DispersionEstimatorFunction is an option for generalized linear model fitting functions that specifi"},{label:"Display",type:"keyword",info:"Display[channel, graphics] writes graphics or sound to the specified output channel in PostScript fo"},{label:"DisplayAllSteps",type:"keyword",info:"DisplayAllSteps is an option to Animate and related functions that specifies whether all frames shou"},{label:"DisplayEndPacket",type:"keyword",info:"DisplayEndPacket[] is a WSTP packet that indicates the end of a series of expressions relating to a "},{label:"DisplayFlushImagePacket",type:"keyword",info:"System`DisplayFlushImagePacket"},{label:"DisplayForm",type:"keyword",info:"DisplayForm[expr] prints with low-level boxes inside expr shown in explicit two-dimensional or other"},{label:"DisplayFunction",type:"keyword",info:"DisplayFunction is an option for graphics and sound functions that specifies a function to apply to "},{label:"DisplayPacket",type:"keyword",info:"DisplayPacket[] is a WSTP packet that indicates the beginning of a series of expressions related to "},{label:"DisplayRules",type:"keyword",info:"System`DisplayRules"},{label:"DisplaySetSizePacket",type:"keyword",info:"System`DisplaySetSizePacket"},{label:"DisplayString",type:"keyword",info:"DisplayString[graphics] generates a string giving graphics or sound in PostScript format. DisplayStr"},{label:"DisplayTemporary",type:"keyword",info:"System`DisplayTemporary"},{label:"DisplayWith",type:"keyword",info:"System`DisplayWith"},{label:"DisplayWithRef",type:"keyword",info:"System`DisplayWithRef"},{label:"DisplayWithVariable",type:"keyword",info:"System`DisplayWithVariable"},{label:"DistanceFunction",type:"keyword",info:"DistanceFunction is an option for functions such as Nearest that specifies the distance value to ass"},{label:"DistanceMatrix",type:"keyword",info:"DistanceMatrix[{u , u , …}] gives the matrix of distances between each pair of elements u , u . Dist"},{label:"DistanceTransform",type:"keyword",info:"DistanceTransform[image] gives the distance transform of image, in which the value of each pixel is "},{label:"Distribute",type:"keyword",info:"Distribute[f[x , x , …]] distributes f over Plus appearing in any of the x . Distribute[expr, g] dis"},{label:"Distributed",type:"keyword",info:"Distributed[x, dist] or x  dist asserts that the random variable x is distributed according to the "},{label:"DistributedContexts",type:"keyword",info:"DistributedContexts is an option for various parallel computing functions that specifies which defin"},{label:"DistributeDefinitions",type:"keyword",info:"DistributeDefinitions[s , s , …] distributes all definitions for the symbols s to all parallel kern"},{label:"DistributionChart",type:"keyword",info:"DistributionChart[{data , data , …}] makes a distribution chart with a distribution symbol for each "},{label:"DistributionDomain",type:"keyword",info:"System`DistributionDomain"},{label:"DistributionFitTest",type:"keyword",info:"DistributionFitTest[data] tests whether data is normally distributed. DistributionFitTest[data, dist"},{label:"DistributionParameterAssumptions",type:"keyword",info:"DistributionParameterAssumptions[dist] gives a logical expression for assumptions on parameters in t"},{label:"DistributionParameterQ",type:"keyword",info:"DistributionParameterQ[dist] yields True if dist is a valid distribution, and yields False otherwise"},{label:"Dithering",type:"keyword",info:"Dithering is an option for ColorQuantize that specifies whether or not to apply dithering while quan"},{label:"Div",type:"keyword",info:"Div[{f , …, f }, {x , …, x }] gives the divergence ∂ f /∂ x + … + ∂ f /∂ x .Div[{f , …, f }, {x , …"},{label:"Divergence",type:"keyword",info:"System`Divergence"},{label:"Divide",type:"keyword",info:"x/y or Divide[x, y] is equivalent to x y^-1. "},{label:"DivideBy",type:"keyword",info:"x/=c divides x by c and returns the new value of x. "},{label:"Dividers",type:"keyword",info:"Dividers is an option for Grid and related constructs that specifies where and how to draw divider l"},{label:"DivideSides",type:"keyword",info:"DivideSides[rel, x] divides each side of the equation or inequality rel by x.DivideSides[rel , rel ]"},{label:"Divisible",type:"keyword",info:"Divisible[n, m] yields True if n is divisible by m, and yields False if it is not. "},{label:"Divisors",type:"keyword",info:"Divisors[n] gives a list of the integers that divide n. "},{label:"DivisorSigma",type:"keyword",info:"DivisorSigma[k, n] gives the divisor function σ (n). \n "},{label:"DivisorSum",type:"keyword",info:"DivisorSum[n, form] represents the sum of form[i] for all i that divide n.DivisorSum[n, form, cond] "},{label:"DMSList",type:"keyword",info:"DMSList[θ] converts an angle θ given in decimal degrees to a DMS list {degree, minute, second}.DMSLi"},{label:"DMSString",type:"keyword",info:"DMSString[θ] converts an angle θ given in decimal degrees to a degrees-minutes-seconds string.DMSStr"},{label:"Do",type:"keyword",info:"Do[expr, n] evaluates expr n times. Do[expr, {i, i }] evaluates expr with the variable i successiv"},{label:"DockedCells",type:"keyword",info:'DockedCells is an option for notebooks that gives a list of cells that are to be displayed "docked" '},{label:"DocumentGenerator",type:"keyword",info:"DocumentGenerator[template, timespec] represents a document generator with template template to be e"},{label:"DocumentGeneratorInformation",type:"keyword",info:"DocumentGeneratorInformation[CloudObject] returns information about a generator.\nDocumentGeneratorIn"},{label:"DocumentGeneratorInformationData",type:"keyword",info:"System`DocumentGeneratorInformationData"},{label:"DocumentGenerators",type:"keyword",info:"DocumentGenerators[] returns a list of the user's document generators, as cloud objects."},{label:"DocumentNotebook",type:"keyword",info:"DocumentNotebook[{cell , cell , …}] represents a complete document notebook in the Wolfram System fr"},{label:"DocumentWeightingRules",type:"keyword",info:"DocumentWeightingRules is an option for TextSearch and related functions that allows the specificati"},{label:"Dodecahedron",type:"keyword",info:"Dodecahedron[] represents a regular dodecahedron centered at the origin with unit edge length.Dodeca"},{label:"DomainRegistrationInformation",type:"keyword",info:"System`DomainRegistrationInformation"},{label:"DominantColors",type:"keyword",info:"DominantColors[image] returns dominant colors in image.DominantColors[image, n] returns at most n do"},{label:"DominatorTreeGraph",type:"keyword",info:"DominatorTreeGraph[g, v] gives the dominator tree of the directed graph g from the root vertex v."},{label:"DominatorVertexList",type:"keyword",info:"DominatorVertexList[g, v] gives the list of immediate dominators of the directed graph g from the ro"},{label:"DOSTextFormat",type:"keyword",info:"DOSTextFormat is an option for OpenRead, OpenWrite, and OpenAppend that specifies whether files shou"},{label:"Dot",type:"keyword",info:"a . b . c or Dot[a, b, c] gives products of vectors, matrices, and tensors. "},{label:"DotDashed",type:"keyword",info:"DotDashed is a graphics directive specifying that lines that follow should be drawn dot-dashed."},{label:"DotEqual",type:"keyword",info:"DotEqual[x, y, …] displays as x ≐ y ≐ …."},{label:"DotLayer",type:"keyword",info:"DotLayer[] represents a net layer that takes the dot product of two or more arrays.DotLayer[{spec , "},{label:"DotPlusLayer",type:"keyword",info:"DotPlusLayer[n] is equivalent to LinearLayer[n] and should no longer be used. "},{label:"Dotted",type:"keyword",info:"Dotted is a graphics directive specifying that lines that follow should be drawn dotted."},{label:"DoubleBracketingBar",type:"keyword",info:"DoubleBracketingBar[x, y, …] displays as  x, y, … ."},{label:"DoubleContourIntegral",type:"keyword",info:"System`DoubleContourIntegral"},{label:"DoubleDownArrow",type:"keyword",info:"DoubleDownArrow[x, y, …] displays as x ⇓ y…."},{label:"DoubleLeftArrow",type:"keyword",info:"DoubleLeftArrow[x, y, …] displays as x ⇐ y ⇐ …."},{label:"DoubleLeftRightArrow",type:"keyword",info:"DoubleLeftRightArrow[x, y, …] displays as x ⇔ y ⇔ …."},{label:"DoubleLeftTee",type:"keyword",info:"DoubleLeftTee[x, y] displays as x ⫤ y."},{label:"DoubleLongLeftArrow",type:"keyword",info:"DoubleLongLeftArrow[x, y, …] displays as x ⟸ y ⟸ …."},{label:"DoubleLongLeftRightArrow",type:"keyword",info:"DoubleLongLeftRightArrow[x, y, …] displays as x ⟺ y ⟺ …."},{label:"DoubleLongRightArrow",type:"keyword",info:"DoubleLongRightArrow[x, y, …] displays as x ⟹ y ⟹ …."},{label:"DoubleRightArrow",type:"keyword",info:"DoubleRightArrow[x, y, …] displays as x ⇒ y ⇒ …."},{label:"DoubleRightTee",type:"keyword",info:"DoubleRightTee[x, y] displays as x ⊨ y."},{label:"DoubleUpArrow",type:"keyword",info:"DoubleUpArrow[x, y, …] displays as x ⇑ y ⇑ …."},{label:"DoubleUpDownArrow",type:"keyword",info:"DoubleUpDownArrow[x, y, …] displays as x ⇕ y ⇕ …."},{label:"DoubleVerticalBar",type:"keyword",info:"DoubleVerticalBar[x, y, …] displays as x ∥ y ∥ …."},{label:"DoublyInfinite",type:"keyword",info:"DoublyInfinite is an option for LerchPhi. With DoublyInfinite -> True, the summation is taken from -"},{label:"Down",type:"keyword",info:"System`Down"},{label:"DownArrow",type:"keyword",info:"DownArrow[x, y, …] displays as x ↓ y ↓ …."},{label:"DownArrowBar",type:"keyword",info:"DownArrowBar[x, y, …] displays as x ⤓ y ⤓ …."},{label:"DownArrowUpArrow",type:"keyword",info:"DownArrowUpArrow[x, y, …] displays as x â‡\\[Micro] y â‡\\[Micro] …."},{label:"DownLeftRightVector",type:"keyword",info:"DownLeftRightVector[x, y, …] displays as x ⥐ y ⥐ …."},{label:"DownLeftTeeVector",type:"keyword",info:"DownLeftTeeVector[x, y, …] displays as x ⥞ y ⥞ …."},{label:"DownLeftVector",type:"keyword",info:"DownLeftVector[x, y, …] displays as x ↽ y ↽ …."},{label:"DownLeftVectorBar",type:"keyword",info:"DownLeftVectorBar[x, y, …] displays as x ⥖ y ⥖ …."},{label:"DownRightTeeVector",type:"keyword",info:"DownRightTeeVector[x, y, …] displays as x ⥟ y ⥟ …."},{label:"DownRightVector",type:"keyword",info:"DownRightVector[x, y, …] displays as x ⇁ y ⇁ …."},{label:"DownRightVectorBar",type:"keyword",info:"DownRightVectorBar[x, y, …] displays as x ⥗ y ⥗ …."},{label:"Downsample",type:"keyword",info:" th\nDownsample[ar"},{label:"DownTee",type:"keyword",info:"DownTee[x, y] displays as x ⊤ y."},{label:"DownTeeArrow",type:"keyword",info:"DownTeeArrow[x, y, …] displays as x ↧ y ↧ …."},{label:"DownValues",type:"keyword",info:"DownValues[f] gives a list of transformation rules corresponding to all downvalues (values for f[…])"},{label:"DragAndDrop",type:"keyword",info:"DragAndDrop is a global front end option that specifies whether to allow drag‐and‐drop editing. "},{label:"DrawBackFaces",type:"keyword",info:"System`DrawBackFaces"},{label:"DrawEdges",type:"keyword",info:"System`DrawEdges"},{label:"DrawFrontFaces",type:"keyword",info:"System`DrawFrontFaces"},{label:"DrawHighlighted",type:"keyword",info:"System`DrawHighlighted"},{label:"DrazinInverse",type:"keyword",info:" D\nDrazinInverse[m] finds the Drazin generaliz"},{label:"Drop",type:"keyword",info:" "},{label:"DropoutLayer",type:"keyword",info:"DropoutLayer[] represents a net layer that sets its input elements to zero with probability 0.5 duri"},{label:"DSolve",type:"keyword",info:"DSolve[eqn, u, x] solves a differential equation for the function u, with independent variable x. DS"},{label:"DSolveValue",type:"keyword",info:"DSolveValue[eqn, expr, x] gives the value of expr determined by a symbolic solution to the ordinary "},{label:"Dt",type:"keyword",info:" "},{label:"DualLinearProgramming",type:"keyword",info:"System`DualLinearProgramming"},{label:"DualPlanarGraph",type:"keyword",info:"DualPlanarGraph[g] gives the dual of the planar graph g."},{label:"DualPolyhedron",type:"keyword",info:"DualPolyhedron[poly] gives the dual polyhedron of the polyhedron poly."},{label:"DualSystemsModel",type:"keyword",info:"DualSystemsModel[ssm] gives the dual of the state-space model ssm. "},{label:"DumpGet",type:"keyword",info:'DumpGet[ "filename"] reads in a file saved with DumpSave.'},{label:"DumpSave",type:"keyword",info:'DumpSave["file.mx", symbol] writes definitions associated with a symbol to a file in internal Wolfra'},{label:"DuplicateFreeQ",type:"keyword",info:"DuplicateFreeQ[list] gives True if list has no duplicates, and False otherwise.DuplicateFreeQ[list, "},{label:"Duration",type:"keyword",info:"Duration[expr] returns the duration of expr."},{label:"Dynamic",type:"keyword",info:"Dynamic[expr] represents an object that displays as the dynamically updated current value of expr. I"},{label:"DynamicBox",type:"keyword",info:"System`DynamicBox"},{label:"DynamicBoxOptions",type:"keyword",info:"DynamicBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for DynamicBo"},{label:"DynamicEvaluationTimeout",type:"keyword",info:"DynamicEvaluationTimeout is an option for displayed objects, cells, and notebooks that specifies the"},{label:"DynamicGeoGraphics",type:"keyword",info:"DynamicGeoGraphics[primitives, options] represents a dynamic, interactive, two-dimensional geographi"},{label:"DynamicImage",type:"keyword",info:"DynamicImage[image] displays a dynamic version of image, supporting panning, zooming, etc.DynamicIma"},{label:"DynamicLocation",type:"keyword",info:"System`DynamicLocation"},{label:"DynamicModule",type:"keyword",info:"DynamicModule[{x, y, …}, expr] represents an object which maintains the same local instance of the s"},{label:"DynamicModuleBox",type:"keyword",info:"System`DynamicModuleBox"},{label:"DynamicModuleBoxOptions",type:"keyword",info:"DynamicModuleBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Dyn"},{label:"DynamicModuleParent",type:"keyword",info:"System`DynamicModuleParent"},{label:"DynamicModuleValues",type:"keyword",info:"DynamicModuleValues is an option for DynamicModule that stores downvalues of local symbols."},{label:"DynamicName",type:"keyword",info:"System`DynamicName"},{label:"DynamicNamespace",type:"keyword",info:"System`DynamicNamespace"},{label:"DynamicReference",type:"keyword",info:"System`DynamicReference"},{label:"DynamicSetting",type:"keyword",info:"DynamicSetting[e] represents an object which displays as e, but is interpreted as the dynamically up"},{label:"DynamicUpdating",type:"keyword",info:"DynamicUpdating is an option for displayed objects, cells and notebooks that specifies whether dynam"},{label:"DynamicWrapper",type:"keyword",info:"DynamicWrapper[e, expr] represents an object that displays as e, but dynamically updates the express"},{label:"DynamicWrapperBox",type:"keyword",info:"System`DynamicWrapperBox"},{label:"DynamicWrapperBoxOptions",type:"keyword",info:"DynamicWrapperBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Dy"},{label:"DEC",type:"keyword",info:"System`DEC"},{label:"E",type:"keyword",info:"E is the exponential constant  (base of natural logarithms), with numerical value ≃ 2.71828."},{label:"EarthImpactData",type:"keyword",info:"EarthImpactData[entity, property] gives the value of the specified property for the earth impact cra"},{label:"EarthquakeData",type:"keyword",info:"EarthquakeData[loc] gives all earthquake properties for the location corresponding to loc.Earthquake"},{label:"EccentricityCentrality",type:"keyword",info:"EccentricityCentrality[g] gives a list of eccentricity centralities for the vertices in the graph g."},{label:"Echo",type:"keyword",info:"Echo[expr] prints expr and returns expr.Echo[expr, label] prints expr prepending label and returns e"},{label:"EchoEvaluation",type:"keyword",info:"EchoEvaluation[expr] prints expr before evaluation, then prints the result after evaluation and retu"},{label:"EchoFunction",type:"keyword",info:"EchoFunction[f][expr] prints f[expr] and returns expr.EchoFunction[label, f][expr] prints f[expr] pr"},{label:"EchoLabel",type:"keyword",info:"EchoLabel[label][expr] prints expr prepending label and returns expr."},{label:"EchoTiming",type:"keyword",info:"EchoTiming[expr] evaluates expr, prints the time in seconds used and returns the result of the evalu"},{label:"EclipseType",type:"keyword",info:"EclipseType is an option for SolarEclipse and LunarEclipse that specifies the type of eclipse being "},{label:"EdgeAdd",type:"keyword",info:"EdgeAdd[g, e] makes a graph by adding the edge e to the graph g.EdgeAdd[g, {e , e , …}] adds a colle"},{label:"EdgeBetweennessCentrality",type:"keyword",info:"EdgeBetweennessCentrality[g] gives a list of betweenness centralities for the edges in the graph g.E"},{label:"EdgeCapacity",type:"keyword",info:"EdgeCapacity is an option and annotation for Graph and related functions that specifies an edge capa"},{label:"EdgeCapForm",type:"keyword",info:"System`EdgeCapForm"},{label:"EdgeChromaticNumber",type:"keyword",info:"EdgeChromaticNumber[g] gives the chromatic number for the edges of the graph g."},{label:"EdgeColor",type:"keyword",info:"System`EdgeColor"},{label:"EdgeConnectivity",type:"keyword",info:"EdgeConnectivity[g] gives the edge connectivity of the graph g.EdgeConnectivity[g, s, t] gives the s"},{label:"EdgeContract",type:"keyword",info:"EdgeContract[g, e] contracts the edge e of the graph g.EdgeContract[g, {e , e , …}] contracts a coll"},{label:"EdgeCost",type:"keyword",info:"EdgeCost is an option and annotation for Graph and related functions that specifies an edge cost."},{label:"EdgeCount",type:"keyword",info:"EdgeCount[g] gives a count of the number of edges in the graph g.EdgeCount[g, patt] gives a count of"},{label:"EdgeCoverQ",type:"keyword",info:"EdgeCoverQ[g, elist] yields True if the edge list elist is an edge cover of the graph g and False ot"},{label:"EdgeCycleMatrix",type:"keyword",info:"EdgeCycleMatrix[g] gives the edge cycle matrix of a graph g.EdgeCycleMatrix[{v  w, …}] uses rules v"},{label:"EdgeDashing",type:"keyword",info:"System`EdgeDashing"},{label:"EdgeDelete",type:"keyword",info:"EdgeDelete[g, e] makes a graph by deleting the edge e from the graph g.EdgeDelete[g, {e , e , …}] de"},{label:"EdgeDetect",type:"keyword",info:"EdgeDetect[image] finds edges in image and returns the result as a binary image.EdgeDetect[image, r]"},{label:"EdgeForm",type:"keyword",info:"EdgeForm[g] is a graphics directive that specifies that edges of polygons and other filled graphics "},{label:"EdgeIndex",type:"keyword",info:"EdgeIndex[g, e] gives the integer index for the edge e in the graph g.EdgeIndex[{v  w, …}, …] uses "},{label:"EdgeJoinForm",type:"keyword",info:"System`EdgeJoinForm"},{label:"EdgeLabeling",type:"keyword",info:"EdgeLabeling is an option for GraphPlot and related functions that specifies whether labeling specif"},{label:"EdgeLabels",type:"keyword",info:"EdgeLabels is an option and annotation for Graph and related functions that specifies what labels an"},{label:"EdgeLabelStyle",type:"keyword",info:"EdgeLabelStyle is an option and property for Graph and related functions that specifies the style to"},{label:"EdgeList",type:"keyword",info:"EdgeList[g] gives the list of edges for the graph g.EdgeList[g, patt] gives a list of edges that mat"},{label:"EdgeOpacity",type:"keyword",info:"System`EdgeOpacity"},{label:"EdgeQ",type:"keyword",info:"EdgeQ[g, e] yields True if e is an edge in the graph g and False otherwise."},{label:"EdgeRenderingFunction",type:"keyword",info:"EdgeRenderingFunction is an option for GraphPlot and related functions that gives a function to gene"},{label:"EdgeRules",type:"keyword",info:"EdgeRules[g] gives the list of edge rules for the graph g.EdgeRules[{v  w, …}] uses rules v  w to "},{label:"EdgeShapeFunction",type:"keyword",info:"EdgeShapeFunction is an option and annotation for Graph and related functions that specifies a funct"},{label:"EdgeStyle",type:"keyword",info:"EdgeStyle is an option and annotation for Graph and related functions that specifies what style to u"},{label:"EdgeTaggedGraph",type:"keyword",info:"EdgeTaggedGraph[{e , e , …}] yields a graph with edges e tagged with unique tags.EdgeTaggedGraph[{e"},{label:"EdgeTaggedGraphQ",type:"keyword",info:"EdgeTaggedGraphQ[g] yields True if the graph g has edges tagged and False otherwise."},{label:"EdgeTags",type:"keyword",info:"EdgeTags[g] gives the list of tags for all edges in the graph g.EdgeTags[g, {u, v}] gives the list o"},{label:"EdgeThickness",type:"keyword",info:"System`EdgeThickness"},{label:"EdgeTransitiveGraphQ",type:"keyword",info:"EdgeTransitiveGraphQ[g] yields True if the graph g is a edge-transitive graph and False otherwise."},{label:"EdgeValueRange",type:"keyword",info:"EdgeValueRange is an option for GeoGraphValuePlot that specifies the range of edge values to include"},{label:"EdgeValueSizes",type:"keyword",info:"EdgeValueSizes is an option for GeoGraphValuePlot that specifies the thicknesses used to show edge v"},{label:"EdgeWeight",type:"keyword",info:"EdgeWeight is an option and annotation for Graph and related functions that specifies an edge weight"},{label:"EdgeWeightedGraphQ",type:"keyword",info:"EdgeWeightedGraphQ[g] yields True if the graph g is an edge-weighted graph and False otherwise."},{label:"Editable",type:"keyword",info:"Editable is an option for displayed objects, cells, and notebooks that specifies whether their conte"},{label:"EditButtonSettings",type:"keyword",info:"System`EditButtonSettings"},{label:"EditCellTagsSettings",type:"keyword",info:"EditCellTagsSettings is a global option that specifies settings for the Edit Cell Tags dialog box."},{label:"EditDistance",type:"keyword",info:"EditDistance[u, v] gives the edit or Levenshtein distance between strings or vectors u and v.EditDis"},{label:"EffectiveInterest",type:"keyword",info:"EffectiveInterest[r, q] gives the effective interest rate corresponding to interest specification r,"},{label:"Eigensystem",type:"keyword",info:"Eigensystem[m] gives a list {values, vectors} of the eigenvalues and eigenvectors of the square matr"},{label:"Eigenvalues",type:"keyword",info:"Eigenvalues[m] gives a list of the eigenvalues of the square matrix m. Eigenvalues[{m, a}] gives the"},{label:"EigenvectorCentrality",type:"keyword",info:"EigenvectorCentrality[g] gives a list of eigenvector centralities for the vertices in the graph g.Ei"},{label:"Eigenvectors",type:"keyword",info:"Eigenvectors[m] gives a list of the eigenvectors of the square matrix m. Eigenvectors[{m, a}] gives "},{label:"Element",type:"keyword",info:"Element[x, dom] or x ∈ dom asserts that x is an element of the domain dom. Element[x, reg] or x ∈ re"},{label:"ElementData",type:"keyword",info:" "},{label:"ElementwiseLayer",type:"keyword",info:"ElementwiseLayer[f] represents a net layer that applies a unary function f to every element of the i"},{label:"ElidedForms",type:"keyword",info:"ElidedForms is an option to TextString and related functions that specifies which expressions should"},{label:"Eliminate",type:"keyword",info:"Eliminate[eqns, vars] eliminates variables between a set of simultaneous equations. "},{label:"EliminationOrder",type:"keyword",info:"System`EliminationOrder"},{label:"Ellipsoid",type:"keyword",info:"Ellipsoid[p, {r , …}] represents an axis-aligned ellipsoid centered at the point p and with semiaxes"},{label:"EllipticE",type:"keyword",info:"EllipticE[m] gives the complete elliptic integral E(m). EllipticE[ϕ, m] gives the elliptic integral "},{label:"EllipticExp",type:"keyword",info:"EllipticExp[u, {a, b}] is the inverse for EllipticLog. It produces a list {x, y} such that u == Elli"},{label:"EllipticExpPrime",type:"keyword",info:"EllipticExpPrime[u, {a, b}] gives the derivative of EllipticExp[u, {a, b}] with respect to u."},{label:"EllipticF",type:"keyword",info:"EllipticF[ϕ, m] gives the elliptic integral of the first kind F(ϕ ï.b2 m). "},{label:"EllipticFilterModel",type:"keyword",info:"EllipticFilterModel[n] designs a lowpass elliptic filter of order n.EllipticFilterModel[{n, ω }] use"},{label:"EllipticK",type:"keyword",info:"EllipticK[m] gives the complete elliptic integral of the first kind K(m). "},{label:"EllipticLog",type:"keyword",info:" 2 "},{label:"EllipticNomeQ",type:"keyword",info:"EllipticNomeQ[m] gives the nome q corresponding to the parameter m in an elliptic function. "},{label:"EllipticPi",type:"keyword",info:"EllipticPi[n, m] gives the complete elliptic integral of the third kind Π (n ï.b2 m). EllipticPi[n, ϕ, "},{label:"EllipticReducedHalfPeriods",type:"keyword",info:"EllipticReducedHalfPeriods[{u, v}] gives a reduced pair of half periods {w, w '} corresponding to th"},{label:"EllipticTheta",type:"keyword",info:"EllipticTheta[a, u, q] gives the theta function ϑ (u, q) (a = 1, …, 4).EllipticTheta[a, q] gives the"},{label:"EllipticThetaPrime",type:"keyword",info:" "},{label:"EmbedCode",type:"keyword",info:'EmbedCode[obj] generates the code necessary to embed the object obj on a webpage.EmbedCode[obj, "des'},{label:"EmbeddedHTML",type:"keyword",info:'EmbeddedHTML["string"] is an object that formats as a web frame containing the HTML content "string"'},{label:"EmbeddedService",type:"keyword",info:"EmbeddedService[service] is an object that formats as a web frame containing content from the specif"},{label:"EmbeddedSQLEntityClass",type:"keyword",info:"EmbeddedSQLEntityClass[string, props] represents a verbatim SQL query to be interpreted as an entity"},{label:"EmbeddedSQLExpression",type:"keyword",info:"EmbeddedSQLExpression[string] represents an SQL expression to be evaluated verbatim within an Entity"},{label:"EmbeddingLayer",type:"keyword",info:"EmbeddingLayer[size, n] represents a trainable net layer that embeds integers between 1 and n into a"},{label:"EmbeddingObject",type:"keyword",info:"System`EmbeddingObject"},{label:"EmitSound",type:"keyword",info:"EmitSound[snd] emits the sound snd when evaluated. EmitSound[{snd , snd , …}] emits each of the soun"},{label:"EmphasizeSyntaxErrors",type:"keyword",info:"System`EmphasizeSyntaxErrors"},{label:"EmpiricalDistribution",type:"keyword",info:"EmpiricalDistribution[{x , x , …}] represents an empirical distribution based on the data values x ."},{label:"Empty",type:"keyword",info:"System`Empty"},{label:"EmptyGraphQ",type:"keyword",info:"EmptyGraphQ[g] yields True if g is an empty graph and False otherwise."},{label:"EmptyRegion",type:"keyword",info:" n\nEmptyRegion[n] represents the empty subset of ïž\\[Micro] . "},{label:"EmptySpaceF",type:"keyword",info:"EmptySpaceF[pdata, r] estimates the empty space function F(r) for point data pdata at radius r.Empty"},{label:"EnableConsolePrintPacket",type:"keyword",info:"System`EnableConsolePrintPacket"},{label:"Enabled",type:"keyword",info:"Enabled is an option for objects such as Slider that specifies whether the objects should be enabled"},{label:"Enclose",type:"keyword",info:"Enclose[expr] attempts to evaluate expr and return the result, but stops if it catches an error and "},{label:"Encode",type:"keyword",info:'Encode["source", "dest"] writes an encoded version of the file source to the file dest. << dest deco'},{label:"Encrypt",type:"keyword",info:'Encrypt["password", expr] encrypts expr using the specified password, to give an encrypted object.En'},{label:"EncryptedObject",type:"keyword",info:"EncryptedObject[assoc] represents encrypted data generated by Encrypt."},{label:"EncryptFile",type:"keyword",info:'EncryptFile["password", file] generates an encrypted version of a file, using the specified password'},{label:"End",type:"keyword",info:"End[] returns the present context, and reverts to the previous one. "},{label:"EndAdd",type:"keyword",info:"EndAdd[ ] returns the present context, and reverts to the previous one, prepending the present conte"},{label:"EndDialogPacket",type:"keyword",info:"EndDialogPacket[integer] is a WSTP packet indicating the end of the Dialog subsession referenced by "},{label:"EndOfBuffer",type:"keyword",info:"EndOfBuffer is a symbol that represents the end of currently available data in the buffer for a proc"},{label:"EndOfFile",type:"keyword",info:"EndOfFile is a symbol returned by Read when it reaches the end of a file. "},{label:"EndOfLine",type:"keyword",info:"EndOfLine represents the end of a line in a string for purposes of matching in StringExpression."},{label:"EndOfString",type:"keyword",info:"EndOfString represents the end of a string for purposes of matching in StringExpression."},{label:"EndPackage",type:"keyword",info:"EndPackage[] restores ECContext and ECContextPath to their values before the preceding BeginPackage, a"},{label:"EngineEnvironment",type:"keyword",info:"System`EngineEnvironment"},{label:"EngineeringForm",type:"keyword",info:"EngineeringForm[expr] prints with all real numbers in expr given in engineering notation. Engineerin"},{label:"Enter",type:"keyword",info:"System`Enter"},{label:"EnterExpressionPacket",type:"keyword",info:"EnterExpressionPacket[expr] is a WSTP packet that requests the evaluation of expr."},{label:"EnterTextPacket",type:"keyword",info:"EnterTextPacket[string] is a WSTP packet that requests the parsing and evaluation of string as an ex"},{label:"Entity",type:"keyword",info:'Entity["type", name] represents an entity of the specified type, identified by name.Entity[cspec, na'},{label:"EntityClass",type:"keyword",info:'EntityClass["type", name] represents a class of entities of the specified type identified by name.En'},{label:"EntityClassList",type:"keyword",info:'EntityClassList["type"] gives a list of entity classes for the specified type of entity.'},{label:"EntityCopies",type:"keyword",info:"EntityCopies[entity, n] represents n copies of entity."},{label:"EntityFunction",type:"keyword",info:"EntityFunction[x, body] is a function with a single formal parameter x, to be used in EntityValue an"},{label:"EntityGroup",type:"keyword",info:"EntityGroup[{entity , entity , …}] represents a group of entities.\n 1 2"},{label:"EntityInstance",type:"keyword",info:"EntityInstance[entity, qual  val] represents an entity whose qualifier qual has value val.EntityIns"},{label:"EntityList",type:"keyword",info:'EntityList[class] gives a list of entities in the specified entity class. EntityList["type"] gives a'},{label:"EntityPrefetch",type:"keyword",info:'EntityPrefetch["type"] fetches cacheable values associated with all entities of the specified type.E'},{label:"EntityProperties",type:"keyword",info:"EntityProperties[type] lists properties associated with entity type type."},{label:"EntityProperty",type:"keyword",info:"EntityProperty[type, pname] represents a property identified by pname for use in EntityValue.EntityP"},{label:"EntityPropertyClass",type:"keyword",info:"EntityPropertyClass[type, pcname] represents a class of properties identified by the name pcname."},{label:"EntityRegister",type:"keyword",info:"EntityRegister[estore] registers the entities in the entity store estore so that they can be accesse"},{label:"EntityStore",type:"keyword",info:'EntityStore["type"] represents an empty entity store for entities of type "type".EntityStore["type" '},{label:"EntityStores",type:"keyword",info:"EntityStores[] gives a list of all registered entity stores that are accessed when Entity is used."},{label:"EntityTypeName",type:"keyword",info:"EntityTypeName[entity] gives the name of the entity type of entity.EntityTypeName[{entity , …, entit"},{label:"EntityUnregister",type:"keyword",info:'EntityUnregister["type"] unregisters all entities in the first entity store that defines entities of'},{label:"EntityValue",type:"keyword",info:"EntityValue[entity, property] gives the value of the specified property for the given entity.EntityV"},{label:"Entropy",type:"keyword",info:"Entropy[list] gives the base  information entropy of the values in list.Entropy[k, list] gives the "},{label:"EntropyFilter",type:"keyword",info:" "},{label:"Environment",type:"keyword",info:'Environment["var"] gives the value of an operating system environment variable. '},{label:"Epilog",type:"keyword",info:"Epilog is an option for graphics functions that gives a list of graphics primitives to be rendered a"},{label:"EpilogFunction",type:"keyword",info:"EpilogFunction is an option for DocumentGenerator allowing arbitrary code to be executed after a doc"},{label:"Equal",type:"keyword",info:"lhs == rhs returns True if lhs and rhs are identical. "},{label:"EqualColumns",type:"keyword",info:"EqualColumns is an option to GridBox which specifies whether the size of the columns are all set to "},{label:"EqualRows",type:"keyword",info:"EqualRows is an option to GridBox which specifies whether the size of the rows are all set to the si"},{label:"EqualTilde",type:"keyword",info:"EqualTilde[x, y, …] displays as x ≂ y ≂ …."},{label:"EqualTo",type:"keyword",info:"EqualTo[y] is an operator form that yields x == y when applied to an expression x. "},{label:"EquatedTo",type:"keyword",info:"EquatedTo is an option for Roots, which specifies an expression to use in place of the variable in t"},{label:"Equilibrium",type:"keyword",info:"Equilibrium[x, y, …] displays as x ⇌ y ⇌ …."},{label:"EquirippleFilterKernel",type:"keyword",info:"EquirippleFilterKernel[{{{ω , ω }, {ω , ω }, …}, {a , a , …}}, n] creates a finite impulse respo"},{label:"Equivalent",type:"keyword",info:"Equivalent[e , e , …] represents the logical equivalence e ⇔ e ⇔ …, giving True when all of the e "},{label:"Erf",type:"keyword",info:"Erf[z] gives the error function erf(z). Erf[z , z ] gives the generalized error function erf(z ) - e"},{label:"Erfc",type:"keyword",info:"Erfc[z] gives the complementary error function erfc(z). "},{label:"Erfi",type:"keyword",info:"Erfi[z] gives the imaginary error function erf(iz)/i. "},{label:"ErlangB",type:"keyword",info:"ErlangB[c, a] computes the Erlang B loss probability for an M/M/c/c queue."},{label:"ErlangC",type:"keyword",info:"ErlangC[c, a] computes the Erlang C probability for nonzero waiting time in an M/M/c queue."},{label:"ErlangDistribution",type:"keyword",info:"ErlangDistribution[k, λ] represents the Erlang distribution with shape parameter k and rate λ."},{label:"Erosion",type:"keyword",info:"Erosion[image, ker] gives the morphological erosion of image with respect to the structuring element"},{label:"ErrorBox",type:"keyword",info:"ErrorBox[boxes] is a low-level box construct that represents boxes that cannot be interpreted in inp"},{label:"ErrorBoxOptions",type:"keyword",info:"System`ErrorBoxOptions"},{label:"ErrorNorm",type:"keyword",info:"System`ErrorNorm"},{label:"ErrorPacket",type:"keyword",info:"System`ErrorPacket"},{label:"ErrorsDialogSettings",type:"keyword",info:"System`ErrorsDialogSettings"},{label:"EscapeRadius",type:"keyword",info:"EscapeRadius is an option to MandelbrotSetPlot that specifies the criterion to use to decide that a "},{label:"EstimatedBackground",type:"keyword",info:"EstimatedBackground[data] estimates the background of data.EstimatedBackground[data, σ] tries to pre"},{label:"EstimatedDistribution",type:"keyword",info:"EstimatedDistribution[data, dist] estimates the parametric distribution dist from data.EstimatedDist"},{label:"EstimatedPointProcess",type:"keyword",info:"EstimatedPointProcess[pdata, pproc] estimates the parametric point process pproc from point data pda"},{label:"EstimatedProcess",type:"keyword",info:"EstimatedProcess[data, proc] estimates the parametric process proc from data.EstimatedProcess[data, "},{label:"EstimatedVariogramModel",type:"keyword",info:"EstimatedVariogramModel[{loc  val , loc  val , …}] estimates the best variogram function from va"},{label:"EstimatorGains",type:"keyword",info:"EstimatorGains[ssm, {p , p , …, p }] gives the estimator gain matrix for the StateSpaceModel ssm, su"},{label:"EstimatorRegulator",type:"keyword",info:"EstimatorRegulator[sspec, {l, κ}] gives the output feedback controller with estimator and regulator "},{label:"EuclideanDistance",type:"keyword",info:"EuclideanDistance[u, v] gives the Euclidean distance between vectors u and v."},{label:"EulerAngles",type:"keyword",info:"EulerAngles[r] gives Euler angles {Î\\[PlusMinus], Î.b2, Î.b3} corresponding to the rotation matrix r.EulerAngles[r, {a"},{label:"EulerCharacteristic",type:"keyword",info:"EulerCharacteristic[poly] gives the Euler characteristic of a poly."},{label:"EulerE",type:"keyword",info:"EulerE[n] gives the Euler number E . EulerE[n, x] gives the Euler polynomial E (x). \n "},{label:"EulerGamma",type:"keyword",info:"EulerGamma is Euler’s constant Î.b3, with numerical value ≃ 0.577216. "},{label:"EulerianGraphQ",type:"keyword",info:"EulerianGraphQ[g] yields True if the graph g is Eulerian, and False otherwise."},{label:"EulerMatrix",type:"keyword",info:"EulerMatrix[{Î\\[PlusMinus], Î.b2, Î.b3}] gives the Euler 3D rotation matrix formed by rotating by Î\\[PlusMinus] around the current"},{label:"EulerPhi",type:"keyword",info:"EulerPhi[n] gives the Euler totient function ϕ(n). "},{label:"Evaluatable",type:"keyword",info:"Evaluatable is an option for Cell that specifies whether a cell should be used as input to be evalua"},{label:"Evaluate",type:"keyword",info:"Evaluate[expr] causes expr to be evaluated even if it appears as the argument of a function whose at"},{label:"Evaluated",type:"keyword",info:"System`Evaluated"},{label:"EvaluatePacket",type:"keyword",info:"EvaluatePacket[expr] is a WSTP packet requesting evaluation of expr."},{label:"EvaluateScheduledTask",type:"keyword",info:"EvaluateScheduledTask[expr] triggers immediate local execution of the specified task object."},{label:"EvaluationBox",type:"keyword",info:"EvaluationBox[] returns a BoxObject corresponding to the box structure in which this function is bei"},{label:"EvaluationCell",type:"keyword",info:"EvaluationCell[] returns a CellObject corresponding to the cell in which this function is being eval"},{label:"EvaluationCompletionAction",type:"keyword",info:"EvaluationCompletionAction is an option for notebooks that specifies the action taken when an evalua"},{label:"EvaluationData",type:"keyword",info:"EvaluationData[expr] gives an association containing the result of evaluating expr and metadata abou"},{label:"EvaluationElements",type:"keyword",info:"EvaluationElements is an option for NotebookEvaluate that determines which cells to evaluate."},{label:"EvaluationEnvironment",type:"keyword",info:"EvaluationEnvironment is an option for functions such as InitializationValue and InitializationObjec"},{label:"EvaluationMode",type:"keyword",info:"System`EvaluationMode"},{label:"EvaluationMonitor",type:"keyword",info:"EvaluationMonitor is an option for various numerical computation and plotting functions that gives a"},{label:"EvaluationNotebook",type:"keyword",info:"EvaluationNotebook[] gives the notebook in which this function is being evaluated. "},{label:"EvaluationObject",type:"keyword",info:"EvaluationObject[n, expr, …] represents an expression submitted for evaluation on any available para"},{label:"EvaluationOrder",type:"keyword",info:"System`EvaluationOrder"},{label:"EvaluationPrivileges",type:"keyword",info:"EvaluationPrivileges is an option for CloudObject and related cloud functions that specifies what ot"},{label:"EvaluationRateLimit",type:"keyword",info:"System`EvaluationRateLimit"},{label:"Evaluator",type:"keyword",info:"Evaluator is an option for objects such as Button, Dynamic, and Cell that gives the name of the kern"},{label:"EvaluatorNames",type:"keyword",info:"EvaluatorNames is a global option that specifies the kernels that are currently configured to perfor"},{label:"EvenQ",type:"keyword",info:"EvenQ[expr] gives True if expr is an even integer, and False otherwise. "},{label:"EventSeries",type:"keyword",info:"EventSeries[{{t , v }, {t , v } …}] represents a series of events given as time-value pairs {t , v }"},{label:"ExactBlackmanWindow",type:"keyword",info:"ExactBlackmanWindow[x] represents an exact Blackman window function of x."},{label:"ExactNumberQ",type:"keyword",info:"ExactNumberQ[expr] returns True if expr is an exact real or complex number, and returns False otherw"},{label:"ExactRootIsolation",type:"keyword",info:"ExactRootIsolation is an option for Root, which specifies whether exact isolating intervals rather t"},{label:"ExampleData",type:"keyword",info:'ExampleData["type"] gives a list of names of examples of the specified type.ExampleData[{"type", "na'},{label:"Except",type:"keyword",info:"Except[c] is a pattern object which represents any expression except one that matches c. Except[c, p"},{label:"ExcludedContexts",type:"keyword",info:"ExcludedContexts is an option for FullDefinition, Manipulate and related symbols that gives contexts"},{label:"ExcludedForms",type:"keyword",info:"ExcludedForms is an option that gives a list of patterns for expressions that should be excluded fro"},{label:"ExcludedLines",type:"keyword",info:"ExcludedLines is an option for SemanticImport and related functions that specifies which lines shoul"},{label:"ExcludedPhysicalQuantities",type:"keyword",info:"ExcludedPhysicalQuantities is an option for FormulaLookup that specifies physical quantities that sh"},{label:"ExcludePods",type:"keyword",info:"ExcludePods is an option to WolframAlpha that specifies pod IDs to exclude from the results."},{label:"Exclusions",type:"keyword",info:"Exclusions is an option that specifies where to exclude in regions used by functions like Plot, Plot"},{label:"ExclusionsStyle",type:"keyword",info:"ExclusionsStyle is an option to plotting functions that specifies how to render subregions excluded "},{label:"Exists",type:"keyword",info:"Exists[x, expr] represents the statement that there exists a value of x for which expr is True. Exis"},{label:"Exit",type:"keyword",info:"Exit[] terminates a Wolfram Language kernel session. "},{label:"ExitDialog",type:"keyword",info:"System`ExitDialog"},{label:"ExoplanetData",type:"keyword",info:"ExoplanetData[entity, property] gives the value of the specified property for the exoplanet entity.E"},{label:"Exp",type:"keyword",info:"Exp[z] gives the exponential of z. "},{label:"Expand",type:"keyword",info:"Expand[expr] expands out products and positive integer powers in expr. Expand[expr, patt] leaves une"},{label:"ExpandAll",type:"keyword",info:"ExpandAll[expr] expands out all products and integer powers in any part of expr. ExpandAll[expr, pat"},{label:"ExpandDenominator",type:"keyword",info:"ExpandDenominator[expr] expands out products and powers that appear as denominators in expr. "},{label:"ExpandFileName",type:"keyword",info:'ExpandFileName["name"] textually expands name to have the form of an absolute file name for your ope'},{label:"ExpandNumerator",type:"keyword",info:"ExpandNumerator[expr] expands out products and powers that appear in the numerator of expr. "},{label:"Expectation",type:"keyword",info:"Expectation[expr, x  dist] gives the expectation of expr under the assumption that x follows the pr"},{label:"ExpectationE",type:"keyword",info:"System`ExpectationE"},{label:"ExpectedValue",type:"keyword",info:"ExpectedValue[f, list] gives the expected value of the pure function f with respect to the values in"},{label:"ExpGammaDistribution",type:"keyword",info:"ExpGammaDistribution[κ, θ, μ] represents an exp-gamma distribution with shape parameter κ, scale par"},{label:"ExpIntegralE",type:"keyword",info:"ExpIntegralE[n, z] gives the exponential integral function E (z).\n "},{label:"Offload",type:"keyword",info:"Use Offload[expr_] to keep expr from evaluation on Kernel"},{label:"ExpIntegralEi",type:"keyword",info:"ExpIntegralEi[z] gives the exponential integral function Ei(z). "},{label:"ExpirationDate",type:"keyword",info:"ExpirationDate is an option for various functions that specifies when a persistent value should be t"},{label:"Exponent",type:"keyword",info:"Exponent[expr, form] gives the maximum power with which form appears in the expanded form of expr. E"},{label:"ExponentFunction",type:"keyword",info:"ExponentFunction is an option for NumberForm and related functions that determines the exponent to u"},{label:"ExponentialDistribution",type:"keyword",info:"ExponentialDistribution[λ] represents an exponential distribution with scale inversely proportional "},{label:"ExponentialFamily",type:"keyword",info:"ExponentialFamily is an option for GeneralizedLinearModelFit that specifies the exponential family f"},{label:"ExponentialGeneratingFunction",type:"keyword",info:" "},{label:"ExponentialMovingAverage",type:"keyword",info:"ExponentialMovingAverage[list, Î\\[PlusMinus]] gives the exponential moving average of list with smoothing consta"},{label:"ExponentialPowerDistribution",type:"keyword",info:"ExponentialPowerDistribution[κ, μ, σ] represents an exponential power distribution with shape parame"},{label:"ExponentPosition",type:"keyword",info:"ExponentPosition is an option for RadicalBox that specifies the placement of the index outside a rad"},{label:"ExponentStep",type:"keyword",info:"ExponentStep is an option for NumberForm and related functions that determines in what steps exponen"},{label:"Export",type:"keyword",info:'Export["dest.ext", expr] exports data to a file, converting it to the format corresponding to the fi'},{label:"ExportAutoReplacements",type:"keyword",info:"ExportAutoReplacements is an option for cells that specifies which replacement rules the Wolfram Lan"},{label:"ExportByteArray",type:"keyword",info:'ExportByteArray[expr, "format"] generates a ByteArray object corresponding to expr exported in the s'},{label:"ExportForm",type:"keyword",info:'ExportForm[expr, "fmt"] specifies that expr should be exported in the specified format in functions '},{label:"ExportPacket",type:"keyword",info:"System`ExportPacket"},{label:"ExportString",type:"keyword",info:'ExportString[expr, "format"] generates a string corresponding to expr exported in the specified form'},{label:"Expression",type:"keyword",info:"Expression is a symbol that represents an ordinary Wolfram Language expression in Read and related f"},{label:"ExpressionCell",type:"keyword",info:"ExpressionCell[expr] gives an expression cell that can appear in a Wolfram System notebook.Expressio"},{label:"ExpressionGraph",type:"keyword",info:"ExpressionGraph[expr] gives the tree graph with different levels at different depths. ExpressionGrap"},{label:"ExpressionPacket",type:"keyword",info:"System`ExpressionPacket"},{label:"ExpressionTree",type:"keyword",info:"ExpressionTree[expr] gives a Tree object from the structure of the expression expr.ExpressionTree[ex"},{label:"ExpressionUUID",type:"keyword",info:"ExpressionUUID is an option for Cell and Notebook that holds the assigned unique UUID string."},{label:"ExpToTrig",type:"keyword",info:"ExpToTrig[expr] converts exponentials in expr to trigonometric functions. "},{label:"ExtendedEntityClass",type:"keyword",info:'ExtendedEntityClass[class, "name"  f] represents an entity class derived from class by adding a new'},{label:"ExtendedGCD",type:"keyword",info:"ExtendedGCD[n , n , …] gives the extended greatest common divisor of the integers n . \n "},{label:"Extension",type:"keyword",info:"Extension is an option for various polynomial and algebraic functions that specifies generators for "},{label:"ExtentElementFunction",type:"keyword",info:"ExtentElementFunction is an option to DiscretePlot and DiscretePlot3D that gives a function to use t"},{label:"ExtentMarkers",type:"keyword",info:"ExtentMarkers is an option to DiscretePlot and DiscretePlot3D that specifies markers to draw at exte"},{label:"ExtentSize",type:"keyword",info:"ExtentSize is an option to DiscretePlot and DiscretePlot3D that specifies how far to extend out from"},{label:"ExternalBundle",type:"keyword",info:"ExternalBundle[{name  obj , name  obj , …}] represents a bundle of resources to be externally de"},{label:"ExternalCall",type:"keyword",info:"System`ExternalCall"},{label:"ExternalDataCharacterEncoding",type:"keyword",info:"ExternalDataCharacterEncoding is a global option that specifies the character encoding used in readi"},{label:"ExternalEvaluate",type:"keyword",info:'ExternalEvaluate["sys", "cmd"] evaluates the command cmd in the external evaluator sys, returning an'},{label:"ExternalFunction",type:"keyword",info:'ExternalFunction[sys, "f"] represents an external function named "f" defined in the external evaluat'},{label:"ExternalFunctionName",type:"keyword",info:"System`ExternalFunctionName"},{label:"ExternalIdentifier",type:"keyword",info:'ExternalIdentifier["type", id] represents a resource identified by id in the external identifier sys'},{label:"ExternalObject",type:"keyword",info:"ExternalObject[…] represents an external object inside an ExternalSessionObject."},{label:"ExternalOptions",type:"keyword",info:"ExternalOptions is an option for EmbedCode and related functions that gives options specific to the "},{label:"ExternalSessionObject",type:"keyword",info:"ExternalSessionObject[…] represents an external session started by StartExternalSession for use with"},{label:"ExternalSessions",type:"keyword",info:"ExternalSessions[] gives the list of currently active external evaluator sessions.ExternalSessions[s"},{label:"ExternalStorageBase",type:"keyword",info:"ExternalStorageBase is an option for various external storage functions that specifies which externa"},{label:"ExternalStorageDownload",type:"keyword",info:"ExternalStorageDownload[location] downloads content from the specified location.ExternalStorageDownl"},{label:"ExternalStorageGet",type:"keyword",info:"ExternalStorageGet[ExternalStorageObject[…]] reads in an expression stored at an external storage sp"},{label:"ExternalStorageObject",type:"keyword",info:"ExternalStorageObject[location] represents a file stored in an external location.ExternalStorageObje"},{label:"ExternalStoragePut",type:"keyword",info:"ExternalStoragePut[expr] writes expr to an external storage specified by ECExternalStorageBase.Extern"},{label:"ExternalStorageUpload",type:"keyword",info:"ExternalStorageUpload[file] uploads file to an external storage specified by ECExternalStorageBase.Ex"},{label:"ExternalTypeSignature",type:"keyword",info:"ExternalTypeSignature is an option for EmbedCode that gives rules specifying the mapping to external"},{label:"ExternalValue",type:"keyword",info:'ExternalValue[sys, "sym"] gives the value of "sym" in external evaluator sys. ExternalValue[session,'},{label:"Extract",type:"keyword",info:"Extract[expr, pos] extracts the part of expr at the position specified by pos. Extract[expr, {pos , "},{label:"ExtractArchive",type:"keyword",info:"ExtractArchive[source] expands an archive file, saving its content into the current directory.Extrac"},{label:"ExtractLayer",type:"keyword",info:"ExtractLayer[] represents a net layer that takes an array and a position specification as inputs and"},{label:"ExtractPacletArchive",type:"keyword",info:"ExtractPacletArchive[file] extracts the contents of the paclet archive file into the directory in wh"},{label:"ExtremeValueDistribution",type:"keyword",info:"ExtremeValueDistribution[Î\\[PlusMinus], Î.b2] represents an extreme value distribution with location parameter Î\\[PlusMinus] an"},{label:"EEC",type:"keyword",info:"System`EEC"},{label:"FaceAlign",type:"keyword",info:"FaceAlign[image] attempts to find faces in image and align them.FaceAlign[image, fref] gives aligned"},{label:"FaceForm",type:"keyword",info:"FaceForm[g] is a graphics directive which specifies that faces of polygons and other filled graphics"},{label:"FaceGrids",type:"keyword",info:"FaceGrids is an option for three-dimensional graphics functions that specifies grid lines to draw on"},{label:"FaceGridsStyle",type:"keyword",info:"FaceGridsStyle is an option for 3D graphics functions that specifies how face grids should be render"},{label:"FaceRecognize",type:"keyword",info:"FaceRecognize[{example  name , example  name , …}] generates a ClassifierFunction[…] based on th"},{label:"FacialFeatures",type:"keyword",info:"FacialFeatures[image] returns a minimal summary of facial features for all detected faces in image.F"},{label:"Factor",type:"keyword",info:"Factor[poly] factors a polynomial over the integers. Factor[poly, Modulus  p] factors a polynomial "},{label:"FactorComplete",type:"keyword",info:"System`FactorComplete"},{label:"Factorial",type:"keyword",info:"n ! gives the factorial of n. "},{label:"Factorial2",type:"keyword",info:"n !! gives the double factorial of n. "},{label:"FactorialMoment",type:"keyword",info:" th "},{label:"FactorialMomentGeneratingFunction",type:"keyword",info:"FactorialMomentGeneratingFunction[dist, t] gives the factorial moment-generating function for the di"},{label:"FactorialPower",type:"keyword",info:" (n) "},{label:"FactorInteger",type:"keyword",info:"FactorInteger[n] gives a list of the prime factors of the integer n, together with their exponents. "},{label:"FactorList",type:"keyword",info:"FactorList[poly] gives a list of the factors of a polynomial, together with their exponents. "},{label:"FactorSquareFree",type:"keyword",info:"FactorSquareFree[poly] pulls out any multiple factors in a polynomial. "},{label:"FactorSquareFreeList",type:"keyword",info:"FactorSquareFreeList[poly] gives a list of square‐free factors of a polynomial, together with their "},{label:"FactorTerms",type:"keyword",info:"FactorTerms[poly] pulls out any overall numerical factor in poly. FactorTerms[poly, x] pulls out any"},{label:"FactorTermsList",type:"keyword",info:"FactorTermsList[poly] gives a list in which the first element is the overall numerical factor in pol"},{label:"Fail",type:"keyword",info:"System`Fail"},{label:"Failure",type:"keyword",info:'Failure["tag", assoc] represents a failure of a type indicated by tag, with details given by the ass'},{label:"FailureAction",type:"keyword",info:"FailureAction is an option to Query and related functions that determines what should happen when a "},{label:"FailureDistribution",type:"keyword",info:"FailureDistribution[bexpr, {{x , dist }, {x , dist }, …}] represents the failure distribution for a "},{label:"FailureQ",type:"keyword",info:"FailureQ[expr] gives True if expr has head Failure or is equal to ECFailed or ECAborted."},{label:"False",type:"keyword",info:"False is the symbol for the Boolean value false. "},{label:"FareySequence",type:"keyword",info:" th\nFareySeq"},{label:"FARIMAProcess",type:"keyword",info:" "},{label:"FeatureDistance",type:"keyword",info:"FeatureDistance[example , example , extractor] gives the distance between example and example in t"},{label:"FeatureExtract",type:"keyword",info:"FeatureExtract[{example , example , …}] extracts features for each of the example using a feature e"},{label:"FeatureExtraction",type:"keyword",info:"FeatureExtraction[{example , example , …}] generates a FeatureExtractorFunction[…] trained from the "},{label:"FeatureExtractor",type:"keyword",info:"FeatureExtractor is an option for functions such as Classify that specifies how features should be e"},{label:"FeatureExtractorFunction",type:"keyword",info:"FeatureExtractorFunction[…] represents a feature extractor function generated by FeatureExtraction."},{label:"FeatureNames",type:"keyword",info:"FeatureNames is an option for machine learning functions such as Classify or Predict that specifies "},{label:"FeatureNearest",type:"keyword",info:"FeatureNearest[{elem , elem , …}, x] gives the list of elem to which x is nearest in a computed fea"},{label:"FeatureSpacePlot",type:"keyword",info:"FeatureSpacePlot[{example , example , …}] plots features extracted from the example as a scatter pl"},{label:"FeatureSpacePlot3D",type:"keyword",info:"FeatureSpacePlot3D[{example , example , …}] plots features extracted from the example as a scatter "},{label:"FeatureTypes",type:"keyword",info:"FeatureTypes is an option for machine learning functions such as Classify or Predict that specifies "},{label:"FEDisableConsolePrintPacket",type:"keyword",info:"System`FEDisableConsolePrintPacket"},{label:"FeedbackLinearize",type:"keyword",info:"FeedbackLinearize[asys] input-output linearizes the AffineStateSpaceModel asys by state transformati"},{label:"FeedbackSector",type:"keyword",info:"FeedbackSector is an option to NyquistPlot that specifies the sector limits of the nonlinearity in t"},{label:"FeedbackSectorStyle",type:"keyword",info:"FeedbackSectorStyle is an option to NyquistPlot that specifies the style in which graphics of Feedba"},{label:"FeedbackType",type:"keyword",info:"FeedbackType is an option for some control system functions that specifies the feedback type."},{label:"FEEnableConsolePrintPacket",type:"keyword",info:"System`FEEnableConsolePrintPacket"},{label:"FetalGrowthData",type:"keyword",info:"FetalGrowthData[age] returns the values for all properties of fetal development for the specified ag"},{label:"Fibonacci",type:"keyword",info:"Fibonacci[n] gives the Fibonacci number F . Fibonacci[n, x] gives the Fibonacci polynomial F (x). \n "},{label:"Fibonorial",type:"keyword",info:"Fibonorial[n] gives the fibonorial n ! .\n F"},{label:"FieldCompletionFunction",type:"keyword",info:"FieldCompletionFunction is an option for InputField that specifies a function to apply to the input "},{label:"FieldHint",type:"keyword",info:"FieldHint is an option for InputField that specifies contents to display when the input field is emp"},{label:"FieldHintStyle",type:"keyword",info:"FieldHintStyle is an option for InputField that specifies the style to use for displaying the field "},{label:"FieldMasked",type:"keyword",info:"FieldMasked is an option to InputField that determines whether to mask user input."},{label:"FieldSize",type:"keyword",info:"FieldSize is an option for InputField, PopupMenu, and related functions that specifies the size of t"},{label:"File",type:"keyword",info:'File["path"] is a symbolic representation of a location in the local file system. '},{label:"FileBaseName",type:"keyword",info:'FileBaseName["file"] gives the base name for a file without its extension.'},{label:"FileByteCount",type:"keyword",info:"FileByteCount[file] gives the number of bytes in a file. "},{label:"FileConvert",type:"keyword",info:'FileConvert[source  "dest.ext"] converts the contents of source to the format defined by the extens'},{label:"FileDate",type:"keyword",info:'FileDate["file"] gives the date and time at which a file was last modified. FileDate["file", "type"]'},{label:"FileExistsQ",type:"keyword",info:'FileExistsQ["name"] gives True if the file with the specified name exists, and gives False otherwise'},{label:"FileExtension",type:"keyword",info:'FileExtension["file"] gives the file extension for a file name.'},{label:"FileFormat",type:"keyword",info:"FileFormat[source] attempts to determine what Import format could be used to import the file corresp"},{label:"FileFormatProperties",type:"keyword",info:'FileFormatProperties["fmt"] returns an association of properties for the specified format "fmt".File'},{label:"FileFormatQ",type:"keyword",info:'FileFormatQ[source, "fmt"] gives True if the file corresponding to source might be imported as forma'},{label:"FileHandler",type:"keyword",info:"System`FileHandler"},{label:"FileHash",type:"keyword",info:'FileHash[file] gives an integer hash code for the contents of the specified file.FileHash[file, "typ'},{label:"FileInformation",type:"keyword",info:"System`FileInformation"},{label:"FileName",type:"keyword",info:"System`FileName"},{label:"FileNameDepth",type:"keyword",info:'FileNameDepth["name"] gives the number of path elements in the file name "file".'},{label:"FileNameDialogSettings",type:"keyword",info:"FileNameDialogSettings is a global option that specifies settings for the Insert File Path dialog bo"},{label:"FileNameDrop",type:"keyword",info:'FileNameDrop["name", n] drops the first n path elements in the file name "name".FileNameDrop["name",'},{label:"FileNameForms",type:"keyword",info:"FileNameForms is an option that specifies the pattern for file names to be selected by a function."},{label:"FileNameJoin",type:"keyword",info:"FileNameJoin[{name , name , …}] joins the name together into a file name suitable for your current "},{label:"FileNames",type:"keyword",info:"FileNames[] lists all files in the current working directory. FileNames[form] lists all files in the"},{label:"FileNameSetter",type:"keyword",info:"FileNameSetter[name] represents a file name setter which displays as a Browse button and when clicke"},{label:"FileNameSplit",type:"keyword",info:'FileNameSplit["name"] splits a file name into a list of parts.'},{label:"FileNameTake",type:"keyword",info:'FileNameTake["name"] gives the last path element in the file name "name".FileNameTake["name", n] giv'},{label:"FileNameToFormatList",type:"keyword",info:"FileNameToFormatList[] returns lists of file formats corresponding to all registered file name patte"},{label:"FilePrint",type:"keyword",info:'FilePrint["file"] prints out the raw textual contents of file.FilePrint["file", n] prints out the fi'},{label:"FileSize",type:"keyword",info:"FileSize[file] gives the size of a file as a quantity."},{label:"FileSystemMap",type:"keyword",info:"FileSystemMap[f, root] gives an association whose keys are the names of files in root, and whose val"},{label:"FileSystemScan",type:"keyword",info:"FileSystemScan[f, root] evaluates f on all files contained in root.FileSystemScan[f, root, n] restri"},{label:"FileTemplate",type:"keyword",info:'FileTemplate["file"] yields a TemplateObject expression that represents a file template to be applie'},{label:"FileTemplateApply",type:"keyword",info:"FileTemplateApply[template] applies a template, evaluating all template elements it contains, and th"},{label:"FileType",type:"keyword",info:'FileType["file"] gives the type of a file, typically File, Directory, or None. '},{label:"FilledCurve",type:"keyword",info:"FilledCurve[{segment , segment , …}] represents a filled curve consisting of segment followed by se"},{label:"FilledCurveBox",type:"keyword",info:"System`FilledCurveBox"},{label:"FilledCurveBoxOptions",type:"keyword",info:"FilledCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Fille"},{label:"FilledTorus",type:"keyword",info:"FilledTorus[{x, y, z}, {r , r }] represents a filled torus centered at {x, y, z} with inner "},{label:"FillForm",type:"keyword",info:"System`FillForm"},{label:"Filling",type:"keyword",info:"Filling is an option for ListPlot, Plot, Plot3D, and related functions that specifies what filling t"},{label:"FillingStyle",type:"keyword",info:"FillingStyle is an option for ListPlot, Plot, Plot3D, and related functions that specifies the defau"},{label:"FillingTransform",type:"keyword",info:"FillingTransform[image] gives a version of image with all extended minima filled.FillingTransform[im"},{label:"FilteredEntityClass",type:"keyword",info:"FilteredEntityClass[class, f] represents a class of entities where only entities for which the Entit"},{label:"FilterRules",type:"keyword",info:"FilterRules[rules, patt] filters the list rules by picking out only those rules whose left-hand side"},{label:"FinancialBond",type:"keyword",info:"FinancialBond[params, ambientparams] gives the value of a financial bond instrument.FinancialBond[pa"},{label:"FinancialData",type:"keyword",info:'FinancialData["name"] gives the last known price or value for the financial entity specified by "nam'},{label:"FinancialDerivative",type:"keyword",info:"FinancialDerivative[instrument, params, ambientparams] gives the value of the specified financial in"},{label:"FinancialIndicator",type:"keyword",info:'FinancialIndicator["ind", par , par , …] represents a financial indicator "ind" with parameters par '},{label:"Find",type:"keyword",info:'Find[stream, "text"] finds the first line in an input stream that contains the specified string. Fin'},{label:"FindAnomalies",type:"keyword",info:"FindAnomalies[{example , example , …}] gives a list of the example that are considered anomalous wi"},{label:"FindArgMax",type:"keyword",info:"FindArgMax[f, x] gives the position x of a local maximum of f.FindArgMax[f, {x, x }] gives the po"},{label:"FindArgMin",type:"keyword",info:"FindArgMin[f, x] gives the position x of a local minimum of f.FindArgMin[f, {x, x }] gives the po"},{label:"FindChannels",type:"keyword",info:"FindChannels[] gives a list of channels in your home area on the channel broker server.FindChannels["},{label:"FindClique",type:"keyword",info:"FindClique[g] finds a largest clique in the graph g.FindClique[g, n] finds a clique containing at mo"},{label:"FindClusters",type:"keyword",info:"FindClusters[{e , e , …}] partitions the e into clusters of similar elements. FindClusters[{e  v "},{label:"FindCookies",type:"keyword",info:"FindCookies[] gives a list of all currently set cookies.FindCookies[domain] gives a list of cookies "},{label:"FindCurvePath",type:"keyword",info:"FindCurvePath[{{x , y }, {x , y }, …}] gives an ordering of the {x , y } that corresponds to one or "},{label:"FindCycle",type:"keyword",info:"FindCycle[g] finds a cycle in the graph g.FindCycle[g, k] finds a cycle of length at most k in the g"},{label:"FindDevices",type:"keyword",info:"FindDevices[] searches for available devices on your computer system.FindDevices[form] gives a list "},{label:"FindDistribution",type:"keyword",info:"FindDistribution[data] finds a simple functional form to fit the distribution of data.FindDistributi"},{label:"FindDistributionParameters",type:"keyword",info:"FindDistributionParameters[data, dist] finds the parameter estimates for the distribution dist from "},{label:"FindDivisions",type:"keyword",info:'FindDivisions[{x , x }, n] finds a list of about n "nice" numbers that divide the interval aroun'},{label:"FindEdgeColoring",type:"keyword",info:"FindEdgeColoring[g] finds a coloring with minimal size for the edges in the graph g.FindEdgeColoring"},{label:"FindEdgeCover",type:"keyword",info:"FindEdgeCover[g] finds an edge cover of the graph g with a minimum number of edges.FindEdgeCover[{v "},{label:"FindEdgeCut",type:"keyword",info:"FindEdgeCut[g] finds a smallest edge cut of the graph g.FindEdgeCut[g, s, t] finds a smallest s-t ed"},{label:"FindEdgeIndependentPaths",type:"keyword",info:"FindEdgeIndependentPaths[g, s, t, k] finds at most k edge-independent paths from vertex s to vertex "},{label:"FindEquationalProof",type:"keyword",info:"FindEquationalProof[thm, axms] tries to find an equational proof of the symbolic theorem thm using t"},{label:"FindEulerianCycle",type:"keyword",info:"FindEulerianCycle[g] finds an Eulerian cycle in the graph g.FindEulerianCycle[g, k] finds at most k "},{label:"FindExternalEvaluators",type:"keyword",info:"FindExternalEvaluators[] finds installed external evaluators that can be used with ExternalEvaluate,"},{label:"FindFaces",type:"keyword",info:"FindFaces[image] attempts to find human faces in image and returns a list of bounding boxes.FindFace"},{label:"FindFile",type:"keyword",info:"FindFile[name] finds the file with the specified name that would be loaded by Get[name] and related "},{label:"FindFit",type:"keyword",info:"FindFit[data, expr, pars, vars] finds numerical values of the parameters pars that make expr give a "},{label:"FindFormula",type:"keyword",info:"FindFormula[data] finds a pure function that approximates data.FindFormula[data, x] finds a symbolic"},{label:"FindFundamentalCycles",type:"keyword",info:"FindFundamentalCycles[g] finds fundamental cycles of the graph g."},{label:"FindGeneratingFunction",type:"keyword",info:" th"},{label:"FindGeoLocation",type:"keyword",info:'FindGeoLocation[] attempts to find the current geo location of your computer.FindGeoLocation["ip"] g'},{label:"FindGeometricConjectures",type:"keyword",info:"FindGeometricConjectures[scene] finds conjectures that appear to hold for the GeometricScene object "},{label:"FindGeometricTransform",type:"keyword",info:"FindGeometricTransform[pts , pts ] finds a geometric transformation that aligns positions specified "},{label:"FindGraphCommunities",type:"keyword",info:"FindGraphCommunities[g] finds communities in the graph g.FindGraphCommunities[{v  w, …}] uses rules"},{label:"FindGraphIsomorphism",type:"keyword",info:"FindGraphIsomorphism[g , g ] finds an isomorphism that maps the graph g to g by renaming vertices."},{label:"FindGraphPartition",type:"keyword",info:"FindGraphPartition[g] gives a partition of vertices of the graph g.FindGraphPartition[g, k] gives a "},{label:"FindHamiltonianCycle",type:"keyword",info:"FindHamiltonianCycle[g] finds a Hamiltonian cycle in the graph g.FindHamiltonianCycle[g, k] finds at"},{label:"FindHamiltonianPath",type:"keyword",info:"FindHamiltonianPath[g] finds a Hamiltonian path in the graph g with the smallest total length.FindHa"},{label:"FindHiddenMarkovStates",type:"keyword",info:"FindHiddenMarkovStates[data, hmm] finds the most likely hidden states of the HiddenMarkovProcess hmm"},{label:"FindImageText",type:"keyword",info:"FindImageText[image] detects text in image and returns a single bounding box.FindImageText[image, le"},{label:"FindIndependentEdgeSet",type:"keyword",info:"FindIndependentEdgeSet[g] finds an independent edge set of the graph g with a maximum number of edge"},{label:"FindIndependentVertexSet",type:"keyword",info:"FindIndependentVertexSet[g] finds an independent vertex set of the graph g with a maximum number of "},{label:"FindInstance",type:"keyword",info:"FindInstance[expr, vars] finds an instance of vars that makes the statement expr be True. FindInstan"},{label:"FindIntegerNullVector",type:"keyword",info:"FindIntegerNullVector[{x , x , …, x }] finds a list of integers a such that a x + a x + ⋯ + a "},{label:"FindIsomers",type:"keyword",info:"FindIsomers[chem] returns a list of molecules with the same chemical formula as chem.FindIsomers[che"},{label:"FindIsomorphicSubgraph",type:"keyword",info:"FindIsomorphicSubgraph[g , g ] finds a subgraph of g that is isomorphic to g .FindIsomorphicSubgrap"},{label:"FindKClan",type:"keyword",info:"FindKClan[g, k] finds a largest k-clan in the graph g.FindKClan[g, k, n] finds a k-clan containing a"},{label:"FindKClique",type:"keyword",info:"FindKClique[g, k] finds a largest k-clique in the graph g.FindKClique[g, k, n] finds a k-clique cont"},{label:"FindKClub",type:"keyword",info:"FindKClub[g, k] finds a largest k-club in the graph g."},{label:"FindKPlex",type:"keyword",info:"FindKPlex[g, k] finds a largest k-plex in the graph g.FindKPlex[g, k, n] finds a k-plex containing a"},{label:"FindLibrary",type:"keyword",info:"FindLibrary[lib] finds a dynamic library that can be loaded by LibraryFunctionLoad."},{label:"FindLinearRecurrence",type:"keyword",info:"FindLinearRecurrence[list] finds if possible the minimal linear recurrence that generates list.FindL"},{label:"FindList",type:"keyword",info:'FindList["file", "text"] gives a list of lines in the file that contain the specified string. FindLi'},{label:"FindMatchingColor",type:"keyword",info:"FindMatchingColor[image, color] returns a color similar to the color that is present in image.FindMa"},{label:"FindMaximum",type:"keyword",info:"FindMaximum[f, x] searches for a local maximum in f, starting from an automatically selected point.F"},{label:"FindMaximumCut",type:"keyword",info:"FindMaximumCut[g] gives the maximum cut of the graph g."},{label:"FindMaximumFlow",type:"keyword",info:"FindMaximumFlow[g, s, t] finds the maximum flow between source vertex s and target vertex t in a gra"},{label:"FindMaxValue",type:"keyword",info:"FindMaxValue[f, x] gives the value at a local maximum of f.FindMaxValue[f, {x, x }] gives the value "},{label:"FindMeshDefects",type:"keyword",info:"FindMeshDefects[mreg] finds defects in the mesh region mreg.FindMeshDefects[mreg, {def , …}] finds o"},{label:"FindMinimum",type:"keyword",info:"FindMinimum[f, x] searches for a local minimum in f, starting from an automatically selected point.F"},{label:"FindMinimumCostFlow",type:"keyword",info:"FindMinimumCostFlow[g, {sd , sd , …}] finds the minimum cost flow in the graph g with sd , sd , … ve"},{label:"FindMinimumCut",type:"keyword",info:"FindMinimumCut[g] gives the minimum cut of the graph g.FindMinimumCut[{v  w, …}] uses rules v  w t"},{label:"FindMinValue",type:"keyword",info:"FindMinValue[f, x] gives the value at a local minimum of f.FindMinValue[f, {x, x }] gives the value "},{label:"FindMoleculeSubstructure",type:"keyword",info:"FindMoleculeSubstructure[mol, patt] finds a mapping between the atom indices in mol and an occurrenc"},{label:"FindPath",type:"keyword",info:"FindPath[g, s, t] finds a path between vertex s and vertex t in the graph g.FindPath[g, s, t, k] fin"},{label:"FindPeaks",type:"keyword",info:"FindPeaks[list] gives positions and values of the detected peaks in list.FindPeaks[list, σ] finds pe"},{label:"FindPermutation",type:"keyword",info:"FindPermutation[expr] gives a permutation that produces expr by permuting Sort[expr].FindPermutation"},{label:"FindPlanarColoring",type:"keyword",info:"FindPlanarColoring[g] finds a coloring with minimal size for the faces of the planar graph g.FindPla"},{label:"FindPointProcessParameters",type:"keyword",info:"FindPointProcessParameters[pdata, pproc] estimates the parameters of the point process pproc from po"},{label:"FindPostmanTour",type:"keyword",info:"FindPostmanTour[g] finds a Chinese postman tour in the graph g of minimal length.FindPostmanTour[g, "},{label:"FindProcessParameters",type:"keyword",info:"FindProcessParameters[data, proc] finds the parameter estimates for the process proc from data.FindP"},{label:"FindRegionTransform",type:"keyword",info:"FindRegionTransform[reg , reg ] gives the transformation function that maps the region reg to the r"},{label:"FindRepeat",type:"keyword",info:"FindRepeat[list] finds the minimal sublist or subarray that repeats to give list.FindRepeat[list, n]"},{label:"FindRoot",type:"keyword",info:"FindRoot[f, {x, x }] searches for a numerical root of f, starting from the point x = x .FindRoot[lhs"},{label:"FindSequenceFunction",type:"keyword",info:"FindSequenceFunction[{a , a , a , …}] attempts to find a simple function that yields the sequence a "},{label:"FindSettings",type:"keyword",info:"FindSettings is a global option that specifies settings for the Find dialog box."},{label:"FindShortestPath",type:"keyword",info:"FindShortestPath[g, s, t] finds the shortest path from source vertex s to target vertex t in the gra"},{label:"FindShortestTour",type:"keyword",info:"FindShortestTour[{v , v , …}] attempts to find an ordering of the v that minimizes the total distan"},{label:"FindSpanningTree",type:"keyword",info:"FindSpanningTree[{v , v , …, v }] finds a spanning tree that minimizes the total distance between th"},{label:"FindSubgraphIsomorphism",type:"keyword",info:"FindSubgraphIsomorphism[g , g ] finds a subgraph isomorphism that maps the graph g to a subgraph of"},{label:"FindSystemModelEquilibrium",type:"keyword",info:"FindSystemModelEquilibrium[model] searches for an equilibrium to the model model.FindSystemModelEqui"},{label:"FindTextualAnswer",type:"keyword",info:'FindTextualAnswer[text, "question"] gives the substring of text that best appears to answer question'},{label:"FindThreshold",type:"keyword",info:"FindThreshold[image] finds a global threshold value that partitions the intensity values in image in"},{label:"FindTransientRepeat",type:"keyword",info:"FindTransientRepeat[list, n] returns a pair of lists {transient, repeat} where the elements of repea"},{label:"FindVertexColoring",type:"keyword",info:"FindVertexColoring[g] finds a coloring with minimal size for the vertices in the graph g. FindVertex"},{label:"FindVertexCover",type:"keyword",info:"FindVertexCover[g] finds a vertex cover of the graph g with a minimum number of vertices.FindVertexC"},{label:"FindVertexCut",type:"keyword",info:"FindVertexCut[g] finds a smallest vertex cut of the graph g.FindVertexCut[g, s, t] finds a smallest "},{label:"FindVertexIndependentPaths",type:"keyword",info:"FindVertexIndependentPaths[g, s, t, k] finds at most k vertex-independent paths from vertex s to ver"},{label:"Fine",type:"keyword",info:"System`Fine"},{label:"FinishDynamic",type:"keyword",info:"FinishDynamic[] finishes updating and displaying all currently visible Dynamic objects. "},{label:"FiniteAbelianGroupCount",type:"keyword",info:"FiniteAbelianGroupCount[n] gives the number of finite Abelian groups of order n."},{label:"FiniteGroupCount",type:"keyword",info:"FiniteGroupCount[n] gives the number of finite groups of order n."},{label:"FiniteGroupData",type:"keyword",info:'FiniteGroupData[name, "property"] gives the value of the specified property for the finite group spe'},{label:"First",type:"keyword",info:"First[expr] gives the first element in expr. First[expr, def] gives the first element if it exists, "},{label:"FirstCase",type:"keyword",info:'FirstCase[{e , e , …}, pattern] gives the first e to match pattern, or Missing["NotFound"] if none '},{label:"FirstPassageTimeDistribution",type:"keyword",info:"FirstPassageTimeDistribution[mproc, f] represents the distribution of times for the Markov process m"},{label:"FirstPosition",type:"keyword",info:"FirstPosition[expr, pattern] gives the position of the first element in expr that matches pattern, o"},{label:"FischerGroupFi22",type:"keyword",info:"FischerGroupFi22[] represents the sporadic simple Fischer group Fi .\n "},{label:"FischerGroupFi23",type:"keyword",info:"FischerGroupFi23[] represents the sporadic simple Fischer group Fi .\n "},{label:"FischerGroupFi24Prime",type:"keyword",info:" â€.b2\nFischerGroupFi24Prime[] rep"},{label:"FisherHypergeometricDistribution",type:"keyword",info:"FisherHypergeometricDistribution[n, n , n , w] represents a Fisher noncentral hypergeometric di"},{label:"FisherRatioTest",type:"keyword",info:" "},{label:"FisherZDistribution",type:"keyword",info:"FisherZDistribution[n, m] represents a Fisher z distribution with n numerator and m denominator degr"},{label:"Fit",type:"keyword",info:"Fit[data, {f , …, f }, {x, y, …}] finds a fit a ⁢ f + … + a ⁢ f to a list of data for functions "},{label:"FitAll",type:"keyword",info:"System`FitAll"},{label:"FitRegularization",type:"keyword",info:"FitRegularization is an option for Fit and FindFit that specifies a regularization for fitting a mod"},{label:"FittedModel",type:"keyword",info:"FittedModel[…] represents the symbolic fitted model obtained from functions like LinearModelFit."},{label:"FixedOrder",type:"keyword",info:"FixedOrder[p , p , …] is a grammar rules pattern object that represents a sequence of elements match"},{label:"FixedPoint",type:"keyword",info:"FixedPoint[f, expr] starts with expr, then applies f repeatedly until the result no longer changes. "},{label:"FixedPointList",type:"keyword",info:"FixedPointList[f, expr] generates a list giving the results of applying f repeatedly, starting with "},{label:"FlashSelection",type:"keyword",info:"System`FlashSelection"},{label:"Flat",type:"keyword",info:"Flat is an attribute that can be assigned to a symbol f to indicate that all expressions involving n"},{label:"Flatten",type:"keyword",info:"Flatten[list] flattens out nested lists. Flatten[list, n] flattens to level n. Flatten[list, n, h] f"},{label:"FlattenAt",type:"keyword",info:" th\nFlattenAt[list, n] flattens out a"},{label:"FlattenLayer",type:"keyword",info:"FlattenLayer[] represents a net layer that flattens any input array into a vector.FlattenLayer[n] re"},{label:"FlatTopWindow",type:"keyword",info:"FlatTopWindow[x] represents an exact flat top window function of x."},{label:"FlightData",type:"keyword",info:"FlightData[spec, options] returns a subset of properties for a flight or selection of flights with s"},{label:"FlipView",type:"keyword",info:"FlipView[{expr , expr }] represents an object which flips between displaying expr and expr each ti"},{label:"Floor",type:"keyword",info:"Floor[x] gives the greatest integer less than or equal to x. Floor[x, a] gives the greatest multiple"},{label:"FlowPolynomial",type:"keyword",info:"FlowPolynomial[g, k] gives the flow polynomial of the graph g.FlowPolynomial[{v  w, …}, …] uses rul"},{label:"FlushPrintOutputPacket",type:"keyword",info:"System`FlushPrintOutputPacket"},{label:"Fold",type:"keyword",info:"Fold[f, x, list] gives the last element of FoldList[f, x, list].Fold[f, list] is equivalent to Fold["},{label:"FoldList",type:"keyword",info:"FoldList[f, x, {a, b, …}] gives {x, f[x, a], f[f[x, a], b], …}. FoldList[f, {a, b, c, …}] gives {a, "},{label:"FoldPair",type:"keyword",info:"FoldPair[f, y , list] gives the last element of FoldPairList[f, y , list].FoldPair[f, y , list, g] g"},{label:"FoldPairList",type:"keyword",info:"FoldPairList[f, y , {a , a , …}] gives the list of successive x obtained by applying f to pairs of "},{label:"FoldWhile",type:"keyword",info:"FoldWhile[f, x, {a , a , …}, test] returns the first expression f[… f[f[x, a ], a ] …, a ] to which "},{label:"FoldWhileList",type:"keyword",info:"FoldWhileList[f, x, {a , a , …}, test] returns {x, f[x, a ], f[f[x, a ], a ], …}, repeatedly applyin"},{label:"FollowRedirects",type:"keyword",info:"FollowRedirects is an option for URLRead and related functions that specifies whether to follow HTTP"},{label:"Font",type:"keyword",info:"System`Font"},{label:"FontColor",type:"keyword",info:"FontColor is an option for Style, Cell, and related constructs that specifies the default color in w"},{label:"FontFamily",type:"keyword",info:"FontFamily is an option for Style and Cell that specifies the font family in which text should be re"},{label:"FontForm",type:"keyword",info:"System`FontForm"},{label:"FontName",type:"keyword",info:"System`FontName"},{label:"FontOpacity",type:"keyword",info:"System`FontOpacity"},{label:"FontPostScriptName",type:"keyword",info:"FontPostScriptName is an option to StyleBox which changes the current font. A sample specification i"},{label:"FontProperties",type:"keyword",info:"FontProperties specifies font properties."},{label:"FontReencoding",type:"keyword",info:"System`FontReencoding"},{label:"FontSize",type:"keyword",info:"FontSize is an option for Style and Cell that specifies the default size in printer's points of the "},{label:"FontSlant",type:"keyword",info:"FontSlant is an option for Style, Cell, and related constructs that specifies how slanted characters"},{label:"FontSubstitutions",type:"keyword",info:"FontSubstitutions is a global option that gives a list of substitutions to try for font family names"},{label:"FontTracking",type:"keyword",info:"FontTracking is an option for Style and Cell that specifies how condensed or expanded you want the f"},{label:"FontVariations",type:"keyword",info:"FontVariations is an option for Style, Cell, and related constructs that specifies what font variati"},{label:"FontWeight",type:"keyword",info:"FontWeight is an option for Style, Cell, and related constructs that specifies how heavy the charact"},{label:"For",type:"keyword",info:"For[start, test, incr, body] executes start, then repeatedly evaluates body and incr until test fail"},{label:"ForAll",type:"keyword",info:"ForAll[x, expr] represents the statement that expr is True for all values of x. ForAll[x, cond, expr"},{label:"ForceVersionInstall",type:"keyword",info:"ForceVersionInstall is an option to PacletInstall and PacletInstallSubmit that specifies whether an "},{label:"Format",type:"keyword",info:"Format[expr] prints as the formatted form of expr. Assigning values to Format[expr] defines print fo"},{label:"FormatRules",type:"keyword",info:"System`FormatRules"},{label:"FormatType",type:"keyword",info:"FormatType is an option for output streams, graphics, and functions such as Text that specifies the "},{label:"FormatTypeAutoConvert",type:"keyword",info:"FormatTypeAutoConvert is an option for cells that specifies whether the contents of a cell are autom"},{label:"FormatValues",type:"keyword",info:"FormatValues[f] gives a list of transformation rules corresponding to all printing formats (values f"},{label:"FormBox",type:"keyword",info:"FormBox[boxes, form] is a low-level box construct which displays as boxes but specifies that rules a"},{label:"FormBoxOptions",type:"keyword",info:"FormBoxOptions is an option for cells that specifies settings for FormBox objects within the cell."},{label:"FormControl",type:"keyword",info:"FormControl[assoc, struct] represents an editable form in a notebook, with structure specified by st"},{label:"FormFunction",type:"keyword",info:"FormFunction[formspec, func] represents an active form that, when submitted, applies func to the val"},{label:"FormLayoutFunction",type:"keyword",info:"FormLayoutFunction is an option for FormObject and FormFunction that can be used to specify how to l"},{label:"FormObject",type:"keyword",info:"FormObject[{name  type , name  type , …}] represents a form with fields having names name that "},{label:"FormPage",type:"keyword",info:"FormPage[formspec, func] represents an active page that takes input from a form and generates result"},{label:"FormProtectionMethod",type:"keyword",info:"FormProtectionMethod is an option for form generation functions that specifies what method to use fo"},{label:"FormTheme",type:"keyword",info:"FormTheme is an option for FormObject and related functions that specifies an overall theme for a fo"},{label:"FormulaData",type:"keyword",info:"FormulaData[name] gives the equations for the formula name.FormulaData[name, {var  quantity , var "},{label:"FormulaLookup",type:"keyword",info:'FormulaLookup["query"] gives a list of the full names of formulas whose names are consistent with "q'},{label:"FortranForm",type:"keyword",info:"FortranForm[expr] prints as a Fortran language version of expr. "},{label:"Forward",type:"keyword",info:"Forward is a symbol that represents the forward direction for purposes of motion and animation."},{label:"ForwardBackward",type:"keyword",info:"ForwardBackward is a symbol that represents alternate forward and backward motion or animation."},{label:"ForwardCloudCredentials",type:"keyword",info:"ForwardCloudCredentials is an option for remote evaluation and submission functions that specifies w"},{label:"Fourier",type:"keyword",info:"Fourier[list] finds the discrete Fourier transform of a list of complex numbers.Fourier[list, {p , p"},{label:"FourierCoefficient",type:"keyword",info:" th\nFourierCoefficient[expr, t, n] gives the n coeffici"},{label:"FourierCosCoefficient",type:"keyword",info:" th\nFourierCosCoefficient[expr, t, n] gives the n co"},{label:"FourierCosSeries",type:"keyword",info:" th\nFourierCosSeries[expr, t, n] gives the n -order Fourie"},{label:"FourierCosTransform",type:"keyword",info:"FourierCosTransform[expr, t, ω] gives the symbolic Fourier cosine transform of expr. FourierCosTrans"},{label:"FourierDCT",type:"keyword",info:"FourierDCT[list] finds the Fourier discrete cosine transform of a list of real numbers.FourierDCT[li"},{label:"FourierDCTFilter",type:"keyword",info:"FourierDCTFilter[image, t] reduces noise in image by locally thresholding the discrete cosine transf"},{label:"FourierDCTMatrix",type:"keyword",info:"FourierDCTMatrix[n] returns an n×n discrete cosine transform matrix of type 2.FourierDCTMatrix[n, m]"},{label:"FourierDST",type:"keyword",info:"FourierDST[list] finds the Fourier discrete sine transform of a list of real numbers.FourierDST[list"},{label:"FourierDSTMatrix",type:"keyword",info:"FourierDSTMatrix[n] returns an n×n discrete sine transform matrix of type 2.FourierDSTMatrix[n, m] r"},{label:"FourierMatrix",type:"keyword",info:"FourierMatrix[n] returns an n×n Fourier matrix."},{label:"FourierParameters",type:"keyword",info:"FourierParameters is an option to Fourier and related functions that specifies the conventions to us"},{label:"FourierSequenceTransform",type:"keyword",info:"FourierSequenceTransform[expr, n, ω] gives the Fourier sequence transform of expr.FourierSequenceTra"},{label:"FourierSeries",type:"keyword",info:" th\nFourierSeries[expr, t, n] gives the n -order Fourier seri"},{label:"FourierSinCoefficient",type:"keyword",info:" th\nFourierSinCoefficient[expr, t, n] gives the n co"},{label:"FourierSinSeries",type:"keyword",info:" th\nFourierSinSeries[expr, t, n] gives the n -order Fourie"},{label:"FourierSinTransform",type:"keyword",info:"FourierSinTransform[expr, t, ω] gives the symbolic Fourier sine transform of expr. FourierSinTransfo"},{label:"FourierTransform",type:"keyword",info:"FourierTransform[expr, t, ω] gives the symbolic Fourier transform of expr. FourierTransform[expr, {t"},{label:"FourierTrigSeries",type:"keyword",info:" th\nFourierTrigSeries[expr, t, n] gives the n -order Four"},{label:"FoxH",type:"keyword",info:" "},{label:"FoxHReduce",type:"keyword",info:"FoxHReduce[expr, x] attempts to reduce expr to a single FoxH object as a function of x."},{label:"FractionalBrownianMotionProcess",type:"keyword",info:"FractionalBrownianMotionProcess[μ, σ, h] represents fractional Brownian motion process with drift μ,"},{label:"FractionalGaussianNoiseProcess",type:"keyword",info:"FractionalGaussianNoiseProcess[μ, σ, h] represents a fractional Gaussian noise process with drift μ,"},{label:"FractionalPart",type:"keyword",info:"FractionalPart[x] gives the fractional part of x. "},{label:"FractionBox",type:"keyword",info:" x\nFractionBox[x, y] is a low-l"},{label:"FractionBoxOptions",type:"keyword",info:"FractionBoxOptions is an option that specifies settings for FractionBox objects."},{label:"FractionLine",type:"keyword",info:"FractionLine is an option for fractions that specifies the thickness of the line separating the nume"},{label:"Frame",type:"keyword",info:"Frame is an option for Graphics, Grid, and other constructs that specifies whether to include a fram"},{label:"FrameBox",type:"keyword",info:"FrameBox[box] is a low-level box construct that represents box with a frame drawn around it. "},{label:"FrameBoxOptions",type:"keyword",info:"FrameBoxOptions is an option that specifies default settings for FrameBox objects."},{label:"Framed",type:"keyword",info:"Framed[expr] displays a framed version of expr. "},{label:"FrameInset",type:"keyword",info:"System`FrameInset"},{label:"FrameLabel",type:"keyword",info:"FrameLabel is an option for Graphics, Manipulate, and related functions that specifies labels to be "},{label:"Frameless",type:"keyword",info:"System`Frameless"},{label:"FrameListVideo",type:"keyword",info:"FrameListVideo[{image , image , …}] generates a video containing frames image , image , etc.\n "},{label:"FrameMargins",type:"keyword",info:"FrameMargins is an option for objects that can be displayed with frames which specifies the absolute"},{label:"FrameRate",type:"keyword",info:"FrameRate is an option to specify the number of frames per second. "},{label:"FrameStyle",type:"keyword",info:"FrameStyle is an option for Graphics, Grid, and other constructs that specifies the style in which t"},{label:"FrameTicks",type:"keyword",info:"FrameTicks is an option for 2D graphics functions that specifies tick marks for the edges of a frame"},{label:"FrameTicksStyle",type:"keyword",info:"FrameTicksStyle is an option for 2D graphics functions that specifies how frame ticks should be rend"},{label:"FRatioDistribution",type:"keyword",info:"FRatioDistribution[n, m] represents an F-ratio distribution with n numerator and m denominator degre"},{label:"FrechetDistribution",type:"keyword",info:"FrechetDistribution[Î\\[PlusMinus], Î.b2] represents the Fréchet distribution with shape parameter Î\\[PlusMinus] and scale param"},{label:"FreeQ",type:"keyword",info:"FreeQ[expr, form] yields True if no subexpression in expr matches form, and yields False otherwise. "},{label:"FrenetSerretSystem",type:"keyword",info:"FrenetSerretSystem[{x , …, x }, t] gives the generalized curvatures and Frenet–Serret basis for the "},{label:"FrequencySamplingFilterKernel",type:"keyword",info:"FrequencySamplingFilterKernel[{a , …, a }] creates a finite impulse response (FIR) filter kernel usi"},{label:"FresnelC",type:"keyword",info:"FresnelC[z] gives the Fresnel integral C(z). "},{label:"FresnelF",type:"keyword",info:"FresnelF[z] gives the Fresnel auxiliary function F(z)."},{label:"FresnelG",type:"keyword",info:"FresnelG[z] gives the Fresnel auxiliary function G(z)."},{label:"FresnelS",type:"keyword",info:"FresnelS[z] gives the Fresnel integral S(z). "},{label:"Friday",type:"keyword",info:"Friday is a day of the week."},{label:"FrobeniusNumber",type:"keyword",info:"FrobeniusNumber[{a , …, a }] gives the Frobenius number of a , …, a .\n 1 n "},{label:"FrobeniusSolve",type:"keyword",info:"FrobeniusSolve[{a , …, a }, b] gives a list of all solutions of the Frobenius equation a x + … + a"},{label:"FromAbsoluteTime",type:"keyword",info:"FromAbsoluteTime[time] gives a date object corresponding to an absolute time specification as given "},{label:"FromCharacterCode",type:"keyword",info:"FromCharacterCode[n] gives a string consisting of the character with integer code n. FromCharacterCo"},{label:"FromCoefficientRules",type:"keyword",info:"FromCoefficientRules[list, {x , x , …}] constructs a polynomial from a list of rules for exponent ve"},{label:"FromContinuedFraction",type:"keyword",info:"FromContinuedFraction[list] reconstructs a number from the list of its continued fraction terms. "},{label:"FromDate",type:"keyword",info:"FromDate[date] converts a date of the form {y, m, d, h, m, s} to an absolute number of seconds since"},{label:"FromDateString",type:"keyword",info:'FromDateString["string"] gives a date object corresponding to the date represented by "string".FromD'},{label:"FromDigits",type:"keyword",info:"FromDigits[list] constructs an integer from the list of its decimal digits. FromDigits[list, b] take"},{label:"FromDMS",type:"keyword",info:'FromDMS[{d, m, s}] converts from degrees, minutes, and seconds to decimal degrees. FromDMS["dms"] co'},{label:"FromEntity",type:"keyword",info:"FromEntity[entity] returns a Wolfram Language object corresponding to an entity."},{label:"FromJulianDate",type:"keyword",info:'FromJulianDate[jd] gives a date object corresponding to the Julian date jd.FromJulianDate["type", jd'},{label:"FromLetterNumber",type:"keyword",info:"FromLetterNumber[n] gives the lowercase letter at position n in the English alphabet.FromLetterNumbe"},{label:"FromPolarCoordinates",type:"keyword",info:"FromPolarCoordinates[{r, θ}] gives the {x, y} Cartesian coordinates corresponding to the polar coord"},{label:"FromRomanNumeral",type:"keyword",info:'FromRomanNumeral["string"] gives the integer corresponding to the Roman numeral "string". '},{label:"FromSphericalCoordinates",type:"keyword",info:"FromSphericalCoordinates[{r, θ, ϕ}] gives the {x, y, z} Cartesian coordinates corresponding to the s"},{label:"FromUnixTime",type:"keyword",info:"FromUnixTime[time] gives a date object corresponding to a UnixTime specification."},{label:"Front",type:"keyword",info:"Front is a symbol that represents the front of a graphic for purposes of placement and alignment."},{label:"FrontFaceColor",type:"keyword",info:"System`FrontFaceColor"},{label:"FrontFaceGlowColor",type:"keyword",info:"System`FrontFaceGlowColor"},{label:"FrontFaceOpacity",type:"keyword",info:"System`FrontFaceOpacity"},{label:"FrontFaceSpecularColor",type:"keyword",info:"System`FrontFaceSpecularColor"},{label:"FrontFaceSpecularExponent",type:"keyword",info:"System`FrontFaceSpecularExponent"},{label:"FrontFaceSurfaceAppearance",type:"keyword",info:"System`FrontFaceSurfaceAppearance"},{label:"FrontFaceTexture",type:"keyword",info:"System`FrontFaceTexture"},{label:"Full",type:"keyword",info:"Full is a setting used for certain options, typically indicating that a full range of values should "},{label:"FullAxes",type:"keyword",info:"FullAxes[graphics] returns the axes options of a graphics object."},{label:"FullDefinition",type:"keyword",info:"FullDefinition[symbol] prints as the definitions given for symbol, and all symbols on which these de"},{label:"FullForm",type:"keyword",info:"FullForm[expr] prints as the full form of expr, with no special syntax. "},{label:"FullGraphics",type:"keyword",info:"FullGraphics[g] takes a graphics object, and generates a new one in which objects specified by graph"},{label:"FullInformationOutputRegulator",type:"keyword",info:"FullInformationOutputRegulator[sys, rspec] gives the full state information output regulator for sys"},{label:"FullOptions",type:"keyword",info:"System`FullOptions"},{label:"FullRegion",type:"keyword",info:" n\nFullRegion[n] represents the full region ïž\\[Micro] ."},{label:"FullSimplify",type:"keyword",info:"FullSimplify[expr] tries a wide range of transformations on expr involving elementary and special fu"},{label:"Function",type:"keyword",info:'body & or Function[body] is a pure (or "anonymous") function. The formal parameters are # (or #1), #'},{label:"FunctionAnalytic",type:"keyword",info:"FunctionAnalytic[f, x] tests whether f(x) is an analytic function for x ∈ Reals.FunctionAnalytic[f, "},{label:"FunctionBijective",type:"keyword",info:"FunctionBijective[f, x] tests whether f(x)  y has exactly one solution x ∈ Reals for each y ∈ Reals"},{label:"FunctionCompile",type:"keyword",info:"FunctionCompile[f] generates a compiled code function from a pure function.FunctionCompile[{f , f , "},{label:"FunctionCompileExport",type:"keyword",info:'FunctionCompileExport["file.ext", fspec] exports a compiled version of functions fspec in the format'},{label:"FunctionCompileExportByteArray",type:"keyword",info:"FunctionCompileExportByteArray[fspec] gives a byte array of binary LLVM code obtained by compiling t"},{label:"FunctionCompileExportLibrary",type:"keyword",info:"FunctionCompileExportLibrary[file, fspec] exports a compiled version of function specification fspec"},{label:"FunctionCompileExportString",type:"keyword",info:"FunctionCompileExportString[fspec] gives a string of textual LLVM code obtained by compiling the fun"},{label:"FunctionContinuous",type:"keyword",info:"FunctionContinuous[f, x] tests whether f(x) is a real-valued continuous function for x ∈ Reals.Funct"},{label:"FunctionConvexity",type:"keyword",info:"FunctionConvexity[f, {x , x , …}] finds the convexity of the function f with variables x , x , … ove"},{label:"FunctionDeclaration",type:"keyword",info:"FunctionDeclaration[name, typedfun] declares name to be a typed function suitable for use in a compi"},{label:"FunctionDiscontinuities",type:"keyword",info:"FunctionDiscontinuities[f, x] finds the discontinuities of f(x) for x ∈ Reals. FunctionDiscontinuiti"},{label:"FunctionDomain",type:"keyword",info:"FunctionDomain[f, x] finds the largest domain of definition of the real function f of the variable x"},{label:"FunctionExpand",type:"keyword",info:"FunctionExpand[expr] tries to expand out special and certain other functions in expr, when possible "},{label:"FunctionInjective",type:"keyword",info:"FunctionInjective[f, x] tests whether f(x)  y has at most one solution x ∈ Reals for each y.Functio"},{label:"FunctionInterpolation",type:"keyword",info:"FunctionInterpolation[expr, {x, x , x }] evaluates expr with x running from x to x and con"},{label:"FunctionLayer",type:"keyword",info:"FunctionLayer[f] represents a net layer that applies function f to its input."},{label:"FunctionMeromorphic",type:"keyword",info:"FunctionMeromorphic[f, x] test whether f(x) is a meromorphic function of x.FunctionMeromorphic[f, {x"},{label:"FunctionMonotonicity",type:"keyword",info:"FunctionMonotonicity[f, x] finds the monotonicity of the function f with the variable x over the rea"},{label:"FunctionPeriod",type:"keyword",info:"FunctionPeriod[f, x] gives a period p of the function f over the reals such that f(x + p)  f(x).Fun"},{label:"FunctionPoles",type:"keyword",info:"FunctionPoles[f, x] finds the poles of the meromorphic function f with the variable x.FunctionPoles["},{label:"FunctionRange",type:"keyword",info:"FunctionRange[f, x, y] finds the range of the real function f of the variable x returning the result"},{label:"FunctionSign",type:"keyword",info:"FunctionSign[f, {x , x , …}] finds the real sign of the function f with variables x , x , … over the"},{label:"FunctionSingularities",type:"keyword",info:"FunctionSingularities[f, x] finds the singularities of f(x) for x ∈ Reals. FunctionSingularities[f, "},{label:"FunctionSpace",type:"keyword",info:"FunctionSpace is an option for FindSequenceFunction and related functions that specifies the space o"},{label:"FunctionSurjective",type:"keyword",info:"FunctionSurjective[f, x] tests whether f(x)  y has at least one solution x ∈ ïž\\[Micro] for each y ∈ Reals.F"},{label:"FussellVeselyImportance",type:"keyword",info:"FussellVeselyImportance[rdist, t] gives the Fussell–Vesely importances for all components in the Rel"},{label:"GaborFilter",type:"keyword",info:"GaborFilter[data, r, k] filters data by convolving with a Gabor kernel of pixel radius r and wave ve"},{label:"GaborMatrix",type:"keyword",info:" "},{label:"GaborWavelet",type:"keyword",info:"GaborWavelet[] represents a Gabor wavelet of frequency 6.GaborWavelet[w] represents a Gabor wavelet "},{label:"GainMargins",type:"keyword",info:"GainMargins[lsys] gives the gain margins of the linear time-invariant system lsys."},{label:"GainPhaseMargins",type:"keyword",info:"GainPhaseMargins[lsys] gives the gain and phase margins of the linear time-invariant system lsys."},{label:"GalaxyData",type:"keyword",info:"GalaxyData[entity, property] gives the value of the specified property for the galaxy entity.GalaxyD"},{label:"GalleryView",type:"keyword",info:"GalleryView[{expr , expr , …}] represents an object in which the expr are displayed in a browsable "},{label:"Gamma",type:"keyword",info:"Gamma[z] is the Euler gamma function Γ(z). Gamma[a, z] is the incomplete gamma function Γ(a, z). Gam"},{label:"GammaDistribution",type:"keyword",info:"GammaDistribution[Î\\[PlusMinus], Î.b2] represents a gamma distribution with shape parameter Î\\[PlusMinus] and scale parameter Î.b2"},{label:"GammaRegularized",type:"keyword",info:"GammaRegularized[a, z] is the regularized incomplete gamma function Q(a, z). "},{label:"GapPenalty",type:"keyword",info:"GapPenalty is an option for SequenceAlignment and related functions that gives the additional cost a"},{label:"GARCHProcess",type:"keyword",info:"GARCHProcess[κ, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {Î.b2 , …, Î.b2 }] represents a generalized autoregressive conditionally hete"},{label:"GatedRecurrentLayer",type:"keyword",info:"GatedRecurrentLayer[n] represents a trainable recurrent layer that takes a sequence of vectors and p"},{label:"Gather",type:"keyword",info:"Gather[list] gathers the elements of list into sublists of identical elements.Gather[list, test] app"},{label:"GatherBy",type:"keyword",info:"GatherBy[list, f] gathers into sublists each set of elements in list that gives the same value when "},{label:"GaugeFaceElementFunction",type:"keyword",info:"GaugeFaceElementFunction is an option for gauge functions that gives a function to use to generate t"},{label:"GaugeFaceStyle",type:"keyword",info:"GaugeFaceStyle is an option for gauge functions that specifies the style in which the face is to be "},{label:"GaugeFrameElementFunction",type:"keyword",info:"GaugeFrameElementFunction is an option for gauge functions that gives a function to generate the pri"},{label:"GaugeFrameSize",type:"keyword",info:"GaugeFrameSize is an option for gauge functions that controls the size of the frame around the gauge"},{label:"GaugeFrameStyle",type:"keyword",info:"GaugeFrameStyle is an option for gauge functions that specifies the style in which the frame is to b"},{label:"GaugeLabels",type:"keyword",info:"GaugeLabels is an option for gauge functions that specifies labels to be placed on the gauge."},{label:"GaugeMarkers",type:"keyword",info:"GaugeMarkers is an option for gauge functions that specifies what markers to draw to mark the values"},{label:"GaugeStyle",type:"keyword",info:"GaugeStyle is an option for gauge functions that specifies styles in which the markers are to be dra"},{label:"GaussianFilter",type:"keyword",info:" "},{label:"GaussianIntegers",type:"keyword",info:"GaussianIntegers is an option for FactorInteger, PrimeQ, Factor, and related functions that specifie"},{label:"GaussianMatrix",type:"keyword",info:" "},{label:"GaussianOrthogonalMatrixDistribution",type:"keyword",info:"GaussianOrthogonalMatrixDistribution[σ, n] represents a Gaussian orthogonal matrix distribution with"},{label:"GaussianSymplecticMatrixDistribution",type:"keyword",info:"GaussianSymplecticMatrixDistribution[σ, n] represents a Gaussian symplectic matrix distribution with"},{label:"GaussianUnitaryMatrixDistribution",type:"keyword",info:"GaussianUnitaryMatrixDistribution[σ, n] represents a Gaussian unitary matrix distribution with matri"},{label:"GaussianWindow",type:"keyword",info:"GaussianWindow[x] represents a Gaussian window function of x.GaussianWindow[x, σ] uses standard devi"},{label:"GCD",type:"keyword",info:"GCD[n , n , …] gives the greatest common divisor of the n . \n 1 2 "},{label:"GegenbauerC",type:"keyword",info:" (m) "},{label:"General",type:"keyword",info:"General is a symbol to which general system messages are attached. "},{label:"GeneralizedLinearModelFit",type:"keyword",info:" "},{label:"GenerateAsymmetricKeyPair",type:"keyword",info:"GenerateAsymmetricKeyPair[] randomly generates a PrivateKey and corresponding PublicKey object for u"},{label:"GenerateConditions",type:"keyword",info:"GenerateConditions is an option for Integrate, Sum, and similar functions that specifies whether exp"},{label:"GeneratedAssetFormat",type:"keyword",info:"GeneratedAssetFormat is an option for functions like VideoGenerator that specifies the format of the"},{label:"GeneratedAssetLocation",type:"keyword",info:"GeneratedAssetLocation is an option for functions like VideoGenerator that specifies the location of"},{label:"GeneratedCell",type:"keyword",info:"GeneratedCell is an option for Cell that indicates whether the cell was generated from the kernel. "},{label:"GeneratedCellStyles",type:"keyword",info:"System`GeneratedCellStyles"},{label:"GeneratedDocumentBinding",type:"keyword",info:"GeneratedDocumentBinding is an option for supplying parameters to a DocumentGenerator during manual "},{label:"GenerateDerivedKey",type:"keyword",info:"GenerateDerivedKey[password] generates a DerivedKey object from the password given.GenerateDerivedKe"},{label:"GenerateDigitalSignature",type:"keyword",info:"GenerateDigitalSignature[expr, key] generates a digital signature for expr using the specified priva"},{label:"GenerateDocument",type:"keyword",info:"GenerateDocument[nb] generates a document by evaluating all template elements in the notebook nb.Gen"},{label:"GeneratedParameters",type:"keyword",info:"GeneratedParameters is an option that specifies how parameters generated to represent the results of"},{label:"GeneratedQuantityMagnitudes",type:"keyword",info:"GeneratedQuantityMagnitudes is an option that specifies how quantities generated to represent the qu"},{label:"GenerateFileSignature",type:"keyword",info:'GenerateFileSignature["file", key] generates a digital signature of file using the specified private'},{label:"GenerateHTTPResponse",type:"keyword",info:"GenerateHTTPResponse[expr] gives the HTTPResponse object that is generated when a cloud object conta"},{label:"GenerateSecuredAuthenticationKey",type:"keyword",info:"GenerateSecuredAuthenticationKey[] generates a new anonymous SecuredAuthenticationKey owned by the c"},{label:"GenerateSymmetricKey",type:"keyword",info:"GenerateSymmetricKey[] randomly generates a SymmetricKey object suitable for use with cryptographic "},{label:"GeneratingFunction",type:"keyword",info:" th\nGenera"},{label:"GeneratorDescription",type:"keyword",info:"GeneratorDescription is an option for providing a textual description for a DocumentGenerator."},{label:"GeneratorHistoryLength",type:"keyword",info:"GeneratorHistoryLength is an option for document generators controlling the number of runs archived "},{label:"GeneratorOutputType",type:"keyword",info:"GeneratorOutputType is an option controlling the file format of documents produced by a DocumentGene"},{label:"Generic",type:"keyword",info:"Generic is a setting for the Mode option of Solve and related functions."},{label:"GenericCylindricalDecomposition",type:"keyword",info:"GenericCylindricalDecomposition[ineqs, {x , x , …}] finds the full-dimensional part of the decomposi"},{label:"GenomeData",type:"keyword",info:'GenomeData["gene"] gives the DNA sequence for the specified gene on the reference human genome.Genom'},{label:"GenomeLookup",type:"keyword",info:'GenomeLookup["seq"] returns the positions of exact matches for the DNA sequence seq on the reference'},{label:"GeoAntipode",type:"keyword",info:"GeoAntipode[loc] gives the antipodal position of location loc.GeoAntipode[g] gives the antipodal pri"},{label:"GeoArea",type:"keyword",info:"GeoArea[g] gives the area of the geo region g."},{label:"GeoArraySize",type:"keyword",info:"GeoArraySize is an option for geographic data functions that determines the dimensions of the array "},{label:"GeoBackground",type:"keyword",info:"GeoBackground is an option that specifies the background style of a GeoGraphics object."},{label:"GeoBoundary",type:"keyword",info:"GeoBoundary[g] returns the boundary line of the geo region g."},{label:"GeoBoundingBox",type:"keyword",info:"GeoBoundingBox[g] gives the geo positions that define the bounding rectangle enclosing the geo regio"},{label:"GeoBounds",type:"keyword",info:"GeoBounds[g] gives the ranges of latitudes and longitudes in the geo region g.GeoBounds[g, Î.b4] pads r"},{label:"GeoBoundsRegion",type:"keyword",info:"GeoBoundsRegion[{{lat , lat }, {lon , lon }}] is a two-dimensional GeoGraphics primitive tha"},{label:"GeoBoundsRegionBoundary",type:"keyword",info:"GeoBoundsRegionBoundary[{{lat , lat }, {lon , lon }}] is a one-dimensional GeoGraphics primi"},{label:"GeoBubbleChart",type:"keyword",info:"GeoBubbleChart[{reg  val , reg  val , …}] makes a geo bubble chart with bubbles centered at the "},{label:"GeoCenter",type:"keyword",info:"GeoCenter is an option for GeoGraphics that specifies the coordinates of the point that should appea"},{label:"GeoCircle",type:"keyword",info:"GeoCircle[loc, r] is a two-dimensional GeoGraphics primitive that represents a circle of radius r ce"},{label:"GeoContourPlot",type:"keyword",info:"GeoContourPlot[{loc  val , loc  val , …}] makes a geo contour plot from values val defined at s"},{label:"GeoDensityPlot",type:"keyword",info:"GeoDensityPlot[{loc  val , loc  val , …}] makes a geo density plot with colors at the location l"},{label:"GeodesicClosing",type:"keyword",info:"GeodesicClosing[image, ker] gives the geodesic closing of image with respect to the structuring elem"},{label:"GeodesicDilation",type:"keyword",info:"GeodesicDilation[marker, mask] gives the fixed point of the geodesic dilation of the marker constrai"},{label:"GeodesicErosion",type:"keyword",info:"GeodesicErosion[marker, mask] gives the fixed point of the geodesic erosion of the marker constraine"},{label:"GeodesicOpening",type:"keyword",info:"GeodesicOpening[image, ker] gives the geodesic opening of image with respect to the structuring elem"},{label:"GeoDestination",type:"keyword",info:"GeoDestination[loc, {d, Î\\[PlusMinus]}] gives the end position of the geodesic of length d starting from loc wit"},{label:"GeodesyData",type:"keyword",info:'GeodesyData["name", "property"] gives the value of the specified property for a named geodetic datum'},{label:"GeoDirection",type:"keyword",info:"GeoDirection[{lat , lon }, {lat , lon }] gives the azimuthal direction from one latitude-longitude p"},{label:"GeoDisk",type:"keyword",info:"GeoDisk[loc, r] is a two-dimensional GeoGraphics primitive that represents a filled disk of radius "},{label:"GeoDisplacement",type:"keyword",info:"GeoDisplacement[{dist, Î\\[PlusMinus]}] represents a geodesic displacement of length dist and initial bearing Î\\[PlusMinus] f"},{label:"GeoDistance",type:"keyword",info:"GeoDistance[{lat , lon }, {lat , lon }] gives the geodesic distance between latitude-longitude posit"},{label:"GeoDistanceList",type:"keyword",info:"GeoDistanceList[{loc , loc , …, loc }] returns the list of geodesic distances between consecutive pa"},{label:"GeoElevationData",type:"keyword",info:"GeoElevationData[] gives the elevation above sea level at ECGeoLocation.GeoElevationData[loc] gives t"},{label:"GeoEntities",type:"keyword",info:"GeoEntities[reg, enttype] gives a list of the geographic entities of type enttype contained in the e"},{label:"GeoGraphics",type:"keyword",info:"GeoGraphics[primitives, options] represents a two-dimensional geographical image."},{label:"GeoGraphPlot",type:"keyword",info:"GeoGraphPlot[{e , e , …}] generates a plot of the geographic graph with edges e .GeoGraphPlot[{v , v"},{label:"GeoGraphValuePlot",type:"keyword",info:"GeoGraphValuePlot[{{src , dest , flow }, {src , dest , flow }, …, {src , dest , flow }}] plots the f"},{label:"GeogravityModelData",type:"keyword",info:"GeogravityModelData[] returns the gravitational field data for the current location.GeogravityModelD"},{label:"GeoGridDirectionDifference",type:"keyword",info:"GeoGridDirectionDifference[proj, loc, Î.b2] gives the difference between the angle from north to direct"},{label:"GeoGridLines",type:"keyword",info:"GeoGridLines is an option for GeoGraphics that specifies what parallels and meridians to show."},{label:"GeoGridLinesStyle",type:"keyword",info:"GeoGridLinesStyle is an option for GeoGraphics that specifies how parallels and meridians should be "},{label:"GeoGridPosition",type:"keyword",info:"GeoGridPosition[{x, y}, proj] represents a point {x, y} in a planimetric cartographic grid using the"},{label:"GeoGridRange",type:"keyword",info:"GeoGridRange is an option for geographic functions that specifies the range of projected coordinates"},{label:"GeoGridRangePadding",type:"keyword",info:"GeoGridRangePadding is an option for geographic functions that specifies how much to extend the proj"},{label:"GeoGridUnitArea",type:"keyword",info:"GeoGridUnitArea[proj, loc] gives the actual geo area corresponding to a unit area on the geo grid ob"},{label:"GeoGridUnitDistance",type:"keyword",info:"GeoGridUnitDistance[proj, loc, Î\\[PlusMinus]] gives the actual geo distance corresponding to a unit distance on "},{label:"GeoGridVector",type:"keyword",info:"GeoGridVector[loc  {v , v }, proj] represents a horizontal two-dimensional vector of components v ,"},{label:"GeoGroup",type:"keyword",info:"GeoGroup[geoobjects] represents a list of geographic objects to be treated as a single object for ce"},{label:"GeoHemisphere",type:"keyword",info:"GeoHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth cen"},{label:"GeoHemisphereBoundary",type:"keyword",info:"GeoHemisphereBoundary[] is a one-dimensional GeoGraphics primitive that represents the boundary line"},{label:"GeoHistogram",type:"keyword",info:"GeoHistogram[locs] plots a density histogram of the geographic locations locs.GeoHistogram[locs, bsp"},{label:"GeoIdentify",type:"keyword",info:"GeoIdentify[enttype] identifies the geographic entities of the type enttype in which the current geo"},{label:"GeoImage",type:"keyword",info:"GeoImage[reg] gives a satellite image of the geo region reg.GeoImage[reg, mapstyle] gives an image o"},{label:"GeoLabels",type:"keyword",info:"GeoLabels is an option for GeoListPlot and GeoRegionValuePlot that specifies whether and how to add "},{label:"GeoLength",type:"keyword",info:"GeoLength[g] gives the length of the geo path g."},{label:"GeoListPlot",type:"keyword",info:"GeoListPlot[{loc , loc , …}] generates a map on which the locations loc are indicated.GeoListPlot[{"},{label:"GeoLocation",type:"keyword",info:"GeoLocation is an option for Interpreter and related functions that specifies the location to assume"},{label:"GeologicalPeriodData",type:"keyword",info:"GeologicalPeriodData[entity, property] gives the value of the specified property for the geological "},{label:"GeomagneticModelData",type:"keyword",info:"GeomagneticModelData[] returns the current magnetic field data for the current location.GeomagneticM"},{label:"GeoMarker",type:"keyword",info:"GeoMarker[] is a GeoGraphics primitive that represents a marker at the current ECGeoLocation.GeoMarke"},{label:"GeometricAssertion",type:"keyword",info:"GeometricAssertion[obj, prop] represents the assertion that the geometric object obj satisfies prop."},{label:"GeometricBrownianMotionProcess",type:"keyword",info:"GeometricBrownianMotionProcess[μ, σ, x ] represents a geometric Brownian motion process with drift μ"},{label:"GeometricDistribution",type:"keyword",info:"GeometricDistribution[p] represents a geometric distribution with probability parameter p. "},{label:"GeometricMean",type:"keyword",info:"GeometricMean[list] gives the geometric mean of the values in list."},{label:"GeometricMeanFilter",type:"keyword",info:" "},{label:"GeometricOptimization",type:"keyword",info:" "},{label:"GeometricScene",type:"keyword",info:"GeometricScene[{p , p , …}, {hyp , hyp , …}] represents an abstract 2D geometric scene defined by th"},{label:"GeometricStep",type:"keyword",info:"GeometricStep[{hyp , hyp , …}] gives a symbolic representation of a step in the definition of a geom"},{label:"GeometricTest",type:"keyword",info:"GeometricTest[obj, prop] tests whether the geometric object obj satisfies prop.GeometricTest[{obj , "},{label:"GeometricTransformation",type:"keyword",info:"GeometricTransformation[g, tfun] represents the result of applying the transformation function tfun "},{label:"GeometricTransformation3DBox",type:"keyword",info:"System`GeometricTransformation3DBox"},{label:"GeometricTransformation3DBoxOptions",type:"keyword",info:"GeometricTransformation3DBoxOptions  {opt  val , opt  val , …} is an option that specifies sett"},{label:"GeometricTransformationBox",type:"keyword",info:"System`GeometricTransformationBox"},{label:"GeometricTransformationBoxOptions",type:"keyword",info:"GeometricTransformationBoxOptions  {opt  val , opt  val , …} is an option that specifies settin"},{label:"GeoModel",type:"keyword",info:"GeoModel is an option for GeoGraphics that specifies the reference body or model for it for the purp"},{label:"GeoNearest",type:"keyword",info:"GeoNearest[enttype, loc] returns the geographic entity of type enttype closest to the geo location l"},{label:"GeoOrientationData",type:"keyword",info:"GeoOrientationData[date, prop] gives the value of the property prop about the orientation of the Ear"},{label:"GeoPath",type:"keyword",info:"GeoPath[{loc , loc }, pathtype] is a GeoGraphics primitive that represents a path of type pathtype b"},{label:"GeoPolygon",type:"keyword",info:"GeoPolygon[{loc , …, loc }] is a GeoGraphics primitive that represents a filled polygon whose bounda"},{label:"GeoPosition",type:"keyword",info:"GeoPosition[{lat, lon}] represents a geodetic position with latitude lat and longitude lon.GeoPositi"},{label:"GeoPositionENU",type:"keyword",info:"GeoPositionENU[{east, north, up}, p] represents a position with local Cartesian coordinates {east, "},{label:"GeoPositionXYZ",type:"keyword",info:"GeoPositionXYZ[{x, y, z}] represents a position in a Cartesian geocentric coordinate system.GeoPosit"},{label:"GeoProjection",type:"keyword",info:"GeoProjection is an option for GeoGraphics that specifies the cartographic projection to use for the"},{label:"GeoProjectionData",type:"keyword",info:'GeoProjectionData["projection", "property"] gives the value of the specified property for the specif'},{label:"GeoRange",type:"keyword",info:"GeoRange is an option for geographic functions that specifies the range of latitude and longitude to"},{label:"GeoRangePadding",type:"keyword",info:"GeoRangePadding is an option for GeoGraphics that specifies what padding to use when extending beyon"},{label:"GeoRegionValuePlot",type:"keyword",info:"GeoRegionValuePlot[{reg  val , reg  val , …}] generates a plot in which the geographic regions r"},{label:"GeoResolution",type:"keyword",info:"GeoResolution is an option for geographic functions that specifies an average distance between neigh"},{label:"GeoScaleBar",type:"keyword",info:"GeoScaleBar is an option for GeoGraphics that determines what scale to show on the map."},{label:"GeoServer",type:"keyword",info:"GeoServer is an option for GeoGraphics, GeoStyling and GeoImage that specifies the URL address of a "},{label:"GeoSmoothHistogram",type:"keyword",info:"GeoSmoothHistogram[locs] plots a smooth kernel histogram of the geo locations locs.GeoSmoothHistogra"},{label:"GeoStreamPlot",type:"keyword",info:"GeoStreamPlot[vecs] generates a stream plot from the field of geo vectors vecs.GeoStreamPlot[{vecs ,"},{label:"GeoStyling",type:"keyword",info:"GeoStyling[mapstyle] displays faces of polygons and other filled geo objects using mapstyle.GeoStyli"},{label:"GeoStylingImageFunction",type:"keyword",info:"GeoStylingImageFunction is an option for specifying an image effect to apply to a geo style."},{label:"GeoVariant",type:"keyword",info:"GeoVariant[obj, qual] represents a geographic object obj with qualifier qual."},{label:"GeoVector",type:"keyword",info:"GeoVector[loc  {m, Î\\[PlusMinus]}] represents a horizontal two-dimensional vector of magnitude m and bearing Î\\[PlusMinus] "},{label:"GeoVectorENU",type:"keyword",info:"GeoVectorENU[loc  {v , v }] represents a horizontal two-dimensional vector of components v and v "},{label:"GeoVectorPlot",type:"keyword",info:"GeoVectorPlot[vecs] generates a vector plot from the field of geo vectors vecs.GeoVectorPlot[{vecs ,"},{label:"GeoVectorXYZ",type:"keyword",info:"GeoVectorXYZ[loc  {v , v , v }] represents a three-dimensional vector of Cartesian components v , v"},{label:"GeoVisibleRegion",type:"keyword",info:"GeoVisibleRegion[{lat, lon, h}] is a two-dimensional GeoGraphics primitive that represents the regio"},{label:"GeoVisibleRegionBoundary",type:"keyword",info:"GeoVisibleRegionBoundary[{lat, lon, h}] is a one-dimensional GeoGraphics primitive that represents t"},{label:"GeoWithinQ",type:"keyword",info:"GeoWithinQ[reg, loc] returns True if the location loc is contained within the region reg, and False "},{label:"GeoZoomLevel",type:"keyword",info:"GeoZoomLevel is an option for specifying the resolution at which to render a map."},{label:"GestureHandler",type:"keyword",info:"GestureHandler[expr, {gesture  fun , gesture  fun , …}] displays as expr, evaluating fun [value,"},{label:"GestureHandlerTag",type:"keyword",info:"System`GestureHandlerTag"},{label:"Get",type:"keyword",info:"<< name reads in a file, evaluating each expression in it and returning the last one. Get[stream] re"},{label:"GetBoundingBoxSizePacket",type:"keyword",info:"System`GetBoundingBoxSizePacket"},{label:"GetContext",type:"keyword",info:'GetContext["context`"] loads the file named by ContextToFileName["context`"], which gives the conven'},{label:"GetEnvironment",type:"keyword",info:'GetEnvironment["var"] gives the setting corresponding to the variable "var" in the operating system '},{label:"GetFileName",type:"keyword",info:"System`GetFileName"},{label:"GetLinebreakInformationPacket",type:"keyword",info:"System`GetLinebreakInformationPacket"},{label:"GetMenusPacket",type:"keyword",info:"System`GetMenusPacket"},{label:"GetPageBreakInformationPacket",type:"keyword",info:"System`GetPageBreakInformationPacket"},{label:"GibbsPointProcess",type:"keyword",info:" "},{label:"Glaisher",type:"keyword",info:"Glaisher is Glaisher's constant with numerical value ≃ 1.28243. "},{label:"GlobalClusteringCoefficient",type:"keyword",info:"GlobalClusteringCoefficient[g] gives the global clustering coefficient of the graph g.GlobalClusteri"},{label:"GlobalPreferences",type:"keyword",info:"System`GlobalPreferences"},{label:"GlobalSession",type:"keyword",info:"System`GlobalSession"},{label:"Glow",type:"keyword",info:"Glow[col] is a graphics directive which specifies that surfaces of 3D graphics objects that follow a"},{label:"GoldenAngle",type:"keyword",info:"GoldenAngle is the golden angle (3 - Sqrt[5]) π, with numerical value ≃ 137.5Â\\[Degree]."},{label:"GoldenRatio",type:"keyword",info:" 1\nGoldenRatio is the golden ratio ϕ  - (Sqrt[5] + 1), with nume"},{label:"GompertzMakehamDistribution",type:"keyword",info:"GompertzMakehamDistribution[λ, ξ] represents a Gompertz distribution with scale parameter λ and frai"},{label:"GoochShading",type:"keyword",info:"GoochShading[] is a three-dimensional graphics directive specifying that surfaces that follow are to"},{label:"GoodmanKruskalGamma",type:"keyword",info:" "},{label:"GoodmanKruskalGammaTest",type:"keyword",info:"GoodmanKruskalGammaTest[v , v ] tests whether the vectors v and v are independent.GoodmanKruskalGa"},{label:"Goto",type:"keyword",info:"Goto[tag] scans for Label[tag], and transfers control to that point. "},{label:"Grad",type:"keyword",info:"Grad[f, {x , …, x }] gives the gradient (∂ f/∂ x , …, ∂ f/∂ x ).Grad[f, {x , …, x }, chart] gives th"},{label:"Gradient",type:"keyword",info:"Gradient is an option for FindMinimum and related functions that specifies the gradient vector to as"},{label:"GradientFilter",type:"keyword",info:"GradientFilter[data, r] gives the magnitude of the gradient of data, computed using discrete derivat"},{label:"GradientFittedMesh",type:"keyword",info:"GradientFittedMesh[{p , p , …}] gives a MeshRegion whose gradient best fits the normals at points p "},{label:"GradientOrientationFilter",type:"keyword",info:"GradientOrientationFilter[data, r] gives the local orientation parallel to the gradient of data, com"},{label:"GrammarApply",type:"keyword",info:"GrammarApply[grammar, input] attempts to parse input according to the grammar defined by grammar."},{label:"GrammarRules",type:"keyword",info:"GrammarRules[rules] represents grammar rules to be deployed to a cloud object that implements the gr"},{label:"GrammarToken",type:"keyword",info:"GrammarToken[form] is a grammar rules pattern object that represents any input of the specified form"},{label:"Graph",type:"keyword",info:"Graph[{e , e , …}] yields a graph with edges e .Graph[{v , v , …}, {e , e , …}] yields the graph wit"},{label:"Graph3D",type:"keyword",info:"Graph3D[g] creates a graph with vertices and edges from the graph g and represented as a 3D plot.Gra"},{label:"GraphAssortativity",type:"keyword",info:"GraphAssortativity[g] gives the assortativity coefficient of a graph g using vertex degrees.GraphAss"},{label:"GraphAutomorphismGroup",type:"keyword",info:"GraphAutomorphismGroup[g] gives the automorphism group of a graph g.GraphAutomorphismGroup[{v  w, …"},{label:"GraphCenter",type:"keyword",info:"GraphCenter[g] gives the set of vertices with minimum eccentricity in the graph g.GraphCenter[{v  w"},{label:"GraphComplement",type:"keyword",info:"GraphComplement[g] gives the graph complement of the graph g.GraphComplement[{v  w, …}] uses rules "},{label:"GraphData",type:"keyword",info:"GraphData[name] gives a graph with the specified name.GraphData[entity] gives the graph correspondin"},{label:"GraphDensity",type:"keyword",info:"GraphDensity[g] gives the graph density of the graph g.GraphDensity[{v  w, …}] uses rules v  w to "},{label:"GraphDiameter",type:"keyword",info:"GraphDiameter[g] gives the greatest distance between any pair of vertices in the graph g.GraphDiamet"},{label:"GraphDifference",type:"keyword",info:"GraphDifference[g , g ] gives the graph difference of the graphs g and g .GraphDifference[{v  w, …"},{label:"GraphDisjointUnion",type:"keyword",info:"GraphDisjointUnion[g , g ] gives the graph disjoint union of the graphs g and g .GraphDisjointUnion"},{label:"GraphDistance",type:"keyword",info:"GraphDistance[g, s, t] gives the distance from source vertex s to target vertex t in the graph g.Gra"},{label:"GraphDistanceMatrix",type:"keyword",info:"GraphDistanceMatrix[g] gives the matrix of distances between vertices for the graph g.GraphDistanceM"},{label:"GraphElementData",type:"keyword",info:"System`GraphElementData"},{label:"GraphEmbedding",type:"keyword",info:'GraphEmbedding[g] gives coordinates of the vertices of the graph g.GraphEmbedding[g, "emb"] gives co'},{label:"GraphHighlight",type:"keyword",info:"GraphHighlight is an option to Graph and related objects that specifies graph elements to highlight."},{label:"GraphHighlightStyle",type:"keyword",info:"GraphHighlightStyle is an option to Graph and related objects that specifies styles to use for highl"},{label:"GraphHub",type:"keyword",info:"GraphHub[g] gives the set of vertices with maximum vertex degree in the underlying simple graph of g"},{label:"Graphics",type:"keyword",info:"Graphics[primitives, options] represents a two-dimensional graphical image. "},{label:"Graphics3D",type:"keyword",info:"Graphics3D[primitives, options] represents a three-dimensional graphical image. "},{label:"Graphics3DBox",type:"keyword",info:"System`Graphics3DBox"},{label:"Graphics3DBoxOptions",type:"keyword",info:"Graphics3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Graphi"},{label:"GraphicsArray",type:"keyword",info:"GraphicsArray[{g , g , …}] represents a row of graphics objects.GraphicsArray[{{g , g , …}, …}] re"},{label:"GraphicsBaseline",type:"keyword",info:"System`GraphicsBaseline"},{label:"GraphicsBox",type:"keyword",info:"System`GraphicsBox"},{label:"GraphicsBoxOptions",type:"keyword",info:"GraphicsBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Graphics"},{label:"GraphicsColor",type:"keyword",info:"System`GraphicsColor"},{label:"GraphicsColumn",type:"keyword",info:"GraphicsColumn[{g , g , …}] generates a graphic in which the g are laid out in a column, with g ab"},{label:"GraphicsComplex",type:"keyword",info:"GraphicsComplex[{pt , pt , …}, data] represents a graphics complex in which coordinates given as int"},{label:"GraphicsComplex3DBox",type:"keyword",info:"System`GraphicsComplex3DBox"},{label:"GraphicsComplex3DBoxOptions",type:"keyword",info:"GraphicsComplex3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for"},{label:"GraphicsComplexBox",type:"keyword",info:"System`GraphicsComplexBox"},{label:"GraphicsComplexBoxOptions",type:"keyword",info:"GraphicsComplexBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for G"},{label:"GraphicsContents",type:"keyword",info:"System`GraphicsContents"},{label:"GraphicsData",type:"keyword",info:"System`GraphicsData"},{label:"GraphicsGrid",type:"keyword",info:"GraphicsGrid[{{g , g , …}, …}] generates a graphic in which the g are laid out in a two-dimensio"},{label:"GraphicsGridBox",type:"keyword",info:"System`GraphicsGridBox"},{label:"GraphicsGroup",type:"keyword",info:"GraphicsGroup[{g , g , …}] represents a collection of graphics objects grouped together for purposes"},{label:"GraphicsGroup3DBox",type:"keyword",info:"System`GraphicsGroup3DBox"},{label:"GraphicsGroup3DBoxOptions",type:"keyword",info:"GraphicsGroup3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for G"},{label:"GraphicsGroupBox",type:"keyword",info:"System`GraphicsGroupBox"},{label:"GraphicsGroupBoxOptions",type:"keyword",info:"GraphicsGroupBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Gra"},{label:"GraphicsGrouping",type:"keyword",info:"System`GraphicsGrouping"},{label:"GraphicsHighlightColor",type:"keyword",info:"System`GraphicsHighlightColor"},{label:"GraphicsRow",type:"keyword",info:"GraphicsRow[{g , g , …}] generates a graphic in which the g are laid out in a row.GraphicsRow[list,"},{label:"GraphicsSpacing",type:"keyword",info:"GraphicsSpacing is an option for GraphicsArray that specifies the spacing between elements in the ar"},{label:"GraphicsStyle",type:"keyword",info:"System`GraphicsStyle"},{label:"GraphIntersection",type:"keyword",info:"GraphIntersection[g , g ] gives the graph intersection of the graphs g and g .GraphIntersection[g ,"},{label:"GraphLayerLabels",type:"keyword",info:"System`GraphLayerLabels"},{label:"GraphLayers",type:"keyword",info:"GraphLayers is an option for LayeredGraphPlot3D and related functions that specifies layers to draw "},{label:"GraphLayerStyle",type:"keyword",info:"GraphLayerStyle is an option for LayeredGraphPlot3D and related functions that specifies the style i"},{label:"GraphLayout",type:"keyword",info:"GraphLayout is an option to Graph and related functions that specifies what layout to use."},{label:"GraphLinkEfficiency",type:"keyword",info:"GraphLinkEfficiency[g] gives the link efficiency of the graph g.GraphLinkEfficiency[{v  w, …}] uses"},{label:"GraphPeriphery",type:"keyword",info:"GraphPeriphery[g] gives vertices that are maximally distant to at least one vertex in the graph g.Gr"},{label:"GraphPlot",type:"keyword",info:"GraphPlot[g] generates a plot of the graph g.GraphPlot[{e , e , …}] generates a plot of the graph wi"},{label:"GraphPlot3D",type:"keyword",info:"GraphPlot3D[g] generates a 3D plot of the graph g.GraphPlot3D[{e , e , …}] generates a 3D plot of th"},{label:"GraphPower",type:"keyword",info:" th\nGraphPower[g, n] gives the graph-n power of the graph g.Gra"},{label:"GraphPropertyDistribution",type:"keyword",info:"GraphPropertyDistribution[expr, x  gdist] represents the distribution of the property expr where th"},{label:"GraphQ",type:"keyword",info:"GraphQ[g] yields True if g is a valid Graph object and False otherwise."},{label:"GraphRadius",type:"keyword",info:"GraphRadius[g] gives the minimum eccentricity of the vertices in the graph g.GraphRadius[{v  w, …}]"},{label:"GraphReciprocity",type:"keyword",info:"GraphReciprocity[g] gives the reciprocity of a graph g.GraphReciprocity[{v  w, …}] uses rules v  w"},{label:"GraphRoot",type:"keyword",info:"System`GraphRoot"},{label:"GraphStyle",type:"keyword",info:"GraphStyle is an option to Graph and related objects that specifies styles to use for the different "},{label:"GraphTree",type:"keyword",info:"GraphTree[g] constructs a tree from the tree graph g.GraphTree[g, root] specifies what vertex to use"},{label:"GraphUnion",type:"keyword",info:"GraphUnion[g , g ] gives the graph union of the graphs g and g .GraphUnion[g , g , …] gives the gra"},{label:"Gray",type:"keyword",info:"Gray represents the color gray in graphics or style specifications. "},{label:"GrayLevel",type:"keyword",info:"GrayLevel[g] represents a color in the grayscale color space with gray level g.GrayLevel[g, a] speci"},{label:"Greater",type:"keyword",info:"x > y yields True if x is determined to be greater than y. x > x > x yields True if the x form a"},{label:"GreaterEqual",type:"keyword",info:"x >= y or x ≥ y yields True if x is determined to be greater than or equal to y. x ≥ x ≥ x yields"},{label:"GreaterEqualLess",type:"keyword",info:"GreaterEqualLess[x, y, …] displays as x ⋛ y ⋛ …."},{label:"GreaterEqualThan",type:"keyword",info:"GreaterEqualThan[y] is an operator form that yields x ≥ y when applied to an expression x."},{label:"GreaterFullEqual",type:"keyword",info:"GreaterFullEqual[x, y, …] displays as x ≧ y ≧ …."},{label:"GreaterGreater",type:"keyword",info:"GreaterGreater[x, y, …] displays as x ≫ y ≫ …."},{label:"GreaterLess",type:"keyword",info:"GreaterLess[x, y, …] displays as x â‰\\[CenterDot] y â‰\\[CenterDot] …."},{label:"GreaterSlantEqual",type:"keyword",info:"GreaterSlantEqual[x, y, …] displays as x ⩾ y ⩾ …."},{label:"GreaterThan",type:"keyword",info:"GreaterThan[y] is an operator form that yields x > y when applied to an expression x."},{label:"GreaterTilde",type:"keyword",info:"GreaterTilde[x, y, …] displays as x â‰.b3 y â‰.b3 …."},{label:"GreekStyle",type:"keyword",info:"System`GreekStyle"},{label:"Green",type:"keyword",info:"Green represents the color green in graphics or style specifications. "},{label:"GreenFunction",type:"keyword",info:"GreenFunction[{ℒ[u[x]], â„\\[Not][u[x]]}, u, {x, x , x }, y] gives a Green's function for the linear dif"},{label:"Grid",type:"keyword",info:"Grid[{{expr , expr , …}, {expr , expr , …}, …}] is an object that formats with the expr arrang"},{label:"GridBaseline",type:"keyword",info:"GridBaseline is an option for GridBox that specifies what place in the grid should be considered its"},{label:"GridBox",type:"keyword",info:"GridBox[{{box , box , …}, {box , box , …}, …}] is a low-level box construct that represents a tw"},{label:"GridBoxAlignment",type:"keyword",info:"System`GridBoxAlignment"},{label:"GridBoxBackground",type:"keyword",info:"System`GridBoxBackground"},{label:"GridBoxDividers",type:"keyword",info:"System`GridBoxDividers"},{label:"GridBoxFrame",type:"keyword",info:"System`GridBoxFrame"},{label:"GridBoxItemSize",type:"keyword",info:"System`GridBoxItemSize"},{label:"GridBoxItemStyle",type:"keyword",info:"System`GridBoxItemStyle"},{label:"GridBoxOptions",type:"keyword",info:"GridBoxOptions -> {opt -> val , opt -> val , …} is an option which specifies default settings for "},{label:"GridBoxSpacings",type:"keyword",info:"System`GridBoxSpacings"},{label:"GridCreationSettings",type:"keyword",info:"GridCreationSettings is a global option that specifies settings for the Create Table/Matrix dialog."},{label:"GridDefaultElement",type:"keyword",info:"GridDefaultElement is an option for the low-level function GridBox that specifies what to insert whe"},{label:"GridElementStyleOptions",type:"keyword",info:"System`GridElementStyleOptions"},{label:"GridFrame",type:"keyword",info:"GridFrame is an option for grids that specifies whether a surrounding frame is drawn."},{label:"GridFrameMargins",type:"keyword",info:"GridFrameMargins is an option for grids that specifies the spacing between the content of the grid a"},{label:"GridGraph",type:"keyword",info:"GridGraph[{m, n}] gives the grid graph with m × n vertices G .GridGraph[{n , n , …, n }] gives th"},{label:"GridLines",type:"keyword",info:"GridLines is an option for two-dimensional graphics functions that specifies grid lines. "},{label:"GridLinesStyle",type:"keyword",info:"GridLinesStyle is an option for 2D graphics functions that specifies how grid lines should be render"},{label:"GridVideo",type:"keyword",info:"GridVideo[{v , v , …}] creates a video in which each frame is a grid of frames of all v at the corr"},{label:"GroebnerBasis",type:"keyword",info:"GroebnerBasis[{poly , poly , …}, {x , x , …}] gives a list of polynomials that form a GrÃ\\[Paragraph]bner basis "},{label:"GroupActionBase",type:"keyword",info:"GroupActionBase is an option to specify a base for a group."},{label:"GroupBy",type:"keyword",info:"GroupBy[{elem , elem , …}, f] gives an association that groups the elem into lists associated with "},{label:"GroupCentralizer",type:"keyword",info:"GroupCentralizer[group, g] returns the centralizer of the element g in group."},{label:"GroupElementFromWord",type:"keyword",info:"GroupElementFromWord[group, w] returns the element of group determined by the word w in the generato"},{label:"GroupElementPosition",type:"keyword",info:"GroupElementPosition[group, g] returns the position of the element g in the list of elements of grou"},{label:"GroupElementQ",type:"keyword",info:"GroupElementQ[group, g] returns True if the object g is an element of group and False otherwise."},{label:"GroupElements",type:"keyword",info:"GroupElements[group] returns the list of all elements of group.GroupElements[group, {r , …, r }] ret"},{label:"GroupElementToWord",type:"keyword",info:"GroupElementToWord[group, g] decomposes the group element g as a product of generators of group."},{label:"GroupGenerators",type:"keyword",info:"GroupGenerators[group] returns a list of generators of group. "},{label:"Groupings",type:"keyword",info:"Groupings[n, k] gives a list of all possible groupings of 1, …, n taken k at a time. Groupings[{a , "},{label:"GroupMultiplicationTable",type:"keyword",info:"GroupMultiplicationTable[group] gives the multiplication table of group as an array."},{label:"GroupOpenerColor",type:"keyword",info:"System`GroupOpenerColor"},{label:"GroupOpenerInsideFrame",type:"keyword",info:"System`GroupOpenerInsideFrame"},{label:"GroupOrbits",type:"keyword",info:"GroupOrbits[group, {p , …}] returns the orbits of the points p under the action of the elements of "},{label:"GroupOrder",type:"keyword",info:"GroupOrder[group] returns the number of elements of group."},{label:"GroupPageBreakWithin",type:"keyword",info:"GroupPageBreakWithin is an option for Cell that specifies whether a page break should be allowed wit"},{label:"GroupSetwiseStabilizer",type:"keyword",info:"GroupSetwiseStabilizer[group, {p , …, p }] returns the subgroup of group for which the images of the"},{label:"GroupStabilizer",type:"keyword",info:"GroupStabilizer[group, {p , …, p }] returns the subgroup of elements of group that move none of the "},{label:"GroupStabilizerChain",type:"keyword",info:"GroupStabilizerChain[group] returns a list of successive stabilizers in group of the points in a bas"},{label:"GroupTogetherGrouping",type:"keyword",info:"System`GroupTogetherGrouping"},{label:"GroupTogetherNestedGrouping",type:"keyword",info:"System`GroupTogetherNestedGrouping"},{label:"GrowCutComponents",type:"keyword",info:"GrowCutComponents[image, {marker , marker , …}] creates a segmentation from image by growing each ma"},{label:"Gudermannian",type:"keyword",info:"Gudermannian[z] gives the Gudermannian function gd(z)."},{label:"GuidedFilter",type:"keyword",info:"GuidedFilter[image, guide, r, Ï\\[Micro]] filters image using the guide image guide over range-r neighborhood"},{label:"GumbelDistribution",type:"keyword",info:"GumbelDistribution[Î\\[PlusMinus], Î.b2] represents a Gumbel distribution with location parameter Î\\[PlusMinus] and scale parame"},{label:"HaarWavelet",type:"keyword",info:"HaarWavelet[] represents a Haar wavelet. "},{label:"HadamardMatrix",type:"keyword",info:"HadamardMatrix[n] returns an n×n Hadamard matrix."},{label:"HalfLine",type:"keyword",info:"HalfLine[{p , p }] represents the half-line from the point p through p . HalfLine[p, v] represents "},{label:"HalfNormalDistribution",type:"keyword",info:"HalfNormalDistribution[θ] represents a half-normal distribution with scale inversely proportional to"},{label:"HalfPlane",type:"keyword",info:"HalfPlane[{p , p }, w] represents the half-plane bounded by the line through p and p and extended "},{label:"HalfSpace",type:"keyword",info:"HalfSpace[n, p] represents the half-space of points x such that n . (x - p) ≤ 0.HalfSpace[n, c] repr"},{label:"HalftoneShading",type:"keyword",info:"HalftoneShading[] is a three-dimensional graphics directive specifying that surfaces that follow are"},{label:"HamiltonianGraphQ",type:"keyword",info:"HamiltonianGraphQ[g] yields True if the graph g is Hamiltonian, and False otherwise."},{label:"HammingDistance",type:"keyword",info:"HammingDistance[u, v] gives the Hamming distance between strings or vectors u and v.HammingDistance["},{label:"HammingWindow",type:"keyword",info:"HammingWindow[x] represents a Hamming window function of x."},{label:"HandlerFunctions",type:"keyword",info:"HandlerFunctions is an option for asynchronous operations that specifies functions to apply when eve"},{label:"HandlerFunctionsKeys",type:"keyword",info:"HandlerFunctionsKeys is an option for asynchronous operations that specifies the content of associat"},{label:"HankelH1",type:"keyword",info:" (1)\nHankelH1[n, z] gives the Hankel func"},{label:"HankelH2",type:"keyword",info:" (2)\nHankelH2[n, z] gives the Hankel fun"},{label:"HankelMatrix",type:"keyword",info:"HankelMatrix[n] gives the n×n Hankel matrix with first row and first column being successive integer"},{label:"HankelTransform",type:"keyword",info:"HankelTransform[expr, r, s] gives the Hankel transform of order 0 for expr.HankelTransform[expr, r, "},{label:"HannPoissonWindow",type:"keyword",info:"HannPoissonWindow[x] represents a Hann–Poisson window function of x.HannPoissonWindow[x, Î\\[PlusMinus]] uses the"},{label:"HannWindow",type:"keyword",info:"HannWindow[x] represents a Hann window function of x.HannWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"HaradaNortonGroupHN",type:"keyword",info:"HaradaNortonGroupHN[] represents the sporadic simple Harada–Norton group HN."},{label:"HararyGraph",type:"keyword",info:"HararyGraph[k, n] generates the minimal k-connected graph on n vertices H .\n "},{label:"HardcorePointProcess",type:"keyword",info:" "},{label:"HarmonicMean",type:"keyword",info:"HarmonicMean[list] gives the harmonic mean of the values in list."},{label:"HarmonicMeanFilter",type:"keyword",info:" "},{label:"HarmonicNumber",type:"keyword",info:" th "},{label:"Hash",type:"keyword",info:'Hash[expr] gives an integer hash code for the expression expr.Hash[expr, "type"] gives an integer ha'},{label:"HatchFilling",type:"keyword",info:"HatchFilling[] is a two-dimensional graphics directive that specifies that faces of polygons and oth"},{label:"HatchShading",type:"keyword",info:"HatchShading[] is a three-dimensional graphics directive specifying that objects that follow are to "},{label:"Haversine",type:"keyword",info:"Haversine[z] gives the haversine function hav(z)."},{label:"HazardFunction",type:"keyword",info:"HazardFunction[dist, x] gives the hazard function for the distribution dist evaluated at x.HazardFun"},{label:"Head",type:"keyword",info:"Head[expr] gives the head of expr. Head[expr, h] wraps the result with h.\n"},{label:"HeadCompose",type:"keyword",info:"HeadCompose[a, b, c, d] gives a[b][c][d]."},{label:"HeaderAlignment",type:"keyword",info:"HeaderAlignment is an option for Dataset that specifies how the contents of a header should be align"},{label:"HeaderBackground",type:"keyword",info:"HeaderBackground is an option for Dataset that specifies what background color to use for row and co"},{label:"HeaderDisplayFunction",type:"keyword",info:"HeaderDisplayFunction is an option for Dataset that specifies a function to apply to headers before "},{label:"HeaderLines",type:"keyword",info:"HeaderLines is an option for SemanticImport and related functions that specifies how many of the ini"},{label:"Headers",type:"keyword",info:"System`Headers"},{label:"HeaderSize",type:"keyword",info:"HeaderSize is an option for Dataset that specifies the widths and heights of headers."},{label:"HeaderStyle",type:"keyword",info:"HeaderStyle is an option for Dataset that specifies the style to use for headers."},{label:"Heads",type:"keyword",info:"Heads is an option for functions which use level specifications that specifies whether heads of expr"},{label:"HeatFluxValue",type:"keyword",info:"HeatFluxValue[pred, vars, pars] represents a thermal heat flux boundary condition for PDEs with pred"},{label:"HeatInsulationValue",type:"keyword",info:"HeatInsulationValue[pred, vars, pars] represents a thermal insulation boundary condition for PDEs wi"},{label:"HeatOutflowValue",type:"keyword",info:"HeatOutflowValue[pred, vars, pars] represents a thermal outflow boundary condition for PDEs with pre"},{label:"HeatRadiationValue",type:"keyword",info:"HeatRadiationValue[pred, vars, pars] represents a thermal radiation boundary condition for PDEs with"},{label:"HeatSymmetryValue",type:"keyword",info:"HeatSymmetryValue[pred, vars, pars] represents a thermal symmetry boundary condition for PDEs with p"},{label:"HeatTemperatureCondition",type:"keyword",info:"HeatTemperatureCondition[pred, vars, pars] represents a thermal surface boundary condition for PDEs "},{label:"HeatTransferPDEComponent",type:"keyword",info:"HeatTransferPDEComponent[vars, pars] yields a heat transfer PDE term with variables vars and paramet"},{label:"HeatTransferValue",type:"keyword",info:"HeatTransferValue[pred, vars, pars] represents a thermal transfer boundary condition for PDEs with p"},{label:"HeavisideLambda",type:"keyword",info:"HeavisideLambda[x] represents the triangle distribution Λ(x) which is nonzero for  x  < 1.Heavisid"},{label:"HeavisidePi",type:"keyword",info:" 1 1 "},{label:"HeavisideTheta",type:"keyword",info:"HeavisideTheta[x] represents the Heaviside theta function θ(x), equal to 0 for x < 0 and 1 for x > 0"},{label:"HeldGroupHe",type:"keyword",info:"HeldGroupHe[] represents the sporadic simple Held group He."},{label:"HeldPart",type:"keyword",info:"System`HeldPart"},{label:"HelmholtzPDEComponent",type:"keyword",info:" 2 2\nHelmholtzPDECompo"},{label:"HelpBrowserLookup",type:"keyword",info:"System`HelpBrowserLookup"},{label:"HelpBrowserNotebook",type:"keyword",info:"System`HelpBrowserNotebook"},{label:"HelpBrowserSettings",type:"keyword",info:"HelpBrowserSettings is a global option that specifies settings for the legacy Help Browser."},{label:"Here",type:"keyword",info:"Here represents the current deduced geo location."},{label:"HermiteDecomposition",type:"keyword",info:"HermiteDecomposition[m] gives the Hermite normal form decomposition of an integer matrix m."},{label:"HermiteH",type:"keyword",info:"HermiteH[n, x] gives the Hermite polynomial H (x). \n n"},{label:"Hermitian",type:"keyword",info:"Hermitian[{1, 2}] represents the symmetry of a Hermitian matrix."},{label:"HermitianMatrixQ",type:"keyword",info:"HermitianMatrixQ[m] gives True if m is explicitly Hermitian, and False otherwise. "},{label:"HessenbergDecomposition",type:"keyword",info:"HessenbergDecomposition[m] gives the Hessenberg decomposition of a numerical matrix m. "},{label:"Hessian",type:"keyword",info:"System`Hessian"},{label:"HeunB",type:"keyword",info:"HeunB[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the bi-confluent Heun function. "},{label:"HeunBPrime",type:"keyword",info:"HeunBPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunB function. "},{label:"HeunC",type:"keyword",info:"HeunC[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the confluent Heun function."},{label:"HeunCPrime",type:"keyword",info:"HeunCPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunC function. "},{label:"HeunD",type:"keyword",info:"HeunD[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the double-confluent Heun function. "},{label:"HeunDPrime",type:"keyword",info:"HeunDPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunD function. "},{label:"HeunG",type:"keyword",info:"HeunG[a, q, Î\\[PlusMinus], Î.b2, Î.b3, Î.b4, z] gives the general Heun function. "},{label:"HeunGPrime",type:"keyword",info:"HeunGPrime[a, q, Î\\[PlusMinus], Î.b2, Î.b3, Î.b4, z] gives the z-derivative of the HeunG function. "},{label:"HeunT",type:"keyword",info:"HeunT[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the tri-confluent Heun function. "},{label:"HeunTPrime",type:"keyword",info:"HeunTPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunT function. "},{label:"HexadecimalCharacter",type:"keyword",info:"HexadecimalCharacter represents a hexadecimal digit character 0–9, a–f, A–F in StringExpression."},{label:"Hexahedron",type:"keyword",info:"Hexahedron[{p , p , …, p }] represents a filled hexahedron with corners p , p , …, p .Hexahedron[{{p"},{label:"HexahedronBox",type:"keyword",info:"System`HexahedronBox"},{label:"HexahedronBoxOptions",type:"keyword",info:"System`HexahedronBoxOptions"},{label:"HiddenItems",type:"keyword",info:"HiddenItems is an option for Dataset that specifies which items to hide."},{label:"HiddenMarkovProcess",type:"keyword",info:"HiddenMarkovProcess[i , m, em] represents a discrete-time, finite-state hidden Markov process with t"},{label:"HiddenSurface",type:"keyword",info:"HiddenSurface is an option for SurfaceGraphics which specifies whether hidden surfaces are to be eli"},{label:"Highlighted",type:"keyword",info:"Highlighted[expr] displays a highlighted version of expr."},{label:"HighlightGraph",type:"keyword",info:"HighlightGraph[g, {a , a , …}] highlights the a that can be vertices, edges, or subgraphs of g.High"},{label:"HighlightImage",type:"keyword",info:"HighlightImage[image, roi] highlights the specified region of interest roi in image.HighlightImage[i"},{label:"HighlightMesh",type:"keyword",info:"HighlightMesh[mr, {cellspec , cellspec , …}] highlights the cells specified by cellspec in the mesh"},{label:"HighpassFilter",type:"keyword",info:"HighpassFilter[data, ω ] applies a highpass filter with a cutoff frequency ω to an array of data.Hi"},{label:"HigmanSimsGroupHS",type:"keyword",info:"HigmanSimsGroupHS[] represents the sporadic simple Higman–Sims group HS."},{label:"HilbertCurve",type:"keyword",info:" th "},{label:"HilbertFilter",type:"keyword",info:"HilbertFilter[data, ω ] applies a Hilbert filter with a cutoff frequency ω to an array of data.Hilb"},{label:"HilbertMatrix",type:"keyword",info:"HilbertMatrix[n] gives the n×n Hilbert matrix with elements of the form 1/(i + j - 1).HilbertMatrix["},{label:"Histogram",type:"keyword",info:"Histogram[{x , x , …}] plots a histogram of the values x .Histogram[{x , x , …}, bspec] plots a hist"},{label:"Histogram3D",type:"keyword",info:"Histogram3D[{{x , y }, {x , y }, …}] plots a 3D histogram of the values {x , y }.Histogram3D[{{x , y"},{label:"HistogramDistribution",type:"keyword",info:"HistogramDistribution[{x , x , …}] represents the probability distribution corresponding to a histog"},{label:"HistogramList",type:"keyword",info:"HistogramList[{x , x , …}] gives a list of bins and histogram heights of the values x .HistogramList"},{label:"HistogramPointDensity",type:"keyword",info:"HistogramPointDensity[pdata] estimates the histogram point density function μ(x) for point data pdat"},{label:"HistogramTransform",type:"keyword",info:"HistogramTransform[image] transforms pixel values of image so that its histogram is nearly flat.Hist"},{label:"HistogramTransformInterpolation",type:"keyword",info:"HistogramTransformInterpolation[{x , x , …}] finds a function f so that the transformed values f(x )"},{label:"HistoricalPeriodData",type:"keyword",info:"HistoricalPeriodData[entity, property] gives the value of the specified property for the historical "},{label:"HitMissTransform",type:"keyword",info:"HitMissTransform[image, ker] gives the hit-or-miss transform of image with respect to the composite "},{label:"HITSCentrality",type:"keyword",info:"HITSCentrality[g] gives a list of authority and hub centralities for the vertices in the graph g.HIT"},{label:"HjorthDistribution",type:"keyword",info:"HjorthDistribution[m, s, f] represents the Hjorth distribution with location parameter m, scale para"},{label:"HodgeDual",type:"keyword",info:"HodgeDual[tensor] gives the Hodge dual of the tensorHodgeDual[tensor, dim] dualizes tensor in the sl"},{label:"HoeffdingD",type:"keyword",info:" "},{label:"HoeffdingDTest",type:"keyword",info:'HoeffdingDTest[v , v ] tests whether the vectors v and v are independent.HoeffdingDTest[…, "proper'},{label:"Hold",type:"keyword",info:"Hold[expr] maintains expr in an unevaluated form. "},{label:"HoldAll",type:"keyword",info:"HoldAll is an attribute that specifies that all arguments to a function are to be maintained in an u"},{label:"HoldAllComplete",type:"keyword",info:"HoldAllComplete is an attribute which specifies that all arguments to a function are not to be modif"},{label:"HoldComplete",type:"keyword",info:"HoldComplete[expr] shields expr completely from the standard Wolfram Language evaluation process, pr"},{label:"HoldFirst",type:"keyword",info:"HoldFirst is an attribute that specifies that the first argument to a function is to be maintained i"},{label:"HoldForm",type:"keyword",info:"HoldForm[expr] prints as the expression expr, with expr maintained in an unevaluated form. "},{label:"HoldPattern",type:"keyword",info:"HoldPattern[expr] is equivalent to expr for pattern matching, but maintains expr in an unevaluated f"},{label:"HoldRest",type:"keyword",info:"HoldRest is an attribute which specifies that all but the first argument to a function are to be mai"},{label:"HolidayCalendar",type:"keyword",info:"HolidayCalendar is an option that specifies the holiday calendar schedule in business day functions."},{label:"HomeDirectory",type:"keyword",info:"System`HomeDirectory"},{label:"HomePage",type:"keyword",info:"System`HomePage"},{label:"Horizontal",type:"keyword",info:"System`Horizontal"},{label:"HorizontalForm",type:"keyword",info:"HorizontalForm is an internal symbol used for formatting and printing."},{label:"HorizontalGauge",type:"keyword",info:"HorizontalGauge[value] draws a linear gauge showing value in a range of 0 to 1.HorizontalGauge[value"},{label:"HorizontalScrollPosition",type:"keyword",info:"System`HorizontalScrollPosition"},{label:"HornerForm",type:"keyword",info:"HornerForm[poly] puts the polynomial poly in Horner form.HornerForm[poly, vars] puts poly in Horner "},{label:"HostLookup",type:"keyword",info:"HostLookup[name] gives the IP address for the host with the specified name.HostLookup[address] gives"},{label:"HotellingTSquareDistribution",type:"keyword",info:" 2\nHotellingTSquareDistribution[p, m] repr"},{label:"HoytDistribution",type:"keyword",info:"HoytDistribution[q, ω] represents a Hoyt distribution with shape parameter q and spread parameter ω."},{label:"HTMLSave",type:"keyword",info:'HTMLSave["file.html"] saves an HTML version of the current input notebook in the front end. HTMLSave'},{label:"HTTPErrorResponse",type:"keyword",info:"HTTPErrorResponse[code] is an object that represents an error response to an HTTP request, with spec"},{label:"HTTPRedirect",type:"keyword",info:"HTTPRedirect[uri] represents an HTTP redirect to the specified uri.HTTPRedirect[uri, metadata] repre"},{label:"HTTPRequest",type:"keyword",info:"HTTPRequest[url] represents an HTTP request for the specified URL.HTTPRequest[assoc] represents an H"},{label:"HTTPRequestData",type:"keyword",info:'HTTPRequestData["prop"] gives the value of the specified property of the current HTTP request.HTTPRe'},{label:"HTTPResponse",type:"keyword",info:"HTTPResponse[body] is an object that represents a successful response to an HTTP request, with the s"},{label:"Hue",type:"keyword",info:"Hue[h] represents a color in the HSB color space with hue h. Hue[h, s, b] specifies colors in terms "},{label:"HumanGrowthData",type:"keyword",info:"HumanGrowthData[spec] returns the range of values within one standard deviation of the mean for all "},{label:"HumpDownHump",type:"keyword",info:"HumpDownHump[x, y, …] displays as x ≎ y ≎ …."},{label:"HumpEqual",type:"keyword",info:"HumpEqual[x, y, …] displays as x ≏ y ≏ …."},{label:"HurwitzLerchPhi",type:"keyword",info:"HurwitzLerchPhi[z, s, a] gives the Hurwitz–Lerch transcendent Φ(z, s, a)."},{label:"HurwitzZeta",type:"keyword",info:"HurwitzZeta[s, a] gives the Hurwitz zeta function Î\\[Paragraph](s, a)."},{label:"HyperbolicDistribution",type:"keyword",info:"HyperbolicDistribution[Î\\[PlusMinus], Î.b2, Î.b4, μ] represents a hyperbolic distribution with location parameter μ, s"},{label:"HypercubeGraph",type:"keyword",info:"HypercubeGraph[n] gives the n-dimensional hypercube graph Q .\n "},{label:"HyperexponentialDistribution",type:"keyword",info:"HyperexponentialDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {λ , …, λ }] represents an m-phase hyperexponential distri"},{label:"Hyperfactorial",type:"keyword",info:"Hyperfactorial[n] gives the hyperfactorial function H(n)."},{label:"Hypergeometric0F1",type:"keyword",info:"Hypergeometric0F1[a, z] is the confluent hypergeometric function   F (; a ; z). \n "},{label:"Hypergeometric0F1Regularized",type:"keyword",info:"Hypergeometric0F1Regularized[a, z] is the regularized confluent hypergeometric function   F (a ;"},{label:"Hypergeometric1F1",type:"keyword",info:"Hypergeometric1F1[a, b, z] is the Kummer confluent hypergeometric function   F (a ; b ; z). \n "},{label:"Hypergeometric1F1Regularized",type:"keyword",info:"Hypergeometric1F1Regularized[a, b, z] is the regularized confluent hypergeometric function   F ("},{label:"Hypergeometric2F1",type:"keyword",info:"Hypergeometric2F1[a, b, c, z] is the hypergeometric function ïŽ.b3 F (a, b ; c ; z). \n "},{label:"Hypergeometric2F1Regularized",type:"keyword",info:"Hypergeometric2F1Regularized[a, b, c, z] is the regularized hypergeometric function   F (a, b ; "},{label:"HypergeometricDistribution",type:"keyword",info:"HypergeometricDistribution[n, n , n ] represents a hypergeometric distribution.\n "},{label:"HypergeometricPFQ",type:"keyword",info:"HypergeometricPFQ[{a , …, a }, {b , …, b }, z] is the generalized hypergeometric function   F (a"},{label:"HypergeometricPFQRegularized",type:"keyword",info:"HypergeometricPFQRegularized[{a , …, a }, {b , …, b }, z] is the regularized generalized hypergeomet"},{label:"HypergeometricU",type:"keyword",info:"HypergeometricU[a, b, z] is the confluent hypergeometric function U(a, b, z). "},{label:"Hyperlink",type:"keyword",info:"Hyperlink[uri] represents a hyperlink that jumps to the specified URI when clicked. Hyperlink[label,"},{label:"HyperlinkAction",type:"keyword",info:"HyperlinkAction is an option for Hyperlink that controls the behavior of following links in cloud no"},{label:"HyperlinkCreationSettings",type:"keyword",info:"System`HyperlinkCreationSettings"},{label:"Hyperplane",type:"keyword",info:"Hyperplane[n, p] represents the hyperplane with normal n passing through the point p.Hyperplane[n, c"},{label:"Hyphenation",type:"keyword",info:"Hyphenation is an option for Cell that specifies whether to allow hyphenation for words of text. "},{label:"HyphenationOptions",type:"keyword",info:"System`HyphenationOptions"},{label:"HypoexponentialDistribution",type:"keyword",info:"HypoexponentialDistribution[{λ , …, λ }] represents an m-phase hypoexponential distribution with rat"},{label:"HypothesisTestData",type:"keyword",info:"HypothesisTestData[…] represents hypothesis test data such as generated by DistributionFitTest, Ande"},{label:"I",type:"keyword",info:"I represents the imaginary unit Sqrt[-1]. "},{label:"IconData",type:"keyword",info:"IconData[type, value] generates an icon of the specified type assuming the value given. "},{label:"Iconize",type:"keyword",info:"Iconize[expr] gives an iconized form that can be used to stand in for expr in notebook input.Iconize"},{label:"IconizedObject",type:"keyword",info:"System`IconizedObject"},{label:"IconRules",type:"keyword",info:"IconRules is an option for CloudObject and related objects that specifies icons to use in different "},{label:"Icosahedron",type:"keyword",info:"Icosahedron[] represents a regular icosahedron centered at the origin with unit edge length.Icosahed"},{label:"Identity",type:"keyword",info:"Identity[expr] gives expr (the identity operation). "},{label:"IdentityMatrix",type:"keyword",info:"IdentityMatrix[n] gives the nn identity matrix. "},{label:"If",type:"keyword",info:"If[condition, t, f] gives t if condition evaluates to True, and f if it evaluates to False. If[condi"},{label:"IgnoreCase",type:"keyword",info:"IgnoreCase is an option for string manipulation and searching functions that specifies whether lower"},{label:"IgnoreDiacritics",type:"keyword",info:"IgnoreDiacritics is an option for string, grammar, and related functions that specifies whether diac"},{label:"IgnoreIsotopes",type:"keyword",info:"IgnoreIsotopes is an option for MoleculeMatchQ that determines whether isotopes should be ignored fo"},{label:"IgnorePunctuation",type:"keyword",info:"IgnorePunctuation is an option for AlphabeticSort and related functions that specifies whether to co"},{label:"IgnoreSpellCheck",type:"keyword",info:"System`IgnoreSpellCheck"},{label:"IgnoreStereochemistry",type:"keyword",info:"IgnoreStereochemistry is an option for MoleculeMatchQ that determines whether stereochemistry should"},{label:"IgnoringInactive",type:"keyword",info:"IgnoringInactive[patt] is a pattern object that, for purposes of pattern matching, ignores occurrenc"},{label:"Im",type:"keyword",info:"Im[z] gives the imaginary part of the complex number z. "},{label:"Image",type:"keyword",info:"Image[data] represents a raster image with pixel values given by the array data.Image[graphics] crea"},{label:"Image3D",type:"keyword",info:"Image3D[data] represents a 3D image with pixel values given by the array data.Image3D[{image , image"},{label:"Image3DProjection",type:"keyword",info:"Image3DProjection[image] takes a 3D image and returns a 2D image of maximum projection onto the x-y "},{label:"Image3DSlices",type:"keyword",info:" "},{label:"ImageAccumulate",type:"keyword",info:"ImageAccumulate[image] gives an image in which each pixel represents a sum of all pixels below and t"},{label:"ImageAdd",type:"keyword",info:"ImageAdd[image, x] adds an amount x to each channel value in image.ImageAdd[image , image ] gives an"},{label:"ImageAdjust",type:"keyword",info:"ImageAdjust[image] adjusts the levels in image, rescaling them to cover the range 0 to 1.ImageAdjust"},{label:"ImageAlign",type:"keyword",info:"ImageAlign[ref, image] returns a version of image that is aligned with the reference image ref.Image"},{label:"ImageApply",type:"keyword",info:"ImageApply[f, image] applies the function f to the list of channel values for each pixel in image.Im"},{label:"ImageApplyIndexed",type:"keyword",info:"ImageApplyIndexed[f, image] applies the function f to the list of channel values for each pixel in i"},{label:"ImageAspectRatio",type:"keyword",info:"ImageAspectRatio[image] gives the ratio of height to width for image.ImageAspectRatio[video] gives t"},{label:"ImageAssemble",type:"keyword",info:"ImageAssemble[{{im , …, im }, …, {im , …, im }}] assembles a single image from an array of image"},{label:"ImageAugmentationLayer",type:"keyword",info:"ImageAugmentationLayer[{h, w}] represents a net layer that applies random image transformations to p"},{label:"ImageBoundingBoxes",type:"keyword",info:"ImageBoundingBoxes[image] gives an association of lists of bounding boxes for each identified catego"},{label:"ImageCache",type:"keyword",info:"System`ImageCache"},{label:"ImageCacheValid",type:"keyword",info:"System`ImageCacheValid"},{label:"ImageCapture",type:"keyword",info:"ImageCapture[] opens a graphical user interface for capturing images from connected cameras."},{label:"ImageCaptureFunction",type:"keyword",info:"ImageCaptureFunction is an option for ImageCapture that specifies the function to apply to images ac"},{label:"ImageCases",type:"keyword",info:"ImageCases[image] gives an association of lists of subimages for each identified category of objects"},{label:"ImageChannels",type:"keyword",info:"ImageChannels[image] gives the number of channels present in the data for the Image or Image3D objec"},{label:"ImageClip",type:"keyword",info:"ImageClip[image] clips all channel values in image to lie in the default range.ImageClip[image, {min"},{label:"ImageCollage",type:"keyword",info:"ImageCollage[{image , image , …}] creates a collage of images image .ImageCollage[{w  image , w "},{label:"ImageColorSpace",type:"keyword",info:"ImageColorSpace[image] gives the name of the color space of image."},{label:"ImageCompose",type:"keyword",info:"ImageCompose[image, overlay] gives the result of overlaying overlay onto image. ImageCompose[image, "},{label:"ImageContainsQ",type:"keyword",info:"ImageContainsQ[image, category] returns True if an instance of the specified category is detected in"},{label:"ImageContents",type:"keyword",info:"ImageContents[image] gives a dataset of identified entities in image.ImageContents[image, category] "},{label:"ImageConvolve",type:"keyword",info:"ImageConvolve[image, ker] gives the convolution of image with kernel ker."},{label:"ImageCooccurrence",type:"keyword",info:"ImageCooccurrence[image, n] gives the n×n co-occurrence matrix for image.ImageCooccurrence[image, n,"},{label:"ImageCorners",type:"keyword",info:"ImageCorners[image] finds corners in image and returns their coordinates.ImageCorners[image, r] find"},{label:"ImageCorrelate",type:"keyword",info:"ImageCorrelate[image, ker] gives the correlation of image with kernel ker.ImageCorrelate[image, ker,"},{label:"ImageCorrespondingPoints",type:"keyword",info:"ImageCorrespondingPoints[image , image ] finds a set of matching interest points in image and image"},{label:"ImageCrop",type:"keyword",info:"ImageCrop[image] crops image by removing borders of uniform color. ImageCrop[image, size] crops imag"},{label:"ImageData",type:"keyword",info:"ImageData[image] gives the array of pixel values in an Image or Image3D object image.ImageData[image"},{label:"ImageDeconvolve",type:"keyword",info:"ImageDeconvolve[image, ker] gives a deconvolution of image using kernel ker."},{label:"ImageDemosaic",type:"keyword",info:"ImageDemosaic[image, cfa] reconstructs a color image using the specified color filter array cfa.Imag"},{label:"ImageDifference",type:"keyword",info:"ImageDifference[image , image ] gives an image in which each pixel is the absolute difference of the"},{label:"ImageDimensions",type:"keyword",info:"ImageDimensions[image] gives the pixel dimensions of an Image or Image3D object image.ImageDimension"},{label:"ImageDisplacements",type:"keyword",info:"ImageDisplacements[{image , image , …, image }] gives estimated horizontal and vertical displacement"},{label:"ImageDistance",type:"keyword",info:"ImageDistance[image , image ] returns a distance measure between image and image . ImageDistance[im"},{label:"ImageEditMode",type:"keyword",info:"System`ImageEditMode"},{label:"ImageEffect",type:"keyword",info:'ImageEffect[image, "effect"] applies the specified image effect to image.ImageEffect[image, {"effect'},{label:"ImageExposureCombine",type:"keyword",info:"ImageExposureCombine[{image , image , …}] combines differently exposed images image of the same sce"},{label:"ImageFeatureTrack",type:"keyword",info:"ImageFeatureTrack[{image , image , …, image }] tracks features from image through image .ImageFeatu"},{label:"ImageFileApply",type:"keyword",info:"ImageFileApply[f, inputfile, outputfile] applies the function f to the list of channel values for ea"},{label:"ImageFileFilter",type:"keyword",info:"ImageFileFilter[f, inputfile, r, outputfile] applies the function f to the range r neighborhood of e"},{label:"ImageFileScan",type:"keyword",info:"ImageFileScan[f, inputfile] applies the function f to the list of channel values for each pixel of t"},{label:"ImageFilter",type:"keyword",info:"ImageFilter[f, image, r] applies the function f to the range-r neighborhood of each pixel in each ch"},{label:"ImageFocusCombine",type:"keyword",info:"ImageFocusCombine[{image , image , …}] combines differently focused images image of the same scene "},{label:"ImageForestingComponents",type:"keyword",info:"ImageForestingComponents[image] finds a segmentation of image, returning an integer matrix in which "},{label:"ImageFormattingWidth",type:"keyword",info:"ImageFormattingWidth is an option that specifies the target width at which to wrap when formatting a"},{label:"ImageForwardTransformation",type:"keyword",info:"ImageForwardTransformation[image, f] gives an image in which each pixel at position f[{x, y}] corres"},{label:"ImageGraphics",type:"keyword",info:"ImageGraphics[image] returns the content of image in the form of scalable vector graphics.ImageGraph"},{label:"ImageHistogram",type:"keyword",info:"ImageHistogram[image] plots a histogram of the pixel levels for each channel in image.ImageHistogram"},{label:"ImageIdentify",type:"keyword",info:"ImageIdentify[image] yields the result of attempting to identify what image is a picture of. ImageId"},{label:"ImageInstanceQ",type:"keyword",info:"ImageInstanceQ[image, obj] gives True if image appears to be an instance of the object obj, and give"},{label:"ImageKeypoints",type:"keyword",info:"ImageKeypoints[image] finds key features in image and returns their coordinates.ImageKeypoints[image"},{label:"ImageLabels",type:"keyword",info:"ImageLabels is an option for image highlighting that specifies what labels to use for each highlight"},{label:"ImageLegends",type:"keyword",info:"ImageLegends is an option for image highlighting that specifies what legends to use."},{label:"ImageLevels",type:"keyword",info:"ImageLevels[image] gives a list of pixel values and counts for each channel in image. ImageLevels[im"},{label:"ImageLines",type:"keyword",info:"ImageLines[image] finds line segments in image and returns the coordinates of their endpoints.ImageL"},{label:"ImageMargins",type:"keyword",info:"ImageMargins is an option that specifies the absolute margins to leave around the image displayed fo"},{label:"ImageMarker",type:"keyword",info:"ImageMarker[pos] is a HighlightImage specification that represents a marker at position pos.ImageMar"},{label:"ImageMarkers",type:"keyword",info:"System`ImageMarkers"},{label:"ImageMeasurements",type:"keyword",info:'ImageMeasurements[image, "prop"] returns the value of property "prop" for the entire image.ImageMeas'},{label:"ImageMesh",type:"keyword",info:"ImageMesh[image] returns the foreground region in image as a BoundaryMeshRegion object."},{label:"ImageMultiply",type:"keyword",info:"ImageMultiply[image, x] multiplies each channel value in image by a factor x.ImageMultiply[image , i"},{label:"ImageOffset",type:"keyword",info:"System`ImageOffset"},{label:"ImagePad",type:"keyword",info:"ImagePad[image, m] pads image on all sides with m background pixels.ImagePad[image, m, padding] pads"},{label:"ImagePadding",type:"keyword",info:"ImagePadding is an option for graphics functions that specifies what absolute extra padding should b"},{label:"ImagePartition",type:"keyword",info:"ImagePartition[image, s] partitions an image into an array of ss-pixel subimages.ImagePartition[ima"},{label:"ImagePeriodogram",type:"keyword",info:"ImagePeriodogram[image] shows the squared magnitude of the discrete Fourier transform (power spectru"},{label:"ImagePerspectiveTransformation",type:"keyword",info:"ImagePerspectiveTransformation[image, m] applies a linear fractional transform specified by a matrix"},{label:"ImagePosition",type:"keyword",info:"ImagePosition[image] gives an association of image positions for each identified category of objects"},{label:"ImagePreviewFunction",type:"keyword",info:"ImagePreviewFunction is an option for CurrentImage and similar functions that specifies the function"},{label:"ImagePyramid",type:"keyword",info:"ImagePyramid[image] creates a Gaussian image pyramid formed from image.ImagePyramid[image, pyrtype] "},{label:"ImagePyramidApply",type:"keyword",info:"ImagePyramidApply[f, pyr] applies f to all images in the ImagePyramid object pyr.ImagePyramidApply[f"},{label:"ImageQ",type:"keyword",info:"ImageQ[image] yields True if image has the form of a valid Image or Image3D object, and False otherw"},{label:"ImageRangeCache",type:"keyword",info:"System`ImageRangeCache"},{label:"ImageRecolor",type:"keyword",info:"ImageRecolor[image, region  color] recolors pixels in image specified by region using the specified"},{label:"ImageReflect",type:"keyword",info:"ImageReflect[image] reverses image by top-bottom mirror reflection. ImageReflect[image, side] revers"},{label:"ImageRegion",type:"keyword",info:"ImageRegion is an option for cells that specifies the size and position of the bounding box within w"},{label:"ImageResize",type:"keyword",info:"ImageResize[image, width] gives a resized version of image that is width pixels wide.ImageResize[ima"},{label:"ImageResolution",type:"keyword",info:"ImageResolution is an option for Export, Rasterize, and related functions that specifies at what res"},{label:"ImageRestyle",type:"keyword",info:"ImageRestyle[image, sample] attempts to restyle image so as to follow the graphical style of sample."},{label:"ImageRotate",type:"keyword",info:"ImageRotate[image] rotates image by 90Â\\[Degree] about its center in the x-y plane. ImageRotate[image, θ] rot"},{label:"ImageRotated",type:"keyword",info:"ImageRotated is an option for Export that specifies whether images should be rotated into landscape "},{label:"ImageSaliencyFilter",type:"keyword",info:"ImageSaliencyFilter[image] returns a saliency map for image."},{label:"ImageScaled",type:"keyword",info:"ImageScaled[{x, y}] gives the position of a graphical object in terms of coordinates scaled to run f"},{label:"ImageScan",type:"keyword",info:"ImageScan[f, image] evaluates f applied to each pixel of image in turn."},{label:"ImageSize",type:"keyword",info:"ImageSize is an option that specifies the overall size of an image to display for an object. "},{label:"ImageSizeAction",type:"keyword",info:"ImageSizeAction is an option for Pane and related constructs that specifies what to do if the specif"},{label:"ImageSizeCache",type:"keyword",info:"System`ImageSizeCache"},{label:"ImageSizeMultipliers",type:"keyword",info:"ImageSizeMultipliers is an option that specifies how much smaller to render graphics that appear wit"},{label:"ImageSizeRaw",type:"keyword",info:"System`ImageSizeRaw"},{label:"ImageStitch",type:"keyword",info:"ImageStitch[{image , image , …}] gives a composed image from an unordered list of image .ImageStitch"},{label:"ImageSubtract",type:"keyword",info:"ImageSubtract[image, x] subtracts a constant amount x from each channel value in image.ImageSubtract"},{label:"ImageTake",type:"keyword",info:"ImageTake[image, n] gives an image consisting of the first n rows of image.ImageTake[image, -n] give"},{label:"ImageTransformation",type:"keyword",info:"ImageTransformation[image, f] gives an image in which each pixel at position p corresponds to the po"},{label:"ImageTrim",type:"keyword",info:"ImageTrim[image, roi] gives the smallest subimage of image that includes the specified region of int"},{label:"ImageType",type:"keyword",info:"ImageType[image] gives the underlying type of values used for each pixel element in the Image or Ima"},{label:"ImageValue",type:"keyword",info:"ImageValue[image, pos] gives the interpolated value of image at position pos.ImageValue[image, pos, "},{label:"ImageValuePositions",type:"keyword",info:"ImageValuePositions[image, val] returns a list of pixel positions in image that exactly match the va"},{label:"ImageVectorscopePlot",type:"keyword",info:"ImageVectorscopePlot[image] plots the chrominance of image."},{label:"ImageWaveformPlot",type:"keyword",info:"ImageWaveformPlot[image] plots the waveform of image.ImageWaveformPlot[image, colorspace] plots the "},{label:"ImagingDevice",type:"keyword",info:"ImagingDevice is an option to specify what device to use for capturing images."},{label:"ImplicitRegion",type:"keyword",info:" n "},{label:"Implies",type:"keyword",info:"Implies[p, q] represents the logical implication p ⇒ q. "},{label:"Import",type:"keyword",info:"Import[source] imports data from source, returning a Wolfram Language representation of it.Import[so"},{label:"ImportAutoReplacements",type:"keyword",info:"ImportAutoReplacements is an option for cells that specifies which replacement rules the Wolfram Lan"},{label:"ImportByteArray",type:"keyword",info:'ImportByteArray[ba, "format"] imports data in the specified format from a ByteArray object.ImportByt'},{label:"ImportedObject",type:"keyword",info:"ImportedObject[…] represents a piece of imported data that has no special representation in the Wolf"},{label:"ImportOptions",type:"keyword",info:"ImportOptions is an option for Interpreter and related functions that specifies what options should "},{label:"ImportString",type:"keyword",info:'ImportString["data", "format"] imports data in the specified format from a string. ImportString["dat'},{label:"ImprovementImportance",type:"keyword",info:"ImprovementImportance[rdist, t] gives the improvement importances for all components in the Reliabil"},{label:"In",type:"keyword",info:" th\nIn[n] is a global obje"},{label:"Inactivate",type:"keyword",info:"Inactivate[expr] replaces all instances of f with Inactive[f] for symbols f used as heads in expr.In"},{label:"Inactive",type:"keyword",info:"Inactive[f] is an inactive form of f."},{label:"IncidenceGraph",type:"keyword",info:"IncidenceGraph[m] gives the graph with incidence matrix m.IncidenceGraph[{v , v , …}, m] gives the g"},{label:"IncidenceList",type:"keyword",info:"IncidenceList[g, v] gives a list of edges incident to vertex v.IncidenceList[g, patt] gives a list o"},{label:"IncidenceMatrix",type:"keyword",info:"IncidenceMatrix[g] gives the vertex-edge incidence matrix of the graph g.IncidenceMatrix[{v  w, …}]"},{label:"IncludeAromaticBonds",type:"keyword",info:"IncludeAromaticBonds is an option for Molecule that specifies whether aromatic bonds should be detec"},{label:"IncludeConstantBasis",type:"keyword",info:"IncludeConstantBasis is an option for LinearModelFit and other fitting functions that specifies whet"},{label:"IncludedContexts",type:"keyword",info:"IncludedContexts is an option for FullDefinition, Manipulate and related symbols that gives contexts"},{label:"IncludeDefinitions",type:"keyword",info:"IncludeDefinitions is an option for cloud and other functions that specifies whether current definit"},{label:"IncludeDirectories",type:"keyword",info:"IncludeDirectories is an option that specifies whether directories are included in evaluations."},{label:"IncludeFileExtension",type:"keyword",info:'IncludeFileExtension is an option for notebooks that specifies whether the suffix ".nb" is automatic'},{label:"IncludeGeneratorTasks",type:"keyword",info:"IncludeGeneratorTasks is an option controlling the scope of scheduled task listings."},{label:"IncludeHydrogens",type:"keyword",info:"IncludeHydrogens is an option that specifies whether hydrogen atoms should be explicitly included in"},{label:"IncludeInflections",type:"keyword",info:"IncludeInflections is an option for linguistic functions that specifies whether inflected forms of w"},{label:"IncludeMetaInformation",type:"keyword",info:"IncludeMetaInformation is an option for Import, Thumbnail, and other functions to specify what types"},{label:"IncludePods",type:"keyword",info:"IncludePods is an option for WolframAlpha that determines specific pod IDs to include in the results"},{label:"IncludeQuantities",type:"keyword",info:"IncludeQuantities is an option for DimensionalCombinations for additional quantities to include in t"},{label:"IncludeRelatedTables",type:"keyword",info:"IncludeRelatedTables is an option for RelationalDatabase that specifies whether to include tables sp"},{label:"IncludeSingularTerm",type:"keyword",info:" "},{label:"IncludeWindowTimes",type:"keyword",info:"IncludeWindowTimes is an option to TimeSeriesWindow that specifies whether the endpoints in the time"},{label:"Increment",type:"keyword",info:"x ++ increases the value of x by 1, returning the old value of x. "},{label:"IndefiniteMatrixQ",type:"keyword",info:"IndefiniteMatrixQ[m] gives True if m is explicitly indefinite, and False otherwise. "},{label:"Indent",type:"keyword",info:"System`Indent"},{label:"IndentingNewlineSpacings",type:"keyword",info:"System`IndentingNewlineSpacings"},{label:"IndentMaxFraction",type:"keyword",info:"System`IndentMaxFraction"},{label:"IndependenceTest",type:"keyword",info:"IndependenceTest[v , v ] tests whether the vectors v and v are independent.IndependenceTest[m , m "},{label:"IndependentEdgeSetQ",type:"keyword",info:"IndependentEdgeSetQ[g, elist] yields True if the edge list elist is an independent edge set of the g"},{label:"IndependentPhysicalQuantity",type:"keyword",info:"IndependentPhysicalQuantity[string] represents a physical quantity string with no relationship to ot"},{label:"IndependentUnit",type:"keyword",info:"IndependentUnit[string] represents a unit string with no relationship to other units within a Quanti"},{label:"IndependentUnitDimension",type:"keyword",info:"IndependentUnitDimension[dim] represents the base dimension dim associated with an independent physi"},{label:"IndependentVertexSetQ",type:"keyword",info:"IndependentVertexSetQ[g, vlist] yields True if the vertex list vlist is an independent vertex set in"},{label:"Indeterminate",type:"keyword",info:"Indeterminate is a symbol that represents a numerical quantity whose magnitude cannot be determined."},{label:"IndeterminateThreshold",type:"keyword",info:"IndeterminateThreshold is an option for Classify, Predict, and related functions that specifies belo"},{label:"IndexCreationOptions",type:"keyword",info:"System`IndexCreationOptions"},{label:"Indexed",type:"keyword",info:"Indexed[expr, i] represents the component of expr with index i and formats as expr .Indexed[expr, {i"},{label:"IndexEdgeTaggedGraph",type:"keyword",info:"IndexEdgeTaggedGraph[g] sets tags of edges in the graph g to their edge indices.IndexEdgeTaggedGraph"},{label:"IndexGraph",type:"keyword",info:"IndexGraph[g] replaces the vertices of the graph g by its vertex indices.IndexGraph[g, r] replaces t"},{label:"IndexTag",type:"keyword",info:"System`IndexTag"},{label:"Inequality",type:"keyword",info:"Inequality represents a sequence of relational statements."},{label:"InexactNumberQ",type:"keyword",info:"InexactNumberQ[expr] returns True if expr is an inexact real or complex number, and returns False ot"},{label:"InexactNumbers",type:"keyword",info:"System`InexactNumbers"},{label:"InfiniteFuture",type:"keyword",info:"InfiniteFuture returns a DateObject expression representing infinite future in time."},{label:"InfiniteLine",type:"keyword",info:"InfiniteLine[{p , p }] represents the infinite straight line passing through the points p and p . I"},{label:"InfinitePast",type:"keyword",info:"InfinitePast returns a DateObject expression representing infinite past in time."},{label:"InfinitePlane",type:"keyword",info:"InfinitePlane[{p , p , p }] represents the plane passing through the points p , p , and p .InfiniteP"},{label:"Infinity",type:"keyword",info:"Infinity or ∞ is a symbol that represents a positive infinite quantity. "},{label:"Infix",type:"keyword",info:"Infix[f[e , e , …]] prints with f[e , e , …] given in default infix form: e ~ f ~ e ~ f ~ e …. In"},{label:"InflationAdjust",type:"keyword",info:"InflationAdjust[quantity, targetdate] attempts to adjust the specified quantity purchasing power to "},{label:"InflationMethod",type:"keyword",info:"InflationMethod is an option for InflationAdjust that specifies what time series data is to be used "},{label:"Information",type:"keyword",info:"Information[expr] gives information about the expression expr. Information[expr, prop] gives the val"},{label:"InformationData",type:"keyword",info:"InformationData[assoc] is generated by Information[expr] and handle typesetting and element extracti"},{label:"InformationDataGrid",type:"keyword",info:"System`InformationDataGrid"},{label:"Inherited",type:"keyword",info:"Inherited is an option to Methods and Fields (in J/Link) and NETTypeInfo (in .NET/Link). The default"},{label:"InheritScope",type:"keyword",info:"InheritScope is an option for DynamicModule that specifies whether to attempt to bind variables refe"},{label:"InhomogeneousPoissonPointProcess",type:"keyword",info:" "},{label:"InhomogeneousPoissonProcess",type:"keyword",info:"InhomogeneousPoissonProcess[λ[t], t] represents an inhomogeneous Poisson process with intensity λ[t]"},{label:"InitialEvaluationHistory",type:"keyword",info:"InitialEvaluationHistory is an option for functions such as BayesianMinimization that gives an initi"},{label:"Initialization",type:"keyword",info:"Initialization is an option for notebooks, cells, Dynamic, DynamicModule, Manipulate and related con"},{label:"InitializationCell",type:"keyword",info:"InitializationCell is an option for Cell that specifies whether the cell should be tagged to be eval"},{label:"InitializationCellEvaluation",type:"keyword",info:"InitializationCellEvaluation is an option for notebooks that specifies whether initialization cells "},{label:"InitializationCellWarning",type:"keyword",info:"InitializationCellWarning is an option for notebooks that specifies whether a warning should be give"},{label:"InitializationObject",type:"keyword",info:"InitializationObject[sym, loc] gives the persistent object where InitializationValue[sym, loc] is st"},{label:"InitializationObjects",type:"keyword",info:"InitializationObjects[] gives the list of all persistent initialization objects in all locations in "},{label:"InitializationValue",type:"keyword",info:"InitializationValue[sym] represents the settable persistent value with which the symbol sym will be "},{label:"Initialize",type:"keyword",info:"Initialize[sym] initializes the symbol sym from persistent values on the default persistence path.In"},{label:"InitialSeeding",type:"keyword",info:"InitialSeeding is an option for NDSolve and other functions that specifies equations that specify in"},{label:"InlineCounterAssignments",type:"keyword",info:"System`InlineCounterAssignments"},{label:"InlineCounterIncrements",type:"keyword",info:"System`InlineCounterIncrements"},{label:"InlineRules",type:"keyword",info:"System`InlineRules"},{label:"Inner",type:"keyword",info:"Inner[f, list , list , g] is a generalization of Dot in which f plays the role of multiplication and"},{label:"InnerPolygon",type:"keyword",info:"InnerPolygon[poly] gives the inner polygon of the polygon poly."},{label:"InnerPolyhedron",type:"keyword",info:"InnerPolyhedron[poly] gives the inner polyhedron of the polyhedron poly."},{label:"Inpaint",type:"keyword",info:"Inpaint[image, region] retouches parts of image that correspond to nonzero elements in region."},{label:"Input",type:"keyword",info:"Input[] interactively reads in one Wolfram Language expression. Input[prompt] requests input, displa"},{label:"InputAliases",type:"keyword",info:"InputAliases is an option for cells and notebooks which specifies additional Esc name Esc aliases to"},{label:"InputAssumptions",type:"keyword",info:"InputAssumptions is an option for WolframAlpha that specifies assumptions for current query input."},{label:"InputAutoReplacements",type:"keyword",info:"InputAutoReplacements is an option for cells and notebooks which specifies strings of characters tha"},{label:"InputField",type:"keyword",info:"InputField[] represents a blank editable input field. InputField[x] represents an editable input fie"},{label:"InputFieldBox",type:"keyword",info:"System`InputFieldBox"},{label:"InputFieldBoxOptions",type:"keyword",info:"InputFieldBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for InputF"},{label:"InputForm",type:"keyword",info:"InputForm[expr] prints as a version of expr suitable for input to the Wolfram Language. "},{label:"InputGrouping",type:"keyword",info:"System`InputGrouping"},{label:"InputNamePacket",type:"keyword",info:"InputNamePacket[string] is a WSTP packet that contains in string the name to be assigned to the next"},{label:"InputNotebook",type:"keyword",info:"InputNotebook[] gives the current notebook into which keyboard input in the front end will be direct"},{label:"InputPacket",type:"keyword",info:"InputPacket[] is a WSTP packet that indicates a prompt for input as generated by Input."},{label:"InputPorts",type:"keyword",info:"InputPorts is an option to specify the number, names or shapes of input ports for some neural net la"},{label:"InputSettings",type:"keyword",info:"System`InputSettings"},{label:"InputStream",type:"keyword",info:'InputStream["name", n] is an object that represents an input stream for functions such as Read and F'},{label:"InputString",type:"keyword",info:"InputString[] interactively reads in a character string. InputString[prompt] requests input, display"},{label:"InputStringPacket",type:"keyword",info:"InputStringPacket[] is a WSTP packet that requests input in string form."},{label:"InputToBoxFormPacket",type:"keyword",info:"InputToBoxFormPacket is an internal symbol used for formatting."},{label:"Insert",type:"keyword",info:"Insert[list, elem, n] inserts elem at position n in list. If n is negative, the position is counted "},{label:"InsertionFunction",type:"keyword",info:"InsertionFunction is an option for template functions that specifies how expressions are to be proce"},{label:"InsertionPointObject",type:"keyword",info:"System`InsertionPointObject"},{label:"InsertLinebreaks",type:"keyword",info:'InsertLinebreaks["string"] inserts newline characters into string to make a string in which no line '},{label:"InsertResults",type:"keyword",info:"InsertResults is an option for NotebookEvaluate that determines whether to place the results of eval"},{label:"Inset",type:"keyword",info:"Inset[obj] represents an object obj inset in a graphic. Inset[obj, pos] specifies that the inset sho"},{label:"Inset3DBox",type:"keyword",info:"System`Inset3DBox"},{label:"Inset3DBoxOptions",type:"keyword",info:"Inset3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Inset3DBo"},{label:"InsetBox",type:"keyword",info:"System`InsetBox"},{label:"InsetBoxOptions",type:"keyword",info:"InsetBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for InsetBox ob"},{label:"Insphere",type:"keyword",info:" "},{label:"Install",type:"keyword",info:'Install["name"] starts a WSTP-compatible external program and installs Wolfram Language definitions '},{label:"InstallService",type:"keyword",info:'InstallService["url"] installs the web service operations in the WSDL description at the URL given.I'},{label:"InstanceNormalizationLayer",type:"keyword",info:"InstanceNormalizationLayer[] is equivalent to NormalizationLayer[]."},{label:"InString",type:"keyword",info:" th\nInString[n] is a global o"},{label:"Integer",type:"keyword",info:"Integer is the head used for integers. "},{label:"IntegerDigits",type:"keyword",info:"IntegerDigits[n] gives a list of the decimal digits in the integer n. IntegerDigits[n, b] gives a li"},{label:"IntegerExponent",type:"keyword",info:"IntegerExponent[n, b] gives the highest power of b that divides n. "},{label:"IntegerLength",type:"keyword",info:"IntegerLength[n] gives the number of digits in the base 10 representation of the integer n.IntegerLe"},{label:"IntegerName",type:"keyword",info:"IntegerName[n] gives a string containing the full English name of the integer n.IntegerName[n, quali"},{label:"IntegerPart",type:"keyword",info:"IntegerPart[x] gives the integer part of x. "},{label:"IntegerPartitions",type:"keyword",info:"IntegerPartitions[n] gives a list of all possible ways to partition the integer n into smaller integ"},{label:"IntegerQ",type:"keyword",info:"IntegerQ[expr] gives True if expr is an integer, and False otherwise. "},{label:"IntegerReverse",type:"keyword",info:"IntegerReverse[n] gives the integer whose digits are reversed with respect to those of the integer n"},{label:"Integers",type:"keyword",info:"Integers represents the domain of integers, as in x ∈ Integers. "},{label:"IntegerString",type:"keyword",info:"IntegerString[n] gives a string consisting of the decimal digits in the integer n. IntegerString[n, "},{label:"Integral",type:"keyword",info:"System`Integral"},{label:"Integrate",type:"keyword",info:" "},{label:"Interactive",type:"keyword",info:"Interactive is an option that specifies whether a function should create a user prompt when mimickin"},{label:"InteractiveTradingChart",type:"keyword",info:"InteractiveTradingChart[{{date , {open , high , low , close , volume }}, …}] makes a chart showing p"},{label:"InterfaceSwitched",type:"keyword",info:"InterfaceSwitched[ size  expr , size  expr , …|>] is a construct that behaves as if it were exp"},{label:"Interlaced",type:"keyword",info:"System`Interlaced"},{label:"Interleaving",type:"keyword",info:"Interleaving is an option for Image and related functions that specifies whether data corresponding "},{label:"InternallyBalancedDecomposition",type:"keyword",info:"InternallyBalancedDecomposition[ssm] yields the internally balanced decomposition of the state-space"},{label:"InterpolatingFunction",type:"keyword",info:"InterpolatingFunction[domain, table] represents an approximate function whose values are found by in"},{label:"InterpolatingPolynomial",type:"keyword",info:"InterpolatingPolynomial[{f , f , …}, x] constructs an interpolating polynomial in x which reproduces"},{label:"Interpolation",type:"keyword",info:"Interpolation[{f , f , …}] constructs an interpolation of the function values f , assumed to corresp"},{label:"InterpolationOrder",type:"keyword",info:"InterpolationOrder is an option for Interpolation, as well as ListLinePlot, ListPlot3D, ListContourP"},{label:"InterpolationPoints",type:"keyword",info:"InterpolationPoints is an option to SmoothKernelDistribution and FunctionInterpolation that specifie"},{label:"InterpolationPrecision",type:"keyword",info:"System`InterpolationPrecision"},{label:"Interpretation",type:"keyword",info:"Interpretation[e, expr] represents an object that displays as e, but is interpreted as the unevaluat"},{label:"InterpretationBox",type:"keyword",info:"InterpretationBox[boxes, expr] is a low-level box construct that displays as boxes but is interprete"},{label:"InterpretationBoxOptions",type:"keyword",info:"InterpretationBoxOptions is an option for selections that specifies settings for InterpretationBox c"},{label:"InterpretationFunction",type:"keyword",info:"InterpretationFunction is an option for TemplateBox that specifies how the box is to be evaluated."},{label:"Interpreter",type:"keyword",info:"Interpreter[form] represents an interpreter object that can be applied to an input to try to interpr"},{label:"InterpretTemplate",type:"keyword",info:"InterpretTemplate is an experimental function used for interpreting Mathematica input."},{label:"InterquartileRange",type:"keyword",info:"InterquartileRange[list] gives the difference between the upper and lower quartiles for the elements"},{label:"Interrupt",type:"keyword",info:"Interrupt[] generates an interrupt. "},{label:"InterruptSettings",type:"keyword",info:"System`InterruptSettings"},{label:"IntersectedEntityClass",type:"keyword",info:"IntersectedEntityClass[class , class , …] represents an entity class containing all the entities com"},{label:"IntersectingQ",type:"keyword",info:"IntersectingQ[list , list ] yields True if list and list have at least one element in common, and "},{label:"Intersection",type:"keyword",info:"Intersection[list , list , …] gives a sorted list of the elements common to all the list . \n "},{label:"Interval",type:"keyword",info:"Interval[{min, max}] represents the range of values between min and max. Interval[{min , max }, {min"},{label:"IntervalIntersection",type:"keyword",info:"IntervalIntersection[interval , interval , …] gives the interval representing all points common to e"},{label:"IntervalMarkers",type:"keyword",info:"IntervalMarkers is an option for plotting functions such as ListPlot and BarChart that specifies how"},{label:"IntervalMarkersStyle",type:"keyword",info:"IntervalMarkersStyle is an option for plotting functions that specifies styles in which uncertainty"},{label:"IntervalMemberQ",type:"keyword",info:"IntervalMemberQ[interval, x] gives True if the number x lies within the specified interval, and Fals"},{label:"IntervalSlider",type:"keyword",info:"IntervalSlider[{xmin, xmax}] represents a slider with setting {xmin, xmax} in the range 0 to 1.Inter"},{label:"IntervalUnion",type:"keyword",info:"IntervalUnion[interval , interval , …] gives an interval containing the set of all points in any of "},{label:"Into",type:"keyword",info:"System`Into"},{label:"Inverse",type:"keyword",info:"Inverse[m] gives the inverse of a square matrix m. "},{label:"InverseBetaRegularized",type:"keyword",info:"InverseBetaRegularized[s, a, b] gives the inverse of the regularized incomplete beta function. "},{label:"InverseBilateralLaplaceTransform",type:"keyword",info:"InverseBilateralLaplaceTransform[expr, s, t] gives the inverse bilateral Laplace transform of expr. "},{label:"InverseBilateralZTransform",type:"keyword",info:"InverseBilateralZTransform[expr, z, n] gives the inverse bilateral Z transform of expr.InverseBilate"},{label:"InverseCDF",type:"keyword",info:"InverseCDF[dist, q] gives the inverse of the cumulative distribution function for the distribution d"},{label:"InverseChiSquareDistribution",type:"keyword",info:" 2 "},{label:"InverseContinuousWaveletTransform",type:"keyword",info:"InverseContinuousWaveletTransform[cwd] gives the inverse continuous wavelet transform of a Continuou"},{label:"InverseDistanceTransform",type:"keyword",info:"InverseDistanceTransform[image] gives the inverse distance transform of image, returning the result "},{label:"InverseEllipticNomeQ",type:"keyword",info:"InverseEllipticNomeQ[q] gives the parameter m corresponding to the nome q in an elliptic function. "},{label:"InverseErf",type:"keyword",info:"InverseErf[s] gives the inverse error function obtained as the solution for z in s = erf(z). "},{label:"InverseErfc",type:"keyword",info:"InverseErfc[s] gives the inverse complementary error function obtained as the solution for z in s = "},{label:"InverseFourier",type:"keyword",info:"InverseFourier[list] finds the discrete inverse Fourier transform of a list of complex numbers.Inver"},{label:"InverseFourierCosTransform",type:"keyword",info:"InverseFourierCosTransform[expr, ω, t] gives the symbolic inverse Fourier cosine transform of expr. "},{label:"InverseFourierSequenceTransform",type:"keyword",info:"InverseFourierSequenceTransform[expr, ω, n] gives the inverse discrete-time Fourier transform of exp"},{label:"InverseFourierSinTransform",type:"keyword",info:"InverseFourierSinTransform[expr, ω, t] gives the symbolic inverse Fourier sine transform of expr. In"},{label:"InverseFourierTransform",type:"keyword",info:"InverseFourierTransform[expr, ω, t] gives the symbolic inverse Fourier transform of expr. InverseFou"},{label:"InverseFunction",type:"keyword",info:" "},{label:"InverseFunctions",type:"keyword",info:"InverseFunctions is an option for Solve and related functions that specifies whether inverse functio"},{label:"InverseGammaDistribution",type:"keyword",info:"InverseGammaDistribution[Î\\[PlusMinus], Î.b2] represents an inverse gamma distribution with shape parameter Î\\[PlusMinus] and s"},{label:"InverseGammaRegularized",type:"keyword",info:"InverseGammaRegularized[a, s] gives the inverse of the regularized incomplete gamma function. "},{label:"InverseGaussianDistribution",type:"keyword",info:"InverseGaussianDistribution[μ, λ] represents an inverse Gaussian distribution with mean μ and scale "},{label:"InverseGudermannian",type:"keyword",info:" -1\nInverseGudermannian[z] gives the"},{label:"InverseHankelTransform",type:"keyword",info:"InverseHankelTransform[expr, s, r] gives the inverse Hankel transform of order 0 for expr.InverseHan"},{label:"InverseHaversine",type:"keyword",info:" -1\nInverseHaversine[z] gives the inverse"},{label:"InverseImagePyramid",type:"keyword",info:"InverseImagePyramid[pyr] reconstructs an image from an ImagePyramid object pyr.InverseImagePyramid[p"},{label:"InverseJacobiCD",type:"keyword",info:" -1\nInverseJacobiCD[v, m] gives th"},{label:"InverseJacobiCN",type:"keyword",info:" -1\nInverseJacobiCN[v, m] gives th"},{label:"InverseJacobiCS",type:"keyword",info:" -1\nInverseJacobiCS[v, m] gives th"},{label:"InverseJacobiDC",type:"keyword",info:" -1\nInverseJacobiDC[v, m] gives th"},{label:"InverseJacobiDN",type:"keyword",info:" -1\nInverseJacobiDN[v, m] gives th"},{label:"InverseJacobiDS",type:"keyword",info:" -1\nInverseJacobiDS[v, m] gives th"},{label:"InverseJacobiNC",type:"keyword",info:" -1\nInverseJacobiNC[v, m] gives th"},{label:"InverseJacobiND",type:"keyword",info:" -1\nInverseJacobiND[v, m] gives th"},{label:"InverseJacobiNS",type:"keyword",info:" -1\nInverseJacobiNS[v, m] gives th"},{label:"InverseJacobiSC",type:"keyword",info:" -1\nInverseJacobiSC[v, m] gives th"},{label:"InverseJacobiSD",type:"keyword",info:" -1\nInverseJacobiSD[v, m] gives th"},{label:"InverseJacobiSN",type:"keyword",info:" -1\nInverseJacobiSN[v, m] gives th"},{label:"InverseLaplaceTransform",type:"keyword",info:" "},{label:"InverseMellinTransform",type:"keyword",info:"InverseMellinTransform[expr, s, x] gives the inverse Mellin transform of expr. "},{label:"InversePermutation",type:"keyword",info:"InversePermutation[perm] returns the inverse of permutation perm."},{label:"InverseRadon",type:"keyword",info:"InverseRadon[image] gives the inverse discrete Radon transform of image.InverseRadon[image, {w, h}] "},{label:"InverseRadonTransform",type:"keyword",info:"InverseRadonTransform[expr, {p, ϕ}, {x, y}] gives the inverse Radon transform of expr."},{label:"InverseSeries",type:"keyword",info:"InverseSeries[s] takes the series s, and gives a series for the inverse of the function represented "},{label:"InverseShortTimeFourier",type:"keyword",info:"InverseShortTimeFourier[input] reconstructs the signal from short-time Fourier data.InverseShortTime"},{label:"InverseSpectrogram",type:"keyword",info:"InverseSpectrogram[data] reconstructs the signal from the magnitude spectrogram data.InverseSpectrog"},{label:"InverseSurvivalFunction",type:"keyword",info:"InverseSurvivalFunction[dist, q] gives the inverse of the survival function for the distribution dis"},{label:"InverseTransformedRegion",type:"keyword",info:" n\nInverseTransfo"},{label:"InverseWaveletTransform",type:"keyword",info:"InverseWaveletTransform[dwd] gives the inverse wavelet transform of a DiscreteWaveletData object dwd"},{label:"InverseWeierstrassP",type:"keyword",info:"InverseWeierstrassP[p, {g , g }] gives a value of u for which the Weierstrass function ℘ (u ; g , g "},{label:"InverseWishartMatrixDistribution",type:"keyword",info:"InverseWishartMatrixDistribution[ν, Σ] represents an inverse Wishart matrix distribution with ν degr"},{label:"InverseZTransform",type:"keyword",info:"InverseZTransform[expr, z, n] gives the inverse Z transform of expr. InverseZTransform[expr, {z , z "},{label:"Invisible",type:"keyword",info:"Invisible[expr] displays as space that is the same size as the formatted version of expr."},{label:"InvisibleApplication",type:"keyword",info:"System`InvisibleApplication"},{label:"InvisibleTimes",type:"keyword",info:"System`InvisibleTimes"},{label:"IPAddress",type:"keyword",info:'IPAddress["address"] is a symbolic representation of an IPv4 or IPv6 IP address.'},{label:"IrreduciblePolynomialQ",type:"keyword",info:"IrreduciblePolynomialQ[poly] tests whether poly is an irreducible polynomial over the rationals.Irre"},{label:"IslandData",type:"keyword",info:"IslandData[entity, property] gives the value of the specified property for the island entity.IslandD"},{label:"IsolatingInterval",type:"keyword",info:"IsolatingInterval[a] gives a rational isolating interval for the algebraic number a.IsolatingInterva"},{label:"IsomorphicGraphQ",type:"keyword",info:"IsomorphicGraphQ[g , g ] yields True if the graphs g and g are isomorphic, and False otherwise.\n "},{label:"IsomorphicSubgraphQ",type:"keyword",info:"IsomorphicSubgraphQ[g , g ] yields True if the graph g is isomorphic to a subgraph of the graph g ."},{label:"IsotopeData",type:"keyword",info:'IsotopeData[{Z, A}, "property"] gives the value of the specified property for the isotope with atomi'},{label:"Italic",type:"keyword",info:"Italic represents an italic font slant."},{label:"Item",type:"keyword",info:"Item[expr, options] represents an item within constructs such as Grid, Overlay, and Manipulate that "},{label:"ItemAspectRatio",type:"keyword",info:"ItemAspectRatio is an option for GraphicsGrid which specifies the ratio of height to width for the r"},{label:"ItemBox",type:"keyword",info:"System`ItemBox"},{label:"ItemBoxOptions",type:"keyword",info:"ItemBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for ItemBox obje"},{label:"ItemDisplayFunction",type:"keyword",info:"ItemDisplayFunction is an option for Dataset that specifies a function to apply to items before disp"},{label:"ItemSize",type:"keyword",info:"ItemSize is an option for Grid, Column, and related constructs that specifies the sizes to allow for"},{label:"ItemStyle",type:"keyword",info:"ItemStyle is an option for Dataset, Grid and related constructs that specifies styles to use for ite"},{label:"ItoProcess",type:"keyword",info:"ItoProcess[{a, b}, x, t] represents an Ito process x(t), where  x(t)  a(t, x(t))  t + b(t, x(t)) "},{label:"JaccardDissimilarity",type:"keyword",info:"JaccardDissimilarity[u, v] gives the Jaccard dissimilarity between Boolean vectors u and v."},{label:"JacobiAmplitude",type:"keyword",info:"JacobiAmplitude[u, m] gives the amplitude am(u ï.b2 m) for Jacobi elliptic functions. "},{label:"Jacobian",type:"keyword",info:"Jacobian is an option for FindRoot. Jacobian -> Automatic attempts symbolic computation of the Jacob"},{label:"JacobiCD",type:"keyword",info:"JacobiCD[u, m] gives the Jacobi elliptic function cd(u | m)."},{label:"JacobiCN",type:"keyword",info:"JacobiCN[u, m] gives the Jacobi elliptic function cn(u | m)."},{label:"JacobiCS",type:"keyword",info:"JacobiCS[u, m] gives the Jacobi elliptic function cs(u | m)."},{label:"JacobiDC",type:"keyword",info:"JacobiDC[u, m] gives the Jacobi elliptic function dc(u | m)."},{label:"JacobiDN",type:"keyword",info:"JacobiDN[u, m] gives the Jacobi elliptic function dn(u | m)."},{label:"JacobiDS",type:"keyword",info:"JacobiDS[u, m] gives the Jacobi elliptic function ds(u | m)."},{label:"JacobiEpsilon",type:"keyword",info:"JacobiEpsilon[u, m] gives the Jacobi epsilon function â„\\[Degree](u | m)."},{label:"JacobiNC",type:"keyword",info:"JacobiNC[u, m] gives the Jacobi elliptic function nc(u | m)."},{label:"JacobiND",type:"keyword",info:"JacobiND[u, m] gives the Jacobi elliptic function nd(u | m)."},{label:"JacobiNS",type:"keyword",info:"JacobiNS[u, m] gives the Jacobi elliptic function ns(u | m)."},{label:"JacobiP",type:"keyword",info:" (a, b)\nJacobiP[n, a, b, x] gives the Jacobi polynom"},{label:"JacobiSC",type:"keyword",info:"JacobiSC[u, m] gives the Jacobi elliptic function sc(u | m)."},{label:"JacobiSD",type:"keyword",info:"JacobiSD[u, m] gives the Jacobi elliptic function sd(u | m)."},{label:"JacobiSN",type:"keyword",info:"JacobiSN[u, m] gives the Jacobi elliptic function sn(u | m)."},{label:"JacobiSymbol",type:"keyword",info:" n\nJacobiSymbol[n, m] gives the Jacobi symbol (-). \n "},{label:"JacobiZeta",type:"keyword",info:"JacobiZeta[ϕ, m] gives the Jacobi zeta function Z(ϕ ï.b2 m). "},{label:"JacobiZN",type:"keyword",info:"JacobiZN[u, m] gives the Jacobi zeta function zn(u | m)."},{label:"JankoGroupJ1",type:"keyword",info:"JankoGroupJ1[] represents the sporadic simple Janko group J .\n "},{label:"JankoGroupJ2",type:"keyword",info:"JankoGroupJ2[] represents the sporadic simple Janko group J .\n "},{label:"JankoGroupJ3",type:"keyword",info:"JankoGroupJ3[] represents the sporadic simple Janko group J .\n "},{label:"JankoGroupJ4",type:"keyword",info:"JankoGroupJ4[] represents the sporadic simple Janko group J .\n "},{label:"JarqueBeraALMTest",type:"keyword",info:"JarqueBeraALMTest[data] tests whether data is normally distributed using the Jarque–Bera ALM test.Ja"},{label:"JohnsonDistribution",type:"keyword",info:'JohnsonDistribution["SB", Î.b3, Î.b4, μ, σ] represents a bounded Johnson distribution with shape parameter'},{label:"Join",type:"keyword",info:"Join[list , list , …] concatenates lists or other expressions that share the same head.Join[list , l"},{label:"JoinAcross",type:"keyword",info:"JoinAcross[{a , a , …}, {b , b , …}, key] gives a list of associations obtained by joining those pai"},{label:"Joined",type:"keyword",info:"Joined is an option for ListPlot and related functions that specifies whether points in each dataset"},{label:"JoinedCurve",type:"keyword",info:"JoinedCurve[{segment , segment , …}] represents a curve consisting of segment followed by segment "},{label:"JoinedCurveBox",type:"keyword",info:"System`JoinedCurveBox"},{label:"JoinedCurveBoxOptions",type:"keyword",info:"JoinedCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Joine"},{label:"JoinForm",type:"keyword",info:"JoinForm[type] is a graphics directive that specifies what type of joins should be used to connect s"},{label:"JordanDecomposition",type:"keyword",info:"JordanDecomposition[m] yields the Jordan decomposition of a square matrix m. The result is a list {s"},{label:"JordanModelDecomposition",type:"keyword",info:"JordanModelDecomposition[ssm] yields the Jordan decomposition of the state-space model ssm. "},{label:"JulianDate",type:"keyword",info:"JulianDate[] gives the current number of days since noon on November 24, 4714 BCE in the GMT time zo"},{label:"JuliaSetBoettcher",type:"keyword",info:"JuliaSetBoettcher[c, z] gives the BÃ\\[Paragraph]ttcher coordinate of z with respect to the quadratic Julia set J"},{label:"JuliaSetIterationCount",type:"keyword",info:" "},{label:"JuliaSetPlot",type:"keyword",info:" "},{label:"JuliaSetPoints",type:"keyword",info:" "},{label:"K",type:"keyword",info:"K is a default generic name for a summation index in a symbolic sum."},{label:"KagiChart",type:"keyword",info:"KagiChart[{{date , p }, {date , p }, …}] makes a Kagi chart with prices p at date date .KagiChart[{"},{label:"KaiserBesselWindow",type:"keyword",info:"KaiserBesselWindow[x] represents a Kaiser–Bessel window function of x."},{label:"KaiserWindow",type:"keyword",info:"KaiserWindow[x] represents a Kaiser window function of x.KaiserWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"KalmanEstimator",type:"keyword",info:"KalmanEstimator[ssm, {w, v}] constructs the Kalman estimator for the StateSpaceModel ssm with proces"},{label:"KalmanFilter",type:"keyword",info:"KalmanFilter[tproc, data] filters data using the time series model given by tproc."},{label:"KarhunenLoeveDecomposition",type:"keyword",info:"KarhunenLoeveDecomposition[{a , a , …}] gives the Karhunen–Loeve transform {{b , b , …}, m} of the n"},{label:"KaryTree",type:"keyword",info:"KaryTree[n] gives a binary tree with n vertices.KaryTree[n, k] gives a k-ary tree with n vertices.\n"},{label:"KatzCentrality",type:"keyword",info:"KatzCentrality[g, Î\\[PlusMinus]] gives a list of Katz centralities for the vertices in the graph g and weight Î\\[PlusMinus]."},{label:"KCoreComponents",type:"keyword",info:"KCoreComponents[g, k] gives the k-core components of the underlying simple graph of g.KCoreComponent"},{label:"KDistribution",type:"keyword",info:"KDistribution[ν, w] represents a K distribution with shape parameters ν and w."},{label:"KEdgeConnectedComponents",type:"keyword",info:"KEdgeConnectedComponents[g, k] gives the k-edge-connected components of the graph g.KEdgeConnectedCo"},{label:"KEdgeConnectedGraphQ",type:"keyword",info:"KEdgeConnectedGraphQ[g, k] yields True if the graph g is k-edge-connected and False otherwise."},{label:"KeepExistingVersion",type:"keyword",info:"KeepExistingVersion is an option for PacletInstall and PacletInstallSubmit that specifies whether an"},{label:"KelvinBei",type:"keyword",info:"KelvinBei[z] gives the Kelvin function bei(z).KelvinBei[n, z] gives the Kelvin function bei (z). \n "},{label:"KelvinBer",type:"keyword",info:"KelvinBer[z] gives the Kelvin function ber(z).KelvinBer[n, z] gives the Kelvin function ber (z). \n "},{label:"KelvinKei",type:"keyword",info:"KelvinKei[z] gives the Kelvin function kei(z).KelvinKei[n, z] gives the Kelvin function kei (z). \n "},{label:"KelvinKer",type:"keyword",info:"KelvinKer[z] gives the Kelvin function ker(z).KelvinKer[n, z] gives the Kelvin function ker (z). \n "},{label:"KendallTau",type:"keyword",info:" "},{label:"KendallTauTest",type:"keyword",info:"KendallTauTest[v , v ] tests whether the vectors v and v are independent.KendallTauTest[m , m ] te"},{label:"KernelExecute",type:"keyword",info:"System`KernelExecute"},{label:"KernelFunction",type:"keyword",info:"KernelFunction[f] represents a function to be evaluated in the Wolfram Engine kernel, even when it i"},{label:"KernelMixtureDistribution",type:"keyword",info:"KernelMixtureDistribution[{x , x , …}] represents a kernel mixture distribution based on the data va"},{label:"KernelObject",type:"keyword",info:"KernelObject[n, name, …] represents a kernel available for parallel computing."},{label:"Kernels",type:"keyword",info:"Kernels[] gives the list of running kernels available for parallel computing."},{label:"Ket",type:"keyword",info:"System`Ket"},{label:"Key",type:"keyword",info:"Key[key] represents a key used to access a value in an association.Key[key][assoc] extracts the valu"},{label:"KeyCollisionFunction",type:"keyword",info:"KeyCollisionFunction is an option for JoinAcross that specifies how to handle pairs of elements that"},{label:"KeyComplement",type:"keyword",info:"KeyComplement[{assoc , assoc , assoc , …}] generates an association in which only elements whose k"},{label:"KeyDrop",type:"keyword",info:"KeyDrop[assoc, {key , key , …}] yields an association from which elements with keys key have been d"},{label:"KeyDropFrom",type:"keyword",info:"KeyDropFrom[a, key] changes the association a by dropping the element with the specified key.KeyDrop"},{label:"KeyExistsQ",type:"keyword",info:"KeyExistsQ[assoc, key] returns True if the specified key exists in the association assoc, and False "},{label:"KeyFreeQ",type:"keyword",info:"KeyFreeQ[assoc, form] yields True if no key in the association assoc matches form, and yields False "},{label:"KeyIntersection",type:"keyword",info:"KeyIntersection[{assoc , assoc , …}] generates a list of associations in which only elements whose k"},{label:"KeyMap",type:"keyword",info:"KeyMap[f,  key  val , key  val , … ] maps f over the keys in an association, giving  f[key ] "},{label:"KeyMemberQ",type:"keyword",info:"KeyMemberQ[assoc, form] yields True if a key in the association assoc matches form, and False otherw"},{label:"KeypointStrength",type:"keyword",info:"KeypointStrength is an option for ImageKeypoints and related functions to specify a minimum strength"},{label:"Keys",type:"keyword",info:"Keys[ key  val , key  val , … ] gives a list of the keys key in an association.Keys[{key  v"},{label:"KeySelect",type:"keyword",info:"KeySelect[assoc, crit] selects elements in the association assoc for which crit applied to their key"},{label:"KeySort",type:"keyword",info:"KeySort[assoc] orders the elements of an association by sorting its keys.KeySort[assoc, p] orders th"},{label:"KeySortBy",type:"keyword",info:"KeySortBy[assoc, f] sorts the elements of an association in the order defined by applying f to each "},{label:"KeyTake",type:"keyword",info:"KeyTake[assoc, {key , key , …}] yields an association containing only the elements with keys key .Ke"},{label:"KeyUnion",type:"keyword",info:"KeyUnion[{assoc , assoc , …}] generates a list of associations in which each association has the uni"},{label:"KeyValueMap",type:"keyword",info:"KeyValueMap[f,  key  val , key  val , … ] gives the list {f[key , val ], f[key , val ], …}.Key"},{label:"KeyValuePattern",type:"keyword",info:"KeyValuePattern[{patt , …}] is a pattern object that represents an association or list of rules that"},{label:"Khinchin",type:"keyword",info:"Khinchin is Khinchin's constant, with numerical value ≃ 2.68545. "},{label:"KillProcess",type:"keyword",info:"KillProcess[proc] kills the external process represented by the ProcessObject proc."},{label:"KirchhoffGraph",type:"keyword",info:"KirchhoffGraph[kmat] gives the graph with Kirchhoff matrix kmat.KirchhoffGraph[{v , v , …}, kmat] gi"},{label:"KirchhoffMatrix",type:"keyword",info:"KirchhoffMatrix[g] gives the Kirchhoff matrix of the graph g.KirchhoffMatrix[{v  w, …}] uses rules "},{label:"KleinInvariantJ",type:"keyword",info:"KleinInvariantJ[τ] gives the Klein invariant modular elliptic function J(τ). "},{label:"KnapsackSolve",type:"keyword",info:"KnapsackSolve[{cost , cost , …}, maxtotalcost] solves the knapsack problem of finding the maximum nu"},{label:"KnightTourGraph",type:"keyword",info:"KnightTourGraph[m, n] gives a Knight's tour graph on an mn chessboard."},{label:"KnotData",type:"keyword",info:'KnotData[knot, "property"] gives the specified property for a knot.KnotData[knot] gives an image of '},{label:"KnownUnitQ",type:"keyword",info:"KnownUnitQ[expr] returns True if expr is a canonical unit, and False otherwise."},{label:"KochCurve",type:"keyword",info:" th\nKochCurve[n] gives the line segments repr"},{label:"KolmogorovSmirnovTest",type:"keyword",info:"KolmogorovSmirnovTest[data] tests whether data is normally distributed using the Kolmogorov–Smirnov "},{label:"KroneckerDelta",type:"keyword",info:"KroneckerDelta[n , n , …] gives the Kronecker delta Î.b4 , equal to 1 if all the n are equal, an"},{label:"KroneckerModelDecomposition",type:"keyword",info:"KroneckerModelDecomposition[ssm] yields the Kronecker decomposition of a descriptor state-space mode"},{label:"KroneckerProduct",type:"keyword",info:"KroneckerProduct[m , m , …] constructs the Kronecker product of the arrays m .\n 1 "},{label:"KroneckerSymbol",type:"keyword",info:" n\nKroneckerSymbol[n, m] gives the Kronecker symbol"},{label:"KuiperTest",type:"keyword",info:"KuiperTest[data] tests whether data is normally distributed using the Kuiper test.KuiperTest[data, d"},{label:"KumaraswamyDistribution",type:"keyword",info:"KumaraswamyDistribution[Î\\[PlusMinus], Î.b2] represents a Kumaraswamy distribution with shape parameters Î\\[PlusMinus] and Î.b2."},{label:"Kurtosis",type:"keyword",info:"Kurtosis[list] gives the coefficient of kurtosis for the elements in list.Kurtosis[dist] gives the c"},{label:"KuwaharaFilter",type:"keyword",info:"KuwaharaFilter[data, r] computes for each element p in data the variance of the values in the four ("},{label:"KVertexConnectedComponents",type:"keyword",info:"KVertexConnectedComponents[g, k] gives the k-vertex-connected components of the graph g.KVertexConne"},{label:"KVertexConnectedGraphQ",type:"keyword",info:"KVertexConnectedGraphQ[g, k] yields True if the graph g is k-vertex-connected and False otherwise."},{label:"LABColor",type:"keyword",info:"LABColor[l, a, b] represents a color in the Lab color space with lightness l and color components a "},{label:"Label",type:"keyword",info:"Label[tag] represents a point in a compound expression to which control can be transferred using Got"},{label:"Labeled",type:"keyword",info:"Labeled[expr, lbl] displays expr labeled with lbl. Labeled[expr, lbl, pos] places lbl at a position "},{label:"LabeledSlider",type:"keyword",info:"System`LabeledSlider"},{label:"LabelingFunction",type:"keyword",info:"LabelingFunction is an option for data visualization functions to automatically label elements of a "},{label:"LabelingSize",type:"keyword",info:"LabelingSize is an option to visualization functions that specifies the size to be used for labels a"},{label:"LabelStyle",type:"keyword",info:"LabelStyle is an option for formatting and related constructs that specifies the style to use in dis"},{label:"LabelVisibility",type:"keyword",info:"LabelVisibility is an option for Callout and Labeled in plotting functions that determines which lab"},{label:"LaguerreL",type:"keyword",info:" "},{label:"LakeData",type:"keyword",info:"LakeData[entity, property] gives the value of the specified property for the lake entity.LakeData[{e"},{label:"LambdaComponents",type:"keyword",info:"LambdaComponents[g] gives the lambda components of the graph g.LambdaComponents[g, {v , v , …}] give"},{label:"LambertW",type:"keyword",info:"System`LambertW"},{label:"LameC",type:"keyword",info:" th j\nLameC[ν, j, z, m] gives the j Lamé function Ec"},{label:"LameCPrime",type:"keyword",info:" th j\nLameCPrime[ν, j, z, m] g"},{label:"LameEigenvalueA",type:"keyword",info:" th j\nLameEigenvalueA[ν, j, m] gives the j L"},{label:"LameEigenvalueB",type:"keyword",info:" th j\nLameEigenvalueB[ν, j, m] gives the j L"},{label:"LameS",type:"keyword",info:" th j\nLameS[ν, j, z, m] gives the j Lamé function Es"},{label:"LameSPrime",type:"keyword",info:" th j\nLameSPrime[ν, j, z, m] g"},{label:"LaminaData",type:"keyword",info:"LaminaData[entity, property] gives the value of the specified property for the lamina entity.LaminaD"},{label:"LanczosWindow",type:"keyword",info:"LanczosWindow[x] represents a Lanczos window function of x."},{label:"LandauDistribution",type:"keyword",info:"LandauDistribution[μ, σ] represents a Landau distribution with location parameter μ and scale parame"},{label:"Language",type:"keyword",info:"Language is an option that specifies the language to use."},{label:"LanguageCategory",type:"keyword",info:"LanguageCategory is an option for Cell that determines in what category of language the contents of "},{label:"LanguageData",type:"keyword",info:"LanguageData[entity, property] gives the value of the specified property for the language entity.Lan"},{label:"LanguageIdentify",type:"keyword",info:'LanguageIdentify["string"] attempts to determine what human language text in string is in, predomina'},{label:"LanguageOptions",type:"keyword",info:"System`LanguageOptions"},{label:"LaplaceDistribution",type:"keyword",info:"LaplaceDistribution[μ, Î.b2] represents a Laplace double-exponential distribution with mean μ and scale"},{label:"LaplaceTransform",type:"keyword",info:" "},{label:"Laplacian",type:"keyword",info:" 2 2 2 2\nLaplacian[f, {x , …, x }] "},{label:"LaplacianFilter",type:"keyword",info:"LaplacianFilter[data, r] convolves data with a radius-r Laplacian kernel.LaplacianFilter[data, {r , "},{label:"LaplacianGaussianFilter",type:"keyword",info:"LaplacianGaussianFilter[data, r] convolves data with a Laplacian of Gaussian kernel of pixel radius "},{label:"LaplacianPDETerm",type:"keyword",info:" 2\nLaplacianPDETerm[vars] represents a Laplacian "},{label:"Large",type:"keyword",info:"Large is a style or option setting that specifies that objects should be large."},{label:"Larger",type:"keyword",info:"Larger is a style or option setting that specifies that objects should be larger."},{label:"Last",type:"keyword",info:"Last[expr] gives the last element in expr. Last[expr, def] gives the last element if there are any e"},{label:"Latitude",type:"keyword",info:"Latitude[pos] gives the latitude in degrees of a geographic position specified by pos.Latitude[pos, "},{label:"LatitudeLongitude",type:"keyword",info:"LatitudeLongitude[pos] gives a list of the latitude and longitude in degrees of a geographic positio"},{label:"LatticeData",type:"keyword",info:'LatticeData[lattice, "property"] gives the specified property for a lattice.LatticeData[n] gives a l'},{label:"LatticeReduce",type:"keyword",info:"LatticeReduce[{v , v , …}] gives a reduced basis for the set of vectors v . \n 1 2 "},{label:"Launch",type:"keyword",info:"Launch is a setting for the LinkMode option of LinkOpen. LinkMode->Launch causes a link to be creat"},{label:"LaunchKernels",type:"keyword",info:"LaunchKernels[] launches all currently configured parallel subkernels.LaunchKernels[n] launches n lo"},{label:"LayeredGraphPlot",type:"keyword",info:"LayeredGraphPlot[g] generates a layered plot of the graph g.LayeredGraphPlot[{e , e , …}] generates "},{label:"LayeredGraphPlot3D",type:"keyword",info:"LayeredGraphPlot3D[g] generates a 3D layered plot of the graph g.LayeredGraphPlot3D[{e , e , …}] gen"},{label:"LayerSizeFunction",type:"keyword",info:"LayerSizeFunction is an option for TreePlot that gives a function to specify the relative height to "},{label:"LayoutInformation",type:"keyword",info:"System`LayoutInformation"},{label:"LCHColor",type:"keyword",info:"LCHColor[l, c, h] represents a color in the LCH color space with lightness l, chroma c and hue h.LCH"},{label:"LCM",type:"keyword",info:"LCM[n , n , …] gives the least common multiple of the n . \n 1 2 "},{label:"LeaderSize",type:"keyword",info:"LeaderSize is an option for Callout that specifies what sizes to use for leader lines."},{label:"LeafCount",type:"keyword",info:"LeafCount[expr] gives the total number of indivisible subexpressions in expr. "},{label:"LeapVariant",type:"keyword",info:"LeapVariant[n] represents a repeated calendar element caused by a leap period."},{label:"LeapYearQ",type:"keyword",info:"LeapYearQ[date] returns True if the year corresponding to date is a leap year."},{label:"LearnDistribution",type:"keyword",info:"LearnDistribution[{example , example , …}] generates a LearnedDistribution[…] that attempts to repre"},{label:"LearnedDistribution",type:"keyword",info:"LearnedDistribution[…] represents a distribution generated by LearnDistribution."},{label:"LearningRate",type:"keyword",info:"LearningRate is an option for NetTrain that specifies the rate at which to adjust neural net weights"},{label:"LearningRateMultipliers",type:"keyword",info:"LearningRateMultipliers is an option for net layers and for NetTrain, NetChain, NetGraph that specif"},{label:"LeastSquares",type:"keyword",info:"LeastSquares[m, b] finds an x that solves the linear least-squares problem for the matrix equation m"},{label:"LeastSquaresFilterKernel",type:"keyword",info:"LeastSquaresFilterKernel[{{ω , …, ω }, {a , …, a }}, n] creates a k-band finite impulse response"},{label:"Left",type:"keyword",info:"Left is a symbol that represents the left-hand side for purposes of alignment and positioning. "},{label:"LeftArrow",type:"keyword",info:"LeftArrow[x, y, …] displays as x ← y ← …."},{label:"LeftArrowBar",type:"keyword",info:"LeftArrowBar[x, y, …] displays as x ⇤ y ⇤ …."},{label:"LeftArrowRightArrow",type:"keyword",info:"LeftArrowRightArrow[x, y, …] displays as x ⇆ y ⇆ …."},{label:"LeftDownTeeVector",type:"keyword",info:"LeftDownTeeVector[x, y, …] displays as x ⥡ y ⥡ …."},{label:"LeftDownVector",type:"keyword",info:"LeftDownVector[x, y, …] displays as x ⇃ y ⇃ …."},{label:"LeftDownVectorBar",type:"keyword",info:"LeftDownVectorBar[x, y, …] displays as x ⥙ y ⥙ …."},{label:"LeftRightArrow",type:"keyword",info:"LeftRightArrow[x, y, …] displays as x ↔ y ↔ …."},{label:"LeftRightVector",type:"keyword",info:"LeftRightVector[x, y, …] displays as x ⥎ y ⥎ …."},{label:"LeftTee",type:"keyword",info:"LeftTee[x, y] displays as x ⊣ y."},{label:"LeftTeeArrow",type:"keyword",info:"LeftTeeArrow[x, y, …] displays as x ↤ y ↤ …."},{label:"LeftTeeVector",type:"keyword",info:"LeftTeeVector[x, y, …] displays as x ⥚ y ⥚ …."},{label:"LeftTriangle",type:"keyword",info:"LeftTriangle[x, y, …] displays as x âŠ.b2 y âŠ.b2 …."},{label:"LeftTriangleBar",type:"keyword",info:"LeftTriangleBar[x, y, …] displays as x ⧏ y ⧏ …."},{label:"LeftTriangleEqual",type:"keyword",info:"LeftTriangleEqual[x, y, …] displays as x âŠ.b4 y âŠ.b4 …."},{label:"LeftUpDownVector",type:"keyword",info:"LeftUpDownVector[x, y, …] displays as x ⥑ y ⥑ …."},{label:"LeftUpTeeVector",type:"keyword",info:"LeftUpTeeVector[x, y, …] displays as x ⥠ y ⥠ …."},{label:"LeftUpVector",type:"keyword",info:"LeftUpVector[x, y, …] displays as x ↿ y ↿ …."},{label:"LeftUpVectorBar",type:"keyword",info:"LeftUpVectorBar[x, y, …] displays as x ⥘ y ⥘ …."},{label:"LeftVector",type:"keyword",info:"LeftVector[x, y, …] displays as x ↼ y ↼ …."},{label:"LeftVectorBar",type:"keyword",info:"LeftVectorBar[x, y, …] displays as x ⥒ y ⥒ …."},{label:"LegendAppearance",type:"keyword",info:"LegendAppearance is an option for charting functions that specifies the appearance of any legends th"},{label:"Legended",type:"keyword",info:"Legended[expr, leg] displays expr with legend leg. Legended[expr, lbl] indicates in plotting and cha"},{label:"LegendFunction",type:"keyword",info:"LegendFunction is an option for legends that specifies an overall function to apply to the generated"},{label:"LegendLabel",type:"keyword",info:"LegendLabel is an option for legends that specifies an overall label for a legend."},{label:"LegendLayout",type:"keyword",info:"LegendLayout is an option for legends that specifies how to format the legend content."},{label:"LegendMargins",type:"keyword",info:"LegendMargins is an option for legends that specifies the margins to leave around the legend."},{label:"LegendMarkers",type:"keyword",info:"LegendMarkers is an option for legends such as PointLegend that specifies markers for each element."},{label:"LegendMarkerSize",type:"keyword",info:"LegendMarkerSize is an option for legends such as PointLegend that specifies the size of marker regi"},{label:"LegendreP",type:"keyword",info:" "},{label:"LegendreQ",type:"keyword",info:" "},{label:"LegendreType",type:"keyword",info:"System`LegendreType"},{label:"Length",type:"keyword",info:"Length[expr] gives the number of elements in expr. "},{label:"LengthWhile",type:"keyword",info:"LengthWhile[list, crit] gives the number of contiguous elements e starting at the beginning of list"},{label:"LerchPhi",type:"keyword",info:"LerchPhi[z, s, a] gives the Lerch transcendent Φ (z, s, a). "},{label:"Less",type:"keyword",info:"x < y yields True if x is determined to be less than y. x < x < x yields True if the x form a st"},{label:"LessEqual",type:"keyword",info:"x <= y or x ≤ y yields True if x is determined to be less than or equal to y.x ≤ x ≤ x yields Tru"},{label:"LessEqualGreater",type:"keyword",info:"LessEqualGreater[x, y, …] displays as x ⋚ y ⋚ …."},{label:"LessEqualThan",type:"keyword",info:"LessEqualThan[y] is an operator form that yields x ≤ y when applied to an expression x."},{label:"LessFullEqual",type:"keyword",info:"LessFullEqual[x, y, …] displays as x ≦ y ≦ …."},{label:"LessGreater",type:"keyword",info:"LessGreater[x, y, …] displays as x â‰\\[Paragraph] y â‰\\[Paragraph] …."},{label:"LessLess",type:"keyword",info:"LessLess[x, y, …] displays as x ≪ y ≪ …."},{label:"LessSlantEqual",type:"keyword",info:"LessSlantEqual[x, y, …] displays as x ⩽ y ⩽ …."},{label:"LessThan",type:"keyword",info:"LessThan[y] is an operator form that yields x < y when applied to an expression x."},{label:"LessTilde",type:"keyword",info:"LessTilde[x, y, …] displays as x â‰.b2 y â‰.b2 …."},{label:"LetterCharacter",type:"keyword",info:"LetterCharacter represents a letter character in StringExpression."},{label:"LetterCounts",type:"keyword",info:'LetterCounts["string"] gives an association whose keys are the distinct letters in string, and whose'},{label:"LetterNumber",type:"keyword",info:'LetterNumber["c"] gives the position of the character c in the English alphabet.LetterNumber["c", al'},{label:"LetterQ",type:"keyword",info:"LetterQ[string] yields True if all the characters in the string are letters, and yields False otherw"},{label:"Level",type:"keyword",info:"Level[expr, levelspec] gives a list of all subexpressions of expr on levels specified by levelspec. "},{label:"LeveneTest",type:"keyword",info:" "},{label:"LeviCivitaTensor",type:"keyword",info:"LeviCivitaTensor[d] gives the d-dimensional Levi-Civita totally antisymmetric tensor."},{label:"LevyDistribution",type:"keyword",info:"LevyDistribution[μ, σ] represents a Lévy distribution with location parameter μ and dispersion param"},{label:"Lexicographic",type:"keyword",info:"System`Lexicographic"},{label:"LexicographicOrder",type:"keyword",info:"LexicographicOrder[{a , a , …}, {b , b , …}] gives Order[a , b ] for the first non-coinciding pair a"},{label:"LexicographicSort",type:"keyword",info:"LexicographicSort[{e , e , …}] sorts the list of expressions e in lexicographic order.Lexicographic"},{label:"LibraryDataType",type:"keyword",info:"LibraryDataType[datatype] specifies the data type for a LibraryFunction argument or result to be dat"},{label:"LibraryFunction",type:"keyword",info:"LibraryFunction[ args] represents a function that has been loaded from a Wolfram Library."},{label:"LibraryFunctionError",type:"keyword",info:"LibraryFunctionError[name, code] represents an error returned from a LibraryFunction."},{label:"LibraryFunctionInformation",type:"keyword",info:"LibraryFunctionInformation[fun] returns information about a LibraryFunction."},{label:"LibraryFunctionLoad",type:"keyword",info:"LibraryFunctionLoad[lib, fun, argtype, rettype] loads Wolfram Library lib and makes the library func"},{label:"LibraryFunctionUnload",type:"keyword",info:"LibraryFunctionUnload[fun] unloads a LibraryFunction so that it cannot be used."},{label:"LibraryLoad",type:"keyword",info:"LibraryLoad[lib] loads the dynamic library lib into the Wolfram System runtime."},{label:"LibraryUnload",type:"keyword",info:"LibraryUnload[lib] unloads all functions that have been loaded from a Wolfram Library, then it unloa"},{label:"LicenseEntitlementObject",type:"keyword",info:"LicenseEntitlementObject[…] represents an on-demand license entitlement.LicenseEntitlementObject[id]"},{label:"LicenseEntitlements",type:"keyword",info:"LicenseEntitlements[] gives a list of on-demand license entitlements owned by you."},{label:"LicenseID",type:"keyword",info:"LicenseID is an option to Encode which specifies the required value of ECLicenseID on the computer th"},{label:"LicensingSettings",type:"keyword",info:"LicensingSettings is an option for RemoteBatchSubmit and related functions to configure licensing fo"},{label:"LiftingFilterData",type:"keyword",info:"LiftingFilterData[…] represents lifting-filter data used to compute forward and inverse lifting wave"},{label:"LiftingWaveletTransform",type:"keyword",info:"LiftingWaveletTransform[data] gives the lifting wavelet transform (LWT) of an array of data.LiftingW"},{label:"LightBlue",type:"keyword",info:"LightBlue represents a light blue color in graphics or style specifications."},{label:"LightBrown",type:"keyword",info:"LightBrown represents a light brown color in graphics or style specifications."},{label:"LightCyan",type:"keyword",info:"LightCyan represents a light cyan color in graphics or style specifications."},{label:"Lighter",type:"keyword",info:"Lighter[color] represents a lighter version of the specified color. Lighter[color, f] represents a v"},{label:"LightGray",type:"keyword",info:"LightGray represents a light gray color in graphics or style specifications."},{label:"LightGreen",type:"keyword",info:"LightGreen represents a light green color in graphics or style specifications."},{label:"Lighting",type:"keyword",info:"Lighting is an option for Graphics3D and related functions that specifies what simulated lighting to"},{label:"LightingAngle",type:"keyword",info:"LightingAngle is an option for ReliefPlot and related functions that specifies the angle from which "},{label:"LightMagenta",type:"keyword",info:"LightMagenta represents a light magenta color in graphics or style specifications."},{label:"LightOrange",type:"keyword",info:"LightOrange represents a light orange color in graphics or style specifications."},{label:"LightPink",type:"keyword",info:"LightPink represents a light pink color in graphics or style specifications."},{label:"LightPurple",type:"keyword",info:"LightPurple represents a light purple color in graphics or style specifications."},{label:"LightRed",type:"keyword",info:"LightRed represents a light red color in graphics or style specifications."},{label:"LightSources",type:"keyword",info:"LightSources is an option for Graphics3D and related functions that specifies the properties of poin"},{label:"LightYellow",type:"keyword",info:"LightYellow represents a light yellow color in graphics or style specifications."},{label:"Likelihood",type:"keyword",info:"Likelihood[dist, {x , x , …}] gives the likelihood function for observations x , x , … from the dist"},{label:"Limit",type:"keyword",info:" * * * "},{label:"LimitsPositioning",type:"keyword",info:"LimitsPositioning is an option for UnderoverscriptBox and related boxes that specifies whether to ch"},{label:"LimitsPositioningTokens",type:"keyword",info:"LimitsPositioningTokens is an option for selections that specifies a set of characters for which the"},{label:"LindleyDistribution",type:"keyword",info:"LindleyDistribution[Î.b4] represents a Lindley distribution with shape parameter Î.b4."},{label:"Line",type:"keyword",info:"Line[{p , p , …}] represents the line segments joining a sequence for points p .Line[{{p , p , …},"},{label:"Line3DBox",type:"keyword",info:"System`Line3DBox"},{label:"Line3DBoxOptions",type:"keyword",info:"Line3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Line3DBox "},{label:"LinearFilter",type:"keyword",info:"System`LinearFilter"},{label:"LinearFractionalOptimization",type:"keyword",info:"LinearFractionalOptimization[f, cons, vars] finds values of variables vars that minimize the linear "},{label:"LinearFractionalTransform",type:"keyword",info:"LinearFractionalTransform[m] gives a TransformationFunction that represents a linear fractional tran"},{label:"LinearGradientFilling",type:"keyword",info:"LinearGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that"},{label:"LinearGradientImage",type:"keyword",info:"LinearGradientImage[gcol] returns an image with values linearly changing from left to right based on"},{label:"LinearizingTransformationData",type:"keyword",info:"LinearizingTransformationData[…] represents data of an AffineStateSpaceModel linearized by functions"},{label:"LinearLayer",type:"keyword",info:"LinearLayer[n] represents a trainable, fully connected net layer that computes w . x + b with output"},{label:"LinearModelFit",type:"keyword",info:"LinearModelFit[{y , y , …}, {f , f , …}, x] constructs a linear model of the form Î.b2 + Î.b2 f + Î.b2 f "},{label:"LinearOffsetFunction",type:"keyword",info:"LinearOffsetFunction is an option for linear and generalized linear model fitting functions that spe"},{label:"LinearOptimization",type:"keyword",info:"LinearOptimization[f, cons, vars] finds values of variables vars that minimize the linear objective "},{label:"LinearProgramming",type:"keyword",info:"LinearProgramming[c, m, b] finds a vector x that minimizes the quantity c . x subject to the constra"},{label:"LinearRecurrence",type:"keyword",info:" "},{label:"LinearSolve",type:"keyword",info:"LinearSolve[m, b] finds an x that solves the matrix equation m . x == b. LinearSolve[m] generates a "},{label:"LinearSolveFunction",type:"keyword",info:"LinearSolveFunction[dimensions, data] represents a function for providing solutions to a matrix equa"},{label:"LineBox",type:"keyword",info:"System`LineBox"},{label:"LineBoxOptions",type:"keyword",info:"LineBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for LineBox obje"},{label:"LineBreak",type:"keyword",info:"System`LineBreak"},{label:"LinebreakAdjustments",type:"keyword",info:"LinebreakAdjustments is an option for selections that sets parameters used for calculating where aut"},{label:"LineBreakChart",type:"keyword",info:"LineBreakChart[{{date , p }, {date , p }, …}] makes a line break chart with prices p at date date ."},{label:"LinebreakSemicolonWeighting",type:"keyword",info:"System`LinebreakSemicolonWeighting"},{label:"LineBreakWithin",type:"keyword",info:"LineBreakWithin is an option for selections that specifies whether line breaks occur automatically w"},{label:"LineColor",type:"keyword",info:"System`LineColor"},{label:"LineGraph",type:"keyword",info:"LineGraph[g] gives the line graph of the graph g.LineGraph[{v  w, …}] uses rules v  w to specify t"},{label:"LineIndent",type:"keyword",info:"LineIndent is an option for Style and Cell that specifies how many ems of indentation to add at the "},{label:"LineIndentMaxFraction",type:"keyword",info:"LineIndentMaxFraction is an option for Cell, StyleBox, and Style that specifies the maximum fraction"},{label:"LineIntegralConvolutionPlot",type:"keyword",info:"LineIntegralConvolutionPlot[{{v , v }, image}, {x, x , x }, {y, y , y }] generates a line in"},{label:"LineIntegralConvolutionScale",type:"keyword",info:"LineIntegralConvolutionScale is an option to LineIntegralConvolutionPlot and related functions that "},{label:"LineLegend",type:"keyword",info:"LineLegend[{col , …}, {lbl , …}] generates a legend that associates color col with label lbl .LineL"},{label:"LineOpacity",type:"keyword",info:"System`LineOpacity"},{label:"LineSpacing",type:"keyword",info:"LineSpacing is an option for Style and Cell that specifies the spacing between successive lines of t"},{label:"LineWrapParts",type:"keyword",info:"System`LineWrapParts"},{label:"LinkActivate",type:"keyword",info:"LinkActivate[lnk] activates a WSTP connection, waiting for the program at the other end to respond."},{label:"LinkClose",type:"keyword",info:"LinkClose[link] closes an open WSTP connection. "},{label:"LinkConnect",type:"keyword",info:'LinkConnect["name"] connects to a WSTP link created by another program. '},{label:"LinkConnectedQ",type:"keyword",info:"System`LinkConnectedQ"},{label:"LinkCreate",type:"keyword",info:'LinkCreate["name"] creates a WSTP link with the specified name for another program to connect to. Li'},{label:"LinkError",type:"keyword",info:"LinkError[link] returns error information for link in the form { errorNumber, errorExplanation }."},{label:"LinkFlush",type:"keyword",info:"LinkFlush[link] transmits immediately any locally buffered outgoing expressions."},{label:"LinkFunction",type:"keyword",info:"LinkFunction is an option for GeneralizedLinearModelFit that specifies the link function for the gen"},{label:"LinkHost",type:"keyword",info:"LinkHost is an option for LinkOpen that specifies on what computer a program should be launched or o"},{label:"LinkInterrupt",type:"keyword",info:"LinkInterrupt[link] sends an interrupt to the program at the other end of the specified WSTP connect"},{label:"LinkLaunch",type:"keyword",info:'LinkLaunch["prog"] starts the external program prog and opens a WSTP connection to it. '},{label:"LinkMode",type:"keyword",info:"LinkMode is an option for LinkOpen that specifies how the link is to be established and connected. "},{label:"LinkObject",type:"keyword",info:'LinkObject["name", n , n ] is an object that represents an active WSTP connection for functions such'},{label:"LinkOpen",type:"keyword",info:'LinkOpen["prog"] starts the external program prog and opens a MathLink connection to it.'},{label:"LinkOptions",type:"keyword",info:"System`LinkOptions"},{label:"LinkPatterns",type:"keyword",info:"LinkPatterns[link] gives a list of the patterns for which definitions were set up when the external "},{label:"LinkProtocol",type:"keyword",info:"LinkProtocol is an option to LinkLaunch, Install, and related functions that specifies the underlyin"},{label:"LinkRankCentrality",type:"keyword",info:"LinkRankCentrality[g, Î\\[PlusMinus]] gives the link-rank centralities for edges in the graph g and weight Î\\[PlusMinus].Link"},{label:"LinkRead",type:"keyword",info:"LinkRead[link] reads one expression from the specified WSTP connection. LinkRead[link, h] wraps h ar"},{label:"LinkReadHeld",type:"keyword",info:"LinkReadHeld[link] reads an expression via WSTP from link and returns it wrapped in Hold."},{label:"LinkReadyQ",type:"keyword",info:"LinkReadyQ[link] tests whether there is an expression ready to read from the specified WSTP connecti"},{label:"Links",type:"keyword",info:"Links[] gives a list of all WSTP connections that are currently open. Links[patt] lists only links w"},{label:"LinkService",type:"keyword",info:'LinkService["service", l] is an object that represents an active connection to the WSTP service.'},{label:"LinkWrite",type:"keyword",info:"LinkWrite[link, expr] writes expr to the specified WSTP connection. "},{label:"LinkWriteHeld",type:"keyword",info:"LinkWriteHeld[link, Hold[expr], (flush : True)] writes expr (without the Hold) via WSTP to link (syn"},{label:"LiouvilleLambda",type:"keyword",info:"LiouvilleLambda[n] gives the Liouville function λ(n)."},{label:"List",type:"keyword",info:"{e , e , …} is a list of elements. \n 1 2"},{label:"Listable",type:"keyword",info:"Listable is an attribute that can be assigned to a symbol f to indicate that the function f should a"},{label:"ListAnimate",type:"keyword",info:"ListAnimate[{expr , expr , …}] generates an animation whose frames are the successive expr . ListAni"},{label:"ListContourPlot",type:"keyword",info:"ListContourPlot[{{f , …, f }, …, {f , …, f }}] generates a contour plot from an array of values "},{label:"ListContourPlot3D",type:"keyword",info:"ListContourPlot3D[array] generates a contour plot from a three-dimensional array of values. ListCont"},{label:"ListConvolve",type:"keyword",info:" "},{label:"ListCorrelate",type:"keyword",info:" "},{label:"ListCurvePathPlot",type:"keyword",info:"ListCurvePathPlot[{{x , y }, {x , y }, …}] plots a curve that corresponds to a smooth path through t"},{label:"ListDeconvolve",type:"keyword",info:"ListDeconvolve[ker, list] gives a deconvolution of list using kernel ker."},{label:"ListDensityPlot",type:"keyword",info:"ListDensityPlot[{{f , …, f }, …, {f , …, f }}] generates a smooth density plot from an array of "},{label:"ListDensityPlot3D",type:"keyword",info:"ListDensityPlot3D[array] generates a smooth density plot from an array of values. ListDensityPlot3D["},{label:"Listen",type:"keyword",info:"Listen is a setting for the LinkMode option of LinkOpen. LinkMode->Listen causes a link to be creat"},{label:"ListFormat",type:"keyword",info:"ListFormat is an option to TextString and related functions that determines how lists are formatted."},{label:"ListFourierSequenceTransform",type:"keyword",info:"ListFourierSequenceTransform[list, ω] gives the discrete-time Fourier transform (DTFT) of a list as "},{label:"ListInterpolation",type:"keyword",info:"ListInterpolation[array] constructs an InterpolatingFunction object that represents an approximate f"},{label:"ListLineIntegralConvolutionPlot",type:"keyword",info:"ListLineIntegralConvolutionPlot[{array, image}] generates a line integral convolution plot of image "},{label:"ListLinePlot",type:"keyword",info:"ListLinePlot[{y , y , …}] plots a line through the points {1, y }, {2, y }, ….ListLinePlot[{{x , y }"},{label:"ListLinePlot3D",type:"keyword",info:"ListLinePlot3D[{{x , y , z }, {x , y , z }, …, {x , y , z }}] plots a curve through the 3D points {x"},{label:"ListLogLinearPlot",type:"keyword",info:"ListLogLinearPlot[{y , y , …}] makes a log-linear plot of the y , assumed to correspond to x coordin"},{label:"ListLogLogPlot",type:"keyword",info:"ListLogLogPlot[{y , y , …}] makes a log-log plot of the y , assumed to correspond to x coordinates 1"},{label:"ListLogPlot",type:"keyword",info:"ListLogPlot[{y , y , …}] makes a log plot of the y , assumed to correspond to x coordinates 1, 2, …."},{label:"ListPicker",type:"keyword",info:"ListPicker[list, {val , val , …}] represents a list pane with setting list that can contain possible"},{label:"ListPickerBox",type:"keyword",info:"ListPickerBox[list, {val  lbl , val  lbl , …}] is a low-level box structure that represents a li"},{label:"ListPickerBoxBackground",type:"keyword",info:"System`ListPickerBoxBackground"},{label:"ListPickerBoxOptions",type:"keyword",info:"ListPickerBoxOptions is an option that specifies settings for ListPickerBox objects."},{label:"ListPlay",type:"keyword",info:"ListPlay[{a , a , …}] creates an object that plays as a sound whose amplitude is given by the sequen"},{label:"ListPlot",type:"keyword",info:"ListPlot[{y , …, y }] plots points {1, y }, {2, y }, …. ListPlot[{{x , y }, …, {x , y }}] generates "},{label:"ListPlot3D",type:"keyword",info:"ListPlot3D[{{f , …, f }, …, {f , …, f }}] generates a surface representing an array of height va"},{label:"ListPointPlot3D",type:"keyword",info:"ListPointPlot3D[{{x , y , z }, {x , y , z }, …}] generates a 3D scatter plot of points with coordina"},{label:"ListPolarPlot",type:"keyword",info:"ListPolarPlot[{r , r , …}] plots points equally spaced in angle at radii r .ListPolarPlot[{{θ , r },"},{label:"ListQ",type:"keyword",info:"ListQ[expr] gives True if the head of expr is List, and False otherwise."},{label:"ListSliceContourPlot3D",type:"keyword",info:"ListSliceContourPlot3D[array, surf] generates a contour plot of the three-dimensional array of value"},{label:"ListSliceDensityPlot3D",type:"keyword",info:"ListSliceDensityPlot3D[array, surf] generates a density plot of the three-dimensional array of value"},{label:"ListSliceVectorPlot3D",type:"keyword",info:"ListSliceVectorPlot3D[array, surf] generates a vector plot from a 3D array of vector field values ov"},{label:"ListStepPlot",type:"keyword",info:"ListStepPlot[{y , y , …}] plots the values y , y , … in steps at points 1, 2, ….ListStepPlot[{{x , y"},{label:"ListStreamDensityPlot",type:"keyword",info:"ListStreamDensityPlot[array] generates a stream density plot from a 2D array of vector and scalar fi"},{label:"ListStreamPlot",type:"keyword",info:"ListStreamPlot[array] generates a stream plot from an array of vector field values.ListStreamPlot[{{"},{label:"ListStreamPlot3D",type:"keyword",info:"ListStreamPlot3D[array] plots streamlines for the vector field given as an array of vectors."},{label:"ListSurfacePlot3D",type:"keyword",info:"ListSurfacePlot3D[{{x , y , z }, {x , y , z }, …}] plots a three-dimensional surface constructed to "},{label:"ListVectorDensityPlot",type:"keyword",info:"ListVectorDensityPlot[array] generates a vector plot from a 2D array of vector and scalar field valu"},{label:"ListVectorDisplacementPlot",type:"keyword",info:"ListVectorDisplacementPlot[{{{vx , vy }, …, {vx , vy }}, …, {{vx , vy }, …, {vx , vy }}}] ge"},{label:"ListVectorDisplacementPlot3D",type:"keyword",info:"ListVectorDisplacementPlot3D[{{{vx , vy , vz }, …, {vx , vy , vz }}, …, {{vx , vy , vz }, …"},{label:"ListVectorPlot",type:"keyword",info:"ListVectorPlot[array] generates a vector plot from an array of vector field values.ListVectorPlot[{{"},{label:"ListVectorPlot3D",type:"keyword",info:"ListVectorPlot3D[array] generates a 3D vector plot from a 3D array of vector field values.ListVector"},{label:"ListZTransform",type:"keyword",info:"ListZTransform[list, z] gives the Z transform of list as a function of z.ListZTransform[list, z, k] "},{label:"Literal",type:"keyword",info:"System`Literal"},{label:"LiteralSearch",type:"keyword",info:"System`LiteralSearch"},{label:"LocalAdaptiveBinarize",type:"keyword",info:"LocalAdaptiveBinarize[image, r] creates a binary image from image by replacing values above the mean"},{label:"LocalCache",type:"keyword",info:"LocalCache[CloudObject[uri]] caches a cloud object in a local object.LocalCache[URL[url]] caches the"},{label:"LocalClusteringCoefficient",type:"keyword",info:"LocalClusteringCoefficient[g] gives the list of local clustering coefficients of all vertices in the"},{label:"LocalizeDefinitions",type:"keyword",info:"System`LocalizeDefinitions"},{label:"LocalizeVariables",type:"keyword",info:"LocalizeVariables is an option to Manipulate that determines whether the values of variables associa"},{label:"LocalObject",type:"keyword",info:'LocalObject[] represents a new anonymous local object.LocalObject["file :///…"] represents a local o'},{label:"LocalObjects",type:"keyword",info:"LocalObjects[] gives a list of local objects in your current local base directory.LocalObjects[dir] "},{label:"LocalResponseNormalizationLayer",type:"keyword",info:"LocalResponseNormalizationLayer[] represents a net layer that normalizes its input by averaging acro"},{label:"LocalSubmit",type:"keyword",info:"LocalSubmit[expr] submits a task to evaluate expr in a separate kernel.LocalSubmit[ScheduledTask[exp"},{label:"LocalSymbol",type:"keyword",info:'LocalSymbol["name"] represents a symbol whose value is persistently stored in the local file system.'},{label:"LocalTime",type:"keyword",info:"LocalTime[] gives a DateObject corresponding to the current local time at the current geo location.L"},{label:"LocalTimeZone",type:"keyword",info:"LocalTimeZone[] gives the current time zone for the current geo location.LocalTimeZone[loc] gives th"},{label:"LocationEquivalenceTest",type:"keyword",info:"LocationEquivalenceTest[{data , data , …}] tests whether the means or medians of the data are equal"},{label:"LocationTest",type:"keyword",info:"LocationTest[data] tests whether the mean or median of the data is zero. LocationTest[{data , data }"},{label:"Locator",type:"keyword",info:"Locator[{x, y}] represents a locator object at position {x, y} in a graphic. Locator[Dynamic[pos]] t"},{label:"LocatorAutoCreate",type:"keyword",info:"LocatorAutoCreate is an option for LocatorPane, Manipulate, and related functions that specifies whe"},{label:"LocatorBox",type:"keyword",info:"System`LocatorBox"},{label:"LocatorBoxOptions",type:"keyword",info:"LocatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for LocatorBo"},{label:"LocatorCentering",type:"keyword",info:"System`LocatorCentering"},{label:"LocatorPane",type:"keyword",info:"LocatorPane[{x, y}, back] represents a pane with a locator at position {x, y} and background back.Lo"},{label:"LocatorPaneBox",type:"keyword",info:"System`LocatorPaneBox"},{label:"LocatorPaneBoxOptions",type:"keyword",info:"LocatorPaneBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Locat"},{label:"LocatorRegion",type:"keyword",info:"LocatorRegion is an option for Locator that specifies where the locator object should by default be "},{label:"Locked",type:"keyword",info:"Locked is an attribute that, once assigned, prevents modification of any attributes of a symbol. "},{label:"Log",type:"keyword",info:"Log[z] gives the natural logarithm of z (logarithm to base e). Log[b, z] gives the logarithm to base"},{label:"Log10",type:"keyword",info:"Log10[x] gives the base-10 logarithm of x."},{label:"Log2",type:"keyword",info:"Log2[x] gives the base-2 logarithm of x."},{label:"LogBarnesG",type:"keyword",info:"LogBarnesG[z] gives the logarithm of the Barnes G-function logG(z)."},{label:"LogGamma",type:"keyword",info:"LogGamma[z] gives the logarithm of the gamma function log Γ(z). "},{label:"LogGammaDistribution",type:"keyword",info:"LogGammaDistribution[Î\\[PlusMinus], Î.b2, μ] represents a log-gamma distribution with shape parameters Î\\[PlusMinus] and Î.b2 and "},{label:"LogicalExpand",type:"keyword",info:"LogicalExpand[expr] expands out logical combinations of equations, inequalities, and other functions"},{label:"LogIntegral",type:"keyword",info:"LogIntegral[z] is the logarithmic integral function li(z). "},{label:"LogisticDistribution",type:"keyword",info:"LogisticDistribution[μ, Î.b2] represents a logistic distribution with mean μ and scale parameter Î.b2.Logi"},{label:"LogisticSigmoid",type:"keyword",info:"LogisticSigmoid[z] gives the logistic sigmoid function."},{label:"LogitModelFit",type:"keyword",info:" "},{label:"LogLikelihood",type:"keyword",info:"LogLikelihood[dist, {x , x , …}] gives the log‐likelihood function for observations x , x , … from t"},{label:"LogLinearPlot",type:"keyword",info:"LogLinearPlot[f, {x, x , x }] generates a log-linear plot of f as a function of x from x to x"},{label:"LogLogisticDistribution",type:"keyword",info:"LogLogisticDistribution[Î.b3, σ] represents a log-logistic distribution with shape parameter Î.b3 and scal"},{label:"LogLogPlot",type:"keyword",info:"LogLogPlot[f, {x, x , x }] generates a log-log plot of f as a function of x from x to x . L"},{label:"LogMultinormalDistribution",type:"keyword",info:"LogMultinormalDistribution[μ, Σ] represents a log-multinormal distribution with parameters μ and Σ."},{label:"LogNormalDistribution",type:"keyword",info:"LogNormalDistribution[μ, σ] represents a lognormal distribution derived from a normal distribution w"},{label:"LogPlot",type:"keyword",info:"LogPlot[f, {x, x , x }] generates a log plot of f as a function of x from x to x . LogPlot["},{label:"LogRankTest",type:"keyword",info:"LogRankTest[{data , data , …}] tests for equal hazard rates among the data using a log-rank type te"},{label:"LogSeriesDistribution",type:"keyword",info:"LogSeriesDistribution[θ] represents a logarithmic series distribution with parameter θ."},{label:"LongEqual",type:"keyword",info:"System`LongEqual"},{label:"Longest",type:"keyword",info:"Longest[p] is a pattern object that matches the longest sequence consistent with the pattern p. "},{label:"LongestCommonSequence",type:"keyword",info:"LongestCommonSequence[s , s ] finds the longest sequence of contiguous or disjoint elements common t"},{label:"LongestCommonSequencePositions",type:"keyword",info:"LongestCommonSequencePositions[s , s ] finds the longest sequence of contiguous or disjoint elements"},{label:"LongestCommonSubsequence",type:"keyword",info:"LongestCommonSubsequence[s , s ] finds the longest contiguous subsequence of elements common to the "},{label:"LongestCommonSubsequencePositions",type:"keyword",info:"LongestCommonSubsequencePositions[s , s ] finds the longest contiguous subsequence of elements commo"},{label:"LongestMatch",type:"keyword",info:"LongestMatch[p] is a string pattern object matching the longest sequence of characters consistent wi"},{label:"LongestOrderedSequence",type:"keyword",info:"LongestOrderedSequence[list] finds the longest ordered sequence of contiguous or disjoint elements i"},{label:"LongForm",type:"keyword",info:"LongForm is an option for Information. With LongForm -> True, the full information of a symbol is pr"},{label:"Longitude",type:"keyword",info:"Longitude[pos] gives the longitude in degrees of a geographic position specified by pos.Longitude[po"},{label:"LongLeftArrow",type:"keyword",info:"LongLeftArrow[x, y, …] displays as x âŸ\\[Micro] y âŸ\\[Micro] …."},{label:"LongLeftRightArrow",type:"keyword",info:"LongLeftRightArrow[x, y, …] displays as x âŸ\\[CenterDot] y âŸ\\[CenterDot] …."},{label:"LongRightArrow",type:"keyword",info:"LongRightArrow[x, y, …] displays as x âŸ\\[Paragraph] y âŸ\\[Paragraph] …."},{label:"LongShortTermMemoryLayer",type:"keyword",info:"LongShortTermMemoryLayer[n] represents a trainable recurrent layer that takes a sequence of vectors "},{label:"Lookup",type:"keyword",info:"Lookup[assoc, key] looks up the value associated with key in the association assoc; if the key is no"},{label:"Loopback",type:"keyword",info:"Loopback is a setting for the LinkMode option of LinkOpen. LinkMode->Loopback causes a link to be c"},{label:"LoopFreeGraphQ",type:"keyword",info:"LoopFreeGraphQ[g] yields True if the graph g has no self-loops, and False otherwise."},{label:"Looping",type:"keyword",info:"Looping is an option for VideoStream, AudioStream and related functions to specify the playback loop"},{label:"LossFunction",type:"keyword",info:"LossFunction is an option for NetTrain that specifies how to compare actual and requested outputs fr"},{label:"LowerCaseQ",type:"keyword",info:"LowerCaseQ[string] yields True if all the characters in the string are lowercase letters, and yields"},{label:"LowerLeftArrow",type:"keyword",info:"LowerLeftArrow[x, y, …] displays as x ↙ y ↙ …."},{label:"LowerRightArrow",type:"keyword",info:"LowerRightArrow[x, y, …] displays as x ↘ y ↘ …."},{label:"LowerTriangularize",type:"keyword",info:" "},{label:"LowerTriangularMatrixQ",type:"keyword",info:" "},{label:"LowpassFilter",type:"keyword",info:"LowpassFilter[data, ω ] applies a lowpass filter with a cutoff frequency ω to an array of data.Lowp"},{label:"LQEstimatorGains",type:"keyword",info:"LQEstimatorGains[ssm, {w, v}] gives the optimal estimator gain matrix for the StateSpaceModel ssm, w"},{label:"LQGRegulator",type:"keyword",info:"LQGRegulator[sspec, cvs, wts] gives the optimal output feedback controller for the stochastic system"},{label:"LQOutputRegulatorGains",type:"keyword",info:"LQOutputRegulatorGains[sspec, wts] gives the state feedback gains for the system specification sspec"},{label:"LQRegulatorGains",type:"keyword",info:"LQRegulatorGains[spsec, wts] gives the state feedback gains for the system specification sspec that "},{label:"LUBackSubstitution",type:"keyword",info:"System`LUBackSubstitution"},{label:"LucasL",type:"keyword",info:"LucasL[n] gives the Lucas number L .LucasL[n, x] gives the Lucas polynomial L (x).\n "},{label:"LuccioSamiComponents",type:"keyword",info:"LuccioSamiComponents[g] gives the Luccio–Sami components of the graph g.LuccioSamiComponents[g, {v ,"},{label:"LUDecomposition",type:"keyword",info:"LUDecomposition[m] generates a representation of the LU decomposition of a square matrix m. "},{label:"LunarEclipse",type:"keyword",info:"LunarEclipse[] gives the time of the next lunar eclipse.LunarEclipse[datespec] gives the time for th"},{label:"LUVColor",type:"keyword",info:"LUVColor[l, u, v] represents a color in the LUV color space with lightness l and color components u "},{label:"LyapunovSolve",type:"keyword",info:"LyapunovSolve[a, c] finds a solution x of the matrix Lyapunov equation a . x + x . a   c.LyapunovS"},{label:"LyonsGroupLy",type:"keyword",info:"LyonsGroupLy[] represents the sporadic simple Lyons group Ly."},{label:"MachineID",type:"keyword",info:"MachineID is an option to Encode which specifies the required value of ECMachineID on the computer th"},{label:"MachineName",type:"keyword",info:"MachineName is an option to Encode which specifies the required value of ECMachineName on the compute"},{label:"MachineNumberQ",type:"keyword",info:"MachineNumberQ[expr] returns True if expr is a machine‐precision real or complex number, and returns"},{label:"MachinePrecision",type:"keyword",info:"MachinePrecision is a symbol used to indicate machine‐number precision. "},{label:"MacintoshSystemPageSetup",type:"keyword",info:"System`MacintoshSystemPageSetup"},{label:"Magenta",type:"keyword",info:"Magenta represents the color magenta in graphics or style specifications. "},{label:"Magnification",type:"keyword",info:"Magnification is an option for Style and Cell that specifies what magnification to use for display. "},{label:"Magnify",type:"keyword",info:"Magnify[expr, r] represents an object to be displayed with magnification r. Magnify[expr] displays w"},{label:"MailAddressValidation",type:"keyword",info:"MailAddressValidation is an option for SendMail that specifies whether and how to validate email add"},{label:"MailExecute",type:"keyword",info:"MailExecute[cmd, target] executes the mail command cmd on the target mail server connection, folder,"},{label:"MailFolder",type:"keyword",info:"MailFolder[…] represents a mail folder associated with an active mail server connection."},{label:"MailItem",type:"keyword",info:"MailItem[…] represents an item of mail associated with an active mail server connection."},{label:"MailReceiverFunction",type:"keyword",info:"MailReceiverFunction[fun] represents a mail receiver function that applies fun to any mail message i"},{label:"MailResponseFunction",type:"keyword",info:"MailResponseFunction is an option for MailReceiverFunction that specifies what function to apply to "},{label:"MailSearch",type:"keyword",info:"MailSearch[folder, assoc] searches the specified mail folder for messages with properties matching e"},{label:"MailServerConnect",type:"keyword",info:'MailServerConnect[] connects to your default incoming mail server.MailServerConnect["server"] connec'},{label:"MailServerConnection",type:"keyword",info:"MailServerConnection[…] is a symbolic representation of a connection to an incoming mail server."},{label:"MailSettings",type:"keyword",info:"MailSettings is an option for SendMail and MailServerConnect to specify mail settings."},{label:"MainSolve",type:"keyword",info:"MainSolve[eqns] is the underlying function for transforming systems of equations. Solve and Eliminat"},{label:"MaintainDynamicCaches",type:"keyword",info:"System`MaintainDynamicCaches"},{label:"Majority",type:"keyword",info:"Majority[e , e , …] gives True if the majority of the e are True, and False if the majority are Fal"},{label:"MakeBoxes",type:"keyword",info:"MakeBoxes[expr, form] is the low‐level function used in Wolfram System sessions to convert expressio"},{label:"MakeExpression",type:"keyword",info:"MakeExpression[boxes, form] is the low‐level function used in Wolfram System sessions to construct e"},{label:"MakeRules",type:"keyword",info:"MakeRules is an option to Solve and related functions. With MakeRules -> True, the result is present"},{label:"ManagedLibraryExpressionID",type:"keyword",info:"ManagedLibraryExpressionID[expr] returns the positive integer ID associated with expr if it is a man"},{label:"ManagedLibraryExpressionQ",type:"keyword",info:"ManagedLibraryExpressionQ[expr] returns True if expr is a managed library expression and False other"},{label:"MandelbrotSetBoettcher",type:"keyword",info:"MandelbrotSetBoettcher[z] gives the BÃ\\[Paragraph]ttcher coordinate of z with respect to the Mandelbrot set."},{label:"MandelbrotSetDistance",type:"keyword",info:"MandelbrotSetDistance[c] estimates the distance from c to the nearest point in the Mandelbrot set.Ma"},{label:"MandelbrotSetIterationCount",type:"keyword",info:" 2\nMandelbrot"},{label:"MandelbrotSetMemberQ",type:"keyword",info:"MandelbrotSetMemberQ[z] returns True if z is in the Mandelbrot set, and False otherwise."},{label:"MandelbrotSetPlot",type:"keyword",info:"MandelbrotSetPlot[{z , z }] plots the portion of the Mandelbrot set inside the rectangle with co"},{label:"MangoldtLambda",type:"keyword",info:"MangoldtLambda[n] gives the von Mangoldt function Λ(n)."},{label:"ManhattanDistance",type:"keyword",info:'ManhattanDistance[u, v] gives the Manhattan or "city block" distance between vectors u and v.'},{label:"Manipulate",type:"keyword",info:"Manipulate[expr, {u, u , u }] generates a version of expr with controls added to allow interacti"},{label:"Manipulator",type:"keyword",info:"Manipulator[x] represents a manipulator with setting x in the range 0 to 1. Manipulator[Dynamic[x]] "},{label:"MannedSpaceMissionData",type:"keyword",info:"MannedSpaceMissionData[entity, property] gives the value of the specified property for the manned sp"},{label:"MannWhitneyTest",type:"keyword",info:"MannWhitneyTest[{data , data }] tests whether the medians of data and data are equal.MannWhitneyTe"},{label:"MantissaExponent",type:"keyword",info:"MantissaExponent[x] gives a list containing the mantissa and exponent of a number x. MantissaExponen"},{label:"Manual",type:"keyword",info:"Manual represents an option or other value that is to be selected manually, usually by some form of "},{label:"Map",type:"keyword",info:"Map[f, expr] or f/@expr applies f to each element on the first level in expr. Map[f, expr, levelspec"},{label:"MapAll",type:"keyword",info:"MapAll[f, expr] or f//@expr applies f to every subexpression in expr. "},{label:"MapAt",type:"keyword",info:"MapAt[f, expr, n] applies f to the element at position n in expr. If n is negative, the position is "},{label:"MapIndexed",type:"keyword",info:"MapIndexed[f, expr] applies f to the elements of expr, giving the part specification of each element"},{label:"MAProcess",type:"keyword",info:"MAProcess[{b , …, b }, v] represents a moving-average process of order q with normal white noise var"},{label:"MapThread",type:"keyword",info:"MapThread[f, {{a , a , …}, {b , b , …}, …}] gives {f[a , b , …], f[a , b , …], …}. MapThread[f, {exp"},{label:"MarchenkoPasturDistribution",type:"keyword",info:"MarchenkoPasturDistribution[λ, σ] represents a Marchenko–Pastur distribution with asymptotic ratio λ"},{label:"MarcumQ",type:"keyword",info:"MarcumQ[m, a, b] gives Marcum's Q function Q (a, b).MarcumQ[m, a, b , b ] gives Marcum's Q function "},{label:"MardiaCombinedTest",type:"keyword",info:"MardiaCombinedTest[data] tests whether data follows a MultinormalDistribution using the Mardia combi"},{label:"MardiaKurtosisTest",type:"keyword",info:"MardiaKurtosisTest[data] tests whether data follows a MultinormalDistribution using the Mardia kurto"},{label:"MardiaSkewnessTest",type:"keyword",info:"MardiaSkewnessTest[data] tests whether data follows a MultinormalDistribution using the Mardia skewn"},{label:"MarginalDistribution",type:"keyword",info:" th\nMarginalDist"},{label:"MarkovProcessProperties",type:"keyword",info:"MarkovProcessProperties[mproc] gives a summary of properties for the finite state Markov process mpr"},{label:"Masking",type:"keyword",info:"Masking is an option for various image and signal processing functions that specifies on which regio"},{label:"MassConcentrationCondition",type:"keyword",info:"MassConcentrationCondition[pred, vars, pars] represents a mass concentration boundary condition for "},{label:"MassFluxValue",type:"keyword",info:"MassFluxValue[pred, vars, pars] represents a mass flux boundary condition for PDEs with predicate pr"},{label:"MassImpermeableBoundaryValue",type:"keyword",info:"MassImpermeableBoundaryValue[pred, vars, pars] represents a mass impermeable boundary condition for "},{label:"MassOutflowValue",type:"keyword",info:"MassOutflowValue[pred, vars, pars] represents a mass outflow boundary condition for PDEs with predic"},{label:"MassSymmetryValue",type:"keyword",info:"MassSymmetryValue[pred, vars, pars] represents a mass symmetry boundary condition for PDEs with pred"},{label:"MassTransferValue",type:"keyword",info:"MassTransferValue[pred, vars, pars] represents a mass transfer boundary condition for PDEs with pred"},{label:"MassTransportPDEComponent",type:"keyword",info:"MassTransportPDEComponent[vars, pars] yields a mass transport PDE term with variables vars and param"},{label:"MatchingDissimilarity",type:"keyword",info:"MatchingDissimilarity[u, v] gives the matching dissimilarity between Boolean vectors u and v."},{label:"MatchLocalNameQ",type:"keyword",info:"MatchLocalNameQ is an internal symbol."},{label:"MatchLocalNames",type:"keyword",info:"MatchLocalNames is an option for Trace and related functions that specifies whether symbols such as "},{label:"MatchQ",type:"keyword",info:"MatchQ[expr, form] returns True if the pattern form matches expr, and returns False otherwise.MatchQ"},{label:"Material",type:"keyword",info:"System`Material"},{label:"MaterialShading",type:"keyword",info:'MaterialShading["material"] is a three-dimensional graphics directive specifying that surfaces that '},{label:"MaternPointProcess",type:"keyword",info:" "},{label:"MathematicalFunctionData",type:"keyword",info:"MathematicalFunctionData[entity, property] gives data corresponding to property for the mathematical"},{label:"MathematicaNotation",type:"keyword",info:"System`MathematicaNotation"},{label:"MathieuC",type:"keyword",info:"MathieuC[a, q, z] gives the even Mathieu function with characteristic value a and parameter q. "},{label:"MathieuCharacteristicA",type:"keyword",info:"MathieuCharacteristicA[r, q] gives the characteristic value a for even Mathieu functions with chara"},{label:"MathieuCharacteristicB",type:"keyword",info:"MathieuCharacteristicB[r, q] gives the characteristic value b for odd Mathieu functions with charac"},{label:"MathieuCharacteristicExponent",type:"keyword",info:"MathieuCharacteristicExponent[a, q] gives the characteristic exponent r for Mathieu functions with c"},{label:"MathieuCPrime",type:"keyword",info:"MathieuCPrime[a, q, z] gives the derivative with respect to z of the even Mathieu function with char"},{label:"MathieuGroupM11",type:"keyword",info:"MathieuGroupM11[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM12",type:"keyword",info:"MathieuGroupM12[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM22",type:"keyword",info:"MathieuGroupM22[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM23",type:"keyword",info:"MathieuGroupM23[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM24",type:"keyword",info:"MathieuGroupM24[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuS",type:"keyword",info:"MathieuS[a, q, z] gives the odd Mathieu function with characteristic value a and parameter q. "},{label:"MathieuSPrime",type:"keyword",info:"MathieuSPrime[a, q, z] gives the derivative with respect to z of the odd Mathieu function with chara"},{label:"MathMLForm",type:"keyword",info:"MathMLForm[expr] prints as a MathML form of expr. "},{label:"MathMLText",type:"keyword",info:"System`MathMLText"},{label:"Matrices",type:"keyword",info:"Matrices[{d , d }] represents the domain of matrices of dimensions d ×d .Matrices[{d , d }, dom] rep"},{label:"MatrixExp",type:"keyword",info:"MatrixExp[m] gives the matrix exponential of m. MatrixExp[m, v] gives the matrix exponential of m ap"},{label:"MatrixForm",type:"keyword",info:"MatrixForm[list] prints with the elements of list arranged in a regular array. "},{label:"MatrixFunction",type:"keyword",info:"MatrixFunction[f, m] gives the matrix generated by the scalar function f at the matrix argument m."},{label:"MatrixLog",type:"keyword",info:"MatrixLog[m] gives the matrix logarithm of a matrix m."},{label:"MatrixNormalDistribution",type:"keyword",info:"MatrixNormalDistribution[Σ , Σ ] represents zero mean matrix normal distribution with row covari"},{label:"MatrixPlot",type:"keyword",info:"MatrixPlot[m] generates a plot that gives a visual representation of the values of elements in a mat"},{label:"MatrixPower",type:"keyword",info:" th th\n"},{label:"MatrixPropertyDistribution",type:"keyword",info:"MatrixPropertyDistribution[expr, x  mdist] represents the distribution of the matrix property expr "},{label:"MatrixQ",type:"keyword",info:"MatrixQ[expr] gives True if expr is a list of lists or a two-dimensional SparseArray object that can"},{label:"MatrixRank",type:"keyword",info:"MatrixRank[m] gives the rank of the matrix m. "},{label:"MatrixTDistribution",type:"keyword",info:"MatrixTDistribution[Σ , Σ , ν] represents zero mean matrix t distribution with row covariance ma"},{label:"Max",type:"keyword",info:"Max[x , x , …] yields the numerically largest of the x . Max[{x , x , …}, {y , …}, …] yields the lar"},{label:"MaxBend",type:"keyword",info:"System`MaxBend"},{label:"MaxCellMeasure",type:"keyword",info:"MaxCellMeasure is an option for DiscretizeRegion and related functions that specifies the maximum ce"},{label:"MaxColorDistance",type:"keyword",info:"MaxColorDistance is an option to specify the maximum distance allowed between colors."},{label:"MaxDate",type:"keyword",info:"MaxDate[{date , date , …}] gives the latest date of the date .MaxDate[interval] gives the endpoint o"},{label:"MaxDetect",type:"keyword",info:"MaxDetect[image] gives a binary image in which white pixels correspond to constant extended maxima i"},{label:"MaxDuration",type:"keyword",info:"MaxDuration is an option that specifies the maximum duration for audio playback or capture."},{label:"MaxExtraBandwidths",type:"keyword",info:"MaxExtraBandwidths is an option to SmoothKernelDistribution that controls the behavior outside that "},{label:"MaxExtraConditions",type:"keyword",info:"MaxExtraConditions is an option to Solve and related functions that specifies how many extra equatio"},{label:"MaxFeatureDisplacement",type:"keyword",info:"MaxFeatureDisplacement is an option that specifies the maximum displacement allowed for any feature."},{label:"MaxFeatures",type:"keyword",info:"MaxFeatures is an option that specifies the maximum number of features that will be returned from fe"},{label:"MaxFilter",type:"keyword",info:" "},{label:"MaximalBy",type:"keyword",info:"MaximalBy[{e , e , …}, f] returns a list of the e for which the value of f[e ] is maximal.MaximalBy"},{label:"Maximize",type:"keyword",info:"Maximize[f, x] maximizes f exactly with respect to x.Maximize[f, {x, y, …}] maximizes f exactly with"},{label:"MaxItems",type:"keyword",info:"MaxItems is an option that specifies the maximum number of items to be used or shown."},{label:"MaxIterations",type:"keyword",info:"MaxIterations is an option that specifies the maximum number of iterations that should be tried in v"},{label:"MaxLimit",type:"keyword",info:" * * * "},{label:"MaxMemoryUsed",type:"keyword",info:"MaxMemoryUsed[] gives the maximum number of bytes used to store all data for the current Wolfram Sys"},{label:"MaxMixtureKernels",type:"keyword",info:"MaxMixtureKernels is an option for SmoothKernelDistribution and related functions that specifies the"},{label:"MaxOverlapFraction",type:"keyword",info:"MaxOverlapFraction is an option that specifies the maximum acceptable overlap between different iden"},{label:"MaxPlotPoints",type:"keyword",info:"MaxPlotPoints is an option for plotting functions like ArrayPlot and ListPlot3D that specifies the m"},{label:"MaxPoints",type:"keyword",info:"MaxPoints is an option for NIntegrate specifying the maximum total number of times to sample the int"},{label:"MaxRecursion",type:"keyword",info:"MaxRecursion is an option for functions like NIntegrate and Plot that specifies how many recursive s"},{label:"MaxStableDistribution",type:"keyword",info:"MaxStableDistribution[μ, σ, ξ] represents a generalized maximum extreme value distribution with loca"},{label:"MaxStepFraction",type:"keyword",info:"MaxStepFraction is an option to functions like NDSolve that specifies the maximum fraction of the to"},{label:"MaxSteps",type:"keyword",info:"MaxSteps is an option to functions like NDSolve that specifies the maximum number of steps to take i"},{label:"MaxStepSize",type:"keyword",info:"MaxStepSize is an option to functions like NDSolve that specifies the maximum size of a single step "},{label:"MaxTrainingRounds",type:"keyword",info:"MaxTrainingRounds is an option for NetTrain and related functions that specifies the maximum number "},{label:"MaxValue",type:"keyword",info:"MaxValue[f, x] gives the maximum value of f with respect to x.MaxValue[f, {x, y, …}] gives the maxim"},{label:"MaxwellDistribution",type:"keyword",info:"MaxwellDistribution[σ] represents a Maxwell distribution with scale parameter σ."},{label:"MaxWordGap",type:"keyword",info:"MaxWordGap is an option for SearchAdjustment that specifies the number of words that can occur betwe"},{label:"McLaughlinGroupMcL",type:"keyword",info:"McLaughlinGroupMcL[] represents the sporadic simple McLaughlin group McL."},{label:"Mean",type:"keyword",info:"Mean[list] gives the statistical mean of the elements in list. Mean[dist] gives the mean of the dist"},{label:"MeanAbsoluteLossLayer",type:"keyword",info:'MeanAbsoluteLossLayer[] represents a loss layer that computes the mean absolute loss between the "In'},{label:"MeanAround",type:"keyword",info:"MeanAround[{x , x , x , …}] gives an Around object describing the mean of the x and its uncertainty"},{label:"MeanClusteringCoefficient",type:"keyword",info:"MeanClusteringCoefficient[g] gives the mean clustering coefficient of the graph g.MeanClusteringCoef"},{label:"MeanDegreeConnectivity",type:"keyword",info:"MeanDegreeConnectivity[g] gives a list of k-mean degree connectivity for the graph g for successive "},{label:"MeanDeviation",type:"keyword",info:"MeanDeviation[list] gives the mean absolute deviation from the mean of the elements in list."},{label:"MeanFilter",type:"keyword",info:" "},{label:"MeanGraphDistance",type:"keyword",info:"MeanGraphDistance[g] gives the mean distance between all pairs of vertices in the graph g.MeanGraphD"},{label:"MeanNeighborDegree",type:"keyword",info:"MeanNeighborDegree[g] gives a list of mean neighbor degrees of vertices for the graph g.MeanNeighbor"},{label:"MeanPointDensity",type:"keyword",info:"MeanPointDensity[pdata] estimates the mean point density λ from point data pdata in the observation "},{label:"MeanShift",type:"keyword",info:"MeanShift[list, d] replaces each element in list by the mean of the values of all elements that diff"},{label:"MeanShiftFilter",type:"keyword",info:" "},{label:"MeanSquaredLossLayer",type:"keyword",info:'MeanSquaredLossLayer[] represents a loss layer that computes the mean squared loss between its "Inpu'},{label:"Median",type:"keyword",info:"Median[list] gives the median of the elements in list. Median[dist] gives the median of the distribu"},{label:"MedianDeviation",type:"keyword",info:"MedianDeviation[list] gives the median absolute deviation from the median of the elements in list."},{label:"MedianFilter",type:"keyword",info:" "},{label:"MedicalTestData",type:"keyword",info:"MedicalTestData[entity, property] gives the value of the specified property for the medical test ent"},{label:"Medium",type:"keyword",info:"Medium is a style or option setting that specifies that objects should be medium sized."},{label:"MeijerG",type:"keyword",info:" "},{label:"MeijerGReduce",type:"keyword",info:"MeijerGReduce[expr, x] attempts to reduce expr to a single MeijerG object as a function of x."},{label:"MeixnerDistribution",type:"keyword",info:"MeixnerDistribution[a, b, m, d] represents a Meixner distribution with location parameter m, scale p"},{label:"MellinConvolve",type:"keyword",info:"MellinConvolve[f, g, x, y] gives the Mellin convolution with respect to x of the expressions f and g"},{label:"MellinTransform",type:"keyword",info:"MellinTransform[expr, x, s] gives the Mellin transform of expr.MellinTransform[expr, {x , x , …}, {s"},{label:"MemberQ",type:"keyword",info:"MemberQ[list, form] returns True if an element of list matches form, and False otherwise. MemberQ[li"},{label:"MemoryAvailable",type:"keyword",info:"MemoryAvailable[] gives the estimated number of bytes readily available for storing additional data "},{label:"MemoryConstrained",type:"keyword",info:"MemoryConstrained[expr, b] evaluates expr, stopping if more than b bytes of memory are requested. Me"},{label:"MemoryConstraint",type:"keyword",info:"MemoryConstraint is an option for TestReport and VerificationTest that specifies how much memory (in"},{label:"MemoryInUse",type:"keyword",info:"MemoryInUse[] gives the number of bytes currently being used to store all data in the current Wolfra"},{label:"MengerMesh",type:"keyword",info:" th "},{label:"Menu",type:"keyword",info:"System`Menu"},{label:"MenuAppearance",type:"keyword",info:"System`MenuAppearance"},{label:"MenuCommandKey",type:"keyword",info:"MenuCommandKey is an option for cells that specifies the keyboard shortcut to be associated with a s"},{label:"MenuEvaluator",type:"keyword",info:"System`MenuEvaluator"},{label:"MenuItem",type:"keyword",info:"System`MenuItem"},{label:"MenuList",type:"keyword",info:"System`MenuList"},{label:"MenuPacket",type:"keyword",info:"MenuPacket[integer, string] is a WSTP packet indicating a menu request with title string."},{label:"MenuSortingValue",type:"keyword",info:"MenuSortingValue is an option for cells and notebooks that specifies where a cell style, stylesheet,"},{label:"MenuStyle",type:"keyword",info:"MenuStyle is an option for menu-generating constructs that specifies the style to use in displaying "},{label:"MenuView",type:"keyword",info:" "},{label:"Merge",type:"keyword",info:"Merge[{assoc , assoc , …}, f] merges the associations assoc , using the function f to combine values"},{label:"MergeDifferences",type:"keyword",info:"System`MergeDifferences"},{label:"MergingFunction",type:"keyword",info:"MergingFunction is an option for functions such as PersistentSymbol that specifies a function to app"},{label:"MersennePrimeExponent",type:"keyword",info:" th\nMersennePrimeExponent[n] gives the n Mersenne prime expon"},{label:"MersennePrimeExponentQ",type:"keyword",info:"MersennePrimeExponentQ[n] returns True if n is a Mersenne prime exponent, and False otherwise."},{label:"Mesh",type:"keyword",info:"Mesh is an option for Plot3D, DensityPlot, and other plotting functions that specifies what mesh sho"},{label:"MeshCellCentroid",type:"keyword",info:"MeshCellCentroid is an annotation of MeshRegion and BoundaryMeshRegion objects that gives the centro"},{label:"MeshCellCount",type:"keyword",info:"MeshCellCount[mreg] gives a list {c , c , …} of counts c of cells of dimension d in the mesh region"},{label:"MeshCellHighlight",type:"keyword",info:"MeshCellHighlight is an option and annotation of MeshRegion, BoundaryMeshRegion, and related functio"},{label:"MeshCellIndex",type:"keyword",info:"MeshCellIndex[mreg, d] gives the cell indices for cells of dimension d in the mesh region mreg.MeshC"},{label:"MeshCellLabel",type:"keyword",info:"MeshCellLabel is an option to MeshRegion, BoundaryMeshRegion and related functions that specifies la"},{label:"MeshCellMarker",type:"keyword",info:"MeshCellMarker is an option to MeshRegion and BoundaryMeshRegion that specifies integer markers to a"},{label:"MeshCellMeasure",type:"keyword",info:"MeshCellMeasure is an annotation of MeshRegion and BoundaryMeshRegion objects that gives the measure"},{label:"MeshCellQuality",type:"keyword",info:"MeshCellQuality is an annotation of MeshRegion and BoundaryMeshRegion objects that gives a quality m"},{label:"MeshCells",type:"keyword",info:"MeshCells[mreg, d] gives the cells of dimension d in the mesh region mreg.MeshCells[mreg, cellspec] "},{label:"MeshCellShapeFunction",type:"keyword",info:"MeshCellShapeFunction is an option and annotation for MeshRegion, BoundaryMeshRegion, and related fu"},{label:"MeshCellStyle",type:"keyword",info:"MeshCellStyle is an option and annotation of MeshRegion, BoundaryMeshRegion, and related functions t"},{label:"MeshConnectivityGraph",type:"keyword",info:"MeshConnectivityGraph[mr, 0] gives a graph of points connected by lines.MeshConnectivityGraph[mr, d]"},{label:"MeshCoordinates",type:"keyword",info:"MeshCoordinates[mreg] gives a list of coordinates in the mesh region mreg."},{label:"MeshFunctions",type:"keyword",info:"MeshFunctions is an option for plotting functions that specifies functions to use to determine the p"},{label:"MeshPrimitives",type:"keyword",info:"MeshPrimitives[mreg, d] gives the graphics primitives for cells of dimension d in the mesh region mr"},{label:"MeshQualityGoal",type:"keyword",info:"MeshQualityGoal is an option for DiscretizeRegion and related functions that specifies a mesh cell q"},{label:"MeshRange",type:"keyword",info:"System`MeshRange"},{label:"MeshRefinementFunction",type:"keyword",info:"MeshRefinementFunction is an option for DiscretizeRegion and related functions that specifies a func"},{label:"MeshRegion",type:"keyword",info:"MeshRegion[{p , p , …}, {mcell [{i , …}], mcell [{j , …}], …}] yields a mesh with cells mcell , wher"},{label:"MeshRegionQ",type:"keyword",info:"MeshRegionQ[reg] yields True if the region reg is a valid MeshRegion object and False otherwise."},{label:"MeshShading",type:"keyword",info:"MeshShading is an option for plotting functions that gives lists of colors to use for regions betwee"},{label:"MeshStyle",type:"keyword",info:"MeshStyle is an option for Plot3D, DensityPlot, and other plotting functions that specifies the styl"},{label:"Message",type:"keyword",info:"Message[symbol :: tag] prints the message symbol :: tag unless it has been switched off. Message[sym"},{label:"MessageDialog",type:"keyword",info:"MessageDialog[expr] puts up a standard message dialog that displays expr together with an OK button."},{label:"MessageList",type:"keyword",info:" "},{label:"MessageName",type:"keyword",info:"symbol :: tag is a name for a message. "},{label:"MessageObject",type:"keyword",info:"System`MessageObject"},{label:"MessageOptions",type:"keyword",info:"System`MessageOptions"},{label:"MessagePacket",type:"keyword",info:"MessagePacket[symbol, string] is a WSTP packet containing a Wolfram Language message identifier of t"},{label:"Messages",type:"keyword",info:"Messages[symbol] gives all the messages assigned to a particular symbol. "},{label:"MessagesNotebook",type:"keyword",info:"System`MessagesNotebook"},{label:"MetaCharacters",type:"keyword",info:"MetaCharacters is an option to StringPosition. With MetaCharacters -> None, no strings have special "},{label:"MetaInformation",type:"keyword",info:"MetaInformation is an option giving meta-information for Image, CloudObject, and other objects."},{label:"MeteorShowerData",type:"keyword",info:"MeteorShowerData[entity, property] gives the value of the specified property for the meteor shower e"},{label:"Method",type:"keyword",info:"Method is an option for various algorithm-intensive functions that specifies what internal methods t"},{label:"MethodOptions",type:"keyword",info:"System`MethodOptions"},{label:"MexicanHatWavelet",type:"keyword",info:"MexicanHatWavelet[] represents the Mexican hat wavelet of width 1.MexicanHatWavelet[σ] represents th"},{label:"MeyerWavelet",type:"keyword",info:"MeyerWavelet[] represents the Meyer wavelet of order 3.MeyerWavelet[n] represents the Meyer wavelet "},{label:"Midpoint",type:"keyword",info:"Midpoint[{p , p }] gives the midpoint of the line segment connecting the points p and p .Midpoint[L"},{label:"MIMETypeToFormatList",type:"keyword",info:"MIMETypeToFormatList[] returns lists of file formats corresponding to all registered MIME types.MIME"},{label:"Min",type:"keyword",info:"Min[x , x , …] yields the numerically smallest of the x . Min[{x , x , …}, {y , …}, …] yields the sm"},{label:"MinColorDistance",type:"keyword",info:"MinColorDistance is an option for DominantColors that specifies the minimum distance between returne"},{label:"MinDate",type:"keyword",info:"MinDate[{date , date , …}] gives the earliest date of the date .MinDate[interval] gives the beginnin"},{label:"MinDetect",type:"keyword",info:"MinDetect[image] gives a binary image in which white pixels correspond to constant extended minima i"},{label:"MineralData",type:"keyword",info:"MineralData[entity, property] gives the value of the specified property for the mineral entity.Miner"},{label:"MinFilter",type:"keyword",info:" "},{label:"MinimalBy",type:"keyword",info:"MinimalBy[{e , e , …}, f] returns a list of the e for which the value of f[e ] is minimal.MinimalBy"},{label:"MinimalPolynomial",type:"keyword",info:"MinimalPolynomial[s, x] gives the minimal polynomial in x for which the algebraic number s is a root"},{label:"MinimalStateSpaceModel",type:"keyword",info:"MinimalStateSpaceModel[sys] gives the minimal state-space model of the state-space model sys.Minimal"},{label:"Minimize",type:"keyword",info:"Minimize[f, x] minimizes f exactly with respect to x.Minimize[f, {x, y, …}] minimizes f exactly with"},{label:"MinimumTimeIncrement",type:"keyword",info:"MinimumTimeIncrement[tseries] gives the minimum time increment in the time series tseries."},{label:"MinIntervalSize",type:"keyword",info:"MinIntervalSize is an option for IntervalSlider that specifies the minimum size of the interval duri"},{label:"MinkowskiQuestionMark",type:"keyword",info:"MinkowskiQuestionMark[x] gives Minkowski's question mark function ? (x)."},{label:"MinLimit",type:"keyword",info:" * * * "},{label:"MinMax",type:"keyword",info:"MinMax[list] gives the list {Min[list], Max[list]}.MinMax[list, Î.b4] gives {Min[list] - Î.b4, Max[list] +"},{label:"MinorPlanetData",type:"keyword",info:"MinorPlanetData[entity, property] gives the value of the specified property for the minor planet ent"},{label:"Minors",type:"keyword",info:" th\nMinors[m] gives the minors of"},{label:"MinPointSeparation",type:"keyword",info:"MinPointSeparation is an option for GeoGraphValuePlot that determines when to merge nearby vertices "},{label:"MinRecursion",type:"keyword",info:"MinRecursion is an option for NIntegrate and other numerical functions that use a recursive algorith"},{label:"MinSize",type:"keyword",info:"MinSize is an option of certain BoxForm primitives."},{label:"MinStableDistribution",type:"keyword",info:"MinStableDistribution[μ, σ, ξ] represents a generalized minimum extreme value distribution with loca"},{label:"Minus",type:"keyword",info:"-x is the arithmetic negation of x. "},{label:"MinusPlus",type:"keyword",info:"MinusPlus[x] displays as ∓ x.MinusPlus[x, y, …] displays as x ∓ y ∓ ….\n"},{label:"MinValue",type:"keyword",info:"MinValue[f, x] gives the minimum value of f with respect to x.MinValue[f, {x, y, …}] gives the exact"},{label:"Missing",type:"keyword",info:'Missing[] represents data that is missing.Missing["reason"] specifies a reason for the data\'s being '},{label:"MissingBehavior",type:"keyword",info:"MissingBehavior is an option to Query and related functions that specifies how expressions with head"},{label:"MissingDataMethod",type:"keyword",info:"MissingDataMethod is an option to TemporalData and other functions that controls how to process miss"},{label:"MissingDataRules",type:"keyword",info:"MissingDataRules is an option for SemanticImport and related functions that specifies what should be"},{label:"MissingQ",type:"keyword",info:"MissingQ[expr] gives True if expr has head Missing."},{label:"MissingString",type:"keyword",info:"MissingString is an option for TextString and related functions that indicates how an expression wit"},{label:"MissingStyle",type:"keyword",info:"MissingStyle is an option for GeoRegionValuePlot that specifies how locations with missing data shou"},{label:"MissingValuePattern",type:"keyword",info:"MissingValuePattern is an option for SynthesizeMissingValues to specify which elements are considere"},{label:"MissingValueSynthesis",type:"keyword",info:"MissingValueSynthesis is an option for functions such as Classify that specifies how missing values "},{label:"MittagLefflerE",type:"keyword",info:"MittagLefflerE[Î\\[PlusMinus], z] gives the Mittag–Leffler function E (z).MittagLefflerE[Î\\[PlusMinus], Î.b2, z] gives the gener"},{label:"MixedFractionParts",type:"keyword",info:"MixedFractionParts[expr] gives the list {IntegerPart[expr], FractionalPart[expr]}."},{label:"MixedGraphQ",type:"keyword",info:"MixedGraphQ[g] yields True if the graph g is a mixed graph and False otherwise. "},{label:"MixedMagnitude",type:"keyword",info:"MixedMagnitude[{val , val , …, val }] represents a mixed-magnitude expression consisting of values v"},{label:"MixedRadix",type:"keyword",info:"MixedRadix[{b , …, b }] represents the list of bases of a numerical system in which different digits"},{label:"MixedRadixQuantity",type:"keyword",info:"MixedRadixQuantity[{value , …, value }, {unit , …, unit }] yields a single Quantity expression repre"},{label:"MixedUnit",type:"keyword",info:"MixedUnit[{unit , unit , …, unit }] represents a mixed-unit expression consisting of units unit thr"},{label:"MixtureDistribution",type:"keyword",info:"MixtureDistribution[{w , …, w }, {dist , …, dist }] represents a mixture distribution whose CDF is g"},{label:"Mod",type:"keyword",info:"Mod[m, n] gives the remainder on division of m by n. Mod[m, n, d] uses an offset d. \n"},{label:"Modal",type:"keyword",info:"Modal is an option to functions such as CreateDialog that specifies whether the dialog that is creat"},{label:"Mode",type:"keyword",info:"Mode is an option to Eliminate and related functions that specifies in what sense the equations are "},{label:"Modular",type:"keyword",info:"Modular is a setting for the option Mode in Solve and related functions, which specifies that equati"},{label:"ModularInverse",type:"keyword",info:"ModularInverse[k, n] gives the modular inverse of k modulo n."},{label:"ModularLambda",type:"keyword",info:"ModularLambda[τ] gives the modular lambda elliptic function λ(τ). "},{label:"Module",type:"keyword",info:"Module[{x, y, …}, expr] specifies that occurrences of the symbols x, y, … in expr should be treated "},{label:"Modulus",type:"keyword",info:"Modulus  n is an option that can be given in certain algebraic functions to specify that integers s"},{label:"MoebiusMu",type:"keyword",info:"MoebiusMu[n] gives the MÃ\\[Paragraph]bius function μ(n). "},{label:"Molecule",type:"keyword",info:"Molecule[{atom , atom , …}, {bond , bond , …}] represents a molecule with atoms atom and bonds bond"},{label:"MoleculeAlign",type:"keyword",info:"MoleculeAlign[ref, mol] returns a version of mol that is aligned with reference molecule ref.Molecul"},{label:"MoleculeContainsQ",type:"keyword",info:"MoleculeContainsQ[molecule, patt] returns True if patt is a substructure of molecule, and False othe"},{label:"MoleculeDraw",type:"keyword",info:"MoleculeDraw[] displays a window with interactive tools for drawing a Molecule, and returns the resu"},{label:"MoleculeEquivalentQ",type:"keyword",info:"MoleculeEquivalentQ[mol , mol ] gives True if mol and mol represent equivalent molecules and gives"},{label:"MoleculeFreeQ",type:"keyword",info:"MoleculeFreeQ[molecule, patt] returns True if patt is not a substructure of molecule, and False othe"},{label:"MoleculeGraph",type:"keyword",info:"MoleculeGraph[mol] returns a graph constructed from the molecule mol."},{label:"MoleculeMatchQ",type:"keyword",info:"MoleculeMatchQ[mol, patt] returns True if the Molecule matches the given pattern.MoleculeMatchQ[patt"},{label:"MoleculeMaximumCommonSubstructure",type:"keyword",info:"MoleculeMaximumCommonSubstructure[{mol , mol , …}] returns a molecule pattern representing the large"},{label:"MoleculeModify",type:"keyword",info:'MoleculeModify[mol, "mod"] gives a molecule or list of molecules derived from the molecule mol by ap'},{label:"MoleculeName",type:"keyword",info:"MoleculeName[mol] attempts to return the systematic chemical name for the given molecule.MoleculeNam"},{label:"MoleculePattern",type:"keyword",info:"MoleculePattern[{atom , atom , … }, { bond , bond , … }] represents a molecule pattern with atoms at"},{label:"MoleculePlot",type:"keyword",info:"MoleculePlot[mol] creates a two-dimensional structure diagram of the molecule mol.MoleculePlot[mol, "},{label:"MoleculePlot3D",type:"keyword",info:"MoleculePlot3D[mol] creates a three-dimensional model of the molecule mol.MoleculePlot3D[mol, patt] "},{label:"MoleculeProperty",type:"keyword",info:"MoleculeProperty[pname] represents a property identified by pname for use in MoleculeValue.MoleculeP"},{label:"MoleculeQ",type:"keyword",info:"MoleculeQ[mol] returns True if mol is a valid Molecule expression, and False otherwise."},{label:"MoleculeRecognize",type:"keyword",info:"MoleculeRecognize[image] recognizes a molecule in image and returns it as a Molecule object."},{label:"MoleculeSubstructureCount",type:"keyword",info:"MoleculeSubstructureCount[mol, patt] gives a count of the number of times patt appears as a substruc"},{label:"MoleculeValue",type:"keyword",info:"MoleculeValue[molecule, property] gives the value of the specified property for the given molecule.M"},{label:"Moment",type:"keyword",info:" th th "},{label:"MomentConvert",type:"keyword",info:"MomentConvert[mexpr, form] converts the moment expression mexpr to the specified form. "},{label:"MomentEvaluate",type:"keyword",info:"MomentEvaluate[mexpr, dist] evaluates formal moments in the moment expression mexpr on the distribut"},{label:"MomentGeneratingFunction",type:"keyword",info:"MomentGeneratingFunction[dist, t] gives the moment-generating function for the distribution dist as "},{label:"MomentOfInertia",type:"keyword",info:"MomentOfInertia[reg, pt, v] computes the moment of inertia for the region reg rotating around an axi"},{label:"Monday",type:"keyword",info:"Monday is a day of the week."},{label:"Monitor",type:"keyword",info:"Monitor[expr, mon] generates a temporary monitor cell in which the continually updated current value"},{label:"MonomialList",type:"keyword",info:"MonomialList[poly] gives the list of all monomials in the polynomial poly.MonomialList[poly, {x , x "},{label:"MonomialOrder",type:"keyword",info:"System`MonomialOrder"},{label:"MonsterGroupM",type:"keyword",info:"MonsterGroupM[] represents the sporadic simple monster group M."},{label:"MoonPhase",type:"keyword",info:"MoonPhase[] gives moon phase fraction of illumination for the current date.MoonPhase[datespec] gives"},{label:"MoonPosition",type:"keyword",info:"MoonPosition[] gives the position of the Moon for the current date and location.MoonPosition[datespe"},{label:"MorletWavelet",type:"keyword",info:"MorletWavelet[] represents a Morlet wavelet. "},{label:"MorphologicalBinarize",type:"keyword",info:"MorphologicalBinarize[image, {t , t }] creates a binary image from image by replacing all values abo"},{label:"MorphologicalBranchPoints",type:"keyword",info:"MorphologicalBranchPoints[image] gives a version of a binary image image in which white pixels repre"},{label:"MorphologicalComponents",type:"keyword",info:"MorphologicalComponents[image] gives an array in which each pixel of image is replaced by an integer"},{label:"MorphologicalEulerNumber",type:"keyword",info:"MorphologicalEulerNumber[image] computes the morphological Euler number of regions in a binary image"},{label:"MorphologicalGraph",type:"keyword",info:"MorphologicalGraph[image] gives a graph object that represents the connectivity of the morphological"},{label:"MorphologicalPerimeter",type:"keyword",info:"MorphologicalPerimeter[image] picks out the morphological perimeter of regions of foreground in imag"},{label:"MorphologicalTransform",type:"keyword",info:"MorphologicalTransform[image, f] applies the function f to the 3×3 neighborhood of each pixel in a b"},{label:"MortalityData",type:"keyword",info:"MortalityData[spec] gives the values of all properties for the specified demographic.MortalityData[s"},{label:"Most",type:"keyword",info:"Most[expr] gives expr with the last element removed. "},{label:"MountainData",type:"keyword",info:"MountainData[entity, property] gives the value of the specified property for the mountain entity.Mou"},{label:"MouseAnnotation",type:"keyword",info:"MouseAnnotation[] gives any mouse annotation associated with the expression at the current mouse pos"},{label:"MouseAppearance",type:"keyword",info:"MouseAppearance[expr, graphic] changes the mouse cursor to appear as graphic when the mouse pointer "},{label:"MouseAppearanceTag",type:"keyword",info:"System`MouseAppearanceTag"},{label:"MouseButtons",type:"keyword",info:"MouseButtons[] gives a list of the mouse buttons currently being pressed."},{label:"Mouseover",type:"keyword",info:"Mouseover[expr, over] represents an object that displays as over when the mouse pointer is over it, "},{label:"MousePointerNote",type:"keyword",info:"System`MousePointerNote"},{label:"MousePosition",type:"keyword",info:'MousePosition[] gives the current mouse position in the notebook front end. MousePosition["coords"] '},{label:"MovieData",type:"keyword",info:"MovieData[entity, property] gives the value of the specified property for the movie entity.MovieData"},{label:"MovingAverage",type:"keyword",info:"MovingAverage[list, r] gives the moving average of list, computed by averaging runs of r elements.Mo"},{label:"MovingMap",type:"keyword",info:"MovingMap[f, data, w] applies f to size w windows in the specified data.MovingMap[f, data, wspec] us"},{label:"MovingMedian",type:"keyword",info:"MovingMedian[list, r] gives the moving median of list, computed using spans of r elements."},{label:"MoyalDistribution",type:"keyword",info:"MoyalDistribution[μ, σ] represents a Moyal distribution with location parameter μ and scale paramete"},{label:"MultiaxisArrangement",type:"keyword",info:"MultiaxisArrangement is an option to plotting functions that specifies how multiple axes are arrange"},{label:"Multicolumn",type:"keyword",info:"Multicolumn[list, cols] is an object that formats with the elements of list arranged in a grid with "},{label:"MultiedgeStyle",type:"keyword",info:"MultiedgeStyle is an option for GraphPlot and related functions that specifies how to draw multiple "},{label:"MultigraphQ",type:"keyword",info:"MultigraphQ[g] yields True if the graph g is a multigraph and False otherwise."},{label:"MultilaunchWarning",type:"keyword",info:"MultilaunchWarning is a global option that specifies whether a warning is given when you try to modi"},{label:"MultiLetterItalics",type:"keyword",info:"System`MultiLetterItalics"},{label:"MultiLetterStyle",type:"keyword",info:"System`MultiLetterStyle"},{label:"MultilineFunction",type:"keyword",info:"MultilineFunction is an option for UnderscriptBox and related box objects that specifies what to do "},{label:"Multinomial",type:"keyword",info:"Multinomial[n , n , …] gives the multinomial coefficient (n + n + …) !/(n ! n ! …). \n "},{label:"MultinomialDistribution",type:"keyword",info:"MultinomialDistribution[n, {p , p , …, p }] represents a multinomial distribution with n trials and "},{label:"MultinormalDistribution",type:"keyword",info:"MultinormalDistribution[μ, Σ] represents a multivariate normal (Gaussian) distribution with mean vec"},{label:"MultiplicativeOrder",type:"keyword",info:" "},{label:"Multiplicity",type:"keyword",info:"Multiplicity is an option to Roots. Multiplicity -> n specifies that the multiplicity of each of the"},{label:"MultiplySides",type:"keyword",info:"MultiplySides[rel, x] multiplies each side of the equation or inequality rel by x.MultiplySides[rel "},{label:"Multiselection",type:"keyword",info:"Multiselection is an option to ListPicker that specifies whether multiple values may be selected."},{label:"MultivariateHypergeometricDistribution",type:"keyword",info:"MultivariateHypergeometricDistribution[n, {m , m , …, m }] represents a multivariate hypergeometric "},{label:"MultivariatePoissonDistribution",type:"keyword",info:"MultivariatePoissonDistribution[μ , {μ , μ , …}] represents a multivariate Poisson distribution with"},{label:"MultivariateTDistribution",type:"keyword",info:"MultivariateTDistribution[Σ, ν] represents the multivariate Student t distribution with scale matrix"},{label:"N",type:"keyword",info:"N[expr] gives the numerical value of expr. N[expr, n] attempts to give a result with n‐digit precisi"},{label:"NakagamiDistribution",type:"keyword",info:"NakagamiDistribution[μ, ω] represents a Nakagami distribution with shape parameter μ and spread para"},{label:"NameQ",type:"keyword",info:'NameQ["string"] yields True if there are any symbols whose names match the string pattern given, and'},{label:"Names",type:"keyword",info:'Names["string"] gives a list of the names of symbols that match the string. Names[patt] gives a list'},{label:"NamespaceBox",type:"keyword",info:"System`NamespaceBox"},{label:"NamespaceBoxOptions",type:"keyword",info:"System`NamespaceBoxOptions"},{label:"Nand",type:"keyword",info:"Nand[e , e , …] is the logical NAND function. It evaluates its arguments in order, giving True immed"},{label:"NArgMax",type:"keyword",info:"NArgMax[f, x] gives a position x at which f is numerically maximized.NArgMax[f, {x, y, …}] gives "},{label:"NArgMin",type:"keyword",info:"NArgMin[f, x] gives a position x at which f is numerically minimized.NArgMin[f, {x, y, …}] gives "},{label:"NBernoulliB",type:"keyword",info:" th\nNBernoulliB[n] gives the numerical value of the"},{label:"NBodySimulation",type:"keyword",info:"NBodySimulation[law, {state , …, state }, t] generates a simulation of the motion of a system of n b"},{label:"NBodySimulationData",type:"keyword",info:"NBodySimulationData[data…] represents the result of an n-body simulation."},{label:"NCache",type:"keyword",info:"NCache[x, xn] represents a numeric cache object for a quantity with exact value x and approximate nu"},{label:"NDEigensystem",type:"keyword",info:"NDEigensystem[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues and eig"},{label:"NDEigenvalues",type:"keyword",info:"NDEigenvalues[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues for the"},{label:"NDSolve",type:"keyword",info:"NDSolve[eqns, u, {x, x , x }] finds a numerical solution to the ordinary differential equations "},{label:"NDSolveValue",type:"keyword",info:"NDSolveValue[eqns, expr, {x, x , x }] gives the value of expr with functions determined by a num"},{label:"Nearest",type:"keyword",info:"Nearest[{elem , elem , …}, x] gives the list of elem to which x is nearest. Nearest[{elem  v , el"},{label:"NearestFunction",type:"keyword",info:"NearestFunction[data] represents a function whose values give the elements closest to an element tha"},{label:"NearestMeshCells",type:"keyword",info:"NearestMeshCells[mr, pt] gives the indices for the cells to which the point pt is nearest in the mes"},{label:"NearestNeighborG",type:"keyword",info:"NearestNeighborG[pdata, r] estimates the nearest neighbor function G(r) at radius r in the point dat"},{label:"NearestNeighborGraph",type:"keyword",info:"NearestNeighborGraph[{elem , elem , …}] gives a graph with vertices elem , elem , … and edges connec"},{label:"NearestTo",type:"keyword",info:"NearestTo[x] is an operator form that yields Nearest[elems, x] when applied to a list elems.NearestT"},{label:"NebulaData",type:"keyword",info:"NebulaData[entity, property] gives the value of the specified property for the nebula entity.NebulaD"},{label:"NeedlemanWunschSimilarity",type:"keyword",info:"NeedlemanWunschSimilarity[u, v] gives a number representing the Needleman–Wunsch similarity between "},{label:"Needs",type:"keyword",info:'Needs["context`"] loads an appropriate file if the specified context is not already in ECPackages. Ne'},{label:"Negative",type:"keyword",info:"Negative[x] gives True if x is a negative number. "},{label:"NegativeBinomialDistribution",type:"keyword",info:"NegativeBinomialDistribution[n, p] represents a negative binomial distribution with parameters n and"},{label:"NegativeDefiniteMatrixQ",type:"keyword",info:"NegativeDefiniteMatrixQ[m] gives True if m is explicitly negative definite, and False otherwise."},{label:"NegativeIntegers",type:"keyword",info:"NegativeIntegers represents the domain of strictly negative integers, as in x ∈ NegativeIntegers. "},{label:"NegativelyOrientedPoints",type:"keyword",info:"NegativelyOrientedPoints[{p , p , p , …, p }] tests whether the sequence of points p , p , p , …, p "},{label:"NegativeMultinomialDistribution",type:"keyword",info:"NegativeMultinomialDistribution[n, p] represents a negative multinomial distribution with parameter "},{label:"NegativeRationals",type:"keyword",info:"NegativeRationals represents the domain of strictly negative rational numbers, as in x ∈ NegativeRat"},{label:"NegativeReals",type:"keyword",info:"NegativeReals represents the domain of strictly negative real numbers."},{label:"NegativeSemidefiniteMatrixQ",type:"keyword",info:"NegativeSemidefiniteMatrixQ[m] gives True if m is explicitly negative semidefinite, and False otherw"},{label:"NeighborhoodData",type:"keyword",info:"NeighborhoodData[entity, property] gives the value of the specified property for the neighborhood en"},{label:"NeighborhoodGraph",type:"keyword",info:"NeighborhoodGraph[g, v] gives the graph neighborhood of a vertex v in the graph g.NeighborhoodGraph["},{label:"Nest",type:"keyword",info:"Nest[f, expr, n] gives an expression with f applied n times to expr. "},{label:"NestedGreaterGreater",type:"keyword",info:"NestedGreaterGreater[x, y, …] displays as x ⪢ y ⪢ …."},{label:"NestedLessLess",type:"keyword",info:"NestedLessLess[x, y, …] displays as x ⪡ y ⪡ …."},{label:"NestedScriptRules",type:"keyword",info:"System`NestedScriptRules"},{label:"NestGraph",type:"keyword",info:"NestGraph[f, expr, n] gives the graph obtained by starting with expr and applying f successively n t"},{label:"NestList",type:"keyword",info:"NestList[f, expr, n] gives a list of the results of applying f to expr 0 through n times. "},{label:"NestTree",type:"keyword",info:"NestTree[f, tree] gives the tree obtained by applying f to the data in the leaves of tree and extend"},{label:"NestWhile",type:"keyword",info:"NestWhile[f, expr, test] starts with expr, then repeatedly applies f until applying test to the resu"},{label:"NestWhileList",type:"keyword",info:"NestWhileList[f, expr, test] generates a list of the results of applying f repeatedly, starting with"},{label:"NetAppend",type:"keyword",info:"NetAppend[net, layer] appends a layer or a net onto a NetChain, a layer or a NetGraph with one outpu"},{label:"NetArray",type:"keyword",info:'NetArray[] represents an array in a net.NetArray["name"] uses "name" as an identifier to share the a'},{label:"NetArrayLayer",type:"keyword",info:"NetArrayLayer[] represents a layer that has no input and produces as output a constant array.NetArra"},{label:"NetBidirectionalOperator",type:"keyword",info:"NetBidirectionalOperator[net] represents a net that applies net to a sequence and to its reverse, co"},{label:"NetChain",type:"keyword",info:"NetChain[{layer , layer , …}] specifies a neural net in which the output of layer is connected to t"},{label:"NetDecoder",type:"keyword",info:'NetDecoder["name"] represents a decoder that takes a net representation and decodes it into an expre'},{label:"NetDelete",type:"keyword",info:" th\nNetDelete[net, n] deletes the n layer from a NetChain or NetGr"},{label:"NetDrop",type:"keyword",info:"NetDrop[chain, n] removes the first n layers from a NetChain.NetDrop[chain, -n] removes the last n l"},{label:"NetEncoder",type:"keyword",info:'NetEncoder["name"] represents an encoder that takes a given form of input and encodes it as an array'},{label:"NetEvaluationMode",type:"keyword",info:"NetEvaluationMode is an option that can be given when applying neural net functions to input data, s"},{label:"NetExtract",type:"keyword",info:'NetExtract[layer, "param"] extracts the value of a parameter for the specified net layer.NetExtract['},{label:"NetFlatten",type:"keyword",info:"NetFlatten[net] collapses nested NetChain and NetGraph objects within net.NetFlatten[net, n] collaps"},{label:"NetFoldOperator",type:"keyword",info:"NetFoldOperator[net] represents a net in which net is folded over a sequence of inputs, maintaining "},{label:"NetGANOperator",type:"keyword",info:"NetGANOperator[{generator, discriminator}] represents a network to perform generative adversarial ne"},{label:"NetGraph",type:"keyword",info:"NetGraph[{layer , layer , …}, {m  n , m  n , …}] specifies a neural net defined by a graph in wh"},{label:"NetInformation",type:"keyword",info:'NetInformation[net] gives a report about the neural network net.NetInformation[net, "prop"] gives th'},{label:"NetInitialize",type:"keyword",info:"NetInitialize[net] gives a net in which all uninitialized learnable parameters in net have been give"},{label:"NetInsert",type:"keyword",info:"NetInsert[chain, layer, i] inserts a layer into a NetChain before the layer at position i.NetInsert["},{label:"NetInsertSharedArrays",type:"keyword",info:"NetInsertSharedArrays[net] converts all ordinary arrays in net into NetSharedArray objects.NetInsert"},{label:"NetJoin",type:"keyword",info:"NetJoin[net , net , …] connects a series of NetChain or NetGraph objects to form a single NetChain o"},{label:"NetMapOperator",type:"keyword",info:"NetMapOperator[net] represents a net in which net is mapped over a sequence of inputs to give a sequ"},{label:"NetMapThreadOperator",type:"keyword",info:"NetMapThreadOperator[mapnet] represents a net in which mapnet is mapped over one or more inputs to g"},{label:"NetMeasurements",type:"keyword",info:"NetMeasurements[net, data, measurement] computes the requested measurement for the net evaluated on "},{label:"NetModel",type:"keyword",info:'NetModel["name"] obtains a neural net model with the specified name from the Neural Net Repository. '},{label:"NetNestOperator",type:"keyword",info:"NetNestOperator[net, n] represents a net in which net is applied n times to the input."},{label:"NetPairEmbeddingOperator",type:"keyword",info:"NetPairEmbeddingOperator[net] represents a net that takes a pair of arrays, embeds them into a vecto"},{label:"NetPort",type:"keyword",info:'NetPort["port"] represents the specified input or output port for a complete net.NetPort[{n, "port"}'},{label:"NetPortGradient",type:"keyword",info:'NetPortGradient["port"] represents the gradient of the output of a net with respect to the value of '},{label:"NetPrepend",type:"keyword",info:"NetPrepend[net, layer] prepends a layer or a net onto a NetChain, a layer or a NetGraph with one inp"},{label:"NetRename",type:"keyword",info:'NetRename[net, "old"  "new"] gives a net in which the name old for a layer is replaced with new.Net'},{label:"NetReplace",type:"keyword",info:"NetReplace[net, patt  layer] gives a net in which all layers matching patt are replaced with layer."},{label:"NetReplacePart",type:"keyword",info:'NetReplacePart[layer, "array"  value] replaces an array within a layer, returning a new layer.NetRe'},{label:"NetSharedArray",type:"keyword",info:'NetSharedArray["name"] represents an array in a net that is shared by more than one layer.'},{label:"NetStateObject",type:"keyword",info:"NetStateObject[net] creates an object derived from net that represents a neural net with additional "},{label:"NetTake",type:"keyword",info:"NetTake[net, end] takes only those layers up to end in a NetChain or NetGraph.NetTake[net, {start, e"},{label:"NetTrain",type:"keyword",info:"NetTrain[net, {input  output , input  output , …}] trains the specified neural net by giving the"},{label:"NetTrainResultsObject",type:"keyword",info:"NetTrainResultsObject[…] represents an object generated by NetTrain that contains the trained net an"},{label:"NetUnfold",type:"keyword",info:"NetUnfold[fnet] produces the elementary net of the folded net fnet, exposing the recurrent states."},{label:"NetworkPacketCapture",type:"keyword",info:"NetworkPacketCapture[] creates a temporary interactive interface for capturing information on networ"},{label:"NetworkPacketRecording",type:"keyword",info:"NetworkPacketRecording[t] records information on network packets transmitted or received through all"},{label:"NetworkPacketRecordingDuring",type:"keyword",info:"System`NetworkPacketRecordingDuring"},{label:"NetworkPacketTrace",type:"keyword",info:"NetworkPacketTrace[expr] evaluates expr and returns information on network packets transmitted or re"},{label:"NeumannValue",type:"keyword",info:"NeumannValue[val, pred] represents a Neumann boundary value val, specified on the part of the bounda"},{label:"NevilleThetaC",type:"keyword",info:"NevilleThetaC[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NevilleThetaD",type:"keyword",info:"NevilleThetaD[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NevilleThetaN",type:"keyword",info:"NevilleThetaN[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NevilleThetaS",type:"keyword",info:"NevilleThetaS[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NewPrimitiveStyle",type:"keyword",info:"System`NewPrimitiveStyle"},{label:"NExpectation",type:"keyword",info:"NExpectation[expr, x  dist] gives the numerical expectation of expr under the assumption that x fol"},{label:"Next",type:"keyword",info:"System`Next"},{label:"NextCell",type:"keyword",info:"NextCell[] returns the CellObject corresponding to the cell directly below the currently evaluating "},{label:"NextDate",type:"keyword",info:"NextDate[gran] gives the next occurring date of the specified granularity type gran.NextDate[daytype"},{label:"NextPrime",type:"keyword",info:" th\nNextPrime[x] gives the "},{label:"NextScheduledTaskTime",type:"keyword",info:"NextScheduledTaskTime[obj] gives the next execution time of the scheduled task represented by obj."},{label:"NeymanScottPointProcess",type:"keyword",info:" "},{label:"NHoldAll",type:"keyword",info:"NHoldAll is an attribute which specifies that none of the arguments to a function should be affected"},{label:"NHoldFirst",type:"keyword",info:"NHoldFirst is an attribute which specifies that the first argument to a function should not be affec"},{label:"NHoldRest",type:"keyword",info:"NHoldRest is an attribute which specifies that all but the first argument to a function should not b"},{label:"NicholsGridLines",type:"keyword",info:"NicholsGridLines is an option to NicholsPlot that specifies contours of constant magnitude and const"},{label:"NicholsPlot",type:"keyword",info:"NicholsPlot[lsys] generates a Nichols plot of the transfer function for the system lsys.NicholsPlot["},{label:"NightHemisphere",type:"keyword",info:"NightHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth c"},{label:"NIntegrate",type:"keyword",info:" x "},{label:"NMaximize",type:"keyword",info:"NMaximize[f, x] maximizes f numerically with respect to x.NMaximize[f, {x, y, …}] maximizes f numeri"},{label:"NMaxValue",type:"keyword",info:"NMaxValue[f, x] gives the maximum value of f with respect to x.NMaxValue[f, {x, y, …}] gives the max"},{label:"NMinimize",type:"keyword",info:"NMinimize[f, x] minimizes f numerically with respect to x.NMinimize[f, {x, y, …}] minimizes f numeri"},{label:"NMinValue",type:"keyword",info:"NMinValue[f, x] gives the minimum value of f with respect to x.NMinValue[f, {x, y, …}] gives the min"},{label:"NominalVariables",type:"keyword",info:"NominalVariables is an option for statistical functions such as LinearModelFit that specifies which "},{label:"NonAssociative",type:"keyword",info:"NonAssociative is a symbol that represents a non-associative operator in formatting functions."},{label:"NoncentralBetaDistribution",type:"keyword",info:"NoncentralBetaDistribution[Î\\[PlusMinus], Î.b2, Î.b4] represents a noncentral beta distribution with shape parameters "},{label:"NoncentralChiSquareDistribution",type:"keyword",info:" 2\nNoncentralChiSquareDistribution[ν, "},{label:"NoncentralFRatioDistribution",type:"keyword",info:"NoncentralFRatioDistribution[n, m, λ] represents a noncentral F-ratio distribution with n numerator "},{label:"NoncentralStudentTDistribution",type:"keyword",info:"NoncentralStudentTDistribution[ν, Î.b4] represents a noncentral Student t distribution with ν degrees o"},{label:"NonCommutativeMultiply",type:"keyword",info:"a ** b ** c is a general associative, but non‐commutative, form of multiplication. "},{label:"NonConstants",type:"keyword",info:"NonConstants is an option for D which gives a list of objects to be taken to depend implicitly on th"},{label:"NondimensionalizationTransform",type:"keyword",info:"NondimensionalizationTransform[eq, ovars, fvars] nondimensionalizes eq, replacing original variables"},{label:"None",type:"keyword",info:"None is a setting used for certain options. "},{label:"NoneTrue",type:"keyword",info:"NoneTrue[{e , e , …}, test] yields True if test[e ] is False for all of the e .NoneTrue[expr, test, "},{label:"NonlinearModelFit",type:"keyword",info:"NonlinearModelFit[{y , y , …}, form, {Î.b2 , …}, x] constructs a nonlinear model with structure form th"},{label:"NonlinearStateSpaceModel",type:"keyword",info:"NonlinearStateSpaceModel[{f, g}, x, u] represents the model x ' (t) ï\\[PlusMinus] f(x(t), u(t)), y(t) ï\\[PlusMinus] g(x(t), "},{label:"NonlocalMeansFilter",type:"keyword",info:"NonlocalMeansFilter[image, r] applies a nonlocal means filter to image by comparing a range r neighb"},{label:"NonNegative",type:"keyword",info:"NonNegative[x] gives True if x is a non‐negative number. "},{label:"NonNegativeIntegers",type:"keyword",info:"NonNegativeIntegers represents the domain of non-negative integers, as in x ∈ NonNegativeIntegers. "},{label:"NonNegativeRationals",type:"keyword",info:"NonNegativeRationals represents the domain of non-negative rational numbers, as in x ∈ NonNegativeRa"},{label:"NonNegativeReals",type:"keyword",info:"NonNegativeReals represents the domain of non-negative real numbers."},{label:"NonPositive",type:"keyword",info:"NonPositive[x] gives True if x is a non‐positive number. "},{label:"NonPositiveIntegers",type:"keyword",info:"NonPositiveIntegers represents the domain of non-positive integers, as in x ∈ NonPositiveIntegers. "},{label:"NonPositiveRationals",type:"keyword",info:"NonPositiveRationals represents the domain of non-positive rational numbers, as in x ∈ NonPositiveRa"},{label:"NonPositiveReals",type:"keyword",info:"NonPositiveReals represents the domain of non-positive real numbers."},{label:"Nor",type:"keyword",info:"Nor[e , e , …] is the logical NOR function. It evaluates its arguments in order, giving False immedi"},{label:"NorlundB",type:"keyword",info:" (a) "},{label:"Norm",type:"keyword",info:"Norm[expr] gives the norm of a number, vector, or matrix. Norm[expr, p] gives the p‐norm. \n"},{label:"Normal",type:"keyword",info:"Normal[expr] converts expr to a normal expression from a variety of special forms. Normal[expr, h] c"},{label:"NormalDistribution",type:"keyword",info:"NormalDistribution[μ, σ] represents a normal (Gaussian) distribution with mean μ and standard deviat"},{label:"NormalGrouping",type:"keyword",info:"System`NormalGrouping"},{label:"NormalizationLayer",type:"keyword",info:"NormalizationLayer[] represents a trainable net layer that normalizes its input data across the seco"},{label:"Normalize",type:"keyword",info:"Normalize[v] gives the normalized form of a vector v. Normalize[z] gives the normalized form of a co"},{label:"Normalized",type:"keyword",info:"Normalized is an option that determines whether to test if matrix rows are normalized."},{label:"NormalizedSquaredEuclideanDistance",type:"keyword",info:"NormalizedSquaredEuclideanDistance[u, v] gives the normalized squared Euclidean distance between vec"},{label:"NormalMatrixQ",type:"keyword",info:"NormalMatrixQ[m] gives True if m is an explicitly normal matrix, and False otherwise."},{label:"NormalsFunction",type:"keyword",info:"NormalsFunction is an option for Plot3D and related functions that specifies a function to apply to "},{label:"NormFunction",type:"keyword",info:"NormFunction is an option for functions such as FindFit and NDSolve which gives a function to be min"},{label:"Not",type:"keyword",info:"! expr is the logical NOT function. It gives False if expr is True, and True if it is False. "},{label:"NotCongruent",type:"keyword",info:"NotCongruent[x, y, …] displays as x ≢ y ≢ …."},{label:"NotCupCap",type:"keyword",info:"NotCupCap[x, y, …] displays as x ≭ y ≭ …."},{label:"NotDoubleVerticalBar",type:"keyword",info:"NotDoubleVerticalBar[x, y, …] displays as x ∦ y ∦ …."},{label:"Notebook",type:"keyword",info:"Notebook[{cell , cell , …}] is the low‐level construct that represents a notebook manipulated by the"},{label:"NotebookApply",type:"keyword",info:"NotebookApply[notebook, data] writes data into a notebook at the current selection, replacing the fi"},{label:"NotebookAutoSave",type:"keyword",info:"NotebookAutoSave is a notebook option that specifies whether the notebook should automatically be sa"},{label:"NotebookBrowseDirectory",type:"keyword",info:"NotebookBrowseDirectory is a global option that determines the current working directory."},{label:"NotebookClose",type:"keyword",info:"NotebookClose[notebook] closes the notebook corresponding to the specified notebook object. Notebook"},{label:"NotebookConvertSettings",type:"keyword",info:"NotebookConvertSettings is a global option that specifies settings for converting imported legacy no"},{label:"NotebookCreate",type:"keyword",info:"NotebookCreate[] creates a new open notebook in the front end. NotebookCreate[options] sets up the s"},{label:"NotebookCreateReturnObject",type:"keyword",info:"System`NotebookCreateReturnObject"},{label:"NotebookDefault",type:"keyword",info:"System`NotebookDefault"},{label:"NotebookDelete",type:"keyword",info:"NotebookDelete[notebook] deletes the current selection in the notebook corresponding to the specifie"},{label:"NotebookDirectory",type:"keyword",info:"NotebookDirectory[] gives the directory of the current evaluation notebook. NotebookDirectory[nb] gi"},{label:"NotebookDynamicExpression",type:"keyword",info:"NotebookDynamicExpression is an option for notebooks that specifies an expression to be dynamically "},{label:"NotebookEvaluate",type:"keyword",info:"NotebookEvaluate[notebook] evaluates all the evaluatable cells in notebook."},{label:"NotebookEventActions",type:"keyword",info:"NotebookEventActions is a notebook option that gives a list of actions to perform when specified eve"},{label:"NotebookFileName",type:"keyword",info:"NotebookFileName[] gives the file name of the current evaluation notebook. NotebookFileName[nb] give"},{label:"NotebookFind",type:"keyword",info:"NotebookFind[obj, data] sets the current selection in the specified notebook object to be the next o"},{label:"NotebookFindReturnObject",type:"keyword",info:"System`NotebookFindReturnObject"},{label:"NotebookGet",type:"keyword",info:"NotebookGet[obj] gets the raw expression corresponding to the notebook represented by the notebook o"},{label:"NotebookGetLayoutInformationPacket",type:"keyword",info:"System`NotebookGetLayoutInformationPacket"},{label:"NotebookGetMisspellingsPacket",type:"keyword",info:"System`NotebookGetMisspellingsPacket"},{label:"NotebookImport",type:"keyword",info:"NotebookImport[notebook, style] imports cells with the given cell style from the specified notebook."},{label:"NotebookInformation",type:"keyword",info:"NotebookInformation[] gives a list of properties of the current evaluation notebook.NotebookInformat"},{label:"NotebookInterfaceObject",type:"keyword",info:"System`NotebookInterfaceObject"},{label:"NotebookLocate",type:"keyword",info:'NotebookLocate["tag"] locates all cells with the specified tag in your current input notebook, selec'},{label:"NotebookObject",type:"keyword",info:"NotebookObject[id] is an object that represents an open notebook in the front end. "},{label:"NotebookOpen",type:"keyword",info:'NotebookOpen["name"] opens an existing notebook with the specified name, returning the corresponding'},{label:"NotebookOpenReturnObject",type:"keyword",info:"System`NotebookOpenReturnObject"},{label:"NotebookPath",type:"keyword",info:"NotebookPath is a global option that determines which directories are searched when a specified note"},{label:"NotebookPrint",type:"keyword",info:"NotebookPrint[expr] sends a notebook containing expr to your default printer.NotebookPrint[notebook]"},{label:"NotebookPut",type:"keyword",info:"NotebookPut[expr] creates a notebook corresponding to expr and makes it the currently selected noteb"},{label:"NotebookPutReturnObject",type:"keyword",info:"System`NotebookPutReturnObject"},{label:"NotebookRead",type:"keyword",info:"NotebookRead[notebook] gives the expression corresponding to the current selection in the specified "},{label:"NotebookResetGeneratedCells",type:"keyword",info:"System`NotebookResetGeneratedCells"},{label:"Notebooks",type:"keyword",info:"Notebooks[] gives a list of notebooks currently open in the front end."},{label:"NotebookSave",type:"keyword",info:'NotebookSave[notebook] saves the current version of the specified notebook. NotebookSave[notebook, "'},{label:"NotebookSaveAs",type:"keyword",info:"System`NotebookSaveAs"},{label:"NotebookSelection",type:"keyword",info:"NotebookSelection[] represents the current selection in the current evaluation notebook in the front"},{label:"NotebookSetupLayoutInformationPacket",type:"keyword",info:"System`NotebookSetupLayoutInformationPacket"},{label:"NotebooksMenu",type:"keyword",info:"NotebooksMenu is a global option that specifies which recently opened notebooks are listed under the"},{label:"NotebookTemplate",type:"keyword",info:"NotebookTemplate[nb] yields a TemplateObject that represents a notebook template to be applied using"},{label:"NotebookWrite",type:"keyword",info:"NotebookWrite[notebook, data] writes data into a notebook at the current selection, setting the curr"},{label:"NotElement",type:"keyword",info:"NotElement[x, dom] or x ∉ dom asserts that x is not an element of the domain dom.NotElement[x | … |"},{label:"NotEqualTilde",type:"keyword",info:"NotEqualTilde[x, y, …] displays as x  y  …."},{label:"NotExists",type:"keyword",info:"NotExists[x, y] displays as ∄ y.\n x"},{label:"NotGreater",type:"keyword",info:"NotGreater[x, y, …] displays as x ≯ y ≯ …."},{label:"NotGreaterEqual",type:"keyword",info:"NotGreaterEqual[x, y, …] displays as x â‰\\[PlusMinus] y â‰\\[PlusMinus] …."},{label:"NotGreaterFullEqual",type:"keyword",info:"NotGreaterFullEqual[x, y, …] displays as x ≩ y ≩ …."},{label:"NotGreaterGreater",type:"keyword",info:"NotGreaterGreater[x, y, …] displays as x  y  …."},{label:"NotGreaterLess",type:"keyword",info:"NotGreaterLess[x, y, …] displays as x ≹ y ≹ …."},{label:"NotGreaterSlantEqual",type:"keyword",info:"NotGreaterSlantEqual[x, y, …] displays as x  y  …."},{label:"NotGreaterTilde",type:"keyword",info:"NotGreaterTilde[x, y, …] displays as x â‰\\[Micro] y â‰\\[Micro] …."},{label:"Nothing",type:"keyword",info:"Nothing represents an element of a list that will automatically be removed. Nothing[…] gives Nothing"},{label:"NotHumpDownHump",type:"keyword",info:"NotHumpDownHump[x, y, …] displays as x  y  …."},{label:"NotHumpEqual",type:"keyword",info:"NotHumpEqual[x, y, …] displays as x  y  …."},{label:"NotificationFunction",type:"keyword",info:"NotificationFunction is an option that specifies how notifications should be sent from background ta"},{label:"NotLeftTriangle",type:"keyword",info:"NotLeftTriangle[x, y, …] displays as x ⋪ y ⋪ …."},{label:"NotLeftTriangleBar",type:"keyword",info:"NotLeftTriangleBar[x, y, …] displays as x  y  …."},{label:"NotLeftTriangleEqual",type:"keyword",info:"NotLeftTriangleEqual[x, y, …] displays as x â‹\\[Not] y â‹\\[Not] …."},{label:"NotLess",type:"keyword",info:"NotLess[x, y, …] displays as x ≮ y ≮ …."},{label:"NotLessEqual",type:"keyword",info:"NotLessEqual[x, y, …] displays as x â‰\\[Degree] y â‰\\[Degree] …."},{label:"NotLessFullEqual",type:"keyword",info:"NotLessFullEqual[x, y, …] displays as x ≨ y ≨ …."},{label:"NotLessGreater",type:"keyword",info:"NotLessGreater[x, y, …] displays as x ≸ y ≸ …."},{label:"NotLessLess",type:"keyword",info:"NotLessLess[x, y, …] displays as x  y  …."},{label:"NotLessSlantEqual",type:"keyword",info:"NotLessSlantEqual[x, y, …] displays as x  y  …."},{label:"NotLessTilde",type:"keyword",info:"NotLessTilde[x, y, …] displays as x â‰.b4 y â‰.b4 …."},{label:"NotNestedGreaterGreater",type:"keyword",info:"NotNestedGreaterGreater[x, y, …] displays as x  y  …."},{label:"NotNestedLessLess",type:"keyword",info:"NotNestedLessLess[x, y, …] displays as x  y  …."},{label:"NotPrecedes",type:"keyword",info:"NotPrecedes[x, y, …] displays as x ⊀ y ⊀ …."},{label:"NotPrecedesEqual",type:"keyword",info:"NotPrecedesEqual[x, y, …] displays as x  y  …."},{label:"NotPrecedesSlantEqual",type:"keyword",info:"NotPrecedesSlantEqual[x, y, …] displays as x ⋠ y ⋠ …."},{label:"NotPrecedesTilde",type:"keyword",info:"NotPrecedesTilde[x, y, …] displays as x ⋨ y ⋨ …."},{label:"NotReverseElement",type:"keyword",info:"NotReverseElement[x, y, …] displays as x ∌ y ∌ …."},{label:"NotRightTriangle",type:"keyword",info:"NotRightTriangle[x, y, …] displays as x ⋫ y ⋫ …."},{label:"NotRightTriangleBar",type:"keyword",info:"NotRightTriangleBar[x, y, …] displays as x  y  …."},{label:"NotRightTriangleEqual",type:"keyword",info:"NotRightTriangleEqual[x, y, …] displays as x ⋭ y ⋭ …."},{label:"NotSquareSubset",type:"keyword",info:"NotSquareSubset[x, y, …] displays as x  y  …."},{label:"NotSquareSubsetEqual",type:"keyword",info:"NotSquareSubsetEqual[x, y, …] displays as x ⋢ y ⋢ …."},{label:"NotSquareSuperset",type:"keyword",info:"NotSquareSuperset[x, y, …] displays as x  y  …."},{label:"NotSquareSupersetEqual",type:"keyword",info:"NotSquareSupersetEqual[x, y, …] displays as x ⋣ y ⋣ …."},{label:"NotSubset",type:"keyword",info:"NotSubset[x, y, …] displays as x ⊄ y ⊄ …."},{label:"NotSubsetEqual",type:"keyword",info:"NotSubsetEqual[x, y, …] displays as x ⊈ y ⊈ …."},{label:"NotSucceeds",type:"keyword",info:"NotSucceeds[x, y, …] displays as x ⊁ y ⊁ …."},{label:"NotSucceedsEqual",type:"keyword",info:"NotSucceedsEqual[x, y, …] displays as x  y  …."},{label:"NotSucceedsSlantEqual",type:"keyword",info:"NotSucceedsSlantEqual[x, y, …] displays as x ⋡ y ⋡ …."},{label:"NotSucceedsTilde",type:"keyword",info:"NotSucceedsTilde[x, y, …] displays as x ⋩ y ⋩ …."},{label:"NotSuperset",type:"keyword",info:"NotSuperset[x, y, …] displays as x ⊅ y ⊅ …."},{label:"NotSupersetEqual",type:"keyword",info:"NotSupersetEqual[x, y, …] displays as x ⊉ y ⊉ …."},{label:"NotTilde",type:"keyword",info:"NotTilde[x, y, …] displays as x ≁ y ≁ …."},{label:"NotTildeEqual",type:"keyword",info:"NotTildeEqual[x, y, …] displays as x ≄ y ≄ …."},{label:"NotTildeFullEqual",type:"keyword",info:"NotTildeFullEqual[x, y, …] displays as x ≇ y ≇ …."},{label:"NotTildeTilde",type:"keyword",info:"NotTildeTilde[x, y, …] displays as x ≉ y ≉ …."},{label:"NotVerticalBar",type:"keyword",info:"NotVerticalBar[x, y, …] displays as x  y  …."},{label:"Now",type:"keyword",info:"Now gives a DateObject representing the current moment in time."},{label:"NoWhitespace",type:"keyword",info:"NoWhitespace represents the absence of whitespace between elements in a grammar rules pattern."},{label:"NProbability",type:"keyword",info:"NProbability[pred, x  dist] gives the numerical probability for an event that satisfies the predica"},{label:"NProduct",type:"keyword",info:" i\n "},{label:"NProductFactors",type:"keyword",info:"NProductFactors is an option for NProduct. NProductFactors -> n explicitly includes n factors in the"},{label:"NRoots",type:"keyword",info:"NRoots[lhs == rhs, var] yields a disjunction of equations which represent numerical approximations t"},{label:"NSolve",type:"keyword",info:"NSolve[expr, vars] attempts to find numerical approximations to the solutions of the system expr of "},{label:"NSolveValues",type:"keyword",info:"NSolveValues[expr, vars] attempts to find numerical approximations to the values of vars determined "},{label:"NSum",type:"keyword",info:" i\n "},{label:"NSumTerms",type:"keyword",info:"NSumTerms is an option for NSum. NSumTerms -> n explicitly includes n terms in the sum before extrap"},{label:"NuclearExplosionData",type:"keyword",info:"NuclearExplosionData[entity, property] gives the value of the specified property for the nuclear exp"},{label:"NuclearReactorData",type:"keyword",info:"NuclearReactorData[entity, property] gives the value of the specified property for the nuclear react"},{label:"Null",type:"keyword",info:"Null is a symbol used to indicate the absence of an expression or a result. It is not displayed in o"},{label:"NullRecords",type:"keyword",info:"NullRecords is an option for Read and related functions which specifies whether null records should "},{label:"NullSpace",type:"keyword",info:"NullSpace[m] gives a list of vectors that forms a basis for the null space of the matrix m. "},{label:"NullWords",type:"keyword",info:"NullWords is an option for Read and related functions which specifies whether null words should be t"},{label:"Number",type:"keyword",info:"Number represents an exact integer or an approximate real number in Read. "},{label:"NumberCompose",type:"keyword",info:"NumberCompose[{c , …, c }, {u , …, u }] returns the quantity c u + … + c u .\n 1 "},{label:"NumberDecompose",type:"keyword",info:"NumberDecompose[x, {u , …, u }] returns a list of coefficients {c , …, c } of a decomposition of the"},{label:"NumberDigit",type:"keyword",info:" n "},{label:"NumberExpand",type:"keyword",info:"NumberExpand[x] gives a list of the decimal digits of x multiplied by their corresponding powers of "},{label:"NumberFieldClassNumber",type:"keyword",info:"NumberFieldClassNumber[θ] gives the class number for the algebraic number field ïž.b4[θ] generated by θ."},{label:"NumberFieldDiscriminant",type:"keyword",info:"NumberFieldDiscriminant[a] gives the discriminant of the field ïž.b4[a] generated by the algebraic numbe"},{label:"NumberFieldFundamentalUnits",type:"keyword",info:"NumberFieldFundamentalUnits[a] gives a list of fundamental units for the field ïž.b4[a] generated by the"},{label:"NumberFieldIntegralBasis",type:"keyword",info:"NumberFieldIntegralBasis[a] gives an integral basis for the field ïž.b4[a] generated by the algebraic nu"},{label:"NumberFieldNormRepresentatives",type:"keyword",info:"NumberFieldNormRepresentatives[a, m] gives a list of representatives of classes of algebraic integer"},{label:"NumberFieldRegulator",type:"keyword",info:"NumberFieldRegulator[a] gives the regulator of the field ïž.b4[a] generated by the algebraic number a."},{label:"NumberFieldRootsOfUnity",type:"keyword",info:"NumberFieldRootsOfUnity[a] gives the roots of unity for the field ïž.b4[a] generated by the algebraic nu"},{label:"NumberFieldSignature",type:"keyword",info:"NumberFieldSignature[a] gives the signature of the field ïž.b4[a] generated by the algebraic number a."},{label:"NumberForm",type:"keyword",info:"NumberForm[expr, n] prints with approximate real numbers in expr given to n‐digit precision. NumberF"},{label:"NumberFormat",type:"keyword",info:"NumberFormat is an option for NumberForm and related functions that specifies how the mantissa, base"},{label:"NumberLinePlot",type:"keyword",info:"NumberLinePlot[{v , v , …}] plots the values v on a number line.NumberLinePlot[pred, x] plots a num"},{label:"NumberMarks",type:"keyword",info:"NumberMarks is an option for InputForm and related functions that specifies whether ` marks should b"},{label:"NumberMultiplier",type:"keyword",info:"NumberMultiplier is an option for NumberForm and related functions which gives the string to use as "},{label:"NumberPadding",type:"keyword",info:"NumberPadding is an option for NumberForm and related functions which gives strings to use as paddin"},{label:"NumberPoint",type:"keyword",info:"NumberPoint is an option for NumberForm and related functions that gives the string to use as a deci"},{label:"NumberQ",type:"keyword",info:"NumberQ[expr] gives True if expr is a number, and False otherwise. "},{label:"NumberSeparator",type:"keyword",info:"NumberSeparator is an option for NumberForm and related functions that gives the string to insert at"},{label:"NumberSigns",type:"keyword",info:"NumberSigns is an option for NumberForm and related functions which gives strings to use as signs fo"},{label:"NumberString",type:"keyword",info:"NumberString represents the characters of a number in StringExpression."},{label:"Numerator",type:"keyword",info:"Numerator[expr] gives the numerator of expr. "},{label:"NumeratorDenominator",type:"keyword",info:"NumeratorDenominator[expr] gives the list {Numerator[expr], Denominator[expr]} of expr."},{label:"NumericalOrder",type:"keyword",info:"NumericalOrder[e , e ] gives 1 if e < e , -1 if e > e , 0 if e and e are identical or numericall"},{label:"NumericalSort",type:"keyword",info:"NumericalSort[list] sorts the elements of list into numerical order."},{label:"NumericArray",type:"keyword",info:"NumericArray[array, type] creates a numeric array of the specified type.NumericArray[array, type, me"},{label:"NumericArrayQ",type:"keyword",info:"NumericArrayQ[expr] gives True if expr is a valid NumericArray object, and False otherwise.NumericAr"},{label:"NumericArrayType",type:"keyword",info:"NumericArrayType[array] gives the underlying type of values used for each element in the NumericArra"},{label:"NumericFunction",type:"keyword",info:"NumericFunction is an attribute that can be assigned to a symbol f to indicate that f[arg , arg , …]"},{label:"NumericQ",type:"keyword",info:"NumericQ[expr] gives True if expr is a numeric quantity, and False otherwise. "},{label:"NuttallWindow",type:"keyword",info:"NuttallWindow[x] represents a Nuttall window function of x."},{label:"NValues",type:"keyword",info:"NValues[f] gives a list of transformation rules corresponding to all numerical values (values for N["},{label:"NyquistGridLines",type:"keyword",info:"NyquistGridLines is an option to NyquistPlot that specifies contours of constant magnitude and phase"},{label:"NyquistPlot",type:"keyword",info:"NyquistPlot[lsys] generates a Nyquist plot of the transfer function for the system lsys.NyquistPlot["},{label:"O",type:"keyword",info:" n "},{label:"ObjectExistsQ",type:"keyword",info:"ObjectExistsQ gives True if the object exists and False otherwise."},{label:"ObservabilityGramian",type:"keyword",info:"ObservabilityGramian[ssm] gives the observability Gramian of the state-space model ssm."},{label:"ObservabilityMatrix",type:"keyword",info:"ObservabilityMatrix[ssm] gives the observability matrix of the state-space model ssm."},{label:"ObservableDecomposition",type:"keyword",info:"ObservableDecomposition[sys] yields the observable subsystem of the system sys.ObservableDecompositi"},{label:"ObservableModelQ",type:"keyword",info:"ObservableModelQ[sys] gives True if the system sys is observable, and False otherwise.ObservableMode"},{label:"OceanData",type:"keyword",info:"OceanData[entity, property] gives the value of the specified property for the ocean entity.OceanData"},{label:"Octahedron",type:"keyword",info:"Octahedron[] represents a regular octahedron centered at the origin with unit edge length.Octahedron"},{label:"OddQ",type:"keyword",info:"OddQ[expr] gives True if expr is an odd integer, and False otherwise. "},{label:"Off",type:"keyword",info:'Off[symbol :: tag] switches off a message, so that it is no longer printed. Off["name"] switches off'},{label:"Offset",type:"keyword",info:"Offset[{dx, dy}, position] gives the position of a graphical object obtained by starting at the spec"},{label:"OLEData",type:"keyword",info:"System`OLEData"},{label:"On",type:"keyword",info:'On[symbol :: tag] switches on a message, so that it can be printed. On["name"] switches on a named g'},{label:"ONanGroupON",type:"keyword",info:"ONanGroupON[] represents the sporadic simple O'Nan group O ' N."},{label:"Once",type:"keyword",info:"Once[expr] evaluates expr once in each Wolfram Language session, always returning the result from th"},{label:"OneIdentity",type:"keyword",info:"OneIdentity is an attribute that can be assigned to a symbol f to indicate that f[x], f[f[x]], etc. "},{label:"Opacity",type:"keyword",info:"Opacity[a] is a graphics directive that specifies that graphical objects that follow are to be displ"},{label:"OpacityFunction",type:"keyword",info:"OpacityFunction is an option for graphics functions that specifies a function to apply to determine "},{label:"OpacityFunctionScaling",type:"keyword",info:"OpacityFunctionScaling is an option to visualization functions such as DensityPlot3D that specifies "},{label:"Open",type:"keyword",info:"System`Open"},{label:"OpenAppend",type:"keyword",info:'OpenAppend["file"] opens a file to append output to it, and returns an OutputStream object. '},{label:"Opener",type:"keyword",info:"Opener[x] represents an opener with setting x, displayed as OpenerBox[True] when x is True and Opene"},{label:"OpenerBox",type:"keyword",info:"System`OpenerBox"},{label:"OpenerBoxOptions",type:"keyword",info:"OpenerBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for OpenerBox "},{label:"OpenerView",type:"keyword",info:"OpenerView[{expr , expr }] represents an object which displays as an opener, together with expr if "},{label:"OpenFunctionInspectorPacket",type:"keyword",info:"System`OpenFunctionInspectorPacket"},{label:"Opening",type:"keyword",info:"Opening[image, ker] gives the morphological opening of image with respect to the structuring element"},{label:"OpenRead",type:"keyword",info:'OpenRead["file"] opens a file to read data from, and returns an InputStream object.'},{label:"OpenSpecialOptions",type:"keyword",info:"System`OpenSpecialOptions"},{label:"OpenTemporary",type:"keyword",info:"OpenTemporary[] opens a temporary file to which output can be written, and returns an OutputStream o"},{label:"OpenWrite",type:"keyword",info:'OpenWrite["file"] opens a file to write output to it, and returns an OutputStream object. OpenWrite['},{label:"Operate",type:"keyword",info:"Operate[p, f[x, y]] gives p[f][x, y]. Operate[p, expr, n] applies p at level n in the head of expr. "},{label:"OperatingSystem",type:"keyword",info:"OperatingSystem is an option for file and related operations that specifies the type of operating sy"},{label:"OperatorApplied",type:"keyword",info:"OperatorApplied[f, n] represents an operator form of the function f of n arguments so that OperatorA"},{label:"OptimumFlowData",type:"keyword",info:"OptimumFlowData[…] represents flow data such as generated by FindMaximumFlow, FindMinimumCostFlow, e"},{label:"Optional",type:"keyword",info:"patt : def or Optional[patt, def] is a pattern object that represents an expression of the form patt"},{label:"OptionalElement",type:"keyword",info:"OptionalElement[patt] is a grammar rules pattern object that represents 0 or 1 instances of patt.Opt"},{label:"OptionInspectorSettings",type:"keyword",info:"OptionInspectorSettings is a global option that specifies the display of options in the Option Inspe"},{label:"OptionQ",type:"keyword",info:"OptionQ[e] returns True if e can be considered an option or list of options, and False otherwise."},{label:"Options",type:"keyword",info:"Options[symbol] gives the list of default options assigned to a symbol. Options[expr] gives the opti"},{label:"OptionsPacket",type:"keyword",info:"System`OptionsPacket"},{label:"OptionsPattern",type:"keyword",info:"OptionsPattern[] is a pattern object that represents a collection of options given as rules, where t"},{label:"OptionValue",type:"keyword",info:"OptionValue[name] gives the value of name in options matched by OptionsPattern. OptionValue[f, name]"},{label:"OptionValueBox",type:"keyword",info:"System`OptionValueBox"},{label:"OptionValueBoxOptions",type:"keyword",info:"OptionValueBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Optio"},{label:"Or",type:"keyword",info:"e || e || … is the logical OR function. It evaluates its arguments in order, giving True immediate"},{label:"Orange",type:"keyword",info:"Orange represents the color orange in graphics or style specifications. "},{label:"Order",type:"keyword",info:"Order[expr , expr ] gives 1 if expr is before expr in canonical order, and -1 if expr is after ex"},{label:"OrderDistribution",type:"keyword",info:" th "},{label:"OrderedQ",type:"keyword",info:"OrderedQ[h[e , e , …]] gives True if the e are in canonical order, and False otherwise.OrderedQ[h[e"},{label:"Ordering",type:"keyword",info:"Ordering[list] gives the positions in list at which each successive element of Sort[list] appears. O"},{label:"OrderingBy",type:"keyword",info:"OrderingBy[list, f] gives the positions in list at which each successive element of SortBy[list, f] "},{label:"OrderingLayer",type:"keyword",info:"OrderingLayer[] represents a net layer that effectively applies Ordering to its input. OrderingLayer"},{label:"Orderless",type:"keyword",info:"Orderless is an attribute that can be assigned to a symbol f to indicate that the elements e in exp"},{label:"OrderlessPatternSequence",type:"keyword",info:"OrderlessPatternSequence[p , p , …] is a pattern object that represents a sequence of arguments matc"},{label:"OrnsteinUhlenbeckProcess",type:"keyword",info:"OrnsteinUhlenbeckProcess[μ, σ, θ] represents a stationary Ornstein–Uhlenbeck process with long-term "},{label:"Orthogonalize",type:"keyword",info:"Orthogonalize[{v , v , …}] gives an orthonormal basis found by orthogonalizing the vectors v .Orthog"},{label:"OrthogonalMatrixQ",type:"keyword",info:"OrthogonalMatrixQ[m] gives True if m is an explicitly orthogonal matrix, and False otherwise."},{label:"Out",type:"keyword",info:" th "},{label:"Outer",type:"keyword",info:"Outer[f, list , list , …] gives the generalized outer product of the list , forming all possible com"},{label:"OuterPolygon",type:"keyword",info:"OuterPolygon[poly] gives the outer polygon of the polygon poly."},{label:"OuterPolyhedron",type:"keyword",info:"OuterPolyhedron[poly] gives the outer polyhedron of the polyhedron poly."},{label:"OutputAutoOverwrite",type:"keyword",info:"OutputAutoOverwrite is an option for notebooks that specifies whether the output of a command should"},{label:"OutputControllabilityMatrix",type:"keyword",info:"OutputControllabilityMatrix[ssm] gives the output controllability matrix of the state-space model ss"},{label:"OutputControllableModelQ",type:"keyword",info:"OutputControllableModelQ[ssm] gives True if the state-space model ssm is output controllable, and Fa"},{label:"OutputForm",type:"keyword",info:"OutputForm[expr] prints as a two-dimensional representation of expr using only keyboard characters. "},{label:"OutputFormData",type:"keyword",info:"System`OutputFormData"},{label:"OutputGrouping",type:"keyword",info:"System`OutputGrouping"},{label:"OutputMathEditExpression",type:"keyword",info:"OutputMathEditExpression is an internal symbol used for formatting."},{label:"OutputNamePacket",type:"keyword",info:"OutputNamePacket[string] is a WSTP packet that contains in string the name assigned to the next outp"},{label:"OutputPorts",type:"keyword",info:"OutputPorts is an option to specify the number, names or shapes of output ports for some neural net "},{label:"OutputResponse",type:"keyword",info:"OutputResponse[sys, u, {t, t , t }] gives the numeric output response of systems model sys to th"},{label:"OutputSizeLimit",type:"keyword",info:"OutputSizeLimit is an option for notebooks that specifies the maximum size in bytes of expressions t"},{label:"OutputStream",type:"keyword",info:'OutputStream["name", n] is an object that represents an output stream for functions such as Write. '},{label:"Over",type:"keyword",info:"System`Over"},{label:"OverBar",type:"keyword",info:"OverBar[expr] displays with a bar over expr."},{label:"OverDot",type:"keyword",info:"OverDot[expr] displays with a dot over expr."},{label:"Overflow",type:"keyword",info:"Overflow[] represents a number too large to represent explicitly on your computer system."},{label:"OverHat",type:"keyword",info:"OverHat[expr] displays with a hat over expr."},{label:"Overlaps",type:"keyword",info:"Overlaps is an option to string and sequence functions that specifies how to treat overlapping subst"},{label:"Overlay",type:"keyword",info:"Overlay[{expr , expr , …}] displays as an overlay of all the expr .Overlay[{expr , expr , …}, {i, j,"},{label:"OverlayBox",type:"keyword",info:"System`OverlayBox"},{label:"OverlayBoxOptions",type:"keyword",info:"OverlayBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for OverlayBo"},{label:"OverlayVideo",type:"keyword",info:"OverlayVideo[background, o] gives the result of overlaying o onto a background video or image backgr"},{label:"Overscript",type:"keyword",info:" y\nOverscript[x, y] is an object that formats as x. "},{label:"OverscriptBox",type:"keyword",info:" y\nOverscriptBox[x, y] is the low‐level b"},{label:"OverscriptBoxOptions",type:"keyword",info:"OverscriptBoxOptions is an option that specifies the style and display of OverscriptBox constructs."},{label:"OverTilde",type:"keyword",info:"OverTilde[expr] displays with a tilde over expr."},{label:"OverVector",type:"keyword",info:"OverVector[expr] displays with a right vector over expr."},{label:"OverwriteTarget",type:"keyword",info:"OverwriteTarget is an option for functions like CopyFile that specifies whether to overwrite if targ"},{label:"OwenT",type:"keyword",info:"OwenT[x, a] gives Owen's T function T(x, a)."},{label:"OwnValues",type:"keyword",info:"OwnValues[x] gives a list of transformation rules corresponding to all ownvalues defined for the sym"},{label:"Package",type:"keyword",info:"System`Package"},{label:"PackingMethod",type:"keyword",info:"PackingMethod is an option for GraphPlot and related functions that specifies how disconnected compo"},{label:"PackPaclet",type:"keyword",info:"The experimental function PackPaclet is now obsolete and is superseded by CreatePacletArchive."},{label:"PacletDataRebuild",type:"keyword",info:"PacletDataRebuild[] rescans all the installed paclets to rebuild the internal cache of paclet data."},{label:"PacletDirectoryAdd",type:"keyword",info:"The experimental function PacletDirectoryAdd is now obsolete and is superseded by PacletDirectoryLoa"},{label:"PacletDirectoryLoad",type:"keyword",info:"PacletDirectoryLoad[dir] makes paclets in dir visible in the current session.PacletDirectoryLoad[{di"},{label:"PacletDirectoryRemove",type:"keyword",info:"StringTemplate[The experimental function `1` is now obsolete and is superseded by `2`., PacletDirect"},{label:"PacletDirectoryUnload",type:"keyword",info:"PacletDirectoryUnload[dir] makes paclets in dir no longer visible in the current session.PacletDirec"},{label:"PacletDisable",type:"keyword",info:"PacletDisable[paclet] disables an installed paclet."},{label:"PacletEnable",type:"keyword",info:"PacletEnable[paclet] enables a previously disabled paclet."},{label:"PacletFind",type:"keyword",info:'PacletFind["name"] gives a list of installed paclets that match "name".PacletFind["name"  "version"'},{label:"PacletFindRemote",type:"keyword",info:'PacletFindRemote["name"] gives a list of paclets that match "name" available on known paclet sites.P'},{label:"PacletInformation",type:"keyword",info:'The experimental function PacletInformation is now obsolete. Use Information[PacletObject["pacletnam'},{label:"PacletInstall",type:"keyword",info:"PacletInstall[paclet] installs or updates paclet.PacletInstall[task] waits for completion of the tas"},{label:"PacletInstallSubmit",type:"keyword",info:"PacletInstallSubmit[paclet] asynchronously installs or updates paclet."},{label:"PacletNewerQ",type:"keyword",info:"PacletNewerQ[paclet , paclet ] returns True if paclet has a higher version number than paclet , and"},{label:"PacletObject",type:"keyword",info:"PacletObject[...] is the representation of a paclet in the Wolfram Language."},{label:"PacletObjectQ",type:"keyword",info:"PacletObjectQ[expr] returns True or False depending on whether its argument is a PacletObject expres"},{label:"PacletSite",type:"keyword",info:"PacletSite is an option for PacletInstall and PacletInstallSubmit that specifies the URL of a paclet"},{label:"PacletSiteObject",type:"keyword",info:"PacletSiteObject[assoc] represents a site from which paclets can be automatically downloaded."},{label:"PacletSiteRegister",type:"keyword",info:"PacletSiteRegister[url] registers url as a known paclet site.PacletSiteRegister[url, name] registers"},{label:"PacletSites",type:"keyword",info:"PacletSites[] gives the list of all paclet sites known to your system."},{label:"PacletSiteUnregister",type:"keyword",info:"PacletSiteUnregister[url] removes url from the list of registered paclet sites.PacletSiteUnregister["},{label:"PacletSiteUpdate",type:"keyword",info:"PacletSiteUpdate[site] acquires and caches current information about the available paclets on the gi"},{label:"PacletSymbol",type:"keyword",info:'PacletSymbol[paclet, "sym"] gives the symbol named "sym" in the primary context of paclet.PacletSymb'},{label:"PacletUninstall",type:"keyword",info:"PacletUninstall[paclet] uninstalls a paclet."},{label:"PacletUpdate",type:"keyword",info:"The experimental function PacletUpdate is now obsolete and is superseded by PacletInstall."},{label:"PaddedForm",type:"keyword",info:"PaddedForm[expr, n] prints with all numbers in expr padded to leave room for a total of n digits. Pa"},{label:"Padding",type:"keyword",info:"Padding is an option to various array and image operations that specifies what padding to use when e"},{label:"PaddingLayer",type:"keyword",info:"PaddingLayer[{{m , n }, {m , n }, …}] represents a net layer that pads an input array with m elemen"},{label:"PaddingSize",type:"keyword",info:"PaddingSize is an option in AudioDelay and other functions that specifies the amount of padding."},{label:"PadeApproximant",type:"keyword",info:"PadeApproximant[expr, {x, x , {m, n}}] gives the Padé approximant to expr about the point x = x , wi"},{label:"PadLeft",type:"keyword",info:"PadLeft[list, n] makes a list of length n by padding list with zeros on the left. PadLeft[list, n, x"},{label:"PadRight",type:"keyword",info:"PadRight[list, n] makes a list of length n by padding list with zeros on the right. PadRight[list, n"},{label:"PageBreakAbove",type:"keyword",info:"PageBreakAbove is an option for Cell which specifies whether a page break should be made immediately"},{label:"PageBreakBelow",type:"keyword",info:"PageBreakBelow is an option for Cell which specifies whether a page break should be made immediately"},{label:"PageBreakWithin",type:"keyword",info:"PageBreakWithin is an option for Cell which specifies whether a page break should be allowed within "},{label:"PageFooterLines",type:"keyword",info:"PageFooterLines is an option for notebooks that specifies whether a horizontal line is inserted at t"},{label:"PageFooters",type:"keyword",info:"PageFooters is an option for notebooks that specifies what should be inserted as the footer of each "},{label:"PageHeaderLines",type:"keyword",info:"PageHeaderLines is an option for notebooks that specifies whether a horizontal line is inserted at t"},{label:"PageHeaders",type:"keyword",info:"PageHeaders is an option for notebooks that specifies what should be inserted as the header of each "},{label:"PageHeight",type:"keyword",info:"System`PageHeight"},{label:"PageRankCentrality",type:"keyword",info:"PageRankCentrality[g, Î\\[PlusMinus]] gives a list of page-rank centralities for the vertices in the graph g and "},{label:"PageTheme",type:"keyword",info:"PageTheme is an option for FormObject, GalleryView, and related functions that specifies an overall "},{label:"PageWidth",type:"keyword",info:"PageWidth is an option for output streams and for cells that specifies how wide each line of text is"},{label:"Pagination",type:"keyword",info:"Pagination is an option for GalleryView and related functions that specifies how pagination should b"},{label:"PairCorrelationG",type:"keyword",info:"PairCorrelationG[pdata, r] estimates the pair correlation function g(r) for point data pdata at radi"},{label:"PairedBarChart",type:"keyword",info:"PairedBarChart[{y , y , …}, {z , z , …}] makes a paired bar chart with bar lengths y , y , … and z "},{label:"PairedHistogram",type:"keyword",info:"PairedHistogram[{x , x , …}, {y , y , …}] plots a paired histogram of the values x and y .PairedHis"},{label:"PairedSmoothHistogram",type:"keyword",info:"PairedSmoothHistogram[{x , x , …}, {y , y , …}] plots a paired smooth histogram of the values x and"},{label:"PairedTTest",type:"keyword",info:"PairedTTest[data] tests whether the mean of data is zero. PairedTTest[{data , data }] tests whether "},{label:"PairedZTest",type:"keyword",info:"PairedZTest[data] tests whether the mean of the data is zero. PairedZTest[{data , data }] tests whet"},{label:"PaletteNotebook",type:"keyword",info:"PaletteNotebook[{cell , cell , …}] represents a palette notebook that can be manipulated by the Wolf"},{label:"PalettePath",type:"keyword",info:"PalettePath is a global option that specifies which directories the Wolfram System searches for pale"},{label:"PalindromeQ",type:"keyword",info:"PalindromeQ[list] returns True if the given list is identical to Reverse[list], and False otherwise."},{label:"Pane",type:"keyword",info:"Pane[expr] displays as a pane containing expr. Pane[expr, w] makes the pane be w printer's points wi"},{label:"PaneBox",type:"keyword",info:"System`PaneBox"},{label:"PaneBoxOptions",type:"keyword",info:"PaneBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PaneBox obje"},{label:"Panel",type:"keyword",info:"Panel[expr] displays as a panel containing expr. Panel[expr, title] gives the panel the specified ti"},{label:"PanelBox",type:"keyword",info:"System`PanelBox"},{label:"PanelBoxOptions",type:"keyword",info:"PanelBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PanelBox ob"},{label:"Paneled",type:"keyword",info:"Paneled is an option for Manipulate and related functions that specifies whether to give the output "},{label:"PaneSelector",type:"keyword",info:"PaneSelector[{val  expr , val  expr , …}, x] represents an object that displays as a pane contai"},{label:"PaneSelectorBox",type:"keyword",info:"System`PaneSelectorBox"},{label:"PaneSelectorBoxOptions",type:"keyword",info:"PaneSelectorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Pane"},{label:"PaperWidth",type:"keyword",info:"System`PaperWidth"},{label:"ParabolicCylinderD",type:"keyword",info:"ParabolicCylinderD[ν, z] gives the parabolic cylinder function D (z). \n "},{label:"ParagraphIndent",type:"keyword",info:"ParagraphIndent is an option for Cell which specifies how far in printer's points to indent the firs"},{label:"ParagraphSpacing",type:"keyword",info:"ParagraphSpacing is an option for Cell, StyleBox, and Style that specifies how much extra space to l"},{label:"ParallelArray",type:"keyword",info:"ParallelArray[f, n] generates in parallel a list of length n, with elements f[i], evaluated.Parallel"},{label:"ParallelAxisPlot",type:"keyword",info:"ParallelAxisPlot[{{y , …, y }, …, {y , …, y }}] generates a parallel axis plot for the points {y"},{label:"ParallelCombine",type:"keyword",info:"ParallelCombine[f, h[e , e , …], comb] evaluates f[h[e , e , …]] in parallel by distributing parts o"},{label:"ParallelDo",type:"keyword",info:"ParallelDo[expr, {i }] evaluates expr in parallel i times. ParallelDo[expr, {i, i }] evaluate"},{label:"Parallelepiped",type:"keyword",info:"Parallelepiped[p, {v , …, v }] represents a parallelepiped with origin p and directions v .\n "},{label:"ParallelEvaluate",type:"keyword",info:"ParallelEvaluate[expr] evaluates the expression expr on all available parallel kernels and returns t"},{label:"Parallelization",type:"keyword",info:"Parallelization is an option for Compile that specifies whether it should create a compiled function"},{label:"Parallelize",type:"keyword",info:"Parallelize[expr] evaluates expr using automatic parallelization."},{label:"ParallelMap",type:"keyword",info:"ParallelMap[f, expr] applies f in parallel to each element on the first level in expr.ParallelMap[f,"},{label:"ParallelNeeds",type:"keyword",info:'ParallelNeeds["context`"] evaluates Needs["context`"] on all available parallel kernels.'},{label:"Parallelogram",type:"keyword",info:"Parallelogram[p, {v , v }] represents a parallelogram with origin p and directions v and v .\n "},{label:"ParallelProduct",type:"keyword",info:" "},{label:"ParallelSubmit",type:"keyword",info:"ParallelSubmit[expr] submits expr for evaluation on the next available parallel kernel and returns a"},{label:"ParallelSum",type:"keyword",info:" "},{label:"ParallelTable",type:"keyword",info:"ParallelTable[expr, {i }] generates in parallel a list of i copies of expr.ParallelTable[expr, "},{label:"ParallelTry",type:"keyword",info:"ParallelTry[f, {arg , arg , …}] evaluates f[arg ] in parallel, returning the first result received.P"},{label:"Parameter",type:"keyword",info:"System`Parameter"},{label:"ParameterEstimator",type:"keyword",info:"ParameterEstimator is an option to EstimatedDistribution and FindDistributionParameters that specifi"},{label:"ParameterMixtureDistribution",type:"keyword",info:"ParameterMixtureDistribution[dist[θ], θ  wdist] represents a parameter mixture distribution where t"},{label:"ParameterVariables",type:"keyword",info:"ParameterVariables is an option for GroebnerBasis and PolynomialReduce. These variables will always "},{label:"ParametricConvexOptimization",type:"keyword",info:"ParametricConvexOptimization[f, cons, vars, pars] gives a ParametricFunction object that finds value"},{label:"ParametricFunction",type:"keyword",info:"ParametricFunction[pars, …] represents a function that computes a solution when evaluated with numer"},{label:"ParametricNDSolve",type:"keyword",info:"ParametricNDSolve[eqns, u, {x, x , x }, pars] finds a numerical solution to the ordinary differe"},{label:"ParametricNDSolveValue",type:"keyword",info:"ParametricNDSolveValue[eqns, expr, {x, x , x }, pars] gives the value of expr with functions det"},{label:"ParametricPlot",type:"keyword",info:"ParametricPlot[{f , f }, {u, u , u }] generates a parametric plot of a curve with x and y coordi"},{label:"ParametricPlot3D",type:"keyword",info:"ParametricPlot3D[{f , f , f }, {u, u , u }] produces a three-dimensional space curve parametrize"},{label:"ParametricRampLayer",type:"keyword",info:"ParametricRampLayer[] represents a net layer that computes a leaky ReLU activation with a slope that"},{label:"ParametricRegion",type:"keyword",info:" n\nParametricRegion[{f , …, f }, {"},{label:"ParentBox",type:"keyword",info:"ParentBox[obj] returns the BoxObject that contains obj."},{label:"ParentCell",type:"keyword",info:"ParentCell[obj] returns the CellObject that contains obj."},{label:"ParentConnect",type:"keyword",info:"System`ParentConnect"},{label:"ParentDirectory",type:"keyword",info:'ParentDirectory[] gives the parent of the current working directory. ParentDirectory["dir"] gives th'},{label:"ParentForm",type:"keyword",info:"ParentForm sets the parent form for a boxes format."},{label:"Parenthesize",type:"keyword",info:"Parenthesize[ expr, fmt, prec, group] or Parenthesize[ expr, fmt, {prec, group}] will represent expr"},{label:"ParentList",type:"keyword",info:"System`ParentList"},{label:"ParentNotebook",type:"keyword",info:"ParentNotebook[obj] returns the NotebookObject that contains obj."},{label:"ParetoDistribution",type:"keyword",info:"ParetoDistribution[k, Î\\[PlusMinus]] represents a Pareto distribution with minimum value parameter k and shape p"},{label:"ParetoPickandsDistribution",type:"keyword",info:"ParetoPickandsDistribution[μ, σ, ξ] gives a Pareto–Pickands distribution with location parameter μ, "},{label:"ParkData",type:"keyword",info:"ParkData[entity, property] gives the value of the specified property for the park entity.ParkData[{e"},{label:"Part",type:"keyword",info:" th\nexpr[[i]] or Part[expr, i] gives the i part of expr. ex"},{label:"PartBehavior",type:"keyword",info:"PartBehavior is an option to Query and related functions that specifies how nonexistent parts should"},{label:"PartialCorrelationFunction",type:"keyword",info:"PartialCorrelationFunction[data, hspec] estimates the partial correlation function at lags hspec fro"},{label:"PartialD",type:"keyword",info:"System`PartialD"},{label:"ParticleAcceleratorData",type:"keyword",info:"ParticleAcceleratorData[entity, property] gives the value of the specified property for the particle"},{label:"ParticleData",type:"keyword",info:'ParticleData[name, "property"] gives the specified property for a subatomic particle or family of pa'},{label:"Partition",type:"keyword",info:"Partition[list, n] partitions list into nonoverlapping sublists of length n. Partition[list, n, d] g"},{label:"PartitionGranularity",type:"keyword",info:"PartitionGranularity is an option for audio analysis functions that specifies the partitioning of th"},{label:"PartitionsP",type:"keyword",info:"PartitionsP[n] gives the number p (n) of unrestricted partitions of the integer n. "},{label:"PartitionsQ",type:"keyword",info:"PartitionsQ[n] gives the number q (n) of partitions of the integer n into distinct parts. "},{label:"PartLayer",type:"keyword",info:" th\nPartLayer[i] represents a net layer that giv"},{label:"PartOfSpeech",type:"keyword",info:'PartOfSpeech["word"] returns the possible parts of speech for the specified word.'},{label:"PartProtection",type:"keyword",info:"PartProtection is an option for cloud expressions that controls which parts of their structure can b"},{label:"ParzenWindow",type:"keyword",info:"ParzenWindow[x] represents a Parzen window function of x."},{label:"PascalDistribution",type:"keyword",info:"PascalDistribution[n, p] represents a Pascal distribution with parameters n and p."},{label:"EventHandler",type:"keyword",info:"EventHandler[ev_String | _EventObject, {handlers___Rule | handlers___RuleDelayed}] ev_ binds an event object represented as a string or EventObject or anything compatible with this type to a single or multiple handling functions (multiple - only if patterns do not intersect). Returns an original event-object ev"},{label:"PassEventsDown",type:"keyword",info:"PassEventsDown is an option to EventHandler which specifies whether events handled by a particular e"},{label:"PassEventsUp",type:"keyword",info:"PassEventsUp is an option to EventHandler that specifies whether events handled by a particular even"},{label:"Paste",type:"keyword",info:"Paste[expr] pastes expr at the current insertion point in the input notebook. Paste[notebook, expr] "},{label:"PasteAutoQuoteCharacters",type:"keyword",info:"System`PasteAutoQuoteCharacters"},{label:"PasteBoxFormInlineCells",type:"keyword",info:"PasteBoxFormInlineCells is an option for cells that specifies whether a new inline cell is created w"},{label:"PasteButton",type:"keyword",info:"PasteButton[expr] represents a button that pastes expr whenever it is pressed. PasteButton[label, ex"},{label:"Path",type:"keyword",info:"Path is an option for Get and related functions which gives a list of directories to search in attem"},{label:"PathGraph",type:"keyword",info:"PathGraph[{v , v , …}] yields a path with vertices v and edges between v and v .PathGraph[{e"},{label:"PathGraphQ",type:"keyword",info:"PathGraphQ[g] yields True if the graph g is a path and False otherwise."},{label:"Pattern",type:"keyword",info:"sym : obj or Pattern[sym, obj] represents the pattern object obj, assigned the name sym. "},{label:"PatternFilling",type:"keyword",info:"PatternFilling[obj] is a two-dimensional graphics directive specifying that obj should be used to fi"},{label:"PatternSequence",type:"keyword",info:"PatternSequence[p , p , …] is a pattern object that represents a sequence of arguments matching p , "},{label:"PatternTest",type:"keyword",info:"p ? test is a pattern object that stands for any expression that matches p, and on which the applica"},{label:"PauliMatrix",type:"keyword",info:" th\nPauliMatrix[k] gives the k Pauli spin matrix σ .\n "},{label:"PaulWavelet",type:"keyword",info:"PaulWavelet[] represents a Paul wavelet of order 4.PaulWavelet[n] represents a Paul wavelet of order"},{label:"Pause",type:"keyword",info:"Pause[n] pauses for at least n seconds. "},{label:"PausedTime",type:"keyword",info:"System`PausedTime"},{label:"PDF",type:"keyword",info:"PDF[dist, x] gives the probability density function for the distribution dist evaluated at x.PDF[dis"},{label:"PeakDetect",type:"keyword",info:"PeakDetect[list] gives a binary list in which 1s correspond to peak positions in list.PeakDetect[lis"},{label:"PeanoCurve",type:"keyword",info:" th\nPeanoCurve[n] gives the line segments re"},{label:"PearsonChiSquareTest",type:"keyword",info:" 2 "},{label:"PearsonCorrelationTest",type:"keyword",info:"PearsonCorrelationTest[v , v ] tests whether the vectors v and v are linearly independent.PearsonC"},{label:"PearsonDistribution",type:"keyword",info:"PearsonDistribution[a , a , b , b , b ] represents a distribution of the Pearson family with paramet"},{label:"PenttinenPointProcess",type:"keyword",info:" "},{label:"PercentForm",type:"keyword",info:"PercentForm[expr] prints with numbers in expr given as percentages.PercentForm[expr, n] prints with "},{label:"PerfectNumber",type:"keyword",info:" th\nPerfectNumber[n] gives the n perfect number."},{label:"PerfectNumberQ",type:"keyword",info:"PerfectNumberQ[n] returns True if n is a perfect number, and False otherwise."},{label:"PerformanceGoal",type:"keyword",info:"PerformanceGoal is an option for various algorithmic and presentational functions that specifies wha"},{label:"Perimeter",type:"keyword",info:"Perimeter[reg] gives the perimeter of the two-dimensional region reg.Perimeter[{x , x }, {s, s , s"},{label:"PeriodicBoundaryCondition",type:"keyword",info:"PeriodicBoundaryCondition[u[x , …], pred, f] represents a periodic boundary condition = u(x ) ="},{label:"PeriodicInterpolation",type:"keyword",info:"System`PeriodicInterpolation"},{label:"Periodogram",type:"keyword",info:"Periodogram[list] plots the squared magnitude of the discrete Fourier transform (power spectrum) of "},{label:"PeriodogramArray",type:"keyword",info:"PeriodogramArray[list] returns the squared magnitude of the discrete Fourier transform (power spectr"},{label:"Permanent",type:"keyword",info:"Permanent[m] gives the permanent of the square matrix m. "},{label:"Permissions",type:"keyword",info:"Permissions is an option for CloudObject and related cloud functions that specifies permissions for "},{label:"PermissionsGroup",type:"keyword",info:'PermissionsGroup["name"] represents a permissions group with the specified name, owned by the curren'},{label:"PermissionsGroupMemberQ",type:"keyword",info:"PermissionsGroupMemberQ[group, user] returns True if user is a member of the permissions group group"},{label:"PermissionsGroups",type:"keyword",info:"PermissionsGroups[] gives a list of permissions groups belonging to the current user."},{label:"PermissionsKey",type:"keyword",info:'PermissionsKey["key"] represents a permissions key that can be used to authorize access to cloud res'},{label:"PermissionsKeys",type:"keyword",info:"PermissionsKeys[] gives a list of all valid permissions keys created by the currently authenticated "},{label:"PermutationCycles",type:"keyword",info:"PermutationCycles[perm] gives a disjoint cycle representation of permutation perm."},{label:"PermutationCyclesQ",type:"keyword",info:"PermutationCyclesQ[expr] returns True if expr is a permutation in disjoint cyclic form, and False ot"},{label:"PermutationGroup",type:"keyword",info:"PermutationGroup[{perm , …, perm }] represents the group generated by multiplication of the permutat"},{label:"PermutationLength",type:"keyword",info:"PermutationLength[perm] returns the number of integers moved by the permutation perm."},{label:"PermutationList",type:"keyword",info:"PermutationList[perm] returns a permutation list representation of permutation perm.PermutationList["},{label:"PermutationListQ",type:"keyword",info:"PermutationListQ[expr] returns True if expr is a valid permutation list and False otherwise."},{label:"PermutationMax",type:"keyword",info:"PermutationMax[perm] returns the largest integer moved by the permutation perm."},{label:"PermutationMin",type:"keyword",info:"PermutationMin[perm] returns the smallest integer moved by the permutation perm."},{label:"PermutationOrder",type:"keyword",info:"PermutationOrder[perm] gives the order of permutation perm."},{label:"PermutationPower",type:"keyword",info:" th\nPermutationPower[perm, n] gives the n permutation power "},{label:"PermutationProduct",type:"keyword",info:"PermutationProduct[a, b, c] gives the product of permutations a, b, c."},{label:"PermutationReplace",type:"keyword",info:"PermutationReplace[expr, perm] replaces each part in expr by its image under the permutation perm.Pe"},{label:"Permutations",type:"keyword",info:"Permutations[list] generates a list of all possible permutations of the elements in list. Permutatio"},{label:"PermutationSupport",type:"keyword",info:"PermutationSupport[perm] returns the support of the permutation perm."},{label:"Permute",type:"keyword",info:"Permute[expr, perm] permutes the positions of the elements of expr according to the permutation perm"},{label:"PeronaMalikFilter",type:"keyword",info:"PeronaMalikFilter[image] applies a Perona–Malik diffusion filter to image.PeronaMalikFilter[image, t"},{label:"Perpendicular",type:"keyword",info:"System`Perpendicular"},{label:"PerpendicularBisector",type:"keyword",info:"PerpendicularBisector[{p , p }] gives the perpendicular bisector of the line segment connecting p a"},{label:"PersistenceLocation",type:"keyword",info:'PersistenceLocation["type"] represents a persistence location of the given type.PersistenceLocation['},{label:"PersistenceTime",type:"keyword",info:"PersistenceTime is an option for various functions that specifies when a persistent value should be "},{label:"PersistentObject",type:"keyword",info:'PersistentObject["name", loc] represents a persistent object stored at persistence location loc.'},{label:"PersistentObjects",type:"keyword",info:"PersistentObjects[] gives all persistent objects in all locations in ECPersistencePath.PersistentObje"},{label:"PersistentSymbol",type:"keyword",info:'PersistentSymbol["name"] represents the persistent symbol associated with the key "name".PersistentS'},{label:"PersistentValue",type:"keyword",info:'PersistentValue["name"] represents the persistent value associated with the key "name".PersistentVal'},{label:"PersonData",type:"keyword",info:"PersonData[entity, property] gives the value of the specified property for the person entity.PersonD"},{label:"PERTDistribution",type:"keyword",info:"PERTDistribution[{min, max}, c] represents a PERT distribution with range min to max and mode at c.P"},{label:"PetersenGraph",type:"keyword",info:"PetersenGraph[n, k] gives the generalized Petersen graph P .\n "},{label:"PhaseMargins",type:"keyword",info:"PhaseMargins[lsys] gives the phase margins of the linear time-invariant system lsys."},{label:"PhaseRange",type:"keyword",info:"PhaseRange is an option to BodePlot and NicholsPlot that specifies the phase range."},{label:"PhysicalSystemData",type:"keyword",info:"PhysicalSystemData[entity, property] gives the value of the specified property for the physical syst"},{label:"Pi",type:"keyword",info:"Pi is π, with numerical value ≃ 3.14159. "},{label:"Pick",type:"keyword",info:"Pick[list, sel] picks out those elements of list for which the corresponding element of sel is True."},{label:"PickedElements",type:"keyword",info:"System`PickedElements"},{label:"PickMode",type:"keyword",info:"System`PickMode"},{label:"PIDData",type:"keyword",info:"PIDData[…] represents PID data generated by PIDTune function."},{label:"PIDDerivativeFilter",type:"keyword",info:"PIDDerivativeFilter is an option to PIDTune that controls the filtering used for derivative terms."},{label:"PIDFeedforward",type:"keyword",info:"PIDFeedforward is an option to PIDTune that controls the reference weights used for the feedforward "},{label:"PIDTune",type:"keyword",info:'PIDTune[sys] gives a feedback PID controller for the system sys. PIDTune[sys, "carch"] gives a contr'},{label:"Piecewise",type:"keyword",info:"Piecewise[{{val , cond }, {val , cond }, …}] represents a piecewise function with values val in the"},{label:"PiecewiseExpand",type:"keyword",info:"PiecewiseExpand[expr] expands nested piecewise functions in expr to give a single piecewise function"},{label:"PieChart",type:"keyword",info:"PieChart[{y , y , …, y }] makes a pie chart with sector angle proportional to y , y , ….PieChart[{…,"},{label:"PieChart3D",type:"keyword",info:"PieChart3D[{y , y , …}] makes a 3D pie chart with sector angle proportional to y , y , … .PieChart3D"},{label:"PillaiTrace",type:"keyword",info:"PillaiTrace[m , m ] gives Pillai's trace for the matrices m and m .\n 1 2 "},{label:"PillaiTraceTest",type:"keyword",info:'PillaiTraceTest[m , m ] tests whether the matrices m and m are independent.PillaiTraceTest[…, "pro'},{label:"PingTime",type:"keyword",info:"PingTime[host] gives the round-trip ping time for the specified network host.PingTime[host, n] gives"},{label:"Pink",type:"keyword",info:"Pink represents the color pink in graphics or style specifications. "},{label:"PitchRecognize",type:"keyword",info:"PitchRecognize[audio] recognizes the main pitch in audio, returning it as a TimeSeries object. Pitch"},{label:"Pivoting",type:"keyword",info:"Pivoting is an option to certain matrix decomposition functions. With Pivoting -> False, no pivoting"},{label:"PixelConstrained",type:"keyword",info:"PixelConstrained is an option for ArrayPlot that specifies how to constrain cells to align with disp"},{label:"PixelValue",type:"keyword",info:'PixelValue[image, ppos] gives the pixel value of image at position pos.PixelValue[image, ppos, "type'},{label:"PixelValuePositions",type:"keyword",info:"PixelValuePositions[image, val] returns a list of pixel positions in image that exactly match the va"},{label:"Placed",type:"keyword",info:"Placed[expr, pos] represents an expression expr placed at relative position pos in a chart or other "},{label:"Placeholder",type:"keyword",info:"Placeholder[name] represents a placeholder labeled with name that indicates a place to type.Placehol"},{label:"PlaceholderLayer",type:"keyword",info:'PlaceholderLayer[] represents a net layer whose operation is undefined.PlaceholderLayer["tag", assoc'},{label:"PlaceholderReplace",type:"keyword",info:"PlaceholderReplace is an option to Paste that determines whether to replace a selection placeholder "},{label:"Plain",type:"keyword",info:"Plain represents a font that is not bold, italic, or underlined."},{label:"PlanarAngle",type:"keyword",info:"PlanarAngle[p  {q , q }] gives the angle between the half‐lines from p through q and q .PlanarAngl"},{label:"PlanarFaceList",type:"keyword",info:"PlanarFaceList[g] gives the list of faces of the planar graph g."},{label:"PlanarGraph",type:"keyword",info:"PlanarGraph[{e , e , …}] yields a planar graph with edges e .PlanarGraph[{v , v , …}, {e , e , …}] y"},{label:"PlanarGraphQ",type:"keyword",info:"PlanarGraphQ[g] yields True if g is a planar graph and False otherwise."},{label:"PlanckRadiationLaw",type:"keyword",info:"PlanckRadiationLaw[temperature, λ] returns the spectral radiance for the specified temperature and w"},{label:"PlaneCurveData",type:"keyword",info:"PlaneCurveData[entity, property] gives the value of the specified property for the plane curve entit"},{label:"PlanetaryMoonData",type:"keyword",info:"PlanetaryMoonData[entity, property] gives the value of the specified property for the moon entity of"},{label:"PlanetData",type:"keyword",info:"PlanetData[entity, property] gives the value of the specified property for the planet entity.PlanetD"},{label:"PlantData",type:"keyword",info:"PlantData[entity, property] gives the value of the specified property for the plant entity.PlantData"},{label:"Play",type:"keyword",info:"Play[f, {t, t , t }] creates an object that plays as a sound whose amplitude is given by f as a "},{label:"PlayRange",type:"keyword",info:"PlayRange is an option for Play and related functions which specifies what range of sound amplitude "},{label:"Plot",type:"keyword",info:"Plot[f, {x, x , x }] generates a plot of f as a function of x from x to x . Plot[{f , f , …"},{label:"Plot3D",type:"keyword",info:"Plot3D[f, {x, x , x }, {y, y , y }] generates a three-dimensional plot of f as a function of"},{label:"Plot3Matrix",type:"keyword",info:"System`Plot3Matrix"},{label:"PlotDivision",type:"keyword",info:"PlotDivision is an option for Plot that specifies the maximum amount of subdivision to be used."},{label:"PlotJoined",type:"keyword",info:"PlotJoined is an option for ListPlot that specifies whether the points plotted should be joined by a"},{label:"PlotLabel",type:"keyword",info:"PlotLabel is an option for graphics functions that specifies an overall label for a plot. "},{label:"PlotLabels",type:"keyword",info:"PlotLabels is an option for visualization functions that specifies what labels to use for each data "},{label:"PlotLayout",type:"keyword",info:"PlotLayout is an option for plotting functions that specifies the layout of multiple components in a"},{label:"PlotLegends",type:"keyword",info:"PlotLegends is an option for plot functions that specifies what legends to use. "},{label:"PlotMarkers",type:"keyword",info:"PlotMarkers is an option for graphics functions like ListPlot and ListLinePlot that specifies what m"},{label:"PlotPoints",type:"keyword",info:"PlotPoints is an option for plotting functions that specifies how many initial sample points to use."},{label:"PlotRange",type:"keyword",info:"PlotRange is an option for graphics functions that specifies what range of coordinates to include in"},{label:"PlotRangeClipping",type:"keyword",info:"PlotRangeClipping is an option for graphics functions that specifies whether graphics objects should"},{label:"PlotRangeClipPlanesStyle",type:"keyword",info:"System`PlotRangeClipPlanesStyle"},{label:"PlotRangePadding",type:"keyword",info:"PlotRangePadding is an option for graphics functions that specifies how much further axes etc. shoul"},{label:"PlotRegion",type:"keyword",info:"PlotRegion is an option for graphics functions that specifies what region of the final display area "},{label:"PlotStyle",type:"keyword",info:"PlotStyle is an option for plotting and related functions that specifies styles in which objects are"},{label:"PlotTheme",type:"keyword",info:"PlotTheme is an option for plotting and related functions that specifies an overall theme for visual"},{label:"Pluralize",type:"keyword",info:'Pluralize["noun"] gives the plural form of the English word "noun".Pluralize["noun", n] gives the in'},{label:"Plus",type:"keyword",info:"x + y + z represents a sum of terms. "},{label:"PlusMinus",type:"keyword",info:"PlusMinus[x] displays as Â\\[PlusMinus] x.PlusMinus[x, y, …] displays as x Â\\[PlusMinus] y Â\\[PlusMinus] ….\n"},{label:"Pochhammer",type:"keyword",info:"Pochhammer[a, n] gives the Pochhammer symbol (a) . \n "},{label:"PodStates",type:"keyword",info:"PodStates is an option for WolframAlpha that determines information about the states of the pods."},{label:"PodWidth",type:"keyword",info:"PodWidth is an option for WolframAlpha that determines the width parameters of the content returned "},{label:"Point",type:"keyword",info:"Point[p] is a graphics and geometry primitive that represents a point at p. Point[{p , p , …}] repre"},{label:"Point3DBox",type:"keyword",info:"System`Point3DBox"},{label:"Point3DBoxOptions",type:"keyword",info:"Point3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Point3DBo"},{label:"PointBox",type:"keyword",info:"System`PointBox"},{label:"PointBoxOptions",type:"keyword",info:"PointBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PointBox ob"},{label:"PointCountDistribution",type:"keyword",info:"PointCountDistribution[pproc, reg] represents the distribution of point counts for the point process"},{label:"PointDensity",type:"keyword",info:"PointDensity[pdata] estimates the point density function μ(x) from point data pdata.PointDensity[pda"},{label:"PointDensityFunction",type:"keyword",info:"PointDensityFunction[…] represents a function whose values give the density at a given location."},{label:"PointFigureChart",type:"keyword",info:"PointFigureChart[{{date , p }, {date , p }, …}] makes a point and figure chart with prices p at dat"},{label:"PointLegend",type:"keyword",info:"PointLegend[{col , …}, {lbl , …}] generates a legend that associates points of colors col with labe"},{label:"PointLight",type:"keyword",info:"PointLight[col, pt] is a three-dimensional graphics directive that specifies the point light of colo"},{label:"PointProcessEstimator",type:"keyword",info:"PointProcessEstimator[] is an option to EstimatedPointProcess and FindPointProcessParameters that sp"},{label:"PointProcessFitTest",type:"keyword",info:"PointProcessFitTest[pdata] tests whether the point collection pdata could be modeled by a Poisson po"},{label:"PointProcessParameterAssumptions",type:"keyword",info:"PointProcessParameterAssumptions[proc] gives a logical expression for assumptions on parameters in t"},{label:"PointProcessParameterQ",type:"keyword",info:"PointProcessParameterQ[proc] yields True if proc is a valid random point process, and yields False o"},{label:"PointSize",type:"keyword",info:"PointSize[d] is a graphics directive which specifies that points which follow are to be shown if pos"},{label:"PointStatisticFunction",type:"keyword",info:"PointStatisticFunction[…] represents a function whose values give the statistic of a points collecti"},{label:"PointValuePlot",type:"keyword",info:"PointValuePlot[{pt  val , pt  val , …}] plots the points pt styled according to the values val "},{label:"PoissonConsulDistribution",type:"keyword",info:"PoissonConsulDistribution[μ, λ] represents a Poisson–Consul distribution with parameters μ and λ."},{label:"PoissonDistribution",type:"keyword",info:"PoissonDistribution[μ] represents a Poisson distribution with mean μ."},{label:"PoissonPDEComponent",type:"keyword",info:" 2\nPoissonPDEComponent[vars, pars] yields "},{label:"PoissonPointProcess",type:"keyword",info:" "},{label:"PoissonProcess",type:"keyword",info:"PoissonProcess[μ] represents a Poisson process with rate μ."},{label:"PoissonWindow",type:"keyword",info:"PoissonWindow[x] represents a Poisson window function of x.PoissonWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus]."},{label:"PolarAxes",type:"keyword",info:"PolarAxes is an option for sector charts and polar plots that specifies whether polar axes should be"},{label:"PolarAxesOrigin",type:"keyword",info:"PolarAxesOrigin is an option for sector charts and polar plots that specifies where polar axes shoul"},{label:"PolarGridLines",type:"keyword",info:"PolarGridLines is an option for sector charts and polar plots that specifies polar grid lines."},{label:"PolarPlot",type:"keyword",info:"PolarPlot[r, {θ, θ , θ }] generates a polar plot of a curve with radius r as a function of angle"},{label:"PolarTicks",type:"keyword",info:"PolarTicks is an option for sector charts and polar plots that specifies tick marks for polar axes."},{label:"PoleZeroMarkers",type:"keyword",info:"PoleZeroMarkers is an option for RootLocusPlot that specifies the markers to be drawn on the complex"},{label:"PolyaAeppliDistribution",type:"keyword",info:"PolyaAeppliDistribution[θ, p] represents a PÃ.b3lya–Aeppli distribution with shape parameters θ and p. "},{label:"PolyGamma",type:"keyword",info:" th "},{label:"Polygon",type:"keyword",info:"Polygon[{p , …, p }] represents a filled polygon with points p .Polygon[{p , …, p }  {{q , …, q }, "},{label:"Polygon3DBox",type:"keyword",info:"System`Polygon3DBox"},{label:"Polygon3DBoxOptions",type:"keyword",info:"Polygon3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Polygon"},{label:"PolygonalNumber",type:"keyword",info:" th th "},{label:"PolygonAngle",type:"keyword",info:"PolygonAngle[poly] gives a list of angles at the vertex points of poly.PolygonAngle[poly, p] gives t"},{label:"PolygonBox",type:"keyword",info:"System`PolygonBox"},{label:"PolygonBoxOptions",type:"keyword",info:"PolygonBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PolygonBo"},{label:"PolygonCoordinates",type:"keyword",info:"PolygonCoordinates[poly] gives a list of coordinates in the polygon poly."},{label:"PolygonDecomposition",type:"keyword",info:"PolygonDecomposition[poly] decomposes the polygon poly into a disjoint union of simpler polygons.Pol"},{label:"PolygonHoleScale",type:"keyword",info:"System`PolygonHoleScale"},{label:"PolygonIntersections",type:"keyword",info:"PolygonIntersections is an option for Graphics3D which specifies whether intersecting polygons shoul"},{label:"PolygonScale",type:"keyword",info:"System`PolygonScale"},{label:"Polyhedron",type:"keyword",info:"Polyhedron[{f , …, f }] represents a filled polyhedron inside the closed surfaces with polygon faces"},{label:"PolyhedronAngle",type:"keyword",info:"PolyhedronAngle[poly, p] gives the solid angle at the point p and spanned by edges with common point"},{label:"PolyhedronBox",type:"keyword",info:"System`PolyhedronBox"},{label:"PolyhedronCoordinates",type:"keyword",info:"PolyhedronCoordinates[poly] gives a list of coordinates in the polyhedron poly."},{label:"PolyhedronData",type:"keyword",info:'PolyhedronData[poly, "property"] gives the value of the specified property for the polyhedron named '},{label:"PolyhedronDecomposition",type:"keyword",info:"PolyhedronDecomposition[poly] decomposes the polyhedron poly into a union of simpler polyhedra."},{label:"PolyhedronGenus",type:"keyword",info:"PolyhedronGenus[poly] gives the genus of the polyhedron poly."},{label:"PolyLog",type:"keyword",info:"PolyLog[n, z] gives the polylogarithm function Li (z).PolyLog[n, p, z] gives the Nielsen generalized"},{label:"PolynomialExpressionQ",type:"keyword",info:"PolynomialExpressionQ[expr, x] gives True if expr is structurally a polynomial expression in x, and "},{label:"PolynomialExtendedGCD",type:"keyword",info:"PolynomialExtendedGCD[poly , poly , x] gives the extended GCD of poly and poly treated as univaria"},{label:"PolynomialForm",type:"keyword",info:"System`PolynomialForm"},{label:"PolynomialGCD",type:"keyword",info:"PolynomialGCD[poly , poly , …] gives the greatest common divisor of the polynomials poly . Polynomia"},{label:"PolynomialLCM",type:"keyword",info:"PolynomialLCM[poly , poly , …] gives the least common multiple of the polynomials poly . PolynomialL"},{label:"PolynomialMod",type:"keyword",info:"PolynomialMod[poly, m] gives the polynomial poly reduced modulo m. PolynomialMod[poly, {m , m , …}] "},{label:"PolynomialQ",type:"keyword",info:"PolynomialQ[expr, var] yields True if expr is a polynomial in var, and yields False otherwise. Polyn"},{label:"PolynomialQuotient",type:"keyword",info:"PolynomialQuotient[p, q, x] gives the quotient of p and q, treated as polynomials in x, with any rem"},{label:"PolynomialQuotientRemainder",type:"keyword",info:"PolynomialQuotientRemainder[p, q, x] gives a list of the quotient and remainder of p and q, treated "},{label:"PolynomialReduce",type:"keyword",info:"PolynomialReduce[poly, {poly , poly , …}, {x , x , …}] yields a list representing a reduction of pol"},{label:"PolynomialRemainder",type:"keyword",info:"PolynomialRemainder[p, q, x] gives the remainder from dividing p by q, treated as polynomials in x. "},{label:"Polynomials",type:"keyword",info:"System`Polynomials"},{label:"PolynomialSumOfSquaresList",type:"keyword",info:" "},{label:"PoolingLayer",type:"keyword",info:"PoolingLayer[sz] represents a pooling net layer using kernels of size sz.PoolingLayer[{w}] represent"},{label:"PopupMenu",type:"keyword",info:"PopupMenu[x, {val , val , …}] represents a popup menu with setting x and possible values val . Popup"},{label:"PopupMenuBox",type:"keyword",info:"System`PopupMenuBox"},{label:"PopupMenuBoxOptions",type:"keyword",info:"PopupMenuBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PopupMe"},{label:"PopupView",type:"keyword",info:" "},{label:"PopupWindow",type:"keyword",info:"PopupWindow[expr, contents] displays as expr, but pops up a window containing contents when clicked."},{label:"Position",type:"keyword",info:"Position[expr, pattern] gives a list of the positions at which objects matching pattern appear in ex"},{label:"PositionIndex",type:"keyword",info:"PositionIndex[list] gives an association between unique elements in list and the positions at which "},{label:"Positive",type:"keyword",info:"Positive[x] gives True if x is a positive number. "},{label:"PositiveDefiniteMatrixQ",type:"keyword",info:"PositiveDefiniteMatrixQ[m] gives True if m is explicitly positive definite, and False otherwise. "},{label:"PositiveIntegers",type:"keyword",info:"PositiveIntegers represents the domain of strictly positive integers, as in x ∈ PositiveIntegers. "},{label:"PositivelyOrientedPoints",type:"keyword",info:"PositivelyOrientedPoints[{p , p , p , …, p }] tests whether the sequence of points p , p , p , …"},{label:"PositiveRationals",type:"keyword",info:"PositiveRationals represents the domain of strictly positive rational numbers, as in x ∈ PositiveRat"},{label:"PositiveReals",type:"keyword",info:"PositiveReals represents the domain of strictly positive real numbers."},{label:"PositiveSemidefiniteMatrixQ",type:"keyword",info:"PositiveSemidefiniteMatrixQ[m] gives True if m is explicitly positive semidefinite, and False otherw"},{label:"PossibleZeroQ",type:"keyword",info:"PossibleZeroQ[expr] gives True if basic symbolic and numerical methods suggest that expr has value z"},{label:"Postfix",type:"keyword",info:"Postfix[f[expr]] prints with f[expr] given in default postfix form: expr//f. Postfix[f[expr], h] pri"},{label:"PostScript",type:"keyword",info:"System`PostScript"},{label:"Power",type:"keyword",info:"x^y gives x to the power y."},{label:"PowerDistribution",type:"keyword",info:"PowerDistribution[k, a] represents a power distribution with domain parameter k and shape parameter "},{label:"PowerExpand",type:"keyword",info:"PowerExpand[expr] expands all powers of products and powers. PowerExpand[expr, {x , x , …}] expands "},{label:"PowerMod",type:"keyword",info:" b "},{label:"PowerModList",type:"keyword",info:" r s\nPowerModList[a, s/r, m] giv"},{label:"PowerRange",type:"keyword",info:"PowerRange[b] generates the list {1, 10, 100, …, max}, where max is the largest power of 10 that doe"},{label:"PowerSpectralDensity",type:"keyword",info:"PowerSpectralDensity[data, ω] estimates the power spectral density for data.PowerSpectralDensity[dat"},{label:"PowersRepresentations",type:"keyword",info:" "},{label:"PowerSymmetricPolynomial",type:"keyword",info:"PowerSymmetricPolynomial[r] represents a formal power symmetric polynomial with exponent r.PowerSymm"},{label:"Precedence",type:"keyword",info:"Precedence[sym] returns the precedence of the output operator associated to the symbol sym.Precedenc"},{label:"PrecedenceForm",type:"keyword",info:"PrecedenceForm[expr, prec] prints with expr parenthesized as it would be if it contained an operator"},{label:"Precedes",type:"keyword",info:"Precedes[x, y, …] displays as x ≺ y ≺ …."},{label:"PrecedesEqual",type:"keyword",info:"PrecedesEqual[x, y, …] displays as x ⪯ y ⪯ …."},{label:"PrecedesSlantEqual",type:"keyword",info:"PrecedesSlantEqual[x, y, …] displays as x ≼ y ≼ …."},{label:"PrecedesTilde",type:"keyword",info:"PrecedesTilde[x, y, …] displays as x ≾ y ≾ …."},{label:"Precision",type:"keyword",info:"Precision[x] gives the effective number of digits of precision in the number x. "},{label:"PrecisionGoal",type:"keyword",info:"PrecisionGoal is an option for various numerical operations which specifies how many effective digit"},{label:"PreDecrement",type:"keyword",info:"--x decreases the value of x by 1, returning the new value of x. "},{label:"Predict",type:"keyword",info:"Predict[{in  out , in  out , …}] generates a PredictorFunction[…] based on the example input-out"},{label:"PredictionRoot",type:"keyword",info:"System`PredictionRoot"},{label:"PredictorFunction",type:"keyword",info:"PredictorFunction[…] represents a function generated by Predict that predicts numerical values from "},{label:"PredictorInformation",type:"keyword",info:"PredictorInformation[predictor] generates a report giving information on the predictor function pred"},{label:"PredictorMeasurements",type:"keyword",info:"PredictorMeasurements[predictor, testset, prop] gives measurements associated with the property prop"},{label:"PredictorMeasurementsObject",type:"keyword",info:"PredictorMeasurementsObject[…] represents an object generated by PredictorMeasurements that can be a"},{label:"PreemptProtect",type:"keyword",info:"PreemptProtect[expr] evaluates expr, without any interruption from preemptive evaluations."},{label:"PreferencesPath",type:"keyword",info:"PreferencesPath is a global option that specifies which directories are searched for user-specific s"},{label:"Prefix",type:"keyword",info:"Prefix[f[expr]] prints with f[expr] given in default prefix form: f @ expr. Prefix[f[expr], h] print"},{label:"PreIncrement",type:"keyword",info:"++x increases the value of x by 1, returning the new value of x. "},{label:"Prepend",type:"keyword",info:"Prepend[expr, elem] gives expr with elem prepended. Prepend[elem] represents an operator form of Pre"},{label:"PrependLayer",type:"keyword",info:"PrependLayer[] represents a net layer that takes an input array and prepends another array to it."},{label:"PrependTo",type:"keyword",info:"PrependTo[x, elem] prepends elem to the value of x, and resets x to the result. "},{label:"PreprocessingRules",type:"keyword",info:"PreprocessingRules is an option that specifies how the input should be preprocessed."},{label:"PreserveColor",type:"keyword",info:"PreserveColor is an option for ImageRestyle and related functions that specifies whether to preserve"},{label:"PreserveImageOptions",type:"keyword",info:"PreserveImageOptions is an option to graphics and related functions that specifies whether image siz"},{label:"Previous",type:"keyword",info:"System`Previous"},{label:"PreviousCell",type:"keyword",info:"PreviousCell[] returns the CellObject corresponding to the cell directly above the currently evaluat"},{label:"PreviousDate",type:"keyword",info:"PreviousDate[gran] gives the previously occurring date of the specified granularity type gran.Previo"},{label:"PriceGraphDistribution",type:"keyword",info:"PriceGraphDistribution[n, k, a] represents a de Solla Price graph distribution for n-vertex graphs w"},{label:"PrimaryPlaceholder",type:"keyword",info:"System`PrimaryPlaceholder"},{label:"Prime",type:"keyword",info:" th\nPrime[n] gives the n prime number p .\n "},{label:"PrimeNu",type:"keyword",info:"PrimeNu[n] gives the number of distinct primes ν(n) in n."},{label:"PrimeOmega",type:"keyword",info:"PrimeOmega[n] gives the number of prime factors counting multiplicities Ω(n) in n."},{label:"PrimePi",type:"keyword",info:"PrimePi[x] gives the number of primes π(x) less than or equal to x."},{label:"PrimePowerQ",type:"keyword",info:"PrimePowerQ[expr] yields True if expr is a power of a prime number, and yields False otherwise. "},{label:"PrimeQ",type:"keyword",info:"PrimeQ[n] yields True if n is a prime number, and yields False otherwise. "},{label:"Primes",type:"keyword",info:"Primes represents the domain of prime numbers, as in x ∈ Primes. "},{label:"PrimeZetaP",type:"keyword",info:"PrimeZetaP[s] gives prime zeta function P(s)."},{label:"PrimitivePolynomialQ",type:"keyword",info:"PrimitivePolynomialQ[poly, p] tests whether poly is a primitive polynomial modulo a prime p."},{label:"PrimitiveRoot",type:"keyword",info:"PrimitiveRoot[n] gives a primitive root of n.PrimitiveRoot[n, k] gives the smallest primitive root o"},{label:"PrimitiveRootList",type:"keyword",info:"PrimitiveRootList[n] gives a list of primitive roots of n."},{label:"PrincipalComponents",type:"keyword",info:"PrincipalComponents[matrix] transforms elements of matrix into unscaled principal components."},{label:"PrincipalValue",type:"keyword",info:"PrincipalValue is an option for Integrate that specifies whether the Cauchy principal value should b"},{label:"Print",type:"keyword",info:"Print[expr] prints expr as output. "},{label:"PrintableASCIIQ",type:"keyword",info:"PrintableASCIIQ[string] yields True if the string contains only printable ASCII characters, and yiel"},{label:"PrintAction",type:"keyword",info:"PrintAction is an option for notebooks that specifies the action taken when a Print[] command is eva"},{label:"PrintForm",type:"keyword",info:"System`PrintForm"},{label:"PrintingCopies",type:"keyword",info:"PrintingCopies is an option for notebooks that specifies the number of copies of a notebook printed "},{label:"PrintingOptions",type:"keyword",info:"PrintingOptions is an option that specifies settings for printing."},{label:"PrintingPageRange",type:"keyword",info:"PrintingPageRange is an option for notebooks that specifies the range of pages of a notebook to be p"},{label:"PrintingStartingPageNumber",type:"keyword",info:"PrintingStartingPageNumber is an option for notebooks that specifies what number to assign to the fi"},{label:"PrintingStyleEnvironment",type:"keyword",info:"PrintingStyleEnvironment is an option for notebooks that specifies the style environment to be used "},{label:"Printout3D",type:"keyword",info:"Printout3D[model] prints out the 3D model using a 3D print previewer.Printout3D[model, service] prin"},{label:"Printout3DPreviewer",type:"keyword",info:"Printout3DPreviewer is an option for Printout3D that specifies a previewer for generating outputs to"},{label:"PrintPrecision",type:"keyword",info:"PrintPrecision is an option for selections that specifies the maximum number of digits used for disp"},{label:"PrintTemporary",type:"keyword",info:"PrintTemporary[expr] prints expr as a temporary cell in a notebook, removing it when the evaluation "},{label:"Prism",type:"keyword",info:"Prism[{p , …, p }] represents a filled prism connecting the triangles {p , p , p } and {p , p , p }."},{label:"PrismBox",type:"keyword",info:"System`PrismBox"},{label:"PrismBoxOptions",type:"keyword",info:"System`PrismBoxOptions"},{label:"PrivateCellOptions",type:"keyword",info:"PrivateCellOptions is an option for cells that specifies various low-level cell settings."},{label:"PrivateEvaluationOptions",type:"keyword",info:"PrivateEvaluationOptions is an option for selections that specifies settings for evaluation-related "},{label:"PrivateFontOptions",type:"keyword",info:"PrivateFontOptions is an option for selections that specifies settings for various font suboptions."},{label:"PrivateKey",type:"keyword",info:"PrivateKey[assoc] represents the private part of a key pair for a public-key cryptographic system."},{label:"PrivateNotebookOptions",type:"keyword",info:"PrivateNotebookOptions is an option for notebooks that specifies various low-level notebook settings"},{label:"PrivatePaths",type:"keyword",info:"PrivatePaths is a global option that specifies settings for paths private to the notebook front end."},{label:"Probability",type:"keyword",info:"Probability[pred, x  dist] gives the probability for an event that satisfies the predicate pred und"},{label:"ProbabilityDistribution",type:"keyword",info:"ProbabilityDistribution[pdf, {x, x , x }] represents the continuous distribution with PDF pdf in"},{label:"ProbabilityPlot",type:"keyword",info:"ProbabilityPlot[list] generates a plot of the CDF of list against the CDF of a normal distribution.P"},{label:"ProbabilityPr",type:"keyword",info:"System`ProbabilityPr"},{label:"ProbabilityScalePlot",type:"keyword",info:"ProbabilityScalePlot[{x , x , …}] generates a normal probability plot of the samples x . Probability"},{label:"ProbitModelFit",type:"keyword",info:" "},{label:"ProcessConnection",type:"keyword",info:'ProcessConnection[proc, "stream"] returns the stream object for a given stream.'},{label:"ProcessDirectory",type:"keyword",info:"ProcessDirectory is an option specifying the initial working directory to use when executing a proce"},{label:"ProcessEnvironment",type:"keyword",info:"ProcessEnvironment is an option specifying the initial settings of environment variables to use when"},{label:"Processes",type:"keyword",info:"Processes[] returns a list of currently running external processes, started in this Wolfram Language"},{label:"ProcessEstimator",type:"keyword",info:"ProcessEstimator is an option to EstimatedProcess and FindProcessParameters that specifies what proc"},{label:"ProcessInformation",type:"keyword",info:"ProcessInformation[proc] gives information about an external process proc.\nProcessInformation[proc, "},{label:"ProcessObject",type:"keyword",info:"ProcessObject[...] is an object that represents a runnable external process."},{label:"ProcessParameterAssumptions",type:"keyword",info:"ProcessParameterAssumptions[proc] gives a logical expression for assumptions on parameters in the ra"},{label:"ProcessParameterQ",type:"keyword",info:"ProcessParameterQ[proc] yields True if proc is a valid random process, and yields False otherwise."},{label:"ProcessStateDomain",type:"keyword",info:"System`ProcessStateDomain"},{label:"ProcessStatus",type:"keyword",info:"ProcessStatus[proc] gives the current status of the external process represented by the ProcessObjec"},{label:"ProcessTimeDomain",type:"keyword",info:"System`ProcessTimeDomain"},{label:"Product",type:"keyword",info:" "},{label:"ProductDistribution",type:"keyword",info:"ProductDistribution[dist , dist , …] represents the joint distribution with independent component di"},{label:"ProductLog",type:"keyword",info:" w th\nProdu"},{label:"ProgressIndicator",type:"keyword",info:"ProgressIndicator[x] represents a progress indicator with setting x in the range 0 to 1. ProgressInd"},{label:"ProgressIndicatorBox",type:"keyword",info:"System`ProgressIndicatorBox"},{label:"ProgressIndicatorBoxOptions",type:"keyword",info:"ProgressIndicatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for"},{label:"ProgressReporting",type:"keyword",info:"ProgressReporting is an option for various algorithmic functions that specifies whether to report th"},{label:"Projection",type:"keyword",info:"Projection[u, v] finds the projection of the vector u onto the vector v.Projection[u, v, f] finds pr"},{label:"Prolog",type:"keyword",info:"Prolog is an option for graphics functions which gives a list of graphics primitives to be rendered "},{label:"PromptForm",type:"keyword",info:"PromptForm[prompt, expr] prints as an output prompt and expression."},{label:"ProofObject",type:"keyword",info:"ProofObject[…] represents a proof object generated by FindEquationalProof."},{label:"Properties",type:"keyword",info:"Properties is an option that allows specification of properties to objects and items of objects."},{label:"Property",type:"keyword",info:"Property[item, name  value] associates the property name  value with item."},{label:"PropertyList",type:"keyword",info:"PropertyList[{obj, itemspec}] lists the properties available for itemspec in obj."},{label:"PropertyValue",type:"keyword",info:"PropertyValue[{obj, item}, name] gives the property value associated with name for item in obj.Prope"},{label:"Proportion",type:"keyword",info:"Proportion[x, y, …] displays as x âˆ\\[CenterDot] y âˆ\\[CenterDot] …."},{label:"Proportional",type:"keyword",info:"Proportional[x, y, …] displays as x ∝ y ∝ …."},{label:"Protect",type:"keyword",info:'Protect[s , s , …] sets the attribute Protected for the symbols s . Protect["form ", "form ", …] pro'},{label:"Protected",type:"keyword",info:"Protected is an attribute that prevents any values associated with a symbol from being modified. "},{label:"ProteinData",type:"keyword",info:"ProteinData[entity] gives the reference amino acid sequence for the protein entity.ProteinData[entit"},{label:"Pruning",type:"keyword",info:"Pruning[image] removes the outermost branches of thin objects in image by setting their values to bl"},{label:"PseudoInverse",type:"keyword",info:"PseudoInverse[m] finds the pseudoinverse of a rectangular matrix. "},{label:"PsychrometricPropertyData",type:"keyword",info:"PsychrometricPropertyData[spec] returns the psychrometric properties of moist air for the specified "},{label:"PublicKey",type:"keyword",info:"PublicKey[assoc] represents the public part of a key pair for a public-key cryptographic system.Publ"},{label:"PublisherID",type:"keyword",info:"PublisherID is an option for ResourceSubmit that specifies the ID used to submit a resource for publ"},{label:"PulsarData",type:"keyword",info:"PulsarData[entity, property] gives the value of the specified property for the pulsar entity.PulsarD"},{label:"PunctuationCharacter",type:"keyword",info:"PunctuationCharacter represents a punctuation character in StringExpression."},{label:"Purple",type:"keyword",info:"Purple represents the color purple in graphics or style specifications. "},{label:"Put",type:"keyword",info:'expr >> filename writes expr to a file. Put[expr , expr , …, "filename"] writes a sequence of expres'},{label:"PutAppend",type:"keyword",info:'expr >>> filename appends expr to a file. PutAppend[expr , expr , …, "filename"] appends a sequence '},{label:"Pyramid",type:"keyword",info:"Pyramid[{p , …, p }] represents a filled pyramid with base {p , …, p } and top p .\n 1 "},{label:"PyramidBox",type:"keyword",info:"System`PyramidBox"},{label:"PyramidBoxOptions",type:"keyword",info:"System`PyramidBoxOptions"},{label:"QBinomial",type:"keyword",info:"QBinomial[n, m, q] gives the q-binomial coefficient (n) .\n "},{label:"QFactorial",type:"keyword",info:"QFactorial[n, q] gives the q-factorial [n] !.\n q"},{label:"QGamma",type:"keyword",info:"QGamma[z, q] gives the q-gamma function Γ (z).\n q"},{label:"QHypergeometricPFQ",type:"keyword",info:"QHypergeometricPFQ[{a , …, a }, {b , …, b }, q, z] gives the basic hypergeometric series   ϕ (a "},{label:"QnDispersion",type:"keyword",info:"QnDispersion[list] gives the Q statistic of the elements in list.QnDispersion[list, c] gives the Q "},{label:"QPochhammer",type:"keyword",info:"QPochhammer[a, q, n] gives the q-Pochhammer symbol (a ; q) .QPochhammer[a, q] gives the q-Pochhamme"},{label:"QPolyGamma",type:"keyword",info:" th "},{label:"QRDecomposition",type:"keyword",info:"QRDecomposition[m] yields the QR decomposition for a numerical matrix m. The result is a list {q, r}"},{label:"QuadraticIrrationalQ",type:"keyword",info:"QuadraticIrrationalQ[x] gives True if x is a quadratic irrational and False otherwise."},{label:"QuadraticOptimization",type:"keyword",info:"QuadraticOptimization[f, cons, vars] finds values of variables vars that minimize the quadratic obje"},{label:"Quantile",type:"keyword",info:" th\nQuantile[list, q] gives the q quantile of list. Quantile[list,"},{label:"QuantilePlot",type:"keyword",info:"QuantilePlot[list] generates a plot of quantiles of list against the quantiles of a normal distribut"},{label:"Quantity",type:"keyword",info:"Quantity[magnitude, unit] represents a quantity with size magnitude and unit specified by unit.Quant"},{label:"QuantityArray",type:"keyword",info:"QuantityArray[mags, unit] represents an array of quantities with magnitudes mags and common unit.Qua"},{label:"QuantityDistribution",type:"keyword",info:"QuantityDistribution[dist, unit] represents a distribution dist of quantities with unit specified by"},{label:"QuantityForm",type:"keyword",info:"QuantityForm[expr, form] prints expr with all Quantity expressions using the specified unit display "},{label:"QuantityMagnitude",type:"keyword",info:"QuantityMagnitude[quantity] gives the amount of the specified quantity.QuantityMagnitude[quantity, u"},{label:"QuantityQ",type:"keyword",info:"QuantityQ[expr] gives True if expr is a Quantity with valid arguments, and False otherwise."},{label:"QuantityUnit",type:"keyword",info:"QuantityUnit[quantity] returns the unit associated with the specified quantity."},{label:"QuantityVariable",type:"keyword",info:'QuantityVariable[var, "pq"] represents a variable with the label var and the corresponding physical '},{label:"QuantityVariableCanonicalUnit",type:"keyword",info:"QuantityVariableCanonicalUnit[quantityvariable] returns the canonical unit associated with the speci"},{label:"QuantityVariableDimensions",type:"keyword",info:"QuantityVariableDimensions[quantityvariable] returns a list of base dimensions associated with the s"},{label:"QuantityVariableIdentifier",type:"keyword",info:"QuantityVariableIdentifier[quantityvariable] returns the identifier associated with the specified qu"},{label:"QuantityVariablePhysicalQuantity",type:"keyword",info:"QuantityVariablePhysicalQuantity[var] returns the physical quantity associated with the quantity var"},{label:"Quartics",type:"keyword",info:"Quartics is an option for functions that involve solving algebraic equations that specifies whether "},{label:"QuartileDeviation",type:"keyword",info:"QuartileDeviation[list] gives the quartile deviation or semi-interquartile range of the elements in "},{label:"Quartiles",type:"keyword",info:"Quartiles[list] gives a list of the 1/4, 1/2 and 3/4 quantiles of the elements in list.Quartiles[dis"},{label:"QuartileSkewness",type:"keyword",info:"QuartileSkewness[list] gives the coefficient of quartile skewness for the elements in list.QuartileS"},{label:"Query",type:"keyword",info:"Query[operator , operator , …] represents a query that can be applied to a Dataset object, in which "},{label:"QuestionInterface",type:"keyword",info:"QuestionInterface[type,  p  s , p  s , …|>] defines an interface for a QuestionObject using the"},{label:"QuestionObject",type:"keyword",info:"QuestionObject[q, assess] represents the question q and the corresponding assessment assess.Question"},{label:"QueueingNetworkProcess",type:"keyword",info:"QueueingNetworkProcess[Î.b3, r, μ, c] represents an open (Jackson) queueing network process with arriva"},{label:"QueueingProcess",type:"keyword",info:"QueueingProcess[λ, μ] represents an M/M/1 queue with arrival rate λ and service rate μ.QueueingProce"},{label:"QueueProperties",type:"keyword",info:" "},{label:"Quiet",type:"keyword",info:'Quiet[expr] evaluates expr "quietly", without actually outputting any messages generated.Quiet[expr,'},{label:"QuietEcho",type:"keyword",info:"QuietEcho[expr] evaluates expr without letting Echo and related functions inside expr print any resu"},{label:"Quit",type:"keyword",info:"Quit[] terminates a Wolfram Language kernel session. "},{label:"Quotient",type:"keyword",info:"Quotient[m, n] gives the integer quotient of m and n. Quotient[m, n, d] uses an offset d. \n"},{label:"QuotientRemainder",type:"keyword",info:"QuotientRemainder[m, n] gives a list of the quotient and remainder from division of m by n."},{label:"RadialAxisPlot",type:"keyword",info:"RadialAxisPlot[{y , y , …, y }] generates a radial axis plot where the y are displayed on radial ax"},{label:"RadialGradientFilling",type:"keyword",info:"RadialGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that"},{label:"RadialGradientImage",type:"keyword",info:"RadialGradientImage[gcol] returns an image with values radially changing from center to corners base"},{label:"RadialityCentrality",type:"keyword",info:"RadialityCentrality[g] gives a list of radiality centralities for the vertices in the graph g.Radial"},{label:"RadicalBox",type:"keyword",info:" 1/n\nRadicalBox[x"},{label:"RadicalBoxOptions",type:"keyword",info:"RadicalBoxOptions is an option for selections that specifies settings for RadicalBox objects."},{label:"RadioButton",type:"keyword",info:"RadioButton[x, val] represents a radio button whose setting x is set to val when the button is click"},{label:"RadioButtonBar",type:"keyword",info:"RadioButtonBar[x, {val , val , …}] represents a radio button bar with setting x and with labeled rad"},{label:"RadioButtonBox",type:"keyword",info:"System`RadioButtonBox"},{label:"RadioButtonBoxOptions",type:"keyword",info:"RadioButtonBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Radio"},{label:"Radon",type:"keyword",info:"Radon[image] gives an image representing the discrete Radon transform of image.Radon[image, {w, h}] "},{label:"RadonTransform",type:"keyword",info:"RadonTransform[expr, {x, y}, {p, ϕ}] gives the Radon transform of expr."},{label:"RamanujanTau",type:"keyword",info:"RamanujanTau[n] gives the Ramanujan τ function τ(n)."},{label:"RamanujanTauL",type:"keyword",info:"RamanujanTauL[s] gives the Ramanujan tau Dirichlet L-function L(s)."},{label:"RamanujanTauTheta",type:"keyword",info:"RamanujanTauTheta[t] gives the Ramanujan tau theta function θ(t)."},{label:"RamanujanTauZ",type:"keyword",info:"RamanujanTauZ[t] gives the Ramanujan tau Z-function Z(t)."},{label:"Ramp",type:"keyword",info:"Ramp[x] gives x if x ≥ 0 and 0 otherwise."},{label:"Random",type:"keyword",info:"Random[] gives a uniformly distributed pseudorandom Real in the range 0 to 1. Random[type, range] gi"},{label:"RandomArrayLayer",type:"keyword",info:"RandomArrayLayer[dist] represents a net layer that has no input and produces a random array from the"},{label:"RandomChoice",type:"keyword",info:"RandomChoice[{e , e , …}] gives a pseudorandom choice of one of the e . RandomChoice[list, n] gives "},{label:"RandomColor",type:"keyword",info:"RandomColor[] gives a pseudorandom color directive in the RGBColor space.RandomColor[n] gives n pseu"},{label:"RandomComplex",type:"keyword",info:"RandomComplex[] gives a pseudorandom complex number with real and imaginary parts in the range 0 to "},{label:"RandomEntity",type:"keyword",info:"RandomEntity[spec] gives a pseudorandom entity with a type determined by the specification spec.Rand"},{label:"RandomFunction",type:"keyword",info:"RandomFunction[proc, {t , t }] generates a pseudorandom function from the process proc from t "},{label:"RandomGeneratorState",type:"keyword",info:"RandomGeneratorState[…] gives a representation of the internal state of a pseudorandom generator."},{label:"RandomGeoPosition",type:"keyword",info:"RandomGeoPosition[] gives a pseudorandom geo position uniformly distributed on the surface of the Ea"},{label:"RandomGraph",type:"keyword",info:"RandomGraph[{n, m}] gives a pseudorandom graph with n vertices and m edges.RandomGraph[{n, m}, k] gi"},{label:"RandomImage",type:"keyword",info:"RandomImage[max] gives an image with pseudorandom pixel values in the range 0 to max.RandomImage[{mi"},{label:"RandomInstance",type:"keyword",info:"RandomInstance[expr] finds a random instance of an expression such as a geometric scene.RandomInstan"},{label:"RandomInteger",type:"keyword",info:"RandomInteger[{i , i }] gives a pseudorandom integer in the range {i , i }. RandomInteger[i "},{label:"RandomPermutation",type:"keyword",info:"RandomPermutation[gr] gives a pseudorandom permutation in the permutation group gr.RandomPermutation"},{label:"RandomPoint",type:"keyword",info:"RandomPoint[reg] gives a pseudorandom point uniformly distributed in the region reg.RandomPoint[reg,"},{label:"RandomPointConfiguration",type:"keyword",info:"RandomPointConfiguration[pproc, reg] generates a pseudorandom spatial point configuration from the s"},{label:"RandomPolygon",type:"keyword",info:"RandomPolygon[n] gives a pseudorandom simple polygon with n vertex points.RandomPolygon[spec] gives "},{label:"RandomPolyhedron",type:"keyword",info:"RandomPolyhedron[spec] gives a pseudorandom polyhedron with the specified specification spec.RandomP"},{label:"RandomPrime",type:"keyword",info:"RandomPrime[{i , i }] gives a pseudorandom prime number in the range i to i .RandomPrime[i "},{label:"RandomReal",type:"keyword",info:"RandomReal[] gives a pseudorandom real number in the range 0 to 1. RandomReal[{x , x }] gives a "},{label:"RandomSample",type:"keyword",info:"RandomSample[{e , e , …}, n] gives a pseudorandom sample of n of the e .RandomSample[{w , w , …}  {"},{label:"RandomSeed",type:"keyword",info:"System`RandomSeed"},{label:"RandomSeeding",type:"keyword",info:"RandomSeeding is an option that specifies what seeding of pseudorandom generators should be done ins"},{label:"RandomTree",type:"keyword",info:"RandomTree[n] gives a pseudorandom tree with n nodes.RandomTree[n, k] gives a list of k pseudorandom"},{label:"RandomVariate",type:"keyword",info:"RandomVariate[dist] gives a pseudorandom variate from the symbolic distribution dist.RandomVariate[d"},{label:"RandomWalkProcess",type:"keyword",info:"RandomWalkProcess[p] represents a random walk on a line with the probability of a positive unit step"},{label:"RandomWord",type:"keyword",info:"RandomWord[] gives a pseudorandom commonly used word.RandomWord[n] gives a list of n pseudorandom wo"},{label:"Range",type:"keyword",info:"Range[i ] generates the list {1, 2, …, i }. Range[i , i ] generates the list {i , …, i }"},{label:"RangeFilter",type:"keyword",info:" "},{label:"RangeSpecification",type:"keyword",info:"System`RangeSpecification"},{label:"RankedMax",type:"keyword",info:" th th\nRankedM"},{label:"RankedMin",type:"keyword",info:" th th\nRanked"},{label:"RarerProbability",type:"keyword",info:"RarerProbability[dist, example] computes the probability for distribution dist to generate a sample "},{label:"Raster",type:"keyword",info:"Raster[{{a , a , …}, …}] is a two-dimensional graphics primitive which represents a rectangular ar"},{label:"Raster3D",type:"keyword",info:"Raster3D[{{{a , a , …}, …}, …}] is a three-dimensional graphics primitive that represents a cubica"},{label:"Raster3DBox",type:"keyword",info:"System`Raster3DBox"},{label:"Raster3DBoxOptions",type:"keyword",info:"Raster3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Raster3D"},{label:"RasterArray",type:"keyword",info:"RasterArray[{{g , g , …}, …}] is a two-dimensional graphics primitive that represents a rectangula"},{label:"RasterBox",type:"keyword",info:"System`RasterBox"},{label:"RasterBoxOptions",type:"keyword",info:"RasterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for RasterBox "},{label:"Rasterize",type:"keyword",info:"Rasterize[expr] returns a rasterized version of the displayed form of expr.Rasterize[expr, elem] giv"},{label:"RasterSize",type:"keyword",info:"RasterSize is an option for Rasterize and related functions that determines the absolute pixel size "},{label:"Rational",type:"keyword",info:"Rational is the head used for rational numbers. "},{label:"RationalExpressionQ",type:"keyword",info:"RationalExpressionQ[expr, x] gives True if expr is structurally a rational expression in x, and Fals"},{label:"RationalFunctions",type:"keyword",info:"System`RationalFunctions"},{label:"Rationalize",type:"keyword",info:"Rationalize[x] converts an approximate number x to a nearby rational with small denominator. Rationa"},{label:"Rationals",type:"keyword",info:"Rationals represents the domain of rational numbers, as in x ∈ Rationals. "},{label:"Ratios",type:"keyword",info:" th "},{label:"RawArray",type:"keyword",info:"System`RawArray"},{label:"RawBoxes",type:"keyword",info:"RawBoxes[boxes] is a low-level construct which is formatted as boxes without further interpretation."},{label:"RawData",type:"keyword",info:"RawData[data] is a low-level representation of the contents of a cell in which Show Cell Expression "},{label:"RawMedium",type:"keyword",info:"RawMedium is an internal symbol."},{label:"RayleighDistribution",type:"keyword",info:"RayleighDistribution[σ] represents the Rayleigh distribution with scale parameter σ."},{label:"Re",type:"keyword",info:"Re[z] gives the real part of the complex number z. "},{label:"ReactionBalance",type:"keyword",info:"ReactionBalance[rxn] returns a version of the reaction rxn in which the stoichiometric coefficients "},{label:"ReactionBalancedQ",type:"keyword",info:"ReactionBalancedQ[rxn] returns True if the given chemical reaction is balanced, and False otherwise."},{label:"ReactionPDETerm",type:"keyword",info:"ReactionPDETerm[vars, a] represents a reaction term a u with reaction coefficient a and with model v"},{label:"Read",type:"keyword",info:"Read[stream] reads one expression from an input stream and returns the expression. Read[stream, type"},{label:"ReadByteArray",type:"keyword",info:"ReadByteArray[src] gives the contents of src as a ByteArray object.ReadByteArray[src, n] reads the f"},{label:"ReadLine",type:"keyword",info:"ReadLine[stream] reads a line of text from a stream and returns it as a string.\nReadLine[proc] reads"},{label:"ReadList",type:"keyword",info:'ReadList["file"] reads all the remaining expressions in a file and returns a list of them. ReadList['},{label:"ReadProtected",type:"keyword",info:"ReadProtected is an attribute that prevents values associated with a symbol from being seen. "},{label:"ReadString",type:"keyword",info:'ReadString["file"] reads the complete contents of a file and returns it as a string.\nReadString[stre'},{label:"Real",type:"keyword",info:"Real is the head used for real (floating‐point) numbers. "},{label:"RealAbs",type:"keyword",info:"RealAbs[x] gives the absolute value of the real number x. "},{label:"RealBlockDiagonalForm",type:"keyword",info:"RealBlockDiagonalForm is an option for SchurDecomposition and related functions which specifies whet"},{label:"RealDigits",type:"keyword",info:" "},{label:"RealExponent",type:"keyword",info:"RealExponent[x] gives log ( x ).RealExponent[x, b] gives log ( x ).\n 10"},{label:"Reals",type:"keyword",info:"Reals represents the domain of real numbers, as in x ∈ Reals. "},{label:"RealSign",type:"keyword",info:"RealSign[x] gives -1, 0 or 1 depending on whether x is negative, zero or positive. "},{label:"Reap",type:"keyword",info:"Reap[expr] gives the value of expr together with all expressions to which Sow has been applied durin"},{label:"RebuildPacletData",type:"keyword",info:"The experimental function RebuildPacletData is now obsolete and is superseded by PacletDataRebuild."},{label:"RecalibrationFunction",type:"keyword",info:"RecalibrationFunction is an option for Classify, Predict and related functions that specifies how to"},{label:"RecognitionPrior",type:"keyword",info:"RecognitionPrior is an option for recognition functions that specifies the prior probability or clas"},{label:"RecognitionThreshold",type:"keyword",info:"RecognitionThreshold is an option for ImageInstanceQ and related functions that specifies the minimu"},{label:"Record",type:"keyword",info:"Record represents a record in Read, Find, and related functions. "},{label:"RecordLists",type:"keyword",info:"RecordLists is an option for ReadList that specifies whether objects from separate records should be"},{label:"RecordSeparators",type:"keyword",info:"RecordSeparators is an option for Read, Find, and related functions that specifies the list of strin"},{label:"Rectangle",type:"keyword",info:"Rectangle[{x , y }, {x , y }] represents an axis-aligned filled rectangle from {x , y } "},{label:"RectangleBox",type:"keyword",info:"System`RectangleBox"},{label:"RectangleBoxOptions",type:"keyword",info:"RectangleBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Rectang"},{label:"RectangleChart",type:"keyword",info:"RectangleChart[{{x , y }, {x , y }, …}] makes a rectangle chart with bars of width x and height y ."},{label:"RectangleChart3D",type:"keyword",info:"RectangleChart3D[{{x , y , z }, {x , y , z }, …}] makes a 3D rectangle chart with bars of width x , "},{label:"RectangularRepeatingElement",type:"keyword",info:"RectangularRepeatingElement[elem] represents a rectangular array of elements of type spec in an inte"},{label:"RecurrenceFilter",type:"keyword",info:"RecurrenceFilter[{Î\\[PlusMinus], Î.b2}, x] filters x using a linear recurrence equation with coefficients Î\\[PlusMinus] and Î.b2.R"},{label:"RecurrenceTable",type:"keyword",info:"RecurrenceTable[eqns, expr, {n, n }] generates a list of values of expr for successive n based on "},{label:"RecurringDigitsForm",type:"keyword",info:"System`RecurringDigitsForm"},{label:"Red",type:"keyword",info:"Red represents the color red in graphics or style specifications. "},{label:"Reduce",type:"keyword",info:"Reduce[expr, vars] reduces the statement expr by solving equations or inequalities for vars and elim"},{label:"RefBox",type:"keyword",info:"System`RefBox"},{label:"ReferenceLineStyle",type:"keyword",info:"ReferenceLineStyle is an option for QuantilePlot and similar functions that specifies the style used"},{label:"ReferenceMarkers",type:"keyword",info:"System`ReferenceMarkers"},{label:"ReferenceMarkerStyle",type:"keyword",info:"System`ReferenceMarkerStyle"},{label:"Refine",type:"keyword",info:"Refine[expr, assum] gives the form of expr that would be obtained if symbols in it were replaced by "},{label:"ReflectionMatrix",type:"keyword",info:"ReflectionMatrix[v] gives the matrix that represents reflection of points in a mirror normal to the "},{label:"ReflectionTransform",type:"keyword",info:"ReflectionTransform[v] gives a TransformationFunction that represents a reflection in a mirror throu"},{label:"Refresh",type:"keyword",info:"Refresh[expr, opts] represents an object whose value in a Dynamic should be refreshed at times speci"},{label:"RefreshRate",type:"keyword",info:"RefreshRate is an option to Animate and related functions which specifies the refresh rate for frame"},{label:"Region",type:"keyword",info:"Region[reg] represents a geometric region.Region[reg, options] gives a region that uses the specifie"},{label:"RegionBinarize",type:"keyword",info:"RegionBinarize[image, marker, d] gives a binary version of image that includes the foreground pixels"},{label:"RegionBoundary",type:"keyword",info:"RegionBoundary[reg] represents the boundary of the region reg."},{label:"RegionBoundaryStyle",type:"keyword",info:"RegionBoundaryStyle is an option for plotting functions that specifies the boundary style for the re"},{label:"RegionBounds",type:"keyword",info:'RegionBounds[reg] gives the bounds for the region reg.RegionBounds[reg, "type"] gives region bounds '},{label:"RegionCentroid",type:"keyword",info:"RegionCentroid[reg] gives the centroid of the region reg."},{label:"RegionCongruent",type:"keyword",info:"RegionCongruent[reg , reg ] tests whether the regions reg and reg are congruent.\n "},{label:"RegionConvert",type:"keyword",info:"RegionConvert[reg, form] converts the region representation reg to the specified form."},{label:"RegionDifference",type:"keyword",info:"RegionDifference[reg , reg ] gives the difference of the regions reg and reg .\n "},{label:"RegionDilation",type:"keyword",info:"RegionDilation[reg, r] gives the dilation of the region reg by a disk of radius r centered at the or"},{label:"RegionDimension",type:"keyword",info:"RegionDimension[reg] gives the geometric dimension of the region reg. "},{label:"RegionDisjoint",type:"keyword",info:"RegionDisjoint[reg , reg ] returns True if the regions reg and reg are disjoint. RegionDisjoint[re"},{label:"RegionDistance",type:"keyword",info:"RegionDistance[reg, p] gives the minimum distance from the point p to the region reg.RegionDistance["},{label:"RegionDistanceFunction",type:"keyword",info:"RegionDistanceFunction[reg, …] represents a function whose values give the distance from a point to"},{label:"RegionEmbeddingDimension",type:"keyword",info:"RegionEmbeddingDimension[reg] gives the dimension of the space in which the region reg is embedded. "},{label:"RegionEqual",type:"keyword",info:"RegionEqual[reg , reg ] returns True if the regions reg and reg are equal.RegionEqual[reg , reg , "},{label:"RegionErosion",type:"keyword",info:"RegionErosion[reg, r] gives the erosion of the region reg by a disk of radius r centered at the orig"},{label:"RegionFillingStyle",type:"keyword",info:"RegionFillingStyle is an option for plotting functions that specifies the style for the filled regio"},{label:"RegionFit",type:"keyword",info:'RegionFit[{p , p , …}, "model"] finds a geometric region "model" that best fits the points p , p , …'},{label:"RegionFunction",type:"keyword",info:"RegionFunction is an option for plotting functions that specifies the region to include in the plot "},{label:"RegionImage",type:"keyword",info:"RegionImage[reg] returns a rasterized grayscale 2D or 3D image of reg.RegionImage[reg, {{x , x }"},{label:"RegionIntersection",type:"keyword",info:"RegionIntersection[reg , reg , …] gives the intersection of the regions reg , reg , ….\n "},{label:"RegionMeasure",type:"keyword",info:"RegionMeasure[reg] gives the measure of the region reg.RegionMeasure[reg, d] gives the d-dimensional"},{label:"RegionMember",type:"keyword",info:"RegionMember[reg, {x, y, …}] gives True if the numeric point {x, y, …} is a member of the constant r"},{label:"RegionMemberFunction",type:"keyword",info:"RegionMemberFunction[reg, …] represents a function whose values give whether a point is in a region"},{label:"RegionMoment",type:"keyword",info:" i i i\nRegionMoment"},{label:"RegionNearest",type:"keyword",info:"RegionNearest[reg, p] gives a point in the region reg that is nearest the point p. RegionNearest[reg"},{label:"RegionNearestFunction",type:"keyword",info:"RegionNearestFunction[reg, …] represents a function whose values give the nearest point in the regi"},{label:"RegionPlot",type:"keyword",info:"RegionPlot[pred, {x, x , x }, {y, y , y }] makes a plot showing the region in which pred is "},{label:"RegionPlot3D",type:"keyword",info:"RegionPlot3D[pred, {x, x , x }, {y, y , y }, {z, z , z }] makes a plot showing the three"},{label:"RegionProduct",type:"keyword",info:"RegionProduct[reg , reg ] represents the Cartesian product of the regions reg and reg .RegionProduc"},{label:"RegionQ",type:"keyword",info:"RegionQ[reg] gives True if reg is a valid region and False otherwise. "},{label:"RegionResize",type:"keyword",info:"RegionResize[reg, l] resize the region reg to have the first side length l preserving side length ra"},{label:"RegionSimilar",type:"keyword",info:"RegionSimilar[reg , reg ] tests whether the regions reg and reg are similar.\n 1 "},{label:"RegionSize",type:"keyword",info:"RegionSize is an option used by Printout3D to specify the overall size of an object to print for a r"},{label:"RegionSymmetricDifference",type:"keyword",info:"RegionSymmetricDifference[reg , reg , …] represents the symmetric difference of the regions reg , re"},{label:"RegionUnion",type:"keyword",info:"RegionUnion[reg , reg , …] gives the union of the regions reg , reg , ….\n 1 2 "},{label:"RegionWithin",type:"keyword",info:"RegionWithin[reg , reg ] returns True if reg is contained within reg .\n 1 2 "},{label:"RegisterExternalEvaluator",type:"keyword",info:"RegisterExternalEvaluator[sys, target] registers the target for use as an external evaluator with th"},{label:"RegularExpression",type:"keyword",info:'RegularExpression["regex"] represents the generalized regular expression specified by the string "re'},{label:"Regularization",type:"keyword",info:"Regularization is an option for Sum and Product that specifies what type of regularization to use."},{label:"RegularlySampledQ",type:"keyword",info:"RegularlySampledQ[tseries] gives True if tseries is a regular time series, and False otherwise."},{label:"RegularPolygon",type:"keyword",info:"RegularPolygon[n] gives the regular polygon with n vertices equally spaced around the unit circle.Re"},{label:"ReIm",type:"keyword",info:"ReIm[z] gives the list {Re[z], Im[z]} of the number z."},{label:"ReImLabels",type:"keyword",info:"ReImLabels is an option for ReImPlot that specifies labels to use for the real and imaginary compone"},{label:"ReImPlot",type:"keyword",info:"ReImPlot[f, {x, x , x }] generates a plot of Re[f] and Im[f] as functions of x ∈ ïž\\[Micro] from x to "},{label:"ReImStyle",type:"keyword",info:"ReImStyle is an option for ReImPlot that specifies styles to use for the real and imaginary componen"},{label:"Reinstall",type:"keyword",info:"Reinstall[link] un-installs the specified external package and installs it again."},{label:"RelationalDatabase",type:"keyword",info:"RelationalDatabase[…] represents schema information about a relational database.RelationalDatabase[d"},{label:"RelationGraph",type:"keyword",info:"RelationGraph[f, {v , v , …}] gives the graph with vertices v and edges from v to v whenever f[v "},{label:"Release",type:"keyword",info:"System`Release"},{label:"ReleaseHold",type:"keyword",info:"ReleaseHold[expr] removes Hold, HoldForm, HoldPattern, and HoldComplete in expr. "},{label:"ReliabilityDistribution",type:"keyword",info:"ReliabilityDistribution[bexpr, {{x , dist }, {x , dist }, …}] represents the reliability distributio"},{label:"ReliefImage",type:"keyword",info:"ReliefImage[array] generates a relief image of an array of height values. "},{label:"ReliefPlot",type:"keyword",info:"ReliefPlot[array] generates a relief plot of an array of height values. "},{label:"RemoteAuthorizationCaching",type:"keyword",info:"RemoteAuthorizationCaching is an option for RemoteConnect and related functions that determines whet"},{label:"RemoteBatchJobAbort",type:"keyword",info:"RemoteBatchJobAbort[job] aborts a remote batch job."},{label:"RemoteBatchJobObject",type:"keyword",info:"RemoteBatchJobObject[…] represents a remote batch job submitted by RemoteBatchSubmit or RemoteBatchM"},{label:"RemoteBatchJobs",type:"keyword",info:"RemoteBatchJobs[env] gives a list of RemoteBatchJobObject expressions representing batch jobs submit"},{label:"RemoteBatchMapSubmit",type:"keyword",info:"RemoteBatchMapSubmit[env, f, list] submits an array batch job in which f is applied to each element "},{label:"RemoteBatchSubmissionEnvironment",type:"keyword",info:'RemoteBatchSubmissionEnvironment["provider", assoc] represents a remote batch job submission environ'},{label:"RemoteBatchSubmit",type:"keyword",info:"RemoteBatchSubmit[env, expr] submits expr for evaluation using the remote batch submission environme"},{label:"RemoteConnect",type:"keyword",info:'RemoteConnect["host"] connects to the specified remote host.RemoteConnect[IPAddress["address"]] conn'},{label:"RemoteConnectionObject",type:"keyword",info:"RemoteConnectionObject[…] is an object that represents a remote connection."},{label:"RemoteEvaluate",type:"keyword",info:"RemoteEvaluate[expr] gives the result of evaluating expr using your current default remote Wolfram L"},{label:"RemoteFile",type:"keyword",info:'RemoteFile[URL["uri"]] is a symbolic representation of a file on a remote machine.'},{label:"RemoteInputFiles",type:"keyword",info:"RemoteInputFiles is an option for RemoteBatchSubmit and RemoteBatchMapSubmit that specifies local fi"},{label:"RemoteKernelObject",type:"keyword",info:"RemoteKernelObject[spec] specifies a remote kernel that can be used for RemoteEvaluate or LaunchKern"},{label:"RemoteProviderSettings",type:"keyword",info:"RemoteProviderSettings is an option for RemoteBatchSubmit and RemoteBatchMapSubmit that specifies pr"},{label:"RemoteRun",type:"keyword",info:'RemoteRun["host", "command"] runs the specified operating system command on the remote host, returni'},{label:"RemoteRunProcess",type:"keyword",info:'RemoteRunProcess["host", "command"] runs the specified system command on the remote host, returning '},{label:"RemovalConditions",type:"keyword",info:"RemovalConditions is an option for AttachCell that specifies conditions under which to remove the at"},{label:"Remove",type:"keyword",info:"Remove[symbol , …] removes symbols completely, so that their names are no longer recognized by the W"},{label:"RemoveAlphaChannel",type:"keyword",info:"RemoveAlphaChannel[color] removes opacity from color.RemoveAlphaChannel[color, bg] removes opacity b"},{label:"RemoveAsynchronousTask",type:"keyword",info:"RemoveAsynchronousTask[asyncTask] stops asynchronous evaluations and removes asyncTask from the syst"},{label:"RemoveAudioStream",type:"keyword",info:"RemoveAudioStream[] deletes all AudioStream objects.RemoveAudioStream[stream] deletes the AudioStrea"},{label:"RemoveBackground",type:"keyword",info:"RemoveBackground[image] returns an image with an alpha channel where the background is transparent. "},{label:"RemoveChannelListener",type:"keyword",info:"RemoveChannelListener[obj] removes obj from the list of currently active channel listeners.RemoveCha"},{label:"RemoveChannelSubscribers",type:"keyword",info:"RemoveChannelSubscribers[channel] removes all subscribers from the specified channel.RemoveChannelSu"},{label:"Removed",type:"keyword",info:"Removed[string] is printed to indicate a symbol that has been removed."},{label:"RemoveDiacritics",type:"keyword",info:"RemoveDiacritics[string] replaces characters in string that have diacritics by their base ASCII char"},{label:"RemoveInputStreamMethod",type:"keyword",info:'RemoveInputStreamMethod["name"] removes a custom input stream method.'},{label:"RemoveOutputStreamMethod",type:"keyword",info:'RemoveOutputStreamMethod["name"] removes a custom output stream method.'},{label:"RemoveProperty",type:"keyword",info:"RemoveProperty[{obj, itemspec}] removes all properties associated with itemspec in obj.RemovePropert"},{label:"RemoveScheduledTask",type:"keyword",info:"RemoveScheduledTask[obj] removes obj from the list of currently scheduled local or cloud tasks."},{label:"RemoveUsers",type:"keyword",info:"RemoveUsers[group, {user , …}] removes the users user from the permissions group group.\n "},{label:"RemoveVideoStream",type:"keyword",info:"RemoveVideoStream[] deletes all VideoStream objects.RemoveVideoStream[stream] deletes the VideoStrea"},{label:"RenameDirectory",type:"keyword",info:"RenameDirectory[dir , dir ] renames the directory dir to dir . \n 1 2 "},{label:"RenameFile",type:"keyword",info:"RenameFile[file , file ] renames file to file . \n 1 2 1 2"},{label:"RenderAll",type:"keyword",info:"RenderAll is an option for Graphics3D that specifies whether or not PostScript should be generated f"},{label:"RenderingOptions",type:"keyword",info:"RenderingOptions is an option for Style, Cell and related constructs that specifies options related "},{label:"RenewalProcess",type:"keyword",info:"RenewalProcess[rdist] represents a renewal process with interarrival times distributed according to "},{label:"RenkoChart",type:"keyword",info:"RenkoChart[{{date , p }, {date , p }, …}] makes a Renko chart with prices p at date date .RenkoChar"},{label:"RepairMesh",type:"keyword",info:"RepairMesh[mreg] repairs defects in the mesh region mreg.RepairMesh[mreg, {def , …}] repairs only th"},{label:"Repeated",type:"keyword",info:"p .. or Repeated[p] is a pattern object that represents a sequence of one or more expressions, each "},{label:"RepeatedNull",type:"keyword",info:"p ... or RepeatedNull[p] is a pattern object that represents a sequence of zero or more expressions,"},{label:"RepeatedString",type:"keyword",info:"RepeatedString is an internal symbol used for formatting and printing."},{label:"RepeatedTiming",type:"keyword",info:"RepeatedTiming[expr] evaluates expr repeatedly and returns a list of the average time in seconds use"},{label:"RepeatingElement",type:"keyword",info:"RepeatingElement[spec] represents an arbitrarily repeated type of element in an interpreter, API or "},{label:"Replace",type:"keyword",info:"Replace[expr, rules] applies a rule or list of rules in an attempt to transform the entire expressio"},{label:"ReplaceAll",type:"keyword",info:"expr/.rules or ReplaceAll[expr, rules] applies a rule or list of rules in an attempt to transform ea"},{label:"ReplaceHeldPart",type:"keyword",info:"System`ReplaceHeldPart"},{label:"ReplaceImageValue",type:"keyword",info:"ReplaceImageValue[image, pos  val] changes the pixel values at position pos in image to val.Replace"},{label:"ReplaceList",type:"keyword",info:"ReplaceList[expr, rules] attempts to transform the entire expression expr by applying a rule or list"},{label:"ReplacePart",type:"keyword",info:" th\nReplacePart[expr, i  new] yields"},{label:"ReplacePixelValue",type:"keyword",info:"ReplacePixelValue[image, ppos  val] changes the pixel values at pixel position ppos in image to val"},{label:"ReplaceRepeated",type:"keyword",info:"expr//.rules repeatedly performs replacements until expr no longer changes. ReplaceRepeated[rules] r"},{label:"ReplicateLayer",type:"keyword",info:"ReplicateLayer[n] represents a net layer that takes an input of dimensions {d , d , …} and replicate"},{label:"RequiredPhysicalQuantities",type:"keyword",info:"RequiredPhysicalQuantities is an option for FormulaLookup that specifies physical quantities that mu"},{label:"Resampling",type:"keyword",info:"Resampling is an option that specifies the method to be used for resampling images or arrays."},{label:"ResamplingAlgorithmData",type:"keyword",info:'ResamplingAlgorithmData[rs, "prop"] gives the specified property "prop" for the resampling rs.'},{label:"ResamplingMethod",type:"keyword",info:"ResamplingMethod is an option for functions such as TemporalData and MovingMap that specifies how va"},{label:"Rescale",type:"keyword",info:"Rescale[x, {min, max}] gives x rescaled to run from 0 to 1 over the range min to max. Rescale[x, {mi"},{label:"RescalingTransform",type:"keyword",info:"RescalingTransform[{{x , x }, {y , y }, …}, {{xp , xp }, …}] gives a TransformationFunct"},{label:"ResetDirectory",type:"keyword",info:"ResetDirectory[] resets the current working directory to its previous value. "},{label:"ResetMenusPacket",type:"keyword",info:"System`ResetMenusPacket"},{label:"ResetScheduledTask",type:"keyword",info:"ResetScheduledTask[obj, timespec] resets the timing for a scheduled task to timespec.ResetScheduled"},{label:"ReshapeLayer",type:"keyword",info:"ReshapeLayer[dims] represents a net layer that reinterprets the input to be an array of dimensions d"},{label:"Residue",type:"keyword",info:"Residue[expr, {z, z }] finds the residue of expr at the point z = z . \n 0 "},{label:"ResizeLayer",type:"keyword",info:"ResizeLayer[{d}] represents a layer performing one-dimensional resizing of a two-dimensional array.R"},{label:"Resolve",type:"keyword",info:"Resolve[expr] attempts to resolve expr into a form that eliminates ForAll and Exists quantifiers. Re"},{label:"ResolveContextAliases",type:"keyword",info:"ResolveContextAliases is an option for Names, Contexts and related functions to control whether to r"},{label:"ResourceAcquire",type:"keyword",info:"System`ResourceAcquire"},{label:"ResourceData",type:"keyword",info:"ResourceData[resource] gives the primary content of the specified resource.ResourceData[resource, el"},{label:"ResourceFunction",type:"keyword",info:"ResourceFunction[resource] represents the function associated with the specified resource.ResourceFu"},{label:"ResourceObject",type:"keyword",info:'ResourceObject["name"] represents a resource with the specified name.ResourceObject["uuid"] represen'},{label:"ResourceRegister",type:"keyword",info:"ResourceRegister[resource] creates a persistent cache of a resource object that can be referenced by"},{label:"ResourceRemove",type:"keyword",info:"ResourceRemove[resource] removes the specified resource from the system on which it is run."},{label:"ResourceSearch",type:"keyword",info:"ResourceSearch[form] gives a dataset of resources that contain text matching form.ResourceSearch[for"},{label:"ResourceSubmissionObject",type:"keyword",info:"System`ResourceSubmissionObject"},{label:"ResourceSubmit",type:"keyword",info:"ResourceSubmit[resource] submits the specified resource object to be reviewed for publication.Resour"},{label:"ResourceSystemBase",type:"keyword",info:"ResourceSystemBase is an option for ResourceObject, ResourceSearch and related functions specifying "},{label:"ResourceSystemPath",type:"keyword",info:"ResourceSystemPath is an option for ResourceObject, ResourceSearch and related functions for specify"},{label:"ResourceUpdate",type:"keyword",info:"ResourceUpdate[resource] updates to the latest version of the specified resource object.ResourceUpda"},{label:"ResourceVersion",type:"keyword",info:"ResourceVersion is an option for ResourceObject, ResourceFunction and related functions for specifyi"},{label:"ResponseForm",type:"keyword",info:'ResponseForm[expr, "fmt"] represents a response record to be given in a specified format when reques'},{label:"Rest",type:"keyword",info:"Rest[expr] gives expr with the first element removed. "},{label:"RestartInterval",type:"keyword",info:"RestartInterval is an option controlling the restart behavior of functions such as ContinuousTask."},{label:"Restricted",type:"keyword",info:"Restricted[form, cond, …] represents a form for Interpreter and related functions restricted accordi"},{label:"Resultant",type:"keyword",info:"Resultant[poly , poly , var] computes the resultant of the polynomials poly and poly with respect "},{label:"ResumePacket",type:"keyword",info:"ResumePacket[] is a WSTP packet used for synchronization with the Wolfram Language kernel."},{label:"Return",type:"keyword",info:"Return[expr] returns the value expr from a function. Return[] returns the value Null. \n"},{label:"ReturnCreatesNewCell",type:"keyword",info:"System`ReturnCreatesNewCell"},{label:"ReturnEntersInput",type:"keyword",info:"System`ReturnEntersInput"},{label:"ReturnExpressionPacket",type:"keyword",info:"ReturnExpressionPacket[expr] is a WSTP packet that contains the expression expr, the result of an En"},{label:"ReturnInputFormPacket",type:"keyword",info:"ReturnInputFormPacket is an internal symbol used for formatting."},{label:"ReturnPacket",type:"keyword",info:"ReturnPacket[expr] is a WSTP packet that contains the expression expr, the result of an EvaluatePack"},{label:"ReturnReceiptFunction",type:"keyword",info:"ReturnReceiptFunction is an option for MailReceiverFunction that specifies what function to apply if"},{label:"ReturnTextPacket",type:"keyword",info:"ReturnTextPacket[string] is a WSTP packet containing string, the result of an EnterTextPacket evalua"},{label:"Reverse",type:"keyword",info:"Reverse[expr] reverses the order of the elements in expr. Reverse[expr, n] reverses elements at leve"},{label:"ReverseApplied",type:"keyword",info:"ReverseApplied[f] represents a form of f that takes arguments in reverse order so that ReverseApplie"},{label:"ReverseBiorthogonalSplineWavelet",type:"keyword",info:"ReverseBiorthogonalSplineWavelet[] represents a reverse biorthogonal spline wavelet of order 4 and d"},{label:"ReverseElement",type:"keyword",info:"ReverseElement[x, y, …] displays as x ∋ y ∋ …."},{label:"ReverseEquilibrium",type:"keyword",info:"ReverseEquilibrium[x, y, …] displays as x ⇋ y ⇋ …."},{label:"ReverseGraph",type:"keyword",info:"ReverseGraph[g] gives the reverse graph of the directed graph g.ReverseGraph[{v  w, …}] uses rules "},{label:"ReverseSort",type:"keyword",info:"ReverseSort[list] sorts the elements of list into reverse canonical order. ReverseSort[list, p] sort"},{label:"ReverseSortBy",type:"keyword",info:"ReverseSortBy[list, f] sorts the elements of list using the reverse canonical order defined by apply"},{label:"ReverseUpEquilibrium",type:"keyword",info:"ReverseUpEquilibrium[x, y, …] displays as x ⥯ y ⥯ …."},{label:"RevolutionAxis",type:"keyword",info:"RevolutionAxis is an option for RevolutionPlot3D which specifies the revolution axis around which th"},{label:"RevolutionPlot3D",type:"keyword",info:"RevolutionPlot3D[f , {t, t , t }] generates a plot of the surface of revolution with height f a"},{label:"RGBColor",type:"keyword",info:"RGBColor[r, g, b] represents a color in the RGB color space with red, blue and green components. RGB"},{label:"RiccatiSolve",type:"keyword",info:" "},{label:"RiceDistribution",type:"keyword",info:"RiceDistribution[Î\\[PlusMinus], Î.b2] represents a Rice distribution with shape parameters Î\\[PlusMinus] and Î.b2.RiceDistribution"},{label:"RidgeFilter",type:"keyword",info:"RidgeFilter[data] computes a measure for the presence of a ridge at every position of data.RidgeFilt"},{label:"RiemannR",type:"keyword",info:"RiemannR[x] gives the Riemann prime counting function R(x)."},{label:"RiemannSiegelTheta",type:"keyword",info:"RiemannSiegelTheta[t] gives the Riemann–Siegel function ϑ(t). "},{label:"RiemannSiegelZ",type:"keyword",info:"RiemannSiegelZ[t] gives the Riemann–Siegel function Z(t). "},{label:"RiemannXi",type:"keyword",info:"RiemannXi[s] gives the Riemann xi function ξ(s)."},{label:"Riffle",type:"keyword",info:" "},{label:"Right",type:"keyword",info:"Right is a symbol that represents the right-hand side for purposes of alignment and positioning. "},{label:"RightArrow",type:"keyword",info:"RightArrow[x, y, …] displays as x → y → …."},{label:"RightArrowBar",type:"keyword",info:"RightArrowBar[x, y, …] displays as x ⇥ y ⇥ …."},{label:"RightArrowLeftArrow",type:"keyword",info:"RightArrowLeftArrow[x, y, …] displays as x ⇄ y ⇄ …."},{label:"RightComposition",type:"keyword",info:"RightComposition[f , f , f , …] represents a composition on the right of the functions f , f , f , …"},{label:"RightCosetRepresentative",type:"keyword",info:"RightCosetRepresentative[group, g] returns the smallest element in the right coset of products of th"},{label:"RightDownTeeVector",type:"keyword",info:"RightDownTeeVector[x, y, …] displays as x ⥝ y ⥝ …."},{label:"RightDownVector",type:"keyword",info:"RightDownVector[x, y, …] displays as x ⇂ y ⇂ …."},{label:"RightDownVectorBar",type:"keyword",info:"RightDownVectorBar[x, y, …] displays as x ⥕ y ⥕ …."},{label:"RightTee",type:"keyword",info:"RightTee[x, y] displays as x ⊢ y."},{label:"RightTeeArrow",type:"keyword",info:"RightTeeArrow[x, y, …] displays as x ↦ y ↦ …."},{label:"RightTeeVector",type:"keyword",info:"RightTeeVector[x, y, …] displays as x ⥛ y ⥛ …."},{label:"RightTriangle",type:"keyword",info:"RightTriangle[x, y, …] displays as x âŠ.b3 y âŠ.b3 …."},{label:"RightTriangleBar",type:"keyword",info:"RightTriangleBar[x, y, …] displays as x ⧐ y ⧐ …."},{label:"RightTriangleEqual",type:"keyword",info:"RightTriangleEqual[x, y, …] displays as x âŠ\\[Micro] y âŠ\\[Micro] …."},{label:"RightUpDownVector",type:"keyword",info:"RightUpDownVector[x, y, …] displays as x ⥏ y ⥏ …."},{label:"RightUpTeeVector",type:"keyword",info:"RightUpTeeVector[x, y, …] displays as x ⥜ y ⥜ …."},{label:"RightUpVector",type:"keyword",info:"RightUpVector[x, y, …] displays as x ↾ y ↾ …."},{label:"RightUpVectorBar",type:"keyword",info:"RightUpVectorBar[x, y, …] displays as x ⥔ y ⥔ …."},{label:"RightVector",type:"keyword",info:"RightVector[x, y, …] displays as x ⇀ y ⇀ …."},{label:"RightVectorBar",type:"keyword",info:"RightVectorBar[x, y, …] displays as x ⥓ y ⥓ …."},{label:"RipleyK",type:"keyword",info:"RipleyK[pdata, r] estimates Ripley's K function K(r) at radius r for point data pdata.RipleyK[pproc,"},{label:"RipleyRassonRegion",type:"keyword",info:"RipleyRassonRegion[pdata] gives an estimated observation based on the point data pdata. "},{label:"RiskAchievementImportance",type:"keyword",info:"RiskAchievementImportance[rdist, t] gives the risk achievement importances for all components in the"},{label:"RiskReductionImportance",type:"keyword",info:"RiskReductionImportance[rdist, t] gives the risk reduction importances for all components in the Rel"},{label:"RobustConvexOptimization",type:"keyword",info:"RobustConvexOptimization[f, ForAll[pars, pcons, vcons], vars] finds values of vars that give the min"},{label:"RogersTanimotoDissimilarity",type:"keyword",info:"RogersTanimotoDissimilarity[u, v] gives the Rogers–Tanimoto dissimilarity between Boolean vectors u "},{label:"RollPitchYawAngles",type:"keyword",info:"RollPitchYawAngles[r] gives the roll-pitch-yaw angles {Î\\[PlusMinus], Î.b2, Î.b3} corresponding to the rotation matrix"},{label:"RollPitchYawMatrix",type:"keyword",info:"RollPitchYawMatrix[{Î\\[PlusMinus], Î.b2, Î.b3}] gives the 3D rotation matrix formed by rotating by Î\\[PlusMinus] around the initia"},{label:"RomanNumeral",type:"keyword",info:"RomanNumeral[n] gives a string corresponding to the Roman numeral form of the integer n."},{label:"Root",type:"keyword",info:" "},{label:"RootApproximant",type:"keyword",info:'RootApproximant[x] converts the number x to one of the "simplest" algebraic numbers that approximate'},{label:"RootIntervals",type:"keyword",info:"RootIntervals[{poly , poly , …}] gives a list of isolating intervals for the real roots of any of th"},{label:"RootLocusPlot",type:"keyword",info:"RootLocusPlot[lsys, {k, k , k }] generates a root locus plot of a linear time-invariant system l"},{label:"RootMeanSquare",type:"keyword",info:"RootMeanSquare[list] gives the root mean square of values in list.RootMeanSquare[dist] gives the roo"},{label:"RootOfUnityQ",type:"keyword",info:"RootOfUnityQ[a] yields True if a is a root of unity, and yields False otherwise."},{label:"RootReduce",type:"keyword",info:"RootReduce[expr] attempts to reduce expr to a single Root object. "},{label:"Roots",type:"keyword",info:"Roots[lhs == rhs, var] yields a disjunction of equations which represent the roots of a polynomial e"},{label:"RootSum",type:"keyword",info:"RootSum[f, form] represents the sum of form[x] for all x that satisfy the polynomial equation f[x] ="},{label:"Rotate",type:"keyword",info:"Rotate[g, θ] represents 2D graphics primitives or any other objects g rotated counterclockwise by θ "},{label:"RotateLabel",type:"keyword",info:"RotateLabel is an option for graphics and related functions that specifies whether labels on vertica"},{label:"RotateLeft",type:"keyword",info:"RotateLeft[expr, n] cycles the elements in expr n positions to the left. RotateLeft[expr] cycles one"},{label:"RotateRight",type:"keyword",info:"RotateRight[expr, n] cycles the elements in expr n positions to the right. RotateRight[expr] cycles "},{label:"RotationAction",type:"keyword",info:"RotationAction is an option for three-dimensional graphics functions that specifies how to render 3D"},{label:"RotationBox",type:"keyword",info:"System`RotationBox"},{label:"RotationBoxOptions",type:"keyword",info:"RotationBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Rotation"},{label:"RotationMatrix",type:"keyword",info:"RotationMatrix[θ] gives the 2D rotation matrix that rotates 2D vectors counterclockwise by θ radians"},{label:"RotationTransform",type:"keyword",info:"RotationTransform[θ] gives a TransformationFunction that represents a rotation in 2D by θ radians ab"},{label:"Round",type:"keyword",info:"Round[x] gives the integer closest to x. Round[x, a] rounds to the nearest multiple of a. \n"},{label:"RoundImplies",type:"keyword",info:"System`RoundImplies"},{label:"RoundingRadius",type:"keyword",info:"RoundingRadius is an option for Rectangle, Framed, and related functions that specifies the radius o"},{label:"Row",type:"keyword",info:"Row[{expr , expr , …}] is an object that formats with the expr arranged in a row, potentially exten"},{label:"RowAlignments",type:"keyword",info:"RowAlignments is an option for the low-level function GridBox that specifies how entries in each row"},{label:"RowBackgrounds",type:"keyword",info:"System`RowBackgrounds"},{label:"RowBox",type:"keyword",info:"RowBox[{box , box , …}] is a low-level box construct that represents a row of boxes or strings in a "},{label:"RowHeights",type:"keyword",info:"System`RowHeights"},{label:"RowLines",type:"keyword",info:"RowLines is an option for the low-level function GridBox that specifies whether lines should be draw"},{label:"RowMinHeight",type:"keyword",info:"RowMinHeight is an option for the low-level function GridBox that specifies the minimum total height"},{label:"RowReduce",type:"keyword",info:"RowReduce[m] gives the row‐reduced form of the matrix m. "},{label:"RowsEqual",type:"keyword",info:"RowsEqual is an option for the low-level function GridBox that specifies whether all rows in the gri"},{label:"RowSpacings",type:"keyword",info:"RowSpacings is an option for the low-level function GridBox that specifies the spaces in x heights t"},{label:"RSolve",type:"keyword",info:"RSolve[eqn, a[n], n] solves a recurrence equation for a[n]. RSolve[{eqn , eqn , …}, {a [n], a [n], …"},{label:"RSolveValue",type:"keyword",info:"RSolveValue[eqn, expr, n] gives the value of expr determined by a symbolic solution to the ordinary "},{label:"RudinShapiro",type:"keyword",info:" th\nRudinShapiro[n] gives the n term in the Rudin–Shapiro sequence."},{label:"RudvalisGroupRu",type:"keyword",info:"RudvalisGroupRu[] represents the sporadic simple Rudvalis group Ru."},{label:"Rule",type:"keyword",info:"lhs -> rhs or lhs  rhs represents a rule that transforms lhs to rhs. "},{label:"RuleCondition",type:"keyword",info:"RuleCondition is an internal symbol."},{label:"RuleDelayed",type:"keyword",info:"lhs :> rhs or lhs  rhs represents a rule that transforms lhs to rhs, evaluating rhs only after the "},{label:"RuleForm",type:"keyword",info:"RuleForm is an internal symbol used for formatting and printing."},{label:"RulePlot",type:"keyword",info:"RulePlot[sys] generates a plot representing the rule for the computational system sys.RulePlot[sys, "},{label:"RulerUnits",type:"keyword",info:"RulerUnits is an option for notebooks that specifies the units in the ruler toolbar."},{label:"RulesTree",type:"keyword",info:"RulesTree[data  {rule , rule , …}] gives a tree whose root contains data and that has children spec"},{label:"Run",type:"keyword",info:'Run["command"] runs command as an external operating system command, returning the exit code obtaine'},{label:"RunProcess",type:"keyword",info:'RunProcess["command"] runs the specified external command, returning information on the outcome.\nRun'},{label:"RunScheduledTask",type:"keyword",info:"RunScheduledTask[expr] schedules and starts a local scheduled task that will repeatedly evaluate exp"},{label:"RunThrough",type:"keyword",info:'RunThrough["command", expr] executes an external command, giving the printed form of expr as input a'},{label:"RuntimeAttributes",type:"keyword",info:"RuntimeAttributes is an option for Compile that specifies attributes for the compiled function it cr"},{label:"RuntimeOptions",type:"keyword",info:"RuntimeOptions is an option for Compile that specifies runtime settings for the compiled function it"},{label:"RussellRaoDissimilarity",type:"keyword",info:"RussellRaoDissimilarity[u, v] gives the Russell–Rao dissimilarity between Boolean vectors u and v."},{label:"SameQ",type:"keyword",info:"lhs === rhs yields True if the expression lhs is identical to rhs, and yields False otherwise. "},{label:"SameTest",type:"keyword",info:"SameTest is an option whose setting gives a pairwise comparison function to determine whether expres"},{label:"SameTestProperties",type:"keyword",info:"SameTestProperties is an option for set operations on entity classes whose setting gives the propert"},{label:"SampledEntityClass",type:"keyword",info:"SampledEntityClass[class, n] represents an entity class containing n entities from class.SampledEnti"},{label:"SampleDepth",type:"keyword",info:"SampleDepth is an option for sound primitives that specifies how many bits should be used to encode "},{label:"SampledSoundFunction",type:"keyword",info:"SampledSoundFunction[f, n, r] is a sound primitive that represents a sound whose amplitude sampled r"},{label:"SampledSoundList",type:"keyword",info:"SampledSoundList[{a , a , …}, r] is a sound primitive that represents a sound whose amplitude has le"},{label:"SampleRate",type:"keyword",info:"SampleRate is an option that specifies the number of samples per second for sound and signal process"},{label:"SamplingPeriod",type:"keyword",info:"SamplingPeriod is an option to StateSpaceModel etc. that specifies the sampling period."},{label:"SARIMAProcess",type:"keyword",info:"SARIMAProcess[{a , …, a }, d, {b , …, b }, {s, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, Î.b4, {Î.b2 , …, Î.b2 }}, v] represents a seasona"},{label:"SARMAProcess",type:"keyword",info:"SARMAProcess[{a , …, a }, {b , …, b }, {s, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {Î.b2 , …, Î.b2 }}, v] represents a weakly station"},{label:"SASTriangle",type:"keyword",info:"SASTriangle[a, Î.b3, b] returns a filled triangle with sides of length a and b and angle Î.b3 between them"},{label:"SatelliteData",type:"keyword",info:"SatelliteData[entity, property] gives the value of the specified property for the satellite entity.S"},{label:"SatisfiabilityCount",type:"keyword",info:"SatisfiabilityCount[bf] counts the number of possible combinations of variable values that yield Tru"},{label:"SatisfiabilityInstances",type:"keyword",info:"SatisfiabilityInstances[bf] attempts to find a choice of variables that makes the Boolean function b"},{label:"SatisfiableQ",type:"keyword",info:"SatisfiableQ[bf] gives True if a combination of values of variables exists that makes the Boolean fu"},{label:"Saturday",type:"keyword",info:"Saturday is a day of the week."},{label:"Save",type:"keyword",info:'Save["filename", symbol] appends definitions associated with the specified symbol to a file. Save["f'},{label:"Saveable",type:"keyword",info:"Saveable is an option for notebooks that specifies whether a notebook can be saved."},{label:"SaveAutoDelete",type:"keyword",info:"System`SaveAutoDelete"},{label:"SaveConnection",type:"keyword",info:"SaveConnection is an option for ServiceConnect that determines whether the connection should be save"},{label:"SaveDefinitions",type:"keyword",info:"SaveDefinitions is an option to Manipulate and related functions that specifies whether current defi"},{label:"SavitzkyGolayMatrix",type:"keyword",info:" "},{label:"SawtoothWave",type:"keyword",info:"SawtoothWave[x] gives a sawtooth wave that varies from 0 to 1 with unit period.SawtoothWave[{min, ma"},{label:"Scale",type:"keyword",info:"Scale[g, s] represents graphics primitives g scaled by a factor s. Scale[g, s, {x, y, …}] scales wit"},{label:"Scaled",type:"keyword",info:"Scaled[{x, y, …}] gives the position of a graphical object in terms of coordinates scaled to run fro"},{label:"ScaleDivisions",type:"keyword",info:"ScaleDivisions is an option for gauge functions that specifies how many tick marks should be drawn o"},{label:"ScaledMousePosition",type:"keyword",info:"System`ScaledMousePosition"},{label:"ScaleOrigin",type:"keyword",info:"ScaleOrigin is an option for gauge functions that describes how to position the scale on the gauge."},{label:"ScalePadding",type:"keyword",info:"ScalePadding is an option for gauge functions that specifies how much space to leave around the scal"},{label:"ScaleRanges",type:"keyword",info:"ScaleRanges is an option for gauge functions that describes how to draw sections of the scale."},{label:"ScaleRangeStyle",type:"keyword",info:"ScaleRangeStyle is an option for gauge functions to describe how to style different sections of the "},{label:"ScalingFunctions",type:"keyword",info:"ScalingFunctions is an option for ListPlot, BarChart, Histogram, and other plotting functions that s"},{label:"ScalingMatrix",type:"keyword",info:"ScalingMatrix[{s , s , …}] gives the matrix corresponding to scaling by a factor s along each coord"},{label:"ScalingTransform",type:"keyword",info:"ScalingTransform[{s , s , …}] gives a TransformationFunction that represents scaling by a factor s "},{label:"Scan",type:"keyword",info:"Scan[f, expr] evaluates f applied to each element of expr in turn. Scan[f, expr, levelspec] applies "},{label:"ScheduledTask",type:"keyword",info:"ScheduledTask[expr, timespec] represents a scheduled task to be evaluated on the schedule defined by"},{label:"ScheduledTaskActiveQ",type:"keyword",info:"ScheduledTaskActiveQ[obj] yields True if obj represents an active task, and False otherwise."},{label:"ScheduledTaskInformation",type:"keyword",info:"ScheduledTaskInformation[CloudObject] returns information about a task.\nScheduledTaskInformation[Clo"},{label:"ScheduledTaskInformationData",type:"keyword",info:"System`ScheduledTaskInformationData"},{label:"ScheduledTaskObject",type:"keyword",info:"ScheduledTaskObject[id, expr, spec, …] is a task object specifying future evaluation of expr accordi"},{label:"ScheduledTasks",type:"keyword",info:"ScheduledTasks[] returns a list of ScheduledTaskObject and CloudObject expressions that represent cu"},{label:"SchurDecomposition",type:"keyword",info:"SchurDecomposition[m] yields the Schur decomposition for a numerical matrix m, given as a list {q, t"},{label:"ScientificForm",type:"keyword",info:"ScientificForm[expr] prints with all real numbers in expr given in scientific notation. ScientificFo"},{label:"ScientificNotationThreshold",type:"keyword",info:"ScientificNotationThreshold is an option for NumberForm and related functions that specifies the thr"},{label:"ScorerGi",type:"keyword",info:"ScorerGi[z] gives the Scorer function Gi(z)."},{label:"ScorerGiPrime",type:"keyword",info:" â€.b2\nScorerGiPrime[z] gives the derivati"},{label:"ScorerHi",type:"keyword",info:"ScorerHi[z] gives the Scorer function Hi(z)."},{label:"ScorerHiPrime",type:"keyword",info:" â€.b2\nScorerHiPrime[z] gives the derivati"},{label:"ScreenRectangle",type:"keyword",info:"ScreenRectangle is a global option that specifies the position of the primary screen by giving the c"},{label:"ScreenStyleEnvironment",type:"keyword",info:"ScreenStyleEnvironment is an option for notebooks that specifies the style environment to be used in"},{label:"ScriptBaselineShifts",type:"keyword",info:"ScriptBaselineShifts is an option for Style that specifies the minimum distance in x‐heights to shif"},{label:"ScriptForm",type:"keyword",info:"System`ScriptForm"},{label:"ScriptLevel",type:"keyword",info:"ScriptLevel is an option for selections that is used in determining the font size of modifiers such "},{label:"ScriptMinSize",type:"keyword",info:"ScriptMinSize is an option for Style which specifies the minimum font size to use in rendering subsc"},{label:"ScriptRules",type:"keyword",info:"System`ScriptRules"},{label:"ScriptSizeMultipliers",type:"keyword",info:"ScriptSizeMultipliers is an option for Style that specifies how much smaller to render each successi"},{label:"Scrollbars",type:"keyword",info:"Scrollbars is an option for Pane that specifies whether scrollbars should be displayed."},{label:"ScrollingOptions",type:"keyword",info:"ScrollingOptions is an option for notebooks that specifies settings for scrolling."},{label:"ScrollPosition",type:"keyword",info:"ScrollPosition is an option for Pane that specifies the scroll position of the contents of the pane."},{label:"SearchAdjustment",type:"keyword",info:"SearchAdjustment[query, w] represents a component of a search query that is to be treated as having "},{label:"SearchIndexObject",type:"keyword",info:"SearchIndexObject[loc] represents a search index object, as created by CreateSearchIndex.SearchIndex"},{label:"SearchIndices",type:"keyword",info:"SearchIndices[] returns a list with all the locally stored instances of SearchIndexObject."},{label:"SearchQueryString",type:"keyword",info:'SearchQueryString["query"] represents a search engine-style query in TextSearch and related function'},{label:"SearchResultObject",type:"keyword",info:"SearchResultObject[…] represents a result from TextSearch[…] and related functions."},{label:"Sec",type:"keyword",info:"Sec[z] gives the secant of z. "},{label:"Sech",type:"keyword",info:"Sech[z] gives the hyperbolic secant of z. "},{label:"SechDistribution",type:"keyword",info:"SechDistribution[μ, σ] represents the hyperbolic secant distribution with location parameter μ and s"},{label:"SecondOrderConeOptimization",type:"keyword",info:"SecondOrderConeOptimization[f, cons, vars] finds values of variables vars that minimize the linear o"},{label:"SectionGrouping",type:"keyword",info:"System`SectionGrouping"},{label:"SectorChart",type:"keyword",info:"SectorChart[{{x , y }, {x , y }, …}] makes a sector chart with sector angles proportional to x and "},{label:"SectorChart3D",type:"keyword",info:"SectorChart3D[{{x , y , z }, {x , y , z }, …}] makes a 3D sector chart with sector angle proportiona"},{label:"SectorOrigin",type:"keyword",info:"SectorOrigin is an option to PieChart and related functions that specifies where sectors should star"},{label:"SectorSpacing",type:"keyword",info:"SectorSpacing is an option to PieChart and related functions that specifies radial spacing of sector"},{label:"SecuredAuthenticationKey",type:"keyword",info:"SecuredAuthenticationKey[assoc] represents a secured authentication key with credentials and detail"},{label:"SecuredAuthenticationKeys",type:"keyword",info:"SecuredAuthenticationKeys[] retrieves a list of all instances of SecuredAuthenticationKey owned by t"},{label:"SecurityCertificate",type:"keyword",info:"SecurityCertificate[assoc] represents the security certificate issued for a public key."},{label:"SeedRandom",type:"keyword",info:"SeedRandom[s] resets the pseudorandom generator, using s as a seed. SeedRandom[] resets the generato"},{label:"Select",type:"keyword",info:"Select[list, crit] picks out all elements e of list for which crit[e ] is True. Select[list, crit, "},{label:"Selectable",type:"keyword",info:"Selectable is an option for displayed objects, cells, and notebooks that specifies whether their con"},{label:"SelectComponents",type:"keyword",info:"SelectComponents[{image, lmat}, crit] selects components of image indicated by the label matrix lmat"},{label:"SelectedCells",type:"keyword",info:"SelectedCells[notebook] returns a list of CellObject expressions corresponding to the currently sele"},{label:"SelectedNotebook",type:"keyword",info:"SelectedNotebook[] gives the currently selected notebook in the front end. "},{label:"SelectFirst",type:"keyword",info:'SelectFirst[{e , e , …}, crit] gives the first e for which crit[e ] is True, or Missing["NotFound"]'},{label:"Selection",type:"keyword",info:"System`Selection"},{label:"SelectionAnimate",type:"keyword",info:"SelectionAnimate[notebook] animates graphics in the current selection in a notebook. SelectionAnimat"},{label:"SelectionCell",type:"keyword",info:"System`SelectionCell"},{label:"SelectionCellCreateCell",type:"keyword",info:"System`SelectionCellCreateCell"},{label:"SelectionCellDefaultStyle",type:"keyword",info:"System`SelectionCellDefaultStyle"},{label:"SelectionCellParentStyle",type:"keyword",info:"System`SelectionCellParentStyle"},{label:"SelectionCreateCell",type:"keyword",info:"SelectionCreateCell[notebook] copies the contents of the current selection in a notebook into a new "},{label:"SelectionDebuggerTag",type:"keyword",info:"System`SelectionDebuggerTag"},{label:"SelectionDuplicateCell",type:"keyword",info:"System`SelectionDuplicateCell"},{label:"SelectionEvaluate",type:"keyword",info:"SelectionEvaluate[notebook] replaces the current selection in a notebook with the result obtained by"},{label:"SelectionEvaluateCreateCell",type:"keyword",info:"SelectionEvaluateCreateCell[notebook] takes the current selection in a notebook and creates a new ce"},{label:"SelectionMove",type:"keyword",info:"SelectionMove[obj, dir, unit] moves the current selection in an open notebook in the front end in th"},{label:"SelectionPlaceholder",type:"keyword",info:"System`SelectionPlaceholder"},{label:"SelectionSetStyle",type:"keyword",info:"System`SelectionSetStyle"},{label:"SelectWithContents",type:"keyword",info:"System`SelectWithContents"},{label:"SelfLoops",type:"keyword",info:"System`SelfLoops"},{label:"SelfLoopStyle",type:"keyword",info:"SelfLoopStyle is an option for GraphPlot and related functions that specifies how to draw self-loops"},{label:"SemanticImport",type:"keyword",info:"SemanticImport[file] attempts to import a file semantically to give a Dataset object.SemanticImport["},{label:"SemanticImportString",type:"keyword",info:'SemanticImportString["string"] attempts to import a string semantically to give a Dataset object.Sem'},{label:"SemanticInterpretation",type:"keyword",info:'SemanticInterpretation["string"] attempts to give the best semantic interpretation of the specified '},{label:"SemialgebraicComponentInstances",type:"keyword",info:"SemialgebraicComponentInstances[ineqs, {x , x , …}] gives at least one sample point in each connecte"},{label:"SemidefiniteOptimization",type:"keyword",info:" "},{label:"SendMail",type:"keyword",info:'SendMail[body] sends mail consisting of body to the address specified by ECCloudUserID.SendMail[{"sub'},{label:"SendMessage",type:"keyword",info:"SendMessage[channel, message] sends a message to the specified channel.SendMessage[channel  dest, m"},{label:"Sequence",type:"keyword",info:"Sequence[expr , expr , …] represents a sequence of arguments to be spliced automatically into any fu"},{label:"SequenceAlignment",type:"keyword",info:"SequenceAlignment[s , s ] finds an optimal alignment of sequences of elements in the strings or list"},{label:"SequenceAttentionLayer",type:"keyword",info:'SequenceAttentionLayer[] is equivalent to AttentionLayer[] with a single "Input" port instead of por'},{label:"SequenceCases",type:"keyword",info:"SequenceCases[list, patt] gives a list of the sublists in list that match the sequence pattern patt."},{label:"SequenceCount",type:"keyword",info:"SequenceCount[list, sub] gives a count of the number of times sub appears as a sublist of list.Seque"},{label:"SequenceFold",type:"keyword",info:"SequenceFold[f, {x , …, x }, {a , a , …}] gives the last element of SequenceFoldList[f, {x , …, x },"},{label:"SequenceFoldList",type:"keyword",info:"SequenceFoldList[f, {x , …, x }, {a , a , …}] gives {x , …, x , f[x , …, x , a ], f[x , …, x , f[x ,"},{label:"SequenceForm",type:"keyword",info:"SequenceForm[expr , expr , …] prints as the textual concatenation of the printed forms of the expr ."},{label:"SequenceHold",type:"keyword",info:"SequenceHold is an attribute that specifies that Sequence objects appearing in the arguments of a fu"},{label:"SequenceIndicesLayer",type:"keyword",info:"SequenceIndicesLayer[] represents a net layer that produces a list of indices for an input sequence."},{label:"SequenceLastLayer",type:"keyword",info:"SequenceLastLayer[] represents a net that takes a sequence of inputs and returns the last element of"},{label:"SequenceMostLayer",type:"keyword",info:"SequenceMostLayer[] represents a net that takes a sequence of inputs and removes its last element."},{label:"SequencePosition",type:"keyword",info:"SequencePosition[list, sublist] gives a list of the starting and ending positions at which sublist a"},{label:"SequencePredict",type:"keyword",info:"SequencePredict[{seq , seq , …}] generates a SequencePredictorFunction[…] based on the sequences giv"},{label:"SequencePredictorFunction",type:"keyword",info:"SequencePredictorFunction[…] represents a function generated by SequencePredict that predicts the ne"},{label:"SequenceReplace",type:"keyword",info:"SequenceReplace[list, rules] replaces sequences in list according to the specified rule or list of r"},{label:"SequenceRestLayer",type:"keyword",info:"SequenceRestLayer[] represents a net that takes a sequence of inputs and removes its first element."},{label:"SequenceReverseLayer",type:"keyword",info:"SequenceReverseLayer[] represents a net that reverses the order of an input sequence."},{label:"SequenceSplit",type:"keyword",info:"SequenceSplit[list, patt] splits list into sublists separated by sequences that match the sequence p"},{label:"Series",type:"keyword",info:" "},{label:"SeriesCoefficient",type:"keyword",info:" th "},{label:"SeriesData",type:"keyword",info:"SeriesData[x, x , {a , a , …}, n , n , den] represents a power series in the variable x about th"},{label:"SeriesTermGoal",type:"keyword",info:"SeriesTermGoal is an option for Asymptotic, DiscreteAsymptotic and similar functions that specifies "},{label:"ServiceConnect",type:"keyword",info:'ServiceConnect["service"] creates a connection to an external service.ServiceConnect["service", id] '},{label:"ServiceDisconnect",type:"keyword",info:"ServiceDisconnect[service] disconnects from an external service specified by a ServiceObject."},{label:"ServiceExecute",type:"keyword",info:'ServiceExecute[service, "req"] executes "req" on an external service.ServiceExecute[service, "req", '},{label:"ServiceObject",type:"keyword",info:'ServiceObject["service", …] represents an open connection to an external service.'},{label:"ServiceRequest",type:"keyword",info:'ServiceRequest[service, "req"] represents a service request built from service, which might be a con'},{label:"ServiceResponse",type:"keyword",info:"System`ServiceResponse"},{label:"ServiceSubmit",type:"keyword",info:"ServiceSubmit[ServiceRequest[assoc]] submits a request to be executed by an external service specifi"},{label:"SessionSubmit",type:"keyword",info:"SessionSubmit[expr] submits an asynchronous task to evaluate expr in the current session.SessionSubm"},{label:"SessionTime",type:"keyword",info:"SessionTime[] gives the total number of seconds of real time that have elapsed since the beginning o"},{label:"Set",type:"keyword",info:"lhs = rhs evaluates rhs and assigns the result to be the value of lhs. From then on, lhs is replaced"},{label:"SetAccuracy",type:"keyword",info:"SetAccuracy[expr, a] yields a version of expr in which all numbers have been set to have accuracy a."},{label:"SetAlphaChannel",type:"keyword",info:"SetAlphaChannel[color] adds full opacity to color.SetAlphaChannel[color, a] adds opacity a to color."},{label:"SetAttributes",type:"keyword",info:"SetAttributes[symbol, attr] adds attr to the list of attributes of the symbol symbol. SetAttributes["},{label:"Setbacks",type:"keyword",info:"System`Setbacks"},{label:"SetBoxFormNamesPacket",type:"keyword",info:"System`SetBoxFormNamesPacket"},{label:"SetCloudDirectory",type:"keyword",info:"SetCloudDirectory[dir] sets the current working directory used for cloud objects to dir.SetCloudDire"},{label:"SetCookies",type:"keyword",info:"SetCookies[assoc] sets cookies with attributes specified by the association assoc, to be used by fun"},{label:"SetDelayed",type:"keyword",info:"lhs := rhs assigns rhs to be the delayed value of lhs. rhs is maintained in an unevaluated form. Whe"},{label:"SetDirectory",type:"keyword",info:'SetDirectory["dir"] sets the current working directory to dir. SetDirectory[] sets the current worki'},{label:"SetEnvironment",type:"keyword",info:'SetEnvironment["var"  value] sets the value of an operating system environment variable.SetEnvironm'},{label:"SetEvaluationNotebook",type:"keyword",info:"System`SetEvaluationNotebook"},{label:"SetFileDate",type:"keyword",info:'SetFileDate["file"] sets the modification and access dates for a file to be the current date. '},{label:"SetFileFormatProperties",type:"keyword",info:'SetFileFormatProperties["fmt", "prop"  val] sets the value of a property "prop" for the specified f'},{label:"SetFileLoadingContext",type:"keyword",info:"System`SetFileLoadingContext"},{label:"SetNotebookStatusLine",type:"keyword",info:"System`SetNotebookStatusLine"},{label:"SetOptions",type:"keyword",info:"SetOptions[s, name  value , name  value , …] sets the specified default options for a symbol s. "},{label:"SetOptionsPacket",type:"keyword",info:"System`SetOptionsPacket"},{label:"SetPermissions",type:"keyword",info:'SetPermissions[obj, "pstring"] sets permissions for the cloud object obj to be as specified by the s'},{label:"SetPrecision",type:"keyword",info:"SetPrecision[expr, p] yields a version of expr in which all numbers have been set to have precision "},{label:"SetProperty",type:"keyword",info:"SetProperty[{obj, itemspec}, name  value] sets the property name  value for itemspec in obj."},{label:"SetSecuredAuthenticationKey",type:"keyword",info:"System`SetSecuredAuthenticationKey"},{label:"SetSelectedNotebook",type:"keyword",info:"SetSelectedNotebook[obj] makes the notebook corresponding to obj be the currently selected one in th"},{label:"SetSharedFunction",type:"keyword",info:"SetSharedFunction[f , f , …] declares the symbols f as shared functions whose downvalues are synchr"},{label:"SetSharedVariable",type:"keyword",info:"SetSharedVariable[s , s , …] declares the symbols s as shared variables whose values are synchroniz"},{label:"SetSpeechParametersPacket",type:"keyword",info:"System`SetSpeechParametersPacket"},{label:"SetStreamPosition",type:"keyword",info:"SetStreamPosition[stream, n] sets the current point in an open stream. "},{label:"SetSystemModel",type:"keyword",info:"SetSystemModel[model, spec] changes model parameters, initializations or other properties in place."},{label:"SetSystemOptions",type:"keyword",info:'SetSystemOptions["name"  value] resets the value for the internal system option with the specified '},{label:"Setter",type:"keyword",info:"Setter[x, val] represents a setter button whose setting x is set to val when the button is clicked. "},{label:"SetterBar",type:"keyword",info:"SetterBar[x, {val , val , …}] represents a setter bar with setting x and with setter buttons for val"},{label:"SetterBox",type:"keyword",info:"System`SetterBox"},{label:"SetterBoxOptions",type:"keyword",info:"SetterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for SetterBox "},{label:"Setting",type:"keyword",info:"Setting[expr] replaces forms and control objects such as sliders or popup menus in expr by their set"},{label:"SetUsers",type:"keyword",info:"SetUsers[group, {user , …}] sets the members of the permissions group group to be {user , …}.\n "},{label:"SetValue",type:"keyword",info:"System`SetValue"},{label:"Shading",type:"keyword",info:"Shading is an option for SurfaceGraphics that specifies whether the surfaces should be shaded. "},{label:"Shallow",type:"keyword",info:"Shallow[expr] prints as a shallow form of expr. Shallow[expr, depth] prints with all parts of expr b"},{label:"ShannonWavelet",type:"keyword",info:"ShannonWavelet[] represents the Shannon wavelet evaluated on the equally spaced interval {-10, 10}. "},{label:"ShapiroWilkTest",type:"keyword",info:"ShapiroWilkTest[data] tests whether data is normally distributed using the Shapiro–Wilk test.Shapiro"},{label:"Share",type:"keyword",info:"Share[expr] changes the way expr is stored internally, to try and minimize the amount of memory used"},{label:"SharingList",type:"keyword",info:"SharingList is an option for CloudObject and related constructs that specifies with whom the object "},{label:"Sharpen",type:"keyword",info:"Sharpen[image] gives a sharpened version of image.Sharpen[image, r] gives a version of image sharpen"},{label:"ShearingMatrix",type:"keyword",info:"ShearingMatrix[θ, v, n] gives the matrix corresponding to shearing by θ radians along the direction "},{label:"ShearingTransform",type:"keyword",info:"ShearingTransform[θ, v, n] gives a TransformationFunction that represents a shear by θ radians along"},{label:"ShellRegion",type:"keyword",info:"ShellRegion[reg] gives a solid shell of a 3D region reg.ShellRegion[reg, t] gives a solid shell of r"},{label:"ShenCastanMatrix",type:"keyword",info:" "},{label:"ShiftedGompertzDistribution",type:"keyword",info:"ShiftedGompertzDistribution[λ, ξ] represents a shifted Gompertz distribution with scale parameter λ "},{label:"ShiftRegisterSequence",type:"keyword",info:"ShiftRegisterSequence[n] gives a complete maximum-length sequence for a size n linear-feedback shift"},{label:"Short",type:"keyword",info:"Short[expr] prints as a short form of expr, less than about one line long. Short[expr, n] prints as "},{label:"ShortDownArrow",type:"keyword",info:"ShortDownArrow[x, y, …] displays as x  y  …."},{label:"Shortest",type:"keyword",info:"Shortest[p] is a pattern object that matches the shortest sequence consistent with the pattern p. "},{label:"ShortestMatch",type:"keyword",info:"ShortestMatch[p] is a string pattern object matching the shortest sequence of characters consistent "},{label:"ShortestPathFunction",type:"keyword",info:"ShortestPathFunction[type, data] represents a function that gives the shortest path from a source ve"},{label:"ShortLeftArrow",type:"keyword",info:"ShortLeftArrow[x, y, …] displays as x  y  …."},{label:"ShortRightArrow",type:"keyword",info:"ShortRightArrow[x, y, …] displays as x  y  …."},{label:"ShortTimeFourier",type:"keyword",info:"ShortTimeFourier[data] returns the short-time Fourier transform (STFT) of data as a ShortTimeFourier"},{label:"ShortTimeFourierData",type:"keyword",info:"ShortTimeFourierData[assoc] represents the result and properties of a short-time Fourier transform ("},{label:"ShortUpArrow",type:"keyword",info:"ShortUpArrow[x, y, …] displays as x  y  …."},{label:"Show",type:"keyword",info:"Show[graphics, options] shows graphics with the specified options added. Show[g , g , …] shows sever"},{label:"ShowAutoConvert",type:"keyword",info:"System`ShowAutoConvert"},{label:"ShowAutoSpellCheck",type:"keyword",info:"ShowAutoSpellCheck is an option for Cell that specifies whether to highlight misspelled words."},{label:"ShowAutoStyles",type:"keyword",info:"ShowAutoStyles is an option for Cell that specifies whether styles that are specified to be automati"},{label:"ShowCellBracket",type:"keyword",info:"ShowCellBracket is an option for Cell that specifies whether to display the bracket that indicates t"},{label:"ShowCellLabel",type:"keyword",info:"ShowCellLabel is an option for Cell that specifies whether to display the label for a cell. "},{label:"ShowCellTags",type:"keyword",info:"ShowCellTags is an option for Cell that specifies whether to display tags for a cell. "},{label:"ShowClosedCellArea",type:"keyword",info:"ShowClosedCellArea is an option for cells that specifies whether a rectangular bar is displayed next"},{label:"ShowCodeAssist",type:"keyword",info:"System`ShowCodeAssist"},{label:"ShowContents",type:"keyword",info:"ShowContents is an option for selections that specifies whether an object represented by a StyleBox "},{label:"ShowControls",type:"keyword",info:"System`ShowControls"},{label:"ShowCursorTracker",type:"keyword",info:"ShowCursorTracker is an option for Cell that specifies whether an elliptical spot should appear mome"},{label:"ShowGroupOpenCloseIcon",type:"keyword",info:"ShowGroupOpenCloseIcon is an option for cells that specifies whether a triangular icon is displayed "},{label:"ShowGroupOpener",type:"keyword",info:"ShowGroupOpener is an option for cells that specifies whether an opener icon is displayed next to th"},{label:"ShowInvisibleCharacters",type:"keyword",info:"System`ShowInvisibleCharacters"},{label:"ShowPageBreaks",type:"keyword",info:"ShowPageBreaks is a notebook option that specifies whether to indicate in the on‐screen display of a"},{label:"ShowPredictiveInterface",type:"keyword",info:"System`ShowPredictiveInterface"},{label:"ShowSelection",type:"keyword",info:"ShowSelection is an option to Notebook, Cell, and Style that specifies whether to show the current s"},{label:"ShowShortBoxForm",type:"keyword",info:"ShowShortBoxForm is an option for cells that specifies whether box expressions, which are used to re"},{label:"ShowSpecialCharacters",type:"keyword",info:"ShowSpecialCharacters is an option for Style and Cell that specifies whether to replace \\[Name], \\:n"},{label:"ShowStringCharacters",type:"keyword",info:'ShowStringCharacters is an option for Cell that specifies whether to display " when a string is ente'},{label:"ShowSyntaxStyles",type:"keyword",info:"System`ShowSyntaxStyles"},{label:"ShrinkingDelay",type:"keyword",info:"ShrinkingDelay is an option for dynamic objects that specifies how long to delay before shrinking th"},{label:"ShrinkWrapBoundingBox",type:"keyword",info:"System`ShrinkWrapBoundingBox"},{label:"SiderealTime",type:"keyword",info:"SiderealTime[] gives the right ascension of the local meridian for the current date and location.Sid"},{label:"SiegelTheta",type:"keyword",info:"SiegelTheta[Ω, s] gives the Siegel theta function Θ (Ω, s) with Riemann modular matrix Ω and vector "},{label:"SiegelTukeyTest",type:"keyword",info:" "},{label:"SierpinskiCurve",type:"keyword",info:" th\nSierpinskiCurve[n] gives the line s"},{label:"SierpinskiMesh",type:"keyword",info:" th "},{label:"Sign",type:"keyword",info:"Sign[x] gives -1, 0, or 1 depending on whether x is negative, zero, or positive. "},{label:"Signature",type:"keyword",info:"Signature[list] gives the signature of the permutation needed to place the elements of list in canon"},{label:"SignedRankTest",type:"keyword",info:"SignedRankTest[data] tests whether the median of data is zero. SignedRankTest[{data , data }] tests "},{label:"SignedRegionDistance",type:"keyword",info:"SignedRegionDistance[reg, p] gives the minimum distance from the point p to the region reg if p is o"},{label:"SignificanceLevel",type:"keyword",info:"SignificanceLevel is an option to VarianceTest and similar functions that controls cutoffs for diagn"},{label:"SignPadding",type:"keyword",info:"SignPadding is an option for NumberForm and related functions that specifies whether padding should "},{label:"SignTest",type:"keyword",info:"SignTest[data] tests whether the median of data is zero. SignTest[{data , data }] tests whether the "},{label:"SimilarityRules",type:"keyword",info:"SimilarityRules is an option for functions such as SequenceAlignment that gives a list of rules for "},{label:"SimpleGraph",type:"keyword",info:"SimpleGraph[g] gives the underlying simple graph from the graph g.SimpleGraph[{v  w, …}] uses rules"},{label:"SimpleGraphQ",type:"keyword",info:"SimpleGraphQ[g] yields True if the graph g is a simple graph and False otherwise."},{label:"SimplePolygonQ",type:"keyword",info:"SimplePolygonQ[poly] gives True if the polygon poly is simple and False otherwise."},{label:"SimplePolyhedronQ",type:"keyword",info:"SimplePolyhedronQ[poly] gives True if the polyhedron poly is simple and False otherwise."},{label:"Simplex",type:"keyword",info:"Simplex[{p , …, p }] represents the simplex spanned by points p .\n 1 k "},{label:"Simplify",type:"keyword",info:"Simplify[expr] performs a sequence of algebraic and other transformations on expr and returns the si"},{label:"Sin",type:"keyword",info:"Sin[z] gives the sine of z. "},{label:"Sinc",type:"keyword",info:"Sinc[z] gives sinc(z). "},{label:"SinghMaddalaDistribution",type:"keyword",info:"SinghMaddalaDistribution[q, a, b] represents the Singh–Maddala distribution with shape parameters q "},{label:"SingleEvaluation",type:"keyword",info:"System`SingleEvaluation"},{label:"SingleLetterItalics",type:"keyword",info:"SingleLetterItalics is an option for Cell that specifies whether single‐letter names should be displ"},{label:"SingleLetterStyle",type:"keyword",info:"System`SingleLetterStyle"},{label:"SingularValueDecomposition",type:"keyword",info:"SingularValueDecomposition[m] gives the singular value decomposition for a numerical matrix m as a l"},{label:"SingularValueList",type:"keyword",info:"SingularValueList[m] gives a list of the nonzero singular values of a matrix m. SingularValueList[{m"},{label:"SingularValuePlot",type:"keyword",info:"SingularValuePlot[lsys] generates a plot of the singular values of the transfer function for the sys"},{label:"SingularValues",type:"keyword",info:"SingularValues[m] gives the singular value decomposition for a numerical matrix m. The result is a l"},{label:"Sinh",type:"keyword",info:"Sinh[z] gives the hyperbolic sine of z. "},{label:"SinhIntegral",type:"keyword",info:"SinhIntegral[z] gives the hyperbolic sine integral function Shi(z). "},{label:"SinIntegral",type:"keyword",info:"SinIntegral[z] gives the sine integral function Si (z). "},{label:"SixJSymbol",type:"keyword",info:"SixJSymbol[{j , j , j }, {j , j , j }] gives the values of the Racah 6‐j symbol. \n 1 2"},{label:"Skeleton",type:"keyword",info:"Skeleton[n] represents a sequence of n omitted elements in an expression printed with Short or Shall"},{label:"SkeletonTransform",type:"keyword",info:"SkeletonTransform[image] gives the skeleton transform of image, in which the value of each skeleton "},{label:"SkellamDistribution",type:"keyword",info:"SkellamDistribution[μ , μ ] represents a Skellam distribution with shape parameters μ and μ .\n "},{label:"Skewness",type:"keyword",info:"Skewness[list] gives the coefficient of skewness for the elements in list.Skewness[dist] gives the c"},{label:"SkewNormalDistribution",type:"keyword",info:"SkewNormalDistribution[μ, σ, Î\\[PlusMinus]] represents a skew-normal distribution with shape parameter Î\\[PlusMinus], locati"},{label:"SkinStyle",type:"keyword",info:"SkinStyle is an option of AnatomyPlot3D that specifies what style to use for automatically included "},{label:"Skip",type:"keyword",info:"Skip[stream, type] skips one object of the specified type in an input stream. Skip[stream, type, n] "},{label:"SliceContourPlot3D",type:"keyword",info:"SliceContourPlot3D[f, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a contour p"},{label:"SliceDensityPlot3D",type:"keyword",info:"SliceDensityPlot3D[f, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a density p"},{label:"SliceDistribution",type:"keyword",info:"SliceDistribution[proc, t] represents the distribution of the process state at time t.SliceDistribut"},{label:"SliceVectorPlot3D",type:"keyword",info:"SliceVectorPlot3D[{v , v , v }, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a"},{label:"Slider",type:"keyword",info:"Slider[x] represents a slider with setting x in the range 0 to 1. Slider[Dynamic[x]] takes the setti"},{label:"Slider2D",type:"keyword",info:"Slider2D[{x, y}] represents a 2D slider with settings x and y in the range 0 to 1. Slider2D[Dynamic["},{label:"Slider2DBox",type:"keyword",info:"System`Slider2DBox"},{label:"Slider2DBoxOptions",type:"keyword",info:"Slider2DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Slider2D"},{label:"SliderBox",type:"keyword",info:"System`SliderBox"},{label:"SliderBoxOptions",type:"keyword",info:"SliderBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for SliderBox "},{label:"SlideShowVideo",type:"keyword",info:"SlideShowVideo[{image , image , …}] generates a video iterating through all image .SlideShowVideo[{i"},{label:"SlideView",type:"keyword",info:" "},{label:"Slot",type:"keyword",info:" th\n# represents th"},{label:"SlotSequence",type:"keyword",info:" "},{label:"Small",type:"keyword",info:"Small is a style or option setting that specifies that objects should be small."},{label:"SmallCircle",type:"keyword",info:"SmallCircle[x, y, …] displays as x ∘ y ∘ …."},{label:"Smaller",type:"keyword",info:"Smaller is a style or option setting that specifies that objects should be smaller."},{label:"SmithDecomposition",type:"keyword",info:"SmithDecomposition[m] gives the Smith normal form decomposition of an integer matrix m."},{label:"SmithDelayCompensator",type:"keyword",info:"SmithDelayCompensator[sys, con] gives the Smith compensator for the time-delay system sys and the de"},{label:"SmithWatermanSimilarity",type:"keyword",info:"SmithWatermanSimilarity[u, v] gives a number representing the Smith–Waterman similarity between stri"},{label:"SmoothDensityHistogram",type:"keyword",info:"SmoothDensityHistogram[{{x , y }, {x , y }, …}] plots a smooth kernel histogram of the values {x , y"},{label:"SmoothHistogram",type:"keyword",info:"SmoothHistogram[{x , x , …}] plots a smooth kernel histogram for the PDF of the values x .SmoothHist"},{label:"SmoothHistogram3D",type:"keyword",info:"SmoothHistogram3D[{{x , y }, {x , y }, …}] plots a 3D smooth kernel histogram of the values {x , y }"},{label:"SmoothKernelDistribution",type:"keyword",info:"SmoothKernelDistribution[{x , x , …}] represents a smooth kernel distribution based on the data valu"},{label:"SmoothPointDensity",type:"keyword",info:"SmoothPointDensity[pdata] estimates the point density function μ(x) for point data pdata.SmoothPoint"},{label:"SnDispersion",type:"keyword",info:"SnDispersion[list] gives the S statistic of the elements in list.SnDispersion[list, c] gives the S "},{label:"Snippet",type:"keyword",info:"Snippet[doc] gives a snippet of text from a document or other content object.Snippet[doc, n] gives a"},{label:"SnippetsVideo",type:"keyword",info:"SnippetsVideo[video, n] returns a summary video based on n snippets from video.SnippetsVideo[video, "},{label:"SnubPolyhedron",type:"keyword",info:"SnubPolyhedron[poly] gives the snub polyhedron of poly by truncating some corners."},{label:"SocialMediaData",type:"keyword",info:'SocialMediaData["name"] gives information about the social media entity "name".SocialMediaData["name'},{label:"Socket",type:"keyword",info:"Socket is a possible value returned by FileType and related functions."},{label:"SocketConnect",type:"keyword",info:"SocketConnect[address] makes a socket connection to the TCP host at the specified address and return"},{label:"SocketListen",type:"keyword",info:"SocketListen[socket, fun] starts listening on the specified socket, asynchronously applying fun when"},{label:"SocketListener",type:"keyword",info:"SocketListener[…] represents a socket listener created by SocketListen."},{label:"SocketObject",type:"keyword",info:"SocketObject[…] represents a network socket connection."},{label:"SocketOpen",type:"keyword",info:"SocketOpen[port] opens a socket that accepts TCP connections to localhost:port and returns a SocketO"},{label:"SocketReadMessage",type:"keyword",info:"SocketReadMessage[socket] reads the next available message on the specified socket, returning it as "},{label:"SocketReadyQ",type:"keyword",info:"SocketReadyQ[socket] tests if there is any data immediately available to read from the specified soc"},{label:"Sockets",type:"keyword",info:"Sockets[] returns all active socket connections initiated by your current Wolfram Language session.S"},{label:"SocketWaitAll",type:"keyword",info:"SocketWaitAll[{socket , socket , …}] waits until there is data ready to read on all of the socket .\n"},{label:"SocketWaitNext",type:"keyword",info:"SocketWaitNext[{socket , socket , …}] waits until there is data ready to read on any of the socket ,"},{label:"SoftmaxLayer",type:"keyword",info:"SoftmaxLayer[] represents a softmax net layer.SoftmaxLayer[n] represents a softmax net layer that us"},{label:"SokalSneathDissimilarity",type:"keyword",info:"SokalSneathDissimilarity[u, v] gives the Sokal–Sneath dissimilarity between Boolean vectors u and v."},{label:"SolarEclipse",type:"keyword",info:"SolarEclipse[] gives the time of the next solar eclipse.SolarEclipse[datespec] gives the time for th"},{label:"SolarSystemFeatureData",type:"keyword",info:"SolarSystemFeatureData[entity, property] gives the value of the specified property for the solar sys"},{label:"SolarTime",type:"keyword",info:"SolarTime[] gives the angle on the celestial equator between the Sun and the local antimeridian for "},{label:"SolidAngle",type:"keyword",info:"SolidAngle[p, {u , …, u }] gives the solid angle at the point p and spanned by the vectors u , …, u "},{label:"SolidBoundaryLoadValue",type:"keyword",info:"SolidBoundaryLoadValue[pred, vars, pars] represents a boundary load condition for PDEs with predicat"},{label:"SolidData",type:"keyword",info:"SolidData[entity, property] gives the value of the specified property for the solid entity.SolidData"},{label:"SolidDisplacementCondition",type:"keyword",info:"SolidDisplacementCondition[pred, vars, pars] represents a prescribed displacement on a solid boundar"},{label:"SolidFixedCondition",type:"keyword",info:"SolidFixedCondition[pred, vars, pars] represents a fully constrained solid boundary for PDEs with pr"},{label:"SolidMechanicsPDEComponent",type:"keyword",info:"SolidMechanicsPDEComponent[vars, pars] yields solid mechanics PDE terms with variables vars and para"},{label:"SolidMechanicsStrain",type:"keyword",info:"SolidMechanicsStrain[vars, pars, displ] yields solid mechanics strain with variables vars, parameter"},{label:"SolidMechanicsStress",type:"keyword",info:"SolidMechanicsStress[vars, pars, strain] yields solid mechanics stress with variables vars, paramete"},{label:"SolidRegionQ",type:"keyword",info:"SolidRegionQ[reg] gives True if the 3D region reg is a solid region and False otherwise."},{label:"Solve",type:"keyword",info:"Solve[expr, vars] attempts to solve the system expr of equations or inequalities for the variables v"},{label:"SolveAlways",type:"keyword",info:"SolveAlways[eqns, vars] gives the values of parameters that make the equations eqns valid for all va"},{label:"SolveDelayed",type:"keyword",info:"SolveDelayed is an option to NDSolve. SolveDelayed -> False causes the derivatives to be solved for "},{label:"SolveValues",type:"keyword",info:"SolveValues[expr, vars] gives the values of vars determined by the solutions of the system expr.Solv"},{label:"Sort",type:"keyword",info:"Sort[list] sorts the elements of list into canonical order. Sort[list, p] sorts using the ordering f"},{label:"SortBy",type:"keyword",info:"SortBy[list, f] sorts the elements of list in the order defined by applying f to each of them. SortB"},{label:"SortedBy",type:"keyword",info:"SortedBy is an option that specifies a function by which to sort the results of a computation."},{label:"SortedEntityClass",type:"keyword",info:"SortedEntityClass[class, prop] represents an entity class derived from class by sorting according to"},{label:"Sound",type:"keyword",info:"Sound[primitives] represents a sound. Sound[primitives, t] specifies that the sound should have dura"},{label:"SoundAndGraphics",type:"keyword",info:"System`SoundAndGraphics"},{label:"SoundNote",type:"keyword",info:"SoundNote[pitch] represents a music-like sound note with the specified pitch.SoundNote[pitch, t] tak"},{label:"SoundVolume",type:"keyword",info:"SoundVolume is an option to Sound and SoundNote and related functions that specifies the relative vo"},{label:"SourceLink",type:"keyword",info:"SourceLink is an option for CloudObject and related cloud functions that specifies the source of the"},{label:"SourcePDETerm",type:"keyword",info:"SourcePDETerm[vars, f] represents a source term f with source coefficient f and model variables vars"},{label:"Sow",type:"keyword",info:"Sow[e] specifies that e should be collected by the nearest enclosing Reap. Sow[e, tag] specifies tha"},{label:"Space",type:"keyword",info:"System`Space"},{label:"SpaceCurveData",type:"keyword",info:"SpaceCurveData[entity, property] gives the value of the specified property for the space curve entit"},{label:"SpaceForm",type:"keyword",info:"SpaceForm[n] prints as n spaces."},{label:"Spacer",type:"keyword",info:"Spacer[w] displays as a spacer w printer's points wide.Spacer[{w, h}] displays as a spacer w points "},{label:"Spacings",type:"keyword",info:"Spacings is an option to Grid and related constructs that specifies the spacings to leave between su"},{label:"Span",type:"keyword",info:"i;;j represents a span of elements i through j.i;; represents a span from i to the end.;;j represent"},{label:"SpanAdjustments",type:"keyword",info:"SpanAdjustments is an option for selections that specifies the height and width of spanning characte"},{label:"SpanCharacterRounding",type:"keyword",info:"SpanCharacterRounding is an option for selections that specifies the method used for rounding a span"},{label:"SpanFromAbove",type:"keyword",info:"SpanFromAbove is a symbol that can appear at a particular position in a Grid or related construct to"},{label:"SpanFromBoth",type:"keyword",info:"SpanFromBoth is a symbol that can appear at a particular position in a Grid or related construct to "},{label:"SpanFromLeft",type:"keyword",info:"SpanFromLeft is a symbol that can appear at a particular position in a Grid or related construct to "},{label:"SpanLineThickness",type:"keyword",info:"SpanLineThickness is an option for selections that specifies the thickness in printer's points of li"},{label:"SpanMaxSize",type:"keyword",info:"SpanMaxSize is an option for selections that specifies the maximum size of spanning characters such "},{label:"SpanMinSize",type:"keyword",info:"SpanMinSize is an option for selections that specifies the minimum size of spanning characters such "},{label:"SpanningCharacters",type:"keyword",info:"System`SpanningCharacters"},{label:"SpanSymmetric",type:"keyword",info:"SpanSymmetric is an option for selections that specifies whether vertically expandable characters ar"},{label:"SparseArray",type:"keyword",info:"SparseArray[{pos  v , pos  v , …}] yields a sparse array with all elements zero except for value"},{label:"SparseArrayQ",type:"keyword",info:"SparseArrayQ[s] yields True if s is a valid SparseArray object and False otherwise."},{label:"SpatialBinnedPointData",type:"keyword",info:"SpatialBinnedPointData[{reg  val , reg  val , …}] represents values val associated with disjoin"},{label:"SpatialBoundaryCorrection",type:"keyword",info:"SpatialBoundaryCorrection is an option to various spatial statistics functions that control how to c"},{label:"SpatialEstimate",type:"keyword",info:"SpatialEstimate[{loc  val , loc  val , …}] creates a spatial prediction from values val given a"},{label:"SpatialEstimatorFunction",type:"keyword",info:"SpatialEstimatorFunction[] represents a function generated by SpatialEstimate and predicts spatial f"},{label:"SpatialGraphDistribution",type:"keyword",info:"SpatialGraphDistribution[n, r] represents a spatial distribution for graphs with n vertices uniforml"},{label:"SpatialJ",type:"keyword",info:"SpatialJ[pdata, r] estimates the J function J(r) for point data pdata at radius r.SpatialJ[pproc, r]"},{label:"SpatialMedian",type:"keyword",info:"SpatialMedian[{x , x , …}] gives the spatial median of the elements x .SpatialMedian[data] gives the"},{label:"SpatialNoiseLevel",type:"keyword",info:"SpatialNoiseLevel is an option to SpatialEstimate and other spatial functions that gives the noise v"},{label:"SpatialObservationRegionQ",type:"keyword",info:"SpatialObservationRegionQ[reg] tests whether the geometric or geographic region reg can be an observ"},{label:"SpatialPointData",type:"keyword",info:"SpatialPointData[points] represents a collection of spatial locations points.SpatialPointData[points"},{label:"SpatialPointSelect",type:"keyword",info:"SpatialPointSelect[spdata, crit] selects a subset of the SpatialPointData spdata according to crit."},{label:"SpatialRandomnessTest",type:"keyword",info:"SpatialRandomnessTest[pdata] tests whether the point collection pdata is distributed uniformly over "},{label:"SpatialTransformationLayer",type:"keyword",info:"SpatialTransformationLayer[{h, w}] represents a net layer that applies an affine transformation to a"},{label:"SpatialTrendFunction",type:"keyword",info:"SpatialTrendFunction is an option to SpatialEstimate that specifies what global trend model to use f"},{label:"Speak",type:"keyword",info:"Speak[expr] speaks a spoken representation of the expression expr."},{label:"SpeakerMatchQ",type:"keyword",info:"SpeakerMatchQ[audio, ref] gives True if speaker features in audio match the one from reference ref a"},{label:"SpeakTextPacket",type:"keyword",info:"System`SpeakTextPacket"},{label:"SpearmanRankTest",type:"keyword",info:"SpearmanRankTest[v , v ] tests whether the vectors v and v are independent.SpearmanRankTest[m , m "},{label:"SpearmanRho",type:"keyword",info:" "},{label:"SpeciesData",type:"keyword",info:"SpeciesData[name, property] gives the value of the specified property for the species entity.Species"},{label:"SpecificityGoal",type:"keyword",info:"SpecificityGoal is an option for ImageIdentify and related functions that defines what specificity o"},{label:"SpectralLineData",type:"keyword",info:"SpectralLineData[entity] gives the values of all known properties for an atomic state or state trans"},{label:"Spectrogram",type:"keyword",info:"Spectrogram[list] plots the spectrogram of list.Spectrogram[list, n] uses partitions of length n.Spe"},{label:"SpectrogramArray",type:"keyword",info:"SpectrogramArray[list] returns the spectrogram data of list.SpectrogramArray[list, n] uses partition"},{label:"Specularity",type:"keyword",info:"Specularity[s] is a graphics directive which specifies that surfaces of 3D graphics objects which fo"},{label:"SpeechCases",type:"keyword",info:"SpeechCases[audio, form] gives a list of cases of text identified as being of type form that appear "},{label:"SpeechInterpreter",type:"keyword",info:"SpeechInterpreter[form] represents an interpreter object that can be applied to a speech input to tr"},{label:"SpeechRecognize",type:"keyword",info:"SpeechRecognize[audio] recognizes speech in audio and returns it as a string."},{label:"SpeechSynthesize",type:"keyword",info:"SpeechSynthesize[expr] synthesizes the contents of expr as an Audio object. SpeechSynthesize[expr, v"},{label:"SpellingCorrection",type:"keyword",info:"SpellingCorrection is an option for StringMatchQ, Names, and related functions that specifies whethe"},{label:"SpellingCorrectionList",type:"keyword",info:'SpellingCorrectionList["word"] gives a list of possible spelling corrections for "word".'},{label:"SpellingDictionaries",type:"keyword",info:"SpellingDictionaries is a global option that specifies settings for spell checking."},{label:"SpellingDictionariesPath",type:"keyword",info:"SpellingDictionariesPath is a global option that specifies which directories are searched for spelli"},{label:"SpellingOptions",type:"keyword",info:"SpellingOptions is an option for notebooks that specifies settings for spellchecking."},{label:"SpellingSuggestionsPacket",type:"keyword",info:"System`SpellingSuggestionsPacket"},{label:"Sphere",type:"keyword",info:"Sphere[p] represents a unit sphere centered at the point p.Sphere[p, r] represents a sphere of radiu"},{label:"SphereBox",type:"keyword",info:"System`SphereBox"},{label:"SpherePoints",type:"keyword",info:"SpherePoints[n] gives the positions of n uniformly distributed points on the surface of a unit spher"},{label:"SphericalBesselJ",type:"keyword",info:"SphericalBesselJ[n, z] gives the spherical Bessel function of the first kind j (z). \n "},{label:"SphericalBesselY",type:"keyword",info:"SphericalBesselY[n, z] gives the spherical Bessel function of the second kind y (z). \n "},{label:"SphericalHankelH1",type:"keyword",info:" (1)\nSphericalHankelH1"},{label:"SphericalHankelH2",type:"keyword",info:" (2)\nSphericalHankelH"},{label:"SphericalHarmonicY",type:"keyword",info:" m\nSphericalHarmonicY[l, m, θ, ϕ] gives "},{label:"SphericalPlot3D",type:"keyword",info:"SphericalPlot3D[r, θ, ϕ] generates a 3D plot with a spherical radius r as a function of spherical co"},{label:"SphericalRegion",type:"keyword",info:"SphericalRegion is an option for three-dimensional graphics functions that specifies whether the fin"},{label:"SphericalShell",type:"keyword",info:"SphericalShell[c, {r , r }] represents a filled spherical shell centered at c with inner rad"},{label:"SpheroidalEigenvalue",type:"keyword",info:"SpheroidalEigenvalue[n, m, Î.b3] gives the spheroidal eigenvalue with degree n and order m."},{label:"SpheroidalJoiningFactor",type:"keyword",info:"SpheroidalJoiningFactor[n, m, Î.b3] gives the spheroidal joining factor with degree n and order m."},{label:"SpheroidalPS",type:"keyword",info:"SpheroidalPS[n, m, Î.b3, z] gives the angular spheroidal function PS (Î.b3, z) of the first kind.\n "},{label:"SpheroidalPSPrime",type:"keyword",info:"SpheroidalPSPrime[n, m, Î.b3, z] gives the derivative with respect to z of the angular spheroidal funct"},{label:"SpheroidalQS",type:"keyword",info:"SpheroidalQS[n, m, Î.b3, z] gives the angular spheroidal function QS (Î.b3, z) of the second kind.\n "},{label:"SpheroidalQSPrime",type:"keyword",info:"SpheroidalQSPrime[n, m, Î.b3, z] gives the derivative with respect to z of the angular spheroidal funct"},{label:"SpheroidalRadialFactor",type:"keyword",info:"SpheroidalRadialFactor[n, m, c] gives the spheroidal radial factor with degree n and order m."},{label:"SpheroidalS1",type:"keyword",info:" (1)\nSpheroidalS1[n, m, Î.b3, z] gives th"},{label:"SpheroidalS1Prime",type:"keyword",info:" "},{label:"SpheroidalS2",type:"keyword",info:" (2)\nSpheroidalS2[n, m, Î.b3, z] gives th"},{label:"SpheroidalS2Prime",type:"keyword",info:" "},{label:"Splice",type:"keyword",info:"Splice[{e , e , …}] represents an expression that will automatically be spliced into any list in whi"},{label:"SplicedDistribution",type:"keyword",info:"SplicedDistribution[{w , w , …, w }, {c , c , …, c }, {dist dist , …, dist }] represents the distr"},{label:"SplineClosed",type:"keyword",info:"SplineClosed is an option for B-spline functions and graphics primitives that specifies whether spli"},{label:"SplineDegree",type:"keyword",info:"SplineDegree is an option for spline functions and graphics primitives that specifies the degree of "},{label:"SplineKnots",type:"keyword",info:"SplineKnots is an option for B-spline functions and graphics primitives that specifies the positions"},{label:"SplineWeights",type:"keyword",info:"SplineWeights is an option for B-spline functions and graphics primitives that specifies weights of "},{label:"Split",type:"keyword",info:"Split[list] splits list into sublists consisting of runs of identical elements. Split[list, test] tr"},{label:"SplitBy",type:"keyword",info:"SplitBy[list, f] splits list into sublists consisting of runs of successive elements that give the s"},{label:"SpokenString",type:"keyword",info:"SpokenString[expr] gives a string of text corresponding to a spoken representation of the expression"},{label:"SpotLight",type:"keyword",info:"SpotLight[col, pt, Î\\[PlusMinus]] is a three-dimensional graphics directive to use in coloring 3D surfaces that "},{label:"Sqrt",type:"keyword",info:"Sqrt[z] or Sqrt[z] gives the square root of z. "},{label:"SqrtBox",type:"keyword",info:"SqrtBox[x] is a low-level box construct that represents the displayed object Sqrt[x] in notebook exp"},{label:"SqrtBoxOptions",type:"keyword",info:"SqrtBoxOptions is an option that specifies settings for SqrtBox objects."},{label:"Square",type:"keyword",info:"Square[x] displays as  x."},{label:"SquaredEuclideanDistance",type:"keyword",info:"SquaredEuclideanDistance[u, v] gives the squared Euclidean distance between vectors u and v."},{label:"SquareFreeQ",type:"keyword",info:"SquareFreeQ[expr] gives True if expr is a square-free polynomial or number, and False otherwise.Squa"},{label:"SquareIntersection",type:"keyword",info:"SquareIntersection[x, y, …] displays as x ⊓ y ⊓ …."},{label:"SquareMatrixQ",type:"keyword",info:"SquareMatrixQ[m] gives True if m is a square matrix, and False otherwise."},{label:"SquareRepeatingElement",type:"keyword",info:"SquareRepeatingElement[spec] represents a square array of elements of type spec in an interpreter, A"},{label:"SquaresR",type:"keyword",info:"SquaresR[d, n] gives the number of ways r (n) to represent the integer n as a sum of d squares.\n "},{label:"SquareSubset",type:"keyword",info:"SquareSubset[x, y, …] displays as x ⊏ y ⊏ …."},{label:"SquareSubsetEqual",type:"keyword",info:"SquareSubsetEqual[x, y, …] displays as x ⊑ y ⊑ …."},{label:"SquareSuperset",type:"keyword",info:"SquareSuperset[x, y, …] displays as x ⊐ y ⊐ …."},{label:"SquareSupersetEqual",type:"keyword",info:"SquareSupersetEqual[x, y, …] displays as x ⊒ y ⊒ …."},{label:"SquareUnion",type:"keyword",info:"SquareUnion[x, y, …] displays as x ⊔ y ⊔ …."},{label:"SquareWave",type:"keyword",info:"SquareWave[x] gives a square wave that alternates between +1 and -1 with unit period.SquareWave[{y ,"},{label:"SSSTriangle",type:"keyword",info:"SSSTriangle[a, b, c] returns a filled triangle with sides of lengths a, b, and c."},{label:"StabilityMargins",type:"keyword",info:"StabilityMargins is an option to frequency response plots such as BodePlot, NyquistPlot, and Nichols"},{label:"StabilityMarginsStyle",type:"keyword",info:"StabilityMarginsStyle is an option to frequency response plots such as BodePlot, NyquistPlot, and Ni"},{label:"StableDistribution",type:"keyword",info:"StableDistribution[type, Î\\[PlusMinus], Î.b2, μ, σ] represents the stable distribution S with index of stabilit"},{label:"Stack",type:"keyword",info:"Stack[] shows the current evaluation stack, giving a list of the tags associated with evaluations th"},{label:"StackBegin",type:"keyword",info:"StackBegin[expr] evaluates expr, starting a fresh evaluation stack. "},{label:"StackComplete",type:"keyword",info:"StackComplete[expr] evaluates expr with intermediate expressions in evaluation chains included on th"},{label:"StackedDateListPlot",type:"keyword",info:"StackedDateListPlot[{{date , v }, {date , v }, …}] plots points with values v at a sequence of date"},{label:"StackedListPlot",type:"keyword",info:" th\nStackedListPlot["},{label:"StackInhibit",type:"keyword",info:"StackInhibit[expr] evaluates expr without modifying the evaluation stack. "},{label:"StadiumShape",type:"keyword",info:"StadiumShape[{{x , y }, {x , y }}, r] represents a stadium of radius r between the points {x , y } a"},{label:"StandardAtmosphereData",type:"keyword",info:"StandardAtmosphereData[altitude, property] returns the value of the property at the specified geomet"},{label:"StandardDeviation",type:"keyword",info:"StandardDeviation[list] gives the sample standard deviation of the elements in list. StandardDeviati"},{label:"StandardDeviationFilter",type:"keyword",info:" "},{label:"StandardForm",type:"keyword",info:"StandardForm[expr] prints as the standard Wolfram Language two-dimensional representation of expr. "},{label:"Standardize",type:"keyword",info:"Standardize[list] shifts and rescales the elements of list to have zero mean and unit sample varianc"},{label:"Standardized",type:"keyword",info:"Standardized is an option that determines whether to standardize the data."},{label:"StandardOceanData",type:"keyword",info:"StandardOceanData[spec] returns the thermodynamic properties of seawater for the specified parameter"},{label:"StandbyDistribution",type:"keyword",info:" "},{label:"Star",type:"keyword",info:"Star[x, y, …] displays as x ⋆ y ⋆ …."},{label:"StarClusterData",type:"keyword",info:"StarClusterData[entity, property] gives the value of the specified property for the star cluster ent"},{label:"StarData",type:"keyword",info:"StarData[entity, property] gives the value of the specified property for the star entity.StarData[{e"},{label:"StarGraph",type:"keyword",info:"StarGraph[n] gives the star graph with n vertices S .\n "},{label:"StartAsynchronousTask",type:"keyword",info:"StartAsynchronousTask[task] allows asynchronous evaluations from task after it has been stopped."},{label:"StartExternalSession",type:"keyword",info:'StartExternalSession["sys"] starts an external session using the external evaluator sys, returning a'},{label:"StartingStepSize",type:"keyword",info:"StartingStepSize is an option to NDSolve and related functions that specifies the initial step size "},{label:"StartOfLine",type:"keyword",info:"StartOfLine represents the start of a line in a string for purposes of matching in StringExpression."},{label:"StartOfString",type:"keyword",info:"StartOfString represents the start of a string for purposes of matching in StringExpression."},{label:"StartProcess",type:"keyword",info:'StartProcess["executable"] executes an external program, yielding a ProcessObject to represent the r'},{label:"StartScheduledTask",type:"keyword",info:"StartScheduledTask[obj] starts the local or cloud scheduled task represented by obj."},{label:"StartupSound",type:"keyword",info:"System`StartupSound"},{label:"StartWebSession",type:"keyword",info:'StartWebSession[] starts a web session and returns a web session object.StartWebSession["browser"] s'},{label:"StateDimensions",type:"keyword",info:"StateDimensions is an option to TemporalData that specifies the dimensions of the state space. "},{label:"StateFeedbackGains",type:"keyword",info:"StateFeedbackGains[sspec, {p , …, p }] gives the state feedback gains for the system specification s"},{label:"StateOutputEstimator",type:"keyword",info:"StateOutputEstimator[ssm, l] constructs an estimator for the StateSpaceModel ssm, with estimator gai"},{label:"StateResponse",type:"keyword",info:"StateResponse[sys, u, {t, t , t }] gives the numeric state response of the state-space model sys"},{label:"StateSpaceModel",type:"keyword",info:"StateSpaceModel[{a, b, c, d}] represents the standard state-space model with state matrix a, input m"},{label:"StateSpaceRealization",type:"keyword",info:"StateSpaceRealization is an option to StateSpaceModel that specifies its canonical representation."},{label:"StateSpaceTransform",type:"keyword",info:"StateSpaceTransform[sys, {p, q}] transforms the state-space model sys using the matrices p and q. St"},{label:"StateTransformationLinearize",type:"keyword",info:"StateTransformationLinearize[asys] linearizes the AffineStateSpaceModel asys by state transformation"},{label:"StationaryDistribution",type:"keyword",info:"StationaryDistribution[proc] represents the stationary distribution of the process proc, when it exi"},{label:"StationaryWaveletPacketTransform",type:"keyword",info:"StationaryWaveletPacketTransform[data] gives the stationary wavelet packet transform (SWPT) of an ar"},{label:"StationaryWaveletTransform",type:"keyword",info:"StationaryWaveletTransform[data] gives the stationary wavelet transform (SWT) of an array of data.St"},{label:"StatusArea",type:"keyword",info:"StatusArea[expr, string] displays string in the status area of the current notebook when the mouse p"},{label:"StatusCentrality",type:"keyword",info:"StatusCentrality[g] gives a list of status centralities for the vertices in the graph g.StatusCentra"},{label:"StepMonitor",type:"keyword",info:"StepMonitor is an option for iterative numerical computation functions that gives an expression to e"},{label:"StereochemistryElements",type:"keyword",info:"StereochemistryElements is an option for Molecule that specifies the local stereochemical arrangemen"},{label:"StieltjesGamma",type:"keyword",info:"StieltjesGamma[n] gives the Stieltjes constant Î.b3 . StieltjesGamma[n, a] gives the generalized Stielt"},{label:"StippleShading",type:"keyword",info:"StippleShading[] is a three-dimensional graphics directive specifying that objects that follow are t"},{label:"StirlingS1",type:"keyword",info:" (m)\nStirlingS1[n, m] gives the Stirlin"},{label:"StirlingS2",type:"keyword",info:" (m)\nStirlingS2[n, m] gives the Stirli"},{label:"StopAsynchronousTask",type:"keyword",info:"StopAsynchronousTask[task] stops asynchronous evaluations from task."},{label:"StoppingPowerData",type:"keyword",info:'StoppingPowerData[entity, {"Particle"  particle, "Energy"  quantity}, property] gives the value of'},{label:"StopScheduledTask",type:"keyword",info:"StopScheduledTask[obj] deactivates the local or cloud scheduled task represented by obj."},{label:"StrataVariables",type:"keyword",info:"StrataVariables is an option for fitting functions such as CoxModelFit that specify the variables on"},{label:"StratonovichProcess",type:"keyword",info:"StratonovichProcess[{a, b}, x, t] represents a Stratonovich process x(t), where  x(t)  a(t, x(t)) "},{label:"StraussHardcorePointProcess",type:"keyword",info:" "},{label:"StraussPointProcess",type:"keyword",info:" "},{label:"StreamColorFunction",type:"keyword",info:"StreamColorFunction is an option for StreamPlot and related functions that specifies a function to a"},{label:"StreamColorFunctionScaling",type:"keyword",info:"StreamColorFunctionScaling is an option for graphics functions that specifies whether arguments supp"},{label:"StreamDensityPlot",type:"keyword",info:"StreamDensityPlot[{{v , v }, s}, {x, x , x }, {y, y , y }] generates a stream plot of the ve"},{label:"StreamMarkers",type:"keyword",info:"StreamMarkers is an option for StreamPlot, ListStreamPlot and related functions that specifies what "},{label:"StreamPlot",type:"keyword",info:"StreamPlot[{v , v }, {x, x , x }, {y, y , y }] generates a stream plot of the vector field {"},{label:"StreamPlot3D",type:"keyword",info:"StreamPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] plots streamlines for "},{label:"StreamPoints",type:"keyword",info:"StreamPoints is an option to StreamPlot, ListStreamPlot, and related functions that determines how m"},{label:"StreamPosition",type:"keyword",info:"StreamPosition[stream] returns an integer that specifies the position of the current point in an ope"},{label:"Streams",type:"keyword",info:'Streams[] gives a list of all streams that are currently open. Streams["name"] lists only streams wi'},{label:"StreamScale",type:"keyword",info:"StreamScale is an option to StreamPlot, ListStreamPlot, and related functions that determines the le"},{label:"StreamStyle",type:"keyword",info:"StreamStyle is an option to StreamPlot, StreamDensityPlot, and related functions that determines the"},{label:"StrictInequalities",type:"keyword",info:"StrictInequalities is an option to FunctionSign and FunctionMonotonicity, etc. that determines wheth"},{label:"String",type:"keyword",info:'String is the head of a character string "text". '},{label:"StringBreak",type:"keyword",info:"System`StringBreak"},{label:"StringByteCount",type:"keyword",info:'StringByteCount["string"] gives the total number of bytes used to store the characters in a string.'},{label:"StringCases",type:"keyword",info:'StringCases["string", patt] gives a list of the substrings in "string" that match the string express'},{label:"StringContainsQ",type:"keyword",info:'StringContainsQ["string", patt] yields True if any part of string matches the string pattern patt, a'},{label:"StringCount",type:"keyword",info:'StringCount["string", "sub"] gives a count of the number of times "sub" appears as a substring of "s'},{label:"StringDelete",type:"keyword",info:'StringDelete["string", patt] yields the string obtained by deleting from string all occurrences of a'},{label:"StringDrop",type:"keyword",info:" "},{label:"StringEndsQ",type:"keyword",info:'StringEndsQ["string", patt] yields True if the end of string matches the string pattern patt, and yi'},{label:"StringExpression",type:"keyword",info:"s ~~ s ~~ … or StringExpression[s , s , …] represents a sequence of strings and symbolic string ob"},{label:"StringExtract",type:"keyword",info:' th\nStringExtract["string", n] extracts the n block of c'},{label:"StringForm",type:"keyword",info:'StringForm["controlstring", expr , …] prints as the text of the controlstring, with the printed form'},{label:"StringFormat",type:"keyword",info:'StringFormat["string"] attempts to determine what ImportString format could be used to import the st'},{label:"StringFormatQ",type:"keyword",info:'StringFormatQ["string", "fmt"] gives True if the string "string" might be imported as format "fmt" a'},{label:"StringFreeQ",type:"keyword",info:'StringFreeQ["string", patt] yields True if no substring in "string" matches the string expression pa'},{label:"StringInsert",type:"keyword",info:'StringInsert["string", "snew", n] yields a string with "snew" inserted starting at position n in "st'},{label:"StringJoin",type:"keyword",info:'"s " <> "s " <> …, StringJoin["s ", "s ", …], or StringJoin[{"s ", "s ", …}] yields a string consist'},{label:"StringLength",type:"keyword",info:'StringLength["string"] gives the number of characters in a string. '},{label:"StringMatchQ",type:"keyword",info:'StringMatchQ["string", patt] tests whether "string" matches the string pattern patt. StringMatchQ["s'},{label:"StringPadLeft",type:"keyword",info:'StringPadLeft["string", n] makes string be of length n, padding it on the left with spaces or trunca'},{label:"StringPadRight",type:"keyword",info:'StringPadRight["string", n] makes string be of length n, padding it on the right with spaces or trun'},{label:"StringPart",type:"keyword",info:" th "},{label:"StringPartition",type:"keyword",info:'StringPartition["string", n] partitions string into nonoverlapping substrings of length n.StringPart'},{label:"StringPosition",type:"keyword",info:'StringPosition["string", "sub"] gives a list of the starting and ending character positions at which'},{label:"StringQ",type:"keyword",info:"StringQ[expr] gives True if expr is a string, and False otherwise."},{label:"StringRepeat",type:"keyword",info:'StringRepeat["str", n] creates a string consisting of "str" repeated n times.StringRepeat["str", n, '},{label:"StringReplace",type:"keyword",info:'StringReplace["string", s  sp] replaces the string expression s by sp wherever it appears in "strin'},{label:"StringReplaceList",type:"keyword",info:'StringReplaceList["string", s  sp] or StringReplaceList["string", {s  sp , s  sp , …}] gives a '},{label:"StringReplacePart",type:"keyword",info:'StringReplacePart["string", "snew", {m, n}] replaces the characters at positions m through n in "str'},{label:"StringReverse",type:"keyword",info:'StringReverse["string"] reverses the order of the characters in "string".'},{label:"StringRiffle",type:"keyword",info:"StringRiffle[{s , s , s , …}] creates a string by concatenating all the s , with spaces inserted bet"},{label:"StringRotateLeft",type:"keyword",info:"StringRotateLeft[string, n] cycles the characters in string n positions to the left.StringRotateLeft"},{label:"StringRotateRight",type:"keyword",info:"StringRotateRight[string, n] cycles the characters in string n positions to the right.StringRotateRi"},{label:"StringSkeleton",type:"keyword",info:"StringSkeleton[n] represents a sequence of n omitted characters in a string printed with Short. The "},{label:"StringSplit",type:"keyword",info:'StringSplit["string"] splits "string" into a list of substrings separated by whitespace. StringSplit'},{label:"StringStartsQ",type:"keyword",info:'StringStartsQ["string", patt] yields True if the beginning of string matches the string pattern patt'},{label:"StringTake",type:"keyword",info:" "},{label:"StringTakeDrop",type:"keyword",info:'StringTakeDrop["string", n] gives a pair of strings containing the first n characters in "string" an'},{label:"StringTemplate",type:"keyword",info:'StringTemplate["string"] yields a TemplateObject expression that represents a string template to be '},{label:"StringToByteArray",type:"keyword",info:'StringToByteArray["string"] returns a byte array corresponding to the UTF-8 encoding of the specifie'},{label:"StringToStream",type:"keyword",info:'StringToStream["string"] opens an input stream for reading from a string. '},{label:"StringTrim",type:"keyword",info:'StringTrim["string"] trims whitespace from the beginning and end of "string".StringTrim["string", pa'},{label:"StripBoxes",type:"keyword",info:"StripBoxes[expr] will strip out unnecessary boxes, spaces, and styles from a format expression."},{label:"StripOnInput",type:"keyword",info:"StripOnInput is an option for certain boxes that determines whether the box should be stripped on ev"},{label:"StripStyleOnPaste",type:"keyword",info:"System`StripStyleOnPaste"},{label:"StripWrapperBoxes",type:"keyword",info:"StripWrapperBoxes is an option to TagBox that controls how boxes are stripped upon evaluation."},{label:"StrokeForm",type:"keyword",info:"System`StrokeForm"},{label:"StructuralImportance",type:"keyword",info:"StructuralImportance[rdist] gives the structural importances for all components in the ReliabilityDi"},{label:"StructuredArray",type:"keyword",info:"StructuredArray[st, {d , d , …}, data] represents a d ×d ×… array with structure type st and specifi"},{label:"StructuredArrayHeadQ",type:"keyword",info:"System`StructuredArrayHeadQ"},{label:"StructuredSelection",type:"keyword",info:"StructuredSelection is an option for Cell that specifies whether to allow only complete subexpressio"},{label:"StruveH",type:"keyword",info:"StruveH[n, z] gives the Struve function H (z). \n n"},{label:"StruveL",type:"keyword",info:"StruveL[n, z] gives the modified Struve function L (z). \n "},{label:"Stub",type:"keyword",info:"Stub is an attribute which specifies that if a symbol is ever used, Needs should automatically be ca"},{label:"StudentTDistribution",type:"keyword",info:"StudentTDistribution[ν] represents a Student t distribution with ν degrees of freedom.StudentTDistri"},{label:"Style",type:"keyword",info:'Style[expr, options] displays with expr formatted using the specified option settings. Style[expr, "'},{label:"StyleBox",type:"keyword",info:"StyleBox[boxes, options] is a low-level representation of boxes to be shown with the specified optio"},{label:"StyleBoxAutoDelete",type:"keyword",info:"StyleBoxAutoDelete is an option for selections that specifies whether a StyleBox wrapped around them"},{label:"StyleData",type:"keyword",info:'StyleData["style"] is a low-level representation of the contents of a style definition cell.StyleDat'},{label:"StyleDefinitions",type:"keyword",info:"StyleDefinitions is an option for notebooks that gives definitions for the styles that can be used i"},{label:"StyleForm",type:"keyword",info:'StyleForm[expr, options] prints using the specified style options. StyleForm[expr, "style"] prints u'},{label:"StyleHints",type:"keyword",info:"StyleHints is an option for cells and notebooks that specifies an association containing hints used "},{label:"StyleKeyMapping",type:"keyword",info:"System`StyleKeyMapping"},{label:"StyleMenuListing",type:"keyword",info:"StyleMenuListing is an option for cells that specifies whether a given cell style is listed in the F"},{label:"StyleNameDialogSettings",type:"keyword",info:"StyleNameDialogSettings is a global option that specifies the cell style displayed in the Custom Sty"},{label:"StyleNames",type:"keyword",info:"System`StyleNames"},{label:"StylePrint",type:"keyword",info:'StylePrint[expr, "style"] creates a new cell in the current notebook with the specified style, and p'},{label:"StyleSheetPath",type:"keyword",info:"StyleSheetPath is a global option that specifies which directories the Wolfram System searches to fi"},{label:"Subdivide",type:"keyword",info:"Subdivide[n] generates the list {0, 1/n, 2/n, …, 1}.Subdivide[x , n] generates the list of values "},{label:"Subfactorial",type:"keyword",info:"Subfactorial[n] gives the number of permutations of n objects that leave no object fixed."},{label:"Subgraph",type:"keyword",info:"Subgraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices v .Subgraph[g, "},{label:"SubMinus",type:"keyword",info:"SubMinus[expr] displays as expr .\n -"},{label:"SubPlus",type:"keyword",info:"SubPlus[expr] displays as expr .\n +"},{label:"SubresultantPolynomialRemainders",type:"keyword",info:"SubresultantPolynomialRemainders[poly , poly , var] gives the subresultant polynomial remainder sequ"},{label:"SubresultantPolynomials",type:"keyword",info:"SubresultantPolynomials[poly , poly , var] generates a list of subresultant polynomials of the polyn"},{label:"Subresultants",type:"keyword",info:"Subresultants[poly , poly , var] generates a list of the principal subresultant coefficients of the "},{label:"Subscript",type:"keyword",info:"Subscript[x, y] is an object that formats as x . Subscript[x, y , y , …] formats as x .\n "},{label:"SubscriptBox",type:"keyword",info:"SubscriptBox[x, y] is the low‐level box representation for x in notebook expressions. \n "},{label:"SubscriptBoxOptions",type:"keyword",info:"SubscriptBoxOptions is an option for selections that specifies settings for SubscriptBox objects."},{label:"Subscripted",type:"keyword",info:"System`Subscripted"},{label:"Subsequences",type:"keyword",info:" "},{label:"Subset",type:"keyword",info:"Subset[x, y, …] displays as x ⊂ y ⊂ …."},{label:"SubsetCases",type:"keyword",info:"SubsetCases[list, patt] gives a list of the sublists in list that match the pattern patt in any orde"},{label:"SubsetCount",type:"keyword",info:"SubsetCount[list, sub] gives a count of the number of times sub appears in any order as a sublist of"},{label:"SubsetEqual",type:"keyword",info:"SubsetEqual[x, y, …] displays as x ⊆ y ⊆ …."},{label:"SubsetMap",type:"keyword",info:"SubsetMap[f, {e , e , …}, {i, j, …}] yields an expression in which the elements e , e , … in the lis"},{label:"SubsetPosition",type:"keyword",info:"SubsetPosition[list, sublist] gives a list of positions at which sublist appears in list in any orde"},{label:"SubsetQ",type:"keyword",info:"SubsetQ[list , list ] yields True if list is a subset of list , and False otherwise.\n 1 "},{label:"SubsetReplace",type:"keyword",info:"SubsetReplace[list, rules] replaces sublists in list according to the specified rule or list of rule"},{label:"Subsets",type:"keyword",info:" "},{label:"SubStar",type:"keyword",info:"SubStar[expr] displays as expr .\n *"},{label:"SubstitutionSystem",type:"keyword",info:"SubstitutionSystem[rule, init, t] generates a list representing the evolution of the substitution sy"},{label:"Subsuperscript",type:"keyword",info:" z\nSubsuperscript[x, y, z] is an object that fo"},{label:"SubsuperscriptBox",type:"keyword",info:" z\nSubsuperscriptBox[x, y, z] is "},{label:"SubsuperscriptBoxOptions",type:"keyword",info:"SubsuperscriptBoxOptions is an option for selections that specifies settings for SubsuperscriptBox o"},{label:"SubtitleEncoding",type:"keyword",info:"SubtitleEncoding is an option for Export and other functions that specifies the subtitle encoding to"},{label:"SubtitleTrackSelection",type:"keyword",info:"SubtitleTrackSelection is an option that specifies the subtitle tracks of interest."},{label:"Subtract",type:"keyword",info:"x - y is equivalent to x + (-1 * y). "},{label:"SubtractFrom",type:"keyword",info:"x -= dx subtracts dx from x and returns the new value of x. "},{label:"SubtractSides",type:"keyword",info:"SubtractSides[rel, x] subtracts x from each side of the equation or inequality rel.SubtractSides[rel"},{label:"SubValues",type:"keyword",info:"SubValues[f] gives a list of transformation rules corresponding to all subvalues (values for f[…][…]"},{label:"Succeeds",type:"keyword",info:"Succeeds[x, y, …] displays as x ≻ y ≻ …."},{label:"SucceedsEqual",type:"keyword",info:"SucceedsEqual[x, y, …] displays as x âª\\[Degree] y âª\\[Degree] …."},{label:"SucceedsSlantEqual",type:"keyword",info:"SucceedsSlantEqual[x, y, …] displays as x ≽ y ≽ …."},{label:"SucceedsTilde",type:"keyword",info:"SucceedsTilde[x, y, …] displays as x ≿ y ≿ …."},{label:"Success",type:"keyword",info:'Success["tag", assoc] represents a success of a type indicated by tag, with details given by the ass'},{label:"SuchThat",type:"keyword",info:"SuchThat[x, y] displays as x ∍ y."},{label:"Sum",type:"keyword",info:" "},{label:"SumConvergence",type:"keyword",info:" ∞ "},{label:"SummationLayer",type:"keyword",info:"SummationLayer[] represents a net layer that sums all of its input elements."},{label:"Sunday",type:"keyword",info:"Sunday is a day of the week."},{label:"SunPosition",type:"keyword",info:"SunPosition[] gives the position of the Sun for the current date and location.SunPosition[datespec] "},{label:"Sunrise",type:"keyword",info:"Sunrise[] gives the time of the next sunrise for the current date and location.Sunrise[datespec] giv"},{label:"Sunset",type:"keyword",info:"Sunset[] gives the time of the next sunset for the current date and location.Sunset[datespec] gives "},{label:"SuperDagger",type:"keyword",info:" †\nSuperDagger[expr] displays as expr ."},{label:"SuperMinus",type:"keyword",info:" -\nSuperMinus[expr] displays as expr ."},{label:"SupernovaData",type:"keyword",info:"SupernovaData[entity, property] gives the value of the specified property for the supernova entity.S"},{label:"SuperPlus",type:"keyword",info:" +\nSuperPlus[expr] displays as expr ."},{label:"Superscript",type:"keyword",info:" y\nSuperscript[x, y] is an object that formats as x ."},{label:"SuperscriptBox",type:"keyword",info:" y\nSuperscriptBox[x, y] is the low‐leve"},{label:"SuperscriptBoxOptions",type:"keyword",info:"SuperscriptBoxOptions is an option for selections that specifies settings for SuperscriptBox objects"},{label:"Superset",type:"keyword",info:"Superset[x, y, …] displays as x ⊃ y ⊃ …."},{label:"SupersetEqual",type:"keyword",info:"SupersetEqual[x, y, …] displays as x ⊇ y ⊇ …."},{label:"SuperStar",type:"keyword",info:" *\nSuperStar[expr] displays as expr ."},{label:"Surd",type:"keyword",info:" th\nSurd[x, n] gives the real-valued n root of x."},{label:"SurdForm",type:"keyword",info:"SurdForm is an option to RadicalBox and SqrtBox that indicates whether the radical represents a Surd"},{label:"SurfaceAppearance",type:"keyword",info:"System`SurfaceAppearance"},{label:"SurfaceArea",type:"keyword",info:"SurfaceArea[reg] gives the surface area of the three-dimensional region reg.SurfaceArea[{x , …, x },"},{label:"SurfaceColor",type:"keyword",info:"SurfaceColor[dcol] is a three-dimensional graphics directive which specifies that the surfaces which"},{label:"SurfaceData",type:"keyword",info:"SurfaceData[entity, property] gives the value of the specified property for the surface entity.Surfa"},{label:"SurfaceGraphics",type:"keyword",info:"SurfaceGraphics[array] is a representation of a three-dimensional plot of a surface, with heights of"},{label:"SurvivalDistribution",type:"keyword",info:"SurvivalDistribution[{e , e , …}] represents a survival distribution with event times e .SurvivalDis"},{label:"SurvivalFunction",type:"keyword",info:"SurvivalFunction[dist, x] gives the survival function for the distribution dist evaluated at x.Survi"},{label:"SurvivalModel",type:"keyword",info:"SurvivalModel[…] represents the symbolic survival model obtained from functions like SurvivalModelFi"},{label:"SurvivalModelFit",type:"keyword",info:"SurvivalModelFit[{e , e , …}] creates a survival model for event times e .\n 1 2 "},{label:"SuspendPacket",type:"keyword",info:"SuspendPacket[] is a WSTP packet used for synchronization with the Wolfram Language kernel."},{label:"SuzukiDistribution",type:"keyword",info:"SuzukiDistribution[μ, ν] represents the Suzuki distribution with shape parameters μ and ν."},{label:"SuzukiGroupSuz",type:"keyword",info:"SuzukiGroupSuz[] represents the sporadic simple Suzuki group Suz."},{label:"SwatchLegend",type:"keyword",info:"SwatchLegend[{col , …}, {lbl , …}] generates a legend that associates swatches of colors col with l"},{label:"Switch",type:"keyword",info:"Switch[expr, form , value , form , value , …] evaluates expr, then compares it with each of the form"},{label:"Symbol",type:"keyword",info:'Symbol["name"] refers to a symbol with the specified name. '},{label:"SymbolName",type:"keyword",info:"SymbolName[symbol] gives the name of the specified symbol. "},{label:"SymletWavelet",type:"keyword",info:"SymletWavelet[] represents the Symlet wavelet of order 4.SymletWavelet[n] represents the Symlet wave"},{label:"Symmetric",type:"keyword",info:"Symmetric[{s , …, s }] represents the symmetry of a tensor that is symmetric in the slots s .\n "},{label:"SymmetricGroup",type:"keyword",info:"SymmetricGroup[n] represents the symmetric group of degree n."},{label:"SymmetricKey",type:"keyword",info:"SymmetricKey[assoc] represents all the information needed for encryption, decryption, and other oper"},{label:"SymmetricMatrixQ",type:"keyword",info:"SymmetricMatrixQ[m] gives True if m is explicitly symmetric, and False otherwise. "},{label:"SymmetricPolynomial",type:"keyword",info:" th\nSymmetricPolynomial[k, {x , …, x }] gives the k "},{label:"SymmetricReduction",type:"keyword",info:"SymmetricReduction[f, {x , …, x }] gives a pair of polynomials {p, q} in x , …, x such that f == p "},{label:"Symmetrize",type:"keyword",info:"Symmetrize[tensor, sym] returns the symmetrization of tensor under the symmetry sym."},{label:"SymmetrizedArray",type:"keyword",info:"SymmetrizedArray[{pos  val , pos  val , …}, dims, sym] yields an array of dimensions dims whose "},{label:"SymmetrizedArrayRules",type:"keyword",info:"SymmetrizedArrayRules[sa] returns a list of rules pos  val of the symmetrized array sa.Symmetrize"},{label:"SymmetrizedDependentComponents",type:"keyword",info:"SymmetrizedDependentComponents[comp, sym] gives the list of components that are equivalent to the co"},{label:"SymmetrizedIndependentComponents",type:"keyword",info:"SymmetrizedIndependentComponents[dims, sym] gives the list of independent components of an array of "},{label:"SymmetrizedReplacePart",type:"keyword",info:"SymmetrizedReplacePart[sa, {pos  val , pos  val , …}] replaces independent values of the symmetr"},{label:"SynchronousInitialization",type:"keyword",info:"SynchronousInitialization is an option for Manipulate, DynamicModule, and related functions that spe"},{label:"SynchronousUpdating",type:"keyword",info:"SynchronousUpdating is an option for Manipulate, Dynamic, and related functions that specifies wheth"},{label:"Synonyms",type:"keyword",info:'Synonyms["word"] returns the synonyms associated with the specified word.'},{label:"Syntax",type:"keyword",info:"System`Syntax"},{label:"SyntaxForm",type:"keyword",info:"SyntaxForm is an option for operator-like box objects that specifies the precedence level to use whe"},{label:"SyntaxInformation",type:"keyword",info:"SyntaxInformation[f] gives information used to generate syntax coloring and other advisories when f["},{label:"SyntaxLength",type:"keyword",info:'SyntaxLength["string"] finds the number of characters starting at the beginning of a string that cor'},{label:"SyntaxPacket",type:"keyword",info:"SyntaxPacket[integer] is a WSTP packet where integer indicates the position at which a syntax error "},{label:"SyntaxQ",type:"keyword",info:'SyntaxQ["string"] returns True if the string corresponds to syntactically correct input for a single'},{label:"SynthesizeMissingValues",type:"keyword",info:"SynthesizeMissingValues[{example , example , …}] replaces missing values in each example by generate"},{label:"SystemCredential",type:"keyword",info:'SystemCredential["keyname"] gives the expression stored under "keyname" in secure storage.'},{label:"SystemCredentialData",type:"keyword",info:'SystemCredentialData[assoc, "pwfield"] represents data intended for secure credential storage. '},{label:"SystemCredentialKey",type:"keyword",info:"SystemCredentialKey is an option of AuthenticationDialog that specifies the name for secure storage "},{label:"SystemCredentialKeys",type:"keyword",info:'SystemCredentialKeys["patt"] gives the list of keys in secure storage that match patt.'},{label:"SystemCredentialStoreObject",type:"keyword",info:"SystemCredentialStoreObject[assoc] represents a credential store."},{label:"SystemDialogInput",type:"keyword",info:'SystemDialogInput["type"] brings up an interactive system dialog and returns the value chosen in the'},{label:"SystemException",type:"keyword",info:"System`SystemException"},{label:"SystemGet",type:"keyword",info:'SystemGet[{sym , …}, "filename"] loads source file with path encoded in "filename"\n 1'},{label:"SystemHelpPath",type:"keyword",info:"SystemHelpPath is a global option that specifies which directories are searched for the help noteboo"},{label:"SystemInformation",type:"keyword",info:"SystemInformation[] gives detailed information about the Wolfram System being run. SystemInformation"},{label:"SystemInformationData",type:"keyword",info:"System`SystemInformationData"},{label:"SystemInstall",type:"keyword",info:"SystemInstall[pack] downloads and installs the software package pack on your machine."},{label:"SystemModel",type:"keyword",info:'SystemModel["model"] gives a representation of the model "model", usable as input to other functions'},{label:"SystemModeler",type:"keyword",info:"SystemModeler[] starts SystemModeler. SystemModeler[model] starts SystemModeler and opens the System"},{label:"SystemModelExamples",type:"keyword",info:"SystemModelExamples[] shows an interactive browser of system modeling example models. SystemModelExa"},{label:"SystemModelLinearize",type:"keyword",info:"SystemModelLinearize[model] gives a linearized StateSpaceModel for model at an equilibrium. SystemMo"},{label:"SystemModelParametricSimulate",type:"keyword",info:"SystemModelParametricSimulate[model, v, {p , p , …}] simulates model for the variable v with paramet"},{label:"SystemModelPlot",type:"keyword",info:"SystemModelPlot[sim] shows default plots from the SystemModelSimulationData object sim.SystemModelPl"},{label:"SystemModelProgressReporting",type:"keyword",info:"SystemModelProgressReporting is an option for SystemModelSimulate and related functions that specifi"},{label:"SystemModelReliability",type:"keyword",info:"SystemModelReliability[model] retrieves the lifetime distribution for model.SystemModelReliability[m"},{label:"SystemModels",type:"keyword",info:"SystemModels[] returns a list of loaded system models.SystemModels[patt] returns the models matching"},{label:"SystemModelSimulate",type:"keyword",info:"SystemModelSimulate[model] simulates model according to experiment settings.SystemModelSimulate[mode"},{label:"SystemModelSimulateSensitivity",type:"keyword",info:"SystemModelSimulateSensitivity[model, {p , p , …}] simulates model and sensitivities to parameters p"},{label:"SystemModelSimulationData",type:"keyword",info:"SystemModelSimulationData[…] represents simulation data from functions such as SystemModelSimulate e"},{label:"SystemOpen",type:"keyword",info:'SystemOpen["target"] opens the specified file, URL, or other target with the associated program on y'},{label:"SystemOptions",type:"keyword",info:'SystemOptions["name"] gives the current setting for the internal system option with the specified na'},{label:"SystemProcessData",type:"keyword",info:"SystemProcessData[] returns a Dataset containing information on the processes running on the host co"},{label:"SystemProcesses",type:"keyword",info:"SystemProcesses[] returns a list of ProcessObjects that represent system programs."},{label:"SystemsConnectionsModel",type:"keyword",info:"SystemsConnectionsModel[{sys , sys , …}, conxs, ins, outs] gives a model with inputs ins and outputs"},{label:"SystemsModelControllerData",type:"keyword",info:"SystemsModelControllerData[…] represents controller data generated by functions LQGRegulator, PIDTun"},{label:"SystemsModelDelay",type:"keyword",info:"SystemsModelDelay[Î.b4] represents a time delay of Î.b4 in a StateSpaceModel or TransferFunctionModel."},{label:"SystemsModelDelayApproximate",type:"keyword",info:"SystemsModelDelayApproximate[sys, ord] gives a delay-free system by using approximations of order or"},{label:"SystemsModelDelete",type:"keyword",info:"SystemsModelDelete[sys, {in , …}] deletes the subsystem of the systems model sys associated with inp"},{label:"SystemsModelDimensions",type:"keyword",info:"SystemsModelDimensions[sys] gives the number of inputs and outputs of the systems model sys."},{label:"SystemsModelExtract",type:"keyword",info:"SystemsModelExtract[sys, {in , …}] extracts the subsystem of the systems model sys associated with i"},{label:"SystemsModelFeedbackConnect",type:"keyword",info:" "},{label:"SystemsModelLabels",type:"keyword",info:"SystemsModelLabels is an option to StateSpaceModel etc. that specifies labels of variables."},{label:"SystemsModelLinearity",type:"keyword",info:"SystemsModelLinearity[sys] gives the linearity of the systems model sys.SystemsModelLinearity[{sys, "},{label:"SystemsModelMerge",type:"keyword",info:"SystemsModelMerge[{sys , sys , …}] merges the systems models sys . \n 1 2 "},{label:"SystemsModelOrder",type:"keyword",info:"SystemsModelOrder[sys] gives the order of the state-space model sys."},{label:"SystemsModelParallelConnect",type:"keyword",info:"SystemsModelParallelConnect[sys , sys ] connects the systems models sys and sys in parallel.System"},{label:"SystemsModelSeriesConnect",type:"keyword",info:"SystemsModelSeriesConnect[sys , sys ] connects systems models sys and sys in series. SystemsModelS"},{label:"SystemsModelStateFeedbackConnect",type:"keyword",info:" "},{label:"SystemsModelVectorRelativeOrders",type:"keyword",info:"SystemsModelVectorRelativeOrders[sys] gives the vector-relative orders of the systems model sys."},{label:"SystemStub",type:"keyword",info:'SystemStub[{sym , sym , …}, "context", "filename"] saves definitions of given symbols {sym , sym , …'},{label:"SystemTest",type:"keyword",info:"System`SystemTest"},{label:"Tab",type:"keyword",info:"System`Tab"},{label:"TabFilling",type:"keyword",info:"TabFilling is an option for character selections that specifies how a Tab character is represented o"},{label:"Table",type:"keyword",info:"Table[expr, n] generates a list of n copies of expr. Table[expr, {i, i }] generates a list of the "},{label:"TableAlignments",type:"keyword",info:"TableAlignments is an option for TableForm and MatrixForm which specifies how entries in each dimens"},{label:"TableDepth",type:"keyword",info:"TableDepth is an option for TableForm and MatrixForm that specifies the maximum number of levels to "},{label:"TableDirections",type:"keyword",info:"TableDirections is an option for TableForm and MatrixForm which specifies whether successive dimensi"},{label:"TableForm",type:"keyword",info:"TableForm[list] prints with the elements of list arranged in an array of rectangular cells. "},{label:"TableHeadings",type:"keyword",info:"TableHeadings is an option for TableForm and MatrixForm that gives the labels to be printed for entr"},{label:"TableSpacing",type:"keyword",info:"TableSpacing is an option for TableForm and MatrixForm that specifies how many spaces should be left"},{label:"TableView",type:"keyword",info:"TableView[{{expr , expr , …}, {expr , expr , …}, …}] displays as a spreadsheet-like table view f"},{label:"TableViewBox",type:"keyword",info:"System`TableViewBox"},{label:"TableViewBoxAlignment",type:"keyword",info:"System`TableViewBoxAlignment"},{label:"TableViewBoxBackground",type:"keyword",info:"System`TableViewBoxBackground"},{label:"TableViewBoxHeaders",type:"keyword",info:"System`TableViewBoxHeaders"},{label:"TableViewBoxItemSize",type:"keyword",info:"System`TableViewBoxItemSize"},{label:"TableViewBoxItemStyle",type:"keyword",info:"System`TableViewBoxItemStyle"},{label:"TableViewBoxOptions",type:"keyword",info:"System`TableViewBoxOptions"},{label:"TabSpacings",type:"keyword",info:"TabSpacings is an option for character selections that specifies the number of spaces in ems that th"},{label:"TabView",type:"keyword",info:" "},{label:"TabViewBox",type:"keyword",info:"System`TabViewBox"},{label:"TabViewBoxOptions",type:"keyword",info:"TabViewBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TabViewBo"},{label:"TagBox",type:"keyword",info:"TagBox[boxes, tag] is a low-level box construct that displays as boxes but maintains tag to guide th"},{label:"TagBoxNote",type:"keyword",info:"System`TagBoxNote"},{label:"TagBoxOptions",type:"keyword",info:"TagBoxOptions is an option that specifies settings for TagBox objects."},{label:"TaggingRules",type:"keyword",info:"TaggingRules is an option for selections that specifies a list of strings to be associated with a se"},{label:"TagSet",type:"keyword",info:"f/:lhs = rhs assigns rhs to be the value of lhs, and associates the assignment with the symbol f. "},{label:"TagSetDelayed",type:"keyword",info:"f/:lhs := rhs assigns rhs to be the delayed value of lhs, and associates the assignment with the sym"},{label:"TagStyle",type:"keyword",info:"System`TagStyle"},{label:"TagUnset",type:"keyword",info:"f/:lhs=. removes any rules defined for lhs, associated with the symbol f. "},{label:"Take",type:"keyword",info:"Take[list, n] gives the first n elements of list. Take[list, -n] gives the last n elements of list. "},{label:"TakeDrop",type:"keyword",info:"TakeDrop[list, n] gives the pair {list , list }, where list contains the first n elements of list a"},{label:"TakeLargest",type:"keyword",info:"TakeLargest[list, n] gives the n numerically largest elements in list, sorted in descending order.Ta"},{label:"TakeLargestBy",type:"keyword",info:"TakeLargestBy[list, f, n] gives the n elements e in list for which f[e ] is largest, sorted in d"},{label:"TakeList",type:"keyword",info:"TakeList[list, {n , n , …}] gives the list of results obtained by successively taking n elements fr"},{label:"TakeSmallest",type:"keyword",info:"TakeSmallest[list, n] gives the n numerically smallest elements in list, sorted in ascending order.T"},{label:"TakeSmallestBy",type:"keyword",info:"TakeSmallestBy[list, f, n] gives the n elements e in list for which f[e ] is smallest, sorted in as"},{label:"TakeWhile",type:"keyword",info:"TakeWhile[list, crit] gives elements e from the beginning of list, continuing so long as crit[e ] i"},{label:"Tally",type:"keyword",info:"Tally[list] tallies the elements in list, listing all distinct elements together with their multipli"},{label:"Tan",type:"keyword",info:"Tan[z] gives the tangent of z."},{label:"Tanh",type:"keyword",info:"Tanh[z] gives the hyperbolic tangent of z."},{label:"TargetDevice",type:"keyword",info:"TargetDevice is an option for certain functions that specifies whether CPU or GPU computation should"},{label:"TargetFunctions",type:"keyword",info:"TargetFunctions is an option for functions such as ComplexExpand and FindDistribution that specifies"},{label:"TargetSystem",type:"keyword",info:"TargetSystem is an option for FunctionCompile and related functions that specifies machine architect"},{label:"TargetUnits",type:"keyword",info:"TargetUnits is an option used to specify the desired output units for visualization functions operat"},{label:"TaskAbort",type:"keyword",info:"TaskAbort[task] generates an interrupt to abort the current execution of a task."},{label:"TaskExecute",type:"keyword",info:"TaskExecute[task] immediately executes an instance of the specified task, independently of any sched"},{label:"TaskObject",type:"keyword",info:"TaskObject[spec] is an object that represents a background task."},{label:"TaskRemove",type:"keyword",info:"TaskRemove[task] terminates and removes the specified task."},{label:"TaskResume",type:"keyword",info:"TaskResume[task] resumes execution of the specified task."},{label:"Tasks",type:"keyword",info:"Tasks[type] gives a list of TaskObject expressions representing currently submitted tasks of given t"},{label:"TaskSuspend",type:"keyword",info:"TaskSuspend[task] suspends the execution of the specified task."},{label:"TaskWait",type:"keyword",info:"TaskWait[task] waits for the specified task to be completely finished. "},{label:"TautologyQ",type:"keyword",info:"TautologyQ[bf] gives True if all combinations of values of variables make the Boolean function bf yi"},{label:"TelegraphProcess",type:"keyword",info:"TelegraphProcess[μ] represents a telegraph process with rate μ."},{label:"TemplateApply",type:"keyword",info:"TemplateApply[template] applies a template, evaluating all template elements it contains.TemplateApp"},{label:"TemplateArgBox",type:"keyword",info:"System`TemplateArgBox"},{label:"TemplateBox",type:"keyword",info:"TemplateBox[{box , box , …}, tag] is a low-level box structure that parameterizes the display and ev"},{label:"TemplateBoxOptions",type:"keyword",info:"TemplateBoxOptions is an option that specifies settings for TemplateBox objects."},{label:"TemplateEvaluate",type:"keyword",info:"System`TemplateEvaluate"},{label:"TemplateExpression",type:"keyword",info:"TemplateExpression[expr] represents an expression held until a template is applied, and then evaluat"},{label:"TemplateIf",type:"keyword",info:"TemplateIf[condition, tclause] represents an element of a template object that inserts tclause if th"},{label:"TemplateObject",type:"keyword",info:"TemplateObject[expr] represents a template object to be applied using functions like TemplateApply.T"},{label:"TemplateSequence",type:"keyword",info:"TemplateSequence[body, list] represents an element of a template object that yields a sequence consi"},{label:"TemplateSlot",type:"keyword",info:" th\nTemplateSlot[n] represents a t"},{label:"TemplateSlotSequence",type:"keyword",info:"System`TemplateSlotSequence"},{label:"TemplateUnevaluated",type:"keyword",info:"System`TemplateUnevaluated"},{label:"TemplateVerbatim",type:"keyword",info:"System`TemplateVerbatim"},{label:"TemplateWith",type:"keyword",info:'TemplateWith["name"  value, expr] represents an element of a template object that evaluates expr af'},{label:"TemporalData",type:"keyword",info:"TemporalData[{v , v , …}, tspec] represents temporal data with values v at times specified by tspec"},{label:"TemporalRegularity",type:"keyword",info:"TemporalRegularity is an option for TemporalData, TimeSeries, and EventSeries that controls whether "},{label:"Temporary",type:"keyword",info:"Temporary is an attribute assigned to symbols which are created as local variables by Module. "},{label:"TemporaryVariable",type:"keyword",info:"System`TemporaryVariable"},{label:"TensorContract",type:"keyword",info:"TensorContract[tensor, {{s , s }, {s , s }, …}] yields the contraction of tensor in the pairs {s"},{label:"TensorDimensions",type:"keyword",info:"TensorDimensions[tensor] gives the list of dimensions of tensor."},{label:"TensorExpand",type:"keyword",info:"TensorExpand[texpr] expands out tensor-related products in the symbolic tensor expression texpr."},{label:"TensorProduct",type:"keyword",info:"TensorProduct[tensor , tensor , …] represents the tensor product of the tensor .\n "},{label:"TensorQ",type:"keyword",info:"System`TensorQ"},{label:"TensorRank",type:"keyword",info:"TensorRank[tensor] gives the rank of tensor."},{label:"TensorReduce",type:"keyword",info:"TensorReduce[texpr] attempts to return a canonical form for the symbolic tensor expression texpr."},{label:"TensorSymmetry",type:"keyword",info:"TensorSymmetry[tensor] gives the symmetry of tensor under permutations of its slots.TensorSymmetry[t"},{label:"TensorTranspose",type:"keyword",info:"TensorTranspose[tensor, perm] represents the tensor obtained by transposing the slots of tensor as g"},{label:"TensorWedge",type:"keyword",info:"TensorWedge[tensor , tensor , …] represents the antisymmetrized tensor product of the tensor .\n "},{label:"TestID",type:"keyword",info:"TestID is an option to VerificationTest that specifies a string used as an identifier for the test."},{label:"TestReport",type:"keyword",info:'TestReport["file"] runs tests from a file, returning an analysis of the completed test run.TestRepor'},{label:"TestReportObject",type:"keyword",info:"TestReportObject[…] gives an object that represents the results of TestReport."},{label:"TestResultObject",type:"keyword",info:"TestResultObject[…] gives an object that represents the results of a VerificationTest."},{label:"Tetrahedron",type:"keyword",info:"Tetrahedron[] represents a regular tetrahedron centered at the origin with unit edge length.Tetrahed"},{label:"TetrahedronBox",type:"keyword",info:"System`TetrahedronBox"},{label:"TetrahedronBoxOptions",type:"keyword",info:"System`TetrahedronBoxOptions"},{label:"TeXForm",type:"keyword",info:"TeXForm[expr] prints as a TeX version of expr. "},{label:"TeXSave",type:"keyword",info:'TeXSave["file.tex"] saves a TeX version of the current input notebook in the front end. TeXSave["fil'},{label:"Text",type:"keyword",info:"Text[expr] displays with expr in plain text format. Text[expr, coords] is a graphics primitive that "},{label:"Text3DBox",type:"keyword",info:"System`Text3DBox"},{label:"Text3DBoxOptions",type:"keyword",info:"Text3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Text3DBox "},{label:"TextAlignment",type:"keyword",info:"TextAlignment is an option for Cell, Style and related constructs which specifies how successive lin"},{label:"TextBand",type:"keyword",info:"System`TextBand"},{label:"TextBoundingBox",type:"keyword",info:"System`TextBoundingBox"},{label:"TextBox",type:"keyword",info:"System`TextBox"},{label:"TextCases",type:"keyword",info:"TextCases[text, form] gives a list of all cases of text identified as being of type form that appear"},{label:"TextCell",type:"keyword",info:'TextCell["string"] gives a text cell that can appear in a Wolfram System notebook.TextCell["string",'},{label:"TextClipboardType",type:"keyword",info:"TextClipboardType is an option for cells that specifies how Edit â–\\[Paragraph] Copy treats a cell when convertin"},{label:"TextContents",type:"keyword",info:"TextContents[text] gives a dataset of information about entities, dates, quantities and other conten"},{label:"TextData",type:"keyword",info:"TextData[exprs] is a low-level representation of the contents of a textual cell."},{label:"TextElement",type:"keyword",info:"TextElement[text, props] represents an element of text with the specified properties.TextElement[{el"},{label:"TextForm",type:"keyword",info:"System`TextForm"},{label:"TextGrid",type:"keyword",info:"TextGrid[{{expr , expr , …}, {expr , expr , …}, …}] is an object that formats expr textually a"},{label:"TextJustification",type:"keyword",info:"TextJustification is an option for Cell and Inset which specifies how much lines of text can be stre"},{label:"TextLine",type:"keyword",info:"System`TextLine"},{label:"TextPacket",type:"keyword",info:"TextPacket[string] is a WSTP packet containing string, the text output from the Wolfram System as pr"},{label:"TextParagraph",type:"keyword",info:"System`TextParagraph"},{label:"TextPosition",type:"keyword",info:"TextPosition[text, form] gives a list of the starting and ending positions at which instances of for"},{label:"TextRecognize",type:"keyword",info:"TextRecognize[image] recognizes text in image and returns it as a string.TextRecognize[image, level]"},{label:"TextSearch",type:"keyword",info:"TextSearch[source, form] searches for files referenced by source that contain text matching form.Tex"},{label:"TextSearchReport",type:"keyword",info:"TextSearchReport[source, form] gives a structured report of files referenced by source that contain "},{label:"TextSentences",type:"keyword",info:'TextSentences["string"] gives a list of the runs of characters identified as sentences in string.Tex'},{label:"TextString",type:"keyword",info:"TextString[expr] gives a human-readable string representation of expr."},{label:"TextStructure",type:"keyword",info:'TextStructure["text"] generates a nested collection of TextElement objects representing the grammati'},{label:"TextStyle",type:"keyword",info:"TextStyle is an option for graphics functions and for Text which specifies the default style and fon"},{label:"TextTranslation",type:"keyword",info:'TextTranslation["text"] translates text into the current default language. TextTranslation["text", l'},{label:"Texture",type:"keyword",info:"Texture[obj] is a graphics directive that specifies that obj should be used as a texture on faces of"},{label:"TextureCoordinateFunction",type:"keyword",info:"TextureCoordinateFunction is an option to Plot3D and similar functions that specifies a function tha"},{label:"TextureCoordinateScaling",type:"keyword",info:"TextureCoordinateScaling is an option to Plot3D and similar functions that specifies whether argumen"},{label:"TextWords",type:"keyword",info:'TextWords["string"] gives a list of the runs of characters identified as words in string.TextWords["'},{label:"Therefore",type:"keyword",info:"Therefore[x, y] displays as x âˆ.b4 y."},{label:"ThermodynamicData",type:"keyword",info:'ThermodynamicData["name", "property"] gives the value of the specific property for the substance "na'},{label:"ThermometerGauge",type:"keyword",info:"ThermometerGauge[value] draws a thermometer showing value in a range of 0 to 1.ThermometerGauge[valu"},{label:"Thick",type:"keyword",info:"Thick is a graphics directive that specifies that lines which follow should be drawn thick."},{label:"Thickness",type:"keyword",info:"Thickness[r] is a graphics directive which specifies that lines which follow are to be drawn with th"},{label:"Thin",type:"keyword",info:"Thin is a graphics directive that specifies that lines which follow should be drawn thin."},{label:"Thinning",type:"keyword",info:"Thinning[image] finds the skeletons of foreground regions in image by applying morphological thinnin"},{label:"ThisLink",type:"keyword",info:"ThisLink is used in patterns for external packages to distinguish between several instances of the s"},{label:"ThomasPointProcess",type:"keyword",info:" "},{label:"ThompsonGroupTh",type:"keyword",info:"ThompsonGroupTh[] represents the sporadic simple Thompson group Th."},{label:"Thread",type:"keyword",info:'Thread[f[args]] "threads" f over any lists that appear in args. Thread[f[args], h] threads f over an'},{label:"ThreadingLayer",type:"keyword",info:"ThreadingLayer[f] represents a net layer that takes several input arrays and applies a function f to"},{label:"ThreeJSymbol",type:"keyword",info:"ThreeJSymbol[{j , m }, {j , m }, {j , m }] gives the values of the Wigner 3‐j symbol. \n "},{label:"Threshold",type:"keyword",info:"Threshold[data] thresholds data by replacing values close to zero by zero.Threshold[data, tspec] thr"},{label:"Through",type:"keyword",info:"Through[p[f , f ][x]] gives p[f [x], f [x]]. Through[expr, h] performs the transformation wherever h"},{label:"Throw",type:"keyword",info:"Throw[value] stops evaluation and returns value as the value of the nearest enclosing Catch.Throw[va"},{label:"ThueMorse",type:"keyword",info:" th\nThueMorse[n] gives the n term in the Thue–Morse sequence."},{label:"Thumbnail",type:"keyword",info:"Thumbnail[image] gives a thumbnail version of an image.Thumbnail[file] gives a thumbnail of an image"},{label:"Thursday",type:"keyword",info:"Thursday is a day of the week."},{label:"TickDirection",type:"keyword",info:"TickDirection is an option for AxisObject that specifies where the ticks are drawn relative to the a"},{label:"TickLabelOrientation",type:"keyword",info:"TickLabelOrientation is an option for AxisObject that specifies how the tick labels should be orient"},{label:"TickLabelPositioning",type:"keyword",info:"TickLabelPositioning is an option for AxisObject that specifies how the tick labels should be positi"},{label:"TickLabels",type:"keyword",info:"TickLabels is an option for AxisObject that specifies how the tick marks should be labeled."},{label:"TickLengths",type:"keyword",info:"TickLengths is an option for AxisObject that specifies the lengths of the tick marks."},{label:"TickPositions",type:"keyword",info:"TickPositions is an option for AxisObject that specifies where the tick marks should be positioned."},{label:"Ticks",type:"keyword",info:"Ticks is an option for graphics functions that specifies tick marks for axes. "},{label:"TicksStyle",type:"keyword",info:"TicksStyle is an option for graphics functions which specifies how ticks should be rendered."},{label:"TideData",type:"keyword",info:"TideData[spec] returns the tidal properties for a location or a set of tidal parameters.TideData[spe"},{label:"Tilde",type:"keyword",info:"Tilde[x, y, …] displays as x ∼ y ∼ …."},{label:"TildeEqual",type:"keyword",info:"TildeEqual[x, y, …] displays as x ≃ y ≃ …."},{label:"TildeFullEqual",type:"keyword",info:"TildeFullEqual[x, y, …] displays as x ≅ y ≅ …."},{label:"TildeTilde",type:"keyword",info:"TildeTilde[x, y, …] displays as x ≈ y ≈ …."},{label:"TimeConstrained",type:"keyword",info:"TimeConstrained[expr, t] evaluates expr, stopping after t seconds. TimeConstrained[expr, t, failexpr"},{label:"TimeConstraint",type:"keyword",info:"TimeConstraint is an option for various functions that specifies the maximum time to spend doing a p"},{label:"TimeDirection",type:"keyword",info:"TimeDirection is an option for Sunrise, Sunset, and related functions that specifies whether the nex"},{label:"TimeFormat",type:"keyword",info:"TimeFormat is an option that determines the time formatting that is used when formatting a TimeObjec"},{label:"TimeGoal",type:"keyword",info:"TimeGoal is an option for various functions that specifies how long to spend doing a particular oper"},{label:"TimelinePlot",type:"keyword",info:"TimelinePlot[{date , date , …}] makes a timeline plot with dates date , date , …. TimelinePlot[{even"},{label:"TimeObject",type:"keyword",info:"TimeObject[] represents the current time.TimeObject[{h, m, s}] represents a time object of standard "},{label:"TimeObjectQ",type:"keyword",info:"TimeObjectQ[expr] gives True if expr is a TimeObject with valid arguments, and False otherwise."},{label:"TimeRemaining",type:"keyword",info:"TimeRemaining[] gives the number of seconds remaining until the earliest enclosing TimeConstrained w"},{label:"Times",type:"keyword",info:"x * y * z, x × y × z, or x y z represents a product of terms. "},{label:"TimesBy",type:"keyword",info:"x *= c multiplies x by c and returns the new value of x. "},{label:"TimeSeries",type:"keyword",info:"TimeSeries[{{t , v }, {t , v } …}] represents a time series specified by time-value pairs {t , v }.T"},{label:"TimeSeriesAggregate",type:"keyword",info:"TimeSeriesAggregate[tseries, dt] computes the mean value of tseries over non-overlapping windows of "},{label:"TimeSeriesForecast",type:"keyword",info:"TimeSeriesForecast[tproc, data, k] gives the k-step-ahead forecast beyond data according to the time"},{label:"TimeSeriesInsert",type:"keyword",info:"TimeSeriesInsert[tseries, {t, v}] inserts a value v at time t in the time series tseries.TimeSeriesI"},{label:"TimeSeriesInvertibility",type:"keyword",info:"TimeSeriesInvertibility[tproc] gives conditions for the time series process tproc to be invertible. "},{label:"TimeSeriesMap",type:"keyword",info:"TimeSeriesMap[f, tseries] applies f to the values in tseries."},{label:"TimeSeriesMapThread",type:"keyword",info:"TimeSeriesMapThread[f, tseries] gives {{t , f[t , x ]}, {t , f[t , x ]}, …} for the time series tser"},{label:"TimeSeriesModel",type:"keyword",info:"TimeSeriesModel[…] represents the symbolic time series model obtained from TimeSeriesModelFit."},{label:"TimeSeriesModelFit",type:"keyword",info:"TimeSeriesModelFit[data] constructs a time series model for data from an automatically selected mode"},{label:"TimeSeriesResample",type:"keyword",info:"TimeSeriesResample[tseries] uniformly resamples tseries according to its minimum time increment.Time"},{label:"TimeSeriesRescale",type:"keyword",info:"TimeSeriesRescale[tseries, {t , t }] rescales the times in time series tseries to run from t "},{label:"TimeSeriesShift",type:"keyword",info:"TimeSeriesShift[tseries, shift] shifts the time series tseries to the left or right according to shi"},{label:"TimeSeriesThread",type:"keyword",info:"TimeSeriesThread[f, {tseries , tseries , …}] combines the tseries using the function f.\n "},{label:"TimeSeriesWindow",type:"keyword",info:"TimeSeriesWindow[tseries, {t , t }] gives the elements of the time series tseries that fall betw"},{label:"TimeSystem",type:"keyword",info:"TimeSystem is an option for time functions that specifies the time system being used to define time."},{label:"TimeSystemConvert",type:"keyword",info:"TimeSystemConvert[date, tsys] converts the date object date to the specified time system tsys.TimeSy"},{label:"TimeUsed",type:"keyword",info:"TimeUsed[] gives the total number of seconds of CPU time used so far in the current Wolfram System s"},{label:"TimeValue",type:"keyword",info:"TimeValue[s, i, t] calculates the time value of a security s at time t for an interest specified by "},{label:"TimeWarpingCorrespondence",type:"keyword",info:"TimeWarpingCorrespondence[s , s ] gives the time warping (DTW) similarity path between sequences s "},{label:"TimeWarpingDistance",type:"keyword",info:"TimeWarpingDistance[s , s ] gives the dynamic time warping (DTW) distance between sequences s and s"},{label:"TimeZone",type:"keyword",info:"TimeZone is an option for DateObject, DateString, and related functions that specifies the time zone"},{label:"TimeZoneConvert",type:"keyword",info:"TimeZoneConvert[time, timezone] converts the date or time object time to the specified time zone tim"},{label:"TimeZoneOffset",type:"keyword",info:"TimeZoneOffset[tz] gives the numeric offset between the time zone tz and GMT on the current date.Tim"},{label:"Timing",type:"keyword",info:"Timing[expr] evaluates expr, and returns a list of the time in seconds used, together with the resul"},{label:"Tiny",type:"keyword",info:"Tiny is a style or option setting that specifies that objects should be tiny."},{label:"TitleGrouping",type:"keyword",info:"System`TitleGrouping"},{label:"TitsGroupT",type:"keyword",info:"TitsGroupT[] represents the simple Tits group T."},{label:"ToBoxes",type:"keyword",info:"ToBoxes[expr] generates boxes corresponding to the printed form of expr in StandardForm. ToBoxes[exp"},{label:"ToCharacterCode",type:"keyword",info:'ToCharacterCode["string"] gives a list of the integer codes corresponding to the characters in a str'},{label:"ToColor",type:"keyword",info:"ToColor[color, form] converts color to form if form is GrayLevel, RGBColor or CMYKColor. Otherwise f"},{label:"ToContinuousTimeModel",type:"keyword",info:"ToContinuousTimeModel[lsys] gives the continuous-time approximation of the discrete-time systems mod"},{label:"ToDate",type:"keyword",info:"ToDate[time] converts an absolute time in seconds since the beginning of January 1, 1900 to a date o"},{label:"Today",type:"keyword",info:"Today gives a DateObject representing the current day."},{label:"ToDiscreteTimeModel",type:"keyword",info:"ToDiscreteTimeModel[lsys, τ] gives the discrete-time approximation, with sampling period τ, of the c"},{label:"ToEntity",type:"keyword",info:"ToEntity[expr] returns an entity object corresponding to the given expression.ToEntity[expr, type] r"},{label:"ToeplitzMatrix",type:"keyword",info:"ToeplitzMatrix[n] gives the n×n Toeplitz matrix with first row and first column being successive int"},{label:"ToExpression",type:"keyword",info:"ToExpression[input] gives the expression obtained by interpreting strings or boxes as Wolfram Langua"},{label:"ToFileName",type:"keyword",info:'ToFileName["directory", "name"] assembles a full file name from a directory name and a file name. To'},{label:"Together",type:"keyword",info:"Together[expr] puts terms in a sum over a common denominator, and cancels factors in the result. "},{label:"Toggle",type:"keyword",info:"System`Toggle"},{label:"ToggleFalse",type:"keyword",info:"System`ToggleFalse"},{label:"Toggler",type:"keyword",info:"Toggler[x] represents a toggler button with setting x, that toggles between True and False. Toggler["},{label:"TogglerBar",type:"keyword",info:"TogglerBar[x, {val , val , …}] represents a toggler bar with setting x and with toggler buttons for "},{label:"TogglerBox",type:"keyword",info:"System`TogglerBox"},{label:"TogglerBoxOptions",type:"keyword",info:"TogglerBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TogglerBo"},{label:"ToHeldExpression",type:"keyword",info:"System`ToHeldExpression"},{label:"ToInvertibleTimeSeries",type:"keyword",info:"ToInvertibleTimeSeries[tproc] returns an invertible version of a time series process tproc."},{label:"TokenWords",type:"keyword",info:"TokenWords is an option for Read and related functions which gives a list of token words to be used "},{label:"Tolerance",type:"keyword",info:"Tolerance is an option for various numerical options which specifies the tolerance that should be al"},{label:"ToLowerCase",type:"keyword",info:"ToLowerCase[string] yields a string in which all letters have been converted to lowercase. "},{label:"Tomorrow",type:"keyword",info:"Tomorrow gives a DateObject representing the following day."},{label:"ToNumberField",type:"keyword",info:"ToNumberField[a, θ] expresses the algebraic number a in the number field generated by θ. ToNumberFie"},{label:"TooBig",type:"keyword",info:"TooBig is an internal symbol."},{label:"Tooltip",type:"keyword",info:"Tooltip[expr, label] displays label as a tooltip while the mouse pointer is in the area where expr i"},{label:"TooltipBox",type:"keyword",info:"System`TooltipBox"},{label:"TooltipBoxOptions",type:"keyword",info:"TooltipBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TooltipBo"},{label:"TooltipDelay",type:"keyword",info:"TooltipDelay is an option for objects such as Tooltip that specifies how long to delay after the mou"},{label:"TooltipStyle",type:"keyword",info:"TooltipStyle is an option for tooltips that specifies the style to use in displaying their elements."},{label:"ToonShading",type:"keyword",info:"ToonShading[] is a three-dimensional graphics directive specifying that surfaces that follow are to "},{label:"Top",type:"keyword",info:"Top is a symbol that represents the top for purposes of alignment and positioning. "},{label:"TopHatTransform",type:"keyword",info:"TopHatTransform[image, ker] gives the morphological top-hat transform of image with respect to struc"},{label:"ToPolarCoordinates",type:"keyword",info:"ToPolarCoordinates[{x, y}] gives the {r, θ} polar coordinates corresponding to the Cartesian coordin"},{label:"TopologicalSort",type:"keyword",info:"TopologicalSort[g] gives a list of vertices of g in topologically sorted order for a directed acycli"},{label:"ToRadicals",type:"keyword",info:"ToRadicals[expr] attempts to express all Root objects in expr in terms of radicals. "},{label:"ToRules",type:"keyword",info:"ToRules[eqns] takes logical combinations of equations, in the form generated by Roots and Reduce, an"},{label:"Torus",type:"keyword",info:"Torus[{x, y, z}, {r , r }] represents a torus centered at {x, y, z} with inner radius r "},{label:"ToSphericalCoordinates",type:"keyword",info:"ToSphericalCoordinates[{x, y, z}] gives the {r, θ, ϕ} spherical coordinates corresponding to the Car"},{label:"ToString",type:"keyword",info:"ToString[expr] gives a string corresponding to the printed form of expr in OutputForm. ToString[expr"},{label:"Total",type:"keyword",info:"Total[list] gives the total of the elements in list. Total[list, n] totals all elements down to leve"},{label:"TotalHeight",type:"keyword",info:"System`TotalHeight"},{label:"TotalLayer",type:"keyword",info:"TotalLayer[] represents a net layer taking a list of input arrays and performing elementwise additio"},{label:"TotalVariationFilter",type:"keyword",info:"TotalVariationFilter[data] iteratively reduces noise while preserving rapid transitions in data.Tota"},{label:"TotalWidth",type:"keyword",info:"TotalWidth is an option that can be set for output streams to specify the maximum total number of ch"},{label:"TouchPosition",type:"keyword",info:" "},{label:"TouchscreenAutoZoom",type:"keyword",info:"TouchscreenAutoZoom is an option for Manipulate and Graphics3D that determines whether the interface"},{label:"TouchscreenControlPlacement",type:"keyword",info:"TouchscreenControlPlacement is an option for Manipulate that determines the placement of the slide-o"},{label:"ToUpperCase",type:"keyword",info:"ToUpperCase[string] yields a string in which all letters have been converted to uppercase. "},{label:"TourVideo",type:"keyword",info:"TourVideo[graphics, {pt , pt , …}] generates a video by taking a tour at points pt around graphics."},{label:"Tr",type:"keyword",info:"Tr[list] finds the trace of the matrix or tensor list. Tr[list, f] finds a generalized trace, combin"},{label:"Trace",type:"keyword",info:"Trace[expr] generates a list of all expressions used in the evaluation of expr. Trace[expr, form] in"},{label:"TraceAbove",type:"keyword",info:"TraceAbove is an option for Trace and related functions which specifies whether to include evaluatio"},{label:"TraceAction",type:"keyword",info:"TraceAction is an option for TracePrint and TraceDialog that specifies the function to be applied to"},{label:"TraceBackward",type:"keyword",info:"TraceBackward is an option for Trace and related functions that specifies whether to include precedi"},{label:"TraceDepth",type:"keyword",info:"TraceDepth is an option for Trace and related functions which specifies the maximum nesting of evalu"},{label:"TraceDialog",type:"keyword",info:"TraceDialog[expr] initiates a dialog for every expression used in the evaluation of expr. TraceDialo"},{label:"TraceForward",type:"keyword",info:"TraceForward is an option for Trace and related functions which specifies whether to include later e"},{label:"TraceInternal",type:"keyword",info:"TraceInternal is an option for Trace and related functions which, if True or False, specifies whethe"},{label:"TraceLevel",type:"keyword",info:"TraceLevel[] returns the level currently being traced when it appears within Trace and related funct"},{label:"TraceOff",type:"keyword",info:"TraceOff is an option for Trace and related functions which specifies forms inside which tracing sho"},{label:"TraceOn",type:"keyword",info:"TraceOn is an option for Trace and related functions which specifies when tracing should be switched"},{label:"TraceOriginal",type:"keyword",info:"TraceOriginal is an option for Trace and related functions which specifies whether to test the form "},{label:"TracePrint",type:"keyword",info:"TracePrint[expr] prints all expressions used in the evaluation of expr. TracePrint[expr, form] inclu"},{label:"TraceScan",type:"keyword",info:"TraceScan[f, expr] applies f to all expressions used in the evaluation of expr. TraceScan[f, expr, f"},{label:"TrackCellChangeTimes",type:"keyword",info:"System`TrackCellChangeTimes"},{label:"TrackedSymbols",type:"keyword",info:"TrackedSymbols is an option to Refresh, Manipulate, and related functions that specifies which symbo"},{label:"TrackingFunction",type:"keyword",info:"TrackingFunction is an option for Manipulate controls that specifies functions to use during interac"},{label:"TracyWidomDistribution",type:"keyword",info:"TracyWidomDistribution[Î.b2] represents a Tracy–Widom distribution with Dyson index Î.b2."},{label:"TradingChart",type:"keyword",info:"TradingChart[{{date , {open , high , low , close , volume }}, …}] makes a chart showing prices and v"},{label:"TraditionalForm",type:"keyword",info:"TraditionalForm[expr] prints as an approximation to the traditional mathematical notation for expr. "},{label:"TraditionalFunctionNotation",type:"keyword",info:"TraditionalFunctionNotation is an option for selections that specifies whether input of the form f(x"},{label:"TraditionalNotation",type:"keyword",info:"System`TraditionalNotation"},{label:"TraditionalOrder",type:"keyword",info:"System`TraditionalOrder"},{label:"TrainImageContentDetector",type:"keyword",info:"TrainImageContentDetector[{img  {bbox  class , …}, …}] trains a ContentDetectorFunction[…] based"},{label:"TrainingProgressCheckpointing",type:"keyword",info:"TrainingProgressCheckpointing is an option for NetTrain that specifies how to save copies of the net"},{label:"TrainingProgressFunction",type:"keyword",info:"TrainingProgressFunction is an option for NetTrain that specifies a function to run periodically dur"},{label:"TrainingProgressMeasurements",type:"keyword",info:"TrainingProgressMeasurements is an option for NetTrain that specifies measurements to make while tra"},{label:"TrainingProgressReporting",type:"keyword",info:"TrainingProgressReporting is an option for NetTrain and related functions that specifies how to repo"},{label:"TrainingStoppingCriterion",type:"keyword",info:"TrainingStoppingCriterion is an option for NetTrain that specifies a criterion for stopping training"},{label:"TrainingUpdateSchedule",type:"keyword",info:"TrainingUpdateSchedule is an option for NetTrain that specifies which arrays of the network can be u"},{label:"TrainTextContentDetector",type:"keyword",info:"TrainTextContentDetector[{text  {span  class , …}, …}] trains a ContentDetectorFunction[…] based"},{label:"TransferFunctionCancel",type:"keyword",info:"TransferFunctionCancel[tfm] cancels common poles and zeros in the TransferFunctionModel tfm.Transfer"},{label:"TransferFunctionExpand",type:"keyword",info:"TransferFunctionExpand[tfm] expands polynomial terms in the numerators and denominators of the Trans"},{label:"TransferFunctionFactor",type:"keyword",info:"TransferFunctionFactor[tfm] factors the polynomial terms in the numerators and denominators of the T"},{label:"TransferFunctionModel",type:"keyword",info:"TransferFunctionModel[m, s] represents the model of the transfer-function matrix m with complex vari"},{label:"TransferFunctionPoles",type:"keyword",info:"TransferFunctionPoles[tfm] gives a matrix of roots of the denominators in the TransferFunctionModel "},{label:"TransferFunctionTransform",type:"keyword",info:"TransferFunctionTransform[f, tf] transforms the TransferFunctionModel object tf using the transforma"},{label:"TransferFunctionZeros",type:"keyword",info:"TransferFunctionZeros[tfm] gives a matrix of roots of the numerators in the TransferFunctionModel tf"},{label:"TransformationClass",type:"keyword",info:"TransformationClass is an option that specifies the class of geometric transformations to be used."},{label:"TransformationFunction",type:"keyword",info:"TransformationFunction[data] represents a transformation function that applies geometric and other t"},{label:"TransformationFunctions",type:"keyword",info:"TransformationFunctions is an option for Simplify and FullSimplify which gives the list of functions"},{label:"TransformationMatrix",type:"keyword",info:"TransformationMatrix[tfun] gives the homogeneous matrix associated with a TransformationFunction obj"},{label:"TransformedDistribution",type:"keyword",info:"TransformedDistribution[expr, x  dist] represents the transformed distribution of expr where the ra"},{label:"TransformedField",type:"keyword",info:"TransformedField[t, f, {x , x , …, x }  {y , y , …, y }] uses the coordinate transformation t to tr"},{label:"TransformedProcess",type:"keyword",info:"TransformedProcess[expr, x  proc, t] represents the transformed process of expr where the variable "},{label:"TransformedRegion",type:"keyword",info:"TransformedRegion[reg, f] represents the transformed region {f(p) | p ∈ reg}, where reg is a region "},{label:"TransitionDirection",type:"keyword",info:"TransitionDirection is an option for PaneSelector that specifies the direction in which a transition"},{label:"TransitionDuration",type:"keyword",info:"TransitionDuration is an option for PaneSelector that specifies the duration in seconds that a trans"},{label:"TransitionEffect",type:"keyword",info:"TransitionEffect is an option for PaneSelector that specifies the visual effect used when transition"},{label:"TransitiveClosureGraph",type:"keyword",info:"TransitiveClosureGraph[g] gives the transitive closure of the graph g.TransitiveClosureGraph[{v  w,"},{label:"TransitiveReductionGraph",type:"keyword",info:"TransitiveReductionGraph[g] gives a transitive reduction of the graph g.TransitiveReductionGraph[{v "},{label:"Translate",type:"keyword",info:"Translate[g, {x, y, …}] represents graphics primitives g translated by the vector {x, y, …}. Transla"},{label:"TranslationOptions",type:"keyword",info:"TranslationOptions  {opt  val , opt  val , …} is an option for Style and Cell that controls how"},{label:"TranslationTransform",type:"keyword",info:"TranslationTransform[v] gives a TransformationFunction that represents translation of points by a ve"},{label:"Transliterate",type:"keyword",info:'Transliterate["string"] attempts to transliterate string into plain ASCII.Transliterate["string", sc'},{label:"Transparent",type:"keyword",info:"Transparent represents perfect transparency in graphics or style specifications. "},{label:"TransparentColor",type:"keyword",info:"System`TransparentColor"},{label:"Transpose",type:"keyword",info:" "},{label:"TransposeLayer",type:"keyword",info:" "},{label:"TrapEnterKey",type:"keyword",info:"System`TrapEnterKey"},{label:"TrapSelection",type:"keyword",info:"System`TrapSelection"},{label:"TravelDirections",type:"keyword",info:"TravelDirections[{loc , loc , …}] generates directions for travel from loc to loc , ….TravelDirecti"},{label:"TravelDirectionsData",type:"keyword",info:"TravelDirectionsData[…] represents travel directions generated by TravelDirections."},{label:"TravelDistance",type:"keyword",info:"TravelDistance[{loc , loc , …}] gives the estimated distance for travel from loc to loc , ….\n "},{label:"TravelDistanceList",type:"keyword",info:"TravelDistanceList[{loc , loc , …, loc }] returns the list {TravelDistance[loc , loc ], …, TravelDis"},{label:"TravelMethod",type:"keyword",info:"TravelMethod is an option for TravelDirections and related functions that specifies the mode of tran"},{label:"TravelTime",type:"keyword",info:"TravelTime[{loc , loc , …}] gives the estimated time to travel from loc to loc , ….\n "},{label:"Tree",type:"keyword",info:"Tree[{subtree , subtree , …}] represents a tree with a list of child subtrees subtree .Tree[data, su"},{label:"TreeCases",type:"keyword",info:"TreeCases[tree, pattern] gives a list of subtrees of tree with data matching pattern.TreeCases[tree,"},{label:"TreeChildren",type:"keyword",info:"TreeChildren[tree] extracts the children of the root of the Tree object tree."},{label:"TreeCount",type:"keyword",info:"TreeCount[tree, pattern] gives the number of subtrees of tree whose data matches pattern.TreeCount[t"},{label:"TreeData",type:"keyword",info:"TreeData[tree] extracts the data in the root of tree."},{label:"TreeDelete",type:"keyword",info:"TreeDelete[tree, pos] deletes the subtree of tree at the position specified by pos.TreeDelete[tree, "},{label:"TreeDepth",type:"keyword",info:"TreeDepth[tree] gives the maximum level of tree.TreeDepth[tree, pattern] gives the maximum level of "},{label:"TreeElementLabel",type:"keyword",info:"TreeElementLabel is an option for Tree and related functions that specifies what labels should be us"},{label:"TreeElementStyle",type:"keyword",info:"TreeElementStyle is an option for Tree and related functions that specifies what style to use for su"},{label:"TreeExpression",type:"keyword",info:"TreeExpression[tree] gives the expression corresponding to the tree tree.TreeExpression[tree, struct"},{label:"TreeExtract",type:"keyword",info:"TreeExtract[tree, pos] extracts the subtree of tree at the position specified by pos.TreeExtract[tre"},{label:"TreeFold",type:"keyword",info:" "},{label:"TreeForm",type:"keyword",info:"TreeForm[expr] displays expr as a tree with different levels at different depths. TreeForm[expr, n] "},{label:"TreeGraph",type:"keyword",info:"TreeGraph[{v , v , …}, {u , u , …}] yields a tree where u is the predecessor of v .TreeGraph[{e , e"},{label:"TreeGraphQ",type:"keyword",info:"TreeGraphQ[g] yields True if the graph g is a tree and False otherwise."},{label:"TreeInsert",type:"keyword",info:"TreeInsert[tree, child, pos] inserts child at the position specified by pos in tree.TreeInsert[tree,"},{label:"TreeLayout",type:"keyword",info:"TreeLayout is an option to Tree and related functions that specifies what layout to use."},{label:"TreeLeafQ",type:"keyword",info:"TreeLeafQ[tree] gives True if tree is a tree with no children, and gives False otherwise."},{label:"TreeLeaves",type:"keyword",info:"TreeLeaves[tree] returns the list of leaves of the tree tree."},{label:"TreeLevel",type:"keyword",info:"TreeLevel[tree, levelspec] gives a list of all subtrees of tree on levels specified by levelspec.Tre"},{label:"TreeMap",type:"keyword",info:"TreeMap[f, tree] applies f to the data in each subtree of tree.TreeMap[f, tree, levelspec] applies f"},{label:"TreeMapAt",type:"keyword",info:"TreeMapAt[f, tree, pos] applies f to the data at the position specified by pos in tree.TreeMapAt[f, "},{label:"TreeOutline",type:"keyword",info:"TreeOutline[tree] gives an outline of the data in tree as a nested OpenerView.TreeOutline[tree, pos]"},{label:"TreePlot",type:"keyword",info:"TreePlot[g] generates a tree plot of the graph g.TreePlot[{e , e , …}] generates a tree plot of the "},{label:"TreePosition",type:"keyword",info:"TreePosition[tree, pattern] gives a list of the positions of subtrees of tree whose data matches pat"},{label:"TreeQ",type:"keyword",info:"TreeQ[tree] yields True if tree is a valid Tree object and False otherwise."},{label:"TreeReplacePart",type:"keyword",info:"TreeReplacePart[tree, pos  new] gives a tree in which the subtree of tree at the position specified"},{label:"TreeRules",type:"keyword",info:"TreeRules[tree] returns the rules associated with the Tree object tree."},{label:"TreeScan",type:"keyword",info:"TreeScan[f, tree] evaluates f applied to the data in each subtree of tree in turn.TreeScan[f, tree, "},{label:"TreeSelect",type:"keyword",info:"TreeSelect[tree, crit] picks out all subtrees tree of tree for which crit[tree ] is True.TreeSelect"},{label:"TreeSize",type:"keyword",info:"TreeSize[tree] gives the number of subtrees of tree."},{label:"TreeTraversalOrder",type:"keyword",info:"TreeTraversalOrder is an option for TreeMap and related functions that specifies the order to visit "},{label:"TrendStyle",type:"keyword",info:"TrendStyle is an option to CandlestickChart, RenkoChart, and other financial charting functions that"},{label:"Triangle",type:"keyword",info:"Triangle[{p , p , p }] represents a filled triangle with corner points p , p , and p .Triangle[{{p "},{label:"TriangleCenter",type:"keyword",info:"TriangleCenter[tri, type] gives the specified type of center for the triangle tri.TriangleCenter[tri"},{label:"TriangleConstruct",type:"keyword",info:"TriangleConstruct[tri, type] gives the specified type of construct for the triangle tri."},{label:"TriangleMeasurement",type:"keyword",info:"TriangleMeasurement[tri, type] gives the specified type of measurement for the triangle tri."},{label:"TriangleWave",type:"keyword",info:"TriangleWave[x] gives a triangle wave that varies between -1 and +1 with unit period.TriangleWave[{m"},{label:"TriangularDistribution",type:"keyword",info:"TriangularDistribution[{min, max}] represents a symmetric triangular statistical distribution giving"},{label:"TriangulateMesh",type:"keyword",info:"TriangulateMesh[mr] generates a triangulation of the mesh region mr."},{label:"Trig",type:"keyword",info:"Trig is an option for various polynomial manipulation functions that specifies whether trigonometric"},{label:"TrigExpand",type:"keyword",info:"TrigExpand[expr] expands out trigonometric functions in expr. "},{label:"TrigFactor",type:"keyword",info:"TrigFactor[expr] factors trigonometric functions in expr. "},{label:"TrigFactorList",type:"keyword",info:"TrigFactorList[expr] factors trigonometric functions in expr, yielding a list of lists containing tr"},{label:"Trigger",type:"keyword",info:"Trigger[Dynamic[u]] represents a trigger that can be pressed to make the dynamically updated value o"},{label:"TrigReduce",type:"keyword",info:"TrigReduce[expr] rewrites products and powers of trigonometric functions in expr in terms of trigono"},{label:"TrigToExp",type:"keyword",info:"TrigToExp[expr] converts trigonometric functions in expr to exponentials. "},{label:"TrimmedMean",type:"keyword",info:"TrimmedMean[list, f] gives the mean of the elements in list after dropping a fraction f of the small"},{label:"TrimmedVariance",type:"keyword",info:"TrimmedVariance[list, f] gives the variance of the elements in list after dropping a fraction f of t"},{label:"TropicalStormData",type:"keyword",info:"TropicalStormData[entity, property] gives the value of the specified property for the tropical storm"},{label:"True",type:"keyword",info:"True is the symbol for the Boolean value true. "},{label:"TrueQ",type:"keyword",info:"TrueQ[expr] yields True if expr is True, and yields False otherwise. "},{label:"TruncatedDistribution",type:"keyword",info:"TruncatedDistribution[{x , x }, dist] represents the distribution obtained by truncating the val"},{label:"TruncatedPolyhedron",type:"keyword",info:"TruncatedPolyhedron[poly] gives the truncated polyhedron of poly by truncating all vertices. Truncat"},{label:"TsallisQExponentialDistribution",type:"keyword",info:"TsallisQExponentialDistribution[λ, q] represents a Tsallis q-exponential distribution with scale inv"},{label:"TsallisQGaussianDistribution",type:"keyword",info:"TsallisQGaussianDistribution[μ, Î.b2, q] represents a Tsallis q-Gaussian distribution with mean μ, scal"},{label:"TTest",type:"keyword",info:"TTest[data] tests whether the mean of data is zero. TTest[{data , data }] tests whether the means of"},{label:"Tube",type:"keyword",info:"Tube[{{x , y , z }, {x , y , z }, …}] represents a 3D tube around the line joining a sequence of poi"},{label:"TubeBezierCurveBox",type:"keyword",info:"System`TubeBezierCurveBox"},{label:"TubeBezierCurveBoxOptions",type:"keyword",info:"TubeBezierCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for T"},{label:"TubeBox",type:"keyword",info:"System`TubeBox"},{label:"TubeBoxOptions",type:"keyword",info:"TubeBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TubeBox obje"},{label:"TubeBSplineCurveBox",type:"keyword",info:"System`TubeBSplineCurveBox"},{label:"TubeBSplineCurveBoxOptions",type:"keyword",info:"TubeBSplineCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for "},{label:"Tuesday",type:"keyword",info:"Tuesday is a day of the week."},{label:"TukeyLambdaDistribution",type:"keyword",info:"TukeyLambdaDistribution[λ] represents Tukey's lambda distribution with shape parameter λ.TukeyLambda"},{label:"TukeyWindow",type:"keyword",info:"TukeyWindow[x] represents a Tukey window function of x.TukeyWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"TunnelData",type:"keyword",info:"TunnelData[entity, property] gives the value of the specified property for the tunnel entity.TunnelD"},{label:"Tuples",type:"keyword",info:" "},{label:"TuranGraph",type:"keyword",info:"TuranGraph[n, k] gives the k-partite Turán graph with n vertices T .\n "},{label:"TuringMachine",type:"keyword",info:"TuringMachine[rule, init, t] generates a list representing the evolution of the Turing machine with "},{label:"TuttePolynomial",type:"keyword",info:"TuttePolynomial[g, {x, y}] gives the Tutte polynomial of the graph g.TuttePolynomial[{v  w, …}, …] "},{label:"TwoWayRule",type:"keyword",info:"x<->y or x  y represents a two-way rule expressing exchange or correspondence of x and y."},{label:"Typed",type:"keyword",info:"Typed[expr, type] represents an expression that should be assumed to be of a specified type for comp"},{label:"TypeDeclaration",type:"keyword",info:"System`TypeDeclaration"},{label:"TypeSpecifier",type:"keyword",info:"TypeSpecifier[cons] represents a type specifier that can be applied to other types to create a compo"},{label:"UnateQ",type:"keyword",info:"UnateQ[bexpr, {x , x , …}] tests whether the Boolean expression bexpr is positive unate in the varia"},{label:"Uncompress",type:"keyword",info:'Uncompress["string"] recovers an expression from a compressed string representation generated by Com'},{label:"UnconstrainedParameters",type:"keyword",info:"UnconstrainedParameters is an option to functions like GeometricScene that specifies what parameters"},{label:"Undefined",type:"keyword",info:"Undefined is a symbol that represents a quantity with no defined value."},{label:"UnderBar",type:"keyword",info:"UnderBar[expr] displays with a bar under expr."},{label:"Underflow",type:"keyword",info:"Underflow[] represents a number too small to represent explicitly on your computer system."},{label:"Underlined",type:"keyword",info:"Underlined represents an underlined font."},{label:"Underoverscript",type:"keyword",info:" z\nUnderoverscript[x, y, z] is an object that f"},{label:"UnderoverscriptBox",type:"keyword",info:" z\nUnderoverscriptBox[x, y, z] is"},{label:"UnderoverscriptBoxOptions",type:"keyword",info:"UnderoverscriptBoxOptions is an option for selections that specifies settings for UnderoverscriptBox"},{label:"Underscript",type:"keyword",info:"Underscript[x, y] is an object that formats as x. \n y"},{label:"UnderscriptBox",type:"keyword",info:"UnderscriptBox[x, y] is the low‐level box representation for x in notebook expressions. \n "},{label:"UnderscriptBoxOptions",type:"keyword",info:"UnderscriptBoxOptions is an option for selections that specifies settings for UnderscriptBox objects"},{label:"UnderseaFeatureData",type:"keyword",info:"UnderseaFeatureData[entity, property] gives the value of the specified property for the undersea fea"},{label:"UndirectedEdge",type:"keyword",info:" "},{label:"UndirectedGraph",type:"keyword",info:"UndirectedGraph[g] gives an undirected graph from the directed graph g.UndirectedGraph[{v  w, …}] u"},{label:"UndirectedGraphQ",type:"keyword",info:"UndirectedGraphQ[g] yields True if the graph g is an undirected graph and False otherwise."},{label:"UndoOptions",type:"keyword",info:"UndoOptions is an option for Style that specifies settings for controlling the behavior of the front"},{label:"UndoTrackedVariables",type:"keyword",info:"UndoTrackedVariables is an option for Manipulate, DynamicModule, and related functions that sets var"},{label:"Unequal",type:"keyword",info:"lhs != rhs or lhs ≠ rhs returns False if lhs and rhs are identical. "},{label:"UnequalTo",type:"keyword",info:"UnequalTo[y] is an operator form that yields x ≠ y when applied to an expression x."},{label:"Unevaluated",type:"keyword",info:"Unevaluated[expr] represents the unevaluated form of expr when it appears as the argument to a funct"},{label:"UniformDistribution",type:"keyword",info:"UniformDistribution[{min, max}] represents a continuous uniform statistical distribution giving valu"},{label:"UniformGraphDistribution",type:"keyword",info:"UniformGraphDistribution[n, m] represents a uniform graph distribution on n-vertex, m-edge graphs."},{label:"UniformPolyhedron",type:"keyword",info:'UniformPolyhedron["name"] gives the uniform polyhedron with the given name.UniformPolyhedron[{n, m}]'},{label:"UniformSumDistribution",type:"keyword",info:"UniformSumDistribution[n] represents the distribution of a sum of n random variables uniformly distr"},{label:"Uninstall",type:"keyword",info:"Uninstall[link] terminates an external program started by Install, and removes Wolfram Language defi"},{label:"Union",type:"keyword",info:"Union[list , list , …] gives a sorted list of all the distinct elements that appear in any of the li"},{label:"UnionedEntityClass",type:"keyword",info:"UnionedEntityClass[class , …] represents an entity class containing all the distinct entities in all"},{label:"UnionPlus",type:"keyword",info:"UnionPlus[x, y, …] displays as x ⊎ y ⊎ …."},{label:"Unique",type:"keyword",info:"Unique[] generates a new symbol, whose name is of the form ECnnn. Unique[x] generates a new symbol, w"},{label:"UnitaryMatrixQ",type:"keyword",info:"UnitaryMatrixQ[m] gives True if m is a unitary matrix, and False otherwise."},{label:"UnitBox",type:"keyword",info:" 1 "},{label:"UnitConvert",type:"keyword",info:"UnitConvert[quantity, targetunit] attempts to convert the specified quantity to the specified target"},{label:"UnitDimensions",type:"keyword",info:"UnitDimensions[unit] returns a list of base dimensions associated with the specified unit.UnitDimens"},{label:"Unitize",type:"keyword",info:"Unitize[x] gives 0 when x is zero, and 1 when x has any other numerical value."},{label:"UnitRootTest",type:"keyword",info:"UnitRootTest[data] tests whether data came from an autoregressive time series process with unit root"},{label:"UnitSimplify",type:"keyword",info:"UnitSimplify[quantity] attempts to simplify the units of the specified quantity."},{label:"UnitStep",type:"keyword",info:"UnitStep[x] represents the unit step function, equal to 0 for x < 0 and 1 for x ≥ 0. UnitStep[x , x "},{label:"UnitSystem",type:"keyword",info:"UnitSystem is an option for functions like AirTemperatureData that determines the units of the resul"},{label:"UnitTriangle",type:"keyword",info:"UnitTriangle[x] represents the unit triangle function on the interval  x  ≤ 1 .UnitTriangle[x , x "},{label:"UnitVector",type:"keyword",info:" th "},{label:"UnitVectorLayer",type:"keyword",info:"UnitVectorLayer[n] represents a net layer that transforms integers between 1 and n into n-dimensiona"},{label:"UnityDimensions",type:"keyword",info:"UnityDimensions is an option for UnitSimplify that specifies which UnitDimensions should be factored"},{label:"UniverseModelData",type:"keyword",info:"UniverseModelData[spec] returns properties of the universe based on the default model at specificati"},{label:"UniversityData",type:"keyword",info:"UniversityData[entity, property] gives the value of the specified property for the university entity"},{label:"UnixTime",type:"keyword",info:"UnixTime[] gives the total number of seconds since the beginning of January 1, 1970, in the GMT time"},{label:"Unprotect",type:"keyword",info:'Unprotect[s , s , …] removes the attribute Protected for the symbols s . Unprotect["form ", "form ",'},{label:"UnregisterExternalEvaluator",type:"keyword",info:"UnregisterExternalEvaluator[sys, target] unregisters the external evaluator referenced by target for"},{label:"UnsameQ",type:"keyword",info:"lhs =!= rhs yields True if the expression lhs is not identical to rhs, and yields False otherwise. "},{label:"UnsavedVariables",type:"keyword",info:"UnsavedVariables is an option for Manipulate, DynamicModule, and related functions that specifies lo"},{label:"Unset",type:"keyword",info:"lhs=. removes any rules defined for lhs. "},{label:"UnsetShared",type:"keyword",info:"UnsetShared[s , s , …] stops the sharing of the variables or functions s among parallel kernels.Uns"},{label:"UntrackedVariables",type:"keyword",info:"System`UntrackedVariables"},{label:"Up",type:"keyword",info:"System`Up"},{label:"UpArrow",type:"keyword",info:"UpArrow[x, y, …] displays as x ↑ y ↑ …."},{label:"UpArrowBar",type:"keyword",info:"UpArrowBar[x, y, …] displays as x ⤒ y ⤒ …."},{label:"UpArrowDownArrow",type:"keyword",info:"UpArrowDownArrow[x, y, …] displays as x ⇅ y ⇅ …."},{label:"Update",type:"keyword",info:"Update[symbol] tells the Wolfram Language that hidden changes have been made that could affect value"},{label:"UpdateDynamicObjects",type:"keyword",info:"System`UpdateDynamicObjects"},{label:"UpdateDynamicObjectsSynchronous",type:"keyword",info:"System`UpdateDynamicObjectsSynchronous"},{label:"UpdateInterval",type:"keyword",info:"UpdateInterval is an option to Refresh and Dynamic that specifies at what time interval to do update"},{label:"UpdatePacletSites",type:"keyword",info:"UpdatePacletSites is an option to PacletInstall and PacletInstallSubmit that specifies whether to fi"},{label:"UpdateSearchIndex",type:"keyword",info:'UpdateSearchIndex[obj] updates the given search index object.UpdateSearchIndex["name"] updates the s'},{label:"UpDownArrow",type:"keyword",info:"UpDownArrow[x, y, …] displays as x ↕ y ↕ …."},{label:"UpEquilibrium",type:"keyword",info:"UpEquilibrium[x, y, …] displays as x ⥮ y ⥮ …."},{label:"UpperCaseQ",type:"keyword",info:"UpperCaseQ[string] yields True if all the characters in the string are uppercase letters, and yields"},{label:"UpperLeftArrow",type:"keyword",info:"UpperLeftArrow[x, y, …] displays as x ↖ y ↖ …."},{label:"UpperRightArrow",type:"keyword",info:"UpperRightArrow[x, y, …] displays as x ↗ y ↗ …."},{label:"UpperTriangularize",type:"keyword",info:" "},{label:"UpperTriangularMatrixQ",type:"keyword",info:" "},{label:"Upsample",type:"keyword",info:"Upsample[array, n] returns an upsampled version of the array by inserting n - 1 zeros between array "},{label:"UpSet",type:"keyword",info:"lhs^=rhs assigns rhs to be the value of lhs, and associates the assignment with symbols that occur a"},{label:"UpSetDelayed",type:"keyword",info:"lhs^:=rhs assigns rhs to be the delayed value of lhs, and associates the assignment with symbols tha"},{label:"UpTee",type:"keyword",info:"UpTee[x, y] displays as x ⊥ y."},{label:"UpTeeArrow",type:"keyword",info:"UpTeeArrow[x, y, …] displays as x ↥ y ↥ …."},{label:"UpTo",type:"keyword",info:"UpTo[n] is a symbolic specification that represents up to n objects or positions. If n objects or po"},{label:"UpValues",type:"keyword",info:"UpValues[f] gives a list of transformation rules corresponding to all upvalues (values for g[…, f[…]"},{label:"URL",type:"keyword",info:'URL["url"] is a symbolic representation of a URL.'},{label:"URLBuild",type:"keyword",info:'URLBuild["path", {param  val , param  val , …}] builds a URL with the specified path and query p'},{label:"URLDecode",type:"keyword",info:'URLDecode["string"] decodes a URL-style percent-encoded string.'},{label:"URLDispatcher",type:"keyword",info:"URLDispatcher[{patt  content , patt  content , …}] represents a dispatcher for deployed URLs tha"},{label:"URLDownload",type:"keyword",info:"URLDownload[url] downloads the content of the specified URL to a local temporary file.URLDownload[{u"},{label:"URLDownloadSubmit",type:"keyword",info:"URLDownloadSubmit[url, file] submits the specified URL to be downloaded asynchronously to the file g"},{label:"URLEncode",type:"keyword",info:'URLEncode["string"] converts "string" into a URL-style, percent-encoded ASCII string. '},{label:"URLExecute",type:"keyword",info:"URLExecute[url] executes the specified URL, importing whatever result is generated.URLExecute[url, {"},{label:"URLExpand",type:"keyword",info:'URLExpand["url"] expands a shortened "url".'},{label:"URLFetch",type:"keyword",info:"URLFetch[url] returns the contents of a URL as a string.URLFetch[url, elements] returns the specifie"},{label:"URLFetchAsynchronous",type:"keyword",info:"URLFetchAsynchronous[url, func] performs a connection in the background, calling func when an event "},{label:"URLParse",type:"keyword",info:'URLParse["url"] takes a well-formed URL and gives an association whose values correspond to the comp'},{label:"URLQueryDecode",type:"keyword",info:'URLQueryDecode["string"] decodes a URL-style query string into a list of key-value rules. '},{label:"URLQueryEncode",type:"keyword",info:"URLQueryEncode[ key  val , key  val , … ] creates a URL-style query string from an association"},{label:"URLRead",type:"keyword",info:"URLRead[url] sends a request to a URL and reads back the response, returning it as a response object"},{label:"URLResponseTime",type:"keyword",info:"URLResponseTime[url] gives the total number of seconds to request one byte from the specified URL.UR"},{label:"URLSave",type:"keyword",info:'URLSave["url"] saves the content of the URL to a file in ECTemporaryDirectory.URLSave["url", "file"] '},{label:"URLSaveAsynchronous",type:"keyword",info:'URLSaveAsynchronous["url", "file", func] performs a download to "file" in the background, calling fu'},{label:"URLShorten",type:"keyword",info:'URLShorten["url"] creates a shortened URL that redirects to "url".URLShorten[CloudObject[…]] creates'},{label:"URLSubmit",type:"keyword",info:"URLSubmit[url] submits the specified URL to be executed asynchronously.URLSubmit[url, {param  val "},{label:"UseEmbeddedLibrary",type:"keyword",info:"UseEmbeddedLibrary is an option of FunctionCompile that embeds a shared library in a CompiledCodeFun"},{label:"UseGraphicsRange",type:"keyword",info:"System`UseGraphicsRange"},{label:"UserDefinedWavelet",type:"keyword",info:"System`UserDefinedWavelet"},{label:"Using",type:"keyword",info:"Using is an option to Roots that specifies any subsidiary equations that are to be used."},{label:"UtilityFunction",type:"keyword",info:"UtilityFunction is an option for Predict, Classify, and related functions that specifies the utility"},{label:"V2Get",type:"keyword",info:"V2Get[name] reads in a file written by the V2.x versions."},{label:"ValenceErrorHandling",type:"keyword",info:"ValenceErrorHandling is an option for MoleculeModify that specifies whether molecule valences should"},{label:"ValenceFilling",type:"keyword",info:"ValenceFilling is an option for Molecule that specifies whether to fill open valences with hydrogen "},{label:"ValidationLength",type:"keyword",info:"ValidationLength is an option to FindSequenceFunction and related functions that specifies the numbe"},{label:"ValidationSet",type:"keyword",info:"ValidationSet is an option for Predict, Classify, NetTrain, and related functions that specifies the"},{label:"Value",type:"keyword",info:"System`Value"},{label:"ValueBox",type:"keyword",info:"System`ValueBox"},{label:"ValueBoxOptions",type:"keyword",info:"ValueBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for ValueBox ob"},{label:"ValueDimensions",type:"keyword",info:"ValueDimensions is an option to TemporalData, TimeSeries, and EventSeries that specifies the dimensi"},{label:"ValueForm",type:"keyword",info:"ValueForm is an internal symbol."},{label:"ValuePreprocessingFunction",type:"keyword",info:"ValuePreprocessingFunction is an option for functions such as PersistentSymbol and InitializationVal"},{label:"ValueQ",type:"keyword",info:"ValueQ[expr] gives True if a value has been defined for expr, and gives False otherwise. "},{label:"Values",type:"keyword",info:"Values[ key  val , key  val , … ] gives a list of the values val in an association.Values[{ke"},{label:"ValuesData",type:"keyword",info:"System`ValuesData"},{label:"Variables",type:"keyword",info:"Variables[poly] gives a list of all independent variables in a polynomial. "},{label:"Variance",type:"keyword",info:"Variance[list] gives the sample variance of the elements in list. Variance[dist] gives the variance "},{label:"VarianceEquivalenceTest",type:"keyword",info:"VarianceEquivalenceTest[{data , data , …}] tests whether the variances of the data are equal. Varia"},{label:"VarianceEstimatorFunction",type:"keyword",info:"VarianceEstimatorFunction is an option for LinearModelFit and NonlinearModelFit which specifies the "},{label:"VarianceGammaDistribution",type:"keyword",info:"VarianceGammaDistribution[λ, Î\\[PlusMinus], Î.b2, μ] represents a variance‐gamma distribution with location paramet"},{label:"VarianceGammaPointProcess",type:"keyword",info:" "},{label:"VarianceTest",type:"keyword",info:" "},{label:"VariogramFunction",type:"keyword",info:"VariogramFunction is an option to SpatialEstimate that specifies the local variation model to use. "},{label:"VariogramModel",type:"keyword",info:'VariogramModel["model", {params}] represents the function for the variogram model specified by "mode'},{label:"VectorAngle",type:"keyword",info:"VectorAngle[u, v] gives the angle between the vectors u and v."},{label:"VectorAround",type:"keyword",info:"VectorAround[{x , x , …}, {Î.b4 , Î.b4 , …}] represents a vector of uncorrelated approximate numbers or qu"},{label:"VectorAspectRatio",type:"keyword",info:"VectorAspectRatio is an option setting for VectorPlot and related functions that determines the rela"},{label:"VectorColorFunction",type:"keyword",info:"VectorColorFunction is an option for VectorPlot and related functions that specifies a function to a"},{label:"VectorColorFunctionScaling",type:"keyword",info:"VectorColorFunctionScaling is an option for graphics functions which specifies whether arguments sup"},{label:"VectorDensityPlot",type:"keyword",info:"VectorDensityPlot[{{v , v }, s}, {x, x , x }, {y, y , y }] generates a vector plot of the ve"},{label:"VectorDisplacementPlot",type:"keyword",info:"VectorDisplacementPlot[{v , v }, {x, x , x }, {y, y , y }] generates a displacement plot for"},{label:"VectorDisplacementPlot3D",type:"keyword",info:"VectorDisplacementPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] generates "},{label:"VectorGlyphData",type:"keyword",info:"System`VectorGlyphData"},{label:"VectorGreater",type:"keyword",info:"x ï.b4 y or VectorGreater[{x, y}] yields True for vectors of length n if x > y for all components 1 ≤"},{label:"VectorGreaterEqual",type:"keyword",info:"x ï\\[Micro] y or VectorGreaterEqual[{x, y}] yields True for vectors of length n if x ≥ y for all component"},{label:"VectorLess",type:"keyword",info:"x ï\\[Paragraph] y or VectorLess[{x, y}] yields True for vectors of length n if x < y for all components 1 ≤ i "},{label:"VectorLessEqual",type:"keyword",info:"x ï\\[CenterDot] y or VectorLessEqual[{x, y}] yields True for vectors of length n if x ≤ y for all components 1"},{label:"VectorMarkers",type:"keyword",info:"VectorMarkers is an option for graphics functions like VectorPlot, ListVectorPlot and related functi"},{label:"VectorPlot",type:"keyword",info:"VectorPlot[{v , v }, {x, x , x }, {y, y , y }] generates a vector plot of the vector field {"},{label:"VectorPlot3D",type:"keyword",info:"VectorPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] generates a 3D vector "},{label:"VectorPoints",type:"keyword",info:"VectorPoints is an option to VectorPlot, ListVectorPlot, and related functions that determines where"},{label:"VectorQ",type:"keyword",info:"VectorQ[expr] gives True if expr is a list or a one‐dimensional SparseArray object, none of whose el"},{label:"VectorRange",type:"keyword",info:"VectorRange is an option for VectorPlot and related functions that specifies the range of vector mag"},{label:"Vectors",type:"keyword",info:"Vectors[d] represents the domain of vectors of dimension d.Vectors[d, dom] represents the domain of "},{label:"VectorScale",type:"keyword",info:"VectorScale is an option to VectorPlot, ListVectorPlot, and related functions that determines the le"},{label:"VectorScaling",type:"keyword",info:"VectorScaling is an option for VectorPlot and related functions that determines how the magnitudes o"},{label:"VectorSizes",type:"keyword",info:"VectorSizes is an option for VectorPlot and related functions that specifies the range of sizes used"},{label:"VectorStyle",type:"keyword",info:"VectorStyle is an option to VectorPlot, ListVectorPlot, and related functions that determines the st"},{label:"Vee",type:"keyword",info:"Vee[x, y, …] displays as x ⋁ y ⋁ …."},{label:"Verbatim",type:"keyword",info:"Verbatim[expr] represents expr in pattern matching, requiring that expr be matched exactly as it app"},{label:"Verbose",type:"keyword",info:"System`Verbose"},{label:"VerboseConvertToPostScriptPacket",type:"keyword",info:"System`VerboseConvertToPostScriptPacket"},{label:"VerificationTest",type:"keyword",info:"VerificationTest[input] runs a verification test to determine whether input evaluates to True, witho"},{label:"VerifyConvergence",type:"keyword",info:"VerifyConvergence is an option to Sum, NSum, and similar functions that specifies whether convergenc"},{label:"VerifyDerivedKey",type:"keyword",info:"VerifyDerivedKey[key, password] verifies that password matches the password used to generate the der"},{label:"VerifyDigitalSignature",type:"keyword",info:"VerifyDigitalSignature[{expr, sig}, key] verifies the digital signature sig for expr using the speci"},{label:"VerifyFileSignature",type:"keyword",info:'VerifyFileSignature[{"file", sig}, key] verifies the digital signature sig for file using the specif'},{label:"VerifyInterpretation",type:"keyword",info:"VerifyInterpretation is an option for TextCases, TextPosition and TextContents that verifies that re"},{label:"VerifySecurityCertificates",type:"keyword",info:"VerifySecurityCertificates is an option for URLRead and related functions that specifies whether to "},{label:"VerifySolutions",type:"keyword",info:"VerifySolutions is an option to Solve and related functions that controls whether to verify solution"},{label:"VerifyTestAssumptions",type:"keyword",info:"VerifyTestAssumptions is an option to LocationTest and similar functions that controls which assumpt"},{label:"Version",type:"keyword",info:"System`Version"},{label:"VersionedPreferences",type:"keyword",info:"VersionedPreferences is a global front end option that specifies whether settings on ECFrontEnd shoul"},{label:"VersionNumber",type:"keyword",info:"System`VersionNumber"},{label:"VertexAdd",type:"keyword",info:"VertexAdd[g, v] makes a graph by adding the vertex v to the graph g.VertexAdd[g, {v , v , …}] adds a"},{label:"VertexCapacity",type:"keyword",info:"VertexCapacity is an option and annotation for Graph and related functions that specifies a vertex c"},{label:"VertexChromaticNumber",type:"keyword",info:"VertexChromaticNumber[g] gives the chromatic number for the vertices of the graph g."},{label:"VertexColors",type:"keyword",info:"VertexColors is an option for graphics primitives which specifies the colors to assign to vertices."},{label:"VertexComponent",type:"keyword",info:"VertexComponent[g, {v , v , …}] gives the vertices in the graph g that have a path to at least one o"},{label:"VertexConnectivity",type:"keyword",info:"VertexConnectivity[g] gives the vertex connectivity of the graph g.VertexConnectivity[g, s, t] gives"},{label:"VertexContract",type:"keyword",info:"VertexContract[g, {v , v , …}] contracts a collection of vertices v , v , … into a single vertex of "},{label:"VertexCoordinateRules",type:"keyword",info:"VertexCoordinateRules is an option for GraphPlot and related functions which specifies rules for det"},{label:"VertexCoordinates",type:"keyword",info:"VertexCoordinates is an option to Graph and related functions that specifies the coordinates to use "},{label:"VertexCorrelationSimilarity",type:"keyword",info:"VertexCorrelationSimilarity[g, u, v] gives the correlation similarity between vertices u and v of th"},{label:"VertexCosineSimilarity",type:"keyword",info:"VertexCosineSimilarity[g, u, v] gives the cosine similarity between vertices u and v of the graph g."},{label:"VertexCount",type:"keyword",info:"VertexCount[g] gives a count of the number of vertices in the graph g.VertexCount[g, patt] gives a c"},{label:"VertexCoverQ",type:"keyword",info:"VertexCoverQ[g, vlist] yields True if the vertex list vlist is a vertex cover of the graph g, and Fa"},{label:"VertexDataCoordinates",type:"keyword",info:"VertexDataCoordinates is an option to Raster3D that determines how to map data to the displayed rang"},{label:"VertexDegree",type:"keyword",info:"VertexDegree[g] gives the list of vertex degrees for all vertices in the graph g.VertexDegree[g, v] "},{label:"VertexDelete",type:"keyword",info:"VertexDelete[g, v] makes a graph by deleting the vertex ν and all edges connected to v from the grap"},{label:"VertexDiceSimilarity",type:"keyword",info:"VertexDiceSimilarity[g, u, v] gives the Dice similarity between vertices u and v of the graph g.Vert"},{label:"VertexEccentricity",type:"keyword",info:"VertexEccentricity[g, s] gives the length of the longest shortest path from the source s to every ot"},{label:"VertexInComponent",type:"keyword",info:"VertexInComponent[g, {v , v , …}] gives the vertices in the graph g that have a directed path to at "},{label:"VertexInComponentGraph",type:"keyword",info:"VertexInComponentGraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices t"},{label:"VertexInDegree",type:"keyword",info:"VertexInDegree[g] gives the list of vertex in-degrees for all vertices in the graph g.VertexInDegree"},{label:"VertexIndex",type:"keyword",info:"VertexIndex[g, v] gives the integer index for the vertex v in the graph g.VertexIndex[{v  w, …}, …]"},{label:"VertexJaccardSimilarity",type:"keyword",info:"VertexJaccardSimilarity[g, u, v] gives the Jaccard similarity between vertices u and v of the graph "},{label:"VertexLabeling",type:"keyword",info:"VertexLabeling is an option for GraphPlot and related functions which specifies whether labeling sho"},{label:"VertexLabels",type:"keyword",info:"VertexLabels is an option and annotation for Graph and related functions that specifies what labels "},{label:"VertexLabelStyle",type:"keyword",info:"VertexLabelStyle is an option and property for Graph and related functions that specifies the style "},{label:"VertexList",type:"keyword",info:"VertexList[g] gives the list of vertices for the graph g.VertexList[g, patt] gives a list of vertice"},{label:"VertexNormals",type:"keyword",info:"VertexNormals is an option for graphics primitives which specifies the normal directions to assign t"},{label:"VertexOutComponent",type:"keyword",info:"VertexOutComponent[g, {v , v , …}] gives the vertices in the graph g that have a directed path from "},{label:"VertexOutComponentGraph",type:"keyword",info:"VertexOutComponentGraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices "},{label:"VertexOutDegree",type:"keyword",info:"VertexOutDegree[g] gives the list of vertex out-degrees for all vertices in the graph g.VertexOutDeg"},{label:"VertexQ",type:"keyword",info:"VertexQ[g, v] yields True if v is a vertex in the graph g and False otherwise."},{label:"VertexRenderingFunction",type:"keyword",info:"VertexRenderingFunction is an option for GraphPlot and related functions that gives a function to ge"},{label:"VertexReplace",type:"keyword",info:"VertexReplace[g, {v  w , v  w , …}] replaces each vertex v in the graph g by w .VertexReplace[{"},{label:"VertexShape",type:"keyword",info:"VertexShape is an option and property for Graph and related functions that specifies the graphics us"},{label:"VertexShapeFunction",type:"keyword",info:"VertexShapeFunction is an option and annotation for Graph and related functions that specifies a fun"},{label:"VertexSize",type:"keyword",info:"VertexSize is an option and property for Graph and related functions that specifies the size used fo"},{label:"VertexStyle",type:"keyword",info:"VertexStyle is an option and annotation for Graph and related functions that specifies what style to"},{label:"VertexTextureCoordinates",type:"keyword",info:"VertexTextureCoordinates is an option for graphics primitives that specifies the texture coordinates"},{label:"VertexTransitiveGraphQ",type:"keyword",info:"VertexTransitiveGraphQ[g] yields True if the graph g is a vertex–transitive graph and False otherwis"},{label:"VertexWeight",type:"keyword",info:"VertexWeight is an option and annotation for Graph and related functions that specifies a vertex wei"},{label:"VertexWeightedGraphQ",type:"keyword",info:"VertexWeightedGraphQ[g] yields True if the graph g is a vertex-weighted graph, and False otherwise."},{label:"Vertical",type:"keyword",info:"System`Vertical"},{label:"VerticalBar",type:"keyword",info:"VerticalBar[x, y, …] displays as x  y  …."},{label:"VerticalForm",type:"keyword",info:"VerticalForm is an internal symbol used for formatting and printing."},{label:"VerticalGauge",type:"keyword",info:"VerticalGauge[value] draws a linear gauge showing value in a range of 0 to 1.VerticalGauge[value, {m"},{label:"VerticalSeparator",type:"keyword",info:"VerticalSeparator[x, y, …] displays as x ï.b2 y ï.b2 …."},{label:"VerticalSlider",type:"keyword",info:"VerticalSlider[y] represents a vertical slider at position y with range 0 to 1. VerticalSlider[Dynam"},{label:"VerticalTilde",type:"keyword",info:"VerticalTilde[x, y, …] displays as x ≀ y ≀ …."},{label:"Video",type:"keyword",info:"Video[file] represents video stored in the given file.Video[url] represents video stored in the give"},{label:"VideoCombine",type:"keyword",info:"VideoCombine[{obj , obj , …}] creates a multi-track video by combining all tracks of Video or Audio "},{label:"VideoDelete",type:"keyword",info:"VideoDelete[video, t] deletes the first t seconds of video.VideoDelete[video, -t] deletes the last t"},{label:"VideoEncoding",type:"keyword",info:"VideoEncoding is an option for Export and other functions that specifies the video encoding to use w"},{label:"VideoExtractFrames",type:"keyword",info:"VideoExtractFrames[video, t] extracts a frame at time t from video.VideoExtractFrames[video, tspec] "},{label:"VideoFrameList",type:"keyword",info:"VideoFrameList[video, n] gives a list of n images extracted from video.VideoFrameList[video, spec] g"},{label:"VideoFrameMap",type:"keyword",info:"VideoFrameMap[f, video] applies f to each frame of the Video object video, returning a new Video obj"},{label:"VideoGenerator",type:"keyword",info:"VideoGenerator[model] generates one second of video of a given model.VideoGenerator[model, dur] gene"},{label:"VideoInsert",type:"keyword",info:"VideoInsert[video, t  new] inserts the video new at time t.VideoInsert[video, {t , t , …}  new] in"},{label:"VideoIntervals",type:"keyword",info:"VideoIntervals[video, crit] returns time intervals of video for which the criterion crit is satisfie"},{label:"VideoJoin",type:"keyword",info:"VideoJoin[video , video , …] concatenates all video and returns a video object.\n 1 "},{label:"VideoMap",type:"keyword",info:"VideoMap[f, video] applies f to partial video and audio data corresponding to one frame of video, re"},{label:"VideoMapList",type:"keyword",info:"VideoMapList[f, video] applies f to a chunk of data corresponding to one frame from the Video object"},{label:"VideoMapTimeSeries",type:"keyword",info:"VideoMapTimeSeries[f, video] applies f to each frame of the Video object video, returning a time ser"},{label:"VideoPause",type:"keyword",info:"VideoPause[] pauses the playback of all VideoStream objects.VideoPause[vstream] pauses the playback "},{label:"VideoPlay",type:"keyword",info:"VideoPlay[video] returns a new VideoStream object from video and starts the playback.VideoPlay[vstre"},{label:"VideoQ",type:"keyword",info:"VideoQ[video] yields True if video has the form of a valid Video object, and False otherwise."},{label:"VideoRecord",type:"keyword",info:"VideoRecord[source] creates a VideoStream object and records from source.VideoRecord[vstream] starts"},{label:"VideoReplace",type:"keyword",info:"VideoReplace[video, {t , t }  new] replaces the video between t and t with the new video new.Vide"},{label:"VideoSplit",type:"keyword",info:"VideoSplit[video, t] splits video at time t.VideoSplit[video, {t , t , …}] splits video at times t ."},{label:"VideoStop",type:"keyword",info:"VideoStop[] stops the playback of all VideoStream objects.VideoStop[vstream] stops the playback of t"},{label:"VideoStream",type:"keyword",info:"VideoStream[source] creates a new VideoStream object from source.VideoStream[id] is an object that r"},{label:"VideoStreams",type:"keyword",info:"VideoStreams[] returns all existing video streams."},{label:"VideoTimeStretch",type:"keyword",info:"VideoTimeStretch[video, spec] applies time stretching to video using the specified spec."},{label:"VideoTrackSelection",type:"keyword",info:"VideoTrackSelection is an option that specifies the video tracks of interest."},{label:"VideoTranscode",type:"keyword",info:'VideoTranscode[video, "format"] converts video to the specified format.VideoTranscode[video, service'},{label:"VideoTrim",type:"keyword",info:"VideoTrim[video, t] returns the first t seconds of video.VideoTrim[video, -t] returns the last t sec"},{label:"ViewAngle",type:"keyword",info:"ViewAngle is an option for Graphics3D and related functions that gives the opening angle for a simul"},{label:"ViewCenter",type:"keyword",info:"ViewCenter is an option for Graphics3D and related functions which gives the scaled coordinates of t"},{label:"ViewMatrix",type:"keyword",info:"ViewMatrix is an option for Graphics3D and related functions that can be used to specify a pair of e"},{label:"ViewPoint",type:"keyword",info:"ViewPoint is an option for Graphics3D and related functions which gives the point in space from whic"},{label:"ViewPointSelectorSettings",type:"keyword",info:"System`ViewPointSelectorSettings"},{label:"ViewPort",type:"keyword",info:"System`ViewPort"},{label:"ViewProjection",type:"keyword",info:"ViewProjection is an option for three-dimensional graphics that specifies the projection to use for "},{label:"ViewRange",type:"keyword",info:"ViewRange is an option for Graphics3D and related functions which specifies the range of distances f"},{label:"ViewVector",type:"keyword",info:"ViewVector is an option for Graphics3D and related functions which specifies the position and direct"},{label:"ViewVertical",type:"keyword",info:"ViewVertical is an option for Graphics3D and related functions which specifies what direction in sca"},{label:"VirtualGroupData",type:"keyword",info:"System`VirtualGroupData"},{label:"Visible",type:"keyword",info:"Visible is a notebook option which specifies whether the notebook should be explicitly displayed on "},{label:"VisibleCell",type:"keyword",info:"System`VisibleCell"},{label:"VoiceStyleData",type:"keyword",info:"VoiceStyleData[] gives the list of available voices for speech synthesis.VoiceStyleData[voice] retur"},{label:"VoigtDistribution",type:"keyword",info:"VoigtDistribution[Î.b4, σ] represents Voigt distribution with parameters Î.b4 and σ."},{label:"VolcanoData",type:"keyword",info:"VolcanoData[entity, property] gives the value of the specified property for the volcano entity.Volca"},{label:"Volume",type:"keyword",info:"Volume[reg] gives the volume of the three-dimensional region reg.Volume[{x , …, x }, {s, s , s }"},{label:"VonMisesDistribution",type:"keyword",info:"VonMisesDistribution[μ, κ] represents a von Mises distribution with mean μ and concentration κ."},{label:"VoronoiMesh",type:"keyword",info:"VoronoiMesh[{p , …, p }] gives a MeshRegion representing the Voronoi mesh from the points p , p , …."},{label:"WaitAll",type:"keyword",info:"WaitAll[expr] waits for all concurrent evaluations represented by EvaluationObject expressions in ex"},{label:"WaitAsynchronousTask",type:"keyword",info:"WaitAsynchronousTask[task] waits for task to complete."},{label:"WaitNext",type:"keyword",info:"WaitNext[{eid , eid , …}] waits until the first evaluation represented by any of the eid finishes, "},{label:"WaitUntil",type:"keyword",info:"System`WaitUntil"},{label:"WakebyDistribution",type:"keyword",info:"WakebyDistribution[Î\\[PlusMinus], Î.b2, Î.b3, Î.b4, μ] represents Wakeby distribution with shape parameters Î.b2 and Î.b4, scal"},{label:"WalleniusHypergeometricDistribution",type:"keyword",info:"WalleniusHypergeometricDistribution[n, n , n , w] represents a Wallenius noncentral hypergeomet"},{label:"WaringYuleDistribution",type:"keyword",info:"WaringYuleDistribution[Î\\[PlusMinus]] represents the Yule distribution with shape parameter Î\\[PlusMinus].WaringYuleDistribu"},{label:"WarpingCorrespondence",type:"keyword",info:"WarpingCorrespondence[s , s ] gives the time warping (DTW) similarity path between sequences s and "},{label:"WarpingDistance",type:"keyword",info:"WarpingDistance[s , s ] gives the dynamic time warping (DTW) distance between sequences s and s .Wa"},{label:"WatershedComponents",type:"keyword",info:"WatershedComponents[image] computes the watershed transform of image, returning the result as an arr"},{label:"WatsonUSquareTest",type:"keyword",info:" 2 "},{label:"WattsStrogatzGraphDistribution",type:"keyword",info:"WattsStrogatzGraphDistribution[n, p] represents the Watts–Strogatz graph distribution for n-vertex g"},{label:"WaveletBestBasis",type:"keyword",info:"WaveletBestBasis[dwd] computes a best basis representation in the DiscreteWaveletData object dwd.Wav"},{label:"WaveletFilterCoefficients",type:"keyword",info:"WaveletFilterCoefficients[wave, filt] gives the filter coefficients for the symbolic wavelet wave of"},{label:"WaveletImagePlot",type:"keyword",info:"WaveletImagePlot[dwd] plots the basis tree of wavelet image coefficients in the DiscreteWaveletData "},{label:"WaveletListPlot",type:"keyword",info:"WaveletListPlot[dwd] plots wavelet transform coefficients in the DiscreteWaveletData dwd.WaveletList"},{label:"WaveletMapIndexed",type:"keyword",info:"WaveletMapIndexed[f, wd] applies the function f to the arrays of coefficients and indices of a Conti"},{label:"WaveletMatrixPlot",type:"keyword",info:"WaveletMatrixPlot[dwd] plots the basis tree of wavelet matrix coefficients in the DiscreteWaveletDat"},{label:"WaveletPhi",type:"keyword",info:"WaveletPhi[wave, x] gives the scaling function ϕ(x) for the symbolic wavelet wave evaluated at x.Wav"},{label:"WaveletPsi",type:"keyword",info:"WaveletPsi[wave, x] gives the wavelet function ψ(x) for the symbolic wavelet wave evaluated at x.Wav"},{label:"WaveletScale",type:"keyword",info:"WaveletScale is an option for ContinuousWaveletTransform and related constructs used to specify the "},{label:"WaveletScalogram",type:"keyword",info:"WaveletScalogram[wd] plots wavelet vector coefficients in a DiscreteWaveletData or ContinuousWavelet"},{label:"WaveletThreshold",type:"keyword",info:"WaveletThreshold[dwd] thresholds the detail wavelet coefficients in the DiscreteWaveletData object d"},{label:"WavePDEComponent",type:"keyword",info:" 2\n "},{label:"WeaklyConnectedComponents",type:"keyword",info:"WeaklyConnectedComponents[g] gives the weakly connected components of the graph g.WeaklyConnectedCom"},{label:"WeaklyConnectedGraphComponents",type:"keyword",info:"WeaklyConnectedGraphComponents[g] gives the weakly connected components of the graph g.WeaklyConnect"},{label:"WeaklyConnectedGraphQ",type:"keyword",info:"WeaklyConnectedGraphQ[g] yields True if the graph g is weakly connected, and False otherwise."},{label:"WeakStationarity",type:"keyword",info:"WeakStationarity[proc] gives conditions for the process proc to be weakly stationary. "},{label:"WeatherData",type:"keyword",info:'WeatherData[loc, "property"] gives the most recent measurement for the specified weather property at'},{label:"WeatherForecastData",type:"keyword",info:"WeatherForecastData[loc] gives the most recent forecast for all weather forecast properties for the "},{label:"WebAudioSearch",type:"keyword",info:'WebAudioSearch["string"] gives a dataset of the top web audio search results for the specified liter'},{label:"WebColumn",type:"keyword",info:"WebColumn[{expr , expr , …}] represents an HTML column containing the expr .WebColumn[expr, options]"},{label:"WebElementObject",type:"keyword",info:"WebElementObject[…] represents an element of an open webpage operated on by WebExecute."},{label:"WeberE",type:"keyword",info:" μ\nW"},{label:"WebExecute",type:"keyword",info:"WebExecute[cmd] executes the command cmd in a web browser. WebExecute[{cmd , cmd , …}] executes a li"},{label:"WebImage",type:"keyword",info:"WebImage[url] gives an image of the webpage specified by url.WebImage[list] gives images specified b"},{label:"WebImageSearch",type:"keyword",info:'WebImageSearch["string"] gives a list of thumbnails of the top web image search results for the spec'},{label:"WebItem",type:"keyword",info:"WebItem[expr] represents an HTML element containing expr.WebItem[expr, options] represents an HTML e"},{label:"WebPageMetaInformation",type:"keyword",info:"System`WebPageMetaInformation"},{label:"WebRow",type:"keyword",info:"WebRow[{expr , expr , …}] represents an HTML column containing the expr .WebRow[expr, options] displ"},{label:"WebSearch",type:"keyword",info:'WebSearch["string"] gives a dataset of the top web search results for the specified literal string.W'},{label:"WebSessionObject",type:"keyword",info:"WebSessionObject[…] represents a web browser session started by StartWebSession for use with WebExec"},{label:"WebSessions",type:"keyword",info:"WebSessions[] gives the list of all active web sessions."},{label:"WebWindowObject",type:"keyword",info:"WebWindowObject[…] represents an open window or tab in a web browser."},{label:"Wedge",type:"keyword",info:"Wedge[x, y, …] displays as x ⋀ y ⋀ …."},{label:"Wednesday",type:"keyword",info:"Wednesday is a day of the week."},{label:"WeibullDistribution",type:"keyword",info:"WeibullDistribution[Î\\[PlusMinus], Î.b2] represents a Weibull distribution with shape parameter Î\\[PlusMinus] and scale paramet"},{label:"WeierstrassE1",type:"keyword",info:"WeierstrassE1[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period"},{label:"WeierstrassE2",type:"keyword",info:"WeierstrassE2[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period"},{label:"WeierstrassE3",type:"keyword",info:"WeierstrassE3[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period"},{label:"WeierstrassEta1",type:"keyword",info:"WeierstrassEta1[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω"},{label:"WeierstrassEta2",type:"keyword",info:"WeierstrassEta2[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω"},{label:"WeierstrassEta3",type:"keyword",info:"WeierstrassEta3[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω"},{label:"WeierstrassHalfPeriods",type:"keyword",info:"WeierstrassHalfPeriods[{g , g }] gives the half‐periods {ω , ω } for Weierstrass elliptic functions "},{label:"WeierstrassHalfPeriodW1",type:"keyword",info:"WeierstrassHalfPeriodW1[{g , g }] gives the half-period ω for Weierstrass elliptic functions corres"},{label:"WeierstrassHalfPeriodW2",type:"keyword",info:"WeierstrassHalfPeriodW2[{g , g }] gives the half-period ω for the Weierstrass elliptic functions co"},{label:"WeierstrassHalfPeriodW3",type:"keyword",info:"WeierstrassHalfPeriodW3[{g , g }] gives the half-period ω for the Weierstrass elliptic functions co"},{label:"WeierstrassInvariantG2",type:"keyword",info:" â€.b2 "},{label:"WeierstrassInvariantG3",type:"keyword",info:" â€.b2 "},{label:"WeierstrassInvariants",type:"keyword",info:"WeierstrassInvariants[{ω , ω }] gives the invariants {g , g } for Weierstrass elliptic functions cor"},{label:"WeierstrassP",type:"keyword",info:"WeierstrassP[u, {g , g }] gives the Weierstrass elliptic function ℘(u ; g , g ). \n "},{label:"WeierstrassPPrime",type:"keyword",info:"WeierstrassPPrime[u, {g , g }] gives the derivative of the Weierstrass elliptic function ℘(u ; g , g"},{label:"WeierstrassSigma",type:"keyword",info:"WeierstrassSigma[u, {g , g }] gives the Weierstrass sigma function σ(u ; g , g ). \n "},{label:"WeierstrassZeta",type:"keyword",info:"WeierstrassZeta[u, {g , g }] gives the Weierstrass zeta function Î\\[Paragraph](u ; g , g ). \n "},{label:"WeightedAdjacencyGraph",type:"keyword",info:"WeightedAdjacencyGraph[wmat] gives the graph with weighted adjacency matrix wmat.WeightedAdjacencyGr"},{label:"WeightedAdjacencyMatrix",type:"keyword",info:"WeightedAdjacencyMatrix[g] gives the adjacency matrix of edge weights of the graph g.WeightedAdjacen"},{label:"WeightedData",type:"keyword",info:"WeightedData[{x , x , …}, {w , w , …}] represents observations x with weights w .WeightedData[{x , "},{label:"WeightedGraphQ",type:"keyword",info:"WeightedGraphQ[g] yields True if the graph g is a weighted graph and False otherwise."},{label:"Weights",type:"keyword",info:"Weights is an option for various fitting and other functions which specifies weights to associate wi"},{label:"WelchWindow",type:"keyword",info:"WelchWindow[x] represents a Welch window function of x.WelchWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"WheelGraph",type:"keyword",info:"WheelGraph[n] gives the wheel graph with n vertices W .\n "},{label:"WhenEvent",type:"keyword",info:"WhenEvent[event, action] specifies an action that occurs when the event triggers it for equations in"},{label:"Which",type:"keyword",info:"Which[test , value , test , value , …] evaluates each of the test in turn, returning the value of t"},{label:"While",type:"keyword",info:"While[test, body] evaluates test, then body, repetitively, until test first fails to give True. "},{label:"White",type:"keyword",info:"White represents the color white in graphics or style specifications. "},{label:"WhiteNoiseProcess",type:"keyword",info:"WhiteNoiseProcess[] represents a Gaussian white noise process with mean 0 and standard deviation 1.W"},{label:"WhitePoint",type:"keyword",info:"WhitePoint is an option for ColorConvert, ChromaticityPlot and other functions to specify the white "},{label:"Whitespace",type:"keyword",info:"Whitespace represents a sequence of whitespace characters in StringExpression."},{label:"WhitespaceCharacter",type:"keyword",info:"WhitespaceCharacter represents a single whitespace character in StringExpression."},{label:"WhittakerM",type:"keyword",info:"WhittakerM[k, m, z] gives the Whittaker function M (z). \n "},{label:"WhittakerW",type:"keyword",info:"WhittakerW[k, m, z] gives the Whittaker function W (z). \n "},{label:"WholeCellGroupOpener",type:"keyword",info:"System`WholeCellGroupOpener"},{label:"WienerFilter",type:"keyword",info:"WienerFilter[data, r] removes noise from data by applying a range-r Wiener filter.WienerFilter[data,"},{label:"WienerProcess",type:"keyword",info:"WienerProcess[μ, σ] represents a Wiener process with a drift μ and volatility σ.WienerProcess[] repr"},{label:"WignerD",type:"keyword",info:" j "},{label:"WignerSemicircleDistribution",type:"keyword",info:"WignerSemicircleDistribution[r] represents a Wigner semicircle distribution with radius r centered a"},{label:"WikidataData",type:"keyword",info:"WikidataData[item, property] gives the values of the specified property for the given item.WikidataD"},{label:"WikidataSearch",type:"keyword",info:'WikidataSearch["keywords"] returns a list of Wikidata items whose labels include the given keywords.'},{label:"WikipediaData",type:"keyword",info:"WikipediaData[article] gives the plain text of the specified Wikipedia article.WikipediaData[article"},{label:"WikipediaSearch",type:"keyword",info:"WikipediaSearch[keywords] returns a list of Wikipedia articles whose titles include the given keywor"},{label:"WilksW",type:"keyword",info:"WilksW[m , m ] gives Wilks's  for the matrices m and m .\n 1 2 "},{label:"WilksWTest",type:"keyword",info:'WilksWTest[m , m ] tests whether the matrices m and m are independent.WilksWTest[…, "property"] re'},{label:"WindDirectionData",type:"keyword",info:"WindDirectionData[] gives the most recent measurement for wind direction near the current location.W"},{label:"WindingCount",type:"keyword",info:"WindingCount[contour, p] gives the count of the number of times a closed curve winds around a point "},{label:"WindingPolygon",type:"keyword",info:"WindingPolygon[{p , p , …, p }] gives a polygon representing all points for which the closed contour"},{label:"WindowClickSelect",type:"keyword",info:"WindowClickSelect is a notebook option that specifies whether the window for the notebook should bec"},{label:"WindowElements",type:"keyword",info:"WindowElements is a notebook option that specifies the elements to include in the window used to dis"},{label:"WindowFloating",type:"keyword",info:"WindowFloating is a notebook option that specifies whether the window for the notebook should float "},{label:"WindowFrame",type:"keyword",info:"WindowFrame is a notebook option that specifies the type of frame to draw around the window in which"},{label:"WindowFrameElements",type:"keyword",info:"WindowFrameElements is an option for notebooks that specifies the elements to include in the frame o"},{label:"WindowMargins",type:"keyword",info:"WindowMargins is a notebook option that specifies what margins to leave around the window that is us"},{label:"WindowMovable",type:"keyword",info:"WindowMovable is a notebook option that specifies whether to allow the window for the notebook to be"},{label:"WindowOpacity",type:"keyword",info:"WindowOpacity is a notebook option that determines the overall opacity of a displayed window."},{label:"WindowPersistentStyles",type:"keyword",info:"System`WindowPersistentStyles"},{label:"WindowSelected",type:"keyword",info:"System`WindowSelected"},{label:"WindowSize",type:"keyword",info:"WindowSize is a notebook option that specifies the size of window that should be used to display a n"},{label:"WindowStatusArea",type:"keyword",info:"WindowStatusArea is a notebook option that specifies what should appear in the status area in the fr"},{label:"WindowTitle",type:"keyword",info:"WindowTitle is an option that specifies the title to give for a window. "},{label:"WindowToolbars",type:"keyword",info:"WindowToolbars is a notebook option that specifies the toolbars to include at the top of the window "},{label:"WindowWidth",type:"keyword",info:"System`WindowWidth"},{label:"WindSpeedData",type:"keyword",info:"WindSpeedData[] gives the most recent measurement for wind speed near the current location.WindSpeed"},{label:"WindVectorData",type:"keyword",info:"WindVectorData[] gives the most recent weather station measurement for wind vector near the current "},{label:"WinsorizedMean",type:"keyword",info:"WinsorizedMean[list, f] gives the mean of the elements in list after replacing the fraction f of the"},{label:"WinsorizedVariance",type:"keyword",info:"WinsorizedVariance[list, f] gives the variance of the elements in list after replacing the fraction "},{label:"WishartMatrixDistribution",type:"keyword",info:"WishartMatrixDistribution[ν, Σ] represents a Wishart matrix distribution with ν degrees of freedom a"},{label:"With",type:"keyword",info:"With[{x = x , y = y , …}, expr] specifies that all occurrences of the symbols x, y, … in expr should"},{label:"WithCleanup",type:"keyword",info:"WithCleanup[expr, cleanup] evaluates expr, running cleanup before returning the result, even if an a"},{label:"WithLock",type:"keyword",info:'WithLock[File["path"], expr] locks the file path, evaluates expr, then releases the file.WithLock[Lo'},{label:"WolframAlpha",type:"keyword",info:'WolframAlpha["query"] sends query to Wolfram|Alpha and imports the output.WolframAlpha["query", form'},{label:"WolframAlphaDate",type:"keyword",info:"System`WolframAlphaDate"},{label:"WolframAlphaQuantity",type:"keyword",info:"System`WolframAlphaQuantity"},{label:"WolframAlphaResult",type:"keyword",info:"System`WolframAlphaResult"},{label:"WolframLanguageData",type:"keyword",info:"WolframLanguageData[entity, property] gives the value of the specified property for the Wolfram Lang"},{label:"Word",type:"keyword",info:"Word represents a word in Read, Find, and related functions. "},{label:"WordBoundary",type:"keyword",info:"WordBoundary represents a boundary between words for purposes of matching in StringExpression."},{label:"WordCharacter",type:"keyword",info:"WordCharacter represents a letter or digit character in StringExpression."},{label:"WordCloud",type:"keyword",info:"WordCloud[{s , s , …}] generates a word cloud graphic in which the s are sized according to their m"},{label:"WordCount",type:"keyword",info:'WordCount["string"] gives the total number of words in string.'},{label:"WordCounts",type:"keyword",info:'WordCounts["string"] gives an association whose keys are the distinct words identified in string, an'},{label:"WordData",type:"keyword",info:'WordData["word", "property"] gives the specified property for the English word "word".WordData["word'},{label:"WordDefinition",type:"keyword",info:'WordDefinition["word"] gives the dictionary definitions available for "word".'},{label:"WordFrequency",type:"keyword",info:"WordFrequency[text, word] gives the frequency of word in text.WordFrequency[text, {word , word , …}]"},{label:"WordFrequencyData",type:"keyword",info:"WordFrequencyData[word] gives the frequency of word in typical published English text.WordFrequencyD"},{label:"WordList",type:"keyword",info:"WordList[] gives a list of common words.WordList[type] gives a list of words of the specified type.\n"},{label:"WordOrientation",type:"keyword",info:"WordOrientation is an option for WordCloud that specifies the orientations in which words appear."},{label:"WordSearch",type:"keyword",info:"WordSearch is an option for Find and FindList that specifies whether the text searched for must appe"},{label:"WordSelectionFunction",type:"keyword",info:"WordSelectionFunction is an option for WordCloud and other functions that specifies which words to u"},{label:"WordSeparators",type:"keyword",info:"WordSeparators is an option for Read, Find, and related functions that specifies the list of strings"},{label:"WordSpacings",type:"keyword",info:"WordSpacings is an option for WordCloud that specifies the empty space to be added around each word."},{label:"WordStem",type:"keyword",info:'WordStem["word"] gives a stemmed form of word, removing plurals, inflections, etc.'},{label:"WordTranslation",type:"keyword",info:'WordTranslation["word", lang] gives translations for word into the language lang.WordTranslation["wo'},{label:"WorkingPrecision",type:"keyword",info:"WorkingPrecision is an option for various numerical operations that specifies how many digits of pre"},{label:"WrapAround",type:"keyword",info:"WrapAround is an option for NotebookFind that specifies whether the find operation should continue p"},{label:"Write",type:"keyword",info:"Write[channel, expr , expr , …] writes the expressions expr in sequence, followed by a newline, to "},{label:"WriteLine",type:"keyword",info:'WriteLine[stream, "string"] writes "string", followed by a newline, to the specified output stream.\n'},{label:"WriteString",type:"keyword",info:'WriteString["file", "string"] writes "string" to a file.WriteString[channel, "string"] writes "strin'},{label:"Wronskian",type:"keyword",info:"Wronskian[{y , y , …}, x] gives the Wronskian determinant for the functions y , y , … depending on x"},{label:"XMLElement",type:"keyword",info:"XMLElement[tag, {attr  val , …}, {data , …}] represents an element in symbolic XML.\n "},{label:"XMLObject",type:"keyword",info:'XMLObject["type"] represents the head of an XML object in symbolic XML.'},{label:"XMLTemplate",type:"keyword",info:'XMLTemplate["string"] yields a TemplateObject that represents an XML template to be applied using fu'},{label:"Xnor",type:"keyword",info:"Xnor[e , e , …] is the logical XNOR (not XOR) function. It gives True if an even number of the e ar"},{label:"Xor",type:"keyword",info:"Xor[e , e , …] is the logical XOR (exclusive OR) function. It gives True if an odd number of the e "},{label:"XYZColor",type:"keyword",info:"XYZColor[x, y, z] represents a color in the XYZ color space with tristimulus values x, y and z.XYZCo"},{label:"Yellow",type:"keyword",info:"Yellow represents the color yellow in graphics or style specifications. "},{label:"Yesterday",type:"keyword",info:"Yesterday gives a DateObject representing the previous day."},{label:"YuleDissimilarity",type:"keyword",info:"YuleDissimilarity[u, v] gives the Yule dissimilarity between Boolean vectors u and v."},{label:"ZernikeR",type:"keyword",info:" m\nZernikeR[n, m, r] gives the radial Zernike "},{label:"ZeroSymmetric",type:"keyword",info:"ZeroSymmetric[{s , …, s }] represents the symmetry of a zero tensor in the slots s .\n "},{label:"ZeroTest",type:"keyword",info:"ZeroTest is an option to various linear algebra functions that gives a function to use in testing wh"},{label:"ZeroWidthTimes",type:"keyword",info:"ZeroWidthTimes is an option for selections that specifies whether blank spaces representing multipli"},{label:"Zeta",type:"keyword",info:"Zeta[s] gives the Riemann zeta function Î\\[Paragraph](s). Zeta[s, a] gives the generalized Riemann zeta function"},{label:"ZetaZero",type:"keyword",info:" th "},{label:"ZIPCodeData",type:"keyword",info:"ZIPCodeData[entity, property] gives the value of the specified property for the ZIP code entity.ZIPC"},{label:"ZipfDistribution",type:"keyword",info:"ZipfDistribution[ρ] represents a zeta distribution with parameter ρ.ZipfDistribution[n, ρ] represent"},{label:"ZoomCenter",type:"keyword",info:"ZoomCenter is an option for DynamicImage that specifies the position of a zoom window within an imag"},{label:"ZoomFactor",type:"keyword",info:"ZoomFactor is an option for DynamicImage that specifies the magnification factor of a zoom. "},{label:"ZTest",type:"keyword",info:" "},{label:"ZTransform",type:"keyword",info:"ZTransform[expr, n, z] gives the Z transform of expr. ZTransform[expr, {n , n , …}, {z , z , …}] giv"},{label:"ECcaEC",type:"text",apply:"\\[CapitalAlpha]",detail:"CapitalAlpha"},{label:"ECcbEC",type:"text",apply:"\\[CapitalBeta]",detail:"CapitalBeta"},{label:"ECcgEC",type:"text",apply:"\\[CapitalGamma]",detail:"CapitalGamma"},{label:"ECcdEC",type:"text",apply:"\\[CapitalDelta]",detail:"CapitalDelta"},{label:"ECceEC",type:"text",apply:"\\[CapitalEpsilon]",detail:"CapitalEpsilon"},{label:"ECczEC",type:"text",apply:"\\[CapitalZeta]",detail:"CapitalZeta"},{label:"ECceEC",type:"text",apply:"\\[CapitalEta]",detail:"CapitalEta"},{label:"ECctEC",type:"text",apply:"\\[CapitalTheta]",detail:"CapitalTheta"},{label:"ECciEC",type:"text",apply:"\\[CapitalIota]",detail:"CapitalIota"},{label:"ECckEC",type:"text",apply:"\\[CapitalKappa]",detail:"CapitalKappa"},{label:"ECclEC",type:"text",apply:"\\[CapitalLambda]",detail:"CapitalLambda"},{label:"ECcmEC",type:"text",apply:"\\[CapitalMu]",detail:"CapitalMu"},{label:"ECcnEC",type:"text",apply:"\\[CapitalNu]",detail:"CapitalNu"},{label:"ECcxEC",type:"text",apply:"\\[CapitalXi]",detail:"CapitalXi"},{label:"ECcoEC",type:"text",apply:"\\[CapitalOmicron]",detail:"CapitalOmicron"},{label:"ECcpEC",type:"text",apply:"\\[CapitalPi]",detail:"CapitalPi"},{label:"ECcrEC",type:"text",apply:"\\[CapitalRho]",detail:"CapitalRho"},{label:"ECcsEC",type:"text",apply:"\\[CapitalSigma]",detail:"CapitalSigma"},{label:"ECctEC",type:"text",apply:"\\[CapitalTau]",detail:"CapitalTau"},{label:"ECcuEC",type:"text",apply:"\\[CapitalUpsilon]",detail:"CapitalUpsilon"},{label:"ECcpEC",type:"text",apply:"\\[CapitalPhi]",detail:"CapitalPhi"},{label:"ECccEC",type:"text",apply:"\\[CapitalChi]",detail:"CapitalChi"},{label:"ECcpEC",type:"text",apply:"\\[CapitalPsi]",detail:"CapitalPsi"},{label:"ECcoEC",type:"text",apply:"\\[CapitalOmega]",detail:"CapitalOmega"},{label:"ECalEC",type:"text",apply:"\\[Alpha]",detail:"Alpha"},{label:"ECbeEC",type:"text",apply:"\\[Beta]",detail:"Beta"},{label:"ECgaEC",type:"text",apply:"\\[Gamma]",detail:"Gamma"},{label:"ECdeEC",type:"text",apply:"\\[Delta]",detail:"Delta"},{label:"ECceEC",type:"text",apply:"\\[CurlyEpsilon]",detail:"CurlyEpsilon"},{label:"ECzeEC",type:"text",apply:"\\[Zeta]",detail:"Zeta"},{label:"ECetEC",type:"text",apply:"\\[Eta]",detail:"Eta"},{label:"ECthEC",type:"text",apply:"\\[Theta]",detail:"Theta"},{label:"ECioEC",type:"text",apply:"\\[Iota]",detail:"Iota"},{label:"ECkaEC",type:"text",apply:"\\[Kappa]",detail:"Kappa"},{label:"EClaEC",type:"text",apply:"\\[Lambda]",detail:"Lambda"},{label:"ECmuEC",type:"text",apply:"\\[Mu]",detail:"Mu"},{label:"ECnuEC",type:"text",apply:"\\[Nu]",detail:"Nu"},{label:"ECxiEC",type:"text",apply:"\\[Xi]",detail:"Xi"},{label:"EComEC",type:"text",apply:"\\[Omicron]",detail:"Omicron"},{label:"ECpiEC",type:"text",apply:"\\[Pi]",detail:"Pi"},{label:"ECrhEC",type:"text",apply:"\\[Rho]",detail:"Rho"},{label:"ECfiEC",type:"text",apply:"\\[FinalSigma]",detail:"FinalSigma"},{label:"ECsiEC",type:"text",apply:"\\[Sigma]",detail:"Sigma"},{label:"ECtaEC",type:"text",apply:"\\[Tau]",detail:"Tau"},{label:"ECupEC",type:"text",apply:"\\[Upsilon]",detail:"Upsilon"},{label:"ECcpEC",type:"text",apply:"\\[CurlyPhi]",detail:"CurlyPhi"},{label:"ECchEC",type:"text",apply:"\\[Chi]",detail:"Chi"},{label:"ECpsEC",type:"text",apply:"\\[Psi]",detail:"Psi"},{label:"EComEC",type:"text",apply:"\\[Omega]",detail:"Omega"},{label:"ECctEC",type:"text",apply:"\\[CurlyTheta]",detail:"CurlyTheta"},{label:"ECccEC",type:"text",apply:"\\[CurlyCapitalUpsilon]",detail:"CurlyCapitalUpsilon"},{label:"ECphEC",type:"text",apply:"\\[Phi]",detail:"Phi"},{label:"ECcpEC",type:"text",apply:"\\[CurlyPi]",detail:"CurlyPi"},{label:"ECcsEC",type:"text",apply:"\\[CapitalStigma]",detail:"CapitalStigma"},{label:"ECstEC",type:"text",apply:"\\[Stigma]",detail:"Stigma"},{label:"ECcdEC",type:"text",apply:"\\[CapitalDigamma]",detail:"CapitalDigamma"},{label:"ECdiEC",type:"text",apply:"\\[Digamma]",detail:"Digamma"},{label:"ECckEC",type:"text",apply:"\\[CapitalKoppa]",detail:"CapitalKoppa"},{label:"ECkoEC",type:"text",apply:"\\[Koppa]",detail:"Koppa"},{label:"ECcsEC",type:"text",apply:"\\[CapitalSampi]",detail:"CapitalSampi"},{label:"ECsaEC",type:"text",apply:"\\[Sampi]",detail:"Sampi"},{label:"ECckEC",type:"text",apply:"\\[CurlyKappa]",detail:"CurlyKappa"},{label:"ECcrEC",type:"text",apply:"\\[CurlyRho]",detail:"CurlyRho"},{label:"ECepEC",type:"text",apply:"\\[Epsilon]",detail:"Epsilon"}];function Zu(){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((e=>{let{from:t,to:i}=e;return{changes:{from:t,to:i,insert:"EC"},range:M.cursor(t+2)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function Uu(e,t){let i=e.matchBefore(/\w*/);return i.from!==i.to||e.explicit?{from:i.from,options:t}:null}var Hu="[a-zA-Z\\$][a-zA-Z0-9\\$]*",Yu="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",Ku="(?:`(?:`?"+Yu+")?)",Ju=new RegExp("(?:(?:\\d+)(?:\\^\\^(?:\\.\\w+|\\w+\\.\\w*|\\w+)"+Ku+"?(?:\\*\\^[+-]?\\d+)?))"),em=new RegExp("(?:"+Yu+Ku+"?(?:\\*\\^[+-]?\\d+)?)"),tm=new RegExp("(?:`?)(?:"+Hu+")(?:`(?:"+Hu+"))*(?:`?)");let im=Xu.map((e=>e.label));const om=["True","False","All","None","Null","Full","$Failed","$Aborted"];function nm(e,t){var i;return'"'===(i=e.next())?(t.tokenize=am,t.tokenize(e,t)):"("===i&&e.eat("*")?(t.commentLevel++,t.tokenize=rm,t.tokenize(e,t)):(e.backUp(1),e.match(Ju,!0,!1)||e.match(em,!0,!1)?"number":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string.special":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variableName.special":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"character":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variableName.constant":e.match(tm,!0,!1)?om.indexOf(e.current())>-1?"number":im.indexOf(e.current())>-1?"keyword":e.current()in t.localVars?"atom":(t.localVars[e.current()]=!0,"function"):e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function am(e,t){for(var i,o=!1,n=!1;null!=(i=e.next());){if('"'===i&&!n){o=!0;break}n=!n&&"\\"===i}return o&&!n&&(t.tokenize=nm),"string"}function rm(e,t){for(var i,o;t.commentLevel>0&&null!=(o=e.next());)"("===i&&"*"===o&&t.commentLevel++,"*"===i&&")"===o&&t.commentLevel--,i=o;return t.commentLevel<=0&&(t.tokenize=nm),"comment"}const sm={name:"mathematica",extendVariables:function(e){},startState:function(){return{tokenize:nm,commentLevel:0,localVars:{}}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(*",close:"*)"}}}};let lm;lm=[Sl.define(sm),vc({override:[async e=>Uu(e,Xu)]}),Nn.of([{key:"Escape",run:Zu()}])],lm.of=e=>[Sl.define(sm),vc({override:[async t=>Uu(t,e)]}),Nn.of([{key:"Escape",run:Zu()}])],lm.reBuild=e=>{im=e.map((e=>e.label))};const pm=(e,t,i,o)=>{if(0==e.length)return;const n=(new Date).valueOf();o.transaction(t,i,n,e.length);for(const a of e)dm(a,((e,a)=>{o.file(t,i,n,e,a)}))};function dm(e,t){const i=new FileReader;i.addEventListener("load",(i=>{let o=base64ArrayBuffer(i.target.result);t(e.name,o)})),i.addEventListener("progress",(e=>{if(e.loaded&&e.total){const t=e.loaded/e.total*100;console.log(t)}})),i.readAsArrayBuffer(e)}const cm=(e,t)=>Fn.domEventHandlers({drop(t,i){t.preventDefault();const o=[];t.dataTransfer.items?[...t.dataTransfer.items].forEach(((e,t)=>{if("file"===e.kind){const i=e.getAsFile();console.log(`… file[${t}].name = ${i.name}`),o.push(i)}})):[...t.dataTransfer.files].forEach(((e,t)=>{console.log(`… file[${t}].name = ${e.name}`),o.push(e)})),pm(o,t,i,e)},paste(e,i){let o=e.clipboardData||window.clipboardData;for(const n of o.items)if("string"===n.kind)switch(n.type){case"text/plain":break;case"image/png":e.preventDefault(),pm([n.getAsFile()],e,i,t)}else e.preventDefault(),pm([n.getAsFile()],e,i,t)}}),hm=new fa({regexp:/\\\[(\w+)\]/g,decoration:e=>oi.replace({widget:new ym(e[1])})}),fm=Qi.fromClass(class{constructor(e){this.Greekholder=hm.createDeco(e)}update(e){this.Greekholder=hm.updateDeco(e,this.Greekholder)}},{decorations:e=>e.Greekholder,provide:e=>Fn.atomicRanges.of((t=>t.plugin(e)?.Greekholder||oi.none))});class ym extends ti{constructor(e){super(),this.name=e}eq(e){return this.name===e.name}toDOM(){let e=document.createElement("span");return e.innerHTML="&"+this.name.toLowerCase().replace("sqrt","radic").replace("undirectededge","harr").replace("directededge","rarr").replace("curlyepsilon","epsilon").replace("curlytheta","theta").replace("transpose","#7488").replace("degree","deg")+";",e}ignoreEvent(){return!1}}const um=new fa({regexp:/(->|<-)/g,decoration:e=>oi.replace({widget:new mm(e[1])})});Qi.fromClass(class{constructor(e){this.Arrowholder=um.createDeco(e)}update(e){this.Arrowholder=um.updateDeco(e,this.Arrowholder)}},{decorations:e=>e.Arrowholder,provide:e=>Fn.atomicRanges.of((t=>t.plugin(e)?.Arrowholder||oi.none))});class mm extends ti{constructor(e){super(),this.dir=e}eq(e){return this.dir===e.dir}toDOM(){let e=document.createElement("span");return"->"===this.dir?e.innerText="→":e.innerText="←",e}ignoreEvent(){return!1}}function gm(e){if(!(e=e||{}).open)throw new Error('Balanced: please provide a "open" property');if(!e.close)throw new Error('Balanced: please provide a "close" property');if(this.balance=e.balance||!1,this.exceptions=e.exceptions||!1,this.caseInsensitive=e.caseInsensitive,this.head=e.head||e.open,this.head=Array.isArray(this.head)?this.head:[this.head],this.open=Array.isArray(e.open)?e.open:[e.open],this.close=Array.isArray(e.close)?e.close:[e.close],!Array.isArray(this.head)||!Array.isArray(this.open)||!Array.isArray(this.close)||this.head.length!==this.open.length||this.open.length!==this.close.length)throw new Error('Balanced: if you use arrays for a "head,open,close" you must use matching arrays for all options');var t=vm(this.head.map(this.regExpFromArrayGroupedMap,this)),i=vm(this.open.map(this.regExpFromArrayGroupedMap,this)),o=vm(this.close.map(this.regExpFromArrayGroupedMap,this));this.regExp=vm([t,i,o],"g"+(this.caseInsensitive?"i":"")),this.regExpGroupLength=this.head.length}function bm(e,t,i){for(var o=km(t.substr(0,i+1),/^.*\n?$/gim),n=km(t,/^.*\n?$/gim),a=o.length-1,r=i+1-(o.length?o[o.length-1].index:0),s="",l=2;l>=0;l--)a-l>=0&&n[a-l]&&(s+=t.substr(n[a-l].index,n[a-l].length)+"\n");for(l=0;l=0&&n[a+l]&&(s+=t.substr(n[a+l].index,n[a+l].length)+"\n");s=s.replace(/\t/g," ").replace(/\n$/,"");var p=new Error(e+" at "+(a+1)+":"+r+"\n\n"+s);return p.line=a+1,p.column=r,p.index=i,p}function wm(e,t){return e>=t.index&&e<=t.index+t.length-1}function km(e,t){var i,o=new RegExp(t),n=[];if(e)for(;i=o.exec(e);)n.push({index:i.index,length:i[0].length,match:i[0]}),i[0].length||o.lastIndex++;return n}function vm(e,t,i){var o=e.map((function(e){return e instanceof RegExp?e.source:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}(e)}),this).join("|");return o=i?"("+o+")":"(?:"+o+")",new RegExp(o,t||void 0)}gm.prototype={regExpFromArrayGroupedMap:function(e){return vm([e],null,!0)},matchContentsInBetweenBrackets:function(e,t){for(var i,o=new RegExp(this.regExp),n=[],a=[],r=null,s=!0;i=o.exec(e);){if(t){for(var l=!1,p=0;p{const i=((e,t,i)=>{var o,n=new RegExp(e),a=[];if(t)for(;o=n.exec(t);){if(i){for(var r=!1,s=0;s{new Cm({open:"(*"+e+"[*)",close:"(*]"+e+"*)",balance:!1}).matchContentsInBetweenBrackets(t.value,[]).forEach((function(e){const n=t.value.slice(e.index+e.head.length,e.index+e.length-e.tail.length);o(i+e.index,{length:e.length,pos:i+e.index,argsPos:i+e.index+e.head.length,str:n})}))})(t,e,i,n)},r=e.iterRange(i,o),s=i;!r.next().done;s+=r.value.length)a(r,s)}var Tm,Qm=function(){function e(e){var t=e.tag,i=e.decoration,o=e.decorate,n=e.boundary,a=e.maxLength,r=void 0===a?1e3:a;if(this.tag=t,o)this.addMatch=function(e,t,i,n){return o(n,i,i+e.length,e,t)};else if("function"==typeof i)this.addMatch=function(e,t,o,n){var a=i(e,t,o);a&&n(o,o+e.length,a)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=function(e,t,o,n){return n(o,o+e.length,i)}}this.boundary=n,this.maxLength=r}return e.prototype.createDeco=function(e){for(var t=this,i=new Re,o=i.add.bind(i),n=0,a=function(e,t){var i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;for(var o=[],n=0,a=i;n=s?o[o.length-1].to=l:o.push({from:s,to:l})}return o}(e,this.maxLength);ne.view.viewport.from&&a1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),i,o):t},e.prototype.updateRange=function(e,t,i,o){for(var n=this,a=function(a){var s=Math.max(a.from,i),l=Math.min(a.to,o);if(l>s){var p=e.state.doc.lineAt(s),d=p.top.from;s--)if(r.boundary.test(p.text[s-1-p.from])){c=s;break}for(;lh},add:f})}},r=this,s=0,l=e.visibleRanges;s{if(e.readOnly)return!1;let i=e.changeByRange((t=>{let{from:i,to:o}=t;const n=e.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*FB[*)((_)(*,*)/(*,*)(_))(*]FB*)"},range:M.cursor(i)}:{changes:{from:i,to:o,insert:"(*FB[*)(("+n+")(*,*)/(*,*)(_))(*]FB*)"},range:M.cursor(i)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let Am=class{constructor(e,t,i,o,n,a){this.view=t,this.visibleValue=e,this.placeholder=a,console.log(a),this.args=Pm(e.str,/\(\*,\*\)/gm);const r=this;let s,l;console.log("creating InstanceWidget"),s=Tm({doc:r.args[0].body.slice(2,-1),parent:i,update:e=>this.applyChanges(e,0),eval:()=>{t.viewState.state.config.eval()},extensions:[Nn.of([{key:"ArrowLeft",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return console.log(r.visibleValue.pos),t.dispatch({selection:{anchor:r.visibleValue.pos}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return l.dispatch({selection:{anchor:0}}),l.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){l.focus(),e.editorLastCursor=void 0}}])]}),l=Tm({doc:r.args[2].body.slice(1,-2),parent:o,update:e=>this.applyChanges(e,2),eval:()=>{t.viewState.state.config.eval()},extensions:[Nn.of([{key:"ArrowLeft",run:function(e,t){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:s.state.doc.length}}),s.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:r.visibleValue.pos+r.visibleValue.length}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){s.focus(),e.editorLastCursor=void 0}}])]}),r.args[0].length=r.args[0].body.length,r.args[2].length=r.args[2].body.length,delete r.args[2].body,delete r.args[1].body,delete r.args[0].body,this.topEditor=s,this.bottomEditor=l}applyChanges(e,t){const i=this.args,o=this.visibleValue.argsPos;if(0==t){const t="(("+e+")",n={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:t},a=t.length-i[0].length;i[0].to=i[0].to+a,i[2].from=i[2].from+a,i[0].length=t.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:n})}else{const t="("+e+"))",n={from:o+i[2].from,to:o+i[2].from+i[2].length,insert:t},a=t.length-i[2].length;i[2].to=i[2].to+a,i[2].length=t.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:n})}}update(e,t){this.visibleValue.pos=e.pos,this.placeholder=t,this.visibleValue.argsPos=e.argsPos}destroy(){this.topEditor.destroy(),this.bottomEditor.destroy()}},Mm=class extends ti{constructor(e,t,i,o){super(),this.view=i,this.visibleValue=e,this.reference=t,this.placeholder=o}eq(e){return!1}updateDOM(e,t){return this.DOMElement=e,e.EditorWidget.update(this.visibleValue,this),!0}skipPosition(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{const e=this.DOMElement.EditorWidget.bottomEditor;e.dispatch({selection:{anchor:e.state.doc.length}}),e.focus()}return t}toDOM(e){console.log("Create a new one!");let t=document.createElement("span");t.classList.add("fraction");const i=document.createElement("table");i.classList.add("container"),t.appendChild(i);const o=document.createElement("tbody");i.appendChild(o);const n=document.createElement("tr"),a=document.createElement("tr");o.appendChild(n),o.appendChild(a);const r=document.createElement("td");r.classList.add("enumenator"),n.appendChild(r);const s=document.createElement("td");a.appendChild(s);const l=this;return t.EditorWidget=new Am(this.visibleValue,e,r,s,[],this),this.DOMElement=t,this.reference.push({destroy:()=>{l.destroy(t)}}),t}ignoreEvent(){return!0}destroy(e){e.EditorWidget.destroy()}};const Em=(e,t,i)=>new Qm({tag:"FB",decoration:o=>oi.replace({widget:new Mm(o,e,t,i)})}),Fm=e=>Qi.fromClass(class{constructor(t){this.disposable=[],this.placeholder=Em(this.disposable,t,this).createDeco(t),e.placeholder=this}update(e){this.placeholder=Em(this.disposable,e,this).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var Lm;function Bm(e){return Lm=e,[zm,Nn.of([{key:"Ctrl-2",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{let{from:i,to:o}=t;const n=e.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*SqB[*)Sqrt[_](*]SqB*)"},range:M.cursor(i)}:{changes:{from:i,to:o,insert:"(*SqB[*)Sqrt["+n+"](*]SqB*)"},range:M.cursor(i)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let Im=class{constructor(e,t,i,o,n){this.view=t,this.visibleValue=e;const a=this;this.length=e.str.length,console.log("creating InstanceWidget"),this.editor=Lm({doc:e.str.slice(...o),parent:i,update:e=>a.applyChanges(e),eval:()=>{t.viewState.state.config.eval()},extensions:[Nn.of([{key:"ArrowRight",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:a.visibleValue.pos+a.visibleValue.length}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:a.visibleValue.pos}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}}])]})}applyChanges(e){const t=e,i={from:this.visibleValue.argsPos+5,to:this.visibleValue.argsPos+this.length-1,insert:t};console.log(this.visibleValue);const o=t.length+6-this.length;this.length=this.length+o,this.visibleValue.length=this.visibleValue.length+o,this.view.dispatch({changes:i})}update(e){this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}destroy(){console.warn("destroy Instance of Widget!"),this.editor.destroy()}},Gm=class extends ti{constructor(e,t,i){super(),this.view=i,this.visibleValue=e,this.reference=t}eq(e){return!1}updateDOM(e,t){return this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}toDOM(e){console.log("Create a new one!");let t=document.createElement("span");t.classList.add("sqroot");const i=this,o=document.createElement("span");return o.classList.add("radicand"),t.EditorWidget=new Im(this.visibleValue,e,o,[5,-1],[]),t.appendChild(o),this.reference.push({destroy:()=>{i.destroy(t)}}),this.DOMElement=t,t}skipPosition(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.editor.focus();else{const e=this.DOMElement.EditorWidget.editor;e.dispatch({selection:{anchor:e.state.doc.length}}),e.focus()}return t}ignoreEvent(){return!0}destroy(e){e.EditorWidget.destroy()}};const $m=(e,t)=>new Qm({tag:"SqB",decoration:i=>oi.replace({widget:new Gm(i,e,t)})}),zm=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=$m(this.disposable,e).createDeco(e)}update(e){this.placeholder=$m(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var Vm;function Nm(e){return Vm=e,[_m,Nn.of([{key:"Ctrl--",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{let{from:i,to:o}=t;const n=e.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*SbB[*)Subscript[_(*|*),(*|*)_](*]SbB*)"},range:M.cursor(i)}:{changes:{from:i,to:o,insert:"(*SbB[*)Subscript["+n+"(*|*),(*|*)_](*]SbB*)"},range:M.cursor(i)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let Wm=class{constructor(e,t,i,o,n){this.view=t,this.visibleValue=e;const a=this;let r,s;this.args=Pm(e.str,/\(\*\|\*\)/gm),console.log("creating InstanceWidget"),console.log(a.visibleValue),r=Vm({doc:a.args[0].body.slice(10),parent:i,update:e=>this.applyChanges(e,0),extensions:[Nn.of([{key:"ArrowLeft",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:a.visibleValue.pos}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:0}}),s.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){s.focus()}}])]}),s=Vm({doc:a.args[2].body.slice(0,-1),parent:o,update:e=>this.applyChanges(e,2),extensions:[Nn.of([{key:"ArrowRight",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:a.visibleValue.pos+a.visibleValue.length}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return r.dispatch({selection:{anchor:r.state.doc.length}}),r.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){r.focus()}}])]}),this.topEditor=r,this.bottomEditor=s,a.args[0].length=a.args[0].body.length,a.args[2].length=a.args[2].body.length,delete a.args[2].body,delete a.args[1].body,delete a.args[0].body}applyChanges(e,t){const i=this.args,o=this.visibleValue.argsPos;if(0==t){const t="Subscript["+e,n={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:t};i[0].to=i[0].to+(t.length-i[0].length),i[2].from=i[2].from+(t.length-i[0].length);const a=t.length-i[0].length;i[0].length=t.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:n})}else{const t=e+"]",n={from:o+i[2].from,to:o+i[2].from+i[2].length,insert:t};i[2].to=i[2].to+(t.length-i[2].length);const a=t.length-i[2].length;i[2].length=t.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:n})}}update(e){this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}destroy(){console.warn("destroy Instance of Widget!"),this.topEditor.destroy(),this.bottomEditor.destroy()}},qm=class extends ti{constructor(e,t,i){super(),this.view=i,this.visibleValue=e,this.reference=t}eq(e){return!1}skipPosition(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{const e=this.DOMElement.EditorWidget.bottomEditor;e.dispatch({selection:{anchor:e.state.doc.length}}),e.focus()}return t}updateDOM(e,t){return console.log("update widget DOM"),this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}toDOM(e){console.log("Create a new one!");const t=document.createElement("span"),i=document.createElement("span");i.classList.add("subscript-tail");const o=document.createElement("sub");o.classList.add("subscript-tail"),t.appendChild(i),t.appendChild(o),t.EditorWidget=new Wm(this.visibleValue,e,i,o,[]);const n=this;return this.reference.push({destroy:()=>{n.destroy(t)}}),this.DOMElement=t,t}ignoreEvent(){return!0}destroy(e){e.EditorWidget.destroy()}};const jm=(e,t)=>new Qm({tag:"SbB",decoration:i=>oi.replace({widget:new qm(i,e,t)})}),_m=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=jm(this.disposable,e).createDeco(e)}update(e){this.placeholder=jm(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var Xm;function Zm(e){return Xm=e,[Km,Nn.of([{key:"Ctrl-6",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{let{from:i,to:o}=t;const n=e.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*SpB[*)Power[_(*|*),(*|*)_](*]SpB*)"},range:M.cursor(i)}:{changes:{from:i,to:o,insert:"(*SpB[*)Power["+n+"(*|*),(*|*)_](*]SpB*)"},range:M.cursor(i)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let Um=class{constructor(e,t,i,o,n){this.view=t,this.visibleValue=e;const a=this;let r,s;this.args=Pm(e.str,/\(\*\|\*\)/gm),console.log("creating InstanceWidget"),r=Xm({doc:a.args[0].body.slice(6),parent:i,update:e=>this.applyChanges(e,0),extensions:[Nn.of([{key:"ArrowLeft",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:a.visibleValue.pos}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:0}}),s.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){s.focus()}}])]}),s=Xm({doc:a.args[2].body.slice(0,-1),parent:o,update:e=>this.applyChanges(e,2),extensions:[Nn.of([{key:"ArrowRight",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return t.dispatch({selection:{anchor:a.visibleValue.pos+a.visibleValue.length}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return r.dispatch({selection:{anchor:r.state.doc.length}}),r.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){r.focus()}}])]}),this.topEditor=r,this.bottomEditor=s,a.args[0].length=a.args[0].body.length,a.args[2].length=a.args[2].body.length,delete a.args[2].body,delete a.args[1].body,delete a.args[0].body}applyChanges(e,t){const i=this.args,o=this.visibleValue.argsPos;if(0==t){const t="Power["+e,n={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:t};i[0].to=i[0].to+(t.length-i[0].length),i[2].from=i[2].from+(t.length-i[0].length);const a=t.length-i[0].length;i[0].length=t.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:n})}else{const t=e+"]",n={from:o+i[2].from,to:o+i[2].from+i[2].length,insert:t};i[2].to=i[2].to+(t.length-i[2].length);const a=t.length-i[2].length;i[2].length=t.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:n})}}update(e){this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}destroy(){console.warn("destroy Instance of Widget!"),this.topEditor.destroy(),this.bottomEditor.destroy()}},Hm=class extends ti{constructor(e,t,i){super(),this.view=i,this.visibleValue=e,this.reference=t}eq(e){return!1}updateDOM(e,t){return console.log("update widget DOM"),this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}toDOM(e){console.log("Create a new one!");const t=document.createElement("span"),i=document.createElement("span");i.classList.add("subscript-tail");const o=document.createElement("sup");o.classList.add("subscript-tail"),t.appendChild(i),t.appendChild(o),t.EditorWidget=new Um(this.visibleValue,e,i,o,[]);const n=this;return this.reference.push({destroy:()=>{n.destroy(t)}}),this.DOMElement=t,t}ignoreEvent(){return!0}skipPosition(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{const e=this.DOMElement.EditorWidget.bottomEditor;e.dispatch({selection:{anchor:e.state.doc.length}}),e.focus()}return t}destroy(e){e.EditorWidget.destroy()}};const Ym=(e,t)=>new Qm({tag:"SpB",decoration:i=>oi.replace({widget:new Hm(i,e,t)})}),Km=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=Ym(this.disposable,e).createDeco(e)}update(e){this.placeholder=Ym(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var Jm;function eg(e){return Jm=e,[ng]}let tg=class{constructor(e,t,i,o){this.view=t,this.visibleValue=e;const n=this;this.tbody=i,this.args=Pm(e.str,/\(\*\|\|\*\)/gm).map(((e,t)=>t%2!=0?e:{...e,body:Pm(e.body,/\(\*\|\*\)/gm)}));const a=this.args;console.log("creating InstanceWidget");for(let e=0;e{t.viewState.state.config.eval()},update:t=>this.applyChanges(t,e,i),extensions:[Nn.of([{key:"ArrowLeft",run:function(e,o){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return i-2>=0?(r[i-2].editor.dispatch({selection:{anchor:r[i-2].editor.state.doc.length}}),r[i-2].editor.focus(),void(e.editorLastCursor=void 0)):(t.dispatch({selection:{anchor:n.visibleValue.pos}}),t.focus(),void(e.editorLastCursor=void 0));e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,o){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return i+2=0)return a[e-2].body[i].editor.focus(),void(t.editorLastCursor=void 0)}},{key:"ArrowDown",run:function(t,o){if(e+2{n.destroy(t)}}),this.DOMElement=t,t}skipPosition(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.args[0].body[0].editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.args[0].body[0].editor.focus();else{const e=this.DOMElement.EditorWidget.args,t=e[e.length-1].body[e[e.length-1].body.length-1].editor;t.dispatch({selection:{anchor:t.state.doc.length}}),t.focus()}return t}ignoreEvent(){return!0}destroy(e){e.EditorWidget.destroy()}};const og=(e,t)=>new Qm({tag:"GB",decoration:i=>oi.replace({widget:new ig(i,e,t)})}),ng=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=og(this.disposable,e).createDeco(e)}update(e){this.placeholder=og(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var ag={},rg={},sg={},lg={};function pg(e){let t=e.length;for(;--t>=0;)e[t]=0}const dg=256,cg=286,hg=30,fg=15,yg=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ug=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),mg=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),gg=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),bg=new Array(576);pg(bg);const wg=new Array(60);pg(wg);const kg=new Array(512);pg(kg);const vg=new Array(256);pg(vg);const Og=new Array(29);pg(Og);const xg=new Array(hg);function Sg(e,t,i,o,n){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=o,this.max_length=n,this.has_stree=e&&e.length}let Cg,Pg,Dg;function Tg(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}pg(xg);const Qg=e=>e<256?kg[e]:kg[256+(e>>>7)],Rg=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},Ag=(e,t,i)=>{e.bi_valid>16-i?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=i-16):(e.bi_buf|=t<{Ag(e,i[2*t],i[2*t+1])},Eg=(e,t)=>{let i=0;do{i|=1&e,e>>>=1,i<<=1}while(--t>0);return i>>>1},Fg=(e,t,i)=>{const o=new Array(16);let n,a,r=0;for(n=1;n<=fg;n++)r=r+i[n-1]<<1,o[n]=r;for(a=0;a<=t;a++){let t=e[2*a+1];0!==t&&(e[2*a]=Eg(o[t]++,t))}},Lg=e=>{let t;for(t=0;t{e.bi_valid>8?Rg(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Ig=(e,t,i,o)=>{const n=2*t,a=2*i;return e[n]{const o=e.heap[i];let n=i<<1;for(;n<=e.heap_len&&(n{let o,n,a,r,s=0;if(0!==e.sym_next)do{o=255&e.pending_buf[e.sym_buf+s++],o+=(255&e.pending_buf[e.sym_buf+s++])<<8,n=e.pending_buf[e.sym_buf+s++],0===o?Mg(e,n,t):(a=vg[n],Mg(e,a+dg+1,t),r=yg[a],0!==r&&(n-=Og[a],Ag(e,n,r)),o--,a=Qg(o),Mg(e,a,i),r=ug[a],0!==r&&(o-=xg[a],Ag(e,o,r)))}while(s{const i=t.dyn_tree,o=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems;let r,s,l,p=-1;for(e.heap_len=0,e.heap_max=573,r=0;r>1;r>=1;r--)Gg(e,i,r);l=a;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Gg(e,i,1),s=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=s,i[2*l]=i[2*r]+i[2*s],e.depth[l]=(e.depth[r]>=e.depth[s]?e.depth[r]:e.depth[s])+1,i[2*r+1]=i[2*s+1]=l,e.heap[1]=l++,Gg(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const i=t.dyn_tree,o=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,r=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,l=t.stat_desc.max_length;let p,d,c,h,f,y,u=0;for(h=0;h<=fg;h++)e.bl_count[h]=0;for(i[2*e.heap[e.heap_max]+1]=0,p=e.heap_max+1;p<573;p++)d=e.heap[p],h=i[2*i[2*d+1]+1]+1,h>l&&(h=l,u++),i[2*d+1]=h,d>o||(e.bl_count[h]++,f=0,d>=s&&(f=r[d-s]),y=i[2*d],e.opt_len+=y*(h+f),a&&(e.static_len+=y*(n[2*d+1]+f)));if(0!==u){do{for(h=l-1;0===e.bl_count[h];)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[l]--,u-=2}while(u>0);for(h=l;0!==h;h--)for(d=e.bl_count[h];0!==d;)c=e.heap[--p],c>o||(i[2*c+1]!==h&&(e.opt_len+=(h-i[2*c+1])*i[2*c],i[2*c+1]=h),d--)}})(e,t),Fg(i,p,e.bl_count)},Vg=(e,t,i)=>{let o,n,a=-1,r=t[1],s=0,l=7,p=4;for(0===r&&(l=138,p=3),t[2*(i+1)+1]=65535,o=0;o<=i;o++)n=r,r=t[2*(o+1)+1],++s{let o,n,a=-1,r=t[1],s=0,l=7,p=4;for(0===r&&(l=138,p=3),o=0;o<=i;o++)if(n=r,r=t[2*(o+1)+1],!(++s{Ag(e,0+(o?1:0),3),Bg(e),Rg(e,i),Rg(e,~i),i&&e.pending_buf.set(e.window.subarray(t,t+i),e.pending),e.pending+=i};lg._tr_init=e=>{Wg||((()=>{let e,t,i,o,n;const a=new Array(16);for(i=0,o=0;o<28;o++)for(Og[o]=i,e=0;e<1<>=7;o{let n,a,r=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t{let t;for(Vg(e,e.dyn_ltree,e.l_desc.max_code),Vg(e,e.dyn_dtree,e.d_desc.max_code),zg(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*gg[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=i+5,i+4<=n&&-1!==t?qg(e,t,i,o):4===e.strategy||a===n?(Ag(e,2+(o?1:0),3),$g(e,bg,wg)):(Ag(e,4+(o?1:0),3),((e,t,i,o)=>{let n;for(Ag(e,t-257,5),Ag(e,i-1,5),Ag(e,o-4,4),n=0;n(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=i,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(vg[i]+dg+1)]++,e.dyn_dtree[2*Qg(t)]++),e.sym_next===e.sym_end),lg._tr_align=e=>{Ag(e,2,3),Mg(e,256,bg),(e=>{16===e.bi_valid?(Rg(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)};var jg=(e,t,i,o)=>{let n=65535&e|0,a=e>>>16&65535|0,r=0;for(;0!==i;){r=i>2e3?2e3:i,i-=r;do{n=n+t[o++]|0,a=a+n|0}while(--r);n%=65521,a%=65521}return n|a<<16|0};const _g=new Uint32Array((()=>{let e,t=[];for(var i=0;i<256;i++){e=i;for(var o=0;o<8;o++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t})());var Xg=(e,t,i,o)=>{const n=_g,a=o+i;e^=-1;for(let i=o;i>>8^n[255&(e^t[i])];return-1^e},Zg={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Ug={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Hg,_tr_stored_block:Yg,_tr_flush_block:Kg,_tr_tally:Jg,_tr_align:eb}=lg,tb=jg,ib=Xg,ob=Zg,{Z_NO_FLUSH:nb,Z_PARTIAL_FLUSH:ab,Z_FULL_FLUSH:rb,Z_FINISH:sb,Z_BLOCK:lb,Z_OK:pb,Z_STREAM_END:db,Z_STREAM_ERROR:cb,Z_DATA_ERROR:hb,Z_BUF_ERROR:fb,Z_DEFAULT_COMPRESSION:yb,Z_FILTERED:ub,Z_HUFFMAN_ONLY:mb,Z_RLE:gb,Z_FIXED:bb,Z_DEFAULT_STRATEGY:wb,Z_UNKNOWN:kb,Z_DEFLATED:vb}=Ug,Ob=258,xb=262,Sb=42,Cb=113,Pb=666,Db=(e,t)=>(e.msg=ob[t],t),Tb=e=>2*e-(e>4?9:0),Qb=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Rb=e=>{let t,i,o,n=e.w_size;t=e.hash_size,o=t;do{i=e.head[--o],e.head[o]=i>=n?i-n:0}while(--t);t=n,o=t;do{i=e.prev[--o],e.prev[o]=i>=n?i-n:0}while(--t)};let Ab=(e,t,i)=>(t<{const t=e.state;let i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+i),e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))},Eb=(e,t)=>{Kg(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Mb(e.strm)},Fb=(e,t)=>{e.pending_buf[e.pending++]=t},Lb=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Bb=(e,t,i,o)=>{let n=e.avail_in;return n>o&&(n=o),0===n?0:(e.avail_in-=n,t.set(e.input.subarray(e.next_in,e.next_in+n),i),1===e.state.wrap?e.adler=tb(e.adler,t,n,i):2===e.state.wrap&&(e.adler=ib(e.adler,t,n,i)),e.next_in+=n,e.total_in+=n,n)},Ib=(e,t)=>{let i,o,n=e.max_chain_length,a=e.strstart,r=e.prev_length,s=e.nice_match;const l=e.strstart>e.w_size-xb?e.strstart-(e.w_size-xb):0,p=e.window,d=e.w_mask,c=e.prev,h=e.strstart+Ob;let f=p[a+r-1],y=p[a+r];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,p[i+r]===y&&p[i+r-1]===f&&p[i]===p[a]&&p[++i]===p[a+1]){a+=2,i++;do{}while(p[++a]===p[++i]&&p[++a]===p[++i]&&p[++a]===p[++i]&&p[++a]===p[++i]&&p[++a]===p[++i]&&p[++a]===p[++i]&&p[++a]===p[++i]&&p[++a]===p[++i]&&ar){if(e.match_start=t,r=o,o>=s)break;f=p[a+r-1],y=p[a+r]}}}while((t=c[t&d])>l&&0!=--n);return r<=e.lookahead?r:e.lookahead},Gb=e=>{const t=e.w_size;let i,o,n;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-xb)&&(e.window.set(e.window.subarray(t,t+t-o),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Rb(e),o+=t),0===e.strm.avail_in)break;if(i=Bb(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=i,e.lookahead+e.insert>=3)for(n=e.strstart-e.insert,e.ins_h=e.window[n],e.ins_h=Ab(e,e.ins_h,e.window[n+1]);e.insert&&(e.ins_h=Ab(e,e.ins_h,e.window[n+3-1]),e.prev[n&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=n,n++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead{let i,o,n,a=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r=0,s=e.strm.avail_in;do{if(i=65535,n=e.bi_valid+42>>3,e.strm.avail_outo+e.strm.avail_in&&(i=o+e.strm.avail_in),i>n&&(i=n),i>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,Mb(e.strm),o&&(o>i&&(o=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+o),e.strm.next_out),e.strm.next_out+=o,e.strm.avail_out-=o,e.strm.total_out+=o,e.block_start+=o,i-=o),i&&(Bb(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(0===r);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_watern&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,n+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),n>e.strm.avail_in&&(n=e.strm.avail_in),n&&(Bb(e.strm,e.window,e.strstart,n),e.strstart+=n,e.insert+=n>e.w_size-e.insert?e.w_size-e.insert:n),e.high_water>3,n=e.pending_buf_size-n>65535?65535:e.pending_buf_size-n,a=n>e.w_size?e.w_size:n,o=e.strstart-e.block_start,(o>=a||(o||t===sb)&&t!==nb&&0===e.strm.avail_in&&o<=n)&&(i=o>n?n:o,r=t===sb&&0===e.strm.avail_in&&i===o?1:0,Yg(e,e.block_start,i,r),e.block_start+=i,Mb(e.strm)),r?3:1)},zb=(e,t)=>{let i,o;for(;;){if(e.lookahead=3&&(e.ins_h=Ab(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-xb&&(e.match_length=Ib(e,i)),e.match_length>=3)if(o=Jg(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=Ab(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Ab(e,e.ins_h,e.window[e.strstart+1]);else o=Jg(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(o&&(Eb(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===sb?(Eb(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Eb(e,!1),0===e.strm.avail_out)?1:2},Vb=(e,t)=>{let i,o,n;for(;;){if(e.lookahead=3&&(e.ins_h=Ab(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==i&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-3,o=Jg(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=Ab(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,o&&(Eb(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(o=Jg(e,0,e.window[e.strstart-1]),o&&Eb(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(o=Jg(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===sb?(Eb(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Eb(e,!1),0===e.strm.avail_out)?1:2};function Nb(e,t,i,o,n){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=o,this.func=n}const Wb=[new Nb(0,0,0,0,$b),new Nb(4,4,8,4,zb),new Nb(4,5,16,8,zb),new Nb(4,6,32,32,zb),new Nb(4,4,16,16,Vb),new Nb(8,16,32,32,Vb),new Nb(8,16,128,128,Vb),new Nb(8,32,128,256,Vb),new Nb(32,128,258,1024,Vb),new Nb(32,258,258,4096,Vb)];function qb(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=vb,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Qb(this.dyn_ltree),Qb(this.dyn_dtree),Qb(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Qb(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Qb(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const jb=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==Sb&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==Cb&&t.status!==Pb?1:0},_b=e=>{if(jb(e))return Db(e,cb);e.total_in=e.total_out=0,e.data_type=kb;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?Sb:Cb,e.adler=2===t.wrap?0:1,t.last_flush=-2,Hg(t),pb},Xb=e=>{const t=_b(e);var i;return t===pb&&((i=e.state).window_size=2*i.w_size,Qb(i.head),i.max_lazy_match=Wb[i.level].max_lazy,i.good_match=Wb[i.level].good_length,i.nice_match=Wb[i.level].nice_length,i.max_chain_length=Wb[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),t},Zb=(e,t,i,o,n,a)=>{if(!e)return cb;let r=1;if(t===yb&&(t=6),o<0?(r=0,o=-o):o>15&&(r=2,o-=16),n<1||n>9||i!==vb||o<8||o>15||t<0||t>9||a<0||a>bb||8===o&&1!==r)return Db(e,cb);8===o&&(o=9);const s=new qb;return e.state=s,s.strm=e,s.status=Sb,s.wrap=r,s.gzhead=null,s.w_bits=o,s.w_size=1<Zb(e,t,vb,15,8,wb),sg.deflateInit2=Zb,sg.deflateReset=Xb,sg.deflateResetKeep=_b,sg.deflateSetHeader=(e,t)=>jb(e)||2!==e.state.wrap?cb:(e.state.gzhead=t,pb),sg.deflate=(e,t)=>{if(jb(e)||t>lb||t<0)return e?Db(e,cb):cb;const i=e.state;if(!e.output||0!==e.avail_in&&!e.input||i.status===Pb&&t!==sb)return Db(e,0===e.avail_out?fb:cb);const o=i.last_flush;if(i.last_flush=t,0!==i.pending){if(Mb(e),0===e.avail_out)return i.last_flush=-1,pb}else if(0===e.avail_in&&Tb(t)<=Tb(o)&&t!==sb)return Db(e,fb);if(i.status===Pb&&0!==e.avail_in)return Db(e,fb);if(i.status===Sb&&0===i.wrap&&(i.status=Cb),i.status===Sb){let t=vb+(i.w_bits-8<<4)<<8,o=-1;if(o=i.strategy>=mb||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=o<<6,0!==i.strstart&&(t|=32),t+=31-t%31,Lb(i,t),0!==i.strstart&&(Lb(i,e.adler>>>16),Lb(i,65535&e.adler)),e.adler=1,i.status=Cb,Mb(e),0!==i.pending)return i.last_flush=-1,pb}if(57===i.status)if(e.adler=0,Fb(i,31),Fb(i,139),Fb(i,8),i.gzhead)Fb(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Fb(i,255&i.gzhead.time),Fb(i,i.gzhead.time>>8&255),Fb(i,i.gzhead.time>>16&255),Fb(i,i.gzhead.time>>24&255),Fb(i,9===i.level?2:i.strategy>=mb||i.level<2?4:0),Fb(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(Fb(i,255&i.gzhead.extra.length),Fb(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=ib(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69;else if(Fb(i,0),Fb(i,0),Fb(i,0),Fb(i,0),Fb(i,0),Fb(i,9===i.level?2:i.strategy>=mb||i.level<2?4:0),Fb(i,3),i.status=Cb,Mb(e),0!==i.pending)return i.last_flush=-1,pb;if(69===i.status){if(i.gzhead.extra){let t=i.pending,o=(65535&i.gzhead.extra.length)-i.gzindex;for(;i.pending+o>i.pending_buf_size;){let n=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+n),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>t&&(e.adler=ib(e.adler,i.pending_buf,i.pending-t,t)),i.gzindex+=n,Mb(e),0!==i.pending)return i.last_flush=-1,pb;t=0,o-=n}let n=new Uint8Array(i.gzhead.extra);i.pending_buf.set(n.subarray(i.gzindex,i.gzindex+o),i.pending),i.pending+=o,i.gzhead.hcrc&&i.pending>t&&(e.adler=ib(e.adler,i.pending_buf,i.pending-t,t)),i.gzindex=0}i.status=73}if(73===i.status){if(i.gzhead.name){let t,o=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>o&&(e.adler=ib(e.adler,i.pending_buf,i.pending-o,o)),Mb(e),0!==i.pending)return i.last_flush=-1,pb;o=0}t=i.gzindexo&&(e.adler=ib(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex=0}i.status=91}if(91===i.status){if(i.gzhead.comment){let t,o=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>o&&(e.adler=ib(e.adler,i.pending_buf,i.pending-o,o)),Mb(e),0!==i.pending)return i.last_flush=-1,pb;o=0}t=i.gzindexo&&(e.adler=ib(e.adler,i.pending_buf,i.pending-o,o))}i.status=103}if(103===i.status){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(Mb(e),0!==i.pending))return i.last_flush=-1,pb;Fb(i,255&e.adler),Fb(i,e.adler>>8&255),e.adler=0}if(i.status=Cb,Mb(e),0!==i.pending)return i.last_flush=-1,pb}if(0!==e.avail_in||0!==i.lookahead||t!==nb&&i.status!==Pb){let o=0===i.level?$b(i,t):i.strategy===mb?((e,t)=>{let i;for(;;){if(0===e.lookahead&&(Gb(e),0===e.lookahead)){if(t===nb)return 1;break}if(e.match_length=0,i=Jg(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(Eb(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===sb?(Eb(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Eb(e,!1),0===e.strm.avail_out)?1:2})(i,t):i.strategy===gb?((e,t)=>{let i,o,n,a;const r=e.window;for(;;){if(e.lookahead<=Ob){if(Gb(e),e.lookahead<=Ob&&t===nb)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=e.strstart-1,o=r[n],o===r[++n]&&o===r[++n]&&o===r[++n])){a=e.strstart+Ob;do{}while(o===r[++n]&&o===r[++n]&&o===r[++n]&&o===r[++n]&&o===r[++n]&&o===r[++n]&&o===r[++n]&&o===r[++n]&&ne.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(i=Jg(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=Jg(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(Eb(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===sb?(Eb(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Eb(e,!1),0===e.strm.avail_out)?1:2})(i,t):Wb[i.level].func(i,t);if(3!==o&&4!==o||(i.status=Pb),1===o||3===o)return 0===e.avail_out&&(i.last_flush=-1),pb;if(2===o&&(t===ab?eb(i):t!==lb&&(Yg(i,0,0,!1),t===rb&&(Qb(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),Mb(e),0===e.avail_out))return i.last_flush=-1,pb}return t!==sb?pb:i.wrap<=0?db:(2===i.wrap?(Fb(i,255&e.adler),Fb(i,e.adler>>8&255),Fb(i,e.adler>>16&255),Fb(i,e.adler>>24&255),Fb(i,255&e.total_in),Fb(i,e.total_in>>8&255),Fb(i,e.total_in>>16&255),Fb(i,e.total_in>>24&255)):(Lb(i,e.adler>>>16),Lb(i,65535&e.adler)),Mb(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?pb:db)},sg.deflateEnd=e=>{if(jb(e))return cb;const t=e.state.status;return e.state=null,t===Cb?Db(e,hb):pb},sg.deflateSetDictionary=(e,t)=>{let i=t.length;if(jb(e))return cb;const o=e.state,n=o.wrap;if(2===n||1===n&&o.status!==Sb||o.lookahead)return cb;if(1===n&&(e.adler=tb(e.adler,t,i,0)),o.wrap=0,i>=o.w_size){0===n&&(Qb(o.head),o.strstart=0,o.block_start=0,o.insert=0);let e=new Uint8Array(o.w_size);e.set(t.subarray(i-o.w_size,i),0),t=e,i=o.w_size}const a=e.avail_in,r=e.next_in,s=e.input;for(e.avail_in=i,e.next_in=0,e.input=t,Gb(o);o.lookahead>=3;){let e=o.strstart,t=o.lookahead-2;do{o.ins_h=Ab(o,o.ins_h,o.window[e+3-1]),o.prev[e&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=e,e++}while(--t);o.strstart=e,o.lookahead=2,Gb(o)}return o.strstart+=o.lookahead,o.block_start=o.strstart,o.insert=o.lookahead,o.lookahead=0,o.match_length=o.prev_length=2,o.match_available=0,e.next_in=r,e.input=s,e.avail_in=a,o.wrap=n,pb},sg.deflateInfo="pako deflate (from Nodeca project)";var Ub={};const Hb=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Ub.assign=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const t in i)Hb(i,t)&&(e[t]=i[t])}}return e},Ub.flattenChunks=e=>{let t=0;for(let i=0,o=e.length;i=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Jb[254]=Jb[254]=1,Yb.string2buf=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,i,o,n,a,r=e.length,s=0;for(n=0;n>>6,t[a++]=128|63&i):i<65536?(t[a++]=224|i>>>12,t[a++]=128|i>>>6&63,t[a++]=128|63&i):(t[a++]=240|i>>>18,t[a++]=128|i>>>12&63,t[a++]=128|i>>>6&63,t[a++]=128|63&i);return t};Yb.buf2string=(e,t)=>{const i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let o,n;const a=new Array(2*i);for(n=0,o=0;o4)a[n++]=65533,o+=r-1;else{for(t&=2===r?31:3===r?15:7;r>1&&o1?a[n++]=65533:t<65536?a[n++]=t:(t-=65536,a[n++]=55296|t>>10&1023,a[n++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&Kb)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let i="";for(let o=0;o{(t=t||e.length)>e.length&&(t=e.length);let i=t-1;for(;i>=0&&128==(192&e[i]);)i--;return i<0||0===i?t:i+Jb[e[i]]>t?i:t};var ew=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const tw=sg,iw=Ub,ow=Yb,nw=Zg,aw=ew,rw=Object.prototype.toString,{Z_NO_FLUSH:sw,Z_SYNC_FLUSH:lw,Z_FULL_FLUSH:pw,Z_FINISH:dw,Z_OK:cw,Z_STREAM_END:hw,Z_DEFAULT_COMPRESSION:fw,Z_DEFAULT_STRATEGY:yw,Z_DEFLATED:uw}=Ug;function mw(e){this.options=iw.assign({level:fw,method:uw,chunkSize:16384,windowBits:15,memLevel:8,strategy:yw},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new aw,this.strm.avail_out=0;let i=tw.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==cw)throw new Error(nw[i]);if(t.header&&tw.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?ow.string2buf(t.dictionary):"[object ArrayBuffer]"===rw.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,i=tw.deflateSetDictionary(this.strm,e),i!==cw)throw new Error(nw[i]);this._dict_set=!0}}function gw(e,t){const i=new mw(t);if(i.push(e,!0),i.err)throw i.msg||nw[i.err];return i.result}mw.prototype.push=function(e,t){const i=this.strm,o=this.options.chunkSize;let n,a;if(this.ended)return!1;for(a=t===~~t?t:!0===t?dw:sw,"string"==typeof e?i.input=ow.string2buf(e):"[object ArrayBuffer]"===rw.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(a===lw||a===pw)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(n=tw.deflate(i,a),n===hw)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),n=tw.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===cw;if(0!==i.avail_out){if(a>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},mw.prototype.onData=function(e){this.chunks.push(e)},mw.prototype.onEnd=function(e){e===cw&&(this.result=iw.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},rg.Deflate=mw,rg.deflate=gw,rg.deflateRaw=function(e,t){return(t=t||{}).raw=!0,gw(e,t)},rg.gzip=function(e,t){return(t=t||{}).gzip=!0,gw(e,t)},rg.constants=Ug;var bw={},ww={};const kw=16209;const vw=15,Ow=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),xw=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Sw=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Cw=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var Pw=(e,t,i,o,n,a,r,s)=>{const l=s.bits;let p,d,c,h,f,y,u=0,m=0,g=0,b=0,w=0,k=0,v=0,O=0,x=0,S=0,C=null;const P=new Uint16Array(16),D=new Uint16Array(16);let T,Q,R,A=null;for(u=0;u<=vw;u++)P[u]=0;for(m=0;m=1&&0===P[b];b--);if(w>b&&(w=b),0===b)return n[a++]=20971520,n[a++]=20971520,s.bits=1,0;for(g=1;g0&&(0===e||1!==b))return-1;for(D[1]=0,u=1;u852||2===e&&x>592)return 1;for(;;){T=u-v,r[m]+1=y?(Q=A[r[m]-y],R=C[r[m]-y]):(Q=96,R=0),p=1<>v)+d]=T<<24|Q<<16|R|0}while(0!==d);for(p=1<>=1;if(0!==p?(S&=p-1,S+=p):S=0,m++,0==--P[u]){if(u===b)break;u=t[i+r[m]]}if(u>w&&(S&h)!==c){for(0===v&&(v=w),f+=g,k=u-v,O=1<852||2===e&&x>592)return 1;c=S&h,n[c]=w<<24|k<<16|f-a|0}}return 0!==S&&(n[f+S]=u-v<<24|64<<16|0),s.bits=w,0};const Dw=jg,Tw=Xg,Qw=function(e,t){let i,o,n,a,r,s,l,p,d,c,h,f,y,u,m,g,b,w,k,v,O,x,S,C;const P=e.state;i=e.next_in,S=e.input,o=i+(e.avail_in-5),n=e.next_out,C=e.output,a=n-(t-e.avail_out),r=n+(e.avail_out-257),s=P.dmax,l=P.wsize,p=P.whave,d=P.wnext,c=P.window,h=P.hold,f=P.bits,y=P.lencode,u=P.distcode,m=(1<>>24,h>>>=w,f-=w,w=b>>>16&255,0===w)C[n++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=y[(65535&b)+(h&(1<>>=w,f-=w),f<15&&(h+=S[i++]<>>24,h>>>=w,f-=w,w=b>>>16&255,!(16&w)){if(0==(64&w)){b=u[(65535&b)+(h&(1<s){e.msg="invalid distance too far back",P.mode=kw;break e}if(h>>>=w,f-=w,w=n-a,v>w){if(w=v-w,w>p&&P.sane){e.msg="invalid distance too far back",P.mode=kw;break e}if(O=0,x=c,0===d){if(O+=l-w,w2;)C[n++]=x[O++],C[n++]=x[O++],C[n++]=x[O++],k-=3;k&&(C[n++]=x[O++],k>1&&(C[n++]=x[O++]))}else{O=n-v;do{C[n++]=C[O++],C[n++]=C[O++],C[n++]=C[O++],k-=3}while(k>2);k&&(C[n++]=C[O++],k>1&&(C[n++]=C[O++]))}break}}break}}while(i>3,i-=k,f-=k<<3,h&=(1<(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Kw(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Jw=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode16211?1:0},ek=e=>{if(Jw(e))return Iw;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Nw,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,Fw},tk=e=>{if(Jw(e))return Iw;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,ek(e)},ik=(e,t)=>{let i;if(Jw(e))return Iw;const o=e.state;return t<0?(i=0,t=-t):(i=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Iw:(null!==o.window&&o.wbits!==t&&(o.window=null),o.wrap=i,o.wbits=t,tk(e))},ok=(e,t)=>{if(!e)return Iw;const i=new Kw;e.state=i,i.strm=e,i.window=null,i.mode=Nw;const o=ik(e,t);return o!==Fw&&(e.state=null),o};let nk,ak,rk=!0;const sk=e=>{if(rk){nk=new Int32Array(512),ak=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Rw(1,e.lens,0,288,nk,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Rw(2,e.lens,0,32,ak,0,e.work,{bits:5}),rk=!1}e.lencode=nk,e.lenbits=9,e.distcode=ak,e.distbits=5},lk=(e,t,i,o)=>{let n;const a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(i-a.wsize,i),0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>o&&(n=o),a.window.set(t.subarray(i-o,i-o+n),a.wnext),(o-=n)?(a.window.set(t.subarray(i-o,i),0),a.wnext=o,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whaveok(e,15),ww.inflateInit2=ok,ww.inflate=(e,t)=>{let i,o,n,a,r,s,l,p,d,c,h,f,y,u,m,g,b,w,k,v,O,x,S=0;const C=new Uint8Array(4);let P,D;const T=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Jw(e)||!e.output||!e.input&&0!==e.avail_in)return Iw;i=e.state,i.mode===qw&&(i.mode=jw),r=e.next_out,n=e.output,l=e.avail_out,a=e.next_in,o=e.input,s=e.avail_in,p=i.hold,d=i.bits,c=s,h=l,x=Fw;e:for(;;)switch(i.mode){case Nw:if(0===i.wrap){i.mode=jw;break}for(;d<16;){if(0===s)break e;s--,p+=o[a++]<>>8&255,i.check=Tw(i.check,C,2,0),p=0,d=0,i.mode=16181;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&p)<<8)+(p>>8))%31){e.msg="incorrect header check",i.mode=Hw;break}if((15&p)!==Vw){e.msg="unknown compression method",i.mode=Hw;break}if(p>>>=4,d-=4,O=8+(15&p),0===i.wbits&&(i.wbits=O),O>15||O>i.wbits){e.msg="invalid window size",i.mode=Hw;break}i.dmax=1<>8&1),512&i.flags&&4&i.wrap&&(C[0]=255&p,C[1]=p>>>8&255,i.check=Tw(i.check,C,2,0)),p=0,d=0,i.mode=16182;case 16182:for(;d<32;){if(0===s)break e;s--,p+=o[a++]<>>8&255,C[2]=p>>>16&255,C[3]=p>>>24&255,i.check=Tw(i.check,C,4,0)),p=0,d=0,i.mode=16183;case 16183:for(;d<16;){if(0===s)break e;s--,p+=o[a++]<>8),512&i.flags&&4&i.wrap&&(C[0]=255&p,C[1]=p>>>8&255,i.check=Tw(i.check,C,2,0)),p=0,d=0,i.mode=16184;case 16184:if(1024&i.flags){for(;d<16;){if(0===s)break e;s--,p+=o[a++]<>>8&255,i.check=Tw(i.check,C,2,0)),p=0,d=0}else i.head&&(i.head.extra=null);i.mode=16185;case 16185:if(1024&i.flags&&(f=i.length,f>s&&(f=s),f&&(i.head&&(O=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(o.subarray(a,a+f),O)),512&i.flags&&4&i.wrap&&(i.check=Tw(i.check,o,f,a)),s-=f,a+=f,i.length-=f),i.length))break e;i.length=0,i.mode=16186;case 16186:if(2048&i.flags){if(0===s)break e;f=0;do{O=o[a+f++],i.head&&O&&i.length<65536&&(i.head.name+=String.fromCharCode(O))}while(O&&f>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=qw;break;case 16189:for(;d<32;){if(0===s)break e;s--,p+=o[a++]<>>=7&d,d-=7&d,i.mode=Uw;break}for(;d<3;){if(0===s)break e;s--,p+=o[a++]<>>=1,d-=1,3&p){case 0:i.mode=16193;break;case 1:if(sk(i),i.mode=Xw,t===Ew){p>>>=2,d-=2;break e}break;case 2:i.mode=16196;break;case 3:e.msg="invalid block type",i.mode=Hw}p>>>=2,d-=2;break;case 16193:for(p>>>=7&d,d-=7&d;d<32;){if(0===s)break e;s--,p+=o[a++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=Hw;break}if(i.length=65535&p,p=0,d=0,i.mode=_w,t===Ew)break e;case _w:i.mode=16195;case 16195:if(f=i.length,f){if(f>s&&(f=s),f>l&&(f=l),0===f)break e;n.set(o.subarray(a,a+f),r),s-=f,a+=f,l-=f,r+=f,i.length-=f;break}i.mode=qw;break;case 16196:for(;d<14;){if(0===s)break e;s--,p+=o[a++]<>>=5,d-=5,i.ndist=1+(31&p),p>>>=5,d-=5,i.ncode=4+(15&p),p>>>=4,d-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=Hw;break}i.have=0,i.mode=16197;case 16197:for(;i.have>>=3,d-=3}for(;i.have<19;)i.lens[T[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,P={bits:i.lenbits},x=Rw(0,i.lens,0,19,i.lencode,0,i.work,P),i.lenbits=P.bits,x){e.msg="invalid code lengths set",i.mode=Hw;break}i.have=0,i.mode=16198;case 16198:for(;i.have>>24,g=S>>>16&255,b=65535&S,!(m<=d);){if(0===s)break e;s--,p+=o[a++]<>>=m,d-=m,i.lens[i.have++]=b;else{if(16===b){for(D=m+2;d>>=m,d-=m,0===i.have){e.msg="invalid bit length repeat",i.mode=Hw;break}O=i.lens[i.have-1],f=3+(3&p),p>>>=2,d-=2}else if(17===b){for(D=m+3;d>>=m,d-=m,O=0,f=3+(7&p),p>>>=3,d-=3}else{for(D=m+7;d>>=m,d-=m,O=0,f=11+(127&p),p>>>=7,d-=7}if(i.have+f>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=Hw;break}for(;f--;)i.lens[i.have++]=O}}if(i.mode===Hw)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=Hw;break}if(i.lenbits=9,P={bits:i.lenbits},x=Rw(1,i.lens,0,i.nlen,i.lencode,0,i.work,P),i.lenbits=P.bits,x){e.msg="invalid literal/lengths set",i.mode=Hw;break}if(i.distbits=6,i.distcode=i.distdyn,P={bits:i.distbits},x=Rw(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,P),i.distbits=P.bits,x){e.msg="invalid distances set",i.mode=Hw;break}if(i.mode=Xw,t===Ew)break e;case Xw:i.mode=Zw;case Zw:if(s>=6&&l>=258){e.next_out=r,e.avail_out=l,e.next_in=a,e.avail_in=s,i.hold=p,i.bits=d,Qw(e,h),r=e.next_out,n=e.output,l=e.avail_out,a=e.next_in,o=e.input,s=e.avail_in,p=i.hold,d=i.bits,i.mode===qw&&(i.back=-1);break}for(i.back=0;S=i.lencode[p&(1<>>24,g=S>>>16&255,b=65535&S,!(m<=d);){if(0===s)break e;s--,p+=o[a++]<>w)],m=S>>>24,g=S>>>16&255,b=65535&S,!(w+m<=d);){if(0===s)break e;s--,p+=o[a++]<>>=w,d-=w,i.back+=w}if(p>>>=m,d-=m,i.back+=m,i.length=b,0===g){i.mode=16205;break}if(32&g){i.back=-1,i.mode=qw;break}if(64&g){e.msg="invalid literal/length code",i.mode=Hw;break}i.extra=15&g,i.mode=16201;case 16201:if(i.extra){for(D=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=16202;case 16202:for(;S=i.distcode[p&(1<>>24,g=S>>>16&255,b=65535&S,!(m<=d);){if(0===s)break e;s--,p+=o[a++]<>w)],m=S>>>24,g=S>>>16&255,b=65535&S,!(w+m<=d);){if(0===s)break e;s--,p+=o[a++]<>>=w,d-=w,i.back+=w}if(p>>>=m,d-=m,i.back+=m,64&g){e.msg="invalid distance code",i.mode=Hw;break}i.offset=b,i.extra=15&g,i.mode=16203;case 16203:if(i.extra){for(D=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=Hw;break}i.mode=16204;case 16204:if(0===l)break e;if(f=h-l,i.offset>f){if(f=i.offset-f,f>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=Hw;break}f>i.wnext?(f-=i.wnext,y=i.wsize-f):y=i.wnext-f,f>i.length&&(f=i.length),u=i.window}else u=n,y=r-i.offset,f=i.length;f>l&&(f=l),l-=f,i.length-=f;do{n[r++]=u[y++]}while(--f);0===i.length&&(i.mode=Zw);break;case 16205:if(0===l)break e;n[r++]=i.length,l--,i.mode=Zw;break;case Uw:if(i.wrap){for(;d<32;){if(0===s)break e;s--,p|=o[a++]<{if(Jw(e))return Iw;let t=e.state;return t.window&&(t.window=null),e.state=null,Fw},ww.inflateGetHeader=(e,t)=>{if(Jw(e))return Iw;const i=e.state;return 0==(2&i.wrap)?Iw:(i.head=t,t.done=!1,Fw)},ww.inflateSetDictionary=(e,t)=>{const i=t.length;let o,n,a;return Jw(e)?Iw:(o=e.state,0!==o.wrap&&o.mode!==Ww?Iw:o.mode===Ww&&(n=1,n=Dw(n,t,i,0),n!==o.check)?Gw:(a=lk(e,t,i,i),a?(o.mode=16210,$w):(o.havedict=1,Fw)))},ww.inflateInfo="pako inflate (from Nodeca project)";const pk=ww,dk=Ub,ck=Yb,hk=Zg,fk=ew,yk=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},uk=Object.prototype.toString,{Z_NO_FLUSH:mk,Z_FINISH:gk,Z_OK:bk,Z_STREAM_END:wk,Z_NEED_DICT:kk,Z_STREAM_ERROR:vk,Z_DATA_ERROR:Ok,Z_MEM_ERROR:xk}=Ug;function Sk(e){this.options=dk.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new fk,this.strm.avail_out=0;let i=pk.inflateInit2(this.strm,t.windowBits);if(i!==bk)throw new Error(hk[i]);if(this.header=new yk,pk.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=ck.string2buf(t.dictionary):"[object ArrayBuffer]"===uk.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=pk.inflateSetDictionary(this.strm,t.dictionary),i!==bk)))throw new Error(hk[i])}function Ck(e,t){const i=new Sk(t);if(i.push(e),i.err)throw i.msg||hk[i.err];return i.result}Sk.prototype.push=function(e,t){const i=this.strm,o=this.options.chunkSize,n=this.options.dictionary;let a,r,s;if(this.ended)return!1;for(r=t===~~t?t:!0===t?gk:mk,"[object ArrayBuffer]"===uk.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),a=pk.inflate(i,r),a===kk&&n&&(a=pk.inflateSetDictionary(i,n),a===bk?a=pk.inflate(i,r):a===Ok&&(a=kk));i.avail_in>0&&a===wk&&i.state.wrap>0&&0!==e[i.next_in];)pk.inflateReset(i),a=pk.inflate(i,r);switch(a){case vk:case Ok:case kk:case xk:return this.onEnd(a),this.ended=!0,!1}if(s=i.avail_out,i.next_out&&(0===i.avail_out||a===wk))if("string"===this.options.to){let e=ck.utf8border(i.output,i.next_out),t=i.next_out-e,n=ck.buf2string(i.output,e);i.next_out=t,i.avail_out=o-t,t&&i.output.set(i.output.subarray(e,e+t),0),this.onData(n)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(a!==bk||0!==s){if(a===wk)return a=pk.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Sk.prototype.onData=function(e){this.chunks.push(e)},Sk.prototype.onEnd=function(e){e===bk&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=dk.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},bw.Inflate=Sk,bw.inflate=Ck,bw.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Ck(e,t)},bw.ungzip=Ck,bw.constants=Ug;const{Deflate:Pk,deflate:Dk,deflateRaw:Tk,gzip:Qk}=rg,{Inflate:Rk,inflate:Ak,inflateRaw:Mk,ungzip:Ek}=bw,Fk=Ug;ag.Deflate=Pk,ag.deflate=Dk,ag.deflateRaw=Tk,ag.gzip=Qk,ag.Inflate=Rk,ag.inflate=Ak,ag.inflateRaw=Mk,ag.ungzip=Ek,ag.constants=Fk;const Lk=ag;let Bk={Util:{},Decode:{},Messages:[],Log:function(e){Bk.Messages.push(["I",e]),console.log("Mma.js INFO: ",e)},Warn:function(e){Bk.Messages.push(["W",e]),console.log("Mma.js WARNING: ",e)},Fail:function(e){throw Bk.Messages.push(["E",e]),"Mma.js ERROR: "+e}};Bk.Util.Base64Decode=function(e){for(var t=atob(e),i=t.length>>>0,o=new Uint8Array(i),n=0;n1&&0===e[0]&&Bk.Fail("IntegerAP: input starts with 0: "+String(e)),this.nstring=e}else void 0===e?this.nstring=void 0:Bk.Fail("Integer: invalid input: "+String(e))},Bk.RealMP=function(e){"number"==typeof e?this.n=e:void 0===e?this.n=void 0:Bk.Fail("RealMP: invalid input")},Bk.RealAP=function(e){"string"==typeof e?(e.length>1&&0===e[0]&&Bk.Fail("RealAP: input starts with 0: "+String(e)),this.nstring=e):void 0===e?this.nstring=void 0:Bk.Fail("RealAP: invalid input: "+String(e))},Bk.Symbol=function(e){"string"==typeof e?this.name=e:void 0===e?this.name=void 0:Bk.Fail("Symbol: invalid input: "+String(e))},Bk.String=function(e){"string"==typeof e?this.str=e:void 0===e?this.str=void 0:Bk.Fail("String: invalid input: "+String(e))},Bk.Expression=function(e,t){e instanceof Bk.Symbol||Bk.Fail("Expression: head must be an Mma.Symbol"),t instanceof Array||Bk.Fail("Expression: parts must be an Array"),this.head=e,this.parts=t},Bk.Decode.Int32=function(e,t){try{return new DataView(e.buffer).getInt32(t,!0)}catch(e){return 0}},Bk.Decode.Float64=function(e,t){try{return new DataView(e.buffer).getFloat64(t,!0)}catch(e){return 0}},Bk.Decode.String=function(e,t,i){return void 0===t&&(t=0),void 0===i&&(i=e.length),Bk.Util.U8ArrayToString(e.slice(t,t+i))},Bk.Decode.StringEntry=function(e,t){void 0===t&&(t=0);var i=Bk.Decode.Int32(e,t);return{length:i,string:Bk.Decode.String(e,t+4,i),bytesRead:i+4}},Bk.Decode.Any=function(e,t,i){void 0===t&&(t=0),void 0===i&&(i=1/0);var o=t;for(var n=0,a=[];t{if(d.options?.Event){console.warn("Event listeners are enabled!"),n.events=d.options.Event;let e=d;if(p.stack){const t=Object.values(p.stack);t.length>0&&(console.log("Attaching first found instance..."),e=t[0].env)}interpretate(["MetaMarker","'"+l+"'"],e).then((()=>{server.kernel.emitt(n.events,'"'+l+'"',"Mounted")}))}}))}getDoc(){return this.args[0].body.slice(1,-1)}applyChanges(e,t){const i=this.args,o=this.visibleValue.argsPos,n="("+e+")",a={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:n};i[0].length=n.length,this.view.dispatch({changes:a})}applyOuterChanges(e){const t=this.visibleValue,i=e,o={from:t.pos,to:t.pos+t.length,insert:i};this.view.dispatch({changes:o})}update(e){this.deactivated||(this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos)}destroy(e){if(console.warn("destroy Instance of Widget"),console.log(this),this.env.global.stack)for(const e of Object.values(this.env.global.stack))e.dispose();this.events&&server.kernel.emitt(this.events,'"'+this.cuid+'"',"Destroy"),delete this.data}},$k=class extends ti{constructor(e,t,i){super(),this.view=i,this.visibleValue=e,this.reference=t}eq(e){return!1}updateDOM(e,t){return console.log("update widget DOM"),e.EditorWidget.update(this.visibleValue),!0}toDOM(e){console.log("Create a new one!");const t=this;let i=document.createElement("span");return i.classList.add("frontend-view"),i.EditorWidget=new Gk(this.visibleValue,e,i),this.reference.push({destroy:()=>{t.destroy(i)}}),i}ignoreEvent(){return!0}destroy(e){console.log("destroy in general*"),e.EditorWidget.destroy()}};const zk=(e,t)=>new Qm({tag:"VB",decoration:i=>oi.replace({widget:new $k(i,e,t)})}),Vk=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=zk(this.disposable,e).createDeco(e)}update(e){this.placeholder=zk(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var Nk;function Wk(e){return Nk=e,[Xk]}let qk=class{constructor(e,t,i,o){this.view=t,this.visibleValue=e,this.args=Pm(e.str,/\(\*,\*\)/gm);const n=this;this.epilog={offset:0,string:""},this.prolog={offset:0,string:""};const a=this.args[1].body.slice(3,-3),r=Bk.DecompressDecode(a),s=Bk.toArray(r.parts[0]);this.data=s;let l={global:{call:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),element:i,origin:n},element:i};this.env=l,interpretate(s,l).then((()=>{if(l.options?.Head&&(n.prolog.offset=l.options.Head.length+1,n.prolog.string=l.options.Head+"[",n.epilog.offset=1,n.epilog.string="]"),l.options?.Event&&(console.warn("Event listeners are enabled!"),n.events=l.options.Event),l.options?.String){n.prolog.offset=1,n.prolog.string='"',n.epilog.offset=1,n.epilog.string='"',l.options?.HeadString&&(n.prolog.string=l.options.HeadString,n.prolog.offset=n.prolog.string.length),l.options?.TailString&&(n.epilog.string=l.options.TailString,n.epilog.offset=n.epilog.string.length),n.editor={destroy:()=>{console.log("Nothing to destroy, this is just a text field.")}};const e=document.createElement("span");return e.onkeydown=function(e){13===e.keyCode&&e.preventDefault()},e.contentEditable="plaintext-only",e.innerText=n.args[0].body.slice(1+n.prolog.offset,-1-n.epilog.offset),e.addEventListener("input",console.log),e.addEventListener("input",(()=>{console.log("Update"),console.log(e.innerText),this.applyChanges(e.innerText)})),l.global.element.appendChild(e),void(n.events&&server.kernel.emitt(n.events,"Null","Mounted"))}n.editor=Nk({doc:n.args[0].body.slice(1+n.prolog.offset,-1-n.epilog.offset),parent:l.global.element,update:e=>this.applyChanges(e),eval:()=>{t.viewState.state.config.eval()},extensions:[Nn.of([{key:"ArrowLeft",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return console.log(n.visibleValue.pos),t.dispatch({selection:{anchor:n.visibleValue.pos}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return console.log(n.visibleValue.pos),t.dispatch({selection:{anchor:n.visibleValue.pos+n.visibleValue.length}}),t.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}}])]}),n.events&&server.kernel.emitt(n.events,"Null","Mounted")}))}applyChanges(e,t){const i=this.args,o=this.visibleValue.argsPos,n="("+this.prolog.string+e+this.epilog.string+")",a={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:n},r=n.length-i[0].length;i[0].length=n.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:a})}update(e){this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}destroy(){if(console.warn("destroy Instance of Widget"),console.log(this),this.env.global.stack)for(const e of Object.values(this.env.global.stack))e.dispose();this.editor.destroy(),this.events&&server.kernel.emitt(this.events,"Null","Destroy"),delete this.data}},jk=class extends ti{constructor(e,t,i){super(),this.view=i,this.visibleValue=e,this.reference=t}eq(e){return!1}updateDOM(e,t){return console.log("update widget DOM"),this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}toDOM(e){console.log("Create a new one!");let t=document.createElement("span");t.classList.add("subscript-tail"),t.EditorWidget=new qk(this.visibleValue,e,t,[]);const i=this;return this.reference.push({destroy:()=>{i.destroy(t)}}),this.DOMElement=t,t}skipPosition(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.editor.focus();else{const e=this.DOMElement.EditorWidget.editor;e.dispatch({selection:{anchor:e.state.doc.length}}),e.focus()}return t}ignoreEvent(){return!0}destroy(e){e.EditorWidget.destroy()}};const _k=(e,t)=>new Qm({tag:"BB",decoration:i=>oi.replace({widget:new jk(i,e,t)})}),Xk=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=_k(this.disposable,e).createDeco(e)}update(e){this.placeholder=_k(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});var Zk;function Uk(e){return Zk=e,[Jk]}class Hk{constructor(e,t,i,o){this.view=t,this.visibleValue=e,this.args=Pm(e.str,/\(\*\|\*\)/gm);const n=this,a=Array.from({length:Math.ceil((n.args.length-3)/2)},((e,t)=>2*t+1));n.indexes=a;const r=[];for(let e=0;e{d.options?.Event&&(console.warn("Event listeners are enabled!"),n.events=d.options.Event),n.editors=a.map(((e,i)=>Zk({doc:n.args[e].body,parent:r[i],update:t=>this.applyChanges(t,e),eval:()=>{t.viewState.state.config.eval()},extensions:[Nn.of([{key:"ArrowLeft",run:function(e,o){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return i>0?n.editors[i-1].focus():(t.dispatch({selection:{anchor:n.visibleValue.pos}}),t.focus()),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,o){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return ie.destroy())),this.events&&server.kernel.emitt(this.events,"Null","Destroy"),delete this.data}}class Yk extends ti{constructor(e,t,i){super(),this.view=i,this.visibleValue=e,this.reference=t}eq(e){return!1}updateDOM(e,t){return this.DOMElement=e,console.log("update widget DOM"),e.EditorWidget.update(this.visibleValue),!0}toDOM(e){console.log("Create a new one!");let t=document.createElement("span");t.classList.add("inline-flex"),t.EditorWidget=new Hk(this.visibleValue,e,t,[]);const i=this;return this.DOMElement=t,this.reference.push({destroy:()=>{i.destroy(t)}}),t}skipPosition(e,t,i){if(t.from!=t.to||i)return e;const o=this.DOMElement.EditorWidget.editors;return e.from-t.from<0?(o[o.length-1].dispatch({selection:{anchor:o[o.length-1].state.doc.length}}),o[o.length-1].focus()):(o[0].dispatch({selection:{anchor:0}}),o[0].focus()),t}ignoreEvent(){return!0}destroy(e){e.EditorWidget.destroy()}}const Kk=(e,t)=>new Qm({tag:"TB",decoration:i=>oi.replace({widget:new Yk(i,e,t)})}),Jk=Qi.fromClass(class{constructor(e){this.disposable=[],this.placeholder=Kk(this.disposable,e).createDeco(e)}update(e){this.placeholder=Kk(this.disposable,e).updateDeco(e,this.placeholder)}destroy(){this.disposable.forEach((e=>{e.destroy()}))}},{decorations:e=>e.placeholder,provide:e=>Fn.atomicRanges.of((t=>{var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||oi.none}))});const ev=Qi.fromClass(class{decorations=oi.none;constructor(e){this.view=e,this.recompute()}recompute(e){let t,i,o=[];for(let{from:e,to:t}of this.view.visibleRanges)this.getDecorationsFor(e,t,o);this.decorations=oi.set(o,!0),this.decorations=this.decorations.update({filter:(o,n)=>!(o>t&&n=t&&n.selection.main.head<=i)return!0;if(!o&&n.selection.main.head>t&&n.selection.main.heade.decorations});class tv extends ti{constructor(e,t){super(),this.rawValue=e,this.visibleValue=t}eq(e){return this.rawValue===e.rawValue}toDOM(){let e=document.createElement("div");e.classList.add("cell-type-widget");const t=this.rawValue.split(" "),i=t[0].split(".");if(console.log(i),e.classList.add("cell-type-"+i[1].trim()),e.innerText=t[0].trim(),t.length>1){const o=t.slice(1),n=document.createElement("span");return n.appendChild(e),o.forEach((e=>{const t=document.createElement("span");t.innerText=e,t.classList.add("cell-type-"+i[1].trim()+"-"+e.split("=")[0]),n.appendChild(t)})),n}return e}ignoreEvent(){return!1}}const iv=new H,ov=new H,nv=[];window.EditorGlobalExtensions||(window.EditorGlobalExtensions=[]);const av=Ys.define([{tag:hs.meta,color:"var(--editor-key-meta)"},{tag:hs.link,textDecoration:"underline"},{tag:hs.heading,textDecoration:"underline",fontWeight:"bold"},{tag:hs.emphasis,fontStyle:"italic"},{tag:hs.strong,fontWeight:"bold"},{tag:hs.strikethrough,textDecoration:"line-through"},{tag:hs.keyword,color:"var(--editor-key-keyword)"},{tag:[hs.atom,hs.bool,hs.url,hs.contentSeparator,hs.labelName],color:"var(--editor-key-atom)"},{tag:[hs.literal,hs.inserted],color:"var(--editor-key-literal)"},{tag:[hs.string,hs.deleted],color:"var(--editor-key-string)"},{tag:[hs.regexp,hs.escape,hs.special(hs.string)],color:"var(--editor-key-escape)"},{tag:hs.definition(hs.variableName),color:"var(--editor-key-variable)"},{tag:hs.local(hs.variableName),color:"var(--editor-local-variable)"},{tag:[hs.typeName,hs.namespace],color:"var(--editor-key-type)"},{tag:hs.className,color:"var(--editor-key-class)"},{tag:[hs.special(hs.variableName),hs.macroName],color:"var(--editor-special-variable)"},{tag:hs.definition(hs.propertyName),color:"var(--editor-key-property)"},{tag:hs.comment,color:"var(--editor-key-comment)"},{tag:hs.invalid,color:"var(--editor-key-invalid)"}]);window.EditorAutocomplete=Xu,EditorAutocomplete.extend=e=>{window.EditorAutocomplete.push(...e),lm.reBuild(window.EditorAutocomplete)};const rv=Sl.define({name:"spreadsheet",startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var i=e.peek();switch(i){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string.special":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable":-1!=["[","]","(",")","{","}"].indexOf(i)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}),sv=new RegExp(/^[\w]*\.[\w]+/);function lv(e){const t=sv.exec(e),i=Object.values(window.SupportedLanguages);for(let e=0;e{if(!e.docChanged)return null;let t=lv(e.newDoc.line(1).text);return t.legacy?e.startState.facet(Qs).name==t.name?null:(console.log("switching... to "+t.name),{effects:iv.reconfigure(t.plugins)}):t.name===e.startState.facet(Qs).name?null:(console.log("switching... to "+t.name),{effects:iv.reconfigure(t.plugins)})}));let dv,cv=null;const hv=e=>{const t=e||dv;return t&&t.viewState?(console.log(),lv(t.state.doc.line(1).text).name):""},fv=e=>{const t=e||dv;if(!t)return"";if(!t.viewState)return"";const i=t.viewState.state.selection.ranges;if(!i.length)return!1;const o=i[0];return[o.from,o.to]},yv=e=>{const t=e||dv;return t&&t.viewState?t.state.doc.toString():""},uv=e=>{const t=e||dv;if(!t)return"";if(!t.viewState)return"";const i=t.viewState.state.selection.ranges;if(!i.length)return"";const o=i[0];return console.log("yoko"),console.log(o),console.log(t.state.doc.toString().slice(o.from,o.to)),console.log("processing"),t.state.doc.toString().slice(o.from,o.to)},mv=(e,t)=>{const i=t||dv;if(!i)return;if(!i.viewState)return;const o=i.viewState.state.selection.ranges;if(!o.length)return;const n=o[0];console.log("result"),console.log(e),i.dispatch({changes:{...n,insert:e}})},gv=()=>dv,bv=(e,t)=>{const i=t||dv;i&&i.viewState&&(console.log("result"),console.log(e),i.dispatch({changes:{from:0,to:i.viewState.state.doc.length,insert:e}}))};cv=e=>{let t=new Fn({doc:e.doc,extensions:[Nn.of([{key:"Enter",preventDefault:!0,run:function(e,t){return!0}}]),Nn.of([{key:"Shift-Enter",preventDefault:!0,run:function(t,i){return e.eval(),!0}}]),e.extensions||[],Sc,xv,lm.of(window.EditorAutocomplete),Rm(cv),Bm(cv),Nm(cv),Zm(cv),eg(cv),Ik(),Wk(cv),Uk(cv),yl(),fm,nv,Fn.updateListener.of((t=>{t.docChanged&&e.update(t.state.doc.toString()),t.selectionSet&&(dv=t.view)}))],parent:e.parent});return t.viewState.state.config.eval=e.eval,t};const wv={transaction:(e,t,i,o)=>{if(console.log(t.dom.ocellref),t.dom.ocellref){const e=t.dom.ocellref.origin.channel;server._emitt(e,`<|"Channel"->"${i}", "Length"->${o}, "CellType"->"wl"|>`,'Forwarded["CM:DropEvent"]')}},file:(e,t,i,o,n)=>{console.log(t.dom.ocellref),t.dom.ocellref&&server.emitt(i,`<|"Data"->"${n}", "Name"->"${o}"|>`,"File")}},kv={transaction:(e,t,i,o)=>{if(console.log(t.dom.ocellref),t.dom.ocellref){const e=t.dom.ocellref.origin.channel;server._emitt(e,`<|"Channel"->"${i}", "Length"->${o}, "CellType"->"wl"|>`,'Forwarded["CM:PasteEvent"]')}},file:(e,t,i,o,n)=>{console.log(t.dom.ocellref),t.dom.ocellref&&server.emitt(i,`<|"Data"->"${n}", "Name"->"${o}"|>`,"File")}};window.DropPasteHandlers=cm;const vv=[lm.of(window.EditorAutocomplete),Rm(cv),Bm(cv),Nm(cv),Zm(cv),eg(cv),Ik(),Wk(cv),Uk(cv),yl(),fm,nv,cm(wv,kv)];let Ov=Fn.theme({"&.cm-focused":{outline:"1px dashed var(--editor-outline)",background:"inherit"},".cm-line":{padding:0,"padding-left":"2px","align-items":"center"},".cm-activeLine":{"background-color":"transparent"}}),xv=Fn.theme({"&.cm-focused":{outline:"1px dashed var(--editor-outline)",background:"inherit"},".cm-line":{padding:0,"padding-left":"2px","align-items":"center"},".cm-activeLine":{"background-color":"transparent"},".cm-scroller":{"line-height":"inherit","overflow-x":"overlay","overflow-y":"overlay","align-items":"initial"},".cm-content":{padding:"0px 0"},".rainbow-bracket-red":{color:"var(--editor-bracket-1)"},".rainbow-bracket-orange":{color:"var(--editor-bracket-2)"},".rainbow-bracket-yellow":{color:"var(--editor-bracket-3)"},".rainbow-bracket-green":{color:"var(--editor-bracket-4)"},".rainbow-bracket-blue":{color:"var(--editor-bracket-5)"},".rainbow-bracket-indigo":{color:"var(--editor-bracket-6)"},".rainbow-bracket-violet":{color:"var(--editor-bracket-7)"},".rainbow-bracket-red > span":{color:"var(--editor-bracket-1-a)"},".rainbow-bracket-orange > span":{color:"var(--editor-bracket-2-a)"},".rainbow-bracket-yellow > span":{color:"var(--editor-bracket-3-a)"},".rainbow-bracket-green > span":{color:"var(--editor-bracket-4-a)"},".rainbow-bracket-blue > span":{color:"var(--editor-bracket-5-a)"},".rainbow-bracket-indigo > span":{color:"var(--editor-bracket-6-a)"},".rainbow-bracket-violet > span":{color:"var(--editor-bracket-7-a)"}}),Sv=!1;window.EditorEpilog||(window.EditorEpilog=[]),window.EditorExtensionsMinimal=[()=>wa(),()=>Yl(),()=>ta(),()=>ca(),()=>Xs(),()=>yl(),()=>Fn.lineWrapping,()=>vc(),()=>tl(av,{fallback:!1}),()=>gd()],window.EditorParameters={},window.EditorExtensions=[()=>wa(),()=>Yl(),()=>ta(),()=>ca(),()=>window.EditorParameters.gutter?function(e={}){return[_a.of(e),Ga(),Ua]}():[],()=>Xs(),()=>yl(),()=>Fn.lineWrapping,()=>vc(),()=>tl(av,{fallback:!1}),()=>gd(),()=>ev,()=>function(e){return Qi.fromClass(class{constructor(t){this.view=t,this.placeholder=oi.set([oi.widget({widget:new xa(e),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?oi.none:this.placeholder}},{decorations:e=>e.decorations})}("Type Wolfram Expression / .md / .html / .js"),(e,t)=>iv.of(t),()=>ov.of(xe.readOnly.of(!1)),()=>pv,(e,t)=>Nn.of([hd,{key:"Backspace",run:function(t,i){if(0===t.state.doc.length)return e.origin.remove(),!0}},{key:"ArrowLeft",run:function(e,t){e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,i){t?.editorLastCursor===t.state.selection.ranges[0].to&&e.origin.focusPrev(e.origin),t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,i){t?.editorLastCursor===t.state.selection.ranges[0].to&&e.origin.focusNext(e.origin),t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"Shift-Enter",preventDefault:!0,run:function(t,i){console.log(t.state.doc.toString()),e.origin.eval(t.state.doc.toString())}},...cd,...yp]),(e,t)=>Fn.updateListener.of((t=>{t.docChanged&&e.origin.save(t.state.doc.toString().replaceAll("\\\\","\\\\\\\\").replaceAll('\\"','\\\\"').replaceAll('"','\\"')),t.selectionSet&&(dv=t.view)})),()=>Ov];function Cv(e){return e.replace(/\\\\:[\da-f]{4}/gi,(function(e){return String.fromCharCode(parseInt(e.replace(/\\\\:/g,""),16))}))}core.ReadOnly=()=>"ReadOnly",core.EditorView=async(e,t)=>{const i=Cv(await interpretate(e[0],t)),o=await core._getRules(e,t);let n=()=>{},a=()=>{},r=i;const s=[];o.ReadOnly&&s.push(xe.readOnly.of(!0)),o.ForceUpdate&&(t.local.forceUpdate=o.ForceUpdate),o.Event&&(a=e=>{r=e,console.log("editor view emitt data: "+e),server.kernel.emitt(o.Event,'"'+e.replaceAll('\\"','\\\\"').replaceAll('"','\\"')+'"',"Input")},n=()=>{server.kernel.emitt(o.Event,'"'+r.replaceAll('\\"','\\\\"').replaceAll('"','\\"')+'"',"Evaluate")}),t.local?t.local.editor=cv({doc:i,parent:t.element,eval:n,update:a,extensions:s}):cv({doc:i,parent:t.element,eval:n,update:a,extensions:s}),t.element.style.verticalAlign="inherit"},core.StripOnInput=async()=>{},core.EditorView.update=async(e,t)=>{if(!t.local.editor)return;const i=Cv(await interpretate(e[0],t));console.log("editor view: dispatch"),t.local.forceUpdate?(t.local.editor.dispatch({changes:{from:0,to:t.local.editor.state.doc.length,insert:""}}),t.local.editor.dispatch({changes:{from:0,to:0,insert:i}})):t.local.editor.dispatch({changes:{from:0,to:t.local.editor.state.doc.length,insert:i}})},core.EditorView.destroy=async(e,t)=>{await interpretate(e[0],t),t.local&&t.local.editor&&t.local.editor.destroy()},core.PreviewCell=(e,t)=>{},window.SupportedLanguages.push({check:e=>null===e,legacy:!0,plugins:vv,name:"mathematica"}),window.SupportedLanguages.push({check:e=>null!=e[0].match(/\w+\.(wl|wls)$/),plugins:vv,legacy:!0,name:"mathematica"}),window.EditorMathematicaPlugins=vv,window.SupportedCells.codemirror={view:class{origin={};editor={};trash=[];forceFocusNext(){Sv=!0}setContent(e){if(console.warn("content mutation!"),!this.editor.viewState)return;const t=this.editor;console.log("result"),console.log(e),this.editor.dispatch({changes:{from:0,to:t.viewState.state.doc.length,insert:""}}),this.editor.dispatch({changes:{from:0,to:t.viewState.state.doc.length,insert:e}})}addDisposable(e){this.trash.push(e)}dispose(){this.editor.destroy()}readOnly(e){this.editor.dispatch({effects:ov.reconfigure(xe.readOnly.of(e))})}constructor(e,t){this.origin=e;const i=this.origin,o=lv(t).plugins,n=this,a=new Fn({doc:(r=t,r.replace(/\\:[\da-f]{4}/gi,(function(e){return String.fromCharCode(parseInt(e.replace(/\\:/g,""),16))}))),extensions:window.EditorExtensions.map((e=>e(n,o))),parent:this.origin.element});var r;return this.editor=a,this.editor.dom.ocellref=n,this.editor.viewState.state.config.eval=()=>{i.eval(this.editor.state.doc.toString())},Sv&&a.focus(),Sv=!1,window.EditorEpilog.forEach((e=>e(n,o))),this}}},window.javascriptLanguage=vh,window.javascript=Dh,window.markdownLanguage=$u,window.markdown=function(e={}){let{codeLanguages:t,defaultCodeLanguage:i,addKeymap:o=!0,base:{parser:n}=Gu}=e;if(!(n instanceof cf))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let a,r=e.extensions?[e.extensions]:[],s=[_u.support];i instanceof Rs?(s.push(i.support),a=i.language):i&&(a=i);let l=t||a?(p=t,d=a,e=>{if(e&&p){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof p?p(e):As.matchLanguageName(p,e,!0),t instanceof As)return t.support?t.support.language.parser:xs.getSkippingParser(t.load());if(t)return t.parser}return d?d.parser:null}):void 0;var p,d;return r.push(function(e){let{codeParser:t,htmlParser:i}=e,o=Tr(((e,o)=>{let n=e.type.id;if(!t||n!=Mh.CodeBlock&&n!=Mh.FencedCode){if(i&&(n==Mh.HTMLBlock||n==Mh.HTMLTag))return{parser:i,overlay:$f(e.node,e.from,e.to)}}else{let i="";if(n==Mh.FencedCode){let t=e.node.getChild(Mh.CodeInfo);t&&(i=o.read(t.from,t.to))}let a=t(i);if(a)return{parser:a,overlay:e=>e.type.id==Mh.CodeText}}return null}));return{wrap:o}}({codeParser:l,htmlParser:_u.language.parser})),o&&s.push(Z.high(Nn.of(ju))),new Rs(Iu(n.configure(r)),s)},window.htmlLanguage=Du,window.html=Tu,window.cssLanguage=nu,window.css=au,window.EditorView=Fn,window.highlightSpecialChars=wa,window.EditorState=xe,window.syntaxHighlighting=tl,window.defaultHighlightStyle=av,window.editorCustomTheme=Ov,window.OfflineMode&&nv.push(window.EditorState.readOnly.of(!0));const Pv={};core.FrontEditorSelected=async(e,t)=>{console.log("check");const i=await interpretate(e[0],t),o=await core._getRules(e,t);let n;switch(o.Editor&&(n=Pv[o.Editor],console.log("Editor"),console.log(o.Editor),console.log(n)),i){case"Get":return uv(n);case"Set":let i=await interpretate(e[1],t);mv(i,n);break;case"GetDoc":return yv(n);case"SetDoc":let o=await interpretate(e[1],t);bv(o,n);break;case"Cursor":return fv(n);case"Type":return hv(n);case"Editor":const a="10000000-1000-4000-8000-100000000000".replace(/[018]/g,(e=>(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16)));return Pv[a]=gv(),a}}; +class t{constructor(){}lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,n){let s=[];return this.decompose(0,t,s,2),n.length&&n.decompose(0,n.length,s,3),this.decompose(e,this.length,s,1),i.from(s,this.length-(e-t)+n.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){let n=[];return this.decompose(t,e,n,0),i.from(n,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),n=new r(this),s=new r(t);for(let t=e,r=e;;){if(n.next(t),s.next(t),t=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(r+=n.value.length,n.done||r>=i)return!0}}iter(t=1){return new r(this,t)}iterRange(t,e=this.length){return new o(this,t,e)}iterLines(t,e){let i;if(null==t)i=this.iter();else{null==e&&(e=this.lines+1);let n=this.line(t).from;i=this.iterRange(n,Math.max(n,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new a(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}static of(n){if(0==n.length)throw new RangeError("A document must have at least one line");return 1!=n.length||n[0]?n.length<=32?new e(n):i.from(e.split(n,[])):t.empty}}class e extends t{constructor(t,e=function(t){let e=-1;for(let i of t)e+=i.length+1;return e}(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(t,e,i,n){for(let s=0;;s++){let r=this.text[s],o=n+r.length;if((e?i:o)>=t)return new l(n,o,i,r);n=o+1,i++}}decompose(t,i,r,o){let a=t<=0&&i>=this.length?this:new e(s(this.text,t,i),Math.min(i,this.length)-Math.max(0,t));if(1&o){let t=r.pop(),i=n(a.text,t.text.slice(),0,a.length);if(i.length<=32)r.push(new e(i,t.length+a.length));else{let t=i.length>>1;r.push(new e(i.slice(0,t)),new e(i.slice(t)))}}else r.push(a)}replace(t,r,o){if(!(o instanceof e))return super.replace(t,r,o);let a=n(this.text,n(o.text,s(this.text,0,t)),r),l=this.length+o.length-(r-t);return a.length<=32?new e(a,l):i.from(e.split(a,[]),l)}sliceString(t,e=this.length,i="\n"){let n="";for(let s=0,r=0;s<=e&&rt&&r&&(n+=i),ts&&(n+=o.slice(Math.max(0,t-s),e-s)),s=a+1}return n}flatten(t){for(let e of this.text)t.push(e)}scanIdentical(){return 0}static split(t,i){let n=[],s=-1;for(let r of t)n.push(r),s+=r.length+1,32==n.length&&(i.push(new e(n,s)),n=[],s=-1);return s>-1&&i.push(new e(n,s)),i}}class i extends t{constructor(t,e){super(),this.children=t,this.length=e,this.lines=0;for(let e of t)this.lines+=e.lines}lineInner(t,e,i,n){for(let s=0;;s++){let r=this.children[s],o=n+r.length,a=i+r.lines-1;if((e?a:o)>=t)return r.lineInner(t,e,i,n);n=o+1,i=a+1}}decompose(t,e,i,n){for(let s=0,r=0;r<=e&&s=r){let s=n&((r<=t?1:0)|(a>=e?2:0));r>=t&&a<=e&&!s?i.push(o):o.decompose(t-r,e-r,i,s)}r=a+1}}replace(t,e,n){if(n.lines=r&&e<=a){let l=o.replace(t-r,e-r,n),h=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>h>>6){let r=this.children.slice();return r[s]=l,new i(r,this.length-(e-t)+n.length)}return super.replace(r,a,l)}r=a+1}return super.replace(t,e,n)}sliceString(t,e=this.length,i="\n"){let n="";for(let s=0,r=0;st&&s&&(n+=i),tr&&(n+=o.sliceString(t-r,e-r,i)),r=a+1}return n}flatten(t){for(let e of this.children)e.flatten(t)}scanIdentical(t,e){if(!(t instanceof i))return 0;let n=0,[s,r,o,a]=e>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;s+=e,r+=e){if(s==o||r==a)return n;let i=this.children[s],l=t.children[r];if(i!=l)return n+i.scanIdentical(l,e);n+=i.length+1}}static from(t,n=t.reduce(((t,e)=>t+e.length+1),-1)){let s=0;for(let e of t)s+=e.lines;if(s<32){let i=[];for(let e of t)e.flatten(i);return new e(i,n)}let r=Math.max(32,s>>5),o=r<<1,a=r>>1,l=[],h=0,c=-1,u=[];function d(t){let n;if(t.lines>o&&t instanceof i)for(let e of t.children)d(e);else t.lines>a&&(h>a||!h)?(f(),l.push(t)):t instanceof e&&h&&(n=u[u.length-1])instanceof e&&t.lines+n.lines<=32?(h+=t.lines,c+=t.length+1,u[u.length-1]=new e(n.text.concat(t.text),n.length+1+t.length)):(h+t.lines>r&&f(),h+=t.lines,c+=t.length+1,u.push(t))}function f(){0!=h&&(l.push(1==u.length?u[0]:i.from(u,c)),c=-1,h=u.length=0)}for(let e of t)d(e);return f(),1==l.length?l[0]:new i(l,n)}}function n(t,e,i=0,n=1e9){for(let s=0,r=0,o=!0;r=i&&(l>n&&(a=a.slice(0,n-s)),s0?1:(t instanceof e?t.text.length:t.children.length)<<1]}nextInner(t,i){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,s=this.nodes[n],r=this.offsets[n],o=r>>1,a=s instanceof e?s.text.length:s.children.length;if(o==(i>0?a:0)){if(0==n)return this.done=!0,this.value="",this;i>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&r)==(i>0?0:1)){if(this.offsets[n]+=i,0==t)return this.lineBreak=!0,this.value="\n",this;t--}else if(s instanceof e){let e=s.text[o+(i<0?-1:0)];if(this.offsets[n]+=i,e.length>Math.max(0,t))return this.value=0==t?e:i>0?e.slice(t):e.slice(0,e.length-t),this;t-=e.length}else{let r=s.children[o+(i<0?-1:0)];t>r.length?(t-=r.length,this.offsets[n]+=i):(i<0&&this.offsets[n]--,this.nodes.push(r),this.offsets.push(i>0?1:(r instanceof e?r.text.length:r.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class o{constructor(t,e,i){this.value="",this.done=!1,this.cursor=new r(t,e>i?-1:1),this.pos=e>i?t.length:0,this.from=Math.min(e,i),this.to=Math.max(e,i)}nextInner(t,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let i=e<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:n}=this.cursor.next(t);return this.pos+=(n.length+t)*e,this.value=n.length<=i?n:e<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class a{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:e,lineBreak:i,value:n}=this.inner.next(t);return e?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(t.prototype[Symbol.iterator]=function(){return this.iter()},r.prototype[Symbol.iterator]=o.prototype[Symbol.iterator]=a.prototype[Symbol.iterator]=function(){return this});let l=class{constructor(t,e,i,n){this.from=t,this.to=e,this.number=i,this.text=n}get length(){return this.to-this.from}},h="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((t=>t?parseInt(t,36):1));for(let t=1;tt)return h[e-1]<=t;return!1}function u(t){return t>=127462&&t<=127487}const d=8205;function f(t,e,i=!0,n=!0){return(i?p:O)(t,e,n)}function p(t,e,i){if(e==t.length)return e;e&&g(t.charCodeAt(e))&&m(t.charCodeAt(e-1))&&e--;let n=b(t,e);for(e+=v(n);e=0&&u(b(t,n));)i++,n-=2;if(i%2==0)break;e+=2}}}return e}function O(t,e,i){for(;e>0;){let n=p(t,e-2,i);if(n=56320&&t<57344}function m(t){return t>=55296&&t<56320}function b(t,e){let i=t.charCodeAt(e);if(!m(i)||e+1==t.length)return i;let n=t.charCodeAt(e+1);return g(n)?n-56320+(i-55296<<10)+65536:i}function w(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function v(t){return t<65536?1:2}const S=/\r\n?|\n/;var y=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(y||(y={}));class x{constructor(t){this.sections=t}get length(){let t=0;for(let e=0;et)return s+(t-n);s+=o}else{if(i!=y.Simple&&l>=t&&(i==y.TrackDel&&nt||i==y.TrackBefore&&nt))return null;if(l>t||l==t&&e<0&&!o)return t==n||e<0?s:s+a;s+=a}n=l}if(t>n)throw new RangeError(`Position ${t} is out of range for changeset of length ${n}`);return s}touchesRange(t,e=t){for(let i=0,n=0;i=0&&n<=e&&s>=t)return!(ne)||"cover";n=s}return!1}toString(){let t="";for(let e=0;e=0?":"+n:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some((t=>"number"!=typeof t)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(t)}static create(t){return new x(t)}}class k extends x{constructor(t,e){super(t),this.inserted=e}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return P(this,((e,i,n,s,r)=>t=t.replace(n,n+(i-e),r)),!1),t}mapDesc(t,e=!1){return C(this,t,e,!0)}invert(e){let i=this.sections.slice(),n=[];for(let s=0,r=0;s=0){i[s]=a,i[s+1]=o;let l=s>>1;for(;n.length0&&$(i,e,s.text),s.forward(t),o+=t}let l=t[r++];for(;o>1].toJSON()))}return t}static of(e,i,n){let s=[],r=[],o=0,a=null;function l(t=!1){if(!t&&!s.length)return;oa||e<0||a>i)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${i})`);let u=c?"string"==typeof c?t.of(c.split(n||S)):c:t.empty,d=u.length;if(e==a&&0==d)return;eo&&Q(s,e-o,-1),Q(s,a-e,d),$(r,s,u),o=a}}(e),l(!a),a}static empty(t){return new k(t?[t,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],n=[];for(let s=0;se&&"string"!=typeof t)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==r.length)i.push(r[0],0);else{for(;n.length=0&&i<=0&&i==t[s+1]?t[s]+=e:0==e&&0==t[s]?t[s+1]+=i:n?(t[s]+=e,t[s+1]+=i):t.push(e,i)}function $(e,i,n){if(0==n.length)return;let s=i.length-2>>1;if(s>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)l=e.sections[a++],h=e.sections[a++];i(r,c,o,u,d),r=c,o=u}}}function C(t,e,i,n=!1){let s=[],r=n?[]:null,o=new X(t),a=new X(e);for(let t=-1;;)if(-1==o.ins&&-1==a.ins){let t=Math.min(o.len,a.len);Q(s,t,-1),o.forward(t),a.forward(t)}else if(a.ins>=0&&(o.ins<0||t==o.i||0==o.off&&(a.len=0&&t=0)){if(o.done&&a.done)return r?k.createSet(s,r):x.create(s);throw new Error("Mismatched change set lengths")}{let e=0,i=o.len;for(;i;)if(-1==a.ins){let t=Math.min(i,a.len);e+=t,i-=t,a.forward(t)}else{if(!(0==a.ins&&a.lene||o.ins>=0&&o.len>e)&&(t||n.length>i),r.forward2(e),o.forward(e)}}else Q(n,0,o.ins,t),s&&$(s,n,o.text),o.next()}}class X{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i>1;return i>=e.length?t.empty:e[i]}textBit(e){let{inserted:i}=this.set,n=this.i-2>>1;return n>=i.length&&!e?t.empty:i[n].slice(this.off,null==e?void 0:this.off+e)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class Z{constructor(t,e,i){this.from=t,this.to=e,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){let t=3&this.flags;return 3==t?null:t}get goalColumn(){let t=this.flags>>5;return 33554431==t?void 0:t}map(t,e=-1){let i,n;return this.empty?i=n=t.mapPos(this.from,e):(i=t.mapPos(this.from,1),n=t.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new Z(i,n,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return A.range(t,e);let i=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return A.range(this.anchor,i)}eq(t){return this.anchor==t.anchor&&this.head==t.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid JSON representation for SelectionRange");return A.range(t.anchor,t.head)}static create(t,e,i){return new Z(t,e,i)}}class A{constructor(t,e){this.ranges=t,this.mainIndex=e}map(t,e=-1){return t.empty?this:A.create(this.ranges.map((i=>i.map(t,e))),this.mainIndex)}eq(t){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let e=0;et.toJSON())),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new A(t.ranges.map((t=>Z.fromJSON(t))),t.main)}static single(t,e=t){return new A([A.range(t,e)],0)}static create(t,e=0){if(0==t.length)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;nt?4:0)|s)}static normalized(t,e=0){let i=t[e];t.sort(((t,e)=>t.from-e.from)),e=t.indexOf(i);for(let i=1;in.head?A.range(o,r):A.range(r,o))}}return new A(t,e)}}function T(t,e){for(let i of t.ranges)if(i.to>e)throw new RangeError("Selection points outside of document")}let R=0;class E{constructor(t,e,i,n,s){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.id=R++,this.default=t([]),this.extensions="function"==typeof s?s(this):s}static define(t={}){return new E(t.combine||(t=>t),t.compareInput||((t,e)=>t===e),t.compare||(t.combine?(t,e)=>t===e:V),!!t.static,t.enables)}of(t){return new M([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new M(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new M(t,this,2,e)}from(t,e){return e||(e=t=>t),this.compute([t],(i=>e(i.field(t))))}}function V(t,e){return t==e||t.length==e.length&&t.every(((t,i)=>t===e[i]))}class M{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=R++}dynamicSlot(t){var e;let i=this.value,n=this.facet.compareInput,s=this.id,r=t[s]>>1,o=2==this.type,a=!1,l=!1,h=[];for(let i of this.dependencies)"doc"==i?a=!0:"selection"==i?l=!0:0==(1&(null!==(e=t[i.id])&&void 0!==e?e:1))&&h.push(t[i.id]);return{create:t=>(t.values[r]=i(t),1),update(t,e){if(a&&e.docChanged||l&&(e.docChanged||e.selection)||W(t,h)){let e=i(t);if(o?!D(e,t.values[r],n):!n(e,t.values[r]))return t.values[r]=e,1}return 0},reconfigure:(t,e)=>{let a,l=e.config.address[s];if(null!=l){let s=tt(e,l);if(this.dependencies.every((i=>i instanceof E?e.facet(i)===t.facet(i):!(i instanceof q)||e.field(i,!1)==t.field(i,!1)))||(o?D(a=i(t),s,n):n(a=i(t),s)))return t.values[r]=s,0}else a=i(t);return t.values[r]=a,1}}}}function D(t,e,i){if(t.length!=e.length)return!1;for(let n=0;nt[e.id])),s=i.map((t=>t.type)),r=n.filter((t=>!(1&t))),o=t[e.id]>>1;function a(t){let i=[];for(let e=0;et===e),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(Y).find((t=>t.field==this));return((null==e?void 0:e.create)||this.createF)(t)}slot(t){let e=t[this.id]>>1;return{create:t=>(t.values[e]=this.create(t),1),update:(t,i)=>{let n=t.values[e],s=this.updateF(n,i);return this.compareF(n,s)?0:(t.values[e]=s,1)},reconfigure:(t,i)=>null!=i.config.address[this.id]?(t.values[e]=i.field(this),0):(t.values[e]=this.create(t),1)}}init(t){return[this,Y.of({field:this,create:t})]}get extension(){return this}}const L=4,z=3,I=2,B=1;function j(t){return e=>new G(e,t)}const N={highest:j(0),high:j(B),default:j(I),low:j(z),lowest:j(L)};class G{constructor(t,e){this.inner=t,this.prec=e}}class F{of(t){return new H(this,t)}reconfigure(t){return F.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class H{constructor(t,e){this.compartment=t,this.inner=e}}class J{constructor(t,e,i,n,s,r){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=s,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,e,i){let n=[],s=Object.create(null),r=new Map;for(let i of function(t,e,i){let n=[[],[],[],[],[]],s=new Map;function r(t,o){let a=s.get(t);if(null!=a){if(a<=o)return;let e=n[a].indexOf(t);e>-1&&n[a].splice(e,1),t instanceof H&&i.delete(t.compartment)}if(s.set(t,o),Array.isArray(t))for(let e of t)r(e,o);else if(t instanceof H){if(i.has(t.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=e.get(t.compartment)||t.inner;i.set(t.compartment,n),r(n,o)}else if(t instanceof G)r(t.inner,t.prec);else if(t instanceof q)n[o].push(t),t.provides&&r(t.provides,o);else if(t instanceof M)n[o].push(t),t.facet.extensions&&r(t.facet.extensions,I);else{let e=t.extension;if(!e)throw new Error(`Unrecognized extension value in extension set (${t}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(e,o)}}return r(t,I),n.reduce(((t,e)=>t.concat(e)))}(t,e,r))i instanceof q?n.push(i):(s[i.facet.id]||(s[i.facet.id]=[])).push(i);let o=Object.create(null),a=[],l=[];for(let t of n)o[t.id]=l.length<<1,l.push((e=>t.slot(e)));let h=null==i?void 0:i.config.facets;for(let t in s){let e=s[t],n=e[0].facet,r=h&&h[t]||[];if(e.every((t=>0==t.type)))if(o[n.id]=a.length<<1|1,V(r,e))a.push(i.facet(n));else{let t=n.combine(e.map((t=>t.value)));a.push(i&&n.compare(t,i.facet(n))?i.facet(n):t)}else{for(let t of e)0==t.type?(o[t.id]=a.length<<1|1,a.push(t.value)):(o[t.id]=l.length<<1,l.push((e=>t.dynamicSlot(e))));o[n.id]=l.length<<1,l.push((t=>U(t,n,e)))}}let c=l.map((t=>t(o)));return new J(t,r,c,o,a,s)}}function K(t,e){if(1&e)return 2;let i=e>>1,n=t.status[i];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;t.status[i]=4;let s=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|s}function tt(t,e){return 1&e?t.config.staticValues[e>>1]:t.values[e>>1]}const et=E.define(),it=E.define({combine:t=>t.some((t=>t)),static:!0}),nt=E.define({combine:t=>t.length?t[0]:void 0,static:!0}),st=E.define(),rt=E.define(),ot=E.define(),at=E.define({combine:t=>!!t.length&&t[0]});class lt{constructor(t,e){this.type=t,this.value=e}static define(){return new ht}}class ht{of(t){return new lt(this,t)}}class ct{constructor(t){this.map=t}of(t){return new ut(this,t)}}class ut{constructor(t,e){this.type=t,this.value=e}map(t){let e=this.type.map(this.value,t);return void 0===e?void 0:e==this.value?this:new ut(this.type,e)}is(t){return this.type==t}static define(t={}){return new ct(t.map||(t=>t))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(let n of t){let t=n.map(e);t&&i.push(t)}return i}}ut.reconfigure=ut.define(),ut.appendConfig=ut.define();class dt{constructor(t,e,i,n,s,r){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=s,this.scrollIntoView=r,this._doc=null,this._state=null,i&&T(i,e.newLength),s.some((t=>t.type==dt.time))||(this.annotations=s.concat(dt.time.of(Date.now())))}static create(t,e,i,n,s,r){return new dt(t,e,i,n,s,r)}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(t){for(let e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let e=this.annotation(dt.userEvent);return!(!e||!(e==t||e.length>t.length&&e.slice(0,t.length)==t&&"."==e[t.length]))}}function ft(t,e){let i=[];for(let n=0,s=0;;){let r,o;if(n=t[n]))r=t[n++],o=t[n++];else{if(!(s=0;s--){let r=i[s](t);r&&Object.keys(r).length&&(n=pt(n,Ot(e,r,t.changes.newLength),!0))}return n==t?t:dt.create(e,t.changes,t.selection,n.effects,n.annotations,n.scrollIntoView)}(i?function(t){let e=t.startState,i=!0;for(let n of e.facet(st)){let e=n(t);if(!1===e){i=!1;break}Array.isArray(e)&&(i=!0===i?e:ft(i,e))}if(!0!==i){let n,s;if(!1===i)s=t.changes.invertedDesc,n=k.empty(e.doc.length);else{let e=t.changes.filter(i);n=e.changes,s=e.filtered.mapDesc(e.changes).invertedDesc}t=dt.create(e,n,t.selection&&t.selection.map(s),ut.mapEffects(t.effects,s),t.annotations,t.scrollIntoView)}let n=e.facet(rt);for(let i=n.length-1;i>=0;i--){let s=n[i](t);t=s instanceof dt?s:Array.isArray(s)&&1==s.length&&s[0]instanceof dt?s[0]:gt(e,bt(s),!1)}return t}(s):s)}dt.time=lt.define(),dt.userEvent=lt.define(),dt.addToHistory=lt.define(),dt.remote=lt.define();const mt=[];function bt(t){return null==t?mt:Array.isArray(t)?t:[t]}var wt=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(wt||(wt={}));const vt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let St;try{St=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(t){}function yt(t){return e=>{if(!/\S/.test(e))return wt.Space;if(function(t){if(St)return St.test(t);for(let e=0;e"€"&&(i.toUpperCase()!=i.toLowerCase()||vt.test(i)))return!0}return!1}(e))return wt.Word;for(let i=0;i-1)return wt.Word;return wt.Other}}class xt{constructor(t,e,i,n,s,r){this.config=t,this.doc=e,this.selection=i,this.values=n,this.status=t.statusTemplate.slice(),this.computeSlot=s,r&&(r._state=this);for(let t=0;ts.set(e,t))),i=null),s.set(e.value.compartment,e.value.extension)):e.is(ut.reconfigure)?(i=null,n=e.value):e.is(ut.appendConfig)&&(i=null,n=bt(n).concat(e.value));if(i)e=t.startState.values.slice();else{i=J.resolve(n,s,this),e=new xt(i,this.doc,this.selection,i.dynamicSlots.map((()=>null)),((t,e)=>e.reconfigure(t,this)),null).values}new xt(i,t.newDoc,t.newSelection,e,((e,i)=>i.update(e,t)),t)}replaceSelection(t){return"string"==typeof t&&(t=this.toText(t)),this.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:t},range:A.cursor(e.from+t.length)})))}changeByRange(t){let e=this.selection,i=t(e.ranges[0]),n=this.changes(i.changes),s=[i.range],r=bt(i.effects);for(let i=1;is.spec.fromJSON(r,t))))}return xt.create({doc:t.doc,selection:A.fromJSON(t.selection),extensions:e.extensions?n.concat([e.extensions]):n})}static create(e={}){let i=J.resolve(e.extensions||[],new Map),n=e.doc instanceof t?e.doc:t.of((e.doc||"").split(i.staticFacet(xt.lineSeparator)||S)),s=e.selection?e.selection instanceof A?e.selection:A.single(e.selection.anchor,e.selection.head):A.single(0);return T(s,n.length),i.staticFacet(it)||(s=s.asSingle()),new xt(i,n,s,i.dynamicSlots.map((()=>null)),((t,e)=>e.create(t)),null)}get tabSize(){return this.facet(xt.tabSize)}get lineBreak(){return this.facet(xt.lineSeparator)||"\n"}get readOnly(){return this.facet(at)}phrase(t,...e){for(let e of this.facet(xt.phrases))if(Object.prototype.hasOwnProperty.call(e,t)){t=e[t];break}return e.length&&(t=t.replace(/\$(\$|\d*)/g,((t,i)=>{if("$"==i)return"$";let n=+(i||1);return!n||n>e.length?t:e[n-1]}))),t}languageDataAt(t,e,i=-1){let n=[];for(let s of this.facet(et))for(let r of s(this,e,i))Object.prototype.hasOwnProperty.call(r,t)&&n.push(r[t]);return n}charCategorizer(t){return yt(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),s=this.charCategorizer(t),r=t-i,o=t-i;for(;r>0;){let t=f(e,r,!1);if(s(e.slice(t,r))!=wt.Word)break;r=t}for(;ot.length?t[0]:4}),xt.lineSeparator=nt,xt.readOnly=at,xt.phrases=E.define({compare(t,e){let i=Object.keys(t),n=Object.keys(e);return i.length==n.length&&i.every((i=>t[i]==e[i]))}}),xt.languageData=et,xt.changeFilter=st,xt.transactionFilter=rt,xt.transactionExtender=ot,F.reconfigure=ut.define();class Qt{eq(t){return this==t}range(t,e=t){return $t.create(t,e,this)}}Qt.prototype.startSide=Qt.prototype.endSide=0,Qt.prototype.point=!1,Qt.prototype.mapMode=y.TrackDel;let $t=class t{constructor(t,e,i){this.from=t,this.to=e,this.value=i}static create(e,i,n){return new t(e,i,n)}};function Pt(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Ct{constructor(t,e,i,n){this.from=t,this.to=e,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(t,e,i,n=0){let s=i?this.to:this.from;for(let r=n,o=s.length;;){if(r==o)return r;let n=r+o>>1,a=s[n]-t||(i?this.value[n].endSide:this.value[n].startSide)-e;if(n==r)return a>=0?r:o;a>=0?o=n:r=n+1}}between(t,e,i,n){for(let s=this.findIndex(e,-1e9,!0),r=this.findIndex(i,1e9,!1,s);sh||l==h&&c.startSide>0&&c.endSide<=0)continue;(h-l||c.endSide-c.startSide)<0||(r<0&&(r=l),c.point&&(o=Math.max(o,h-l)),i.push(c),n.push(l-r),s.push(h-r))}return{mapped:i.length?new Ct(n,s,i,o):null,pos:r}}}class _t{constructor(t,e,i,n){this.chunkPos=t,this.chunk=e,this.nextLayer=i,this.maxPoint=n}static create(t,e,i,n){return new _t(t,e,i,n)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let e of this.chunk)t+=e.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:e=[],sort:i=!1,filterFrom:n=0,filterTo:s=this.length}=t,r=t.filter;if(0==e.length&&!r)return this;if(i&&(e=e.slice().sort(Pt)),this.isEmpty)return e.length?_t.of(e):this;let o=new At(this,null,-1).goto(0),a=0,l=[],h=new Xt;for(;o.value||a=0){let t=e[a++];h.addInner(t.from,t.to,t.value)||l.push(t)}else 1==o.rangeIndex&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||so.to||s=s&&t<=s+r.length&&!1===r.between(s,t-s,e-s,i))return}this.nextLayer.between(t,e,i)}}iter(t=0){return Tt.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,e=0){return Tt.from(t).goto(e)}static compare(t,e,i,n,s=-1){let r=t.filter((t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=s)),o=e.filter((t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=s)),a=Zt(r,o,i),l=new Et(r,a,s),h=new Et(o,a,s);i.iterGaps(((t,e,i)=>Vt(l,t,h,e,i,n))),i.empty&&0==i.length&&Vt(l,0,h,0,0,n)}static eq(t,e,i=0,n){null==n&&(n=999999999);let s=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0)),r=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0));if(s.length!=r.length)return!1;if(!s.length)return!0;let o=Zt(s,r),a=new Et(s,o,0).goto(i),l=new Et(r,o,0).goto(i);for(;;){if(a.to!=l.to||!Mt(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>n)return!0;a.next(),l.next()}}static spans(t,e,i,n,s=-1){let r=new Et(t,null,s).goto(e),o=e,a=r.openStart;for(;;){let t=Math.min(r.to,i);if(r.point){let i=r.activeForPoint(r.to),s=r.pointFromo&&(n.span(o,t,r.active,a),a=r.openEnd(t));if(r.to>i)return a+(r.point&&r.to>i?1:0);o=r.to,r.next()}}static of(t,e=!1){let i=new Xt;for(let n of t instanceof $t?[t]:e?function(t){if(t.length>1)for(let e=t[0],i=1;i0)return t.slice().sort(Pt);e=n}return t}(t):t)i.add(n.from,n.to,n.value);return i.finish()}}_t.empty=new _t([],[],null,-1),_t.empty.nextLayer=_t.empty;class Xt{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}finishChunk(t){this.chunks.push(new Ct(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,t&&(this.from=[],this.to=[],this.value=[])}add(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new Xt)).add(t,e,i)}addInner(t,e,i){let n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);let i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(_t.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;let e=_t.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,e}}function Zt(t,e,i){let n=new Map;for(let e of t)for(let t=0;t=this.minPoint)break}}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&n.push(new At(r,e,i,s));return 1==n.length?n[0]:new Tt(n)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(let i of this.heap)i.goto(t,e);for(let t=this.heap.length>>1;t>=0;t--)Rt(this.heap,t);return this.next(),this}forward(t,e){for(let i of this.heap)i.forward(t,e);for(let t=this.heap.length>>1;t>=0;t--)Rt(this.heap,t);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Rt(this.heap,0)}}}function Rt(t,e){for(let i=t[e];;){let n=1+(e<<1);if(n>=t.length)break;let s=t[n];if(n+1=0&&(s=t[n+1],n++),i.compare(s)<0)break;t[n]=i,t[e]=s,e=n}}class Et{constructor(t,e,i){this.minPoint=i,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=Tt.from(t,e,i)}goto(t,e=-1e9){return this.cursor.goto(t,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=e,this.openStart=-1,this.next(),this}forward(t,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(t,e)}removeActive(t){Dt(this.active,t),Dt(this.activeTo,t),Dt(this.activeRank,t),this.minActive=Ut(this.active,this.activeTo)}addActive(t){let e=0,{value:i,to:n,rank:s}=this.cursor;for(;e-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>t){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&Dt(i,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let t=this.cursor.value;if(t.point){if(!(e&&this.cursor.to==this.to&&this.cursor.from=0&&i[e]=0&&!(this.activeRank[i]t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&e.push(this.active[i]);return e.reverse()}openEnd(t){let e=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)e++;return e}}function Vt(t,e,i,n,s,r){t.goto(e),i.goto(n);let o=n+s,a=n,l=n-e;for(;;){let e=t.to+l-i.to||t.endSide-i.endSide,n=e<0?t.to+l:i.to,s=Math.min(n,o);if(t.point||i.point?t.point&&i.point&&(t.point==i.point||t.point.eq(i.point))&&Mt(t.activeForPoint(t.to+l),i.activeForPoint(i.to))||r.comparePoint(a,s,t.point,i.point):s>a&&!Mt(t.active,i.active)&&r.compareRange(a,s,t.active,i.active),n>o)break;a=n,e<=0&&t.next(),e>=0&&i.next()}}function Mt(t,e){if(t.length!=e.length)return!1;for(let i=0;i=e;i--)t[i+1]=t[i];t[e]=i}function Ut(t,e){let i=-1,n=1e9;for(let s=0;st.map((t=>e.replace(/&/,t))))).reduce(((t,e)=>t.concat(e))),o,r);else if(o&&"object"==typeof o){if(!l)throw new RangeError("The value of a property ("+i+") should be a primitive value.");s(n(i),o,a,h)}else null!=o&&a.push(i.replace(/_.*/,"").replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))+": "+o+";")}(a.length||h)&&r.push((!i||l||o?t:t.map(i)).join(", ")+" {"+a.join(" ")+"}")}for(let e in t)s(n(e),t[e],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let t=zt[qt]||1;return zt[qt]=t+1,"ͼ"+t.toString(36)}static mount(t,e){(t[Lt]||new jt(t)).mount(Array.isArray(e)?e:[e])}}let Bt=new Map;class jt{constructor(t){let e=t.ownerDocument||t,i=e.defaultView;if(!t.head&&t.adoptedStyleSheets&&i.CSSStyleSheet){let n=Bt.get(e);if(n)return t.adoptedStyleSheets=[n.sheet,...t.adoptedStyleSheets],t[Lt]=n;this.sheet=new i.CSSStyleSheet,t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets],Bt.set(e,this)}else{this.styleTag=e.createElement("style");let i=t.head||t;i.insertBefore(this.styleTag,i.firstChild)}this.modules=[],t[Lt]=this}mount(t){let e=this.sheet,i=0,n=0;for(let s=0;s-1&&(this.modules.splice(o,1),n--,o=-1),-1==o){if(this.modules.splice(n++,0,r),e)for(let t=0;t",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ft="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),Ht="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Jt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Kt=Ht||Ft&&+Ft[1]<57,te=0;te<10;te++)Nt[48+te]=Nt[96+te]=String(te);for(te=1;te<=24;te++)Nt[te+111]="F"+te;for(te=65;te<=90;te++)Nt[te]=String.fromCharCode(te+32),Gt[te]=String.fromCharCode(te);for(var ee in Nt)Gt.hasOwnProperty(ee)||(Gt[ee]=Nt[ee]);function ie(t){let e;return e=11==t.nodeType?t.getSelection?t:t.ownerDocument:t,e.getSelection()}function ne(t,e){return!!e&&(t==e||t.contains(1!=e.nodeType?e.parentNode:e))}function se(t,e){if(!e.anchorNode)return!1;try{return ne(t,e.anchorNode)}catch(t){return!1}}function re(t){return 3==t.nodeType?me(t,0,t.nodeValue.length).getClientRects():1==t.nodeType?t.getClientRects():[]}function oe(t,e,i,n){return!!i&&(le(t,e,i,n,-1)||le(t,e,i,n,1))}function ae(t){for(var e=0;;e++)if(!(t=t.previousSibling))return e}function le(t,e,i,n,s){for(;;){if(t==i&&e==n)return!0;if(e==(s<0?0:he(t))){if("DIV"==t.nodeName)return!1;let i=t.parentNode;if(!i||1!=i.nodeType)return!1;e=ae(t)+(s<0?0:1),t=i}else{if(1!=t.nodeType)return!1;if(1==(t=t.childNodes[e+(s<0?-1:0)]).nodeType&&"false"==t.contentEditable)return!1;e=s<0?he(t):0}}}function he(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}const ce={left:0,right:0,top:0,bottom:0};function ue(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function de(t){return{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}class fe{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){this.set(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset)}set(t,e,i,n){this.anchorNode=t,this.anchorOffset=e,this.focusNode=i,this.focusOffset=n}}let pe,Oe=null;function ge(t){if(t.setActive)return t.setActive();if(Oe)return t.focus(Oe);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(null==Oe?{get preventScroll(){return Oe={preventScroll:!0},!0}}:void 0),!Oe){Oe=!1;for(let t=0;te)return i.domBoundsAround(t,e,l);if(c>=t&&-1==n&&(n=a,s=l),l>e&&i.dom.parentNode==this.dom){r=a,o=h;break}h=c,l=c+i.breakAfter}return{from:s,to:o<0?i+this.length:o,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}markDirty(t=!1){this.dirty|=2,this.markParentsDirty(t)}markParentsDirty(t){for(let e=this.parent;e;e=e.parent){if(t&&(e.dirty|=2),1&e.dirty)return;e.dirty|=1,t=!1}}setParent(t){this.parent!=t&&(this.parent=t,this.dirty&&this.markParentsDirty(!0))}setDOM(t){this.dom&&(this.dom.cmView=null),this.dom=t,t.cmView=this}get rootView(){for(let t=this;;){let e=t.parent;if(!e)return t;t=e}}replaceChildren(t,e,i=Se){this.markDirty();for(let i=t;ithis.pos||t==this.pos&&(e>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=t-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function Qe(t,e,i,n,s,r,o,a,l){let{children:h}=t,c=h.length?h[e]:null,u=r.length?r[r.length-1]:null,d=u?u.breakAfter:o;if(!(e==n&&c&&!o&&!d&&r.length<2&&c.merge(i,s,r.length?u:null,0==i,a,l))){if(n0&&(!o&&r.length&&c.merge(i,c.length,r[0],!1,a,0)?c.breakAfter=r.shift().breakAfter:(i2);var De={mac:Me||/Mac/.test(Pe.platform),windows:/Win/.test(Pe.platform),linux:/Linux|X11/.test(Pe.platform),ie:Ae,ie_version:Xe?Ce.documentMode||6:Ze?+Ze[1]:_e?+_e[1]:0,gecko:Te,gecko_version:Te?+(/Firefox\/(\d+)/.exec(Pe.userAgent)||[0,0])[1]:0,chrome:!!Re,chrome_version:Re?+Re[1]:0,ios:Me,android:/Android\b/.test(Pe.userAgent),webkit:Ee,safari:Ve,webkit_version:Ee?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Ce.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class We extends ye{constructor(t){super(),this.text=t}get length(){return this.text.length}createDOM(t){this.setDOM(t||document.createTextNode(this.text))}sync(t,e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(t){3==t.nodeType&&this.createDOM(t)}merge(t,e,i){return(!i||i instanceof We&&!(this.length-(e-t)+i.length>256))&&(this.text=this.text.slice(0,t)+(i?i.text:"")+this.text.slice(e),this.markDirty(),!0)}split(t){let e=new We(this.text.slice(t));return this.text=this.text.slice(0,t),this.markDirty(),e}localPosFromDOM(t,e){return t==this.dom?e:e?this.text.length:0}domAtPos(t){return new ve(this.dom,t)}domBoundsAround(t,e,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(t,e){return Ye(this.dom,t,e)}}class Ue extends ye{constructor(t,e=[],i=0){super(),this.mark=t,this.children=e,this.length=i;for(let t of e)t.setParent(this)}setAttrs(t){if(we(t),this.mark.class&&(t.className=this.mark.class),this.mark.attrs)for(let e in this.mark.attrs)t.setAttribute(e,this.mark.attrs[e]);return t}reuseDOM(t){t.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(t),this.dirty|=6)}sync(t,e){this.dom?4&this.dirty&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(t,e)}merge(t,e,i,n,s,r){return(!i||!(!(i instanceof Ue&&i.mark.eq(this.mark))||t&&s<=0||et&&e.push(i=t&&(n=s),i=o,s++}let r=this.length-t;return this.length=t,n>-1&&(this.children.length=n,this.markDirty()),new Ue(this.mark,e,r)}domAtPos(t){return Ge(this,t)}coordsAt(t,e){return He(this,t,e)}}function Ye(t,e,i){let n=t.nodeValue.length;e>n&&(e=n);let s=e,r=e,o=0;0==e&&i<0||e==n&&i>=0?De.chrome||De.gecko||(e?(s--,o=1):r=0)?0:a.length-1];return De.safari&&!o&&0==l.width&&(l=Array.prototype.find.call(a,(t=>t.width))||l),o?ue(l,o<0):l||null}class qe extends ye{constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i,this.prevWidget=null}static create(t,e,i){return new(t.customView||qe)(t,e,i)}split(t){let e=qe.create(this.widget,this.length-t,this.side);return this.length-=t,e}sync(t){this.dom&&this.widget.updateDOM(this.dom,t)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.dom.contentEditable="false")}getSide(){return this.side}merge(t,e,i,n,s,r){return!(i&&(!(i instanceof qe&&this.widget.compare(i.widget))||t>0&&s<=0||e0)?ve.before(this.dom):ve.after(this.dom,t==this.length)}domBoundsAround(){return null}coordsAt(t,e){let i=this.dom.getClientRects(),n=null;if(!i.length)return ce;for(let e=t>0?i.length-1:0;n=i[e],!(t>0?0==e:e==i.length-1||n.top0?-1:1);return this.length?n:ue(n,this.side>0)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class Le extends qe{domAtPos(t){let{topView:e,text:i}=this.widget;return e?ze(t,0,e,i,this.length-e.length,((t,e)=>t.domAtPos(e)),((t,e)=>new ve(t,Math.min(e,t.nodeValue.length)))):new ve(i,Math.min(t,i.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(t,e){let{topView:i,text:n}=this.widget;return i?Be(t,e,i,n,this.length-i.length):Math.min(e,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(t,e){let{topView:i,text:n}=this.widget;return i?ze(t,e,i,n,this.length-i.length,((t,e,i)=>t.coordsAt(e,i)),((t,e,i)=>Ye(t,e,i))):Ye(n,t,e)}destroy(){var t;super.destroy(),null===(t=this.widget.topView)||void 0===t||t.destroy()}get isEditable(){return!0}canReuseDOM(){return!0}}function ze(t,e,i,n,s,r,o){if(i instanceof Ue){for(let a=i.dom.firstChild;a;a=a.nextSibling){let i=ye.get(a);if(i){let l=ne(a,n),h=i.length+(l?s:0);if(t0?ve.before(this.dom):ve.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(t){let e=this.dom.getBoundingClientRect(),i=function(t,e){let i=t.parent,n=i?i.children.indexOf(t):-1;for(;i&&n>=0;)if(e<0?n>0:n0?-1:1);return i&&i.tope.top?{left:e.left,right:e.right,top:i.top,bottom:i.bottom}:e}get overrideDOMText(){return t.empty}get isHidden(){return!0}}function Ge(t,e){let i=t.dom,{children:n}=t,s=0;for(let t=0;st&&e0;t--){let e=n[t-1];if(e.dom.parentNode==i)return e.domAtPos(e.length)}for(let t=s;t0&&e instanceof Ue&&s.length&&(n=s[s.length-1])instanceof Ue&&n.mark.eq(e.mark)?Fe(n,e.children[0],i-1):(s.push(e),e.setParent(t)),t.length+=e.length}function He(t,e,i){let n=null,s=-1,r=null,o=-1;!function t(e,a){for(let l=0,h=0;l=a&&(c.children.length?t(c,a-h):(!r||r instanceof Ne&&i>0)&&(u>a||h==u&&c.getSide()>0)?(r=c,o=a-h):(h0?3e8:-4e8:e>0?1e8:-1e8,new oi(t,e,e,i,t.widget||null,!1)}static replace(t){let e,i,n=!!t.block;if(t.isBlockGap)e=-5e8,i=4e8;else{let{start:s,end:r}=ai(t,n);e=(s?n?-3e8:-1:5e8)-1,i=1+(r?n?2e8:1:-6e8)}return new oi(t,e,i,n,t.widget||null,!0)}static line(t){return new ri(t)}static set(t,e=!1){return _t.of(t,e)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}ni.none=_t.empty;class si extends ni{constructor(t){let{start:e,end:i}=ai(t);super(e?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.class=t.class||"",this.attrs=t.attributes||null}eq(t){return this==t||t instanceof si&&this.tagName==t.tagName&&this.class==t.class&&Ke(this.attrs,t.attrs)}range(t,e=t){if(t>=e)throw new RangeError("Mark decorations may not be empty");return super.range(t,e)}}si.prototype.point=!1;class ri extends ni{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof ri&&this.spec.class==t.spec.class&&Ke(this.spec.attributes,t.spec.attributes)}range(t,e=t){if(e!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,e)}}ri.prototype.mapMode=y.TrackBefore,ri.prototype.point=!0;class oi extends ni{constructor(t,e,i,n,s,r){super(e,i,s,t),this.block=n,this.isReplace=r,this.mapMode=n?e<=0?y.TrackBefore:y.TrackAfter:y.TrackDel}get type(){return this.startSide=5}eq(t){return t instanceof oi&&(e=this.widget,i=t.widget,e==i||!!(e&&i&&e.compare(i)))&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide;var e,i}range(t,e=t){if(this.isReplace&&(t>e||t==e&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,e)}}function ai(t,e=!1){let{inclusiveStart:i,inclusiveEnd:n}=t;return null==i&&(i=t.inclusive),null==n&&(n=t.inclusive),{start:null!=i?i:e,end:null!=n?n:e}}function li(t,e,i,n=0){let s=i.length-1;s>=0&&i[s]+n>=t?i[s]=Math.max(i[s],e):i.push(t,e)}oi.prototype.point=!0;class hi extends ye{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,s,r){if(i){if(!(i instanceof hi))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),$e(this,t,e,i?i.children:[],s,r),!0}split(t){let e=new hi;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i:i,off:n}=this.childPos(t);n&&(e.append(this.children[i].split(n),0),this.children[i].merge(n,this.children[i].length,null,!1,0,0),i++);for(let t=i;t0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=t,e}transferDOM(t){this.dom&&(this.markDirty(),t.setDOM(this.dom),t.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(t){Ke(this.attrs,t)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=t)}append(t,e){Fe(this,t,e)}addLineDeco(t){let e=t.spec.attributes,i=t.spec.class;e&&(this.attrs=Je(e,this.attrs||{})),i&&(this.attrs=Je({class:i},this.attrs||{}))}domAtPos(t){return Ge(this,t)}reuseDOM(t){"DIV"==t.nodeName&&(this.setDOM(t),this.dirty|=6)}sync(t,e){var i;this.dom?4&this.dirty&&(we(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(ti(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(t,e);let n=this.dom.lastChild;for(;n&&ye.get(n)instanceof Ue;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(i=ye.get(n))||void 0===i?void 0:i.isEditable)||De.ios&&this.children.some((t=>t instanceof We))))){let t=document.createElement("BR");t.cmIgnore=!0,this.dom.appendChild(t)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let t,e=0;for(let i of this.children){if(!(i instanceof We)||/[^ -~]/.test(i.text))return null;let n=re(i.dom);if(1!=n.length)return null;e+=n[0].width,t=n[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(t,e){let i=He(this,t,e);if(!this.children.length&&i&&this.parent){let{heightOracle:t}=this.parent.view.viewState,e=i.bottom-i.top;if(Math.abs(e-t.lineHeight)<2&&t.textHeight=e){if(s instanceof hi)return s;if(r>e)break}n=r+s.breakAfter}return null}}class ci extends ye{constructor(t,e,i){super(),this.widget=t,this.length=e,this.type=i,this.breakAfter=0,this.prevWidget=null}merge(t,e,i,n,s,r){return!(i&&(!(i instanceof ci&&this.widget.compare(i.widget))||t>0&&s<=0||e0;){if(this.textOff==this.text.length){let{value:e,lineBreak:i,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,t--;continue}this.text=e,this.textOff=0}let n=Math.min(this.text.length-this.textOff,t,512);this.flushBuffer(e.slice(e.length-i)),this.getLine().append(di(new We(this.text.slice(this.textOff,this.textOff+n)),e),i),this.atCursorPos=!0,this.textOff+=n,t-=n,i=0}}span(t,e,i,n){this.buildText(e-t,i,n),this.pos=e,this.openStart<0&&(this.openStart=n)}point(t,e,i,n,s,r){if(this.disallowBlockEffectsFor[r]&&i instanceof oi){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(e>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=e-t;if(i instanceof oi)if(i.block){let{type:t}=i;t!=ii.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new ci(i.widget||new fi("div"),o,t))}else{let r=qe.create(i.widget||new fi("span"),o,o?0:i.startSide),a=this.atCursorPos&&!r.isEditable&&s<=n.length&&(t0),l=!r.isEditable&&(tn.length||i.startSide<=0),h=this.getLine();2!=this.pendingBuffer||a||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),a&&(h.append(di(new Ne(1),n),s),s=n.length+Math.max(0,s-n.length)),h.append(di(r,n),s),this.atCursorPos=l,this.pendingBuffer=l?tn.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=e),this.openStart<0&&(this.openStart=s)}static build(t,e,i,n,s){let r=new ui(t,e,i,s);return r.openEnd=_t.spans(n,e,i,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function di(t,e){for(let i of e)t=new Ue(i,[t],t.length);return t}class fi extends ei{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const pi=E.define(),Oi=E.define(),gi=E.define(),mi=E.define(),bi=E.define(),wi=E.define(),vi=E.define(),Si=E.define({combine:t=>t.some((t=>t))}),yi=E.define({combine:t=>t.some((t=>t))});class xi{constructor(t,e="nearest",i="nearest",n=5,s=5){this.range=t,this.y=e,this.x=i,this.yMargin=n,this.xMargin=s}map(t){return t.empty?this:new xi(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin)}}const ki=ut.define({map:(t,e)=>t.map(e)});function Qi(t,e,i){let n=t.facet(mi);n.length?n[0](e):window.onerror?window.onerror(String(e),i,void 0,void 0,e):i?console.error(i+":",e):console.error(e)}const $i=E.define({combine:t=>!t.length||t[0]});let Pi=0;const Ci=E.define();class _i{constructor(t,e,i,n){this.id=t,this.create=e,this.domEventHandlers=i,this.extension=n(this)}static define(t,e){const{eventHandlers:i,provide:n,decorations:s}=e||{};return new _i(Pi++,t,i,(t=>{let e=[Ci.of(t)];return s&&e.push(Ti.of((e=>{let i=e.plugin(t);return i?s(i):ni.none}))),n&&e.push(n(t)),e}))}static fromClass(t,e){return _i.define((e=>new t(e)),e)}}class Xi{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}update(t){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(e){if(Qi(t.state,e,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(t)}catch(e){Qi(t.state,e,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var e;if(null===(e=this.value)||void 0===e?void 0:e.destroy)try{this.value.destroy()}catch(e){Qi(t.state,e,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Zi=E.define(),Ai=E.define(),Ti=E.define(),Ri=E.define(),Ei=E.define(),Vi=E.define();class Mi{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new Mi(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;e>0;e--){let n=t[e-1];if(!(n.fromA>i.toA)){if(n.toAh)break;s+=2}if(!a)return i;new Mi(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),r=a.toA,o=a.toB}}}class Di{constructor(t,e,i){this.view=t,this.state=e,this.transactions=i,this.flags=0,this.startState=t.state,this.changes=k.empty(this.startState.doc.length);for(let t of i)this.changes=this.changes.compose(t.changes);let n=[];this.changes.iterChangedRanges(((t,e,i,s)=>n.push(new Mi(t,e,i,s)))),this.changedRanges=n}static create(t,e,i){return new Di(t,e,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((t=>t.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var Wi=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Wi||(Wi={}));const Ui=Wi.LTR,Yi=Wi.RTL;function qi(t){let e=[];for(let i=0;i=e){if(o.level==i)return r;(s<0||(0!=n?n<0?o.frome:t[s].level>o.level))&&(s=r)}}if(s<0)throw new RangeError("Index out of range");return s}}const Gi=[];function Fi(t){return[new Ni(0,t,0)]}let Hi="";function Ji(t,e,i,n,s){var r;let o=n.head-t.from,a=-1;if(0==o){if(!s||!t.length)return null;e[0].level!=i&&(o=e[0].side(!1,i),a=0)}else if(o==t.length){if(s)return null;let t=e[e.length-1];t.level!=i&&(o=t.side(!0,i),a=e.length-1)}a<0&&(a=Ni.find(e,o,null!==(r=n.bidiLevel)&&void 0!==r?r:-1,n.assoc));let l=e[a];o==l.side(s,i)&&(l=e[a+=s?1:-1],o=l.side(!s,i));let h=s==(l.dir==i),c=f(t.text,o,h);if(Hi=t.text.slice(Math.min(o,c),Math.max(o,c)),c!=l.side(s,i))return A.cursor(c+t.from,h?-1:1,l.level);let u=a==(s?e.length-1:0)?null:e[a+(s?1:-1)];return u||l.level==i?u&&u.level1)for(let e of this.points)e.node==t&&e.pos>this.text.length&&(e.pos-=o-1);i=r+o}}readNode(t){if(t.cmIgnore)return;let e=ye.get(t),i=e&&e.overrideDOMText;if(null!=i){this.findPointInside(t,i.length);for(let t=i.iter();!t.next().done;)t.lineBreak?this.lineBreak():this.append(t.value)}else 3==t.nodeType?this.readTextNode(t):"BR"==t.nodeName?t.nextSibling&&this.lineBreak():1==t.nodeType&&this.readRange(t.firstChild,null)}findPointBefore(t,e){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==e&&(i.pos=this.text.length)}findPointInside(t,e){for(let i of this.points)(3==t.nodeType?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+Math.min(e,i.offset))}}function en(t){return 1==t.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}class nn{constructor(t,e){this.node=t,this.offset=e,this.pos=-1}}class sn extends ye{constructor(t){super(),this.view=t,this.compositionDeco=ni.none,this.decorations=[],this.dynamicDecorationMap=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(t.contentDOM),this.children=[new hi],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Mi(0,0,0,t.state.doc.length)],0)}get length(){return this.view.state.doc.length}update(t){let e=t.changedRanges;this.minWidth>0&&e.length&&(e.every((({fromA:t,toA:e})=>ethis.minWidthTo))?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.view.inputState.composing<0?this.compositionDeco=ni.none:(t.transactions.length||this.dirty)&&(this.compositionDeco=function(t,e){let i=on(t);if(!i)return ni.none;let{from:n,to:s,node:r,text:o}=i,a=e.mapPos(n,1),l=Math.max(a,e.mapPos(s,-1)),{state:h}=t,c=3==r.nodeType?r.nodeValue:new tn([],h).readRange(r.firstChild,null).text;if(l-a{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let t=De.chrome||De.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,t),this.dirty=0,t&&(t.written||i.selectionRange.focusNode!=t.node)&&(this.forceSelection=!0),this.dom.style.height=""}));let n=[];if(this.view.viewport.from||this.view.viewport.to=0?t[e]:null;if(!n)break;let{fromA:s,toA:r,fromB:o,toB:a}=n,{content:l,breakAtStart:h,openStart:c,openEnd:u}=ui.build(this.view.state.doc,o,a,this.decorations,this.dynamicDecorationMap),{i:d,off:f}=i.findPos(r,1),{i:p,off:O}=i.findPos(s,-1);Qe(this,p,O,d,f,l,h,c,u)}}updateSelection(t=!1,e=!1){!t&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,s=!n&&se(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||e||s))return;let r=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,a=this.domAtPos(o.anchor),l=o.empty?a:this.domAtPos(o.head);if(De.gecko&&o.empty&&!this.compositionDeco.size&&(1==(h=a).node.nodeType&&h.node.firstChild&&(0==h.offset||"false"==h.node.childNodes[h.offset-1].contentEditable)&&(h.offset==h.node.childNodes.length||"false"==h.node.childNodes[h.offset].contentEditable))){let t=document.createTextNode("");this.view.observer.ignore((()=>a.node.insertBefore(t,a.node.childNodes[a.offset]||null))),a=l=new ve(t,0),r=!0}var h;let c=this.view.observer.selectionRange;!r&&c.focusNode&&oe(a.node,a.offset,c.anchorNode,c.anchorOffset)&&oe(l.node,l.offset,c.focusNode,c.focusOffset)||(this.view.observer.ignore((()=>{De.android&&De.chrome&&this.dom.contains(c.focusNode)&&function(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let t=ie(this.view.root);if(t)if(o.empty){if(De.gecko){let t=(e=a.node,n=a.offset,1!=e.nodeType?0:(n&&"false"==e.childNodes[n-1].contentEditable?1:0)|(no.head&&([a,l]=[l,a]),e.setEnd(l.node,l.offset),e.setStart(a.node,a.offset),t.removeAllRanges(),t.addRange(e)}else;var e,n;s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())})),this.view.observer.setSelectionRange(a,l)),this.impreciseAnchor=a.precise?null:new ve(c.anchorNode,c.anchorOffset),this.impreciseHead=l.precise?null:new ve(c.focusNode,c.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let{view:t}=this,e=t.state.selection.main,i=ie(t.root),{anchorNode:n,anchorOffset:s}=t.observer.selectionRange;if(!(i&&e.empty&&e.assoc&&i.modify))return;let r=hi.find(this,e.head);if(!r)return;let o=r.posAtStart;if(e.head==o||e.head==o+r.length)return;let a=this.coordsAt(e.head,-1),l=this.coordsAt(e.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(e.head+e.assoc);i.collapse(h.node,h.offset),i.modify("move",e.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let c=t.observer.selectionRange;t.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=e.from&&i.collapse(n,s)}nearest(t){for(let e=t;e;){let t=ye.get(e);if(t&&t.rootView==this)return t;e=e.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;er||t==r&&s.type!=ii.WidgetBefore&&s.type!=ii.WidgetAfter&&(!n||2==e||this.children[n-1].breakAfter||this.children[n-1].type==ii.WidgetBefore&&e>-2))return s.coordsAt(t-r,e);i=r}}measureVisibleLineHeights(t){let e=[],{from:i,to:n}=t,s=this.view.contentDOM.clientWidth,r=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==Wi.LTR;for(let t=0,l=0;ln)break;if(t>=i){let i=h.dom.getBoundingClientRect();if(e.push(i.height),r){let e=h.dom.lastChild,n=e?re(e):[];if(n.length){let e=n[n.length-1],r=a?e.right-i.left:i.right-e.left;r>o&&(o=r,this.minWidth=s,this.minWidthFrom=t,this.minWidthTo=c)}}}t=c+h.breakAfter}return e}textDirectionAt(t){let{i:e}=this.childPos(t,1);return"rtl"==getComputedStyle(this.children[e].dom).direction?Wi.RTL:Wi.LTR}measureTextSize(){for(let t of this.children)if(t instanceof hi){let e=t.measureTextSize();if(e)return e}let t,e,i,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let s=re(n.firstChild)[0];t=n.getBoundingClientRect().height,e=s?s.width/27:7,i=s?s.height:t,n.remove()})),{lineHeight:t,charWidth:e,textHeight:i}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new ke(this.children,t,e)}computeBlockGapDeco(){let t=[],e=this.view.viewState;for(let i=0,n=0;;n++){let s=n==e.viewports.length?null:e.viewports[n],r=s?s.from-1:this.length;if(r>i){let n=e.lineBlockAt(r).bottom-e.lineBlockAt(i).top;t.push(ni.replace({widget:new rn(n),block:!0,inclusive:!0,isBlockGap:!0}).range(i,r))}if(!s)break;i=s.to+1}return ni.set(t)}updateDeco(){let t=this.view.state.facet(Ti).map(((t,e)=>(this.dynamicDecorationMap[e]="function"==typeof t)?t(this.view):t));for(let e=t.length;ei.anchor?-1:1);if(!n)return;!i.empty&&(e=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(n={left:Math.min(n.left,e.left),top:Math.min(n.top,e.top),right:Math.max(n.right,e.right),bottom:Math.max(n.bottom,e.bottom)});let s=0,r=0,o=0,a=0;for(let t of this.view.state.facet(Ei).map((t=>t(this.view))))if(t){let{left:e,right:i,top:n,bottom:l}=t;null!=e&&(s=Math.max(s,e)),null!=i&&(r=Math.max(r,i)),null!=n&&(o=Math.max(o,n)),null!=l&&(a=Math.max(a,l))}let l={left:n.left-s,top:n.top-o,right:n.right+r,bottom:n.bottom+a};!function(t,e,i,n,s,r,o,a){let l=t.ownerDocument,h=l.defaultView||window;for(let c=t;c;)if(1==c.nodeType){let t,u=c==l.body;if(u)t=de(h);else{if(c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let e=c.getBoundingClientRect();t={left:e.left,right:e.left+c.clientWidth,top:e.top,bottom:e.top+c.clientHeight}}let d=0,f=0;if("nearest"==s)e.top0&&e.bottom>t.bottom+f&&(f=e.bottom-t.bottom+f+o)):e.bottom>t.bottom&&(f=e.bottom-t.bottom+o,i<0&&e.top-f0&&e.right>t.right+d&&(d=e.right-t.right+d+r)):e.right>t.right&&(d=e.right-t.right+r,i<0&&e.left0))break;i=i.childNodes[n-1],n=he(i)}if(i>=0)for(let n=t,s=e;;){if(3==n.nodeType)return n;if(!(1==n.nodeType&&s=0))break;n=n.childNodes[s],s=0}return null}class hn{constructor(){this.changes=[]}compareRange(t,e){li(t,e,this.changes)}comparePoint(t,e){li(t,e,this.changes)}}function cn(t,e){return e.left>t?e.left-t:Math.max(0,t-e.right)}function un(t,e){return e.top>t?e.top-t:Math.max(0,t-e.bottom)}function dn(t,e){return t.tope.top+1}function fn(t,e){return et.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function On(t,e,i){let n,s,r,o,a,l,h,c,u=!1;for(let d=t.firstChild;d;d=d.nextSibling){let t=re(d);for(let f=0;fg||o==g&&r>O){n=d,s=p,r=O,o=g;let a=g?i0?f0)}0==O?i>p.bottom&&(!h||h.bottomp.top)&&(l=d,c=p):h&&dn(h,p)?h=pn(h,p.bottom):c&&dn(c,p)&&(c=fn(c,p.top))}}if(h&&h.bottom>=i?(n=a,s=h):c&&c.top<=i&&(n=l,s=c),!n)return{node:t,offset:0};let d=Math.max(s.left,Math.min(s.right,e));return 3==n.nodeType?gn(n,d,i):u&&"false"!=n.contentEditable?On(n,d,i):{node:t,offset:Array.prototype.indexOf.call(t.childNodes,n)+(e>=(s.left+s.right)/2?1:0)}}function gn(t,e,i){let n=t.nodeValue.length,s=-1,r=1e9,o=0;for(let a=0;ai?h.top-i:i-h.bottom)-1;if(h.left-1<=e&&h.right+1>=e&&c=(h.left+h.right)/2,n=i;if(De.chrome||De.gecko){me(t,a).getBoundingClientRect().left==h.right&&(n=!i)}if(c<=0)return{node:t,offset:a+(n?1:0)};s=a+(n?1:0),r=c}}}return{node:t,offset:s>-1?s:o>0?t.nodeValue.length:0}}function mn(t,e,i,n=-1){var s,r;let o,a=t.contentDOM.getBoundingClientRect(),l=a.top+t.viewState.paddingTop,{docHeight:h}=t.viewState,{x:c,y:u}=e,d=u-l;if(d<0)return 0;if(d>h)return t.state.doc.length;for(let e=t.defaultLineHeight/2,s=!1;o=t.elementAtHeight(d),o.type!=ii.Text;)for(;d=n>0?o.bottom+e:o.top-e,!(d>=0&&d<=h);){if(s)return i?null:0;s=!0,n=-n}u=l+d;let f=o.from;if(ft.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:i?null:bn(t,a,o,c,u);let p=t.dom.ownerDocument,O=t.root.elementFromPoint?t.root:p,g=O.elementFromPoint(c,u);g&&!t.contentDOM.contains(g)&&(g=null),g||(c=Math.max(a.left+1,Math.min(a.right-1,c)),g=O.elementFromPoint(c,u),g&&!t.contentDOM.contains(g)&&(g=null));let m,b=-1;if(g&&0!=(null===(s=t.docView.nearest(g))||void 0===s?void 0:s.isEditable))if(p.caretPositionFromPoint){let t=p.caretPositionFromPoint(c,u);t&&({offsetNode:m,offset:b}=t)}else if(p.caretRangeFromPoint){let e=p.caretRangeFromPoint(c,u);e&&(({startContainer:m,startOffset:b}=e),(!t.contentDOM.contains(m)||De.safari&&function(t,e,i){let n;if(3!=t.nodeType||e!=(n=t.nodeValue.length))return!1;for(let e=t.nextSibling;e;e=e.nextSibling)if(1!=e.nodeType||"BR"!=e.nodeName)return!1;return me(t,n-1,n).getBoundingClientRect().left>i}(m,b,c)||De.chrome&&function(t,e,i){if(0!=e)return!1;for(let e=t;;){let t=e.parentNode;if(!t||1!=t.nodeType||t.firstChild!=e)return!1;if(t.classList.contains("cm-line"))break;e=t}let n=1==t.nodeType?t.getBoundingClientRect():me(t,0,Math.max(t.nodeValue.length,1)).getBoundingClientRect();return i-n.left>5}(m,b,c))&&(m=void 0))}if(!m||!t.docView.dom.contains(m)){let e=hi.find(t.docView,f);if(!e)return d>o.top+o.height/2?o.to:o.from;({node:m,offset:b}=On(e.dom,c,u))}let w=t.docView.nearest(m);if(!w)return null;if(w.isWidget&&1==(null===(r=w.dom)||void 0===r?void 0:r.nodeType)){let t=w.dom.getBoundingClientRect();return e.y1.5*t.defaultLineHeight){r+=Math.floor((s-i.top)/t.defaultLineHeight)*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(i.from,i.to);return i.from+function(t,e,i,n){for(let n=0,s=0;;){if(s>=e)return n;if(n==t.length)break;s+=9==t.charCodeAt(n)?i-s%i:1,n=f(t,n)}return!0===n?-1:t.length}(o,r,t.state.tabSize)}function wn(t,e,i,n){let s=t.state.doc.lineAt(e.head),r=t.bidiSpans(s),o=t.textDirectionAt(s.from);for(let a=e,l=null;;){let e=Ji(s,r,o,a,i),h=Hi;if(!e){if(s.number==(i?t.state.doc.lines:1))return a;h="\n",s=t.state.doc.line(s.number+(i?1:-1)),r=t.bidiSpans(s),e=A.cursor(i?s.from:s.to)}if(l){if(!l(h))return a}else{if(!n)return e;l=n(h)}a=e}}function vn(t,e,i,n){let s=t.state.facet(Ri).map((e=>e(t)));for(;;){let t=!1;for(let r of s)r.between(i.from-1,i.from+1,((s,r,o)=>{i.from>s&&i.fromi.from?A.cursor(s,1):A.cursor(r,-1),t=!0,o.widget.skipPosition&&(i=o.widget.skipPosition(i,e,n)))}));if(!t)return i}}class Sn{constructor(t){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;let e=(e,i)=>{this.ignoreDuringComposition(i)||"keydown"==i.type&&this.keydown(t,i)||(this.mustFlushObserver(i)&&t.observer.forceFlush(),this.runCustomHandlers(i.type,t,i)?i.preventDefault():e(t,i))};for(let i in Cn){let n=Cn[i];t.contentDOM.addEventListener(i,(i=>{Pn(t,i)&&e(n,i)}),_n[i]),this.registeredEvents.push(i)}t.scrollDOM.addEventListener("mousedown",(i=>{if(i.target==t.scrollDOM&&i.clientY>t.contentDOM.getBoundingClientRect().bottom&&(e(Cn.mousedown,i),!i.defaultPrevented&&2==i.button)){let e=t.contentDOM.style.minHeight;t.contentDOM.style.minHeight="100%",setTimeout((()=>t.contentDOM.style.minHeight=e),200)}})),De.chrome&&102==De.chrome_version&&t.scrollDOM.addEventListener("wheel",(()=>{this.chromeScrollHack<0?t.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout((()=>{this.chromeScrollHack=-1,t.contentDOM.style.pointerEvents=""}),100)}),{passive:!0}),this.notifiedFocused=t.hasFocus,De.safari&&t.contentDOM.addEventListener("input",(()=>null))}setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}ensureHandlers(t,e){var i;let n;this.customHandlers=[];for(let s of e)if(n=null===(i=s.update(t).spec)||void 0===i?void 0:i.domEventHandlers){this.customHandlers.push({plugin:s.value,handlers:n});for(let e in n)this.registeredEvents.indexOf(e)<0&&"scroll"!=e&&(this.registeredEvents.push(e),t.contentDOM.addEventListener(e,(i=>{Pn(t,i)&&this.runCustomHandlers(e,t,i)&&i.preventDefault()})))}}runCustomHandlers(t,e,i){for(let n of this.customHandlers){let s=n.handlers[t];if(s)try{if(s.call(n.plugin,i,e)||i.defaultPrevented)return!0}catch(t){Qi(e.state,t)}}return!1}runScrollHandlers(t,e){this.lastScrollTop=t.scrollDOM.scrollTop,this.lastScrollLeft=t.scrollDOM.scrollLeft;for(let i of this.customHandlers){let n=i.handlers.scroll;if(n)try{n.call(i.plugin,e,t)}catch(e){Qi(t.state,e)}}}keydown(t,e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()t.keyCode==e.keyCode)))&&!e.ctrlKey||xn.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey))&&(this.pendingIOSKey=i||e,setTimeout((()=>this.flushIOSKey(t)),250),!0)}flushIOSKey(t){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,be(t.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(t){return!!/^key/.test(t.type)&&(this.composing>0||!!(De.safari&&!De.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}mustFlushObserver(t){return"keydown"==t.type&&229!=t.keyCode}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.mouseSelection&&this.mouseSelection.update(t),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const yn=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],xn="dthko",kn=[16,17,18,20,91,92,224,225];function Qn(t){return.7*Math.max(0,t)+8}class $n{constructor(t,e,i,n){this.view=t,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParent=function(t){let e=t.ownerDocument;for(let i=t.parentNode;i&&i!=e.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}(t.contentDOM);let s=t.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=t.state.facet(xt.allowMultipleSelections)&&function(t,e){let i=t.state.facet(pi);return i.length?i[0](e):(De.mac,e.altKey)}(t,e),this.dragMove=function(t,e){let i=t.state.facet(Oi);return i.length?i[0](e):De.mac?!e.altKey:!e.ctrlKey}(t,e),this.dragging=!(!function(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let n=ie(t.root);if(!n||0==n.rangeCount)return!0;let s=n.getRangeAt(0).getClientRects();for(let t=0;t=e.clientX&&i.top<=e.clientY&&i.bottom>=e.clientY)return!0}return!1}(t,e)||1!=Yn(e))&&null}start(t){!1===this.dragging&&(t.preventDefault(),this.select(t))}move(t){var e;if(0==t.buttons)return this.destroy();if(!1!==this.dragging)return;this.select(this.lastEvent=t);let i=0,n=0,s=(null===(e=this.scrollParent)||void 0===e?void 0:e.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight};t.clientX<=s.left+6?i=-Qn(s.left-t.clientX):t.clientX>=s.right-6&&(i=Qn(t.clientX-s.right)),t.clientY<=s.top+6?n=-Qn(s.top-t.clientY):t.clientY>=s.bottom-6&&(n=Qn(t.clientY-s.bottom)),this.setScrollSpeed(i,n)}up(t){null==this.dragging&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(t,e){this.scrollSpeed={x:t,y:e},t||e?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}select(t){let e=this.style.get(t,this.extend,this.multiple);!this.mustSelect&&e.eq(this.view.state.selection)&&e.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:e,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.docChanged&&this.dragging&&(this.dragging=this.dragging.map(t.changes)),this.style.update(t)&&setTimeout((()=>this.select(this.lastEvent)),20)}}function Pn(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i,n=e.target;n!=t.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(i=ye.get(n))&&i.ignoreEvent(e))return!1;return!0}const Cn=Object.create(null),_n=Object.create(null),Xn=De.ie&&De.ie_version<15||De.ios&&De.webkit_version<604;function Zn(t,e){let i,{state:n}=t,s=1,r=n.toText(e),o=r.lines==n.selection.ranges.length;if(null!=Ln&&n.selection.ranges.every((t=>t.empty))&&Ln==r.toString()){let t=-1;i=n.changeByRange((i=>{let a=n.doc.lineAt(i.from);if(a.from==t)return{range:i};t=a.from;let l=n.toText((o?r.line(s++).text:e)+n.lineBreak);return{changes:{from:a.from,insert:l},range:A.cursor(i.from+l.length)}}))}else i=o?n.changeByRange((t=>{let e=r.line(s++);return{changes:{from:t.from,to:t.to,insert:e.text},range:A.cursor(t.from+e.length)}})):n.replaceSelection(r);t.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function An(t,e,i,n){if(1==n)return A.cursor(e,i);if(2==n)return function(t,e,i=1){let n=t.charCategorizer(e),s=t.doc.lineAt(e),r=e-s.from;if(0==s.length)return A.cursor(e);0==r?i=1:r==s.length&&(i=-1);let o=r,a=r;i<0?o=f(s.text,r,!1):a=f(s.text,r);let l=n(s.text.slice(o,a));for(;o>0;){let t=f(s.text,o,!1);if(n(s.text.slice(t,o))!=l)break;o=t}for(;a{t.inputState.setSelectionOrigin("select"),27==e.keyCode&&(t.inputState.lastEscPress=Date.now())},Cn.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")},Cn.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")},_n.touchstart=_n.touchmove={passive:!0},Cn.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return;let i=null;for(let n of t.state.facet(gi))if(i=n(t,e),i)break;if(i||0!=e.button||(i=function(t,e){let i=Vn(t,e),n=Yn(e),s=t.state.selection;return{update(t){t.docChanged&&(i.pos=t.changes.mapPos(i.pos),s=s.map(t.changes))},get(e,r,o){let a,l=Vn(t,e),h=An(t,l.pos,l.bias,n);if(i.pos!=l.pos&&!r){let e=An(t,i.pos,i.bias,n),s=Math.min(e.from,h.from),r=Math.max(e.to,h.to);h=s1&&(a=function(t,e){for(let i=0;i=e)return A.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}(s,l.pos))?a:o?s.addRange(h):A.create([h])}}}(t,e)),i){let n=t.root.activeElement!=t.contentDOM;t.inputState.startMouseSelection(new $n(t,e,i,n)),n&&t.observer.ignore((()=>ge(t.contentDOM))),t.inputState.mouseSelection&&t.inputState.mouseSelection.start(e)}};let Tn=(t,e)=>t>=e.top&&t<=e.bottom,Rn=(t,e,i)=>Tn(e,i)&&t>=i.left&&t<=i.right;function En(t,e,i,n){let s=hi.find(t.docView,e);if(!s)return 1;let r=e-s.posAtStart;if(0==r)return 1;if(r==s.length)return-1;let o=s.coordsAt(r,-1);if(o&&Rn(i,n,o))return-1;let a=s.coordsAt(r,1);return a&&Rn(i,n,a)?1:o&&Tn(n,o)?-1:1}function Vn(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:i,bias:En(t,i,e.clientX,e.clientY)}}const Mn=De.ie&&De.ie_version<=11;let Dn=null,Wn=0,Un=0;function Yn(t){if(!Mn)return t.detail;let e=Dn,i=Un;return Dn=t,Un=Date.now(),Wn=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(Wn+1)%3:1}function qn(t,e,i,n){if(!i)return;let s=t.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:r}=t.inputState,o=n&&r&&r.dragging&&r.dragMove?{from:r.dragging.from,to:r.dragging.to}:null,a={from:s,insert:i},l=t.state.changes(o?[o,a]:a);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(s,-1),head:l.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"})}Cn.dragstart=(t,e)=>{let{selection:{main:i}}=t.state,{mouseSelection:n}=t.inputState;n&&(n.dragging=i),e.dataTransfer&&(e.dataTransfer.setData("Text",t.state.sliceDoc(i.from,i.to)),e.dataTransfer.effectAllowed="copyMove")},Cn.drop=(t,e)=>{if(!e.dataTransfer)return;if(t.state.readOnly)return e.preventDefault();let i=e.dataTransfer.files;if(i&&i.length){e.preventDefault();let n=Array(i.length),s=0,r=()=>{++s==i.length&&qn(t,e,n.filter((t=>null!=t)).join(t.state.lineBreak),!1)};for(let t=0;t{/[\x00-\x08\x0e-\x1f]{2}/.test(e.result)||(n[t]=e.result),r()},e.readAsText(i[t])}}else qn(t,e,e.dataTransfer.getData("Text"),!0)},Cn.paste=(t,e)=>{if(t.state.readOnly)return e.preventDefault();t.observer.flush();let i=Xn?null:e.clipboardData;i?(Zn(t,i.getData("text/plain")||i.getData("text/uri-text")),e.preventDefault()):function(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout((()=>{t.focus(),i.remove(),Zn(t,i.value)}),50)}(t)};let Ln=null;Cn.copy=Cn.cut=(t,e)=>{let{text:i,ranges:n,linewise:s}=function(t){let e=[],i=[],n=!1;for(let n of t.selection.ranges)n.empty||(e.push(t.sliceDoc(n.from,n.to)),i.push(n));if(!e.length){let s=-1;for(let{from:n}of t.selection.ranges){let r=t.doc.lineAt(n);r.number>s&&(e.push(r.text),i.push({from:r.from,to:Math.min(t.doc.length,r.to+1)})),s=r.number}n=!0}return{text:e.join(t.lineBreak),ranges:i,linewise:n}}(t.state);if(!i&&!s)return;Ln=s?i:null;let r=Xn?null:e.clipboardData;r?(e.preventDefault(),r.clearData(),r.setData("text/plain",i)):function(t,e){let i=t.dom.parentNode;if(!i)return;let n=i.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(),t.focus()}),50)}(t,i),"cut"!=e.type||t.state.readOnly||t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"})};const zn=lt.define();function In(t,e){let i=[];for(let n of t.facet(vi)){let s=n(t,e);s&&i.push(s)}return i?t.update({effects:i,annotations:zn.of(!0)}):null}function Bn(t){setTimeout((()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=In(t.state,e);i?t.dispatch(i):t.update([])}}),10)}Cn.focus=t=>{t.inputState.lastFocusTime=Date.now(),t.scrollDOM.scrollTop||!t.inputState.lastScrollTop&&!t.inputState.lastScrollLeft||(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),Bn(t)},Cn.blur=t=>{t.observer.clearSelectionRange(),Bn(t)},Cn.compositionstart=Cn.compositionupdate=t=>{null==t.inputState.compositionFirstChange&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0)},Cn.compositionend=t=>{t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,De.chrome&&De.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then((()=>t.observer.flush())):setTimeout((()=>{t.inputState.composing<0&&t.docView.compositionDeco.size&&t.update([])}),50)},Cn.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()},Cn.beforeinput=(t,e)=>{var i;let n;if(De.chrome&&De.android&&(n=yn.find((t=>t.inputType==e.inputType)))&&(t.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let e=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>e+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())}),100)}};const jn=["pre-wrap","normal","pre-line","break-spaces"];class Nn{constructor(e){this.lineWrapping=e,this.doc=t.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((e-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((t-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return jn.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let e=!1;for(let i=0;i-1,a=Math.round(e)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=e,this.charWidth=i,this.textHeight=n,this.lineLength=s,a){this.heightSamples={};for(let t=0;t0}set outdated(t){this.flags=(t?2:0)|-3&this.flags}setHeight(t,e){this.height!=e&&(Math.abs(this.height-e)>Jn&&(t.heightChanged=!0),this.height=e)}replace(t,e,i){return Kn.of(i)}decomposeLeft(t,e){e.push(this)}decomposeRight(t,e){e.push(this)}applyChanges(t,e,i,n){let s=this,r=i.doc;for(let o=n.length-1;o>=0;o--){let{fromA:a,toA:l,fromB:h,toB:c}=n[o],u=s.lineAt(a,Hn.ByPosNoHeight,i.setDoc(e),0,0),d=u.to>=l?u:s.lineAt(l,Hn.ByPosNoHeight,i,0,0);for(c+=d.to-l,l=d.to;o>0&&u.from<=n[o-1].toA;)a=n[o-1].fromA,h=n[o-1].fromB,o--,a2*s){let s=t[e-1];s.break?t.splice(--e,1,s.left,null,s.right):t.splice(--e,1,s.left,s.right),i+=1+s.break,n-=s.size}else{if(!(s>2*n))break;{let e=t[i];e.break?t.splice(i,1,e.left,null,e.right):t.splice(i,1,e.left,e.right),i+=2+e.break,s-=e.size}}else if(n=s&&r(this.blockAt(0,i,n,s))}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more&&this.setHeight(t,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class es extends ts{constructor(t,e){super(t,e,ii.Text),this.collapsed=0,this.widgetHeight=0}replace(t,e,i){let n=i[0];return 1==i.length&&(n instanceof es||n instanceof is&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof is?n=new es(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Kn.of(i)}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more?this.setHeight(t,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(t,Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class is extends Kn{constructor(t){super(t,0)}heightMetrics(t,e){let i,n=t.doc.lineAt(e).number,s=t.doc.lineAt(e+this.length).number,r=s-n+1,o=0;if(t.lineWrapping){let e=Math.min(this.height,t.lineHeight*r);i=e/r,this.length>r+1&&(o=(this.height-e)/(this.length-r-1))}else i=this.height/r;return{firstLine:n,lastLine:s,perLine:i,perChar:o}}blockAt(t,e,i,n){let{firstLine:s,lastLine:r,perLine:o,perChar:a}=this.heightMetrics(e,n);if(e.lineWrapping){let s=n+Math.round(Math.max(0,Math.min(1,(t-i)/this.height))*this.length),r=e.doc.lineAt(s),l=o+r.length*a,h=Math.max(i,t-l/2);return new Fn(r.from,r.length,h,l,ii.Text)}{let n=Math.max(0,Math.min(r-s,Math.floor((t-i)/o))),{from:a,length:l}=e.doc.line(s+n);return new Fn(a,l,i+o*n,o,ii.Text)}}lineAt(t,e,i,n,s){if(e==Hn.ByHeight)return this.blockAt(t,i,n,s);if(e==Hn.ByPosNoHeight){let{from:e,to:n}=i.doc.lineAt(t);return new Fn(e,n-e,0,0,ii.Text)}let{firstLine:r,perLine:o,perChar:a}=this.heightMetrics(i,s),l=i.doc.lineAt(t),h=o+l.length*a,c=l.number-r,u=n+o*c+a*(l.from-s-c);return new Fn(l.from,l.length,Math.max(n,Math.min(u,n+this.height-h)),h,ii.Text)}forEachLine(t,e,i,n,s,r){t=Math.max(t,s),e=Math.min(e,s+this.length);let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(i,s);for(let h=t,c=n;h<=e;){let e=i.doc.lineAt(h);if(h==t){let i=e.number-o;c+=a*i+l*(t-s-i)}let n=a+l*e.length;r(new Fn(e.from,e.length,c,n,ii.Text)),c+=n,h=e.to+1}}replace(t,e,i){let n=this.length-e;if(n>0){let t=i[i.length-1];t instanceof is?i[i.length-1]=new is(t.length+n):i.push(null,new is(n-1))}if(t>0){let e=i[0];e instanceof is?i[0]=new is(t+e.length):i.unshift(new is(t-1),null)}return Kn.of(i)}decomposeLeft(t,e){e.push(new is(t-1),null)}decomposeRight(t,e){e.push(null,new is(this.length-t-1))}updateHeight(t,e=0,i=!1,n){let s=e+this.length;if(n&&n.from<=e+this.length&&n.more){let i=[],r=Math.max(e,n.from),o=-1;for(n.from>e&&i.push(new is(n.from-e-1).updateHeight(t,e));r<=s&&n.more;){let e=t.doc.lineAt(r).length;i.length&&i.push(null);let s=n.heights[n.index++];-1==o?o=s:Math.abs(s-o)>=Jn&&(o=-2);let a=new es(e,s);a.outdated=!1,i.push(a),r+=e+1}r<=s&&i.push(null,new is(s-r).updateHeight(t,r));let a=Kn.of(i);return(o<0||Math.abs(a.height-this.height)>=Jn||Math.abs(o-this.heightMetrics(t,e).perLine)>=Jn)&&(t.heightChanged=!0),a}return(i||this.outdated)&&(this.setHeight(t,t.heightForGap(e,e+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ns extends Kn{constructor(t,e,i){super(t.length+e+i.length,t.height+i.height,e|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return 1&this.flags}blockAt(t,e,i,n){let s=i+this.left.height;return to))return l;let h=e==Hn.ByPosNoHeight?Hn.ByPosNoHeight:Hn.ByPos;return a?l.join(this.right.lineAt(o,h,i,r,o)):this.left.lineAt(o,h,i,n,s).join(l)}forEachLine(t,e,i,n,s,r){let o=n+this.left.height,a=s+this.left.length+this.break;if(this.break)t=a&&this.right.forEachLine(t,e,i,o,a,r);else{let l=this.lineAt(a,Hn.ByPos,i,n,s);t=t&&l.from<=e&&r(l),e>l.to&&this.right.forEachLine(l.to+1,e,i,o,a,r)}}replace(t,e,i){let n=this.left.length+this.break;if(ethis.left.length)return this.balanced(this.left,this.right.replace(t-n,e-n,i));let s=[];t>0&&this.decomposeLeft(t,s);let r=s.length;for(let t of i)s.push(t);if(t>0&&ss(s,r-1),e=i&&e.push(null)),t>i&&this.right.decomposeLeft(t-i,e)}decomposeRight(t,e){let i=this.left.length,n=i+this.break;if(t>=n)return this.right.decomposeRight(t-n,e);t2*e.size||e.size>2*t.size?Kn.of(this.break?[t,null,e]:[t,e]):(this.left=t,this.right=e,this.height=t.height+e.height,this.outdated=t.outdated||e.outdated,this.size=t.size+e.size,this.length=t.length+this.break+e.length,this)}updateHeight(t,e=0,i=!1,n){let{left:s,right:r}=this,o=e+s.length+this.break,a=null;return n&&n.from<=e+s.length&&n.more?a=s=s.updateHeight(t,e,i,n):s.updateHeight(t,e,i),n&&n.from<=o+r.length&&n.more?a=r=r.updateHeight(t,o,i,n):r.updateHeight(t,o,i),a?this.balanced(s,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function ss(t,e){let i,n;null==t[e]&&(i=t[e-1])instanceof is&&(n=t[e+1])instanceof is&&t.splice(e-1,3,new is(i.length+1+n.length))}class rs{constructor(t,e){this.pos=t,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,e){if(this.lineStart>-1){let t=Math.min(e,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof es?i.length+=t-this.pos:(t>this.pos||!this.isCovered)&&this.nodes.push(new es(t-this.pos,-1)),this.writtenTo=t,e>t&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=e}point(t,e,i){if(t=5)&&this.addLineDeco(n,s)}else e>t&&this.span(t,e);this.lineEnd>-1&&this.lineEnd-1)return;let{from:t,to:e}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=e,this.writtenTot&&this.nodes.push(new es(this.pos-t,-1)),this.writtenTo=this.pos}blankContent(t,e){let i=new is(e-t);return this.oracle.doc.lineAt(t).to==e&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof es)return t;let e=new es(0,-1);return this.nodes.push(e),e}addBlock(t){this.enterLine(),t.type!=ii.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,t.type!=ii.WidgetBefore&&(this.covering=t)}addLineDeco(t,e){let i=this.ensureLine();i.length+=e,i.collapsed+=e,i.widgetHeight=Math.max(i.widgetHeight,t),this.writtenTo=this.pos=this.pos+e}finish(t){let e=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||e instanceof es||this.isCovered?(this.writtenToi.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=n.overflow){let n=i.getBoundingClientRect();r=Math.max(r,n.left),o=Math.min(o,n.right),a=Math.max(a,n.top),l=e==t.parentNode?n.bottom:Math.min(l,n.bottom)}e="absolute"==n.position||"fixed"==n.position?i.offsetParent:i.parentNode}else{if(11!=e.nodeType)break;e=e.host}return{left:r-i.left,right:Math.max(r,o)-i.left,top:a-(i.top+e),bottom:Math.max(a,l)-(i.top+e)}}function ls(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class hs{constructor(t,e,i){this.from=t,this.to=e,this.size=i}static same(t,e){if(t.length!=e.length)return!1;for(let i=0;i"function"!=typeof t&&"cm-lineWrapping"==t.class));this.heightOracle=new Nn(i),this.stateDeco=e.facet(Ti).filter((t=>"function"!=typeof t)),this.heightMap=Kn.empty().applyChanges(this.stateDeco,t.empty,this.heightOracle.setDoc(e.doc),[new Mi(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ni.set(this.lineGaps.map((t=>t.draw(!1)))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:e}=this.state.selection;for(let i=0;i<=1;i++){let n=i?e.head:e.anchor;if(!t.some((({from:t,to:e})=>n>=t&&n<=e))){let{from:e,to:i}=this.lineBlockAt(n);t.push(new ds(e,i))}}this.viewports=t.sort(((t,e)=>t.from-e.from)),this.scaler=this.heightMap.height<=7e6?gs:new ms(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(t=>{this.viewportLines.push(1==this.scaler.scale?t:bs(t,this.scaler))}))}update(t,e=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Ti).filter((t=>"function"!=typeof t));let n=t.changedRanges,s=Mi.extendWithRanges(n,function(t,e,i){let n=new os;return _t.compare(t,e,i,n,0),n.changes}(i,this.stateDeco,t?t.changes:k.empty(this.state.doc.length))),r=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),s),this.heightMap.height!=r&&(t.flags|=2);let o=s.length?this.mapViewport(this.viewport,t.changes):this.viewport;(e&&(e.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,e));let a=!t.changes.empty||2&t.flags||o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,this.updateForViewport(),a&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(),e&&(this.scrollTarget=e),!this.mustEnforceCursorAssoc&&t.selectionSet&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(yi)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let i=e.contentDOM,n=window.getComputedStyle(i),s=this.heightOracle,r=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?Wi.RTL:Wi.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),a=i.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let h=0,c=0,u=parseInt(n.paddingTop)||0,d=parseInt(n.paddingBottom)||0;this.paddingTop==u&&this.paddingBottom==d||(this.paddingTop=u,this.paddingBottom=d,h|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=8);let f=(this.printing?ls:as)(i,this.paddingTop),p=f.top-this.pixelViewport.top,O=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let m=a.width;if(this.contentDOMWidth==m&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,h|=8),l){let i=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(i)&&(o=!0),o||s.lineWrapping&&Math.abs(m-this.contentDOMWidth)>s.charWidth){let{lineHeight:t,charWidth:n,textHeight:a}=e.docView.measureTextSize();o=t>0&&s.refresh(r,t,n,a,m/n,i),o&&(e.docView.minWidth=0,h|=8)}p>0&&O>0?c=Math.max(p,O):p<0&&O<0&&(c=Math.min(p,O)),s.heightChanged=!1;for(let n of this.viewports){let r=n.from==this.viewport.from?i:e.docView.measureVisibleLineHeights(n);this.heightMap=(o?Kn.empty().applyChanges(this.stateDeco,t.empty,this.heightOracle,[new Mi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new Gn(n.from,r))}s.heightChanged&&(h|=2)}let b=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return b&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&h||b)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,e){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:r,visibleBottom:o}=this,a=new ds(n.lineAt(r-1e3*i,Hn.ByHeight,s,0,0).from,n.lineAt(o+1e3*(1-i),Hn.ByHeight,s,0,0).to);if(e){let{head:t}=e.range;if(ta.to){let i,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=n.lineAt(t,Hn.ByPos,s,0,0);i="center"==e.y?(o.top+o.bottom)/2-r/2:"start"==e.y||"nearest"==e.y&&t=o+Math.max(10,Math.min(i,250)))&&n>r-2e3&&s>1,r=n<<1;if(this.defaultTextDirection!=Wi.LTR&&!i)return[];let o=[],a=(n,r,l,h)=>{if(r-nn&&tt.from>=l.from&&t.to<=l.to&&Math.abs(t.from-n)t.frome))));if(!d){if(rt.from<=r&&t.to>=r))){let t=e.moveToLineBoundary(A.cursor(r),!1,!0).head;t>n&&(r=t)}d=new hs(n,r,this.gapSize(l,n,r,h))}o.push(d)};for(let t of this.viewportLines){if(t.lengtht.from&&a(t.from,s,t,e),ot.draw(this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let e=[];_t.spans(t,this.viewport.from,this.viewport.to,{span(t,i){e.push({from:t,to:i})},point(){}},20);let i=e.length!=this.visibleRanges.length||this.visibleRanges.some(((t,i)=>t.from!=e[i].from||t.to!=e[i].to));return this.visibleRanges=e,i?4:0}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find((e=>e.from<=t&&e.to>=t))||bs(this.heightMap.lineAt(t,Hn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return bs(this.heightMap.lineAt(this.scaler.fromDOM(t),Hn.ByHeight,this.heightOracle,0,0),this.scaler)}elementAtHeight(t){return bs(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class ds{constructor(t,e){this.from=t,this.to=e}}function fs(t,e,i){let n=[],s=t,r=0;return _t.spans(i,t,e,{span(){},point(t,e){t>s&&(n.push({from:s,to:t}),r+=t-s),s=e}},20),s=1)return e[e.length-1].to;let n=Math.floor(t*i);for(let t=0;;t++){let{from:i,to:s}=e[t],r=s-i;if(n<=r)return i+n;n-=r}}function Os(t,e){let i=0;for(let{from:n,to:s}of t.ranges){if(e<=s){i+=e-n;break}i+=s-n}return i/t.total}const gs={toDOM:t=>t,fromDOM:t=>t,scale:1};class ms{constructor(t,e,i){let n=0,s=0,r=0;this.viewports=i.map((({from:i,to:s})=>{let r=e.lineAt(i,Hn.ByPos,t,0,0).top,o=e.lineAt(s,Hn.ByPos,t,0,0).bottom;return n+=o-r,{from:i,to:s,top:r,bottom:o,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(e.height-n);for(let t of this.viewports)t.domTop=r+(t.top-s)*this.scale,r=t.domBottom=t.domTop+(t.bottom-t.top),s=t.bottom}toDOM(t){for(let e=0,i=0,n=0;;e++){let s=ebs(t,e))):t.type)}const ws=E.define({combine:t=>t.join(" ")}),vs=E.define({combine:t=>t.indexOf(!0)>-1}),Ss=It.newName(),ys=It.newName(),xs=It.newName(),ks={"&light":"."+ys,"&dark":"."+xs};function Qs(t,e,i){return new It(e,{finish:e=>/&/.test(e)?e.replace(/&\w*/,(e=>{if("&"==e)return t;if(!i||!i[e])throw new RangeError(`Unsupported selector: ${e}`);return i[e]})):t+" "+e})}const $s=Qs("."+Ss,{"&":{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},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",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":{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:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&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",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&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",borderRadius:"4px",marginTop:"0.5rem",width:"30%",minWidth:"190px",marginLeft:"auto",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".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"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".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:"#333338",fontSize:"70%",padding:".2em 1em",borderRadius:"4px"},"&light .cm-button":{background:"#eee"},"&dark .cm-button":{background:"#eee"},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",borderRadius:"0.25rem",border:"1px solid silver",padding:".0em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},ks);class Ps{constructor(t,e,i,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:s,impreciseAnchor:r}=t.docView;if(t.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=t.docView.domBoundsAround(e,i,0))){let e=s||r?[]:function(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:n,focusNode:s,focusOffset:r}=t.observer.selectionRange;i&&(e.push(new nn(i,n)),s==i&&r==n||e.push(new nn(s,r)));return e}(t),i=new tn(e,t.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function(t,e){if(0==t.length)return null;let i=t[0].pos,n=2==t.length?t[1].pos:i;return i>-1&&n>-1?A.single(i+e,n+e):null}(e,this.bounds.from)}else{let e=t.observer.selectionRange,i=s&&s.node==e.focusNode&&s.offset==e.focusOffset||!ne(t.contentDOM,e.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(e.focusNode,e.focusOffset),n=r&&r.node==e.anchorNode&&r.offset==e.anchorOffset||!ne(t.contentDOM,e.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(e.anchorNode,e.anchorOffset);this.newSel=A.single(n,i)}}}function Cs(e,i){let n,{newSel:s}=i,r=e.state.selection.main;if(i.bounds){let{from:s,to:o}=i.bounds,a=r.from,l=null;(8===e.inputState.lastKeyCode&&e.inputState.lastKeyTime>Date.now()-100||De.android&&i.text.length0&&a>0&&t.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if("end"==n){i-=o+Math.max(0,r-Math.min(o,a))-r}if(o=o?r-i:0,a=r+(a-o),o=r}else if(a=a?r-i:0,o=r+(o-a),a=r}return{from:r,toA:o,toB:a}}(e.state.doc.sliceString(s,o,Ki),i.text,a-s,l);h&&(De.chrome&&13==e.inputState.lastKeyCode&&h.toB==h.from+2&&i.text.slice(h.from,h.toB)==Ki+Ki&&h.toB--,n={from:s+h.from,to:s+h.toA,insert:t.of(i.text.slice(h.from,h.toB).split(Ki))})}else s&&(!e.hasFocus&&e.state.facet($i)||s.main.eq(r))&&(s=null);if(!n&&!s)return!1;if(!n&&i.typeOver&&!r.empty&&s&&s.main.empty?n={from:r.from,to:r.to,insert:e.state.doc.slice(r.from,r.to)}:n&&n.from>=r.from&&n.to<=r.to&&(n.from!=r.from||n.to!=r.to)&&r.to-r.from-(n.to-n.from)<=4?n={from:r.from,to:r.to,insert:e.state.doc.slice(r.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,r.to))}:(De.mac||De.android)&&n&&n.from==n.to&&n.from==r.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(s&&2==n.insert.length&&(s=A.single(s.main.anchor-1,s.main.head-1)),n={from:r.from,to:r.to,insert:t.of([" "])}):De.chrome&&n&&n.from==n.to&&n.from==r.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(s&&(s=A.single(s.main.anchor-1,s.main.head-1)),n={from:r.from,to:r.to,insert:t.of([" "])}),n){let t=e.state;if(De.ios&&e.inputState.flushIOSKey(e))return!0;if(De.android&&(n.from==r.from&&n.to==r.to&&1==n.insert.length&&2==n.insert.lines&&be(e.contentDOM,"Enter",13)||n.from==r.from-1&&n.to==r.to&&0==n.insert.length&&be(e.contentDOM,"Backspace",8)||n.from==r.from&&n.to==r.to+1&&0==n.insert.length&&be(e.contentDOM,"Delete",46)))return!0;let i,o=n.insert.toString();if(e.state.facet(wi).some((t=>t(e,n.from,n.to,o))))return!0;if(e.inputState.composing>=0&&e.inputState.composing++,n.from>=r.from&&n.to<=r.to&&n.to-n.from>=(r.to-r.from)/3&&(!s||s.main.empty&&s.main.from==n.from+n.insert.length)&&e.inputState.composing<0){let s=r.fromn.to?t.sliceDoc(n.to,r.to):"";i=t.replaceSelection(e.state.toText(s+n.insert.sliceString(0,void 0,e.state.lineBreak)+o))}else{let o=t.changes(n),a=s&&s.main.to<=o.newLength?s.main:void 0;if(t.selection.ranges.length>1&&e.inputState.composing>=0&&n.to<=r.to&&n.to>=r.to-10){let s=e.state.sliceDoc(n.from,n.to),l=on(e)||e.state.doc.lineAt(r.head),h=r.to-n.to,c=r.to-r.from;i=t.changeByRange((i=>{if(i.from==r.from&&i.to==r.to)return{changes:o,range:a||i.map(o)};let u=i.to-h,d=u-s.length;if(i.to-i.from!=c||e.state.sliceDoc(d,u)!=s||l&&i.to>=l.from&&i.from<=l.to)return{range:i};let f=t.changes({from:d,to:u,insert:n.insert}),p=i.to-r.to;return{changes:f,range:a?A.range(Math.max(0,a.anchor+p),Math.max(0,a.head+p)):i.map(f)}}))}else i={changes:o,selection:a&&t.selection.replaceRange(a)}}let a="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,a+=".compose",e.inputState.compositionFirstChange&&(a+=".start",e.inputState.compositionFirstChange=!1)),e.dispatch(i,{scrollIntoView:!0,userEvent:a}),!0}if(s&&!s.main.eq(r)){let t=!1,i="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),i=e.inputState.lastSelectionOrigin),e.dispatch({selection:s,scrollIntoView:t,userEvent:i}),!0}return!1}const _s={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Xs=De.ie&&De.ie_version<=11;class Zs{constructor(t){this.view=t,this.active=!1,this.selectionRange=new fe,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.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver((e=>{for(let t of e)this.queue.push(t);(De.ie&&De.ie_version<=11||De.ios&&t.composing)&&e.some((t=>"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length))?this.flushSoon():this.flush()})),Xs&&(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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var t;(null===(t=this.view.docView)||void 0===t?void 0:t.lastUpdate)this.view.requestMeasure())),this.resizeContent.observe(t.contentDOM)),this.addWindowListeners(this.win=t.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((t=>{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")))}),{}),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(t){this.view.inputState.runScrollHandlers(this.view,t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500)}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some(((e,i)=>e!=t[i])))){this.gapIntersection.disconnect();for(let e of t)this.gapIntersection.observe(e);this.gaps=t}}onSelectionChange(t){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet($i)?i.root.activeElement!=this.dom:!se(i.dom,n))return;let s=n.anchorNode&&i.docView.nearest(n.anchorNode);s&&s.ignoreEvent(t)?e||(this.selectionChanged=!1):(De.ie&&De.ie_version<=11||De.android&&De.chrome)&&!i.state.selection.main.empty&&n.focusNode&&oe(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,e=De.safari&&11==t.root.nodeType&&function(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}(this.dom.ownerDocument)==this.dom&&function(t){let e=null;function i(t){t.preventDefault(),t.stopImmediatePropagation(),e=t.getTargetRanges()[0]}if(t.contentDOM.addEventListener("beforeinput",i,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",i,!0),!e)return null;let n=e.startContainer,s=e.startOffset,r=e.endContainer,o=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor);oe(a.node,a.offset,r,o)&&([n,s,r,o]=[r,o,n,s]);return{anchorNode:n,anchorOffset:s,focusNode:r,focusOffset:o}}(this.view)||ie(t.root);if(!e||this.selectionRange.eq(e))return!1;let i=se(this.dom,e);return i&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime{let t=this.delayedAndroidKey;t&&(this.clearDelayedAndroidKey(),!this.flush()&&t.force&&be(this.dom,t.key,t.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(t)}this.delayedAndroidKey&&"Enter"!=t||(this.delayedAndroidKey={key:t,keyCode:e,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 t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let e=-1,i=-1,n=!1;for(let s of t){let t=this.readMutation(s);t&&(t.typeOver&&(n=!0),-1==e?({from:e,to:i}=t):(e=Math.min(t.from,e),i=Math.max(t.to,i)))}return{from:e,to:i,typeOver:n}}readChange(){let{from:t,to:e,typeOver:i}=this.processRecords(),n=this.selectionChanged&&se(this.dom,this.selectionRange);return t<0&&!n?null:(t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new Ps(this.view,t,e,i))}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let e=this.readChange();if(!e)return!1;let i=this.view.state,n=Cs(this.view,e);return this.view.state==i&&this.view.update([]),n}readMutation(t){let e=this.view.docView.nearest(t.target);if(!e||e.ignoreMutation(t))return null;if(e.markDirty("attributes"==t.type),"attributes"==t.type&&(e.dirty|=4),"childList"==t.type){let i=As(e,t.previousSibling||t.target.previousSibling,-1),n=As(e,t.nextSibling||t.target.nextSibling,1);return{from:i?e.posAfter(i):e.posAtStart,to:n?e.posBefore(n):e.posAtEnd,typeOver:!1}}return"characterData"==t.type?{from:e.posAtStart,to:e.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var t,e,i,n;this.stop(),null===(t=this.intersection)||void 0===t||t.disconnect(),null===(e=this.gapIntersection)||void 0===e||e.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect(),null===(n=this.resizeContent)||void 0===n||n.disconnect();for(let t of this.scrollTargets)t.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function As(t,e,i){for(;e;){let n=ye.get(e);if(n&&n.parent==t)return n;let s=e.parentNode;e=s!=t.dom?s:i>0?e.nextSibling:e.previousSibling}return null}class Ts{constructor(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.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=t.dispatch||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this._root=t.root||function(t){for(;t;){if(t&&(9==t.nodeType||11==t.nodeType&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}(t.parent)||document,this.viewState=new us(t.state||xt.create(t)),this.plugins=this.state.facet(Ci).map((t=>new Xi(t)));for(let t of this.plugins)t.update(this);this.observer=new Zs(this),this.inputState=new Sn(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new sn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),t.parent&&t.parent.appendChild(this.dom)}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.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...t){this._dispatch(1==t.length&&t[0]instanceof dt?t[0]:this.state.update(...t))}update(t){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let e,i=!1,n=!1,s=this.state;for(let e of t){if(e.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=e.state}if(this.destroyed)return void(this.viewState.state=s);let r=this.hasFocus,o=0,a=null;t.some((t=>t.annotation(zn)))?(this.inputState.notifiedFocused=r,o=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,a=In(s,r),a||(o=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(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(xt.phrases)!=this.state.facet(xt.phrases))return this.setState(s);e=Di.create(this,s,t),e.flags|=o;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let e of t){if(c&&(c=c.map(e.changes)),e.scrollIntoView){let{main:t}=e.state.selection;c=new xi(t.empty?t:A.cursor(t.head,t.head>t.anchor?-1:1))}for(let t of e.effects)t.is(ki)&&(c=t.value)}this.viewState.update(e,c),this.bidiCache=Vs.update(this.bidiCache,e.changes),e.empty||(this.updatePlugins(e),this.inputState.update(e)),i=this.docView.update(e),this.state.facet(Vi)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(i,t.some((t=>t.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(e.startState.facet(ws)!=e.state.facet(ws)&&(this.viewState.mustMeasureContent=!0),(i||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!e.empty)for(let t of this.state.facet(bi))t(e);(a||h)&&Promise.resolve().then((()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Cs(this,h)&&l.force&&be(this.contentDOM,l.key,l.keyCode)}))}setState(t){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=t);this.updateState=2;let e=this.hasFocus;try{for(let t of this.plugins)t.destroy(this);this.viewState=new us(t),this.plugins=t.facet(Ci).map((t=>new Xi(t))),this.pluginMap.clear();for(let t of this.plugins)t.update(this);this.docView=new sn(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}e&&this.focus(),this.requestMeasure()}updatePlugins(t){let e=t.startState.facet(Ci),i=t.state.facet(Ci);if(e!=i){let n=[];for(let s of i){let i=e.indexOf(s);if(i<0)n.push(new Xi(s));else{let e=this.plugins[i];e.mustUpdate=t,n.push(e)}}for(let e of this.plugins)e.mustUpdate!=t&&e.destroy(this);this.plugins=n,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let e of this.plugins)e.mustUpdate=t;for(let t=0;t-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,t&&this.observer.forceFlush();let e=null,{scrollHeight:i,scrollTop:n,clientHeight:s}=this.scrollDOM,r=n>i-s-4?i:n;try{for(let t=0;;t++){this.updateState=1;let i=this.viewport,n=this.viewState.lineBlockAtHeight(r),s=this.viewState.measure(this);if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(t>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let o=[];4&s||([this.measureRequests,o]=[o,this.measureRequests]);let a=o.map((t=>{try{return t.read(this)}catch(t){return Qi(this.state,t),Es}})),l=Di.create(this,this.state,[]),h=!1,c=!1;l.flags|=s,e?e.flags|=s:e=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),h=this.docView.update(l));for(let t=0;t1||t<-1)&&(this.scrollDOM.scrollTop+=t,c=!0)}if(h&&this.docView.updateSelection(!0),this.viewport.from==i.from&&this.viewport.to==i.to&&!c&&0==this.measureRequests.length)break}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let t of this.state.facet(bi))t(e)}get themeClasses(){return Ss+" "+(this.state.facet(vs)?xs:ys)+" "+this.state.facet(ws)}updateAttrs(){let t=Ms(this,Zi,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet($i)?"true":"false",class:"cm-content",style:`${De.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(e["aria-readonly"]="true"),Ms(this,Ai,e);let i=this.observer.ignore((()=>{let i=ti(this.contentDOM,this.contentAttrs,e),n=ti(this.dom,this.editorAttrs,t);return i||n}));return this.editorAttrs=t,this.contentAttrs=e,i}showAnnouncements(t){let e=!0;for(let i of t)for(let t of i.effects)if(t.is(Ts.announce)){e&&(this.announceDOM.textContent=""),e=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=t.value}}mountStyles(){this.styleModules=this.state.facet(Vi),It.mount(this.root,this.styleModules.concat($s).reverse())}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),t){if(this.measureRequests.indexOf(t)>-1)return;if(null!=t.key)for(let e=0;ee.spec==t))||null),e&&e.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,e,i){return vn(this,t,wn(this,t,e,i))}moveByCharSelected(t,e,i){return vn(this,t,wn(this,t,e,i),!0)}moveByGroup(t,e){return vn(this,t,wn(this,t,e,(e=>function(t,e,i){let n=t.state.charCategorizer(e),s=n(i);return t=>{let e=n(t);return s==wt.Space&&(s=e),s==e}}(this,t.head,e))))}moveToLineBoundary(t,e,i=!0){return function(t,e,i,n){let s=t.state.doc.lineAt(e.head),r=n&&t.lineWrapping?t.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head):null;if(r){let e=t.dom.getBoundingClientRect(),n=t.textDirectionAt(s.from),o=t.posAtCoords({x:i==(n==Wi.LTR)?e.right-1:e.left+1,y:(r.top+r.bottom)/2});if(null!=o)return A.cursor(o,i?-1:1)}let o=hi.find(t.docView,e.head),a=o?i?o.posAtEnd:o.posAtStart:i?s.to:s.from;return A.cursor(a,i?-1:1)}(this,t,e,i)}moveVertically(t,e,i){return vn(this,t,function(t,e,i,n){let s=e.head,r=i?1:-1;if(s==(i?t.state.doc.length:0))return A.cursor(s,e.assoc);let o,a=e.goalColumn,l=t.contentDOM.getBoundingClientRect(),h=t.coordsAtPos(s),c=t.documentTop;if(h)null==a&&(a=h.left-l.left),o=r<0?h.top:h.bottom;else{let e=t.viewState.lineBlockAt(s);null==a&&(a=Math.min(l.right-l.left,t.defaultCharacterWidth*(s-e.from))),o=(r<0?e.top:e.bottom)+c}let u=l.left+a,d=null!=n?n:t.defaultLineHeight>>1;for(let i=0;;i+=10){let n=o+(d+i)*r,h=mn(t,{x:u,y:n},!1,r);if(nl.bottom||(r<0?hs))return A.cursor(h,e.assoc,void 0,a)}}(this,t,e,i))}domAtPos(t){return this.docView.domAtPos(t)}posAtDOM(t,e=0){return this.docView.posFromDOM(t,e)}posAtCoords(t,e=!0){return this.readMeasured(),mn(this,t,e)}coordsAtPos(t,e=1){this.readMeasured();let i=this.docView.coordsAt(t,e);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(t),s=this.bidiSpans(n);return ue(i,s[Ni.find(s,t-n.from,-1,e)].dir==Wi.LTR==e>0)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(Si)||tthis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>Rs)return Fi(t.length);let e=this.textDirectionAt(t.from);for(let i of this.bidiCache)if(i.from==t.from&&i.dir==e)return i.order;let i=function(t,e){let i=t.length,n=e==Ui?1:2,s=e==Ui?2:1;if(!t||1==n&&!ji.test(t))return Fi(i);for(let e=0,s=n,o=n;e=0;t-=3)if(Bi[t+1]==-r){let e=Bi[t+2],i=2&e?n:4&e?1&e?s:n:0;i&&(Gi[a]=Gi[Bi[t]]=i),l=t;break}}else{if(189==Bi.length)break;Bi[l++]=a,Bi[l++]=e,Bi[l++]=h}else if(2==(o=Gi[a])||1==o){let t=o==n;h=t?0:1;for(let e=l-3;e>=0;e-=3){let i=Bi[e+2];if(2&i)break;if(t)Bi[e+2]|=2;else{if(4&i)break;Bi[e+2]|=4}}}for(let t=0;te;){let t=i,n=2!=Gi[--i];for(;i>e&&n==(2!=Gi[i-1]);)i--;o.push(new Ni(i,t,n?2:1))}else o.push(new Ni(e,t,0))}else for(let t=0;tDate.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{ge(this.contentDOM),this.docView.updateSelection()}))}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((9==t.nodeType?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,e={}){return ki.of(new xi("number"==typeof t?A.cursor(t):t,e.y,e.x,e.yMargin,e.xMargin))}static domEventHandlers(t){return _i.define((()=>({})),{eventHandlers:t})}static theme(t,e){let i=It.newName(),n=[ws.of(i),Vi.of(Qs(`.${i}`,t))];return e&&e.dark&&n.push(vs.of(!0)),n}static baseTheme(t){return N.lowest(Vi.of(Qs("."+Ss,t,ks)))}static findFromDOM(t){var e;let i=t.querySelector(".cm-content"),n=i&&ye.get(i)||ye.get(t);return(null===(e=null==n?void 0:n.rootView)||void 0===e?void 0:e.view)||null}}Ts.styleModule=Vi,Ts.inputHandler=wi,Ts.focusChangeEffect=vi,Ts.perLineTextDirection=Si,Ts.exceptionSink=mi,Ts.updateListener=bi,Ts.editable=$i,Ts.mouseSelectionStyle=gi,Ts.dragMovesSelection=Oi,Ts.clickAddsSelectionRange=pi,Ts.decorations=Ti,Ts.atomicRanges=Ri,Ts.scrollMargins=Ei,Ts.darkTheme=vs,Ts.contentAttributes=Ai,Ts.editorAttributes=Zi,Ts.lineWrapping=Ts.contentAttributes.of({class:"cm-lineWrapping"}),Ts.announce=ut.define();const Rs=4096,Es={};class Vs{constructor(t,e,i,n){this.from=t,this.to=e,this.dir=i,this.order=n}static update(t,e){if(e.empty)return t;let i=[],n=t.length?t[t.length-1].dir:Wi.LTR;for(let s=Math.max(0,t.length-10);s=0;s--){let e=n[s],r="function"==typeof e?e(t):e;r&&Je(r,i)}return i}const Ds=De.mac?"mac":De.windows?"win":De.linux?"linux":"key";function Ws(t,e,i){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),!1!==i&&e.shiftKey&&(t="Shift-"+t),t}const Us=N.default(Ts.domEventHandlers({keydown:(t,e)=>Bs(Ls(e.state),t,e,"editor")})),Ys=E.define({enables:Us}),qs=new WeakMap;function Ls(t){let e=t.facet(Ys),i=qs.get(e);return i||qs.set(e,i=function(t,e=Ds){let i=Object.create(null),n=Object.create(null),s=(t,e)=>{let i=n[t];if(null==i)n[t]=e;else if(i!=e)throw new Error("Key binding "+t+" is used both as a regular binding and as a multi-stroke prefix")},r=(t,n,r,o)=>{var a,l;let h=i[t]||(i[t]=Object.create(null)),c=n.split(/ (?!$)/).map((t=>function(t,e){const i=t.split(/-(?!$)/);let n,s,r,o,a=i[i.length-1];"Space"==a&&(a=" ");for(let t=0;t{let n=zs={view:e,prefix:i,scope:t};return setTimeout((()=>{zs==n&&(zs=null)}),Is),!0}]})}let u=c.join(" ");s(u,!1);let d=h[u]||(h[u]={preventDefault:!1,run:(null===(l=null===(a=h._any)||void 0===a?void 0:a.run)||void 0===l?void 0:l.slice())||[]});r&&d.run.push(r),o&&(d.preventDefault=!0)};for(let n of t){let t=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let e of t){let t=i[e]||(i[e]=Object.create(null));t._any||(t._any={preventDefault:!1,run:[]});for(let e in t)t[e].run.push(n.any)}let s=n[e]||n.key;if(s)for(let e of t)r(e,s,n.run,n.preventDefault),n.shift&&r(e,"Shift-"+s,n.shift,n.preventDefault)}return i}(e.reduce(((t,e)=>t.concat(e)),[]))),i}let zs=null;const Is=4e3;function Bs(t,e,i,n){let s=function(t){var e=!(Kt&&(t.ctrlKey||t.altKey||t.metaKey)||Jt&&t.shiftKey&&t.key&&1==t.key.length||"Unidentified"==t.key)&&t.key||(t.shiftKey?Gt:Nt)[t.keyCode]||t.key||"Unidentified";return"Esc"==e&&(e="Escape"),"Del"==e&&(e="Delete"),"Left"==e&&(e="ArrowLeft"),"Up"==e&&(e="ArrowUp"),"Right"==e&&(e="ArrowRight"),"Down"==e&&(e="ArrowDown"),e}(e),r=v(b(s,0))==s.length&&" "!=s,o="",a=!1;zs&&zs.view==i&&zs.scope==n&&(o=zs.prefix+" ",(a=kn.indexOf(e.keyCode)<0)&&(zs=null));let l,h,c=new Set,u=t=>{if(t){for(let n of t.run)if(!c.has(n)&&(c.add(n),n(i,e)))return!0;t.preventDefault&&(a=!0)}return!1},d=t[n];if(d){if(u(d[o+Ws(s,e,!r)]))return!0;if(r&&(e.altKey||e.metaKey||e.ctrlKey)&&!(De.windows&&e.ctrlKey&&e.altKey)&&(l=Nt[e.keyCode])&&l!=s){if(u(d[o+Ws(l,e,!0)]))return!0;if(e.shiftKey&&(h=Gt[e.keyCode])!=s&&h!=l&&u(d[o+Ws(h,e,!1)]))return!0}else if(r&&e.shiftKey&&u(d[o+Ws(s,e,!0)]))return!0;if(u(d._any))return!0}return a}class js{constructor(t,e,i,n,s){this.className=t,this.left=e,this.top=i,this.width=n,this.height=s}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,e){return e.className==this.className&&(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",null!=this.width&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,e,i){if(i.empty){let n=t.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let s=Ns(t);return[new js(e,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}return function(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let n=Math.max(i.from,t.viewport.from),s=Math.min(i.to,t.viewport.to),r=t.textDirection==Wi.LTR,o=t.contentDOM,a=o.getBoundingClientRect(),l=Ns(t),h=o.querySelector(".cm-line"),c=h&&window.getComputedStyle(h),u=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),d=a.right-(c?parseInt(c.paddingRight):0),f=Fs(t,n),p=Fs(t,s),O=f.type==ii.Text?f:null,g=p.type==ii.Text?p:null;t.lineWrapping&&(O&&(O=Gs(t,n,O)),g&&(g=Gs(t,s,g)));if(O&&g&&O.from==g.from)return b(w(i.from,i.to,O));{let e=O?w(i.from,null,O):v(f,!1),n=g?w(null,i.to,g):v(p,!0),s=[];return(O||f).to<(g||p).from-1?s.push(m(u,e.bottom,d,n.top)):e.bottomh&&n.from=r)break;a>s&&l(Math.max(t,s),null==e&&t<=h,Math.min(a,r),null==i&&a>=c,o.dir)}if(s=n.to+1,s>=r)break}return 0==a.length&&l(h,null==e,c,null==i,t.textDirection),{top:s,bottom:o,horizontal:a}}function v(t,e){let i=a.top+(e?t.top:t.bottom);return{top:i,bottom:i,horizontal:[]}}}(t,e,i)}}function Ns(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Wi.LTR?e.left:e.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,top:e.top-t.scrollDOM.scrollTop}}function Gs(t,e,i){let n=A.cursor(e);return{from:Math.max(i.from,t.moveToLineBoundary(n,!1,!0).from),to:Math.min(i.to,t.moveToLineBoundary(n,!0,!0).from),type:ii.Text}}function Fs(t,e){let i=t.lineBlockAt(e);if(Array.isArray(i.type))for(let t of i.type)if(t.to>e||t.to==e&&(t.to==i.to||t.type==ii.Text))return t;return i}class Hs{constructor(t,e){this.view=t,this.layer=e,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),e.above&&this.dom.classList.add("cm-layer-above"),e.class&&this.dom.classList.add(e.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),e.mount&&e.mount(this.dom,t)}update(t){t.startState.facet(Js)!=t.state.facet(Js)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&t.view.requestMeasure(this.measureReq)}setOrder(t){let e=0,i=t.facet(Js);for(;e{return i=t,n=this.drawn[e],!(i.constructor==n.constructor&&i.eq(n));var i,n}))){let e=this.dom.firstChild,i=0;for(let n of t)n.update&&e&&n.constructor&&this.drawn[i].constructor&&n.update(e,this.drawn[i])?(e=e.nextSibling,i++):this.dom.insertBefore(n.draw(),e);for(;e;){let t=e.nextSibling;e.remove(),e=t}this.drawn=t}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Js=E.define();function Ks(t){return[_i.define((e=>new Hs(e,t))),Js.of(t)]}const tr=!De.ios,er=E.define({combine:t=>kt(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(t,e)=>Math.min(t,e),drawRangeCursor:(t,e)=>t||e})});function ir(t={}){return[er.of(t),sr,or,lr,yi.of(!0)]}function nr(t){return t.startState.facet(er)!=t.state.facet(er)}const sr=Ks({above:!0,markers(t){let{state:e}=t,i=e.facet(er),n=[];for(let s of e.selection.ranges){let r=s==e.selection.main;if(s.empty?!r||tr:i.drawRangeCursor){let e=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=s.empty?s:A.cursor(s.head,s.head>s.anchor?-1:1);for(let s of js.forRange(t,e,i))n.push(s)}}return n},update(t,e){t.transactions.some((t=>t.selection))&&(e.style.animationName="cm-blink"==e.style.animationName?"cm-blink2":"cm-blink");let i=nr(t);return i&&rr(t.state,e),t.docChanged||t.selectionSet||i},mount(t,e){rr(e.state,t)},class:"cm-cursorLayer"});function rr(t,e){e.style.animationDuration=t.facet(er).cursorBlinkRate+"ms"}const or=Ks({above:!1,markers:t=>t.state.selection.ranges.map((e=>e.empty?[]:js.forRange(t,"cm-selectionBackground",e))).reduce(((t,e)=>t.concat(e))),update:(t,e)=>t.docChanged||t.selectionSet||t.viewportChanged||nr(t),class:"cm-selectionLayer"}),ar={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};tr&&(ar[".cm-line"].caretColor="transparent !important");const lr=N.highest(Ts.theme(ar)),hr=ut.define({map:(t,e)=>null==t?null:e.mapPos(t)}),cr=q.define({create:()=>null,update:(t,e)=>(null!=t&&(t=e.changes.mapPos(t)),e.effects.reduce(((t,e)=>e.is(hr)?e.value:t),t))}),ur=_i.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let i=t.state.field(cr);null==i?null!=this.cursor&&(null===(e=this.cursor)||void 0===e||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(cr)!=i||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let t=this.view.state.field(cr),e=null!=t&&this.view.coordsAtPos(t);if(!e)return null;let i=this.view.scrollDOM.getBoundingClientRect();return{left:e.left-i.left+this.view.scrollDOM.scrollLeft,top:e.top-i.top+this.view.scrollDOM.scrollTop,height:e.bottom-e.top}}drawCursor(t){this.cursor&&(t?(this.cursor.style.left=t.left+"px",this.cursor.style.top=t.top+"px",this.cursor.style.height=t.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(cr)!=t&&this.view.dispatch({effects:hr.of(t)})}},{eventHandlers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){t.target!=this.view.contentDOM&&this.view.contentDOM.contains(t.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dr(){return[cr,ur]}function fr(t,e,i,n,s){e.lastIndex=0;for(let r,o=t.iterRange(i,n),a=i;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;r=e.exec(o.value);)s(a+r.index,r)}class pr{constructor(t){const{regexp:e,decoration:i,decorate:n,boundary:s,maxLength:r=1e3}=t;if(!e.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=e,n)this.addMatch=(t,e,i,s)=>n(s,i,i+t[0].length,t,e);else if("function"==typeof i)this.addMatch=(t,e,n,s)=>{let r=i(t,e,n);r&&s(n,n+t[0].length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(t,e,n,s)=>s(n,n+t[0].length,i)}this.boundary=s,this.maxLength=r}createDeco(t){let e=new Xt,i=e.add.bind(e);for(let{from:e,to:n}of function(t,e){let i=t.visibleRanges;if(1==i.length&&i[0].from==t.viewport.from&&i[0].to==t.viewport.to)return i;let n=[];for(let{from:s,to:r}of i)s=Math.max(t.state.doc.lineAt(s).from,s-e),r=Math.min(t.state.doc.lineAt(r).to,r+e),n.length&&n[n.length-1].to>=s?n[n.length-1].to=r:n.push({from:s,to:r});return n}(t,this.maxLength))fr(t.state.doc,this.regexp,e,n,((e,n)=>this.addMatch(n,t,e,i)));return e.finish()}updateDeco(t,e){let i=1e9,n=-1;return t.docChanged&&t.changes.iterChanges(((e,s,r,o)=>{o>t.view.viewport.from&&r1e3?this.createDeco(t.view):n>-1?this.updateRange(t.view,e.map(t.changes),i,n):e}updateRange(t,e,i,n){for(let s of t.visibleRanges){let r=Math.max(s.from,i),o=Math.min(s.to,n);if(o>r){let i=t.state.doc.lineAt(r),n=i.toi.from;r--)if(this.boundary.test(i.text[r-1-i.from])){a=r;break}for(;oc.push(i.range(t,e));if(i==n)for(this.regexp.lastIndex=a-i.from;(h=this.regexp.exec(i.text))&&h.indexthis.addMatch(i,t,e,u)));e=e.update({filterFrom:a,filterTo:l,filter:(t,e)=>tl,add:c})}}return e}}const Or=null!=/x/.unicode?"gu":"g",gr=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Or),mr={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let br=null;const wr=E.define({combine(t){let e=kt(t,{render:null,specialChars:gr,addSpecialChars:null});return(e.replaceTabs=!function(){var t;if(null==br&&"undefined"!=typeof document&&document.body){let e=document.body.style;br=null!=(null!==(t=e.tabSize)&&void 0!==t?t:e.MozTabSize)}return br||!1}())&&(e.specialChars=new RegExp("\t|"+e.specialChars.source,Or)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Or)),e}});function vr(t={}){return[wr.of(t),Sr||(Sr=_i.fromClass(class{constructor(t){this.view=t,this.decorations=ni.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(wr)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new pr({regexp:t.specialChars,decoration:(e,i,n)=>{let{doc:s}=i.state,r=b(e[0],0);if(9==r){let t=s.lineAt(n),e=i.state.tabSize,r=Yt(t.text,e,n-t.from);return ni.replace({widget:new xr((e-r%e)*this.view.defaultCharacterWidth)})}return this.decorationCache[r]||(this.decorationCache[r]=ni.replace({widget:new yr(t,r)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(wr);t.startState.facet(wr)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))]}let Sr=null;class yr extends ei{constructor(t,e){super(),this.options=t,this.code=e}eq(t){return t.code==this.code}toDOM(t){let e=function(t){return t>=32?"•":10==t?"␤":String.fromCharCode(9216+t)}(this.code),i=t.state.phrase("Control character")+" "+(mr[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,e);if(n)return n;let s=document.createElement("span");return s.textContent=e,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class xr extends ei{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent="\t",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}class kr extends ei{constructor(t){super(),this.content=t}toDOM(){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?t.setAttribute("aria-label","placeholder "+this.content):t.setAttribute("aria-hidden","true"),t}ignoreEvent(){return!1}}const Qr="-10000px";class $r{constructor(t,e,i){this.facet=e,this.createTooltipView=i,this.input=t.state.facet(e),this.tooltips=this.input.filter((t=>t)),this.tooltipViews=this.tooltips.map(i)}update(t){var e;let i=t.state.facet(this.facet),n=i.filter((t=>t));if(i===this.input){for(let e of this.tooltipViews)e.update&&e.update(t);return!1}let s=[];for(let e=0;e{var e,i,n;return{position:De.ios?"absolute":(null===(e=t.find((t=>t.position)))||void 0===e?void 0:e.position)||"fixed",parent:(null===(i=t.find((t=>t.parent)))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(n=t.find((t=>t.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||Pr}}}),_r=new WeakMap,Xr=_i.fromClass(class{constructor(t){this.view=t,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(Cr);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new $r(t,Tr,(t=>this.createTooltip(t))),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t);e&&this.observeIntersection();let i=e||t.geometryChanged,n=t.state.facet(Cr);if(n.position!=this.position){this.position=n.position;for(let t of this.manager.tooltipViews)t.dom.style.position=this.position;i=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let t of this.manager.tooltipViews)this.container.appendChild(t.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(t){let e=t.create(this.view);if(e.dom.classList.add("cm-tooltip"),t.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let t=document.createElement("div");t.className="cm-tooltip-arrow",e.dom.appendChild(t)}return e.dom.style.position=this.position,e.dom.style.top=Qr,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var t,e;this.view.win.removeEventListener("resize",this.measureSoon);for(let e of this.manager.tooltipViews)e.dom.remove(),null===(t=e.destroy)||void 0===t||t.call(e);null===(e=this.intersectionObserver)||void 0===e||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=this.view.dom.getBoundingClientRect();return{editor:t,parent:this.parent?this.container.getBoundingClientRect():t,pos:this.manager.tooltips.map(((t,e)=>{let i=this.manager.tooltipViews[e];return i.getCoords?i.getCoords(t.pos):this.view.coordsAtPos(t.pos)})),size:this.manager.tooltipViews.map((({dom:t})=>t.getBoundingClientRect())),space:this.view.state.facet(Cr).tooltipSpace(this.view)}}writeMeasure(t){var e;let{editor:i,space:n}=t,s=[];for(let r=0;r=Math.min(i.bottom,n.bottom)||h.rightMath.min(i.right,n.right)+.1){l.style.top=Qr;continue}let u=o.arrow?a.dom.querySelector(".cm-tooltip-arrow"):null,d=u?7:0,f=c.right-c.left,p=null!==(e=_r.get(a))&&void 0!==e?e:c.bottom-c.top,O=a.offset||Ar,g=this.view.textDirection==Wi.LTR,m=c.width>n.right-n.left?g?n.left:n.right-c.width:g?Math.min(h.left-(u?14:0)+O.x,n.right-f):Math.max(n.left,h.left-f+(u?14:0)-O.x),b=!!o.above;!o.strictSide&&(b?h.top-(c.bottom-c.top)-O.yn.bottom)&&b==n.bottom-h.bottom>h.top-n.top&&(b=!b);let w=(b?h.top-n.top:n.bottom-h.bottom)-d;if(wm&&t.topv&&(v=b?t.top-p-2-d:t.bottom+d+2);"absolute"==this.position?(l.style.top=v-t.parent.top+"px",l.style.left=m-t.parent.left+"px"):(l.style.top=v+"px",l.style.left=m+"px"),u&&(u.style.left=h.left+(g?O.x:-O.x)-(m+14-7)+"px"),!0!==a.overlap&&s.push({left:m,top:v,right:S,bottom:v+p}),l.classList.toggle("cm-tooltip-above",b),l.classList.toggle("cm-tooltip-below",!b),a.positioned&&a.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Qr}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),Zr=Ts.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Ar={x:0,y:0},Tr=E.define({enables:[Xr,Zr]});function Rr(t,e){let i=t.plugin(Xr);if(!i)return null;let n=i.manager.tooltips.indexOf(e);return n<0?null:i.manager.tooltipViews[n]}const Er=E.define({combine(t){let e,i;for(let n of t)e=e||n.topContainer,i=i||n.bottomContainer;return{topContainer:e,bottomContainer:i}}});function Vr(t,e){let i=t.plugin(Mr),n=i?i.specs.indexOf(e):-1;return n>-1?i.panels[n]:null}const Mr=_i.fromClass(class{constructor(t){this.input=t.state.facet(Ur),this.specs=this.input.filter((t=>t)),this.panels=this.specs.map((e=>e(t)));let e=t.state.facet(Er);this.top=new Dr(t,!0,e.topContainer),this.bottom=new Dr(t,!1,e.bottomContainer),this.top.sync(this.panels.filter((t=>t.top))),this.bottom.sync(this.panels.filter((t=>!t.top)));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(t){let e=t.state.facet(Er);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Dr(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Dr(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(Ur);if(i!=this.input){let e=i.filter((t=>t)),n=[],s=[],r=[],o=[];for(let i of e){let e,a=this.specs.indexOf(i);a<0?(e=i(t.view),o.push(e)):(e=this.panels[a],e.update&&e.update(t)),n.push(e),(e.top?s:r).push(e)}this.specs=e,this.panels=n,this.top.sync(s),this.bottom.sync(r);for(let t of o)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}else for(let e of this.panels)e.update&&e.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Ts.scrollMargins.of((e=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}}))});class Dr{constructor(t,e,i){this.view=t,this.top=e,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let e of this.panels)e.destroy&&t.indexOf(e)<0&&e.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let t=this.dom.firstChild;for(let e of this.panels)if(e.dom.parentNode==this.dom){for(;t!=e.dom;)t=Wr(t);t=t.nextSibling}else this.dom.insertBefore(e.dom,t);for(;t;)t=Wr(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function Wr(t){let e=t.nextSibling;return t.remove(),e}const Ur=E.define({enables:Mr});class Yr extends Qt{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}Yr.prototype.elementClass="",Yr.prototype.toDOM=void 0,Yr.prototype.mapMode=y.TrackBefore,Yr.prototype.startSide=Yr.prototype.endSide=-1,Yr.prototype.point=!0;const qr=E.define(),Lr={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>_t.empty,lineMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},zr=E.define();function Ir(t){return[jr(),zr.of(Object.assign(Object.assign({},Lr),t))]}const Br=E.define({combine:t=>t.some((t=>t))});function jr(t){let e=[Nr];return t&&!1===t.fixed&&e.push(Br.of(!0)),e}const Nr=_i.fromClass(class{constructor(t){this.view=t,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=t.state.facet(zr).map((e=>new Jr(t,e)));for(let t of this.gutters)this.dom.appendChild(t.dom);this.fixed=!t.state.facet(Br),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}update(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,n=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(n<.8*(i.to-i.from))}t.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(Br)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&this.dom.remove();let i=_t.iter(this.view.state.facet(qr),this.view.viewport.from),n=[],s=this.gutters.map((t=>new Hr(t,this.view.viewport,-this.view.documentPadding.top)));for(let t of this.view.viewportLineBlocks){let e;if(Array.isArray(t.type)){for(let i of t.type)if(i.type==ii.Text){e=i;break}}else e=t.type==ii.Text?t:void 0;if(e){n.length&&(n=[]),Fr(i,n,t.from);for(let t of s)t.line(this.view,e,n)}}for(let t of s)t.finish();t&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(t){let e=t.startState.facet(zr),i=t.state.facet(zr),n=t.docChanged||t.heightChanged||t.viewportChanged||!_t.eq(t.startState.facet(qr),t.state.facet(qr),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let e of this.gutters)e.update(t)&&(n=!0);else{n=!0;let s=[];for(let n of i){let i=e.indexOf(n);i<0?s.push(new Jr(this.view,n)):(this.gutters[i].update(t),s.push(this.gutters[i]))}for(let t of this.gutters)t.dom.remove(),s.indexOf(t)<0&&t.destroy();for(let t of s)this.dom.appendChild(t.dom);this.gutters=s}return n}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove()}},{provide:t=>Ts.scrollMargins.of((e=>{let i=e.plugin(t);return i&&0!=i.gutters.length&&i.fixed?e.textDirection==Wi.LTR?{left:i.dom.offsetWidth}:{right:i.dom.offsetWidth}:null}))});function Gr(t){return Array.isArray(t)?t:[t]}function Fr(t,e,i){for(;t.value&&t.from<=i;)t.from==i&&e.push(t.value),t.next()}class Hr{constructor(t,e,i){this.gutter=t,this.height=i,this.i=0,this.cursor=_t.iter(t.markers,e.from)}line(t,e,i){let n=[];Fr(this.cursor,n,e.from),i.length&&(n=n.concat(i));let s=this.gutter.config.lineMarker(t,e,n);s&&n.unshift(s);let r=this.gutter;if(0==n.length&&!r.config.renderEmptyElements)return;let o=e.top-this.height;if(this.i==r.elements.length){let i=new Kr(t,e.height,o,n);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(t,e.height,o,n);this.height=e.bottom,this.i++}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let e=t.elements.pop();t.dom.removeChild(e.dom),e.destroy()}}}class Jr{constructor(t,e){this.view=t,this.config=e,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in e.domEventHandlers)this.dom.addEventListener(i,(n=>{let s,r=n.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let t=r.getBoundingClientRect();s=(t.top+t.bottom)/2}else s=n.clientY;let o=t.lineBlockAtHeight(s-t.documentTop);e.domEventHandlers[i](t,o,n)&&n.preventDefault()}));this.markers=Gr(e.markers(t)),e.initialSpacer&&(this.spacer=new Kr(t,0,0,[e.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let e=this.markers;if(this.markers=Gr(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let e=this.config.updateSpacer(this.spacer.markers[0],t);e!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[e])}let i=t.view.viewport;return!_t.eq(this.markers,e,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(t)}destroy(){for(let t of this.elements)t.destroy()}}class Kr{constructor(t,e,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,e,i,n)}update(t,e,i,n){this.height!=e&&(this.dom.style.height=(this.height=e)+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),function(t,e){if(t.length!=e.length)return!1;for(let i=0;ikt(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(t,e){let i=Object.assign({},t);for(let t in e){let n=i[t],s=e[t];i[t]=n?(t,e,i)=>n(t,e,i)||s(t,e,i):s}return i}})});class io extends Yr{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function no(t,e){return t.state.facet(eo).formatNumber(e,t.state)}const so=zr.compute([eo],(t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:t=>t.state.facet(to),lineMarker:(t,e,i)=>i.some((t=>t.toDOM))?null:new io(no(t,t.state.doc.lineAt(e.from).number)),lineMarkerChange:t=>t.startState.facet(eo)!=t.state.facet(eo),initialSpacer:t=>new io(no(t,ro(t.state.doc.lines))),updateSpacer(t,e){let i=no(e.view,ro(e.view.state.doc.lines));return i==t.number?t:new io(i)},domEventHandlers:t.facet(eo).domEventHandlers})));function ro(t){let e=9;for(;e{throw new Error("This node type doesn't define a deserialize function")})}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof t&&(t=fo.match(t)),e=>{let i=t(e);return void 0===i?null:[this,i]}}}ho.closedBy=new ho({deserialize:t=>t.split(" ")}),ho.openedBy=new ho({deserialize:t=>t.split(" ")}),ho.group=new ho({deserialize:t=>t.split(" ")}),ho.contextHash=new ho({perNode:!0}),ho.lookAhead=new ho({perNode:!0}),ho.mounted=new ho({perNode:!0});class co{constructor(t,e,i){this.tree=t,this.overlay=e,this.parser=i}}const uo=Object.create(null);class fo{constructor(t,e,i,n=0){this.name=t,this.props=e,this.id=i,this.flags=n}static define(t){let e=t.props&&t.props.length?Object.create(null):uo,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(null==t.name?8:0),n=new fo(t.name||"",e,t.id,i);if(t.props)for(let i of t.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");e[i[0].id]=i[1]}return n}prop(t){return this.props[t.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(t){if("string"==typeof t){if(this.name==t)return!0;let e=this.prop(ho.group);return!!e&&e.indexOf(t)>-1}return this.id==t}static match(t){let e=Object.create(null);for(let i in t)for(let n of i.split(" "))e[n]=t[i];return t=>{for(let i=t.prop(ho.group),n=-1;n<(i?i.length:0);n++){let s=e[n<0?t.name:i[n]];if(s)return s}}}}fo.none=new fo("",Object.create(null),0,8);class po{constructor(t){this.types=t;for(let e=0;e=n&&(r.type.isAnonymous||!1!==e(r))){if(r.firstChild())continue;t=!0}for(;t&&i&&!r.type.isAnonymous&&i(r),!r.nextSibling();){if(!r.parent())return;t=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:To(fo.none,this.children,this.positions,0,this.children.length,0,this.length,((t,e,i)=>new bo(this.type,t,e,i,this.propValues)),t.makeTree||((t,e,i)=>new bo(fo.none,t,e,i)))}static build(t){return function(t){var e;let{buffer:i,nodeSet:n,maxBufferLength:s=oo,reused:r=[],minRepeatType:o=n.types.length}=t,a=Array.isArray(i)?new wo(i,i.length):i,l=n.types,h=0,c=0;function u(t,e,i,m,b){let{id:w,start:v,end:S,size:y}=a,x=c;for(;y<0;){if(a.next(),-1==y){let e=r[w];return i.push(e),void m.push(v-t)}if(-3==y)return void(h=w);if(-4==y)return void(c=w);throw new RangeError(`Unrecognized record size: ${y}`)}let k,Q,$=l[w],P=v-t;if(S-v<=s&&(Q=O(a.pos-e,b))){let e=new Uint16Array(Q.size-Q.skip),i=a.pos-Q.size,s=e.length;for(;a.pos>i;)s=g(Q.start,e,s);k=new vo(e,S-Q.start,n),P=Q.start-t}else{let t=a.pos-y;a.next();let e=[],i=[],n=w>=o?w:-1,r=0,l=S;for(;a.pos>t;)n>=0&&a.id==n&&a.size>=0?(a.end<=l-s&&(f(e,i,v,r,a.end,l,n,x),r=e.length,l=a.end),a.next()):u(v,t,e,i,n);if(n>=0&&r>0&&r-1&&r>0){let t=d($);k=To($,e,i,0,e.length,0,S-v,t,t)}else k=p($,e,i,S-v,x-S)}i.push(k),m.push(P)}function d(t){return(e,i,n)=>{let s,r,o=0,a=e.length-1;if(a>=0&&(s=e[a])instanceof bo){if(!a&&s.type==t&&s.length==n)return s;(r=s.prop(ho.lookAhead))&&(o=i[a]+s.length+r)}return p(t,e,i,n,o)}}function f(t,e,i,s,r,o,a,l){let h=[],c=[];for(;t.length>s;)h.push(t.pop()),c.push(e.pop()+i-r);t.push(p(n.types[a],h,c,o-r,l-o)),e.push(r-i)}function p(t,e,i,n,s=0,r){if(h){let t=[ho.contextHash,h];r=r?[t].concat(r):[t]}if(s>25){let t=[ho.lookAhead,s];r=r?[t].concat(r):[t]}return new bo(t,e,i,n,r)}function O(t,e){let i=a.fork(),n=0,r=0,l=0,h=i.end-s,c={size:0,start:0,skip:0};t:for(let s=i.pos-t;i.pos>s;){let t=i.size;if(i.id==e&&t>=0){c.size=n,c.start=r,c.skip=l,l+=4,n+=4,i.next();continue}let a=i.pos-t;if(t<0||a=o?4:0,d=i.start;for(i.next();i.pos>a;){if(i.size<0){if(-3!=i.size)break t;u+=4}else i.id>=o&&(u+=4);i.next()}r=d,n+=t,l+=u}return(e<0||n==t)&&(c.size=n,c.start=r,c.skip=l),c.size>4?c:void 0}function g(t,e,i){let{id:n,start:s,end:r,size:l}=a;if(a.next(),l>=0&&n4){let n=a.pos-(l-4);for(;a.pos>n;)i=g(t,e,i)}e[--i]=o,e[--i]=r-t,e[--i]=s-t,e[--i]=n}else-3==l?h=n:-4==l&&(c=n);return i}let m=[],b=[];for(;a.pos>0;)u(t.start||0,t.bufferStart||0,m,b,-1);let w=null!==(e=t.length)&&void 0!==e?e:m.length?b[0]+m[0].length:0;return new bo(l[t.topID],m.reverse(),b.reverse(),w)}(t)}}bo.empty=new bo(fo.none,[],[],0);class wo{constructor(t,e){this.buffer=t,this.index=e}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 wo(this.buffer,this.index)}}class vo{constructor(t,e,i){this.buffer=t,this.length=e,this.set=i}get type(){return fo.none}toString(){let t=[];for(let e=0;e0));a=r[a+3]);return o}slice(t,e,i){let n=this.buffer,s=new Uint16Array(e-t),r=0;for(let o=t,a=0;o=e&&ie;case 1:return i<=e&&n>e;case 2:return n>e;case 4:return!0}}function yo(t,e){let i=t.childBefore(e);for(;i;){let e=i.lastChild;if(!e||e.to!=i.to)break;e.type.isError&&e.from==e.to?(t=i,i=e.prevSibling):i=e}return t}function xo(t,e,i,n){for(var s;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to0?o.length:-1;t!=l;t+=e){let l=o[t],h=a[t]+r.from;if(So(n,i,h,h+l.length))if(l instanceof vo){if(s&mo.ExcludeBuffers)continue;let o=l.findChild(0,l.buffer.length,e,i-h,n);if(o>-1)return new Co(new Po(r,l,t,h),null,o)}else if(s&mo.IncludeAnonymous||!l.type.isAnonymous||Xo(l)){let o;if(!(s&mo.IgnoreMounts)&&l.props&&(o=l.prop(ho.mounted))&&!o.overlay)return new ko(o.tree,h,t,r);let a=new ko(l,h,t,r);return s&mo.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(e<0?l.children.length-1:0,e,i,n)}}if(s&mo.IncludeAnonymous||!r.type.isAnonymous)return null;if(t=r.index>=0?r.index+e:e<0?-1:r._parent._tree.children.length,r=r._parent,!r)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(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}enter(t,e,i=0){let n;if(!(i&mo.IgnoreOverlays)&&(n=this._tree.prop(ho.mounted))&&n.overlay){let i=t-this.from;for(let{from:t,to:s}of n.overlay)if((e>0?t<=i:t=i:s>i))return new ko(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}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}cursor(t=0){return new _o(this,t)}get tree(){return this._tree}toTree(){return this._tree}resolve(t,e=0){return xo(this,t,e,!1)}resolveInner(t,e=0){return xo(this,t,e,!0)}enterUnfinishedNodesBefore(t){return yo(this,t)}getChild(t,e=null,i=null){let n=Qo(this,t,e,i);return n.length?n[0]:null}getChildren(t,e=null,i=null){return Qo(this,t,e,i)}toString(){return this._tree.toString()}get node(){return this}matchContext(t){return $o(this,t)}}function Qo(t,e,i,n){let s=t.cursor(),r=[];if(!s.firstChild())return r;if(null!=i)for(;!s.type.is(i);)if(!s.nextSibling())return r;for(;;){if(null!=n&&s.type.is(n))return r;if(s.type.is(e)&&r.push(s.node),!s.nextSibling())return null==n?r:[]}}function $o(t,e,i=e.length-1){for(let n=t.parent;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[i]&&e[i]!=n.name)return!1;i--}}return!0}class Po{constructor(t,e,i,n){this.parent=t,this.buffer=e,this.index=i,this.start=n}}class Co{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(t,e,i){this.context=t,this._parent=e,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,e,i){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.context.start,i);return s<0?null:new Co(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}enter(t,e,i=0){if(i&mo.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return s<0?null:new Co(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];return e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new Co(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new Co(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}cursor(t=0){return new _o(this,t)}get tree(){return null}toTree(){let t=[],e=[],{buffer:i}=this.context,n=this.index+4,s=i.buffer[this.index+3];if(s>n){let r=i.buffer[this.index+1];t.push(i.slice(n,s,r)),e.push(0)}return new bo(this.type,t,e,this.to-this.from)}resolve(t,e=0){return xo(this,t,e,!1)}resolveInner(t,e=0){return xo(this,t,e,!0)}enterUnfinishedNodesBefore(t){return yo(this,t)}toString(){return this.context.buffer.childString(this.index)}getChild(t,e=null,i=null){let n=Qo(this,t,e,i);return n.length?n[0]:null}getChildren(t,e=null,i=null){return Qo(this,t,e,i)}get node(){return this}matchContext(t){return $o(this,t)}}class _o{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof ko)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let e=t._parent;e;e=e._parent)this.stack.unshift(e.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return!!t&&(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0)}yieldBuf(t,e){this.index=t;let{start:i,buffer:n}=this.buffer;return this.type=e||n.set.types[n.buffer[t]],this.from=i+n.buffer[t+1],this.to=i+n.buffer[t+2],!0}yield(t){return!!t&&(t instanceof ko?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,i,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.buffer.start,i);return!(s<0)&&(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,i=this.mode){return this.buffer?!(i&mo.ExcludeBuffers)&&this.enterChild(1,t,e):this.yield(this._tree.enter(t,e,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&mo.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&mo.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode));let{buffer:e}=this.buffer,i=this.stack.length-1;if(t<0){let t=i<0?0:this.stack[i]+4;if(this.index!=t)return this.yieldBuf(e.findChild(t,this.index,-1,0,4))}else{let t=e.buffer[this.index+3];if(t<(i<0?e.buffer.length:e.buffer[this.stack[i]+3]))return this.yieldBuf(t)}return i<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,i,{buffer:n}=this;if(n){if(t>0){if(this.index-1)for(let n=e+t,s=t<0?-1:i._tree.children.length;n!=s;n+=t){let t=i._tree.children[n];if(this.mode&mo.IncludeAnonymous||t instanceof vo||!t.type.isAnonymous||Xo(t))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){for(;(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to=0;){for(let r=t;r;r=r._parent)if(r.index==n){if(n==this.index)return r;e=r,i=s+1;break t}n=this.stack[--s]}for(let t=i;t=0;s--){if(s<0)return $o(this.node,t,n);let r=i[e.buffer[this.stack[s]]];if(!r.isAnonymous){if(t[n]&&t[n]!=r.name)return!1;n--}}return!0}}function Xo(t){return t.children.some((t=>t instanceof vo||!t.type.isAnonymous||Xo(t)))}const Zo=new WeakMap;function Ao(t,e){if(!t.isAnonymous||e instanceof vo||e.type!=t)return 1;let i=Zo.get(e);if(null==i){i=1;for(let n of e.children){if(n.type!=t||!(n instanceof bo)){i=1;break}i+=Ao(t,n)}Zo.set(e,i)}return i}function To(t,e,i,n,s,r,o,a,l){let h=0;for(let i=n;i=c)break;p+=e}if(h==s+1){if(p>c){let t=i[s];e(t.children,t.positions,0,t.children.length,n[s]+a);continue}u.push(i[s])}else{let e=n[h-1]+i[h-1].length-f;u.push(To(t,i,n,s,h,f,e,null,l))}d.push(f+a-r)}}(e,i,n,s,0),(a||l)(u,d,o)}class Ro{constructor(){this.map=new WeakMap}setBuffer(t,e,i){let n=this.map.get(t);n||this.map.set(t,n=new Map),n.set(e,i)}getBuffer(t,e){let i=this.map.get(t);return i&&i.get(e)}set(t,e){t instanceof Co?this.setBuffer(t.context.buffer,t.index,e):t instanceof ko&&this.map.set(t.tree,e)}get(t){return t instanceof Co?this.getBuffer(t.context.buffer,t.index):t instanceof ko?this.map.get(t.tree):void 0}cursorSet(t,e){t.buffer?this.setBuffer(t.buffer.buffer,t.index,e):this.map.set(t.tree,e)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class Eo{constructor(t,e,i,n,s=!1,r=!1){this.from=t,this.to=e,this.tree=i,this.offset=n,this.open=(s?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(t,e=[],i=!1){let n=[new Eo(0,t.length,t,0,!1,i)];for(let i of e)i.to>t.length&&n.push(i);return n}static applyChanges(t,e,i=128){if(!e.length)return t;let n=[],s=1,r=t.length?t[0]:null;for(let o=0,a=0,l=0;;o++){let h=o=i)for(;r&&r.from=e.from||c<=e.to||l){let t=Math.max(e.from,a)-l,i=Math.min(e.to,c)-l;e=t>=i?null:new Eo(t,i,e.tree,e.offset+l,o>0,!!h)}if(e&&n.push(e),r.to>c)break;r=snew lo(t.from,t.to))):[new lo(0,0)]:[new lo(0,t.length)],this.createParse(t,e||[],i)}parse(t,e,i){let n=this.startParse(t,e,i);for(;;){let t=n.advance();if(t)return t}}}class Mo{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,e){return this.string.slice(t,e)}}function Do(t){return(e,i,n,s)=>new qo(e,t,i,n,s)}class Wo{constructor(t,e,i,n,s){this.parser=t,this.parse=e,this.overlay=i,this.target=n,this.ranges=s}}class Uo{constructor(t,e,i,n,s,r,o){this.parser=t,this.predicate=e,this.mounts=i,this.index=n,this.start=s,this.target=r,this.prev=o,this.depth=0,this.ranges=[]}}const Yo=new ho({perNode:!0});class qo{constructor(t,e,i,n,s){this.nest=e,this.input=i,this.fragments=n,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let t=this.baseParse.advance();if(!t)return null;if(this.baseParse=null,this.baseTree=t,this.startInner(),null!=this.stoppedAt)for(let t of this.inner)t.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let t=this.baseTree;return null!=this.stoppedAt&&(t=new bo(t.type,t.children,t.positions,t.length,t.propValues.concat([[Yo,this.stoppedAt]]))),t}let t=this.inner[this.innerDone],e=t.parse.advance();if(e){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[ho.mounted.id]=new co(e,t.overlay,t.parser),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let e=this.innerDone;et.frag.from<=n.from&&t.frag.to>=n.to&&t.mount.overlay));if(t)for(let i of t.mount.overlay){let s=i.from+t.pos,r=i.to+t.pos;s>=n.from&&r<=n.to&&!e.ranges.some((t=>t.froms))&&e.ranges.push({from:s,to:r})}}a=!1}else if(i&&(r=Lo(i.ranges,n.from,n.to)))a=2!=r;else if(!n.type.isAnonymous&&n.fromnew lo(t.from-n.from,t.to-n.from))):null,n.tree,t)),s.overlay?t.length&&(i={ranges:t,depth:0,prev:i}):a=!1}}else e&&(o=e.predicate(n))&&(!0===o&&(o=new lo(n.from,n.to)),o.fromnew lo(t.from-e.start,t.to-e.start))),e.target,t)),e=e.prev}i&&! --i.depth&&(i=i.prev)}}}}function Lo(t,e,i){for(let n of t){if(n.from>=i)break;if(n.to>e)return n.from<=e&&n.to>=i?2:1}return 0}function zo(t,e,i,n,s,r){if(e=e.to);n++);let o=s.children[n],a=o.buffer;s.children[n]=function t(i,n,s,l,h){let c=i;for(;a[c+2]+r<=e.from;)c=a[c+3];let u=[],d=[];zo(o,i,c,u,d,l);let f=a[c+1],p=a[c+2],O=f+r==e.from&&p+r==e.to&&a[c]==e.type.id;return u.push(O?e.toTree():t(c+4,a[c+3],o.set.types[a[c]],f,p-f)),d.push(f-l),zo(o,a[c+3],n,u,d,l),new bo(s,u,d,h)}(0,a.length,fo.none,0,o.length);for(let n=0;n<=i;n++)t.childAfter(e.from)}class Bo{constructor(t,e){this.offset=e,this.done=!1,this.cursor=t.cursor(mo.IncludeAnonymous|mo.IgnoreMounts)}moveTo(t){let{cursor:e}=this,i=t-this.offset;for(;!this.done&&e.from=t&&e.enter(i,1,mo.IgnoreOverlays|mo.ExcludeBuffers)||e.next(!1)||(this.done=!0)}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let e=this.cursor.tree;;){if(e==t.tree)return!0;if(!(e.children.length&&0==e.positions[0]&&e.children[0]instanceof bo))break;e=e.children[0]}return!1}}let jo=class{constructor(t){var e;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=null!==(e=i.tree.prop(Yo))&&void 0!==e?e:i.to,this.inner=new Bo(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(t=e.tree.prop(Yo))&&void 0!==t?t:e.to,this.inner=new Bo(e.tree,-e.offset)}}findMounts(t,e){var i;let n=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let t=this.inner.cursor.node;t;t=t.parent){let s=null===(i=t.tree)||void 0===i?void 0:i.prop(ho.mounted);if(s&&s.parser==e)for(let e=this.fragI;e=t.to)break;i.tree==this.curFrag.tree&&n.push({frag:i,pos:t.from-i.offset,mount:s})}}}return n}};function No(t,e){let i=null,n=e;for(let s=1,r=0;s=a)break;t.to<=o||(i||(n=i=e.slice()),t.froma&&i.splice(r+1,0,new lo(a,t.to))):t.to>a?i[r--]=new lo(a,t.to):i.splice(r--,1))}}return n}function Go(t,e,i,n){let s=0,r=0,o=!1,a=!1,l=-1e9,h=[];for(;;){let c=s==t.length?1e9:o?t[s].to:t[s].from,u=r==e.length?1e9:a?e[r].to:e[r].from;if(o!=a){let t=Math.max(l,i),e=Math.min(c,u,n);tnew lo(t.from+n,t.to+n))),a,l);for(let e=0,n=a;;e++){let a=e==o.length,h=a?l:o[e].from;if(h>n&&i.push(new Eo(n,h,s.tree,-t,r.from>=n||r.openStart,r.to<=h||r.openEnd)),a)break;n=o[e].to}}else i.push(new Eo(a,l,s.tree,-t,r.from>=t||r.openStart,r.to<=o||r.openEnd))}return i}let Ho=0;class Jo{constructor(t,e,i){this.set=t,this.base=e,this.modified=i,this.id=Ho++}static define(t){if(null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let e=new Jo([],null,[]);if(e.set.push(e),t)for(let i of t.set)e.set.push(i);return e}static defineModifier(){let t=new ta;return e=>e.modified.indexOf(t)>-1?e:ta.get(e.base||e,e.modified.concat(t).sort(((t,e)=>t.id-e.id)))}}let Ko=0;class ta{constructor(){this.instances=[],this.id=Ko++}static get(t,e){if(!e.length)return t;let i=e[0].instances.find((i=>{return i.base==t&&(n=e,s=i.modified,n.length==s.length&&n.every(((t,e)=>t==s[e])));var n,s}));if(i)return i;let n=[],s=new Jo(n,t,e);for(let t of e)t.instances.push(s);let r=function(t){let e=[[]];for(let i=0;ie.length-t.length))}(e);for(let e of t.set)if(!e.modified.length)for(let t of r)n.push(ta.get(e,t));return s}}function ea(t){let e=Object.create(null);for(let i in t){let n=t[i];Array.isArray(n)||(n=[n]);for(let t of i.split(" "))if(t){let i=[],s=2,r=t;for(let e=0;;){if("..."==r&&e>0&&e+3==t.length){s=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!n)throw new RangeError("Invalid path: "+t);if(i.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),e+=n[0].length,e==t.length)break;let o=t[e++];if(e==t.length&&"!"==o){s=0;break}if("/"!=o)throw new RangeError("Invalid path: "+t);r=t.slice(e)}let o=i.length-1,a=i[o];if(!a)throw new RangeError("Invalid path: "+t);let l=new na(n,s,o>0?i.slice(0,o):null);e[a]=l.sort(e[a])}}return ia.add(e)}const ia=new ho;class na{constructor(t,e,i,n){this.tags=t,this.mode=e,this.context=i,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(t){return!t||t.depth{let e=s;for(let n of t)for(let t of n.set){let n=i[t.id];if(n){e=e?e+" "+n:n;break}}return e},scope:n}}function ra(t,e,i,n=0,s=t.length){let r=new oa(n,Array.isArray(e)?e:[e],i);r.highlightRange(t.cursor(),n,s,"",r.highlighters),r.flush(s)}na.empty=new na([],2,null);class oa{constructor(t,e,i){this.at=t,this.highlighters=e,this.span=i,this.class=""}startSpan(t,e){e!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=e)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,e,i,n,s){let{type:r,from:o,to:a}=t;if(o>=i||a<=e)return;r.isTop&&(s=this.highlighters.filter((t=>!t.scope||t.scope(r))));let l=n,h=function(t){let e=t.type.prop(ia);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}(t)||na.empty,c=function(t,e){let i=null;for(let n of t){let t=n.style(e);t&&(i=i?i+" "+t:t)}return i}(s,h.tags);if(c&&(l&&(l+=" "),l+=c,1==h.mode&&(n+=(n?" ":"")+c)),this.startSpan(t.from,l),h.opaque)return;let u=t.tree&&t.tree.prop(ho.mounted);if(u&&u.overlay){let r=t.node.enter(u.overlay[0].from+o,1),h=this.highlighters.filter((t=>!t.scope||t.scope(u.tree.type))),c=t.firstChild();for(let d=0,f=o;;d++){let p=d=O)&&t.nextSibling()););if(!p||O>i)break;f=p.to+o,f>e&&(this.highlightRange(r.cursor(),Math.max(e,p.from+o),Math.min(i,f),n,h),this.startSpan(f,l))}c&&t.parent()}else if(t.firstChild()){do{if(!(t.to<=e)){if(t.from>=i)break;this.highlightRange(t,e,i,n,s),this.startSpan(Math.min(i,t.to),l)}}while(t.nextSibling());t.parent()}}}const aa=Jo.define,la=aa(),ha=aa(),ca=aa(ha),ua=aa(ha),da=aa(),fa=aa(da),pa=aa(da),Oa=aa(),ga=aa(Oa),ma=aa(),ba=aa(),wa=aa(),va=aa(wa),Sa=aa(),ya={comment:la,lineComment:aa(la),blockComment:aa(la),docComment:aa(la),name:ha,variableName:aa(ha),typeName:ca,tagName:aa(ca),propertyName:ua,attributeName:aa(ua),className:aa(ha),labelName:aa(ha),namespace:aa(ha),macroName:aa(ha),literal:da,string:fa,docString:aa(fa),character:aa(fa),attributeValue:aa(fa),number:pa,integer:aa(pa),float:aa(pa),bool:aa(da),regexp:aa(da),escape:aa(da),color:aa(da),url:aa(da),keyword:ma,self:aa(ma),null:aa(ma),atom:aa(ma),unit:aa(ma),modifier:aa(ma),operatorKeyword:aa(ma),controlKeyword:aa(ma),definitionKeyword:aa(ma),moduleKeyword:aa(ma),operator:ba,derefOperator:aa(ba),arithmeticOperator:aa(ba),logicOperator:aa(ba),bitwiseOperator:aa(ba),compareOperator:aa(ba),updateOperator:aa(ba),definitionOperator:aa(ba),typeOperator:aa(ba),controlOperator:aa(ba),punctuation:wa,separator:aa(wa),bracket:va,angleBracket:aa(va),squareBracket:aa(va),paren:aa(va),brace:aa(va),content:Oa,heading:ga,heading1:aa(ga),heading2:aa(ga),heading3:aa(ga),heading4:aa(ga),heading5:aa(ga),heading6:aa(ga),contentSeparator:aa(Oa),list:aa(Oa),quote:aa(Oa),emphasis:aa(Oa),strong:aa(Oa),link:aa(Oa),monospace:aa(Oa),strikethrough:aa(Oa),inserted:aa(),deleted:aa(),changed:aa(),invalid:aa(),meta:Sa,documentMeta:aa(Sa),annotation:aa(Sa),processingInstruction:aa(Sa),definition:Jo.defineModifier(),constant:Jo.defineModifier(),function:Jo.defineModifier(),standard:Jo.defineModifier(),local:Jo.defineModifier(),special:Jo.defineModifier()};var xa;sa([{tag:ya.link,class:"tok-link"},{tag:ya.heading,class:"tok-heading"},{tag:ya.emphasis,class:"tok-emphasis"},{tag:ya.strong,class:"tok-strong"},{tag:ya.keyword,class:"tok-keyword"},{tag:ya.atom,class:"tok-atom"},{tag:ya.bool,class:"tok-bool"},{tag:ya.url,class:"tok-url"},{tag:ya.labelName,class:"tok-labelName"},{tag:ya.inserted,class:"tok-inserted"},{tag:ya.deleted,class:"tok-deleted"},{tag:ya.literal,class:"tok-literal"},{tag:ya.string,class:"tok-string"},{tag:ya.number,class:"tok-number"},{tag:[ya.regexp,ya.escape,ya.special(ya.string)],class:"tok-string2"},{tag:ya.variableName,class:"tok-variableName"},{tag:ya.local(ya.variableName),class:"tok-variableName tok-local"},{tag:ya.definition(ya.variableName),class:"tok-variableName tok-definition"},{tag:ya.special(ya.variableName),class:"tok-variableName2"},{tag:ya.definition(ya.propertyName),class:"tok-propertyName tok-definition"},{tag:ya.typeName,class:"tok-typeName"},{tag:ya.namespace,class:"tok-namespace"},{tag:ya.className,class:"tok-className"},{tag:ya.macroName,class:"tok-macroName"},{tag:ya.propertyName,class:"tok-propertyName"},{tag:ya.operator,class:"tok-operator"},{tag:ya.comment,class:"tok-comment"},{tag:ya.meta,class:"tok-meta"},{tag:ya.invalid,class:"tok-invalid"},{tag:ya.punctuation,class:"tok-punctuation"}]);const ka=new ho;function Qa(t){return E.define({combine:t?e=>e.concat(t):void 0})}const $a=new ho;class Pa{constructor(t,e,i=[],n=""){this.data=t,this.name=n,xt.prototype.hasOwnProperty("tree")||Object.defineProperty(xt.prototype,"tree",{get(){return Xa(this)}}),this.parser=e,this.extension=[Wa.of(this),xt.languageData.of(((t,e,i)=>{let n=Ca(t,e,i),s=n.type.prop(ka);if(!s)return[];let r=t.facet(s),o=n.type.prop($a);if(o){let s=n.resolve(e-n.from,i);for(let e of o)if(e.test(s,t)){let i=t.facet(e.facet);return"replace"==e.type?i:i.concat(r)}}return r}))].concat(i)}isActiveAt(t,e,i=-1){return Ca(t,e,i).type.prop(ka)==this.data}findRegions(t){let e=t.facet(Wa);if((null==e?void 0:e.data)==this.data)return[{from:0,to:t.doc.length}];if(!e||!e.allowsNesting)return[];let i=[],n=(t,e)=>{if(t.prop(ka)==this.data)return void i.push({from:e,to:e+t.length});let s=t.prop(ho.mounted);if(s){if(s.tree.prop(ka)==this.data){if(s.overlay)for(let t of s.overlay)i.push({from:t.from+e,to:t.to+e});else i.push({from:e,to:e+t.length});return}if(s.overlay){let t=i.length;if(n(s.tree,s.overlay[0].from+e),i.length>t)return}}for(let i=0;it.isTop?e:void 0))]}),t.name)}configure(t,e){return new _a(this.data,this.parser.configure(t),e||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Xa(t){let e=t.field(Pa.state,!1);return e?e.tree:bo.empty}class Za{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,e){let i=this.cursorPos-this.string.length;return t=this.cursorPos?this.doc.sliceString(t,e):this.string.slice(t-i,e-i)}}let Aa=null;class Ta{constructor(t,e,i=[],n,s,r,o,a){this.parser=t,this.state=e,this.fragments=i,this.tree=n,this.treeLen=s,this.viewport=r,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(t,e,i){return new Ta(t,e,[],bo.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Za(this.state.doc),this.fragments)}work(t,e){return null!=e&&e>=this.state.doc.length&&(e=void 0),this.tree!=bo.empty&&this.isDone(null!=e?e:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var i;if("number"==typeof t){let e=Date.now()+t;t=()=>Date.now()>e}for(this.parse||(this.parse=this.startParse()),null!=e&&(null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&e=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext((()=>{for(;!(e=this.parse.advance()););})),this.treeLen=t,this.tree=e,this.fragments=this.withoutTempSkipped(Eo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let e=Aa;Aa=this;try{return t()}finally{Aa=e}}withoutTempSkipped(t){for(let e;e=this.tempSkipped.pop();)t=Ra(t,e.from,e.to);return t}changes(t,e){let{fragments:i,tree:n,treeLen:s,viewport:r,skipped:o}=this;if(this.takeTree(),!t.empty){let e=[];if(t.iterChangedRanges(((t,i,n,s)=>e.push({fromA:t,toA:i,fromB:n,toB:s}))),i=Eo.applyChanges(i,e),n=bo.empty,s=0,r={from:t.mapPos(r.from,-1),to:t.mapPos(r.to,1)},this.skipped.length){o=[];for(let e of this.skipped){let i=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);it.from&&(this.fragments=Ra(this.fragments,i,n),this.skipped.splice(e--,1))}return!(this.skipped.length>=e)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,e){this.skipped.push({from:t,to:e})}static getSkippingParser(t){return new class extends Vo{createParse(e,i,n){let s=n[0].from,r=n[n.length-1].to;return{parsedPos:s,advance(){let e=Aa;if(e){for(let t of n)e.tempSkipped.push(t);t&&(e.scheduleOn=e.scheduleOn?Promise.all([e.scheduleOn,t]):t)}return this.parsedPos=r,new bo(fo.none,[],[],r-s)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let e=this.fragments;return this.treeLen>=t&&e.length&&0==e[0].from&&e[0].to>=t}static get(){return Aa}}function Ra(t,e,i){return Eo.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class Ea{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),e.viewport.to);return e.work(20,i)||e.takeTree(),new Ea(e)}static init(t){let e=Math.min(3e3,t.doc.length),i=Ta.create(t.facet(Wa).parser,t,{from:0,to:e});return i.work(20,e)||i.takeTree(),new Ea(i)}}Pa.state=q.define({create:Ea.init,update(t,e){for(let t of e.effects)if(t.is(Pa.setState))return t.value;return e.startState.facet(Wa)!=e.state.facet(Wa)?Ea.init(e.state):t.apply(e)}});let Va=t=>{let e=setTimeout((()=>t()),500);return()=>clearTimeout(e)};"undefined"!=typeof requestIdleCallback&&(Va=t=>{let e=-1,i=setTimeout((()=>{e=requestIdleCallback(t,{timeout:400})}),100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const Ma="undefined"!=typeof navigator&&(null===(xa=navigator.scheduling)||void 0===xa?void 0:xa.isInputPending)?()=>navigator.scheduling.isInputPending():null,Da=_i.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let e=this.view.state.field(Pa.state).context;(e.updateViewport(t.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),t.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:t}=this.view,e=t.field(Pa.state);e.tree==e.context.tree&&e.context.isDone(t.doc.length)||(this.working=Va(this.work))}work(t){this.working=null;let e=Date.now();if(this.chunkEndn+1e3,a=s.context.work((()=>Ma&&Ma()||Date.now()>r),n+(o?0:1e5));this.chunkBudget-=Date.now()-e,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Pa.setState.of(new Ea(s.context))})),this.chunkBudget>0&&(!a||o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then((()=>this.scheduleWork())).catch((t=>Qi(this.view.state,t))).then((()=>this.workScheduled--)),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Wa=E.define({combine:t=>t.length?t[0]:null,enables:t=>[Pa.state,Da,Ts.contentAttributes.compute([t],(e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}}))]});class Ua{constructor(t,e=[]){this.language=t,this.support=e,this.extension=[t,e]}}class Ya{constructor(t,e,i,n,s,r=void 0){this.name=t,this.alias=e,this.extensions=i,this.filename=n,this.loadFunc=s,this.support=r,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((t=>this.support=t),(t=>{throw this.loading=null,t})))}static of(t){let{load:e,support:i}=t;if(!e){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");e=()=>Promise.resolve(i)}return new Ya(t.name,(t.alias||[]).concat(t.name).map((t=>t.toLowerCase())),t.extensions||[],t.filename,e,i)}static matchFilename(t,e){for(let i of t)if(i.filename&&i.filename.test(e))return i;let i=/\.([^.]+)$/.exec(e);if(i)for(let e of t)if(e.extensions.indexOf(i[1])>-1)return e;return null}static matchLanguageName(t,e,i=!0){e=e.toLowerCase();for(let i of t)if(i.alias.some((t=>t==e)))return i;if(i)for(let i of t)for(let t of i.alias){let n=e.indexOf(t);if(n>-1&&(t.length>2||!/\w/.test(e[n-1])&&!/\w/.test(e[n+t.length])))return i}return null}}const qa=E.define(),La=E.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some((t=>t!=e[0])))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function za(t){let e=t.facet(La);return 9==e.charCodeAt(0)?t.tabSize*e.length:e.length}function Ia(t,e){let i="",n=t.tabSize,s=t.facet(La)[0];if("\t"==s){for(;e>=n;)i+="\t",e-=n;s=" "}for(let t=0;t=i.from&&n<=i.to?s&&n==t?{text:"",from:t}:(e<0?n-1&&(s+=r-this.countColumn(i,i.search(/\S|$/))),s}countColumn(t,e=t.length){return Yt(t,this.state.tabSize,e)}lineIndent(t,e=1){let{text:i,from:n}=this.lineAt(t,e),s=this.options.overrideIndentation;if(s){let t=s(n);if(t>-1)return t}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Na=new ho;function Ga(t){let e=t.type.prop(Na);if(e)return e;let i,n=t.firstChild;if(n&&(i=n.type.prop(ho.closedBy))){let e=t.lastChild,n=e&&i.indexOf(e.name)>-1;return t=>el(t,!0,1,void 0,n&&!function(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}(t)?e.from:void 0)}return null==t.parent?Ha:null}function Fa(t,e,i){for(;t;t=t.parent){let n=Ga(t);if(n)return n(Ja.create(i,e,t))}return null}function Ha(){return 0}class Ja extends ja{constructor(t,e,i){super(t.state,t.options),this.base=t,this.pos=e,this.node=i}static create(t,e,i){return new Ja(t,e,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let t=this.state.doc.lineAt(this.node.from);for(;;){let e=this.node.resolve(t.from);for(;e.parent&&e.parent.from==e.from;)e=e.parent;if(Ka(e,this.node))break;t=this.state.doc.lineAt(e.from)}return this.lineIndent(t.from)}continue(){let t=this.node.parent;return t?Fa(t,this.pos,this.base):0}}function Ka(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function tl({closing:t,align:e=!0,units:i=1}){return n=>el(n,e,i,t)}function el(t,e,i,n,s){let r=t.textAfter,o=r.match(/^\s*/)[0].length,a=n&&r.slice(o,o+n.length)==n||s==t.pos+o,l=e?function(t){let e=t.node,i=e.childAfter(e.from),n=e.lastChild;if(!i)return null;let s=t.options.simulateBreak,r=t.state.doc.lineAt(i.from),o=null==s||s<=r.from?r.to:Math.min(r.to,s);for(let t=i.to;;){let s=e.childAfter(t);if(!s||s==n)return null;if(!s.type.isSkipped)return s.from{let n=t&&t.test(i.textAfter);return i.baseIndent+(n?0:e*i.unit)}}function nl(){return xt.transactionFilter.of((t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let i=t.newDoc,{head:n}=t.newSelection.main,s=i.lineAt(n);if(n>s.from+200)return t;let r=i.sliceString(s.from,n);if(!e.some((t=>t.test(r))))return t;let{state:o}=t,a=-1,l=[];for(let{head:t}of o.selection.ranges){let e=o.doc.lineAt(t);if(e.from==a)continue;a=e.from;let i=Ba(o,e.from);if(null==i)continue;let n=/^\s*/.exec(e.text)[0],s=Ia(o,i);n!=s&&l.push({from:e.from,to:e.from+n.length,insert:s})}return l.length?[t,{changes:l,sequential:!0}]:t}))}const sl=E.define(),rl=new ho;function ol(t){let e=t.firstChild,i=t.lastChild;return e&&e.toi)continue;if(s&&r.from=e&&n.to>i&&(s=n)}}return s}(t,e,i)}function hl(t,e){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);return i>=n?void 0:{from:i,to:n}}const cl=ut.define({map:hl}),ul=ut.define({map:hl}),dl=q.define({create:()=>ni.none,update(t,e){t=t.map(e.changes);for(let i of e.effects)i.is(cl)&&!pl(t,i.value.from,i.value.to)?t=t.update({add:[bl.range(i.value.from,i.value.to)]}):i.is(ul)&&(t=t.update({filter:(t,e)=>i.value.from!=t||i.value.to!=e,filterFrom:i.value.from,filterTo:i.value.to}));if(e.selection){let i=!1,{head:n}=e.selection.main;t.between(n,n,((t,e)=>{tn&&(i=!0)})),i&&(t=t.update({filterFrom:n,filterTo:n,filter:(t,e)=>e<=n||t>=n}))}return t},provide:t=>Ts.decorations.from(t),toJSON(t,e){let i=[];return t.between(0,e.doc.length,((t,e)=>{i.push(t,e)})),i},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let i=0;i{(!s||s.from>t)&&(s={from:t,to:e})})),s}function pl(t,e,i){let n=!1;return t.between(e,e,((t,s)=>{t==e&&s==i&&(n=!0)})),n}const Ol={placeholderDOM:null,placeholderText:"…"},gl=E.define({combine:t=>kt(t,Ol)});function ml(t){let e=[dl,Sl];return t&&e.push(gl.of(t)),e}const bl=ni.replace({widget:new class extends ei{toDOM(t){let{state:e}=t,i=e.facet(gl),n=e=>{let i=t.lineBlockAt(t.posAtDOM(e.target)),n=fl(t.state,i.from,i.to);n&&t.dispatch({effects:ul.of(n)}),e.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(t,n);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",e.phrase("folded code")),s.title=e.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=n,s}}}),wl={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class vl extends Yr{constructor(t,e){super(),this.config=t,this.open=e}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let e=document.createElement("span");return e.textContent=this.open?this.config.openText:this.config.closedText,e.title=t.state.phrase(this.open?"Fold line":"Unfold line"),e}}const Sl=Ts.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class yl{constructor(t,e){let i;function n(t){let e=It.newName();return(i||(i=Object.create(null)))["."+e]=t,e}this.specs=t;const s="string"==typeof e.all?e.all:e.all?n(e.all):void 0,r=e.scope;this.scope=r instanceof Pa?t=>t.prop(ka)==r.data:r?t=>t==r:void 0,this.style=sa(t.map((t=>({tag:t.tag,class:t.class||n(Object.assign({},t,{tag:null}))}))),{all:s}).style,this.module=i?new It(i):null,this.themeType=e.themeType}static define(t,e){return new yl(t,e||{})}}const xl=E.define(),kl=E.define({combine:t=>t.length?[t[0]]:null});function Ql(t){let e=t.facet(xl);return e.length?e:t.facet(kl)}function $l(t,e){let i,n=[Cl];return t instanceof yl&&(t.module&&n.push(Ts.styleModule.of(t.module)),i=t.themeType),(null==e?void 0:e.fallback)?n.push(kl.of(t)):i?n.push(xl.computeN([Ts.darkTheme],(e=>e.facet(Ts.darkTheme)==("dark"==i)?[t]:[]))):n.push(xl.of(t)),n}class Pl{constructor(t){this.markCache=Object.create(null),this.tree=Xa(t.state),this.decorations=this.buildDeco(t,Ql(t.state))}update(t){let e=Xa(t.state),i=Ql(t.state),n=i!=Ql(t.startState);e.length{i.add(t,e,this.markCache[n]||(this.markCache[n]=ni.mark({class:n})))}),n,s);return i.finish()}}const Cl=N.high(_i.fromClass(Pl,{decorations:t=>t.decorations})),_l=yl.define([{tag:ya.meta,color:"#404740"},{tag:ya.link,textDecoration:"underline"},{tag:ya.heading,textDecoration:"underline",fontWeight:"bold"},{tag:ya.emphasis,fontStyle:"italic"},{tag:ya.strong,fontWeight:"bold"},{tag:ya.strikethrough,textDecoration:"line-through"},{tag:ya.keyword,color:"#708"},{tag:[ya.atom,ya.bool,ya.url,ya.contentSeparator,ya.labelName],color:"#219"},{tag:[ya.literal,ya.inserted],color:"#164"},{tag:[ya.string,ya.deleted],color:"#a11"},{tag:[ya.regexp,ya.escape,ya.special(ya.string)],color:"#e40"},{tag:ya.definition(ya.variableName),color:"#00f"},{tag:ya.local(ya.variableName),color:"#30a"},{tag:[ya.typeName,ya.namespace],color:"#085"},{tag:ya.className,color:"#167"},{tag:[ya.special(ya.variableName),ya.macroName],color:"#256"},{tag:ya.definition(ya.propertyName),color:"#00c"},{tag:ya.comment,color:"#940"},{tag:ya.invalid,color:"#f00"}]),Xl=Ts.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Zl=1e4,Al="()[]{}",Tl=E.define({combine:t=>kt(t,{afterCursor:!0,brackets:Al,maxScanDistance:Zl,renderMatch:Vl})}),Rl=ni.mark({class:"cm-matchingBracket"}),El=ni.mark({class:"cm-nonmatchingBracket"});function Vl(t){let e=[],i=t.matched?Rl:El;return e.push(i.range(t.start.from,t.start.to)),t.end&&e.push(i.range(t.end.from,t.end.to)),e}const Ml=q.define({create:()=>ni.none,update(t,e){if(!e.docChanged&&!e.selection)return t;let i=[],n=e.state.facet(Tl);for(let t of e.state.selection.ranges){if(!t.empty)continue;let s=Ll(e.state,t.head,-1,n)||t.head>0&&Ll(e.state,t.head-1,1,n)||n.afterCursor&&(Ll(e.state,t.head,1,n)||t.headTs.decorations.from(t)}),Dl=[Ml,Xl];function Wl(t={}){return[Tl.of(t),Dl]}const Ul=new ho;function Yl(t,e,i){let n=t.prop(e<0?ho.openedBy:ho.closedBy);if(n)return n;if(1==t.name.length){let n=i.indexOf(t.name);if(n>-1&&n%2==(e<0?1:0))return[i[n+e]]}return null}function ql(t){let e=t.type.prop(Ul);return e?e(t.node):t}function Ll(t,e,i,n={}){let s=n.maxScanDistance||Zl,r=n.brackets||Al,o=Xa(t),a=o.resolveInner(e,i);for(let n=a;n;n=n.parent){let s=Yl(n.type,i,r);if(s&&n.from0?e>=o.from&&eo.from&&e<=o.to))return zl(t,e,i,n,o,s,r)}}return function(t,e,i,n,s,r,o){let a=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=i>0)return null;let h={from:i<0?e-1:e,to:i>0?e+1:e},c=t.doc.iterRange(e,i>0?t.doc.length:0),u=0;for(let t=0;!c.next().done&&t<=r;){let r=c.value;i<0&&(t+=r.length);let a=e+t*i;for(let t=i>0?0:r.length-1,e=i>0?r.length:-1;t!=e;t+=i){let e=o.indexOf(r[t]);if(!(e<0||n.resolveInner(a+t,1).type!=s))if(e%2==0==i>0)u++;else{if(1==u)return{start:h,end:{from:a+t,to:a+t+1},matched:e>>1==l>>1};u--}}i>0&&(t+=r.length)}return c.done?{start:h,matched:!1}:null}(t,e,i,o,a.type,s,r)}function zl(t,e,i,n,s,r,o){let a=n.parent,l={from:s.from,to:s.to},h=0,c=null==a?void 0:a.cursor();if(c&&(i<0?c.childBefore(n.from):c.childAfter(n.to)))do{if(i<0?c.to<=n.from:c.from>=n.to){if(0==h&&r.indexOf(c.type.name)>-1&&c.from=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pose}eatSpace(){let t=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t}skipToEnd(){this.pos=this.string.length}skipTo(t){let e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0}backUp(t){this.pos-=t}column(){return this.lastColumnPosi?t.toLowerCase():t;return n(this.string.substr(this.pos,t.length))==n(t)?(!1!==e&&(this.pos+=t.length),!0):null}{let i=this.string.slice(this.pos).match(t);return i&&i.index>0?null:(i&&!1!==e&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function jl(t){if("object"!=typeof t)return t;let e={};for(let i in t){let n=t[i];e[i]=n instanceof Array?n.slice():n}return e}const Nl=new WeakMap;class Gl extends Pa{constructor(t){let e,i=Qa(t.languageData),n={name:(s=t).name||"",token:s.token,blankLine:s.blankLine||(()=>{}),startState:s.startState||(()=>!0),copyState:s.copyState||jl,indent:s.indent||(()=>null),languageData:s.languageData||{},tokenTable:s.tokenTable||th};var s;super(i,new class extends Vo{createParse(t,i,n){return new Jl(e,t,i,n)}},[qa.of(((t,e)=>this.getIndent(t,e)))],t.name),this.topNode=function(t){let e=fo.define({id:eh.length,name:"Document",props:[ka.add((()=>t))]});return eh.push(e),e}(i),e=this,this.streamParser=n,this.stateAfter=new ho({perNode:!0}),this.tokenTable=t.tokenTable?new rh(n.tokenTable):oh}static define(t){return new Gl(t)}getIndent(t,e){let i,n=Xa(t.state),s=n.resolve(e);for(;s&&s.type!=this.topNode;)s=s.parent;if(!s)return null;let{overrideIndentation:r}=t.options;r&&(i=Nl.get(t.state),null!=i&&i1e4)return null;for(;o=n&&i+e.length<=s&&e.prop(t.stateAfter);if(r)return{state:t.streamParser.copyState(r),pos:i+e.length};for(let r=e.children.length-1;r>=0;r--){let o=e.children[r],a=i+e.positions[r],l=o instanceof bo&&a=e.length)return e;s||e.type!=t.topNode||(s=!0);for(let r=e.children.length-1;r>=0;r--){let o,a=e.positions[r],l=e.children[r];if(ai&&Fl(t,n.tree,0-n.offset,i,r);if(o&&(e=Hl(t,n.tree,i+n.offset,o.pos+n.offset,!1)))return{state:o.state,tree:e}}return{state:t.streamParser.startState(n?za(n):4),tree:bo.empty}}(t,i,r,null==s?void 0:s.state);this.state=o,this.parsedPos=this.chunkStart=r+a.length;for(let t=0;t=e?this.finish():t&&this.parsedPos>=t.viewport.to?(t.skipUntilInView(this.parsedPos,e),this.finish()):null}stopAt(t){this.stoppedAt=t}lineAfter(t){let e=this.input.chunk(t);if(this.input.lineChunks)"\n"==e&&(e="");else{let t=e.indexOf("\n");t>-1&&(e=e.slice(0,t))}return t+e.length<=this.to?e:e.slice(0,this.to-t)}nextLine(){let t=this.parsedPos,e=this.lineAfter(t),i=t+e.length;for(let t=this.rangeIndex;;){let n=this.ranges[t].to;if(n>=i)break;if(e=e.slice(0,n-(i-e.length)),t++,t==this.ranges.length)break;let s=this.ranges[t].from,r=this.lineAfter(s);e+=r,i=s+r.length}return{line:e,end:i}}skipGapsTo(t,e,i){for(;;){let n=this.ranges[this.rangeIndex].to,s=t+e;if(i>0?n>s:n>=s)break;e+=this.ranges[++this.rangeIndex].from-n}return e}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){e+=s=this.skipGapsTo(e,s,1);let t=this.chunk.length;i+=s=this.skipGapsTo(i,s,-1),n+=this.chunk.length-t}return this.chunk.push(t,e,i,n),s}parseLine(t){let{line:e,end:i}=this.nextLine(),n=0,{streamParser:s}=this.lang,r=new Bl(e,t?t.state.tabSize:4,t?za(t.state):2);if(r.eol())s.blankLine(this.state,r.indentUnit);else for(;!r.eol();){let t=Kl(s.token,r,this.state);if(t&&(n=this.emitToken(this.lang.tokenTable.resolve(t),this.parsedPos+r.start,this.parsedPos+r.pos,4,n)),r.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPose.start)return n}throw new Error("Stream parser failed to advance stream.")}const th=Object.create(null),eh=[fo.none],ih=new po(eh),nh=[],sh=Object.create(null);for(let[t,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"]])sh[t]=lh(th,e);class rh{constructor(t){this.extra=t,this.table=Object.assign(Object.create(null),sh)}resolve(t){return t?this.table[t]||(this.table[t]=lh(this.extra,t)):0}}const oh=new rh(th);function ah(t,e){nh.indexOf(t)>-1||(nh.push(t),console.warn(e))}function lh(t,e){let i=null;for(let n of e.split(".")){let e=t[n]||ya[n];e?"function"==typeof e?i?i=e(i):ah(n,`Modifier ${n} used at start of tag`):i?ah(n,`Tag ${n} used as modifier`):i=e:ah(n,`Unknown highlighting tag ${n}`)}if(!i)return 0;let n=e.replace(/ /g,"_"),s=fo.define({id:eh.length,name:n,props:[ea({[n]:i})]});return eh.push(s),s.id}function hh(t,e){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let s=t(e,i);return!!s&&(n(i.update(s)),!0)}}const ch=hh(gh,0),uh=hh(Oh,0),dh=hh(((t,e)=>Oh(t,e,function(t){let e=[];for(let i of t.selection.ranges){let n=t.doc.lineAt(i.from),s=i.to<=n.to?n:t.doc.lineAt(i.to),r=e.length-1;r>=0&&e[r].to>n.from?e[r].to=s.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:s.to})}return e}(e))),0);function fh(t,e){let i=t.languageDataAt("commentTokens",e);return i.length?i[0]:{}}const ph=50;function Oh(t,e,i=e.selection.ranges){let n=i.map((t=>fh(e,t.from).block));if(!n.every((t=>t)))return null;let s=i.map(((t,i)=>function(t,{open:e,close:i},n,s){let r,o,a=t.sliceDoc(n-ph,n),l=t.sliceDoc(s,s+ph),h=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(l)[0].length,u=a.length-h;if(a.slice(u-e.length,u)==e&&l.slice(c,c+i.length)==i)return{open:{pos:n-h,margin:h&&1},close:{pos:s+c,margin:c&&1}};s-n<=2*ph?r=o=t.sliceDoc(n,s):(r=t.sliceDoc(n,n+ph),o=t.sliceDoc(s-ph,s));let d=/^\s*/.exec(r)[0].length,f=/\s*$/.exec(o)[0].length,p=o.length-f-i.length;return r.slice(d,d+e.length)==e&&o.slice(p,p+i.length)==i?{open:{pos:n+d+e.length,margin:/\s/.test(r.charAt(d+e.length))?1:0},close:{pos:s-f-i.length,margin:/\s/.test(o.charAt(p-1))?1:0}}:null}(e,n[i],t.from,t.to)));if(2!=t&&!s.every((t=>t)))return{changes:e.changes(i.map(((t,e)=>s[e]?[]:[{from:t.from,insert:n[e].open+" "},{from:t.to,insert:" "+n[e].close}])))};if(1!=t&&s.some((t=>t))){let t=[];for(let e,i=0;is&&(t==r||r>l.from)){s=l.from;let t=/^\s*/.exec(l.text)[0].length,e=t==l.length,i=l.text.slice(t,t+a.length)==a?t:-1;tt.comment<0&&(!t.empty||t.single)))){let t=[];for(let{line:e,token:i,indent:s,empty:r,single:o}of n)!o&&r||t.push({from:e.from+s,insert:i+" "});let i=e.changes(t);return{changes:i,selection:e.selection.map(i,1)}}if(1!=t&&n.some((t=>t.comment>=0))){let t=[];for(let{line:e,comment:i,token:s}of n)if(i>=0){let n=e.from+i,r=n+s.length;" "==e.text[r-e.from]&&r++,t.push({from:n,to:r})}return{changes:t}}return null}const mh=lt.define(),bh=lt.define(),wh=E.define(),vh=E.define({combine:t=>kt(t,{minDepth:100,newGroupDelay:500,joinToEvent:(t,e)=>e},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,e)=>(i,n)=>t(i,n)||e(i,n)})});const Sh=q.define({create:()=>Dh.empty,update(t,e){let i=e.state.facet(vh),n=e.annotation(mh);if(n){let s=e.docChanged?A.single(function(t){let e=0;return t.iterChangedRanges(((t,i)=>e=i)),e}(e.changes)):void 0,r=Ch.fromTransaction(e,s),o=n.side,a=0==o?t.undone:t.done;return a=r?_h(a,a.length,i.minDepth,r):Th(a,e.startState.selection),new Dh(0==o?n.rest:a,0==o?a:n.rest)}let s=e.annotation(bh);if("full"!=s&&"before"!=s||(t=t.isolate()),!1===e.annotation(dt.addToHistory))return e.changes.empty?t:t.addMapping(e.changes.desc);let r=Ch.fromTransaction(e),o=e.annotation(dt.time),a=e.annotation(dt.userEvent);return r?t=t.addChanges(r,o,a,i,e):e.selection&&(t=t.addSelection(e.startState.selection,o,a,i.newGroupDelay)),"full"!=s&&"after"!=s||(t=t.isolate()),t},toJSON:t=>({done:t.done.map((t=>t.toJSON())),undone:t.undone.map((t=>t.toJSON()))}),fromJSON:t=>new Dh(t.done.map(Ch.fromJSON),t.undone.map(Ch.fromJSON))});function yh(t={}){return[Sh,vh.of(t),Ts.domEventHandlers({beforeinput(t,e){let i="historyUndo"==t.inputType?kh:"historyRedo"==t.inputType?Qh:null;return!!i&&(t.preventDefault(),i(e))}})]}function xh(t,e){return function({state:i,dispatch:n}){if(!e&&i.readOnly)return!1;let s=i.field(Sh,!1);if(!s)return!1;let r=s.pop(t,i,e);return!!r&&(n(r),!0)}}const kh=xh(0,!1),Qh=xh(1,!1),$h=xh(0,!0),Ph=xh(1,!0);class Ch{constructor(t,e,i,n,s){this.changes=t,this.effects=e,this.mapped=i,this.startSelection=n,this.selectionsAfter=s}setSelAfter(t){return new Ch(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,e,i;return{changes:null===(t=this.changes)||void 0===t?void 0:t.toJSON(),mapped:null===(e=this.mapped)||void 0===e?void 0:e.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map((t=>t.toJSON()))}}static fromJSON(t){return new Ch(t.changes&&k.fromJSON(t.changes),[],t.mapped&&x.fromJSON(t.mapped),t.startSelection&&A.fromJSON(t.startSelection),t.selectionsAfter.map(A.fromJSON))}static fromTransaction(t,e){let i=Zh;for(let e of t.startState.facet(wh)){let n=e(t);n.length&&(i=i.concat(n))}return!i.length&&t.changes.empty?null:new Ch(t.changes.invert(t.startState.doc),i,void 0,e||t.startState.selection,Zh)}static selection(t){return new Ch(void 0,Zh,void 0,void 0,t)}}function _h(t,e,i,n){let s=e+1>i+20?e-i-1:0,r=t.slice(s,e);return r.push(n),r}function Xh(t,e){return t.length?e.length?t.concat(e):t:e}const Zh=[],Ah=200;function Th(t,e){if(t.length){let i=t[t.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-Ah));return n.length&&n[n.length-1].eq(e)?t:(n.push(e),_h(t,t.length-1,1e9,i.setSelAfter(n)))}return[Ch.selection([e])]}function Rh(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function Eh(t,e){if(!t.length)return t;let i=t.length,n=Zh;for(;i;){let s=Vh(t[i-1],e,n);if(s.changes&&!s.changes.empty||s.effects.length){let e=t.slice(0,i);return e[i-1]=s,e}e=s.mapped,i--,n=s.selectionsAfter}return n.length?[Ch.selection(n)]:Zh}function Vh(t,e,i){let n=Xh(t.selectionsAfter.length?t.selectionsAfter.map((t=>t.map(e))):Zh,i);if(!t.changes)return Ch.selection(n);let s=t.changes.map(e),r=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(r):r;return new Ch(s,ut.mapEffects(t.effects,e),o,t.startSelection.map(r),n)}const Mh=/^(input\.type|delete)($|\.)/;class Dh{constructor(t,e,i=0,n=void 0){this.done=t,this.undone=e,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new Dh(this.done,this.undone):this}addChanges(t,e,i,n,s){let r=this.done,o=r[r.length-1];return r=o&&o.changes&&!o.changes.empty&&t.changes&&(!i||Mh.test(i))&&(!o.selectionsAfter.length&&e-this.prevTimei.push(t,e))),e.iterChangedRanges(((t,e,s,r)=>{for(let t=0;t=e&&s<=o&&(n=!0)}})),n}(o.changes,t.changes))||"input.type.compose"==i)?_h(r,r.length-1,n.minDepth,new Ch(t.changes.compose(o.changes),Xh(t.effects,o.effects),o.mapped,o.startSelection,Zh)):_h(r,r.length,n.minDepth,t),new Dh(r,Zh,e,i)}addSelection(t,e,i,n){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Zh;return s.length>0&&e-this.prevTimet.empty!=o.ranges[e].empty)).length)?this:new Dh(Th(this.done,t),this.undone,e,i);var r,o}addMapping(t){return new Dh(Eh(this.done,t),Eh(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,e,i){let n=0==t?this.done:this.undone;if(0==n.length)return null;let s=n[n.length-1];if(i&&s.selectionsAfter.length)return e.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:mh.of({side:t,rest:Rh(n)}),userEvent:0==t?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let i=1==n.length?Zh:n.slice(0,n.length-1);return s.mapped&&(i=Eh(i,s.mapped)),e.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:mh.of({side:t,rest:i}),filter:!1,userEvent:0==t?"undo":"redo",scrollIntoView:!0})}return null}}Dh.empty=new Dh(Zh,Zh);const Wh=[{key:"Mod-z",run:kh,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Qh,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Qh,preventDefault:!0},{key:"Mod-u",run:$h,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Ph,preventDefault:!0}];function Uh(t,e){return A.create(t.ranges.map(e),t.mainIndex)}function Yh(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function qh({state:t,dispatch:e},i){let n=Uh(t.selection,i);return!n.eq(t.selection)&&(e(Yh(t,n)),!0)}function Lh(t,e){return A.cursor(e?t.to:t.from)}function zh(t,e){return qh(t,(i=>i.empty?t.moveByChar(i,e):Lh(i,e)))}function Ih(t){return t.textDirectionAt(t.state.selection.main.head)==Wi.LTR}const Bh=t=>zh(t,!Ih(t)),jh=t=>zh(t,Ih(t));function Nh(t,e){return qh(t,(i=>i.empty?t.moveByGroup(i,e):Lh(i,e)))}function Gh(t,e,i){if(e.type.prop(i))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Fh(t,e,i){let n,s,r=Xa(t).resolveInner(e.head),o=i?ho.closedBy:ho.openedBy;for(let n=e.head;;){let e=i?r.childAfter(n):r.childBefore(n);if(!e)break;Gh(t,e,o)?r=e:n=i?e.to:e.from}return s=r.type.prop(o)&&(n=i?Ll(t,r.from,1):Ll(t,r.to,-1))&&n.matched?i?n.end.to:n.end.from:i?r.to:r.from,A.cursor(s,i?-1:1)}function Hh(t,e){return qh(t,(i=>{if(!i.empty)return Lh(i,e);let n=t.moveVertically(i,e);return n.head!=i.head?n:t.moveToLineBoundary(i,e)}))}const Jh=t=>Hh(t,!1),Kh=t=>Hh(t,!0);function tc(t){let e,i=t.scrollDOM.clientHeighti.empty?t.moveVertically(i,e,n.height):Lh(i,e)));if(r.eq(s.selection))return!1;if(n.selfScroll){let e=t.coordsAtPos(s.selection.main.head),o=t.scrollDOM.getBoundingClientRect(),a=o.top+n.marginTop,l=o.bottom-n.marginBottom;e&&e.top>a&&e.bottomec(t,!1),nc=t=>ec(t,!0);function sc(t,e,i){let n=t.lineBlockAt(e.head),s=t.moveToLineBoundary(e,i);if(s.head==e.head&&s.head!=(i?n.to:n.from)&&(s=t.moveToLineBoundary(e,i,!1)),!i&&s.head==n.from&&n.length){let i=/^\s*/.exec(t.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;i&&e.head!=n.from+i&&(s=A.cursor(n.from+i))}return s}function rc(t,e){let i=Uh(t.state.selection,(t=>{let i=e(t);return A.range(t.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)}));return!i.eq(t.state.selection)&&(t.dispatch(Yh(t.state,i)),!0)}function oc(t,e){return console.log("Select!"),rc(t,(i=>t.moveByCharSelected(i,e)))}const ac=t=>oc(t,!Ih(t)),lc=t=>oc(t,Ih(t));function hc(t,e){return rc(t,(i=>t.moveByGroup(i,e)))}function cc(t,e){return rc(t,(i=>t.moveVertically(i,e)))}const uc=t=>cc(t,!1),dc=t=>cc(t,!0);function fc(t,e){return rc(t,(i=>t.moveVertically(i,e,tc(t).height)))}const pc=t=>fc(t,!1),Oc=t=>fc(t,!0),gc=({state:t,dispatch:e})=>(e(Yh(t,{anchor:0})),!0),mc=({state:t,dispatch:e})=>(e(Yh(t,{anchor:t.doc.length})),!0),bc=({state:t,dispatch:e})=>(e(Yh(t,{anchor:t.selection.main.anchor,head:0})),!0),wc=({state:t,dispatch:e})=>(e(Yh(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0);function vc(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:n}=t,s=n.changeByRange((n=>{let{from:s,to:r}=n;if(s==r){let n=e(s);ns&&(i="delete.forward",n=Sc(t,n,!0)),s=Math.min(s,n),r=Math.max(r,n)}else s=Sc(t,s,!1),r=Sc(t,r,!0);return s==r?{range:n}:{changes:{from:s,to:r},range:A.cursor(s)}}));return!s.changes.empty&&(t.dispatch(n.update(s,{scrollIntoView:!0,userEvent:i,effects:"delete.selection"==i?Ts.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function Sc(t,e,i){if(t instanceof Ts)for(let n of t.state.facet(Ts.atomicRanges).map((e=>e(t))))n.between(e,e,((t,n)=>{te&&(e=i?n:t)}));return e}const yc=(t,e)=>vc(t,(i=>{let n,s,{state:r}=t,o=r.doc.lineAt(i);if(!e&&i>o.from&&iyc(t,!1),kc=t=>yc(t,!0),Qc=(t,e)=>vc(t,(i=>{let n=i,{state:s}=t,r=s.doc.lineAt(n),o=s.charCategorizer(n);for(let t=null;;){if(n==(e?r.to:r.from)){n==i&&r.number!=(e?s.doc.lines:1)&&(n+=e?1:-1);break}let a=f(r.text,n-r.from,e)+r.from,l=r.text.slice(Math.min(n,a)-r.from,Math.max(n,a)-r.from),h=o(l);if(null!=t&&h!=t)break;" "==l&&n==i||(t=h),n=a}return n})),$c=t=>Qc(t,!1),Pc=t=>vc(t,(e=>{let i=t.lineBlockAt(e).to;return e=s.number){let t=e[e.length-1];t.to=r.to,t.ranges.push(n)}else e.push({from:s.from,to:r.to,ranges:[n]});i=r.number+1}return e}function _c(t,e,i){if(t.readOnly)return!1;let n=[],s=[];for(let e of Cc(t)){if(i?e.to==t.doc.length:0==e.from)continue;let r=t.doc.lineAt(i?e.to+1:e.from-1),o=r.length+1;if(i){n.push({from:e.to,to:r.to},{from:e.from,insert:r.text+t.lineBreak});for(let i of e.ranges)s.push(A.range(Math.min(t.doc.length,i.anchor+o),Math.min(t.doc.length,i.head+o)))}else{n.push({from:r.from,to:e.from},{from:e.to,insert:t.lineBreak+r.text});for(let t of e.ranges)s.push(A.range(t.anchor-o,t.head-o))}}return!!n.length&&(e(t.update({changes:n,scrollIntoView:!0,selection:A.create(s,t.selection.mainIndex),userEvent:"move.line"})),!0)}function Xc(t,e,i){if(t.readOnly)return!1;let n=[];for(let e of Cc(t))i?n.push({from:e.from,insert:t.doc.slice(e.from,e.to)+t.lineBreak}):n.push({from:e.to,insert:t.lineBreak+t.doc.slice(e.from,e.to)});return e(t.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Zc=Ac(!1);function Ac(e){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let s=i.changeByRange((n=>{let{from:s,to:r}=n,o=i.doc.lineAt(s),a=!e&&s==r&&function(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i,n=Xa(t).resolveInner(e),s=n.childBefore(e),r=n.childAfter(e);return s&&r&&s.to<=e&&r.from>=e&&(i=s.type.prop(ho.closedBy))&&i.indexOf(r.name)>-1&&t.doc.lineAt(s.to).from==t.doc.lineAt(r.from).from?{from:s.to,to:r.from}:null}(i,s);e&&(s=r=(r<=o.to?o:i.doc.lineAt(r)).to);let l=new ja(i,{simulateBreak:s,simulateDoubleBreak:!!a}),h=Ba(l,s);for(null==h&&(h=/^\s*/.exec(i.doc.lineAt(s).text)[0].length);ro.from&&s{let s=[];for(let r=n.from;r<=n.to;){let o=t.doc.lineAt(r);o.number>i&&(n.empty||n.to>o.from)&&(e(o,s,n),i=o.number),r=o.to+1}let r=t.changes(s);return{changes:s,range:A.range(r.mapPos(n.anchor,1),r.mapPos(n.head,1))}}))}const Rc=({state:t,dispatch:e})=>!t.readOnly&&(e(t.update(Tc(t,((e,i)=>{i.push({from:e.from,insert:t.facet(La)})})),{userEvent:"input.indent"})),!0),Ec=({state:t,dispatch:e})=>!t.readOnly&&(e(t.update(Tc(t,((e,i)=>{let n=/^\s*/.exec(e.text)[0];if(!n)return;let s=Yt(n,t.tabSize),r=0,o=Ia(t,Math.max(0,s-za(t)));for(;rqh(t,(e=>Fh(t.state,e,!Ih(t)))),shift:t=>rc(t,(e=>Fh(t.state,e,!Ih(t))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:t=>qh(t,(e=>Fh(t.state,e,Ih(t)))),shift:t=>rc(t,(e=>Fh(t.state,e,Ih(t))))},{key:"Alt-ArrowUp",run:({state:t,dispatch:e})=>_c(t,e,!1)},{key:"Shift-Alt-ArrowUp",run:({state:t,dispatch:e})=>Xc(t,e,!1)},{key:"Alt-ArrowDown",run:({state:t,dispatch:e})=>_c(t,e,!0)},{key:"Shift-Alt-ArrowDown",run:({state:t,dispatch:e})=>Xc(t,e,!0)},{key:"Escape",run:({state:t,dispatch:e})=>{let i=t.selection,n=null;return i.ranges.length>1?n=A.create([i.main]):i.main.empty||(n=A.create([A.cursor(i.main.head)])),!!n&&(e(Yh(t,n)),!0)}},{key:"Mod-Enter",run:Ac(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:t,dispatch:e})=>{let i=Cc(t).map((({from:e,to:i})=>A.range(e,Math.min(i+1,t.doc.length))));return e(t.update({selection:A.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:t,dispatch:e})=>{let i=Uh(t.selection,(e=>{var i;let n=Xa(t).resolveInner(e.head,1);for(;!(n.from=e.to||n.to>e.to&&n.from<=e.from)&&(null===(i=n.parent)||void 0===i?void 0:i.parent);)n=n.parent;return A.range(n.to,n.from)}));return e(Yh(t,i)),!0},preventDefault:!0},{key:"Mod-[",run:Ec},{key:"Mod-]",run:Rc},{key:"Mod-Alt-\\",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),n=new ja(t,{overrideIndentation:t=>{let e=i[t];return null==e?-1:e}}),s=Tc(t,((e,s,r)=>{let o=Ba(n,e.from);if(null==o)return;/\S/.test(e.text)||(o=0);let a=/^\s*/.exec(e.text)[0],l=Ia(t,o);(a!=l||r.from{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(Cc(e).map((({from:t,to:i})=>(t>0?t--:it.moveVertically(e,!0))).map(i);return t.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:t,dispatch:e})=>function(t,e,i){let n=!1,s=Uh(t.selection,(e=>{let s=Ll(t,e.head,-1)||Ll(t,e.head,1)||e.head>0&&Ll(t,e.head-1,1)||e.head{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),n=fh(t.state,i.from);return n.line?ch(t):!!n.block&&dh(t)}},{key:"Alt-A",run:uh}].concat([{key:"ArrowLeft",run:Bh,shift:ac,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:t=>Nh(t,!Ih(t)),shift:t=>hc(t,!Ih(t)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:t=>qh(t,(e=>sc(t,e,!Ih(t)))),shift:t=>rc(t,(e=>sc(t,e,!Ih(t)))),preventDefault:!0},{key:"ArrowRight",run:jh,shift:lc,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:t=>Nh(t,Ih(t)),shift:t=>hc(t,Ih(t)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:t=>qh(t,(e=>sc(t,e,Ih(t)))),shift:t=>rc(t,(e=>sc(t,e,Ih(t)))),preventDefault:!0},{key:"ArrowUp",run:Jh,shift:uc,preventDefault:!0},{mac:"Cmd-ArrowUp",run:gc,shift:bc},{mac:"Ctrl-ArrowUp",run:ic,shift:pc},{key:"ArrowDown",run:Kh,shift:dc,preventDefault:!0},{mac:"Cmd-ArrowDown",run:mc,shift:wc},{mac:"Ctrl-ArrowDown",run:nc,shift:Oc},{key:"PageUp",run:ic,shift:pc},{key:"PageDown",run:nc,shift:Oc},{key:"Home",run:t=>qh(t,(e=>sc(t,e,!1))),shift:t=>rc(t,(e=>sc(t,e,!1))),preventDefault:!0},{key:"Mod-Home",run:gc,shift:bc},{key:"End",run:t=>qh(t,(e=>sc(t,e,!0))),shift:t=>rc(t,(e=>sc(t,e,!0))),preventDefault:!0},{key:"Mod-End",run:mc,shift:wc},{key:"Enter",run:Zc},{key:"Mod-a",run:({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:xc,shift:xc},{key:"Delete",run:kc},{key:"Mod-Backspace",mac:"Alt-Backspace",run:$c},{key:"Mod-Delete",mac:"Alt-Delete",run:t=>Qc(t,!0)},{mac:"Mod-Backspace",run:t=>vc(t,(e=>{let i=t.lineBlockAt(e).from;return e>i?i:Math.max(0,e-1)}))},{mac:"Mod-Delete",run:Pc}].concat([{key:"Ctrl-b",run:Bh,shift:ac,preventDefault:!0},{key:"Ctrl-f",run:jh,shift:lc},{key:"Ctrl-p",run:Jh,shift:uc},{key:"Ctrl-n",run:Kh,shift:dc},{key:"Ctrl-a",run:t=>qh(t,(e=>A.cursor(t.lineBlockAt(e.head).from,1))),shift:t=>rc(t,(e=>A.cursor(t.lineBlockAt(e.head).from)))},{key:"Ctrl-e",run:t=>qh(t,(e=>A.cursor(t.lineBlockAt(e.head).to,-1))),shift:t=>rc(t,(e=>A.cursor(t.lineBlockAt(e.head).to)))},{key:"Ctrl-d",run:kc},{key:"Ctrl-h",run:xc},{key:"Ctrl-k",run:Pc},{key:"Ctrl-Alt-h",run:$c},{key:"Ctrl-o",run:({state:e,dispatch:i})=>{if(e.readOnly)return!1;let n=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:t.of(["",""])},range:A.cursor(e.from)})));return i(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((e=>{if(!e.empty||0==e.from||e.from==t.doc.length)return{range:e};let i=e.from,n=t.doc.lineAt(i),s=i==n.from?i-1:f(n.text,i-n.from,!1)+n.from,r=i==n.to?i+1:f(n.text,i-n.from,!0)+n.from;return{changes:{from:s,to:r,insert:t.doc.slice(i,r).append(t.doc.slice(s,i))},range:A.cursor(r)}}));return!i.changes.empty&&(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:nc}].map((t=>({mac:t.key,run:t.run,shift:t.shift}))))),Mc={key:"Tab",run:Rc,shift:Ec};function Dc(){var t=arguments[0];"string"==typeof t&&(t=document.createElement(t));var e=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var s=i[n];"string"==typeof s?t.setAttribute(n,s):null!=s&&(t[n]=s)}e++}for(;et.normalize("NFKD"):t=>t;class Yc{constructor(t,e,i=0,n=t.length,s,r){this.test=r,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,n),this.bufferStart=i,this.normalize=s?t=>s(Uc(t)):Uc,this.query=this.normalize(e)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return b(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let e=w(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=v(t);let n=this.normalize(e);for(let t=0,s=i;;t++){let r=n.charCodeAt(t),o=this.match(r,s);if(o)return this.value=o,this;if(t==n.length-1)break;s==i&&tthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let e=this.matchPos<=this.to&&this.re.exec(this.curLine);if(e){let i=this.curLineStart+e.index,n=i+e[0].length;if(this.matchPos=Nc(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,n,e)))return this.value={from:i,to:n,match:e},this;t=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||n.to<=e){let n=new Bc(e,t.sliceString(e,i));return Ic.set(t,n),n}if(n.from==e&&n.to==i)return n;let{text:s,from:r}=n;return r>e&&(s=t.sliceString(e,r)+s,r=e),n.to=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,e=this.re.exec(this.flat.text);if(e&&!e[0]&&e.index==t&&(this.re.lastIndex=t+1,e=this.re.exec(this.flat.text)),e){let t=this.flat.from+e.index,i=t+e[0].length;if((this.flat.to>=this.to||e.index+e[0].length<=this.flat.text.length-10)&&(!this.test||this.test(t,i,e)))return this.value={from:t,to:i,match:e},this.matchPos=Nc(this.text,i+(t==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Bc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function Nc(t,e){if(e>=t.length)return e;let i,n=t.lineAt(e);for(;e=56320&&i<57344;)e++;return e}function Gc(t){let e=Dc("input",{class:"cm-textfield",name:"line"});function i(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(e.value);if(!i)return;let{state:n}=t,s=n.doc.lineAt(n.selection.main.head),[,r,o,a,l]=i,h=a?+a.slice(1):0,c=o?+o:s.number;if(o&&l){let t=c/100;r&&(t=t*("-"==r?-1:1)+s.number/n.doc.lines),c=Math.round(n.doc.lines*t)}else o&&r&&(c=c*("-"==r?-1:1)+s.number);let u=n.doc.line(Math.max(1,Math.min(n.doc.lines,c)));t.dispatch({effects:Fc.of(!1),selection:A.cursor(u.from+Math.max(0,Math.min(h,u.length))),scrollIntoView:!0}),t.focus()}return{dom:Dc("form",{class:"cm-gotoLine",onkeydown:e=>{27==e.keyCode?(e.preventDefault(),t.dispatch({effects:Fc.of(!1)}),t.focus()):13==e.keyCode&&(e.preventDefault(),i())},onsubmit:t=>{t.preventDefault(),i()}},Dc("label",t.state.phrase("Go to line"),": ",e)," ",Dc("button",{class:"cm-button",type:"submit"},t.state.phrase("go")))}}"undefined"!=typeof Symbol&&(zc.prototype[Symbol.iterator]=jc.prototype[Symbol.iterator]=function(){return this});const Fc=ut.define(),Hc=q.define({create:()=>!0,update(t,e){for(let i of e.effects)i.is(Fc)&&(t=i.value);return t},provide:t=>Ur.from(t,(t=>t?Gc:null))}),Jc=Ts.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),Kc={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},tu=E.define({combine:t=>kt(t,Kc,{highlightWordAroundCursor:(t,e)=>t||e,minSelectionLength:Math.min,maxMatches:Math.min})});function eu(t){let e=[ou,ru];return t&&e.push(tu.of(t)),e}const iu=ni.mark({class:"cm-selectionMatch"}),nu=ni.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function su(t,e,i,n){return!(0!=i&&t(e.sliceDoc(i-1,i))==wt.Word||n!=e.doc.length&&t(e.sliceDoc(n,n+1))==wt.Word)}const ru=_i.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(tu),{state:i}=t,n=i.selection;if(n.ranges.length>1)return ni.none;let s,r=n.main,o=null;if(r.empty){if(!e.highlightWordAroundCursor)return ni.none;let t=i.wordAt(r.head);if(!t)return ni.none;o=i.charCategorizer(r.head),s=i.sliceDoc(t.from,t.to)}else{let t=r.to-r.from;if(t200)return ni.none;if(e.wholeWords){if(s=i.sliceDoc(r.from,r.to),o=i.charCategorizer(r.head),!su(o,i,r.from,r.to)||!function(t,e,i,n){return t(e.sliceDoc(i,i+1))==wt.Word&&t(e.sliceDoc(n-1,n))==wt.Word}(o,i,r.from,r.to))return ni.none}else if(s=i.sliceDoc(r.from,r.to).trim(),!s)return ni.none}let a=[];for(let n of t.visibleRanges){let t=new Yc(i.doc,s,n.from,n.to);for(;!t.next().done;){let{from:n,to:s}=t.value;if((!o||su(o,i,n,s))&&(r.empty&&n<=r.from&&s>=r.to?a.push(nu.range(n,s)):(n>=r.to||s<=r.from)&&a.push(iu.range(n,s)),a.length>e.maxMatches))return ni.none}}return ni.set(a)}},{decorations:t=>t.decorations}),ou=Ts.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const au=E.define({combine:t=>kt(t,{top:!1,caseSensitive:!1,literal:!1,wholeWord:!1,createPanel:t=>new Vu(t),scrollToMatch:t=>Ts.scrollIntoView(t)})});class lu{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||function(t){try{return new RegExp(t,Lc),!0}catch(t){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,((t,e)=>"n"==e?"\n":"r"==e?"\r":"t"==e?"\t":"\\"))}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord}create(){return this.regexp?new Ou(this):new uu(this)}getCursor(t,e=0,i){let n=t.doc?t:xt.create({doc:t});return null==i&&(i=n.doc.length),this.regexp?du(this,n,e,i):cu(this,n,e,i)}}class hu{constructor(t){this.spec=t}}function cu(t,e,i,n){return new Yc(e.doc,t.unquoted,i,n,t.caseSensitive?void 0:t=>t.toLowerCase(),t.wholeWord?function(t,e){return(i,n,s,r)=>((r>i||r+s.length=e)return null;n.push(i.value)}return n}highlight(t,e,i,n){let s=cu(this.spec,t,Math.max(0,e-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}function du(t,e,i,n){return new zc(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:t.wholeWord?(s=e.charCategorizer(e.selection.main.head),(t,e,i)=>!i[0].length||(s(fu(i.input,i.index))!=wt.Word||s(pu(i.input,i.index))!=wt.Word)&&(s(pu(i.input,i.index+i[0].length))!=wt.Word||s(fu(i.input,i.index+i[0].length))!=wt.Word)):void 0},i,n);var s}function fu(t,e){return t.slice(f(t,e,!1),e)}function pu(t,e){return t.slice(e,f(t,e))}class Ou extends hu{nextMatch(t,e,i){let n=du(this.spec,t,i,t.doc.length).next();return n.done&&(n=du(this.spec,t,0,e).next()),n.done?null:n.value}prevMatchInRange(t,e,i){for(let n=1;;n++){let s=Math.max(e,i-1e4*n),r=du(this.spec,t,s,i),o=null;for(;!r.next().done;)o=r.value;if(o&&(s==e||o.from>s+10))return o;if(s==e)return null}}prevMatch(t,e,i){return this.prevMatchInRange(t,0,e)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,((e,i)=>"$"==i?"$":"&"==i?t.match[0]:"0"!=i&&+i=e)return null;n.push(i.value)}return n}highlight(t,e,i,n){let s=du(this.spec,t,Math.max(0,e-250),Math.min(i+250,t.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}const gu=ut.define(),mu=ut.define(),bu=q.define({create:t=>new wu(Xu(t).create(),null),update(t,e){for(let i of e.effects)i.is(gu)?t=new wu(i.value.create(),t.panel):i.is(mu)&&(t=new wu(t.query,i.value?_u:null));return t},provide:t=>Ur.from(t,(t=>t.panel))});class wu{constructor(t,e){this.query=t,this.panel=e}}const vu=ni.mark({class:"cm-searchMatch"}),Su=ni.mark({class:"cm-searchMatch cm-searchMatch-selected"}),yu=_i.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(bu))}update(t){let e=t.state.field(bu);(e!=t.startState.field(bu)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return ni.none;let{view:i}=this,n=new Xt;for(let e=0,s=i.visibleRanges,r=s.length;es[e+1].from-500;)a=s[++e].to;t.highlight(i.state,o,a,((t,e)=>{let s=i.state.selection.ranges.some((i=>i.from==t&&i.to==e));n.add(t,e,s?Su:vu)}))}return n.finish()}},{decorations:t=>t.decorations});function xu(t){return e=>{let i=e.state.field(bu,!1);return i&&i.query.spec.valid?t(e,i):Tu(e)}}const ku=xu(((t,{query:e})=>{let{to:i}=t.state.selection.main,n=e.nextMatch(t.state,i,i);if(!n)return!1;let s=A.single(n.from,n.to),r=t.state.facet(au);return t.dispatch({selection:s,effects:[Uu(t,n),r.scrollToMatch(s.main,t)],userEvent:"select.search"}),Au(t),!0})),Qu=xu(((t,{query:e})=>{let{state:i}=t,{from:n}=i.selection.main,s=e.prevMatch(i,n,n);if(!s)return!1;let r=A.single(s.from,s.to),o=t.state.facet(au);return t.dispatch({selection:r,effects:[Uu(t,s),o.scrollToMatch(r.main,t)],userEvent:"select.search"}),Au(t),!0})),$u=xu(((t,{query:e})=>{let i=e.matchAll(t.state,1e3);return!(!i||!i.length)&&(t.dispatch({selection:A.create(i.map((t=>A.range(t.from,t.to)))),userEvent:"select.search.matches"}),!0)})),Pu=xu(((t,{query:e})=>{let{state:i}=t,{from:n,to:s}=i.selection.main;if(i.readOnly)return!1;let r=e.nextMatch(i,n,n);if(!r)return!1;let o,a,l=[],h=[];if(r.from==n&&r.to==s&&(a=i.toText(e.getReplacement(r)),l.push({from:r.from,to:r.to,insert:a}),r=e.nextMatch(i,r.from,r.to),h.push(Ts.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(n).number)+"."))),r){let e=0==l.length||l[0].from>=r.to?0:r.to-r.from-a.length;o=A.single(r.from-e,r.to-e),h.push(Uu(t,r)),h.push(i.facet(au).scrollToMatch(o.main,t))}return t.dispatch({changes:l,selection:o,effects:h,userEvent:"input.replace"}),!0})),Cu=xu(((t,{query:e})=>{if(t.state.readOnly)return!1;let i=e.matchAll(t.state,1e9).map((t=>{let{from:i,to:n}=t;return{from:i,to:n,insert:e.getReplacement(t)}}));if(!i.length)return!1;let n=t.state.phrase("replaced $ matches",i.length)+".";return t.dispatch({changes:i,effects:Ts.announce.of(n),userEvent:"input.replace.all"}),!0}));function _u(t){return t.state.facet(au).createPanel(t)}function Xu(t,e){var i,n,s,r;let o=t.selection.main,a=o.empty||o.to>o.from+100?"":t.sliceDoc(o.from,o.to);if(e&&!a)return e;let l=t.facet(au);return new lu({search:(null!==(i=null==e?void 0:e.literal)&&void 0!==i?i:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==e?void 0:e.caseSensitive)&&void 0!==n?n:l.caseSensitive,literal:null!==(s=null==e?void 0:e.literal)&&void 0!==s?s:l.literal,wholeWord:null!==(r=null==e?void 0:e.wholeWord)&&void 0!==r?r:l.wholeWord})}function Zu(t){let e=Vr(t,_u);return e&&e.dom.querySelector("[main-field]")}function Au(t){let e=Zu(t);e&&e==t.root.activeElement&&e.select()}const Tu=t=>{let e=t.state.field(bu,!1);if(e&&e.panel){let i=Zu(t);if(i&&i!=t.root.activeElement){let n=Xu(t.state,e.query.spec);n.valid&&t.dispatch({effects:gu.of(n)}),i.focus(),i.select()}}else t.dispatch({effects:[mu.of(!0),e?gu.of(Xu(t.state,e.query.spec)):ut.appendConfig.of(qu)]});return!0},Ru=t=>{let e=t.state.field(bu,!1);if(!e||!e.panel)return!1;let i=Vr(t,_u);return i&&i.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:mu.of(!1)}),!0},Eu=[{key:"Mod-f",run:Tu,scope:"editor search-panel"},{key:"F3",run:ku,shift:Qu,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ku,shift:Qu,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Ru,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:t,dispatch:e})=>{let i=t.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:n,to:s}=i.main,r=[],o=0;for(let e=new Yc(t.doc,t.sliceDoc(n,s));!e.next().done;){if(r.length>1e3)return!1;e.value.from==n&&(o=r.length),r.push(A.range(e.value.from,e.value.to))}return e(t.update({selection:A.create(r,o),userEvent:"select.search.matches"})),!0}},{key:"Alt-g",run:t=>{let e=Vr(t,Gc);if(!e){let i=[Fc.of(!0)];null==t.state.field(Hc,!1)&&i.push(ut.appendConfig.of([Hc,Jc])),t.dispatch({effects:i}),e=Vr(t,Gc)}return e&&e.dom.querySelector("input").focus(),!0}},{key:"Mod-d",run:({state:t,dispatch:e})=>{let{ranges:i}=t.selection;if(i.some((t=>t.from===t.to)))return(({state:t,dispatch:e})=>{let{selection:i}=t,n=A.create(i.ranges.map((e=>t.wordAt(e.head)||A.cursor(e.head))),i.mainIndex);return!n.eq(i)&&(e(t.update({selection:n})),!0)})({state:t,dispatch:e});let n=t.sliceDoc(i[0].from,i[0].to);if(t.selection.ranges.some((e=>t.sliceDoc(e.from,e.to)!=n)))return!1;let s=function(t,e){let{main:i,ranges:n}=t.selection,s=t.wordAt(i.head),r=s&&s.from==i.from&&s.to==i.to;for(let i=!1,s=new Yc(t.doc,e,n[n.length-1].to);;){if(s.next(),!s.done){if(i&&n.some((t=>t.from==s.value.from)))continue;if(r){let e=t.wordAt(s.value.from);if(!e||e.from!=s.value.from||e.to!=s.value.to)continue}return s.value}if(i)return null;s=new Yc(t.doc,e,0,Math.max(0,n[n.length-1].from-1)),i=!0}}(t,n);return!!s&&(e(t.update({selection:t.selection.addRange(A.range(s.from,s.to),!1),effects:Ts.scrollIntoView(s.to)})),!0)},preventDefault:!0}];class Vu{constructor(t){this.view=t;let e=this.query=t.state.field(bu).query.spec;function i(t,e,i){return Dc("button",{class:"cm-button",name:t,onclick:e,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=Dc("input",{value:e.search,placeholder:Mu(t,"Find"),"aria-label":Mu(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Dc("input",{value:e.replace,placeholder:Mu(t,"Replace"),"aria-label":Mu(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Dc("input",{type:"checkbox",name:"case",form:"",checked:e.caseSensitive,onchange:this.commit}),this.reField=Dc("input",{type:"checkbox",name:"re",form:"",checked:e.regexp,onchange:this.commit}),this.wordField=Dc("input",{type:"checkbox",name:"word",form:"",checked:e.wholeWord,onchange:this.commit}),this.dom=Dc("div",{onkeydown:t=>this.keydown(t),class:"cm-search"},[this.searchField,i("next",(()=>ku(t)),[Mu(t,"next")]),i("prev",(()=>Qu(t)),[Mu(t,"previous")]),i("select",(()=>$u(t)),[Mu(t,"all")]),...t.state.readOnly?[]:[Dc("br"),this.replaceField,i("replace",(()=>Pu(t)),[Mu(t,"replace")]),i("replaceAll",(()=>Cu(t)),[Mu(t,"replace all")])],Dc("button",{name:"close",onclick:()=>Ru(t),"aria-label":Mu(t,"close"),type:"button"},["×"])])}commit(){let t=new lu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:gu.of(t)}))}keydown(t){var e,i,n;e=this.view,i=t,n="search-panel",Bs(Ls(e.state),i,e,n)?t.preventDefault():13==t.keyCode&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?Qu:ku)(this.view)):13==t.keyCode&&t.target==this.replaceField&&(t.preventDefault(),Pu(this.view))}update(t){for(let e of t.transactions)for(let t of e.effects)t.is(gu)&&!t.value.eq(this.query)&&this.setQuery(t.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(au).top}}function Mu(t,e){return t.state.phrase(e)}const Du=30,Wu=/[\s\.,:;?!]/;function Uu(t,{from:e,to:i}){let n=t.state.doc.lineAt(e),s=t.state.doc.lineAt(i).to,r=Math.max(n.from,e-Du),o=Math.min(s,i+Du),a=t.state.sliceDoc(r,o);if(r!=n.from)for(let t=0;ta.length-Du;t--)if(!Wu.test(a[t-1])&&Wu.test(a[t])){a=a.slice(0,t);break}return Ts.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${n.number}.`)}const Yu=Ts.baseTheme({".cm-panel.cm-search":{padding:"0.25rem 0.5rem 0.25rem 0.5rem",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"0.5rem",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),qu=[bu,N.lowest(yu),Yu];class Lu{constructor(t,e,i){this.state=t,this.pos=e,this.explicit=i,this.abortListeners=[]}tokenBefore(t){let e=Xa(this.state).resolveInner(this.pos,-1);for(;e&&t.indexOf(e.name)<0;)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(t){let e=this.state.doc.lineAt(this.pos),i=Math.max(e.from,this.pos-250),n=e.text.slice(i-e.from,this.pos-e.from),s=n.search(Nu(t,!1));return s<0?null:{from:i+s,to:this.pos,text:n.slice(s)}}get aborted(){return null==this.abortListeners}addEventListener(t,e){"abort"==t&&this.abortListeners&&this.abortListeners.push(e)}}function zu(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function Iu(t){let e=t.map((t=>"string"==typeof t?{label:t}:t)),[i,n]=e.every((t=>/^\w+$/.test(t.label)))?[/\w*$/,/\w+$/]:function(t){let e=Object.create(null),i=Object.create(null);for(let{label:n}of t){e[n[0]]=!0;for(let t=1;t{let s=t.matchBefore(n);return s||t.explicit?{from:s?s.from:t.pos,options:e,validFor:i}:null}}class Bu{constructor(t,e,i,n){this.completion=t,this.source=e,this.match=i,this.score=n}}function ju(t){return t.selection.main.from}function Nu(t,e){var i;let{source:n}=t,s=e&&"^"!=n[0],r="$"!=n[n.length-1];return s||r?new RegExp(`${s?"^":""}(?:${n})${r?"$":""}`,null!==(i=t.flags)&&void 0!==i?i:t.ignoreCase?"i":""):t}const Gu=lt.define();const Fu=new WeakMap;function Hu(t){if(!Array.isArray(t))return t;let e=Fu.get(t);return e||Fu.set(t,e=Iu(t)),e}const Ju=ut.define(),Ku=ut.define();class td{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let e=0;e=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(S=w(l))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!n||1==y&&O||0==m&&0!=y)&&(e[c]==l||i[c]==l&&(u=!0)?r[c++]=n:r.length&&(g=!1)),m=y,n+=v(l)}return c==a&&0==r[0]&&g?this.result((u?-200:0)-100,r,t):d==a&&0==f?[-200-t.length+(p==t.length?0:-100),0,p]:o>-1?[-700-t.length,o,o+this.pattern.length]:d==a?[-900-t.length,f,p]:c==a?this.result((u?-200:0)-100-700+(g?0:-1100),r,t):2==e.length?null:this.result((n[0]?-700:0)-200-1100,n,t)}result(t,e,i){let n=[t-i.length],s=1;for(let t of e){let e=t+(this.astral?v(b(i,t)):1);s>1&&n[s-1]==t?n[s-1]=e:(n[s++]=t,n[s++]=e)}return n}}const ed=E.define({combine:t=>kt(t,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:nd,compareCompletions:(t,e)=>t.label.localeCompare(e.label),interactionDelay:75},{defaultKeymap:(t,e)=>t&&e,closeOnBlur:(t,e)=>t&&e,icons:(t,e)=>t&&e,tooltipClass:(t,e)=>i=>id(t(i),e(i)),optionClass:(t,e)=>i=>id(t(i),e(i)),addToOptions:(t,e)=>t.concat(e)})});function id(t,e){return t?e?t+" "+e:t:e}function nd(t,e,i,n,s){let r,o,a=t.textDirection==Wi.RTL,l=a,h=!1,c="top",u=e.left-s.left,d=s.right-e.right,f=n.right-n.left,p=n.bottom-n.top;if(l&&u=p||t>e.top?r=i.bottom-e.top:(c="bottom",r=e.bottom-i.top)}return{style:`${c}: ${r}px; max-width: ${o}px`,class:"cm-completionInfo-"+(h?a?"left-narrow":"right-narrow":l?"left":"right")}}function sd(t,e="option"){return i=>{let n=i.state.field(Sd,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp-1?n.open.selected+r*(t?1:-1):t?0:o-1;return a<0?a="page"==e?0:o-1:a>=o&&(a="page"==e?o-1:0),i.dispatch({effects:vd.of(a)}),!0}}class rd{constructor(t,e){this.active=t,this.context=e,this.time=Date.now(),this.updates=[],this.done=void 0}}const od=_i.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of t.state.field(Sd).active)1==e.state&&this.startQuery(e)}update(t){let e=t.state.field(Sd);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Sd)==e)return;let i=t.transactions.some((t=>(t.selection||t.docChanged)&&!gd(t)));for(let e=0;e50&&Date.now()-n.time>1e3){for(let t of n.context.abortListeners)try{t()}catch(t){Qi(this.view.state,t)}n.context.abortListeners=null,this.running.splice(e--,1)}else n.updates.push(...t.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some((t=>1==t.state&&!this.running.some((e=>e.active.source==t.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let e of t.transactions)"input"==gd(e)?this.composing=2:2==this.composing&&e.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:t}=this.view,e=t.field(Sd);for(let t of e.active)1!=t.state||this.running.some((e=>e.active.source==t.source))||this.startQuery(t)}startQuery(t){let{state:e}=this.view,i=ju(e),n=new Lu(e,i,t.explicitPos==i),s=new rd(t,n);this.running.push(s),Promise.resolve(t.source(n)).then((t=>{s.context.aborted||(s.done=t||null,this.scheduleAccept())}),(t=>{this.view.dispatch({effects:Ku.of(null)}),Qi(this.view.state,t)}))}scheduleAccept(){this.running.every((t=>void 0!==t.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),50))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],i=this.view.state.facet(ed);for(let n=0;nt.source==s.active.source));if(r&&1==r.state)if(null==s.done){let t=new md(s.active.source,0);for(let e of s.updates)t=t.update(e,i);1!=t.state&&e.push(t)}else this.startQuery(r)}e.length&&this.view.dispatch({effects:wd.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Sd,!1);if(e&&e.tooltip&&this.view.state.facet(ed).closeOnBlur){let i=e.open&&Rr(this.view,e.open.tooltip);i&&i.dom.contains(t.relatedTarget)||this.view.dispatch({effects:Ku.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Ju.of(!1)})),20),this.composing=0}}});function ad(t,e){const i=e.completion.apply||e.completion.label;let n=t.state.field(Sd).active.find((t=>t.source==e.source));return n instanceof bd&&("string"==typeof i?t.dispatch(Object.assign(Object.assign({},function(t,e,i,n){let{main:s}=t.selection,r=i-s.from,o=n-s.from;return Object.assign(Object.assign({},t.changeByRange((a=>a!=s&&i!=n&&t.sliceDoc(a.from+r,a.from+o)!=t.sliceDoc(i,n)?{range:a}:{changes:{from:a.from+r,to:n==s.from?a.to:a.from+o,insert:e},range:A.cursor(a.from+r+e.length)}))),{userEvent:"input.complete"})}(t.state,i,n.from,n.to)),{annotations:Gu.of(e.completion)})):i(t,e.completion,n.from,n.to),!0)}function ld(t,e,i){if(t<=i)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let t=Math.floor(e/i);return{from:t*i,to:(t+1)*i}}let n=Math.floor((t-e)/i);return{from:t-(n+1)*i,to:t-n*i}}class hd{constructor(t,e){this.view=t,this.stateField=e,this.info=null,this.placeInfoReq={read:()=>this.measureInfo(),write:t=>this.placeInfo(t),key:this},this.space=null,this.currentClass="";let i=t.state.field(e),{options:n,selected:s}=i.open,r=t.state.facet(ed);this.optionContent=function(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(t){let e=document.createElement("div");return e.classList.add("cm-completionIcon"),t.type&&e.classList.add(...t.type.split(/\s+/g).map((t=>"cm-completionIcon-"+t))),e.setAttribute("aria-hidden","true"),e},position:20}),e.push({render(t,e,i){let n=document.createElement("span");n.className="cm-completionLabel";let{label:s}=t,r=0;for(let t=1;tr&&n.appendChild(document.createTextNode(s.slice(r,e)));let a=n.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(s.slice(e,o))),a.className="cm-completionMatchedText",r=o}return rt.position-e.position)).map((t=>t.render))}(r),this.optionClass=r.optionClass,this.tooltipClass=r.tooltipClass,this.range=ld(n.length,s,r.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",(e=>{for(let i,s=e.target;s&&s!=this.dom;s=s.parentNode)if("LI"==s.nodeName&&(i=/-(\d+)$/.exec(s.id))&&+i[1]{let i=t.state.field(this.stateField,!1);i&&i.tooltip&&t.state.facet(ed).closeOnBlur&&e.relatedTarget!=t.contentDOM&&t.dispatch({effects:Ku.of(null)})})),this.list=this.dom.appendChild(this.createListBox(n,i.id,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}mount(){this.updateSel()}update(t){var e,i,n;let s=t.state.field(this.stateField),r=t.startState.field(this.stateField);this.updateTooltipClass(t.state),s!=r&&(this.updateSel(),(null===(e=s.open)||void 0===e?void 0:e.disabled)!=(null===(i=r.open)||void 0===i?void 0:i.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(null===(n=s.open)||void 0===n?void 0:n.disabled)))}updateTooltipClass(t){let e=this.tooltipClass(t);if(e!=this.currentClass){for(let t of this.currentClass.split(" "))t&&this.dom.classList.remove(t);for(let t of e.split(" "))t&&this.dom.classList.add(t);this.currentClass=e}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),e=t.open;if((e.selected>-1&&e.selected=this.range.to)&&(this.range=ld(e.options.length,e.selected,this.view.state.facet(ed).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e.options,t.id,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))),this.updateSelectedOption(e.selected)){this.info&&(this.info.remove(),this.info=null);let{completion:i}=e.options[e.selected],{info:n,label:s,c:r}=i;if(!n)return;let o="string"==typeof n?document.createTextNode(n+" "):n(i);if(!o)return;if(!r){const t=document.createElement("span");t.appendChild(o),o=t;const e=document.createElement("a");e.innerText="🔎",e.href="/docFind/"+s,e.target="blank",o.appendChild(e)}if(!o)return;"then"in o?o.then((e=>{e&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(e)})).catch((t=>Qi(this.view.state,t,"completion info"))):this.addInfoPane(o)}}addInfoPane(t){let e=this.info=document.createElement("div");e.className="cm-tooltip cm-completionInfo",e.appendChild(t),this.dom.appendChild(e),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let e=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)"LI"==i.nodeName&&i.id?n==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),e=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected"):n--;return e&&function(t,e){let i=t.getBoundingClientRect(),n=e.getBoundingClientRect();n.topi.bottom&&(t.scrollTop+=n.bottom-i.bottom)}(this.list,e),e}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let e=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=t.getBoundingClientRect(),s=this.space;if(!s){let t=this.dom.ownerDocument.defaultView||window;s={left:0,top:0,right:t.innerWidth,bottom:t.innerHeight}}return n.top>Math.min(s.bottom,e.bottom)-10||n.bottomi.from||0==i.from))if(s=t,"string"!=typeof l&&l.header)n.appendChild(l.header(l));else{n.appendChild(document.createElement("completion-section")).textContent=t}}const h=n.appendChild(document.createElement("li"));h.id=e+"-"+r,h.setAttribute("role","option");let c=this.optionClass(o);c&&(h.className=c);for(let t of this.optionContent){let e=t(o,this.view.state,a);e&&h.appendChild(e)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.to=this.options.length?this:new ud(this.options,pd(e,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,e,i,n,s){let r=function(t,e){let i=[],n=null,s=t=>{i.push(t);let{section:e}=t.completion;if(e){n||(n=[]);let t="string"==typeof e?e:e.name;n.some((e=>e.name==t))||n.push("string"==typeof e?{name:t}:e)}};for(let n of t)if(n.hasResult())if(!1===n.result.filter){let t=n.result.getMatch;for(let e of n.result.options){let r=[1e9-i.length];if(t)for(let i of t(e))r.push(i);s(new Bu(e,n.source,r,r[0]))}}else{let t,i=new td(e.sliceDoc(n.from,n.to));for(let e of n.result.options)(t=i.match(e.label))&&s(new Bu(e,n.source,t,t[0]+(e.boost||0)))}if(n){let t=Object.create(null),e=0,s=(t,e)=>{var i,n;return(null!==(i=t.rank)&&void 0!==i?i:1e9)-(null!==(n=e.rank)&&void 0!==n?n:1e9)||(t.namee.score-t.score||a(t.completion,e.completion))))!o||o.label!=t.completion.label||o.detail!=t.completion.detail||null!=o.type&&null!=t.completion.type&&o.type!=t.completion.type||o.apply!=t.completion.apply?r.push(t):cd(t.completion)>cd(o)&&(r[r.length-1]=t),o=t.completion;return r}(t,e);if(!r.length)return n&&t.some((t=>1==t.state))?new ud(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let o=e.facet(ed).selectOnOpen?0:-1;if(n&&n.selected!=o&&-1!=n.selected){let t=n.options[n.selected].completion;for(let e=0;ee.hasResult()?Math.min(t,e.from):t),1e8),create:(a=Sd,t=>new hd(t,a)),above:s.aboveCursor},n?n.timestamp:Date.now(),o,!1);var a}map(t){return new ud(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:t.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class dd{constructor(t,e,i){this.active=t,this.id=e,this.open=i}static start(){return new dd(Od,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(t){let{state:e}=t,i=e.facet(ed),n=(i.override||e.languageDataAt("autocomplete",ju(e)).map(Hu)).map((e=>(this.active.find((t=>t.source==e))||new md(e,this.active.some((t=>0!=t.state))?1:0)).update(t,i)));n.length==this.active.length&&n.every(((t,e)=>t==this.active[e]))&&(n=this.active);let s=this.open;s&&t.docChanged&&(s=s.map(t.changes)),t.selection||n.some((e=>e.hasResult()&&t.changes.touchesRange(e.from,e.to)))||!function(t,e){if(t==e)return!0;for(let i=0,n=0;;){for(;i1==t.state))&&(s=null),!s&&n.every((t=>1!=t.state))&&n.some((t=>t.hasResult()))&&(n=n.map((t=>t.hasResult()?new md(t.source,0):t)));for(let e of t.effects)e.is(vd)&&(s=s&&s.setSelected(e.value,this.id));return n==this.active&&s==this.open?this:new dd(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:fd}}const fd={"aria-autocomplete":"list"};function pd(t,e){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(i["aria-activedescendant"]=t+"-"+e),i}const Od=[];function gd(t){return t.isUserEvent("input.type")?"input":t.isUserEvent("delete.backward")?"delete":null}class md{constructor(t,e,i=-1){this.source=t,this.state=e,this.explicitPos=i}hasResult(){return!1}update(t,e){let i=gd(t),n=this;i?n=n.handleUserEvent(t,i,e):t.docChanged?n=n.handleChange(t):t.selection&&0!=n.state&&(n=new md(n.source,0));for(let e of t.effects)if(e.is(Ju))n=new md(n.source,1,e.value?ju(t.state):-1);else if(e.is(Ku))n=new md(n.source,0);else if(e.is(wd))for(let t of e.value)t.source==n.source&&(n=t);return n}handleUserEvent(t,e,i){return"delete"!=e&&i.activateOnTyping?new md(this.source,1):this.map(t.changes)}handleChange(t){return t.changes.touchesRange(ju(t.startState))?new md(this.source,0):this.map(t.changes)}map(t){return t.empty||this.explicitPos<0?this:new md(this.source,this.state,t.mapPos(this.explicitPos))}}class bd extends md{constructor(t,e,i,n,s){super(t,2,e),this.result=i,this.from=n,this.to=s}hasResult(){return!0}handleUserEvent(t,e,i){var n;let s=t.changes.mapPos(this.from),r=t.changes.mapPos(this.to,1),o=ju(t.state);if((this.explicitPos<0?o<=s:or||"delete"==e&&ju(t.startState)==this.from)return new md(this.source,"input"==e&&i.activateOnTyping?1:0);let a,l=this.explicitPos<0?-1:t.changes.mapPos(this.explicitPos);return function(t,e,i,n){if(!t)return!1;let s=e.sliceDoc(i,n);return"function"==typeof t?t(s,i,n,e):Nu(t,!0).test(s)}(this.result.validFor,t.state,s,r)?new bd(this.source,l,this.result,s,r):this.result.update&&(a=this.result.update(this.result,s,r,new Lu(t.state,o,l>=0)))?new bd(this.source,l,a,a.from,null!==(n=a.to)&&void 0!==n?n:ju(t.state)):new md(this.source,1,l)}handleChange(t){return t.changes.touchesRange(this.from,this.to)?new md(this.source,0):this.map(t.changes)}map(t){return t.empty?this:new bd(this.source,this.explicitPos<0?-1:t.mapPos(this.explicitPos),this.result,t.mapPos(this.from),t.mapPos(this.to,1))}}const wd=ut.define({map:(t,e)=>t.map((t=>t.map(e)))}),vd=ut.define(),Sd=q.define({create:()=>dd.start(),update:(t,e)=>t.update(e),provide:t=>[Tr.from(t,(t=>t.tooltip)),Ts.contentAttributes.from(t,(t=>t.attrs))]}),yd=Ts.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:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class xd{constructor(t,e,i,n){this.field=t,this.line=e,this.from=i,this.to=n}}class kd{constructor(t,e,i){this.field=t,this.from=e,this.to=i}map(t){let e=t.mapPos(this.from,-1,y.TrackDel),i=t.mapPos(this.to,1,y.TrackDel);return null==e||null==i?null:new kd(this.field,e,i)}}class Qd{constructor(t,e){this.lines=t,this.fieldPositions=e}instantiate(t,e){let i=[],n=[e],s=t.doc.lineAt(e),r=/^\s*/.exec(s.text)[0];for(let s of this.lines){if(i.length){let i=r,o=/^\t*/.exec(s)[0].length;for(let e=0;enew kd(t.field,n[t.line]+t.from,n[t.line]+t.to)));return{text:i,ranges:o}}static parse(t){let e,i=[],n=[],s=[];for(let r of t.split(/\r\n?|\n/)){for(;e=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(r);){let t=e[1]?+e[1]:null,o=e[2]||e[3]||"",a=-1;for(let e=0;e=a&&t.field++}s.push(new xd(a,n.length,e.index,e.index+o.length)),r=r.slice(0,e.index)+o+r.slice(e.index+e[0].length)}for(let t;t=/\\([{}])/.exec(r);){r=r.slice(0,t.index)+t[1]+r.slice(t.index+t[0].length);for(let e of s)e.line==n.length&&e.from>t.index&&(e.from--,e.to--)}n.push(r)}return new Qd(n,s)}}let $d=ni.widget({widget:new class extends ei{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),Pd=ni.mark({class:"cm-snippetField"});class Cd{constructor(t,e){this.ranges=t,this.active=e,this.deco=ni.set(t.map((t=>(t.from==t.to?$d:Pd).range(t.from,t.to))))}map(t){let e=[];for(let i of this.ranges){let n=i.map(t);if(!n)return null;e.push(n)}return new Cd(e,this.active)}selectionInsideField(t){return t.ranges.every((t=>this.ranges.some((e=>e.field==this.active&&e.from<=t.from&&e.to>=t.to))))}}const _d=ut.define({map:(t,e)=>t&&t.map(e)}),Xd=ut.define(),Zd=q.define({create:()=>null,update(t,e){for(let i of e.effects){if(i.is(_d))return i.value;if(i.is(Xd)&&t)return new Cd(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>Ts.decorations.from(t,(t=>t?t.deco:ni.none))});function Ad(t,e){return A.create(t.filter((t=>t.field==e)).map((t=>A.range(t.from,t.to))))}function Td(e){let i=Qd.parse(e);return(e,n,s,r)=>{let{text:o,ranges:a}=i.instantiate(e.state,s),l={changes:{from:s,to:r,insert:t.of(o)},scrollIntoView:!0,annotations:n?Gu.of(n):void 0};if(a.length&&(l.selection=Ad(a,0)),a.length>1){let t=new Cd(a,0),i=l.effects=[_d.of(t)];void 0===e.state.field(Zd,!1)&&i.push(ut.appendConfig.of([Zd,Md,Wd,yd]))}e.dispatch(e.state.update(l))}}function Rd(t){return({state:e,dispatch:i})=>{let n=e.field(Zd,!1);if(!n||t<0&&0==n.active)return!1;let s=n.active+t,r=t>0&&!n.ranges.some((e=>e.field==s+t));return i(e.update({selection:Ad(n.ranges,s),effects:_d.of(r?null:new Cd(n.ranges,s))})),!0}}const Ed=[{key:"Tab",run:Rd(1),shift:Rd(-1)},{key:"Escape",run:({state:t,dispatch:e})=>!!t.field(Zd,!1)&&(e(t.update({effects:_d.of(null)})),!0)}],Vd=E.define({combine:t=>t.length?t[0]:Ed}),Md=N.highest(Ys.compute([Vd],(t=>t.facet(Vd))));function Dd(t,e){return Object.assign(Object.assign({},e),{apply:Td(t)})}const Wd=Ts.domEventHandlers({mousedown(t,e){let i,n=e.state.field(Zd,!1);if(!n||null==(i=e.posAtCoords({x:t.clientX,y:t.clientY})))return!1;let s=n.ranges.find((t=>t.from<=i&&t.to>=i));return!(!s||s.field==n.active)&&(e.dispatch({selection:Ad(n.ranges,s.field),effects:_d.of(n.ranges.some((t=>t.field>s.field))?new Cd(n.ranges,s.field):null)}),!0)}}),Ud=new class extends Qt{};function Yd(t={}){return[Sd,ed.of(t),od,Ld,yd]}Ud.startSide=1,Ud.endSide=-1;const qd=[{key:"Ctrl-Space",run:t=>!!t.state.field(Sd,!1)&&(t.dispatch({effects:Ju.of(!0)}),!0)},{key:"Escape",run:t=>{let e=t.state.field(Sd,!1);return!(!e||!e.active.some((t=>0!=t.state)))&&(t.dispatch({effects:Ku.of(null)}),!0)}},{key:"ArrowDown",run:sd(!0)},{key:"ArrowUp",run:sd(!1)},{key:"PageDown",run:sd(!0,"page")},{key:"PageUp",run:sd(!1,"page")},{key:"Enter",run:t=>{let e=t.state.field(Sd,!1);return!(t.state.readOnly||!e||!e.open||e.open.selected<0||Date.now()-e.open.timestampt.facet(ed).defaultKeymap?[qd]:[]))),zd=(()=>[vr(),yh(),ir(),$l(_l,{fallback:!0}),Ys.of([...Vc,...Wh])])();class Id{constructor(t,e,i,n,s,r,o,a,l,h=0,c){this.p=t,this.stack=e,this.state=i,this.reducePos=n,this.pos=s,this.score=r,this.buffer=o,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter(((t,e)=>e%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,i=0){let n=t.parser.context;return new Id(t,[],e,i,i,0,[],0,n?new Bd(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let i=t>>19,n=65535&t,{parser:s}=this.p,r=s.dynamicPrecedence(n);if(r&&(this.score+=r),0==i)return this.pushState(s.getGoto(this.state,n,!0),this.reducePos),n=2e3&&!(null===(e=this.p.parser.nodeSet.types[n])||void 0===e?void 0:e.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(n,a)}storeNode(t,e,i,n=4,s=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==t.buffer[n-4]&&t.buffer[n-1]>-1){if(e==i)return;if(t.buffer[n-2]>=e)return void(t.buffer[n-2]=i)}}if(s&&this.pos!=i){let s=this.buffer.length;if(s>0&&0!=this.buffer[s-4])for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,n>4&&(n-=4);this.buffer[s]=t,this.buffer[s+1]=e,this.buffer[s+2]=i,this.buffer[s+3]=n}else this.buffer.push(t,e,i,n)}shift(t,e,i){let n=this.pos;if(131072&t)this.pushState(65535&t,this.pos);else if(0==(262144&t)){let s=t,{parser:r}=this.p;(i>this.pos||e<=r.maxNode)&&(this.pos=i,r.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,n),this.shiftContext(e,n),e<=r.maxNode&&this.buffer.push(e,n,i,4)}else this.pos=i,this.shiftContext(e,n),e<=this.p.parser.maxNode&&this.buffer.push(e,n,i,4)}apply(t,e,i){65536&t?this.reduce(t):this.shift(t,e,i)}useNode(t,e){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let n=this.pos;this.reducePos=this.pos=n+t.length,this.pushState(e,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;for(;e>0&&t.buffer[e-2]>t.reducePos;)e-=4;let i=t.buffer.slice(e),n=t.bufferBase+e;for(;t&&n==t.bufferBase;)t=t.parent;return new Id(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,e,4),this.storeNode(0,this.pos,e,i?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new Nd(this);;){let i=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(0==i)return!1;if(0==(65536&i))return!0;e.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let n,s=0;s1&e&&t==n))||i.push(e[t],n)}e=i}let i=[];for(let t=0;t>19,n=65535&t,s=this.stack.length-3*i;if(s<0||e.getGoto(this.stack[s],n,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!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(3!=this.stack.length)return!1;let{parser:t}=this.p;return 65535==t.data[t.stateSlot(this.state,1)]&&!t.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;ethis.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Bd{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}var jd;!function(t){t[t.Insert=200]="Insert",t[t.Delete=190]="Delete",t[t.Reduce=100]="Reduce",t[t.MaxNext=4]="MaxNext",t[t.MaxInsertStackDepth=300]="MaxInsertStackDepth",t[t.DampenInsertStackDepth=120]="DampenInsertStackDepth",t[t.MinBigReduction=2e3]="MinBigReduction"}(jd||(jd={}));class Nd{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=65535&t,i=t>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=n}}class Gd{constructor(t,e,i){this.stack=t,this.pos=e,this.index=i,this.buffer=t.buffer,0==this.index&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new Gd(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;null!=t&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.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,0==this.index&&this.maybeNext()}fork(){return new Gd(this.stack,this.pos,this.index)}}function Fd(t,e=Uint16Array){if("string"!=typeof t)return t;let i=null;for(let n=0,s=0;n=92&&e--,e>=34&&e--;let s=e-32;if(s>=46&&(s-=46,i=!0),r+=s,i)break;r*=46}i?i[s++]=r:i=new e(r)}return i}class Hd{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Jd=new Hd;class Kd{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Jd,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let i=this.range,n=this.rangeIndex,s=this.pos+t;for(;si.to:s>=i.to;){if(n==this.ranges.length-1)return null;let t=this.ranges[++n];s+=t.from-i.to,i=t}return s}clipPos(t){if(t>=this.range.from&&tt)return Math.max(t,e.from);return this.end}peek(t){let e,i,n=this.chunkOff+t;if(n>=0&&n=this.chunk2Pos&&en.to&&(this.chunk2=this.chunk2.slice(0,n.to-e)),i=this.chunk2.charCodeAt(0)}}return e>=this.token.lookAhead&&(this.token.lookAhead=e+1),i}acceptToken(t,e=0){let i=e?this.resolveOffset(e,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.range.to?t.slice(0,this.range.to-this.pos):t,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(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,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(t,e){if(e?(this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1):this.token=Jd,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let i="";for(let n of this.ranges){if(n.from>=e)break;n.to>t&&(i+=this.input.read(Math.max(n.from,t),Math.min(n.to,e)))}return i}}class tf{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:i}=e.p;sf(this.data,t,e,this.id,i.data,i.tokenPrecTable)}}tf.prototype.contextual=tf.prototype.fallback=tf.prototype.extend=!1;class ef{constructor(t,e,i){this.precTable=e,this.elseToken=i,this.data="string"==typeof t?Fd(t):t}token(t,e){let i=t.pos,n=0;for(;sf(this.data,t,e,0,this.data,this.precTable),!(t.token.value>-1);){if(null==this.elseToken)return;if(t.next<0)break;t.advance(),t.reset(t.pos,t.token),n++}n&&(t.reset(i,t.token),t.acceptToken(this.elseToken,n))}}ef.prototype.contextual=tf.prototype.fallback=tf.prototype.extend=!1;class nf{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function sf(t,e,i,n,s,r){let o=0,a=1<0){let i=t[n];if(l.allows(i)&&(-1==e.token.value||e.token.value==i||of(i,e.token.value,s,r))){e.acceptToken(i);break}}let n=e.next,h=0,c=t[o+2];if(!(e.next<0&&c>h&&65535==t[i+3*c-3]&&65535==t[i+3*c-3])){for(;h>1,r=i+s+(s<<1),a=t[r],l=t[r+1]||65536;if(n=l)){o=t[r+2],e.advance();continue t}h=s+1}}break}o=t[i+3*c-1]}}function rf(t,e,i){for(let n,s=e;65535!=(n=t[s]);s++)if(n==i)return s-e;return-1}function of(t,e,i,n){let s=rf(i,n,e);return s<0||rf(i,n,t)e)&&!n.type.isError)return i<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(t.length,Math.max(n.from+1,e+25));if(i<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return i<0?0:t.length}}!function(t){t[t.Margin=25]="Margin"}(hf||(hf={}));let uf=class{constructor(t,e){this.fragments=t,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?cf(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?cf(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(tt)return this.nextStart=r,null;if(s instanceof bo){if(r==t){if(r=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(r),this.index.push(0))}else this.index[e]++,this.nextStart=r+s.length}}};class df{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((t=>new Hd))}getActions(t){let e=0,i=null,{parser:n}=t.p,{tokenizers:s}=n,r=n.stateSlot(t.state,3),o=t.curContext?t.curContext.hash:0,a=0;for(let n=0;nh.end+25&&(a=Math.max(h.lookAhead,a)),0!=h.value)){let n=e;if(h.extended>-1&&(e=this.addActions(t,h.extended,h.end,e)),e=this.addActions(t,h.value,h.end,e),!l.extend&&(i=h,e>n))break}}for(;this.actions.length>e;)this.actions.pop();return a&&t.setLookAhead(a),i||t.pos!=this.stream.end||(i=new Hd,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,e=this.addActions(t,i.value,i.end,e)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new Hd,{pos:i,p:n}=t;return e.start=i,e.end=Math.min(i+1,n.stream.end),e.value=i==n.stream.end?n.parser.eofTerm:0,e}updateCachedToken(t,e,i){let n=this.stream.clipPos(i.pos);if(e.token(this.stream.reset(n,t),i),t.value>-1){let{parser:e}=i.p;for(let n=0;n=0&&i.p.parser.dialect.allows(s>>1)){0==(1&s)?t.value=s>>1:t.extended=s>>1;break}}}else t.value=0,t.end=this.stream.clipPos(n+1)}putAction(t,e,i,n){for(let e=0;e4*t.bufferLength?new uf(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t,e,i=this.stacks,n=this.minStackPos,s=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[t]=i;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rn)s.push(o);else{if(this.advanceStack(o,s,i))continue;{t||(t=[],e=[]),t.push(o);let i=this.tokens.getMainToken(o);e.push(i.value,i.end)}}break}}if(!s.length){let e=t&&function(t){let e=null;for(let i of t){let t=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=t&&i.pos>t)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.scorethis.stoppedAt?t[0]:this.runRecovery(t,e,s);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let t=1==this.recovering?1:3*this.recovering;if(s.length>t)for(s.sort(((t,e)=>e.score-t.score));s.length>t;)s.pop();s.some((t=>t.reducePos>n))&&this.recovering--}else if(s.length>1){t:for(let t=0;t500&&n.buffer.length>500){if(!((e.score-n.score||e.buffer.length-n.buffer.length)>0)){s.splice(t--,1);continue t}s.splice(i--,1)}}}s.length>12&&s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let t=1;t ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let e=t.curContext&&t.curContext.tracker.strict,i=e?t.curContext.hash:0;for(let o=this.fragments.nodeAt(n);o;){let n=this.parser.nodeSet.types[o.type.id]==o.type?s.getGoto(t.state,o.type.id):-1;if(n>-1&&o.length&&(!e||(o.prop(ho.contextHash)||0)==i))return t.useNode(o,n),af&&console.log(r+this.stackID(t)+` (via reuse of ${s.getName(o.type.id)})`),!0;if(!(o instanceof bo)||0==o.children.length||o.positions[0]>0)break;let a=o.children[0];if(!(a instanceof bo&&0==o.positions[0]))break;o=a}}let o=s.stateSlot(t.state,4);if(o>0)return t.reduce(o),af&&console.log(r+this.stackID(t)+` (via always-reduce ${s.getName(65535&o)})`),!0;if(t.stack.length>=15e3)for(;t.stack.length>9e3&&t.forceReduce(););let a=this.tokens.getActions(t);for(let o=0;on?e.push(d):i.push(d)}return!1}advanceFully(t,e){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return Of(t,e),!0}}runRecovery(t,e,i){let n=null,s=!1;for(let r=0;r ":"";if(o.deadEnd){if(s)continue;if(s=!0,o.restart(),af&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))continue}let c=o.split(),u=h;for(let t=0;c.forceReduce()&&t<10;t++){if(af&&console.log(u+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,i))break;af&&(u=this.stackID(c)+" -> ")}for(let t of o.recoverByInsert(a))af&&console.log(h+this.stackID(t)+" (via recover-insert)"),this.advanceFully(t,i);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),af&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),Of(o,i)):(!n||n.scoret;class bf{constructor(t){this.start=t.start,this.shift=t.shift||mf,this.reduce=t.reduce||mf,this.reuse=t.reuse||mf,this.hash=t.hash||(()=>0),this.strict=!1!==t.strict}}class wf extends Vo{constructor(t){if(super(),this.wrappers=[],14!=t.version)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let i=0;it.topRules[e][1])),n=[];for(let t=0;t=0)s(n,t,e[i++]);else{let r=e[i+-n];for(let o=-n;o>0;o--)s(e[i++],t,r);i++}}}this.nodeSet=new po(e.map(((e,s)=>fo.define({name:s>=this.minRepeatTerm?void 0:e,id:s,props:n[s],top:i.indexOf(s)>-1,error:0==s,skipped:t.skippedNodes&&t.skippedNodes.indexOf(s)>-1})))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=oo;let r=Fd(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t"number"==typeof t?new tf(r,t):t)),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,i){let n=new pf(this,t,e,i);for(let s of this.wrappers)n=s(n,t,e,i);return n}getGoto(t,e,i=!1){let n=this.goto;if(e>=n[0])return-1;for(let s=n[e+1];;){let e=n[s++],r=1&e,o=n[s++];if(r&&i)return o;for(let i=s+(e>>1);s0}validAction(t,e){if(e==this.stateSlot(t,4))return!0;for(let i=this.stateSlot(t,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])return!1;i=vf(this.data,i+2)}if(e==vf(this.data,i+1))return!0}}nextStates(t){let e=[];for(let i=this.stateSlot(t,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=vf(this.data,i+2)}if(0==(1&this.data[i+2])){let t=this.data[i+1];e.some(((e,i)=>1&i&&e==t))||e.push(this.data[i],t)}}return e}configure(t){let e=Object.assign(Object.create(wf.prototype),this);if(t.props&&(e.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=i}return t.tokenizers&&(e.tokenizers=this.tokenizers.map((e=>{let i=t.tokenizers.find((t=>t.from==e));return i?i.to:e}))),t.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map(((i,n)=>{let s=t.specializers.find((t=>t.from==i.external));if(!s)return i;let r=Object.assign(Object.assign({},i),{external:s.to});return e.specializers[n]=Sf(r),r}))),t.contextTracker&&(e.context=t.contextTracker),t.dialect&&(e.dialect=this.parseDialect(t.dialect)),null!=t.strict&&(e.strict=t.strict),t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap)),null!=t.bufferLength&&(e.bufferLength=t.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return null==e?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),i=e.map((()=>!1));if(t)for(let n of t.split(" ")){let t=e.indexOf(n);t>=0&&(i[t]=!0)}let n=null;for(let t=0;tt.external(i,n)<<1|e}return t.get}const yf=[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],xf=new bf({start:!1,shift:(t,e)=>3==e||4==e||305==e?t:306==e,strict:!1}),kf=new nf(((t,e)=>{let{next:i}=t;(125==i||-1==i||e.context)&&e.canShift(303)&&t.acceptToken(303)}),{contextual:!0,fallback:!0}),Qf=new nf(((t,e)=>{let i,{next:n}=t;yf.indexOf(n)>-1||(47!=n||47!=(i=t.peek(1))&&42!=i)&&125!=n&&59!=n&&-1!=n&&!e.context&&e.canShift(302)&&t.acceptToken(302)}),{contextual:!0}),$f=new nf(((t,e)=>{let{next:i}=t;if((43==i||45==i)&&(t.advance(),i==t.next)){t.advance();let i=!e.context&&e.canShift(1);t.acceptToken(i?1:2)}}),{contextual:!0}),Pf=ea({"get set async static":ya.modifier,"for while do if else switch try catch finally return throw break continue default case":ya.controlKeyword,"in of await yield void typeof delete instanceof":ya.operatorKeyword,"let var const function class extends":ya.definitionKeyword,"import export from":ya.moduleKeyword,"with debugger as new":ya.keyword,TemplateString:ya.special(ya.string),super:ya.atom,BooleanLiteral:ya.bool,this:ya.self,null:ya.null,Star:ya.modifier,VariableName:ya.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":ya.function(ya.variableName),VariableDefinition:ya.definition(ya.variableName),Label:ya.labelName,PropertyName:ya.propertyName,PrivatePropertyName:ya.special(ya.propertyName),"CallExpression/MemberExpression/PropertyName":ya.function(ya.propertyName),"FunctionDeclaration/VariableDefinition":ya.function(ya.definition(ya.variableName)),"ClassDeclaration/VariableDefinition":ya.definition(ya.className),PropertyDefinition:ya.definition(ya.propertyName),PrivatePropertyDefinition:ya.definition(ya.special(ya.propertyName)),UpdateOp:ya.updateOperator,LineComment:ya.lineComment,BlockComment:ya.blockComment,Number:ya.number,String:ya.string,Escape:ya.escape,ArithOp:ya.arithmeticOperator,LogicOp:ya.logicOperator,BitOp:ya.bitwiseOperator,CompareOp:ya.compareOperator,RegExp:ya.regexp,Equals:ya.definitionOperator,Arrow:ya.function(ya.punctuation),": Spread":ya.punctuation,"( )":ya.paren,"[ ]":ya.squareBracket,"{ }":ya.brace,"InterpolationStart InterpolationEnd":ya.special(ya.brace),".":ya.derefOperator,", ;":ya.separator,"@":ya.meta,TypeName:ya.typeName,TypeDefinition:ya.definition(ya.typeName),"type enum interface implements namespace module declare":ya.definitionKeyword,"abstract global Privacy readonly override":ya.modifier,"is keyof unique infer":ya.operatorKeyword,JSXAttributeValue:ya.attributeValue,JSXText:ya.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":ya.angleBracket,"JSXIdentifier JSXNameSpacedName":ya.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":ya.attributeName,"JSXBuiltin/JSXIdentifier":ya.standard(ya.tagName)}),Cf={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,interface:417,enum:421,namespace:427,module:429,declare:433,global:437,for:456,of:465,while:468,with:472,do:476,if:480,else:482,switch:486,case:492,try:498,catch:502,finally:506,return:510,throw:514,break:518,continue:522,debugger:526},_f={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},Xf={__proto__:null,"<":137},Zf=wf.deserialize({version:14,states:"$6[O`QUOOO%QQUOOO'TQWOOP(bOSOOO*pQ(CjO'#CfO*wOpO'#CgO+VO!bO'#CgO+eO07`O'#DZO-vQUO'#DaO.WQUO'#DlO%QQUO'#DvO0[QUO'#EOOOQ(CY'#EW'#EWO0uQSO'#ETOOQO'#Ei'#EiOOQO'#Ib'#IbO0}QSO'#GkO1YQSO'#EhO1_QSO'#EhO3aQ(CjO'#JcO6QQ(CjO'#JdO6nQSO'#FWO6sQ#tO'#FoOOQ(CY'#F`'#F`O7OO&jO'#F`O7^Q,UO'#FvO8tQSO'#FuOOQ(CY'#Jd'#JdOOQ(CW'#Jc'#JcOOQQ'#KO'#KOO8yQSO'#IOO9OQ(C[O'#IPOOQQ'#JP'#JPOOQQ'#IT'#ITQ`QUOOO%QQUO'#DnO9WQUO'#DzO%QQUO'#D|O9_QSO'#GkO9dQ,UO'#ClO9rQSO'#EgO9}QSO'#ErO:SQ,UO'#F_O:qQSO'#GkO:vQSO'#GoO;RQSO'#GoO;aQSO'#GrO;aQSO'#GsO;aQSO'#GuO9_QSO'#GxOQQSO'#HnO>VQ(C]O'#HtO%QQUO'#HvO>bQ(C]O'#HxO>mQ(C]O'#HzO9OQ(C[O'#H|O>xQ(CjO'#CfO?zQWO'#DfQOQSOOO@bQSO'#EPO9dQ,UO'#EgO@mQSO'#EgO@xQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jg'#JgO%QQUO'#JgOOQO'#Jk'#JkOOQO'#I_'#I_OAxQWO'#E`OOQ(CW'#E_'#E_OBtQ(C`O'#E`OCOQWO'#ESOOQO'#Jj'#JjOCdQWO'#JkODqQWO'#ESOCOQWO'#E`PEOO?MpO'#C`POOO)CDn)CDnOOOO'#IU'#IUOEZOpO,59ROOQ(CY,59R,59ROOOO'#IV'#IVOEiO!bO,59RO%QQUO'#D]OOOO'#IX'#IXOEwO07`O,59uOOQ(CY,59u,59uOFVQUO'#IYOFjQSO'#JeOHlQbO'#JeO+sQUO'#JeOHsQSO,59{OIZQSO'#EiOIhQSO'#JsOIsQSO'#JrOIsQSO'#JrOI{QSO,5;VOJQQSO'#JqOOQ(CY,5:W,5:WOJXQUO,5:WOLYQ(CjO,5:bOLyQSO,5:jOMdQ(C[O'#JpOMkQSO'#JoO:vQSO'#JoONPQSO'#JoONXQSO,5;UON^QSO'#JoO!!fQbO'#JdOOQ(CY'#Cf'#CfO%QQUO'#EOO!#UQ`O,5:oOOQO'#Jl'#JlOOQO-E<`-E<`O9_QSO,5=VO!#lQSO,5=VO!#qQUO,5;SO!%tQ,UO'#EdO!'XQSO,5;SO!(qQ,UO'#DpO!(xQUO'#DuO!)SQWO,5;]O!)[QWO,5;]O%QQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^OOQQ'#FU'#FUO!)jQUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!+mQSO,5;uOOQ(CY,5;v,5;vO%QQUO'#IfO!+uQ(C[O,5jOOQQ'#JX'#JXOOQQ,5>k,5>kOOQQ-ERQ(C[O'#JYO8tQSO'#JYO!>dQ(C[O,59WO!>oQWO,59WO!>wQ,UO,59WO9dQ,UO,59WO!?SQSO,5;SO!?[QSO'#HWO!?mQSO'#KSO%QQUO,5;wO!?uQWO,5;yO!?zQSO,5=qO!@PQSO,5=qO!@UQSO,5=qO9OQ(C[O,5=qO!@dQSO'#EkO!A^QWO'#ElOOQ(CW'#Jq'#JqO!AeQ(C[O'#KPO9OQ(C[O,5=ZO;aQSO,5=aOOQO'#Cr'#CrO!ApQWO,5=^O!AxQ,UO,5=_O!BTQSO,5=aO!BYQ`O,5=dO>QQSO'#G}O9_QSO'#HPO!BbQSO'#HPO9dQ,UO'#HRO!BgQSO'#HROOQQ,5=g,5=gO!BlQSO'#HSO!BtQSO'#ClO!ByQSO,58|O!CTQSO,58|O!E]QUO,58|OOQQ,58|,58|O!EjQ(C[O,58|O%QQUO,58|O!EuQUO'#HZOOQQ'#H['#H[OOQQ'#H]'#H]O`QUO,5=sO!FVQSO,5=sO`QUO,5=yO`QUO,5={O!F[QSO,5=}O`QUO,5>PO!FaQSO,5>SO!FfQUO,5>YOOQQ,5>`,5>`O%QQUO,5>`O9OQ(C[O,5>bOOQQ,5>d,5>dO!JmQSO,5>dOOQQ,5>f,5>fO!JmQSO,5>fOOQQ,5>h,5>hO!JrQWO'#DXO%QQUO'#JgO!KaQWO'#JgO!LOQWO'#DgO!LaQWO'#DgO!NrQUO'#DgO!NyQSO'#JfO# RQSO,5:QO# WQSO'#EmO# fQSO'#JtO# nQSO,5;WO# sQWO'#DgO#!QQWO'#EROOQ(CY,5:k,5:kO%QQUO,5:kO#!XQSO,5:kO>QQSO,5;RO!>oQWO,5;RO!>wQ,UO,5;RO9dQ,UO,5;RO#!aQSO,5@RO#!fQ!LQO,5:oOOQO-E<]-E<]O##lQ(C`O,5:zOCOQWO,5:nO##vQWO,5:nOCOQWO,5:zO!>dQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%QQUO,5:zO#$TQ(C[O,5:zO#$`Q(C[O,5:zO!>oQWO,5:nOOQO,5;Q,5;QO#$nQ(C[O,5:zPOOO'#IS'#ISP#%SO?MpO,58zPOOO,58z,58zOOOO-EtO+sQUO,5>tOOQO,5>z,5>zO#%nQUO'#IYOOQO-EdQ(C[O1G.rO!>oQWO1G.rO!>wQ,UO1G.rO$%YQSO1G0nO$%_QSO'#CfO$%jQSO'#KTO$%rQSO,5=rO$%wQSO'#KTO$%|QSO'#KTO$&XQSO'#IsO$&gQSO,5@nO$&oQbO1G1cOOQ(CY1G1e1G1eO9_QSO1G3]O?rQSO1G3]O$&vQSO1G3]O$&{QSO1G3]OOQQ1G3]1G3]O:vQSO'#JrO:vQSO'#EmO%QQUO'#EmO:vQSO'#ImO$'QQ(C[O,5@kOOQQ1G2u1G2uO!BTQSO1G2{O!%tQ,UO1G2xO$']QSO1G2xOOQQ1G2y1G2yO!%tQ,UO1G2yO$'bQSO1G2yO$'jQWO'#GwOOQQ1G2{1G2{O!3cQWO'#IoO!BYQ`O1G3OOOQQ1G3O1G3OOOQQ,5=i,5=iO$'rQ,UO,5=kO9_QSO,5=kO#K`QSO,5=mO8tQSO,5=mO!>oQWO,5=mO!>wQ,UO,5=mO9dQ,UO,5=mO$(QQSO'#KRO$(]QSO,5=nOOQQ1G.h1G.hO$(bQ(C[O1G.hO?rQSO1G.hO$(mQSO1G.hO9OQ(C[O1G.hO$*rQbO,5@pO$+SQSO,5@pO$+_QUO,5=uO$+fQSO,5=uO:vQSO,5@pOOQQ1G3_1G3_O`QUO1G3_OOQQ1G3e1G3eOOQQ1G3g1G3gO={QSO1G3iO$+kQUO1G3kO$/lQUO'#HjOOQQ1G3n1G3nO$/yQSO'#HpO>QQSO'#HrOOQQ1G3t1G3tO$0RQUO1G3tO9OQ(C[O1G3zOOQQ1G3|1G3|OOQ(CW'#GW'#GWO9OQ(C[O1G4OO9OQ(C[O1G4QO$4VQSO,5@RO!)jQUO,5;XO:vQSO,5;XO>QQSO,5:RO!)jQUO,5:RO!>oQWO,5:RO$4[Q$IUO,5:ROOQO,5;X,5;XO$4fQWO'#IZO$4|QSO,5@QOOQ(CY1G/l1G/lO$5UQWO'#IaO$5`QSO,5@`OOQ(CW1G0r1G0rO!LaQWO,5:ROOQO'#I^'#I^O$5hQWO,5:mOOQ(CY,5:m,5:mO#![QSO1G0VOOQ(CY1G0V1G0VO%QQUO1G0VOOQ(CY1G0m1G0mO>QQSO1G0mO!>oQWO1G0mO!>wQ,UO1G0mOOQ(CW1G5m1G5mO!>dQ(C[O1G0YOOQO1G0f1G0fO%QQUO1G0fO$5oQ(C[O1G0fO$5zQ(C[O1G0fO!>oQWO1G0YOCOQWO1G0YO$6YQ(C[O1G0fOOQO1G0Y1G0YO$6nQ(CjO1G0fPOOO-EtO$7[QSO1G5kO$7dQSO1G5xO$7lQbO1G5yO:vQSO,5>zO$7vQ(CjO1G5vO%QQUO1G5vO$8WQ(C[O1G5vO$8iQSO1G5uO$8iQSO1G5uO:vQSO1G5uO$8qQSO,5>}O:vQSO,5>}OOQO,5>},5>}O$9VQSO,5>}O$ mQSO,5>}OOQO-EcQ(CjO,5oQWO,5dQ(C[O7+$^O!>oQWO7+$^O!#qQUO7+&YO$NgQSO'#IrO$N{QSO,5@oOOQO1G3^1G3^O9_QSO,5@oO$N{QSO,5@oO% TQSO,5@oOOQO,5?_,5?_OOQO-EoQWO1G3XO!>wQ,UO1G3XO%$RQSO'#IqO%$^QSO,5@mO%$fQWO,5@mOOQ(CW1G3Y1G3YOOQQ7+$S7+$SO?rQSO7+$SO9OQ(C[O7+$SO%$qQSO7+$SO%QQUO1G6[O%QQUO1G6]O%$vQUO1G3aO%$}QSO1G3aO%%SQUO1G3aO%%ZQ(C[O1G6[OOQQ7+(y7+(yO9OQ(C[O7+)TO`QUO7+)VOOQQ'#KW'#KWOOQQ'#It'#ItO%%eQUO,5>UOOQQ,5>U,5>UO%QQUO'#HkO%%rQSO'#HmOOQQ,5>[,5>[O:vQSO,5>[OOQQ,5>^,5>^OOQQ7+)`7+)`OOQQ7+)f7+)fOOQQ7+)j7+)jOOQQ7+)l7+)lO%%wQWO1G5mO%&]Q$IUO1G0sO%&gQSO1G0sOOQO1G/m1G/mO%&rQ$IUO1G/mO>QQSO1G/mO!)jQUO'#DgOOQO,5>u,5>uOOQO-E{,5>{OOQO-E<_-E<_O!>oQWO1G/mOOQO-E<[-E<[OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#![QSO7+%qOOQ(CY7+&X7+&XO>QQSO7+&XO!>oQWO7+&XOOQO7+%t7+%tO$6nQ(CjO7+&QOOQO7+&Q7+&QO%QQUO7+&QO%&|Q(C[O7+&QO!>dQ(C[O7+%tO!>oQWO7+%tO%'XQ(C[O7+&QO%'gQ(CjO7++bO%QQUO7++bO%'wQSO7++aO%'wQSO7++aOOQO1G4i1G4iO:vQSO1G4iO%(PQSO1G4iOOQO7+%y7+%yO#![QSO<vOOQO-EwO%QQUO,5>wOOQO-ESQ(CjO<oQWO1G2bOBoQSO1G2cO%EsQSO1G2dO%E{QSO1G2cO!'^Q,UO7+*}OOQ(CY1G/[1G/[O%FWQSO1G/[OOQ(CY7+'n7+'nO%F]Q,UO7+'uO%FmQ(CjO<dQ(C[O<oQWO7+(sO%JhQSO,5?]OOQO-EVOOQQ,5>X,5>XO%KmQSO1G3vO:vQSO7+&_O!)jQUO7+&_OOQO7+%X7+%XO%KrQ$IUO1G5yO>QQSO7+%XOOQ(CY<QQSO<dQ(C[O<QQSO7+)bO&3ZQSO<zAN>zO%QQUOAN?WOOQO<OQ$IUO7+'uO&?tQ,UOG26{OOQO<QOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO#v:PO(RVO(b$WO(i#yO(j#zO~O#y.dO~P#@_O#X:UO#{:UO#y(WX!W(WX~PNlO^'Ya!V'Ya'k'Ya'i'Ya!g'Ya!S'Yao'Ya!X'Ya%a'Ya!a'Ya~P!6UOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(R#fi(b#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#)tO^#zi!V#zi'k#zi'i#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!6UO$W.iO$Y.iO~O$W.jO$Y.jO~O!a)YO#X.kO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.lO~O!X)]O$T.nO$W)[O$Y)[O$a.oO~O!V:QO!W(VX~P#@_O!W.pO~O!a)YO$a(kX~O$a.rO~Oq)lO(S)mO(T.uO~Ol.xO!S.yO'vTO'yUO~O!VcX!acX!gcX!g$sX(bcX~P!.xO!g/PO~P#)tO!V/QO!a#rO(b'bO!g(oX~O!g/VO~O!U)}O't%eO!g(oP~O#d/XO~O!S$sX!V$sX!a$zX~P!.xO!V/YO!S(pX~P#)tO!a/[O~O!S/^O~Ok/bO!a#rO!h%ZO'}%OO(b'bO~O't/dO~O!a*}O~O^%^O!V/hO'k%^O~O!W/jO~P!2vO!]/kO!^/kO'u!iO(U!jO~O|/mO(U!jO~O#T/nO~O't%|Od'_X!V'_X~O!V*gOd(Oa~Od/sO~Oy/tOz/tO|/uOgva(iva(jva!Vva#Xva~Odva#yva~P#L|Oy)qO|)rOg$la(i$la(j$la!V$la#X$la~Od$la#y$la~P#MrOy)qO|)rOg$na(i$na(j$na!V$na#X$na~Od$na#y$na~P#NeO#d/wO~Od$|a!V$|a#X$|a#y$|a~P!0RO!a#rO~O#d/zO~Oy#vOz#wO|#xO!f#tO!h#uO(RVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(b!ni(i!ni(j!ni~O^!ni'k!ni'i!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$ wOg.PO!X'QO%a.OO~Oi0RO't0QO~P!0sO!a*}O^'|a!X'|a'k'|a!V'|a~O#d0XO~OXYX!VcX!WcX~O!V0YO!W(wX~O!W0[O~OX0]O~O't+VO'vTO'yUO~O!X%nO't%eO]'gX!V'gX~O!V+[O](va~O!g0bO~P!6UOX0eO~O]0fO~O!V+hO^(sa'k(sa~O#X0lO~Og0oO!X$yO~O(U(oO!W(tP~Og0xO!X0uO%a0wO'}%OO~OX1SO!V1QO!W(uX~O!W1TO~O]1VO^%^O'k%^O~O't#jO'vTO'yUO~O#X$bO#{$bOP(WXX(WXk(WXy(WXz(WX|(WX!V(WX!e(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#q(WX#s(WX#u(WX#v(WX(R(WX(b(WX(i(WX(j(WX~O#o1YO&Q1ZO^(WX!f(WX~P$(xO#X$bO#o1YO&Q1ZO~O^1[O~P%QO^1^O~O&Z1bOP&XiQ&XiV&Xi^&Xia&Xib&Xii&Xik&Xil&Xim&Xis&Xiu&Xiw&Xi|&Xi!Q&Xi!R&Xi!X&Xi!c&Xi!h&Xi!k&Xi!l&Xi!m&Xi!o&Xi!q&Xi!t&Xi!x&Xi#p&Xi$Q&Xi$U&Xi%`&Xi%b&Xi%d&Xi%e&Xi%h&Xi%j&Xi%m&Xi%n&Xi%p&Xi%|&Xi&S&Xi&U&Xi&W&Xi&Y&Xi&]&Xi&c&Xi&i&Xi&k&Xi&m&Xi&o&Xi&q&Xi'i&Xi't&Xi'v&Xi'y&Xi(R&Xi(a&Xi(n&Xi!W&Xi_&Xi&`&Xi~O_1hO!W1fO&`1gO~P`O!XXO!h1jO~O&g,eOP&biQ&biV&bi^&bia&bib&bii&bik&bil&bim&bis&biu&biw&bi|&bi!Q&bi!R&bi!X&bi!c&bi!h&bi!k&bi!l&bi!m&bi!o&bi!q&bi!t&bi!x&bi#p&bi$Q&bi$U&bi%`&bi%b&bi%d&bi%e&bi%h&bi%j&bi%m&bi%n&bi%p&bi%|&bi&S&bi&U&bi&W&bi&Y&bi&]&bi&c&bi&i&bi&k&bi&m&bi&o&bi&q&bi'i&bi't&bi'v&bi'y&bi(R&bi(a&bi(n&bi!W&bi&Z&bi_&bi&`&bi~O!S1pO~O!V!Za!W!Za~P#@_Ol!kO|!lO!U1vO(U!jO!V&}X!W&}X~P?fO!V,uO!W(Ya~O!V'TX!W'TX~P!@xO!V,xO!W(ha~O!W1}O~P'TO^%^O#X2WO'k%^O~O^%^O!a#rO#X2WO'k%^O~O^%^O!a#rO!l2[O#X2WO'k%^O(b'bO~O^%^O'k%^O~P!6UO!V$^Oo$ka~O!S&|i!V&|i~P!6UO!V'vO!S(Xi~O!V'}O!S(fi~O!S(gi!V(gi~P!6UO!V(di!g(di^(di'k(di~P!6UO#X2^O!V(di!g(di^(di'k(di~O!V(ZO!g(ci~O|%vO!X%wO!x]O#b2cO#c2bO't%eO~O|%vO!X%wO#c2bO't%eO~Og2jO!X'QO%a2iO~Og2jO!X'QO%a2iO'}%OO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'kva(Rva(bva!gva!Sva'ivaova!Xva%ava!ava~P#L|O#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'k$la(R$la(b$la!g$la!S$la'i$lao$la!X$la%a$la!a$la~P#MrO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'k$na(R$na(b$na!g$na!S$na'i$nao$na!X$na%a$na!a$na~P#NeO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'k$|a(R$|a(b$|a!g$|a!S$|a'i$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#)tO^#[q!V#[q'k#[q'i#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!6UOd'OX!V'OX~P!'^O!V.YOd([a~O!U2rO!V'PX!g'PX~P%QO!V.]O!g(]a~O!V.]O!g(]a~P!6UO!S2uO~O#y!ja!W!ja~PJ`O#y!ba!V!ba!W!ba~P#@_O#y!na!W!na~P!8oO#y!pa!W!pa~P!;YO!X3XO$UfO$_3YO~O!W3^O~Oo3_O~P#)tO^$hq!V$hq'k$hq'i$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!6UO!S3`O~Ol.xO'vTO'yUO~Oy)qO|)rO(j)vOg%Xi(i%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$GeOy)qO|)rOg%Zi(i%Zi(j%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$HWO(b$WO~P#)tO!U3cO't%eO!V'ZX!g'ZX~O!V/QO!g(oa~O!V/QO!a#rO!g(oa~O!V/QO!a#rO(b'bO!g(oa~Od$ui!V$ui#X$ui#y$ui~P!0RO!U3kO't*SO!S']X!V']X~P!0pO!V/YO!S(pa~O!V/YO!S(pa~P#)tO!a#rO#o3sO~Ok3vO!a#rO(b'bO~Od(Pi!V(Pi~P!0RO#X3yOd(Pi!V(Pi~P!0RO!g3|O~O^$iq!V$iq'k$iq'i$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!6UO!V4QO!X(qX~P#)tO!f#tO~P3}O^$sX!X$sX%UYX'k$sX!V$sX~P!.xO%U4SO^hXghXyhX|hX!XhX'khX(ihX(jhX!VhX~O%U4SO~O%b4ZO't+VO'vTO'yUO!V'fX!W'fX~O!V0YO!W(wa~OX4_O~O]4`O~O!S4dO~O^%^O'k%^O~P#)tO!X$yO~P#)tO!V4iO#X4kO!W(tX~O!W4lO~Ol!kO|4mO![!uO!]!rO!^!rO!x9mO!|!mO!}!mO#O!mO#P!mO#Q!mO#T4rO#U!vO'u!iO'vTO'yUO(U!jO(a!pO~O!W4qO~P%!VOg4wO!X0uO%a4vO~Og4wO!X0uO%a4vO'}%OO~O't#jO!V'eX!W'eX~O!V1QO!W(ua~O'vTO'yUO(U5QO~O]5UO~O!g5XO~P%QO^5ZO~O^5ZO~P%QO#o5]O&Q5^O~PMOO_1hO!W5bO&`1gO~P`O!a5dO~O!a5fO!V(Zi!W(Zi!a(Zi!h(Zi'}(Zi~O!V#ai!W#ai~P#@_O#X5gO!V#ai!W#ai~O!V!Zi!W!Zi~P#@_O^%^O#X5pO'k%^O~O^%^O!a#rO#X5pO'k%^O~O!V(dq!g(dq^(dq'k(dq~P!6UO!V(ZO!g(cq~O|%vO!X%wO#c5wO't%eO~O!X'QO%a5zO~Og5}O!X'QO%a5zO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'k%Xi(R%Xi(b%Xi!g%Xi!S%Xi'i%Xio%Xi!X%Xi%a%Xi!a%Xi~P$GeO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'k%Zi(R%Zi(b%Zi!g%Zi!S%Zi'i%Zio%Zi!X%Zi%a%Zi!a%Zi~P$HWO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'k$ui(R$ui(b$ui!g$ui!S$ui'i$ui#X$uio$ui!X$ui%a$ui!a$ui~P#)tOd'Oa!V'Oa~P!0RO!V'Pa!g'Pa~P!6UO!V.]O!g(]i~O#y#[i!V#[i!W#[i~P#@_OP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(RVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~O#g#fi~P%0fO#g9uO~P%0fOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO(RVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~Ok#fi~P%2qOk9wO~P%2qOP$YOk9wOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO(RVO#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%4|OX:TO!e9yO#l9yO#m9yO#n:SO#o9yO~P%4|OP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO(RVO#s#fi#u#fi#v#fi#y#fi(b#fi(j#fi!V#fi!W#fi~O(i#fi~P%7hO(i#yO~P%7hOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O(RVO(i#yO#u#fi#v#fi#y#fi(b#fi!V#fi!W#fi~O(j#fi~P%9sO(j#zO~P%9sOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO(RVO(i#yO(j#zO~O#v#fi#y#fi(b#fi!V#fi!W#fi~P%vO!f#tOP(QXX(QXg(QXk(QXy(QXz(QX|(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX#y(QX(R(QX(b(QX(i(QX(j(QX!V(QX!W(QX~O#y#zi!V#zi!W#zi~P#@_O#y!ni!W!ni~P$ wO!W6ZO~O!V'Ya!W'Ya~P#@_O!a#rO(b'bO!V'Za!g'Za~O!V/QO!g(oi~O!V/QO!a#rO!g(oi~Od$uq!V$uq#X$uq#y$uq~P!0RO!S']a!V']a~P#)tO!a6bO~O!V/YO!S(pi~P#)tO!V/YO!S(pi~O!S6fO~O!a#rO#o6kO~Ok6lO!a#rO(b'bO~O!S6nO~Od$wq!V$wq#X$wq#y$wq~P!0RO^$iy!V$iy'k$iy'i$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!6UO!V4QO!X(qa~O^#[y!V#[y'k#[y'i#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!6UOX6sO~O!V0YO!W(wi~O]6yO~O!a5fO~O(U(oO!V'bX!W'bX~O!V4iO!W(ta~OikO't7QO~P._O!W7TO~P%!VOl!kO|7UO'vTO'yUO(U!jO(a!pO~O!X0uO~O!X0uO%a7WO~Og7ZO!X0uO%a7WO~OX7`O!V'ea!W'ea~O!V1QO!W(ui~O!g7dO~O!g7eO~O!g7fO~O!g7fO~P%QO^7hO~O!a7kO~O!g7lO~O!V(gi!W(gi~P#@_O^%^O#X7tO'k%^O~O!V(dy!g(dy^(dy'k(dy~P!6UO!V(ZO!g(cy~O!X'QO%a7wO~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'k$uq(R$uq(b$uq!g$uq!S$uq'i$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#)tO#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'k$wq(R$wq(b$wq!g$wq!S$wq'i$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#)tO!V'Pi!g'Pi~P!6UO#y#[q!V#[q!W#[q~P#@_Oy/tOz/tO|/uOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Rva(bva(iva(jva!Vva!Wva~Oy)qO|)rOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(R$la(b$la(i$la(j$la!V$la!W$la~Oy)qO|)rOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(R$na(b$na(i$na(j$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(R$|a(b$|a!V$|a!W$|a~P%>vO#y$hq!V$hq!W$hq~P#@_O#y$iq!V$iq!W$iq~P#@_O!W8RO~O#y8SO~P!0RO!a#rO!V'Zi!g'Zi~O!a#rO(b'bO!V'Zi!g'Zi~O!V/QO!g(oq~O!S']i!V']i~P#)tO!V/YO!S(pq~O!S8YO~P#)tO!S8YO~Od(Py!V(Py~P!0RO!V'`a!X'`a~P#)tO^%Tq!X%Tq'k%Tq!V%Tq~P#)tOX8_O~O!V0YO!W(wq~O#X8cO!V'ba!W'ba~O!V4iO!W(ti~P#@_OPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!a%RX#o%RX~P&/vO!X0uO%a8gO~O'vTO'yUO(U8lO~O!V1QO!W(uq~O!g8oO~O!g8oO~P%QO!g8qO~O!g8rO~O#X8tO!V#ay!W#ay~O!V#ay!W#ay~P#@_O!X'QO%a8yO~O#y#wy!V#wy!W#wy~P#@_OP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(R$ui(b$ui!V$ui!W$ui~P%>vOy)qO|)rO(j)vOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(R%Xi(b%Xi(i%Xi!V%Xi!W%Xi~Oy)qO|)rOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(R%Zi(b%Zi(i%Zi(j%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#@_O#y#[y!V#[y!W#[y~P#@_O!a#rO!V'Zq!g'Zq~O!V/QO!g(oy~O!S']q!V']q~P#)tO!S9QO~P#)tO!V0YO!W(wy~O!V4iO!W(tq~O!X0uO%a9XO~O!g9[O~O!X'QO%a9aO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(R$uq(b$uq!V$uq!W$uq~P%>vOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(R$wq(b$wq!V$wq!W$wq~P%>vOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0RO!V'bq!W'bq~P#@_O!V#a!Z!W#a!Z~P#@_O#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'k%]!Z(R%]!Z(b%]!Z!g%]!Z!S%]!Z'i%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#)tOP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(R%]!Z(b%]!Z!V%]!Z!W%]!Z~P%>vOo(VX~P1gO'u!iO~P!)jO!ScX!VcX#XcX~P&/vOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!acX!gYX!gcX(bcX~P&E^OP9lOQ9lOa;]Ob!fOikOk9lOlkOmkOskOu9lOw9lO|WO!QkO!RkO!XXO!c9oO!hZO!k9lO!l9lO!m9lO!o9pO!q9qO!t!eO$Q!hO$UfO't)PO'vTO'yUO(RVO(a[O(n;ZO~O!V:QO!W$ka~Oi%POk$qOl$pOm$pOs%QOu%ROw:WO|$xO!X$yO!c;bO!h$uO#c:^O$Q%VO$m:YO$o:[O$r%WO't(gO'vTO'yUO'}%OO(R$rO~O#p)WO~P&JSO!WYX!WcX~P&E^O#d9tO~O!a#rO#d9tO~O#X:UO~O#o9yO~O#X:`O!V(gX!W(gX~O#X:UO!V(eX!W(eX~O#d:aO~Od:cO~P!0RO#d:hO~O#d:iO~O!a#rO#d:jO~O!a#rO#d:aO~O#y:kO~P#@_O#d:lO~O#d:mO~O#d:nO~O#d:oO~O#d:pO~O#d:qO~O#y:rO~P!0RO#y:sO~P!0RO$U~!f!|!}#P#Q#T#b#c#n(n$m$o$r%U%`%a%b%h%j%m%n%p%r~'oR$U(n#h!R'm'u#il#g#jky'n(U'n't$W$Y$W~",goto:"$%Z({PPPP(|P)PP)aP*p.rPPPP5SPP5iP;d>iP>|P>|PPP>|P@lP>|P>|P>|P@pPP@uPA`PFUPPPFYPPPPFYIXPPPI_JYPFYPLgPPPPNuFYPPPFYPFYP!#TFYP!&g!'i!'rP!(e!(i!(ePPPPP!+r!'iPP!,`!-YP!/|FYFY!0R!3Z!7n!7n!;cPPP!;jFYPPPPPPPPPPP!>uP!@WPPFY!AePFYPFYFYFYFYPFY!BwPP!E}P!IPP!IT!I_!Ic!IcP!EzP!Ig!IgP!LiP!LmFYFY!Ls# t>|P>|P>|>|P##O>|>|#$x>|#'V>|#(y>|>|#)g#+c#+c#+g#+o#+c#+wP#+cP>|#,a>|#-i>|>|5SPPP#.tPP#/^#/^P#/^P#/s#/^PP#/yP#/pP#/p#0]#/p#0w#0}5P)P#1Q)PP#1X#1X#1XP)PP)PP)PP)PPP)PP#1_#1bP#1b)PP#1fP#1iP)PP)PP)PP)PP)PP)P)PPP#1o#1u#2P#2V#2]#2c#2i#2w#2}#3T#3_#3e#3o#4O#4U#4u#5X#5_#5e#5s#6Y#7j#7x#8O#8U#8[#8b#8l#8r#8x#9S#9f#9lPPPPPPPPPP#9rPPPPPPP#:f#=mP#>|#?T#?]PPPP#Cg#F]#Lr#Lu#Lx#Mq#Mt#Mw#NO#NWPP#N^#Nb$ Z$!Z$!_$!sPP$!w$!}$#RP$#U$#Y$#]$$R$$i$$n$$q$$t$$z$$}$%R$%VR!xRmpOXr!X#`%]&d&f&g&i,],b1b1eY!rQ'Q,}0u4pQ%ctQ%kwQ%rzQ&[!TS&x!c,uQ'W!fS'^!o!uS*Y$y*_Q+T%lQ+b%tQ+|&UQ,{'PQ-V'XQ-_'_Q/k*aQ1P+}R:_9p$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7tS#m]9m!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q*j%SQ+Y%nQ,O&XQ,V&aQ.S:VQ0O*{Q0S*}Q0_+ZQ1X,TQ2f.PQ4Y0YQ5O1QQ5|2jQ6S:WQ6u4ZR7z5}&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^t!kQ!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4r$Y$pi#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ%uzQ&v!cS&|%w,xQ+Y%nS.x)r.zQ/v*nQ0_+ZQ0d+aQ1W,SQ1X,TQ4Y0YQ4c0fQ5R1SQ5S1VQ6u4ZQ6x4`Q7c5UQ8b6yR8m7`pmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR,Q&]&r^OPXYrstux!X!^!g!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u'S'd'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;];^[#XWZ#S#V&y'tQ%fvQ%jwS%oz%t!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ&Q!RQ'T!eQ'V!fQ(b#oS)|$u*QS+S%k%lQ+W%nQ+w&SQ+{&US-U'W'XQ.R(cQ/U)}Q0W+TQ0^+ZQ0`+[Q0c+`Q0z+xS1O+|+}Q2S-VQ3b/QQ4X0YQ4]0]Q4b0eQ4}1PQ6_3cQ6t4ZQ6w4_Q8^6sR9S8_v$wi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!S%hw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uQ*|%fQ+m%}Q+p&OQ+z&UQ.Q(bQ0y+wU0}+{+|+}Q2k.RQ4x0zS4|1O1PQ7_4}!z;_#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg;`:S:T:Y:[:^:e:g:i:m:o:sW$|i%O*g;ZS%}!O&ZQ&O!PQ&P!QR+k%{$Z${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hT)m$r)nV*k%S:V:WU&|!c%w,xS(p#v#wQ+_%qS-z(^(_Q0p+qQ3z/tR6}4i&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^$i$]c#U#a%a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.e.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QT#PV#Q&ykOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q&z!cR1w,uv!kQ!c!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4rS*X$y*_S/c*Y*aQ/l*bQ0r+sQ3u/kR3x/nlpOXr!X#`%]&d&f&g&i,],b1b1eQ&k![Q'h!tS(d#q9tQ+Q%iQ+u&QQ+v&RQ-S'UQ-a'aS.W(i:aS/y*s:jQ0U+RQ0t+tQ1i,dQ1k,eQ1s,pQ2Q-TQ2T-XS4P/z:pQ4T0VS4W0X:qQ5h1uQ5l2RQ5q2YQ6r4UQ7o5jQ7p5mQ7s5rR8s7l$d$[c#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(a#l'ZU*d$z(h3US*w%a.eQ2g0OQ5y2fQ7y5|R8z7z$d$Zc#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(`#l'ZS(r#w$[S*v%a.eS-{(_(aQ.h)SQ/{*wR2d-|&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S#m]9mQ&f!VQ&g!WQ&i!YQ&j!ZR1a,`Q'R!eQ*y%fQ-Q'TS-}(b*|Q2O-PW2h.Q.R/}0PQ5k2PU5x2e2g2kS7v5y5{S8x7x7yS9_8w8zQ9g9`R9j9hU!sQ'Q,}T4n0u4p!O_OXZ`r!T!X#`#d%Z%]&Z&]&d&f&g&i(Z,],b-t1b1e]!mQ!o'Q,}0u4pT#m]9m%UyOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS(p#v#wS-z(^(_!s:w$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Y!qQ'Q,}0u4pQ']!oS'g!r!uS'i!v4rS-^'^'_Q-`'`R2Z-_Q'f!qS(V#c1_S-]']'iQ/T)|Q/a*XQ2[-`Q3g/US3p/b/lQ6^3bS6i3v3xQ8U6_R8]6lQ#sbQ'e!qS(U#c1_S(W#i*rQ*t%[Q+O%gQ+U%mU-[']'f'iQ-p(VQ/S)|Q/`*XQ/f*[Q0T+PQ0{+yS2X-]-`Q2a-xS3f/T/US3o/a/lQ3r/eQ3t/gQ4z0|Q5s2[Q6]3bQ6a3gS6e3p3xQ6j3wQ7]4{S8T6^6_Q8X6fQ8Z6iQ8j7^Q9O8UQ9P8YQ9R8]Q9Z8kQ9c9QQ:z:uQ;V;OR;W;PV!sQ'Q,}%UaOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS#sx!g!r:t$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:z;]%UbOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tQ%[j!S%gw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uS%mx!gQ+P%hQ+y&UW0|+z+{+|+}U4{0}1O1PS7^4|4}Q8k7_!r:u$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q;O;[R;P;]$xeOPXYrstu!X!^!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tY#^WZ#S#V't!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ,W&a!p:v$X$j)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:y&yS&}!c%wR1y,x$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7t!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q,V&aQ0O*{Q2f.PQ5|2jR7z5}!f$Rc#U%a's'y(e(l({(|(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!T9{)Q)c,s.e1q1t2v3O3P3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!b$Tc#U%a's'y(e(l(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!P9})Q)c,s.e1q1t2v3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!^$Xc#U%a's'y(e(l)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9nQ3a/Oz;^)Q)c,s.e1q1t2v3V3]5i6R6W6X7P7n7{8P8Q9U9];QQ;c;eR;d;f&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S$kh$lR3Y.k'PgOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$gf$mQ$efS)[$h)`R)h$mT$ff$mT)^$h)`'PhOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$kh$lQ$nhR)g$l%UjOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7t!s;[$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^#alOPXZr!X!^!l#O#`#k#x$j%]&]&`&a&d&f&g&i&m&u'S(q)e*{+g,X,],b-R.P.l/u0x1Y1Z1[1^1b1e1g2j3X4m4w5Z5]5^5}7U7Z7hv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hQ*o%WQ.w)qg3U:S:T:Y:[:^:e:g:i:m:o:sv$vi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;dQ*R$wS*[$y*_Q*p%XQ/g*]!z:|#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hf:}:S:T:Y:[:^:e:g:i:m:o:sQ;R;_Q;S;`Q;T;aR;U;bv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg3U:S:T:Y:[:^:e:g:i:m:o:slnOXr!X#`%]&d&f&g&i,],b1b1eQ*U$xQ,k&pQ,l&rR3j/Y$Y${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ+n&OQ0n+pQ4g0mR6|4hT*^$y*_S*^$y*_T4o0u4pS/e*Z4mT3w/m7UQ+O%gQ/f*[Q0T+PQ0{+yQ4z0|Q7]4{Q8j7^R9Z8kn)u$s(j*q/W/o/p2o3h3}6[6m8}:{;X;Y!W:d(f)V){*T.V.s/O/]/|0k0m2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f]:e3T6V7|8{8|9kp)w$s(j*q.|/W/o/p2o3h3}6[6m8}:{;X;Y!Y:f(f)V){*T.V.s/O/]/|0k0m2l2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f_:g3T6V7|7}8{8|9kpmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ&W!SR,X&apmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR&W!SQ+r&PR0j+kqmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ0v+wS4u0y0zU7V4s4t4xS8f7X7YS9V8e8hQ9d9WR9i9eQ&_!TR,R&ZR5R1SS%oz%tR0`+[Q&d!UR,]&eR,c&jT1c,b1eR,g&kQ,f&kR1l,gQ'k!wR-c'kQrOQ#`XT%`r#`Q!zTR'm!zQ!}UR'o!}Q)n$rR.t)nQ#QVR'q#QQ#TWU'w#T'x-jQ'x#UR-j'yQ,v&zR1x,vQ.Z(jR2p.ZQ.^(lS2s.^2tR2t._Q,}'QR1|,}Y!oQ'Q,}0u4pR'[!oS#ZW%vU(O#Z(P-kQ(P#[R-k'zQ,y&}R1z,yr`OXr!T!X#`%]&Z&]&d&f&g&i,],b1b1eS#dZ%ZU#n`#d-tR-t(ZQ([#fQ-q(WW-y([-q2_5uQ2_-rR5u2`Q)`$hR.m)`Q$lhR)f$lQ$_cU)U$_-f:RQ-f9nR:R)cQ/R)|W3d/R3e6`8VU3e/S/T/US6`3f3gR8V6a#m)s$s(f(j)V){*T*l*m*q.T.U.V.s.|.}/O/W/]/o/p/|0k0m2l2m2n2o3T3h3i3m3}4f4h6O6P6T6U6V6[6c6g6m6o6q7|7}8O8W8[8{8|8}9b9k:{;X;Y;e;fQ/Z*TU3l/Z3n6dQ3n/]R6d3mQ*_$yR/i*_Q*h$}R/r*hQ4R/|R6p4RQ+i%yR0i+iQ4j0pS7O4j8dR8d7PQ+t&QR0s+tQ4p0uR7S4pQ1R,OS5P1R7aR7a5RQ0Z+WW4[0Z4^6v8`Q4^0^Q6v4]R8`6wQ+]%oR0a+]Q1e,bR5a1eWqOXr#`Q&h!XQ*u%]Q,[&dQ,^&fQ,_&gQ,a&iQ1`,]S1c,b1eR5`1bQ%_oQ&l!]Q&o!_Q&q!`Q&s!aQ'c!qQ+Q%iQ+d%uQ+j%zQ,Q&_Q,i&nW-Y']'e'f'iQ-a'aQ/h*^Q0U+RS1U,R,UQ1m,hQ1n,kQ1o,lQ2T-XW2V-[-]-`-bQ4T0VQ4a0dQ4e0kQ4y0{Q5T1WQ5_1aU5n2U2X2[Q5q2YQ6r4UQ6z4cQ6{4fQ7R4oQ7[4zQ7b5SS7q5o5sQ7s5rQ8a6xQ8i7]Q8n7cQ8u7rQ9T8bQ9Y8jQ9^8vR9f9ZQ%iwQ'U!fQ'a!qU+R%j%k%lQ,p&wU-T'V'W'XS-X']'gQ/_*XS0V+S+TQ1u,rS2R-U-VQ2Y-^Q3q/cQ4U0WQ5j1{Q5m2SQ5r2ZR6h3uS$ti;ZR*i%OU$}i%O;ZR/q*gQ$siS(f#r*}Q(j#tS)V$`$aQ){$uQ*T$xQ*l%TQ*m%UQ*q%YQ.T:XQ.U:ZQ.V:]Q.s)lQ.|)uQ.})wQ/O)xQ/W*PQ/]*VQ/o*eQ/p*fh/|*z.O0w2i4v5z7W7w8g8y9X9aQ0k+lQ0m+oQ2l:dQ2m:fQ2n:hQ2o.YS3T:S:TQ3h/XQ3i/YQ3m/[Q3}/wQ4f0lQ4h0oQ6O:lQ6P:nQ6T:YQ6U:[Q6V:^Q6[3aQ6c3kQ6g3sQ6m3yQ6o4QQ6q4SQ7|:iQ7}:eQ8O:gQ8W6bQ8[6kQ8{:mQ8|:oQ8}8SQ9b:rQ9k:sQ:{;ZQ;X;cQ;Y;dQ;e;gR;f;hloOXr!X#`%]&d&f&g&i,],b1b1eQ!dPS#bZ#kQ&n!^U'Y!l4m7UQ'p#OQ(s#xQ)d$jS,U&]&`Q,Y&aQ,h&mQ,m&uQ-P'SQ.a(qQ.q)eQ0P*{Q0g+gQ1],XQ2P-RQ2g.PQ3[.lQ3{/uQ4t0xQ5V1YQ5W1ZQ5Y1[Q5[1^Q5c1gQ5y2jQ6Y3XQ7Y4wQ7g5ZQ7i5]Q7j5^Q7y5}Q8h7ZR8p7h#UcOPXZr!X!^!l#`#k#x%]&]&`&a&d&f&g&i&m&u'S(q*{+g,X,],b-R.P/u0x1Y1Z1[1^1b1e1g2j4m4w5Z5]5^5}7U7Z7hQ#UWQ#aYQ%asQ%btQ%duS's#S'vQ'y#VQ(e#qQ(l#uQ(t#{Q(u#|Q(v#}Q(w$OQ(x$PQ(y$QQ(z$RQ({$SQ(|$TQ(}$UQ)O$VQ)Q$XQ)T$^Q)X$bW)c$j)e.l3XQ*x%cQ+^%pS,s&y1vQ-b'dS-g't-iQ-l'|Q-n(TQ.X(iQ._(mQ.c9lQ.e9oQ.f9pQ.g9qQ.v)pQ/x*sQ1q,nQ1t,qQ2U-ZQ2]-oQ2q.]Q2v9tQ2w9uQ2x9vQ2y9wQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S.dQ3V:UQ3W:_Q3]:QQ4O/zQ4V0XQ5i:`Q5o2WQ5t2^Q6Q2rQ6R:aQ6W:cQ6X:jQ7P4kQ7n5gQ7r5pQ7{:kQ8P:pQ8Q:qQ8v7tQ9U8cQ9]8tQ9n#OR;Q;^R#WWR&{!cY!qQ'Q,}0u4pS&w!c,uQ']!oS'g!r!uS'i!v4rS,r&x'PS-^'^'_Q-`'`Q1{,{R2Z-_R(k#tR(n#uQ!dQT,|'Q,}]!nQ!o'Q,}0u4pQ#l]R'Z9mT#gZ%ZS#fZ%ZU%y|},ZU(W#d#e#hS-r(X(YQ-v(ZQ0h+hQ2`-sU2a-t-u-wS5v2b2cR7u5w`#YW#S#V%v't'}+e-mt#cZ|}#d#e#h%Z(X(Y(Z+h-s-t-u-w2b2c5wQ1_,ZQ1r,oQ5e1jQ7m5fT:x&y+fT#]W%vS#[W%vS'u#S'}S'z#V+eS,t&y+fT-h't-mT'O!c%wQ$hfR)j$mT)_$h)`R3Z.kT*O$u*QR*W$xQ/}*zQ2e.OQ4s0wQ5{2iQ7X4vQ7x5zQ8e7WQ8w7wQ9W8gQ9`8yQ9e9XR9h9alpOXr!X#`%]&d&f&g&i,],b1b1eQ&^!TR,Q&ZV%z|},ZR0q+qR,P&XQ%szR+c%tR+X%nT&b!U&eT&c!U&eT1d,b1e",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList 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 : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression 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 in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration 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:364,context:xf,nodeProps:[["group",-26,6,14,16,62,199,203,206,207,209,212,215,225,227,233,235,237,239,242,248,254,256,258,260,262,264,265,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[Pf],skippedNodes:[0,3,4,268],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&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$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&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]$d&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%Z(CS+rq$d&j'wp'z!b'm(;dOX%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%Z(CS.ST'x#S$d&j'n(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'wp'z!b'n(;dOY%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%#`/x`$d&j!l$Ip'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%#S1V`#q$Id$d&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%#S2d_#q$Id$d&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$2b3l_'v$(n$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu`k$d&j'wp'z!b(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'wp'z!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'wp'z!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'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%DfETa(j%Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'wp'z!b'n(;d(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[Qf,$f,2,3,4,5,6,7,8,9,10,11,12,13,kf,new ef("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!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(T~~",141,326),new ef("j~RQYZXz{^~^O'q~~aP!P!Qd~iO'r~~",25,308)],topRules:{Script:[0,5],SingleExpression:[1,266],SingleClassItem:[2,267]},dialects:{jsx:12686,ts:12688},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:312,get:t=>Cf[t]||-1},{term:328,get:t=>_f[t]||-1},{term:67,get:t=>Xf[t]||-1}],tokenPrec:12712}),Af=[Dd("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Dd("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Dd("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Dd("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Dd("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Dd("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Dd("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Dd("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Dd("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Dd('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Dd('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Tf=new Ro,Rf=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Ef(t){return(e,i)=>{let n=e.node.getChild("VariableDefinition");return n&&i(n,t),!0}}const Vf=["FunctionDeclaration"],Mf={FunctionDeclaration:Ef("function"),ClassDeclaration:Ef("class"),ClassExpression:()=>!0,EnumDeclaration:Ef("constant"),TypeAliasDeclaration:Ef("type"),NamespaceDeclaration:Ef("namespace"),VariableDefinition(t,e){t.matchContext(Vf)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function Df(t,e){let i=Tf.get(e);if(i)return i;let n=[],s=!0;function r(e,i){let s=t.sliceString(e.from,e.to);n.push({label:s,type:i})}return e.cursor(mo.IncludeAnonymous).iterate((e=>{if(s)s=!1;else if(e.name){let t=Mf[e.name];if(t&&t(e,r)||Rf.has(e.name))return!1}else if(e.to-e.from>8192){for(let i of Df(t,e.node))n.push(i);return!1}})),Tf.set(e,n),n}const Wf=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Uf=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function Yf(t){let e=Xa(t.state).resolveInner(t.pos,-1);if(Uf.indexOf(e.name)>-1)return null;let i="VariableName"==e.name||e.to-e.from<20&&Wf.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let n=[];for(let i=e;i;i=i.parent)Rf.has(i.name)&&(n=n.concat(Df(t.state.doc,i)));return{options:n,from:i?e.from:t.pos,validFor:Wf}}const qf=_a.define({name:"javascript",parser:Zf.configure({props:[Na.add({IfStatement:il({except:/^\s*({|else\b)/}),TryStatement:il({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:t=>t.baseIndent,SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},Block:tl({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":il({except:/^{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag":t=>t.column(t.node.from)+t.unit}),rl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":ol,BlockComment:t=>({from:t.from+2,to:t.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Lf={test:t=>/^JSX/.test(t.name),facet:Qa({commentTokens:{block:{open:"{/*",close:"*/}"}}})},zf=qf.configure({dialect:"ts"},"typescript"),If=qf.configure({dialect:"jsx",props:[$a.add((t=>t.isTop?[Lf]:void 0))]}),Bf=qf.configure({dialect:"jsx ts",props:[$a.add((t=>t.isTop?[Lf]:void 0))]},"typescript"),jf="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((t=>({label:t,type:"keyword"})));function Nf(t={}){let e=t.jsx?t.typescript?Bf:If:t.typescript?zf:qf;return new Ua(e,[qf.data.of({autocomplete:(i=Uf,n=Iu(Af.concat(jf)),t=>{for(let e=Xa(t.state).resolveInner(t.pos,-1);e;e=e.parent){if(i.indexOf(e.name)>-1)return null;if(e.type.isTop)break}return n(t)})}),qf.data.of({autocomplete:Yf}),t.jsx?Hf:[]]);var i,n}function Gf(t,e,i=t.length){for(let n=null==e?void 0:e.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return t.sliceString(n.from,Math.min(n.to,i));return""}const Ff="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Hf=Ts.inputHandler.of(((t,e,i,n)=>{if((Ff?t.composing:t.compositionStarted)||t.state.readOnly||e!=i||">"!=n&&"/"!=n||!qf.isActiveAt(t.state,e,-1))return!1;let{state:s}=t,r=s.changeByRange((t=>{var e,i;let r,{head:o}=t,a=Xa(s).resolveInner(o,-1);if("JSXStartTag"==a.name&&(a=a.parent),">"==n&&"JSXFragmentTag"==a.name)return{range:A.cursor(o+1),changes:{from:o,insert:">"}};if("/"==n&&"JSXFragmentTag"==a.name){let t=a.parent,i=null==t?void 0:t.parent;if(t.from==o-1&&"JSXEndTag"!=(null===(e=i.lastChild)||void 0===e?void 0:e.name)&&(r=Gf(s.doc,null==i?void 0:i.firstChild,o))){let t=`/${r}>`;return{range:A.cursor(o+t.length),changes:{from:o,insert:t}}}}else if(">"==n){let t=function(t){for(;;){if("JSXOpenTag"==t.name||"JSXSelfClosingTag"==t.name||"JSXFragmentTag"==t.name)return t;if(!t.parent)return null;t=t.parent}}(a);if(t&&"JSXEndTag"!=(null===(i=t.lastChild)||void 0===i?void 0:i.name)&&"`}}}return{range:t}}));return!r.changes.empty&&(t.dispatch(r,{userEvent:"input.type",scrollIntoView:!0}),!0)}));class Jf{constructor(t,e,i,n,s,r,o){this.type=t,this.value=e,this.from=i,this.hash=n,this.end=s,this.children=r,this.positions=o,this.hashProp=[[ho.contextHash,n]]}static create(t,e,i,n,s){return new Jf(t,e,i,n+(n<<8)+t+(e<<4)|0,s,[],[])}addChild(t,e){t.prop(ho.contextHash)!=this.hash&&(t=new bo(t.type,t.children,t.positions,t.length,this.hashProp)),this.children.push(t),this.positions.push(e)}toTree(t,e=this.end){let i=this.children.length-1;return i>=0&&(e=Math.max(e,this.positions[i]+this.children[i].length+this.from)),new bo(t.types[this.type],this.children,this.positions,e-this.from).balance({makeTree:(t,e,i)=>new bo(fo.none,t,e,i,this.hashProp)})}}var Kf;!function(t){t[t.Document=1]="Document",t[t.CodeBlock=2]="CodeBlock",t[t.FencedCode=3]="FencedCode",t[t.Blockquote=4]="Blockquote",t[t.HorizontalRule=5]="HorizontalRule",t[t.BulletList=6]="BulletList",t[t.OrderedList=7]="OrderedList",t[t.ListItem=8]="ListItem",t[t.ATXHeading1=9]="ATXHeading1",t[t.ATXHeading2=10]="ATXHeading2",t[t.ATXHeading3=11]="ATXHeading3",t[t.ATXHeading4=12]="ATXHeading4",t[t.ATXHeading5=13]="ATXHeading5",t[t.ATXHeading6=14]="ATXHeading6",t[t.SetextHeading1=15]="SetextHeading1",t[t.SetextHeading2=16]="SetextHeading2",t[t.HTMLBlock=17]="HTMLBlock",t[t.LinkReference=18]="LinkReference",t[t.Paragraph=19]="Paragraph",t[t.CommentBlock=20]="CommentBlock",t[t.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",t[t.Escape=22]="Escape",t[t.Entity=23]="Entity",t[t.HardBreak=24]="HardBreak",t[t.Emphasis=25]="Emphasis",t[t.StrongEmphasis=26]="StrongEmphasis",t[t.Link=27]="Link",t[t.Image=28]="Image",t[t.InlineCode=29]="InlineCode",t[t.HTMLTag=30]="HTMLTag",t[t.Comment=31]="Comment",t[t.ProcessingInstruction=32]="ProcessingInstruction",t[t.URL=33]="URL",t[t.HeaderMark=34]="HeaderMark",t[t.QuoteMark=35]="QuoteMark",t[t.ListMark=36]="ListMark",t[t.LinkMark=37]="LinkMark",t[t.EmphasisMark=38]="EmphasisMark",t[t.CodeMark=39]="CodeMark",t[t.CodeText=40]="CodeText",t[t.CodeInfo=41]="CodeInfo",t[t.LinkTitle=42]="LinkTitle",t[t.LinkLabel=43]="LinkLabel"}(Kf||(Kf={}));class tp{constructor(t,e){this.start=t,this.content=e,this.marks=[],this.parsers=[]}}class ep{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 t=this.skipSpace(this.basePos);this.indent=this.countIndent(t,this.pos,this.indent),this.pos=t,this.next=t==this.text.length?-1:this.text.charCodeAt(t)}skipSpace(t){return rp(this.text,t)}reset(t){for(this.text=t,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(t){this.basePos=t,this.baseIndent=this.countIndent(t,this.pos,this.indent)}moveBaseColumn(t){this.baseIndent=t,this.basePos=this.findColumn(t)}addMarker(t){this.markers.push(t)}countIndent(t,e=0,i=0){for(let n=e;n=e.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let n=(t.type==Kf.OrderedList?dp:up)(i,e,!1);return n>0&&(t.type!=Kf.BulletList||hp(i,e,!1)<0)&&i.text.charCodeAt(i.pos+n-1)==t.value}const np={[Kf.Blockquote]:(t,e,i)=>62==i.next&&(i.markers.push(Up(Kf.QuoteMark,e.lineStart+i.pos,e.lineStart+i.pos+1)),i.moveBase(i.pos+(sp(i.text.charCodeAt(i.pos+1))?2:1)),t.end=e.lineStart+i.text.length,!0),[Kf.ListItem]:(t,e,i)=>!(i.indent-1)&&(i.moveBaseColumn(i.baseIndent+t.value),!0),[Kf.OrderedList]:ip,[Kf.BulletList]:ip,[Kf.Document]:()=>!0};function sp(t){return 32==t||9==t||10==t||13==t}function rp(t,e=0){for(;ei&&sp(t.charCodeAt(e-1));)e--;return e}function ap(t){if(96!=t.next&&126!=t.next)return-1;let e=t.pos+1;for(;e-1&&t.depth==e.stack.length||n<3?-1:1}function cp(t,e){for(let i=t.stack.length-1;i>=0;i--)if(t.stack[i].type==e)return!0;return!1}function up(t,e,i){return 45!=t.next&&43!=t.next&&42!=t.next||t.pos!=t.text.length-1&&!sp(t.text.charCodeAt(t.pos+1))||!(!i||cp(e,Kf.BulletList)||t.skipSpace(t.pos+2)=48&&s<=57;){if(n++,n==t.text.length)return-1;s=t.text.charCodeAt(n)}return n==t.pos||n>t.pos+9||46!=s&&41!=s||nt.pos+1||49!=t.next)?-1:n+1-t.pos}function fp(t){if(35!=t.next)return-1;let e=t.pos+1;for(;e6?-1:i}function pp(t){if(45!=t.next&&61!=t.next||t.indent>=t.baseIndent+4)return-1;let e=t.pos+1;for(;e/,mp=/\?>/,bp=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(r)return t.append(Up(Kf.Comment,i,i+1+r[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return t.append(Up(Kf.ProcessingInstruction,i,i+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?t.append(Up(Kf.HTMLTag,i,i+1+a[0].length)):-1},Emphasis(t,e,i){if(95!=e&&42!=e)return-1;let n=i+1;for(;t.char(n)==e;)n++;let s=t.slice(i-1,i),r=t.slice(n,n+1),o=jp.test(s),a=jp.test(r),l=/\s|^$/.test(s),h=/\s|^$/.test(r),c=!h&&(!a||l||o),u=!l&&(!o||h||a),d=c&&(42==e||!u||o),f=u&&(42==e||!c||a);return t.append(new Ip(95==e?Yp:qp,i,n,(d?1:0)|(f?2:0)))},HardBreak(t,e,i){if(92==e&&10==t.char(i+1))return t.append(Up(Kf.HardBreak,i,i+2));if(32==e){let e=i+1;for(;32==t.char(e);)e++;if(10==t.char(e)&&e>=i+2)return t.append(Up(Kf.HardBreak,i,e+1))}return-1},Link:(t,e,i)=>91==e?t.append(new Ip(Lp,i,i+1,1)):-1,Image:(t,e,i)=>33==e&&91==t.char(i+1)?t.append(new Ip(zp,i,i+2,1)):-1,LinkEnd(t,e,i){if(93!=e)return-1;for(let e=t.parts.length-1;e>=0;e--){let n=t.parts[e];if(n instanceof Ip&&(n.type==Lp||n.type==zp)){if(!n.side||t.skipSpace(n.to)==i&&!/[(\[]/.test(t.slice(i+1,i+2)))return t.parts[e]=null,-1;let s=t.takeContent(e),r=t.parts[e]=Gp(t,s,n.type==Lp?Kf.Link:Kf.Image,n.from,i+1);if(n.type==Lp)for(let i=0;ie?Up(Kf.URL,e+i,s+i):s==t.length&&null}}function Hp(t,e,i){let n=t.charCodeAt(e);if(39!=n&&34!=n&&40!=n)return!1;let s=40==n?41:n;for(let n=e+1,r=!1;n=this.end?-1:this.text.charCodeAt(t-this.offset)}get end(){return this.offset+this.text.length}slice(t,e){return this.text.slice(t-this.offset,e-this.offset)}append(t){return this.parts.push(t),t.to}addDelimiter(t,e,i,n,s){return this.append(new Ip(t,e,i,(n?1:0)|(s?2:0)))}addElement(t){return this.append(t)}resolveMarkers(t){for(let e=t;e=t;o--){let t=this.parts[o];if(t instanceof Ip&&1&t.side&&t.type==i.type&&!(s&&(1&i.side||2&t.side)&&(t.to-t.from+r)%3==0&&((t.to-t.from)%3||r%3))){n=t;break}}if(!n)continue;let a=i.type.resolve,l=[],h=n.from,c=i.to;if(s){let t=Math.min(2,n.to-n.from,r);h=n.to-t,c=i.from+t,a=1==t?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,h,n.to));for(let t=o+1;t=0;e--){let i=this.parts[e];if(i instanceof Ip&&i.type==t)return e}return null}takeContent(t){let e=this.resolveMarkers(t);return this.parts.length=t,e}skipSpace(t){return rp(this.text,t-this.offset)+this.offset}elt(t,e,i,n){return"string"==typeof t?Up(this.parser.getNodeType(t),e,i,n):new Wp(t,e)}}function tO(t,e){if(!e.length)return t;if(!t.length)return e;let i=t.slice(),n=0;for(let t of e){for(;n(t?t-1:0))return!1;if(this.fragmentEnd<0){let t=this.fragment.to;for(;t>0&&"\n"!=this.input.read(t-1,t);)t--;this.fragmentEnd=t?t-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let n=t+this.fragment.offset;for(;i.to<=n;)if(!i.parent())return!1;for(;;){if(i.from>=n)return this.fragment.from<=e;if(!i.childAfter(n))return!1}}matches(t){let e=this.cursor.tree;return e&&e.prop(ho.contextHash)==t}takeNodes(t){let e=this.cursor,i=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),s=t.absoluteLineStart,r=s,o=t.block.children.length,a=r,l=o;for(;;){if(e.to-i>n){if(e.type.isAnonymous&&e.firstChild())continue;break}if(t.dontInject.add(e.tree),t.addNode(e.tree,e.from-i),e.type.is("Block")&&(eO.indexOf(e.type.id)<0?(r=e.to-i,o=t.block.children.length):(r=a,o=l,a=e.to-i,l=t.block.children.length)),!e.nextSibling())break}for(;t.block.children.length>o;)t.block.children.pop(),t.block.positions.pop();return r-s}}const nO=ea({"Blockquote/...":ya.quote,HorizontalRule:ya.contentSeparator,"ATXHeading1/... SetextHeading1/...":ya.heading1,"ATXHeading2/... SetextHeading2/...":ya.heading2,"ATXHeading3/...":ya.heading3,"ATXHeading4/...":ya.heading4,"ATXHeading5/...":ya.heading5,"ATXHeading6/...":ya.heading6,"Comment CommentBlock":ya.comment,Escape:ya.escape,Entity:ya.character,"Emphasis/...":ya.emphasis,"StrongEmphasis/...":ya.strong,"Link/... Image/...":ya.link,"OrderedList/... BulletList/...":ya.list,"BlockQuote/...":ya.quote,"InlineCode CodeText":ya.monospace,URL:ya.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":ya.processingInstruction,"CodeInfo LinkLabel":ya.labelName,LinkTitle:ya.string,Paragraph:ya.content}),sO=new Zp(new po(Ep).extend(nO),Object.keys(yp).map((t=>yp[t])),Object.keys(yp).map((t=>$p[t])),Object.keys(yp),Pp,np,Object.keys(Np).map((t=>Np[t])),Object.keys(Np),[]);function rO(t,e,i){let n=[];for(let s=t.firstChild,r=e;;s=s.nextSibling){let t=s?s.from:i;if(t>r&&n.push({from:r,to:t}),!s)break;r=s.to}return n}const oO={resolve:"Strikethrough",mark:"StrikethroughMark"},aO={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":ya.strikethrough}},{name:"StrikethroughMark",style:ya.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,i){if(126!=e||126!=t.char(i+1)||126==t.char(i+2))return-1;let n=t.slice(i-1,i),s=t.slice(i+2,i+3),r=/\s|^$/.test(n),o=/\s|^$/.test(s),a=jp.test(n),l=jp.test(s);return t.addDelimiter(oO,i,i+2,!o&&(!l||r||a),!r&&(!a||o||l))},after:"Emphasis"}]};function lO(t,e,i=0,n,s=0){let r=0,o=!0,a=-1,l=-1,h=!1,c=()=>{n.push(t.elt("TableCell",s+a,s+l,t.parser.parseInline(e.slice(a,l),s+a)))};for(let u=i;u-1)&&r++,o=!1,n&&(a>-1&&c(),n.push(t.elt("TableDelimiter",u+s,u+s+1))),a=l=-1),h=!h&&92==i}return a>-1&&(r++,n&&c()),r}function hO(t,e){for(let i=e;ihO(e.content,0)?new uO:null,endLeaf(t,e,i){if(i.parsers.some((t=>t instanceof uO))||!hO(e.text,e.basePos))return!1;let n=t.scanLine(t.absoluteLineEnd+1).text;return cO.test(n)&&lO(t,e.text,e.basePos)==lO(t,n,e.basePos)},before:"SetextHeading"}]};class fO{nextLine(){return!1}finish(t,e){return t.addLeafElement(e,t.elt("Task",e.start,e.start+e.content.length,[t.elt("TaskMarker",e.start,e.start+3),...t.parser.parseInline(e.content.slice(3),e.start+3)])),!0}}const pO=[dO,{defineNodes:[{name:"Task",block:!0,style:ya.list},{name:"TaskMarker",style:ya.atom}],parseBlock:[{name:"TaskList",leaf:(t,e)=>/^\[[ xX]\]/.test(e.content)&&"ListItem"==t.parentType().name?new fO:null,after:"SetextHeading"}]},aO];function OO(t,e,i){return(n,s,r)=>{if(s!=t||n.char(r+1)==t)return-1;let o=[n.elt(i,r,r+1)];for(let s=r+1;s=65&&r<=90||95==r||r>=97&&r<=122||r>=161;)s+=String.fromCharCode(n),n=t.peek(++e);var r;return RO=t,EO=i,TO=s?s.toLowerCase():n==MO||n==DO?void 0:null}const MO=63,DO=33;function WO(t,e){this.name=t,this.parent=e,this.hash=e?e.hash:0;for(let e=0;eUO.indexOf(e)>-1?new WO(VO(n,1)||"",t):t,reduce:(t,e)=>e==wO&&t?t.parent:t,reuse(t,e,i,n){let s=e.type.id;return 6==s||36==s?new WO(VO(n,1)||"",t):t},hash:t=>t?t.hash:0,strict:!1}),qO=new nf(((t,e)=>{if(60!=t.next)return void(t.next<0&&e.context&&t.acceptToken(57));t.advance();let i=47==t.next;i&&t.advance();let n=VO(t,0);if(void 0===n)return;if(!n)return t.acceptToken(i?14:6);let s=e.context?e.context.name:null;if(i){if(n==s)return t.acceptToken(11);if(s&&XO[s])return t.acceptToken(57,-2);if(e.dialectEnabled(0))return t.acceptToken(12);for(let t=e.context;t;t=t.parent)if(t.name==n)return;t.acceptToken(13)}else{if("script"==n)return t.acceptToken(7);if("style"==n)return t.acceptToken(8);if("textarea"==n)return t.acceptToken(9);if(_O.hasOwnProperty(n))return t.acceptToken(10);s&&ZO[s]&&ZO[s][n]?t.acceptToken(57,-1):t.acceptToken(6)}}),{contextual:!0}),LO=new nf((t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(58);break}if(45==t.next)e++;else{if(62==t.next&&e>=2){i>3&&t.acceptToken(58,-2);break}e=0}t.advance()}}));const zO=new nf(((t,e)=>{if(47==t.next&&62==t.peek(1)){let i=e.dialectEnabled(1)||function(t){for(;t;t=t.parent)if("svg"==t.name||"math"==t.name)return!0;return!1}(e.context);t.acceptToken(i?5:4,2)}else 62==t.next&&t.acceptToken(4,1)}));function IO(t,e,i){let n=2+t.length;return new nf((s=>{for(let r=0,o=0,a=0;;a++){if(s.next<0){a&&s.acceptToken(e);break}if(0==r&&60==s.next||1==r&&47==s.next||r>=2&&ro?s.acceptToken(e,-o):s.acceptToken(i,-(o-2));break}if((10==s.next||13==s.next)&&a){s.acceptToken(e,1);break}r=o=0}else o++;s.advance()}}))}const BO=IO("script",54,1),jO=IO("style",55,2),NO=IO("textarea",56,3),GO=ea({"Text RawText":ya.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":ya.angleBracket,TagName:ya.tagName,"MismatchedCloseTag/TagName":[ya.tagName,ya.invalid],AttributeName:ya.attributeName,"AttributeValue UnquotedAttributeValue":ya.attributeValue,Is:ya.definitionOperator,"EntityReference CharacterReference":ya.character,Comment:ya.blockComment,ProcessingInst:ya.processingInstruction,DoctypeDecl:ya.documentMeta}),FO=wf.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag 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:67,context:YO,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[GO],skippedNodes:[0],repeatNodeCount:9,tokenData:"#%g!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs4ysv-_vw5iwxJ^x}-_}!OKP!O!P-_!P!Q$q!Q![-_![!]!!O!]!^-_!^!_!&W!_!`#$o!`!a&X!a!c-_!c!}!!O!}#R-_#R#S!!O#S#T3V#T#o!!O#o#s-_#s$f$q$f%W-_%W%o!!O%o%p-_%p&a!!O&a&b-_&b1p!!O1p4U-_4U4d!!O4d4e-_4e$IS!!O$IS$I`-_$I`$Ib!!O$Ib$Kh-_$Kh%#t!!O%#t&/x-_&/x&Et!!O&Et&FV-_&FV;'S!!O;'S;:j!&Q;:j;=`4s<%l?&r-_?&r?Ah!!O?Ah?BY$q?BY?Mn!!O?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/echSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0uXhSqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0pS1eP;=`<%l0p[1kP;=`<%l/^!U1wbhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!U3SP;=`<%l1n!V3bchS`P!a`!cpOq&Xqr3Vrs&}sv3Vvw0pwx(tx!P3V!P!Q&X!Q!^3V!^!_1n!_!a&X!a#s3V#s$f&X$f;'S3V;'S;=`4m<%l?Ah3V?Ah?BY&X?BY?Mn3V?MnO&X!V4pP;=`<%l3V!_4vP;=`<%l-_!Z5SV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_5rjhSkWc!ROX7dXZ8qZ[7d[^8q^p7dqr:crs8qst@Ttw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^/^!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!Z7ibkWOX7dXZ8qZ[7d[^8q^p7dqr7drs8qst+Ptw7dwx8qx!]7d!]!^9f!^!a8q!a#S7d#S#T8q#T;'S7d;'S;=`:]<%lO7d!R8tVOp8qqs8qt!]8q!]!^9Z!^;'S8q;'S;=`9`<%lO8q!R9`Oa!R!R9cP;=`<%l8q!Z9mYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z:`P;=`<%l7d!_:jjhSkWOX7dXZ8qZ[7d[^8q^p7dqr:crs8qst/^tw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^<[!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!_b#d#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!>kdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#V1n#V#W!?y#W#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!@SdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#h1n#h#i!Ab#i#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!AkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#m1n#m#n!By#n#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!CSdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#d1n#d#e!Db#e#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!DkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#X1n#X#Y!5]#Y#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!FSchS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!a!G_!a!b##T!b#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!R!GfY!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!a!G_!a!b!Lv!b;'S!G_;'S;=`!N]<%lO!G_q!HZV!cpOv!HUvx!Hpx!a!HU!a!b!Iq!b;'S!HU;'S;=`!Jp<%lO!HUP!HsTO!a!Hp!a!b!IS!b;'S!Hp;'S;=`!Ik<%lO!HpP!IVTO!`!Hp!`!a!If!a;'S!Hp;'S;=`!Ik<%lO!HpP!IkOxPP!InP;=`<%l!Hpq!IvV!cpOv!HUvx!Hpx!`!HU!`!a!J]!a;'S!HU;'S;=`!Jp<%lO!HUq!JdS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!JsP;=`<%l!HUa!J{X!a`Or!Jvrs!Hpsv!Jvvw!Hpw!a!Jv!a!b!Kh!b;'S!Jv;'S;=`!Lp<%lO!Jva!KmX!a`Or!Jvrs!Hpsv!Jvvw!Hpw!`!Jv!`!a!LY!a;'S!Jv;'S;=`!Lp<%lO!Jva!LaT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!LsP;=`<%l!Jv!R!L}Y!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!`!G_!`!a!Mm!a;'S!G_;'S;=`!N]<%lO!G_!R!MvV!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!N`P;=`<%l!G_T!NhbhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!a!Hp!a!b# p!b#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT# ubhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!`!Hp!`!a!If!a#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT##QP;=`<%l!Nc!V##^chS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!`!G_!`!a!Mm!a#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!V#$lP;=`<%l!Ey!V#$zXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[BO,jO,NO,zO,qO,LO,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function HO(t,e){let i=Object.create(null);for(let n of t.getChildren(SO)){let t=n.getChild(yO),s=n.getChild(xO)||n.getChild(kO);t&&(i[e.read(t.from,t.to)]=s?s.type.id==xO?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return i}function JO(t,e){let i=t.getChild(vO);return i?e.read(i.from,i.to):" "}function KO(t,e,i){let n;for(let s of i)if(!s.attrs||s.attrs(n||(n=HO(t.node.parent.firstChild,e))))return{parser:s.parser};return null}function tg(t=[],e=[]){let i=[],n=[],s=[],r=[];for(let e of t){("script"==e.tag?i:"style"==e.tag?n:"textarea"==e.tag?s:r).push(e)}let o=e.length?Object.create(null):null;for(let t of e)(o[t.name]||(o[t.name]=[])).push(t);return Do(((t,e)=>{let a=t.type.id;if(a==QO)return KO(t,e,i);if(a==$O)return KO(t,e,n);if(a==PO)return KO(t,e,s);if(a==wO&&r.length){let i,n=t.node,s=n.firstChild,o=s&&JO(s,e);if(o)for(let t of r)if(t.tag==o&&(!t.attrs||t.attrs(i||(i=HO(n,e))))){let e=n.lastChild;return{parser:t.parser,overlay:[{from:s.to,to:e.type.id==CO?e.from:n.to}]}}}if(o&&a==SO){let i,n=t.node;if(i=n.firstChild){let t=o[e.read(i.from,i.to)];if(t)for(let i of t){if(i.tagName&&i.tagName!=JO(n.parent,e))continue;let t=n.lastChild;if(t.type.id==xO){let e=t.from+1,n=t.lastChild,s=t.to-(n&&n.isError?0:1);if(s>e)return{parser:i.parser,overlay:[{from:e,to:s}]}}else if(t.type.id==kO)return{parser:i.parser,overlay:[{from:t.from,to:t.to}]}}}}return null}))}const eg=[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];function ig(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}const ng=new nf(((t,e)=>{for(let n=!1,s=0,r=0;;r++){let{next:o}=t;if(!(ig(o)||45==o||95==o||n&&(i=o,i>=48&&i<=57))){n&&t.acceptToken(40==o?95:2==s&&e.canShift(2)?2:96);break}!n&&(45!=o||r>0)&&(n=!0),s===r&&45==o&&s++,t.advance()}var i})),sg=new nf((t=>{if(eg.includes(t.peek(-1))){let{next:e}=t;(ig(e)||95==e||35==e||46==e||91==e||58==e||45==e)&&t.acceptToken(94)}})),rg=new nf((t=>{if(!eg.includes(t.peek(-1))){let{next:e}=t;if(37==e&&(t.advance(),t.acceptToken(1)),ig(e)){do{t.advance()}while(ig(t.next));t.acceptToken(1)}}})),og=ea({"AtKeyword import charset namespace keyframes media supports":ya.definitionKeyword,"from to selector":ya.keyword,NamespaceName:ya.namespace,KeyframeName:ya.labelName,TagName:ya.tagName,ClassName:ya.className,PseudoClassName:ya.constant(ya.className),IdName:ya.labelName,"FeatureName PropertyName":ya.propertyName,AttributeName:ya.attributeName,NumberLiteral:ya.number,KeywordQuery:ya.keyword,UnaryQueryOp:ya.operatorKeyword,"CallTag ValueName":ya.atom,VariableName:ya.variableName,Callee:ya.operatorKeyword,Unit:ya.unit,"UniversalSelector NestingSelector":ya.definitionOperator,MatchOp:ya.compareOperator,"ChildOp SiblingOp, LogicOp":ya.logicOperator,BinOp:ya.arithmeticOperator,Important:ya.modifier,Comment:ya.blockComment,ParenthesizedContent:ya.special(ya.name),ColorLiteral:ya.color,StringLiteral:ya.string,":":ya.punctuation,"PseudoOp #":ya.derefOperator,"; ,":ya.separator,"( )":ya.paren,"[ ]":ya.squareBracket,"{ }":ya.brace}),ag={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},lg={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},hg={__proto__:null,not:128,only:128,from:158,to:160},cg=wf.deserialize({version:14,states:"7WQYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ed'#EdO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&TQ[O'#EPO&cQ[O'#EROOQS'#Ec'#EcOOQS'#ET'#ETQYQ[OOO&jQXO'#CdO'_QWO'#DaO'dQWO'#EjO'oQ[O'#EjQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'yQ[O'#EWO(eQWO,58{O(mQ[O,59SO$lQ[O,59kO$qQ[O,59oO'yQ[O,59sO'yQ[O,59uO'yQ[O,59vO(xQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)PQWO,59SO)UQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)ZQ`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)cQvO'#CsO*pQtO,5:POOQO'#Cx'#CxO)UQWO'#CwO+UQWO'#CyOOQS'#Eg'#EgOOQO'#Dh'#DhO+ZQ[O'#DoO+iQWO'#EkO&TQ[O'#DmO+wQWO'#DpOOQO'#El'#ElO(hQWO,5:^O+|QpO,5:`OOQS'#Dx'#DxO,UQWO,5:bO,ZQ[O,5:bOOQO'#D{'#D{O,cQWO,5:eO,hQWO,5:kO,pQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,xQ[O'#EYO-VQWO,5;UO-VQWO,5;UOOQP1G.l1G.lO-|QXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)PQWO1G.nO)UQWO1G.nOOQP1G/V1G/VO.ZQ`O1G/ZO.tQXO1G/_O/[QXO1G/aO/rQXO1G/bO0YQWO,59zO0_Q[O'#DOO0fQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0mQpO,59]OOQS,59_,59_O$vQdO,59aO0uQWO1G/kOOQS,59c,59cO0zQ!bO,59eO1SQWO'#DhO1_QWO,5:TO1dQWO,5:ZO&TQ[O,5:VO&TQ[O'#EZO1lQWO,5;VO1wQWO,5:XO'yQ[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2YQWO1G/|O2_QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0pOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EiO3tQWO,59jO3yQtO'#EUO4nQdO'#EfO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsO(hQWO'#E[O5yQdO,5:hOOQS,5:h,5:hO6XQtO'#EXO$vQdO'#EXO7VQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7jQpO<T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#[UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^[[oW#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#XPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^XKeS!RPOy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",tokenizers:[sg,rg,ng,0,1,2,3],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:95,get:t=>ag[t]||-1},{term:56,get:t=>lg[t]||-1},{term:96,get:t=>hg[t]||-1}],tokenPrec:1123});let ug=null;function dg(){if(!ug&&"object"==typeof document&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let n in t)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof t[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))),i.has(n)||(e.push(n),i.add(n)));ug=e.sort().map((t=>({type:"property",label:t})))}return ug||[]}const fg=["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((t=>({type:"class",label:t}))),pg=["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((t=>({type:"keyword",label:t}))).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((t=>({type:"constant",label:t})))),Og=["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((t=>({type:"type",label:t}))),gg=/^(\w[\w-]*|-\w[\w-]*|)$/,mg=/^-(-[\w-]*)?$/;const bg=new Ro,wg=["Declaration"];function vg(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function Sg(t,e,i){if(e.to-e.from>4096){let n=bg.get(e);if(n)return n;let s=[],r=new Set,o=e.cursor(mo.IncludeAnonymous);if(o.firstChild())do{for(let e of Sg(t,o.node,i))r.has(e.label)||(r.add(e.label),s.push(e))}while(o.nextSibling());return bg.set(e,s),s}{let n=[],s=new Set;return e.cursor().iterate((e=>{var r;if(i(e)&&e.matchContext(wg)&&":"==(null===(r=e.node.nextSibling)||void 0===r?void 0:r.name)){let i=t.sliceString(e.from,e.to);s.has(i)||(s.add(i),n.push({label:i,type:"variable"}))}})),n}}const yg=t=>e=>{let{state:i,pos:n}=e,s=Xa(i).resolveInner(n,-1),r=s.type.isError&&s.from==s.to-1&&"-"==i.doc.sliceString(s.from,s.to);if("PropertyName"==s.name||(r||"TagName"==s.name)&&/^(Block|Styles)$/.test(s.resolve(s.to).name))return{from:s.from,options:dg(),validFor:gg};if("ValueName"==s.name)return{from:s.from,options:pg,validFor:gg};if("PseudoClassName"==s.name)return{from:s.from,options:fg,validFor:gg};if(t(s)||(e.explicit||r)&&function(t,e){var i;if(("("==t.name||t.type.isError)&&(t=t.parent||t),"ArgList"!=t.name)return!1;let n=null===(i=t.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==e.sliceString(n.from,n.to)}(s,i.doc))return{from:t(s)||r?s.from:n,options:Sg(i.doc,vg(s),t),validFor:mg};if("TagName"==s.name){for(let{parent:t}=s;t;t=t.parent)if("Block"==t.name)return{from:s.from,options:dg(),validFor:gg};return{from:s.from,options:Og,validFor:gg}}if(!e.explicit)return null;let o=s.resolve(n),a=o.childBefore(n);return a&&":"==a.name&&"PseudoClassSelector"==o.name?{from:n,options:fg,validFor:gg}:a&&":"==a.name&&"Declaration"==o.name||"ArgList"==o.name?{from:n,options:pg,validFor:gg}:"Block"==o.name||"Styles"==o.name?{from:n,options:dg(),validFor:gg}:null},xg=yg((t=>"VariableName"==t.name)),kg=_a.define({name:"css",parser:cg.configure({props:[Na.add({Declaration:il()}),rl.add({"Block KeyframeList":ol})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Qg(){return new Ua(kg,kg.data.of({autocomplete:xg}))}const $g=["_blank","_self","_top","_parent"],Pg=["ascii","utf-8","utf-16","latin1","latin1"],Cg=["get","post","put","delete"],_g=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Xg=["true","false"],Zg={},Ag={a:{attrs:{href:null,ping:null,type:null,media:null,target:$g,hreflang:null}},abbr:Zg,address:Zg,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Zg,aside:Zg,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Zg,base:{attrs:{href:null,target:$g}},bdi:Zg,bdo:Zg,blockquote:{attrs:{cite:null}},body:Zg,br:Zg,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:_g,formmethod:Cg,formnovalidate:["novalidate"],formtarget:$g,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Zg,center:Zg,cite:Zg,code:Zg,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:Zg,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Zg,div:Zg,dl:Zg,dt:Zg,em:Zg,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Zg,figure:Zg,footer:Zg,form:{attrs:{action:null,name:null,"accept-charset":Pg,autocomplete:["on","off"],enctype:_g,method:Cg,novalidate:["novalidate"],target:$g}},h1:Zg,h2:Zg,h3:Zg,h4:Zg,h5:Zg,h6:Zg,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Zg,hgroup:Zg,hr:Zg,html:{attrs:{manifest:null}},i:Zg,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:_g,formmethod:Cg,formnovalidate:["novalidate"],formtarget:$g,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:Zg,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Zg,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:Zg,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Pg,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:Zg,noscript:Zg,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:Zg,param:{attrs:{name:null,value:null}},pre:Zg,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Zg,rt:Zg,ruby:Zg,samp:Zg,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Pg}},section:Zg,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Zg,source:{attrs:{src:null,type:null,media:null}},span:Zg,strong:Zg,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Zg,summary:Zg,sup:Zg,table:Zg,tbody:Zg,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Zg,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:Zg,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Zg,time:{attrs:{datetime:null}},title:Zg,tr:Zg,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Zg,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:Zg},Tg={accesskey:null,class:null,contenteditable:Xg,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:Xg,autocorrect:Xg,autocapitalize:Xg,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":Xg,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Xg,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Xg,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Xg,"aria-hidden":Xg,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Xg,"aria-multiselectable":Xg,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Xg,"aria-relevant":null,"aria-required":Xg,"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},Rg="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((t=>"on"+t));for(let t of Rg)Tg[t]=null;class Eg{constructor(t,e){this.tags=Object.assign(Object.assign({},Ag),t),this.globalAttrs=Object.assign(Object.assign({},Tg),e),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function Vg(t,e,i=t.length){if(!e)return"";let n=e.firstChild,s=n&&n.getChild("TagName");return s?t.sliceString(s.from,Math.min(s.to,i)):""}function Mg(t,e=!1){for(let i=t.parent;i;i=i.parent)if("Element"==i.name){if(!e)return i;e=!1}return null}function Dg(t,e,i){let n=i.tags[Vg(t,Mg(e,!0))];return(null==n?void 0:n.children)||i.allTags}function Wg(t,e){let i=[];for(let n=e;n=Mg(n);){let s=Vg(t,n);if(s&&"CloseTag"==n.lastChild.name)break;s&&i.indexOf(s)<0&&("EndTag"==e.name||e.from>=n.firstChild.to)&&i.push(s)}return i}Eg.default=new Eg;const Ug=/^[:\-\.\w\u00b7-\uffff]*$/;function Yg(t,e,i,n,s){let r=/\s*>/.test(t.sliceDoc(s,s+5))?"":">";return{from:n,to:s,options:Dg(t.doc,i,e).map((t=>({label:t,type:"type"}))).concat(Wg(t.doc,i).map(((t,e)=>({label:"/"+t,apply:"/"+t+r,type:"type",boost:99-e})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function qg(t,e,i,n){let s=/\s*>/.test(t.sliceDoc(n,n+5))?"":">";return{from:i,to:n,options:Wg(t.doc,e).map(((t,e)=>({label:t,apply:t+s,type:"type",boost:99-e}))),validFor:Ug}}function Lg(t,e){let{state:i,pos:n}=e,s=Xa(i).resolveInner(n),r=s.resolve(n,-1);for(let t,e=n;s==r&&(t=r.childBefore(e));){let i=t.lastChild;if(!i||!i.type.isError||i.from({label:t,type:"property"}))),validFor:Ug}}(i,t,r,"AttributeName"==r.name?r.from:n,n):"Is"==r.name||"AttributeValue"==r.name||"UnquotedAttributeValue"==r.name?function(t,e,i,n,s){var r;let o,a=null===(r=i.parent)||void 0===r?void 0:r.getChild("AttributeName"),l=[];if(a){let r=t.sliceDoc(a.from,a.to),h=e.globalAttrs[r];if(!h){let n=Mg(i),s=n?e.tags[Vg(t.doc,n)]:null;h=(null==s?void 0:s.attrs)&&s.attrs[r]}if(h){let e=t.sliceDoc(n,s).toLowerCase(),i='"',r='"';/^['"]/.test(e)?(o='"'==e[0]?/^[^"]*$/:/^[^']*$/,i="",r=t.sliceDoc(s,s+1)==e[0]?"":e[0],e=e.slice(1),n++):o=/^[^\s<>='"]*$/;for(let t of h)l.push({label:t,apply:i+t+r,type:"constant"})}}return{from:n,to:s,options:l,validFor:o}}(i,t,r,"Is"==r.name?n:r.from,n):!e.explicit||"Element"!=s.name&&"Text"!=s.name&&"Document"!=s.name?null:function(t,e,i,n){let s=[],r=0;for(let n of Dg(t.doc,i,e))s.push({label:"<"+n,type:"type"});for(let e of Wg(t.doc,i))s.push({label:"",type:"type",boost:99-r++});return{from:n,to:n,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(i,t,r,n)}function zg(t){let{extraTags:e,extraGlobalAttributes:i}=t,n=i||e?new Eg(e,i):Eg.default;return t=>Lg(n,t)}const Ig=[{tag:"script",attrs:t=>"text/typescript"==t.type||"ts"==t.lang,parser:zf.parser},{tag:"script",attrs:t=>"text/babel"==t.type||"text/jsx"==t.type,parser:If.parser},{tag:"script",attrs:t=>"text/typescript-jsx"==t.type,parser:Bf.parser},{tag:"script",attrs:t=>!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type),parser:qf.parser},{tag:"style",attrs:t=>(!t.lang||"css"==t.lang)&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type)),parser:kg.parser}],Bg=[{name:"style",parser:kg.parser.configure({top:"Styles"})}].concat(Rg.map((t=>({name:t,parser:qf.parser})))),jg=_a.define({name:"html",parser:FO.configure({props:[Na.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag":t=>t.column(t.node.from)+t.unit,Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].lengtht.getChild("TagName")})],wrap:tg(Ig,Bg)}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}});function Ng(t={}){let e,i="";!1===t.matchClosingTags&&(i="noMatch"),!0===t.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(e=tg((t.nestedLanguages||[]).concat(Ig),(t.nestedAttributes||[]).concat(Bg)));let n=e||i?jg.configure({dialect:i,wrap:e}):jg;return new Ua(n,[jg.data.of({autocomplete:zg(t)}),!1!==t.autoCloseTags?Fg:[],Nf().support,Qg().support])}const Gg=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Fg=Ts.inputHandler.of(((t,e,i,n)=>{if(t.composing||t.state.readOnly||e!=i||">"!=n&&"/"!=n||!jg.isActiveAt(t.state,e,-1))return!1;let{state:s}=t,r=s.changeByRange((e=>{var i,r,o;let a,{head:l}=e,h=Xa(s).resolveInner(l,-1);if("TagName"!=h.name&&"StartTag"!=h.name||(h=h.parent),">"==n&&"OpenTag"==h.name){if("CloseTag"!=(null===(r=null===(i=h.parent)||void 0===i?void 0:i.lastChild)||void 0===r?void 0:r.name)&&(a=Vg(s.doc,h.parent,l))&&!Gg.has(a)){let e=">"===t.state.doc.sliceString(l,l+1),i=`${e?"":">"}`;return{range:A.cursor(l+1),changes:{from:l+(e?1:0),insert:i}}}}else if("/"==n&&"OpenTag"==h.name){let e=h.parent,i=null==e?void 0:e.parent;if(e.from==l-1&&"CloseTag"!=(null===(o=i.lastChild)||void 0===o?void 0:o.name)&&(a=Vg(s.doc,i,l))&&!Gg.has(a)){let e=">"===t.state.doc.sliceString(l,l+1),i=`/${a}${e?"":">"}`,n=l+i.length+(e?1:0);return{range:A.cursor(n),changes:{from:l,insert:i}}}}return{range:e}}));return!r.changes.empty&&(t.dispatch(r,{userEvent:"input.type",scrollIntoView:!0}),!0)})),Hg=Qa({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),Jg=new ho,Kg=sO.configure({props:[rl.add((t=>!t.is("Block")||t.is("Document")||null!=tm(t)?void 0:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to}))),Jg.add(tm),Na.add({Document:()=>null}),ka.add({Document:Hg})]});function tm(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function em(t,e){let i=t;for(;;){let t,n=i.nextSibling;if(!n||null!=(t=tm(n.type))&&t<=e)break;i=n}return i.to}const im=sl.of(((t,e,i)=>{for(let n=Xa(t).resolveInner(i,-1);n&&!(n.fromi)return{from:i,to:e}}return null}));function nm(t){return new Pa(Hg,t,[im],"markdown")}const sm=nm(Kg),rm=nm(Kg.configure([pO,mO,gO,bO]));class om{constructor(t,e,i,n,s,r,o){this.node=t,this.from=e,this.to=i,this.spaceBefore=n,this.spaceAfter=s,this.type=r,this.item=o}blank(t,e=!0){let i=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=t){for(;i.length0;t--)i+=" ";return i+(e?this.spaceAfter:"")}marker(t,e){let i="OrderedList"==this.node.name?String(+lm(this.item,t)[2]+e):"";return this.spaceBefore+i+this.type+this.spaceAfter}}function am(t,e){let i=[];for(let e=t;e&&"Document"!=e.name;e=e.parent)"ListItem"!=e.name&&"Blockquote"!=e.name&&"FencedCode"!=e.name||i.push(e);let n=[];for(let t=i.length-1;t>=0;t--){let s,r=i[t],o=e.lineAt(r.from),a=r.from-o.from;if("FencedCode"==r.name)n.push(new om(r,a,a,"","","",null));else if("Blockquote"==r.name&&(s=/^[ \t]*>( ?)/.exec(o.text.slice(a))))n.push(new om(r,a,a+s[0].length,"",s[1],">",null));else if("ListItem"==r.name&&"OrderedList"==r.parent.name&&(s=/^([ \t]*)\d+([.)])([ \t]*)/.exec(o.text.slice(a)))){let t=s[3],e=s[0].length;t.length>=4&&(t=t.slice(0,t.length-4),e-=4),n.push(new om(r.parent,a,a+e,s[1],t,s[2],r))}else if("ListItem"==r.name&&"BulletList"==r.parent.name&&(s=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(o.text.slice(a)))){let t=s[4],e=s[0].length;t.length>4&&(t=t.slice(0,t.length-4),e-=4);let i=s[2];s[3]&&(i+=s[3].replace(/[xX]/," ")),n.push(new om(r.parent,a,a+e,s[1],t,i,r))}}return n}function lm(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function hm(t,e,i,n=0){for(let s=-1,r=t;;){if("ListItem"==r.name){let t=lm(r,e),o=+t[2];if(s>=0){if(o!=s+1)return;i.push({from:r.from+t[1].length,to:r.from+t[0].length,insert:String(s+2+n)})}s=o}let t=r.nextSibling;if(!t)break;r=t}}function cm(t){return"QuoteMark"==t.name||"ListMark"==t.name}const um=[{key:"Enter",run:({state:t,dispatch:e})=>{let i=Xa(t),{doc:n}=t,s=null,r=t.changeByRange((e=>{if(!e.empty||!rm.isActiveAt(t,e.from))return s={range:e};let r=e.from,o=n.lineAt(r),a=am(i.resolveInner(r,-1),n);for(;a.length&&a[a.length-1].from>r-o.from;)a.pop();if(!a.length)return s={range:e};let l=a[a.length-1];if(l.to-l.spaceAfter.length>r-o.from)return s={range:e};let h=r>=l.to-l.spaceAfter.length&&!/\S/.test(o.text.slice(l.to));if(l.item&&h){if(l.node.firstChild.to>=r||o.from>0&&!/[^\s>]/.test(n.lineAt(o.from-1).text)){let t,e=a.length>1?a[a.length-2]:null,i="";e&&e.item?(t=o.from+e.from,i=e.marker(n,1)):t=o.from+(e?e.to:0);let s=[{from:t,to:r,insert:i}];return"OrderedList"==l.node.name&&hm(l.item,n,s,-2),e&&"OrderedList"==e.node.name&&hm(e.item,n,s),{range:A.cursor(t+i.length),changes:s}}{let e="";for(let t=0,i=a.length-2;t<=i;t++)e+=a[t].blank(t\s*$/.exec(i.text);if(s&&s.index==l.from){let n=t.changes([{from:i.from+s.index,to:i.to},{from:o.from+l.from,to:o.to}]);return{range:e.map(n),changes:n}}}let c=[];"OrderedList"==l.node.name&&hm(l.item,n,c);let u=l.item&&l.item.from]*/.exec(o.text)[0].length>=l.to)for(let t=0,e=a.length-1;t<=e;t++)d+=t!=e||u?a[t].blank(to.from&&/\s/.test(o.text.charAt(f-o.from-1));)f--;return d=t.lineBreak+d,c.push({from:f,to:r,insert:d}),{range:A.cursor(f+d.length),changes:c}}));return!s&&(e(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:t,dispatch:e})=>{let i=Xa(t),n=null,s=t.changeByRange((e=>{let s=e.from,{doc:r}=t;if(e.empty&&rm.isActiveAt(t,e.from)){let t=r.lineAt(s),n=am(function(t,e){let i=t.resolveInner(e,-1),n=e;cm(i)&&(n=i.from,i=i.parent);for(let t;t=i.childBefore(n);)if(cm(t))n=t.from;else{if("OrderedList"!=t.name&&"BulletList"!=t.name)break;i=t.lastChild,n=i.to}return i}(i,s),r);if(n.length){let i=n[n.length-1],r=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(s-t.from>r&&!/\S/.test(t.text.slice(r,s-t.from)))return{range:A.cursor(t.from+r),changes:{from:t.from+r,to:s}};if(s-t.from==r&&(!i.item||t.from<=i.item.from||!/\S/.test(t.text.slice(0,i.to)))){let n=t.from+i.from;if(i.item&&i.node.fromt.from-e.from||t.startSide-e.startSide)),ni.set(i)}getMatchingBracket(t){switch(t){case")":return"(";case"]":return"[";case"}":return"{";default:return null}}},{decorations:t=>t.decorations});var fm="[a-zA-Z\\$][a-zA-Z0-9\\$]*",pm="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",Om="(?:`(?:`?"+pm+")?)",gm=new RegExp("(?:(?:\\d+)(?:\\^\\^(?:\\.\\w+|\\w+\\.\\w*|\\w+)"+Om+"?(?:\\*\\^[+-]?\\d+)?))"),mm=new RegExp("(?:"+pm+Om+"?(?:\\*\\^[+-]?\\d+)?)"),bm=new RegExp("(?:`?)(?:"+fm+")(?:`(?:"+fm+"))*(?:`?)");let wm=[];const vm=["True","False","All","None","Null","Full","$Failed","$Aborted"];function Sm(t,e){var i;return'"'===(i=t.next())?(e.tokenize=ym,e.tokenize(t,e)):"("===i&&t.eat("*")?(e.commentLevel++,e.tokenize=xm,e.tokenize(t,e)):(t.backUp(1),t.match(gm,!0,!1)||t.match(mm,!0,!1)?"number":t.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":t.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string.special":t.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||t.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||t.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||t.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variableName.special":t.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"character":t.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":t.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variableName.constant":t.match(bm,!0,!1)?vm.indexOf(t.current())>-1?"number":wm.indexOf(t.current())>-1||0==wm.length?"keyword":t.current()in e.localVars?"atom":(e.localVars[t.current()]=!0,"function"):t.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(t.next(),"error"))}function ym(t,e){for(var i,n=!1,s=!1;null!=(i=t.next());){if('"'===i&&!s){n=!0;break}s=!s&&"\\"===i}return n&&!s&&(e.tokenize=Sm),"string"}function xm(t,e){for(var i,n;e.commentLevel>0&&null!=(n=t.next());)"("===i&&"*"===n&&e.commentLevel++,"*"===i&&")"===n&&e.commentLevel--,i=n;return e.commentLevel<=0&&(e.tokenize=Sm),"comment"}const km={name:"mathematica",extendVariables:function(t){},startState:function(){return{tokenize:Sm,commentLevel:0,localVars:{}}},token:function(t,e){return t.eatSpace()?null:e.tokenize(t,e)},languageData:{commentTokens:{block:{open:"(*",close:"*)"}}}};let Qm={of:t=>[Gl.define(km),Yd({override:[async e=>function(t,e){let i=t.matchBefore(/\w*/);return i.from!==i.to||t.explicit?{from:i.from,options:e.data}:null}(e,t)]}),Ys.of([{key:"Escape",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((t=>{let{from:e,to:i}=t;return{changes:{from:e,to:i,insert:"EC"},range:A.cursor(e+2)}}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])],reBuild:t=>{wm=t.map((t=>t.label))}};const $m=(t,e,i,n)=>{if(0==t.length)return;const s=(new Date).valueOf();n.transaction(e,i,s,t.length);for(const r of t)Pm(r,((t,r)=>{n.file(e,i,s,t,r)}))};function Pm(t,e){const i=new FileReader;i.addEventListener("load",(i=>{let n=base64ArrayBuffer(i.target.result);e(t.name,n)})),i.addEventListener("progress",(t=>{if(t.loaded&&t.total){const e=t.loaded/t.total*100;console.log(e)}})),i.readAsArrayBuffer(t)}const Cm=(t,e)=>Ts.domEventHandlers({drop(e,i){e.preventDefault();const n=[];e.dataTransfer.items?[...e.dataTransfer.items].forEach(((t,e)=>{if("file"===t.kind){const i=t.getAsFile();console.log(`… file[${e}].name = ${i.name}`),n.push(i)}})):[...e.dataTransfer.files].forEach(((t,e)=>{console.log(`… file[${e}].name = ${t.name}`),n.push(t)})),$m(n,e,i,t)},paste(t,i){let n=t.clipboardData||window.clipboardData;for(const s of n.items)if("string"===s.kind)switch(s.type){case"text/plain":break;case"image/png":t.preventDefault(),$m([s.getAsFile()],t,i,e)}else t.preventDefault(),$m([s.getAsFile()],t,i,e)}}),_m=new pr({regexp:/\\\[(\w+)\]/g,decoration:t=>ni.replace({widget:new Zm(t[1])})}),Xm=_i.fromClass(class{constructor(t){this.Greekholder=_m.createDeco(t)}update(t){this.Greekholder=_m.updateDeco(t,this.Greekholder)}},{decorations:t=>t.Greekholder,provide:t=>Ts.atomicRanges.of((e=>e.plugin(t)?.Greekholder||ni.none))});class Zm extends ei{constructor(t){super(),this.name=t}eq(t){return this.name===t.name}toDOM(){let t=document.createElement("span");return t.innerHTML="&"+this.name.toLowerCase().replace("sqrt","radic").replace("undirectededge","harr").replace("directededge","rarr").replace(/capital(.*)/,((t,e)=>e.charAt(0).toUpperCase()+e.slice(1))).replace(/curly(.*)/,((t,e)=>e)).replace(/script(.*)/,((t,e)=>"el"+e.toLowerCase())).replace("transpose","#7488").replace("degree","deg")+";",t}ignoreEvent(){return!1}}const Am=new pr({regexp:/(->|<-)/g,decoration:t=>ni.replace({widget:new Tm(t[1])})});_i.fromClass(class{constructor(t){this.Arrowholder=Am.createDeco(t)}update(t){this.Arrowholder=Am.updateDeco(t,this.Arrowholder)}},{decorations:t=>t.Arrowholder,provide:t=>Ts.atomicRanges.of((e=>e.plugin(t)?.Arrowholder||ni.none))});class Tm extends ei{constructor(t){super(),this.dir=t}eq(t){return this.dir===t.dir}toDOM(){let t=document.createElement("span");return"->"===this.dir?t.innerText="→":t.innerText="←",t}ignoreEvent(){return!1}}function Rm(t){if(!(t=t||{}).open)throw new Error('Balanced: please provide a "open" property');if(!t.close)throw new Error('Balanced: please provide a "close" property');if(this.balance=t.balance||!1,this.exceptions=t.exceptions||!1,this.caseInsensitive=t.caseInsensitive,this.head=t.head||t.open,this.head=Array.isArray(this.head)?this.head:[this.head],this.open=Array.isArray(t.open)?t.open:[t.open],this.close=Array.isArray(t.close)?t.close:[t.close],!Array.isArray(this.head)||!Array.isArray(this.open)||!Array.isArray(this.close)||this.head.length!==this.open.length||this.open.length!==this.close.length)throw new Error('Balanced: if you use arrays for a "head,open,close" you must use matching arrays for all options');var e=Dm(this.head.map(this.regExpFromArrayGroupedMap,this)),i=Dm(this.open.map(this.regExpFromArrayGroupedMap,this)),n=Dm(this.close.map(this.regExpFromArrayGroupedMap,this));this.regExp=Dm([e,i,n],"g"+(this.caseInsensitive?"i":"")),this.regExpGroupLength=this.head.length}function Em(t,e,i){for(var n=Mm(e.substr(0,i+1),/^.*\n?$/gim),s=Mm(e,/^.*\n?$/gim),r=n.length-1,o=i+1-(n.length?n[n.length-1].index:0),a="",l=2;l>=0;l--)r-l>=0&&s[r-l]&&(a+=e.substr(s[r-l].index,s[r-l].length)+"\n");for(l=0;l=0&&s[r+l]&&(a+=e.substr(s[r+l].index,s[r+l].length)+"\n");a=a.replace(/\t/g," ").replace(/\n$/,"");var h=new Error(t+" at "+(r+1)+":"+o+"\n\n"+a);return h.line=r+1,h.column=o,h.index=i,h}function Vm(t,e){return t>=e.index&&t<=e.index+e.length-1}function Mm(t,e){var i,n=new RegExp(e),s=[];if(t)for(;i=n.exec(t);)s.push({index:i.index,length:i[0].length,match:i[0]}),i[0].length||n.lastIndex++;return s}function Dm(t,e,i){var n=t.map((function(t){return t instanceof RegExp?t.source:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}(t)}),this).join("|");return n=i?"("+n+")":"(?:"+n+")",new RegExp(n,e||void 0)}Rm.prototype={regExpFromArrayGroupedMap:function(t){return Dm([t],null,!0)},matchContentsInBetweenBrackets:function(t,e){for(var i,n=new RegExp(this.regExp),s=[],r=[],o=null,a=!0;i=n.exec(t);){if(e){for(var l=!1,h=0;h{const i=((t,e,i)=>{var n,s=new RegExp(t),r=[];if(e)for(;n=s.exec(e);){if(i){for(var o=!1,a=0;a{new qm({open:"(*"+t+"[*)",close:"(*]"+t+"*)",balance:!1}).matchContentsInBetweenBrackets(e.value,[]).forEach((function(t){const s=e.value.slice(t.index+t.head.length,t.index+t.length-t.tail.length);n(i+t.index,{length:t.length,pos:i+t.index,argsPos:i+t.index+t.head.length,str:s})}))})(e,t,i,s)},o=t.iterRange(i,n),a=i;!o.next().done;a+=o.value.length)r(o,a)}var Im,Bm=function(){function t(t){var e=t.tag,i=t.decoration,n=t.decorate,s=t.boundary,r=t.maxLength,o=void 0===r?1e3:r;if(this.tag=e,n)this.addMatch=function(t,e,i,s){return n(s,i,i+t.length,t,e)};else if("function"==typeof i)this.addMatch=function(t,e,n,s){var r=i(t,e,n);r&&s(n,n+t.length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=function(t,e,n,s){return s(n,n+t.length,i)}}this.boundary=s,this.maxLength=o}return t.prototype.createDeco=function(t){for(var e=this,i=new Xt,n=i.add.bind(i),s=0,r=function(t,e){var i=t.visibleRanges;if(1==i.length&&i[0].from==t.viewport.from&&i[0].to==t.viewport.to)return i;for(var n=[],s=0,r=i;s=a?n[n.length-1].to=l:n.push({from:a,to:l})}return n}(t,this.maxLength);st.view.viewport.from&&r1e3?this.createDeco(t.view):n>-1?this.updateRange(t.view,e.map(t.changes),i,n):e},t.prototype.updateRange=function(t,e,i,n){for(var s=this,r=function(r){var a=Math.max(r.from,i),l=Math.min(r.to,n);if(l>a){var h=t.state.doc.lineAt(a),c=h.toh.from;a--)if(o.boundary.test(h.text[a-1-h.from])){u=a;break}for(;ld},add:f})}},o=this,a=0,l=t.visibleRanges;a{if(t.readOnly)return!1;let i=t.changeByRange((e=>{let{from:i,to:n}=e;const s=t.sliceDoc(i,n);return 0===s.length?{changes:{from:i,to:n,insert:"(*FB[*)((_)(*,*)/(*,*)(_))(*]FB*)"},range:A.cursor(i)}:{changes:{from:i,to:n,insert:"(*FB[*)(("+s+")(*,*)/(*,*)(_))(*]FB*)"},range:A.cursor(i)}}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let Nm=class{constructor(t,e,i,n,s,r){this.view=e,this.visibleValue=t,this.placeholder=r,console.log(r),this.args=Lm(t.str,/\(\*,\*\)/gm);const o=this;let a,l;console.log("creating InstanceWidget"),a=Im({doc:o.args[0].body.slice(2,-1),parent:i,update:t=>this.applyChanges(t,0),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return console.log(o.visibleValue.pos),e.dispatch({selection:{anchor:o.visibleValue.pos}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return l.dispatch({selection:{anchor:0}}),l.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,e){l.focus(),t.editorLastCursor=void 0}}])]}),l=Im({doc:o.args[2].body.slice(1,-2),parent:n,update:t=>this.applyChanges(t,2),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return a.dispatch({selection:{anchor:a.state.doc.length}}),a.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:o.visibleValue.pos+o.visibleValue.length}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,e){a.focus(),t.editorLastCursor=void 0}}])]}),o.args[0].length=o.args[0].body.length,o.args[2].length=o.args[2].body.length,delete o.args[2].body,delete o.args[1].body,delete o.args[0].body,this.topEditor=a,this.bottomEditor=l}applyChanges(t,e){const i=this.args,n=this.visibleValue.argsPos;if(0==e){const e="(("+t+")",s={from:n+i[0].from,to:n+i[0].from+i[0].length,insert:e};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(e,this.visibleValue.str.substring(i[0].from+i[0].length));const r=e.length-i[0].length;i[0].to=i[0].to+r,i[2].from=i[2].from+r,i[0].length=e.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:s})}else{const e="("+t+"))",s={from:n+i[2].from,to:n+i[2].from+i[2].length,insert:e};this.visibleValue.str=this.visibleValue.str.substring(0,i[2].from).concat(e,this.visibleValue.str.substring(i[2].from+i[2].length));const r=e.length-i[2].length;i[2].to=i[2].to+r,i[2].length=e.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:s})}}update(t,e){if(this.visibleValue.str!=t.str){console.warn("Out of sync");const e=this,i=this.view;let n,s;return this.visibleValue=t,this.args=Lm(t.str,/\(\*,\*\)/gm),console.log("recreating InstanceWidget"),n=Im.state({doc:e.args[0].body.slice(2,-1),update:t=>e.applyChanges(t,0),eval:()=>{i.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return console.log(e.visibleValue.pos),i.dispatch({selection:{anchor:e.visibleValue.pos}}),i.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.bottomEditor.dispatch({selection:{anchor:0}}),e.bottomEditor.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,i){e.bottomEditor.focus(),t.editorLastCursor=void 0}}])]}),s=Im.state({doc:e.args[2].body.slice(1,-2),update:t=>e.applyChanges(t,2),eval:()=>{e.view.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.topEditor.dispatch({selection:{anchor:e.topEditor.state.doc.length}}),e.topEditor.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:e.visibleValue.pos+e.visibleValue.length}}),i.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,i){e.topEditor.focus(),t.editorLastCursor=void 0}}])]}),this.topEditor.setState(n),this.bottomEditor.setState(s),console.log(e),e.args[0].length=e.args[0].body.length,void(e.args[2].length=e.args[2].body.length)}this.visibleValue.pos=t.pos,this.placeholder=e,this.visibleValue.argsPos=t.argsPos}destroy(){this.topEditor.destroy(),this.bottomEditor.destroy()}},Gm=class extends ei{constructor(t,e,i,n){super(),this.view=i,this.visibleValue=t,this.reference=e,this.placeholder=n}eq(t){return!1}updateDOM(t,e){return this.DOMElement=t,t.EditorWidget.update(this.visibleValue,this),!0}skipPosition(t,e,i){if(e.from!=e.to||i)return t;if(t.from-e.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{const t=this.DOMElement.EditorWidget.bottomEditor;t.dispatch({selection:{anchor:t.state.doc.length}}),t.focus()}return e}toDOM(t){console.log("Create a new one!");let e=document.createElement("span");e.classList.add("fraction");const i=document.createElement("table");i.classList.add("container"),e.appendChild(i);const n=document.createElement("tbody");i.appendChild(n);const s=document.createElement("tr"),r=document.createElement("tr");n.appendChild(s),n.appendChild(r);const o=document.createElement("td");o.classList.add("enumenator"),s.appendChild(o);const a=document.createElement("td");r.appendChild(a);const l=this;return e.EditorWidget=new Nm(this.visibleValue,t,o,a,[],this),this.DOMElement=e,this.reference.push({destroy:()=>{l.destroy(e)}}),e}ignoreEvent(){return!0}destroy(t){t.EditorWidget.destroy()}};const Fm=(t,e,i)=>new Bm({tag:"FB",decoration:n=>ni.replace({widget:new Gm(n,t,e,i)})}),Hm=t=>_i.fromClass(class{constructor(e){this.disposable=[],this.placeholder=Fm(this.disposable,e,this).createDeco(e),t.placeholder=this}update(t){this.placeholder=Fm(this.disposable,t,this).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var Jm;function Km(t){return Jm=t,[nb,Ys.of([{key:"Ctrl-2",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((e=>{let{from:i,to:n}=e;const s=t.sliceDoc(i,n);return 0===s.length?{changes:{from:i,to:n,insert:"(*SqB[*)Sqrt[_](*]SqB*)"},range:A.cursor(i)}:{changes:{from:i,to:n,insert:"(*SqB[*)Sqrt["+s+"](*]SqB*)"},range:A.cursor(i)}}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let tb=class{constructor(t,e,i,n,s){this.view=e,this.visibleValue=t;const r=this;this.sliceRanges=n,this.length=t.str.length,console.log("creating InstanceWidget"),this.editor=Jm({doc:t.str.slice(...n),parent:i,update:t=>r.applyChanges(t),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:r.visibleValue.pos+r.visibleValue.length}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:r.visibleValue.pos}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}}])]})}applyChanges(t){const e=t,i={from:this.visibleValue.argsPos+5,to:this.visibleValue.argsPos+this.length-1,insert:e};console.log(this.visibleValue);const n=e.length+6-this.length;this.length=this.length+n,this.visibleValue.length=this.visibleValue.length+n,this.visibleValue.str="Sqrt["+e+"]",this.view.dispatch({changes:i})}update(t){if(this.visibleValue.str==t.str)this.visibleValue.pos=t.pos,this.visibleValue.argsPos=t.argsPos;else{console.warn("Out of sync"),this.visibleValue=t;const e=this.sliceRanges,i=this.editor,n=this,s=this.view;this.length=t.str.length;const r=Jm.state({doc:t.str.slice(...e),update:t=>n.applyChanges(t),eval:()=>{s.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowRight",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:n.visibleValue.pos+n.visibleValue.length}}),s.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:n.visibleValue.pos}}),s.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}}])]});i.setState(r)}}destroy(){console.warn("destroy Instance of Widget!"),this.editor.destroy()}},eb=class extends ei{constructor(t,e,i){super(),this.view=i,this.visibleValue=t,this.reference=e}eq(t){return!1}updateDOM(t,e){return this.DOMElement=t,t.EditorWidget.update(this.visibleValue),!0}toDOM(t){console.log("Create a new one!");let e=document.createElement("span");e.classList.add("sqroot");const i=this,n=document.createElement("span");return n.classList.add("radicand"),e.EditorWidget=new tb(this.visibleValue,t,n,[5,-1],[]),e.appendChild(n),this.reference.push({destroy:()=>{i.destroy(e)}}),this.DOMElement=e,e}skipPosition(t,e,i){if(e.from!=e.to||i)return t;if(t.from-e.from>0)this.DOMElement.EditorWidget.editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.editor.focus();else{const t=this.DOMElement.EditorWidget.editor;t.dispatch({selection:{anchor:t.state.doc.length}}),t.focus()}return e}ignoreEvent(){return!0}destroy(t){t.EditorWidget.destroy()}};const ib=(t,e)=>new Bm({tag:"SqB",decoration:i=>ni.replace({widget:new eb(i,t,e)})}),nb=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=ib(this.disposable,t).createDeco(t)}update(t){this.placeholder=ib(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var sb;function rb(t){return sb=t,[hb,Ys.of([{key:"Ctrl--",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((e=>{let{from:i,to:n}=e;const s=t.sliceDoc(i,n);return 0===s.length?{changes:{from:i,to:n,insert:"(*SbB[*)Subscript[_(*|*),(*|*)_](*]SbB*)"},range:A.cursor(i)}:{changes:{from:i,to:n,insert:"(*SbB[*)Subscript["+s+"(*|*),(*|*)_](*]SbB*)"},range:A.cursor(i)}}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let ob=class{constructor(t,e,i,n,s){this.view=e,this.visibleValue=t;const r=this;let o,a;this.args=Lm(t.str,/\(\*\|\*\)/gm),console.log("creating InstanceWidget"),console.log(r.visibleValue),o=sb({doc:r.args[0].body.slice(10),parent:i,update:t=>this.applyChanges(t,0),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:r.visibleValue.pos}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return a.dispatch({selection:{anchor:0}}),a.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,e){a.focus()}}])]}),a=sb({doc:r.args[2].body.slice(0,-1),parent:n,update:t=>this.applyChanges(t,2),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:r.visibleValue.pos+r.visibleValue.length}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,e){o.focus()}}])]}),this.topEditor=o,this.bottomEditor=a,r.args[0].length=r.args[0].body.length,r.args[2].length=r.args[2].body.length,delete r.args[2].body,delete r.args[1].body,delete r.args[0].body}applyChanges(t,e){const i=this.args,n=this.visibleValue.argsPos;if(0==e){const e="Subscript["+t,s={from:n+i[0].from,to:n+i[0].from+i[0].length,insert:e};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(e,this.visibleValue.str.substring(i[0].from+i[0].length)),i[0].to=i[0].to+(e.length-i[0].length),i[2].from=i[2].from+(e.length-i[0].length);const r=e.length-i[0].length;i[0].length=e.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:s})}else{const e=t+"]",s={from:n+i[2].from,to:n+i[2].from+i[2].length,insert:e};this.visibleValue.str=this.visibleValue.str.substring(0,i[2].from).concat(e,this.visibleValue.str.substring(i[2].from+i[2].length)),i[2].to=i[2].to+(e.length-i[2].length);const r=e.length-i[2].length;i[2].length=e.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:s})}}update(t){if(this.visibleValue.str!=t.str){console.warn("Out of sync");const e=this,i=this.view;let n,s;return this.visibleValue=t,this.args=Lm(t.str,/\(\*\|\*\)/gm),console.log("recreating InstanceWidget"),console.log(e.visibleValue),n=sb.state({doc:e.args[0].body.slice(10),update:t=>e.applyChanges(t,0),extensions:[Ys.of([{key:"ArrowLeft",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:e.visibleValue.pos}}),i.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.bottomEditor.dispatch({selection:{anchor:0}}),e.bottomEditor.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,i){e.bottomEditor.focus()}}])]}),s=sb.state({doc:e.args[2].body.slice(0,-1),update:t=>e.applyChanges(t,2),extensions:[Ys.of([{key:"ArrowRight",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:e.visibleValue.pos+e.visibleValue.length}}),i.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.topEditor.dispatch({selection:{anchor:e.topEditor.state.doc.length}}),e.topEditor.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,i){e.topEditor.focus()}}])]}),this.topEditor.setState(n),this.bottomEditor.setState(s),e.args[0].length=e.args[0].body.length,void(e.args[2].length=e.args[2].body.length)}this.visibleValue.pos=t.pos,this.visibleValue.argsPos=t.argsPos}destroy(){console.warn("destroy Instance of Widget!"),this.topEditor.destroy(),this.bottomEditor.destroy()}},ab=class extends ei{constructor(t,e,i){super(),this.view=i,this.visibleValue=t,this.reference=e}eq(t){return!1}skipPosition(t,e,i){if(e.from!=e.to||i)return t;if(t.from-e.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{const t=this.DOMElement.EditorWidget.bottomEditor;t.dispatch({selection:{anchor:t.state.doc.length}}),t.focus()}return e}updateDOM(t,e){return console.log("update widget DOM"),this.DOMElement=t,t.EditorWidget.update(this.visibleValue),!0}toDOM(t){console.log("Create a new one!");const e=document.createElement("span"),i=document.createElement("span");i.classList.add("subscript-tail");const n=document.createElement("sub");n.classList.add("subscript-tail"),e.appendChild(i),e.appendChild(n),e.EditorWidget=new ob(this.visibleValue,t,i,n,[]);const s=this;return this.reference.push({destroy:()=>{s.destroy(e)}}),this.DOMElement=e,e}ignoreEvent(){return!0}destroy(t){t.EditorWidget.destroy()}};const lb=(t,e)=>new Bm({tag:"SbB",decoration:i=>ni.replace({widget:new ab(i,t,e)})}),hb=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=lb(this.disposable,t).createDeco(t)}update(t){this.placeholder=lb(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var cb;function ub(t){return cb=t,[Ob,Ys.of([{key:"Ctrl-6",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((e=>{let{from:i,to:n}=e;const s=t.sliceDoc(i,n);return 0===s.length?{changes:{from:i,to:n,insert:"(*SpB[*)Power[_(*|*),(*|*)_](*]SpB*)"},range:A.cursor(i)}:{changes:{from:i,to:n,insert:"(*SpB[*)Power["+s+"(*|*),(*|*)_](*]SpB*)"},range:A.cursor(i)}}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}])]}let db=class{constructor(t,e,i,n,s){this.view=e,this.visibleValue=t;const r=this;let o,a;this.args=Lm(t.str,/\(\*\|\*\)/gm),console.log("creating InstanceWidget"),o=cb({doc:r.args[0].body.slice(6),parent:i,update:t=>this.applyChanges(t,0),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:r.visibleValue.pos}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return a.dispatch({selection:{anchor:0}}),a.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,e){a.focus()}}])]}),a=cb({doc:r.args[2].body.slice(0,-1),parent:n,update:t=>this.applyChanges(t,2),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.dispatch({selection:{anchor:r.visibleValue.pos+r.visibleValue.length}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(t,e){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,e){o.focus()}}])]}),this.topEditor=o,this.bottomEditor=a,r.args[0].length=r.args[0].body.length,r.args[2].length=r.args[2].body.length,delete r.args[2].body,delete r.args[1].body,delete r.args[0].body}applyChanges(t,e){const i=this.args,n=this.visibleValue.argsPos;if(0==e){const e="Power["+t,s={from:n+i[0].from,to:n+i[0].from+i[0].length,insert:e};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(e,this.visibleValue.str.substring(i[0].from+i[0].length)),i[0].to=i[0].to+(e.length-i[0].length),i[2].from=i[2].from+(e.length-i[0].length);const r=e.length-i[0].length;i[0].length=e.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:s})}else{const e=t+"]",s={from:n+i[2].from,to:n+i[2].from+i[2].length,insert:e};this.visibleValue.str=this.visibleValue.str.substring(0,i[2].from).concat(e,this.visibleValue.str.substring(i[2].from+i[2].length)),i[2].to=i[2].to+(e.length-i[2].length);const r=e.length-i[2].length;i[2].length=e.length,this.visibleValue.length=this.visibleValue.length+r,this.view.dispatch({changes:s})}}update(t){if(this.visibleValue.str!=t.str){console.warn("Out of sync");const e=this,i=this.view;let n,s;return this.visibleValue=t,this.args=Lm(t.str,/\(\*\|\*\)/gm),console.log("recreating InstanceWidget"),n=cb.state({doc:e.args[0].body.slice(6),update:t=>e.applyChanges(t,0),extensions:[Ys.of([{key:"ArrowLeft",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:e.visibleValue.pos}}),i.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.bottomEditor.dispatch({selection:{anchor:0}}),e.bottomEditor.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,i){e.bottomEditor.focus()}}])]}),s=cb.state({doc:e.args[2].body.slice(0,-1),update:t=>e.applyChanges(t,2),extensions:[Ys.of([{key:"ArrowRight",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:e.visibleValue.pos+e.visibleValue.length}}),i.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return e.topEditor.dispatch({selection:{anchor:e.topEditor.state.doc.length}}),e.topEditor.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,i){e.topEditor.focus()}}])]}),this.topEditor.setState(n),this.bottomEditor.setState(s),e.args[0].length=e.args[0].body.length,void(e.args[2].length=e.args[2].body.length)}this.visibleValue.pos=t.pos,this.visibleValue.argsPos=t.argsPos}destroy(){console.warn("destroy Instance of Widget!"),this.topEditor.destroy(),this.bottomEditor.destroy()}},fb=class extends ei{constructor(t,e,i){super(),this.view=i,this.visibleValue=t,this.reference=e}eq(t){return!1}updateDOM(t,e){return console.log("update widget DOM"),this.DOMElement=t,t.EditorWidget.update(this.visibleValue),!0}toDOM(t){console.log("Create a new one!");const e=document.createElement("span"),i=document.createElement("span");i.classList.add("subscript-tail");const n=document.createElement("sup");n.classList.add("subscript-tail"),e.appendChild(i),e.appendChild(n),e.EditorWidget=new db(this.visibleValue,t,i,n,[]);const s=this;return this.reference.push({destroy:()=>{s.destroy(e)}}),this.DOMElement=e,e}ignoreEvent(){return!0}skipPosition(t,e,i){if(e.from!=e.to||i)return t;if(t.from-e.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{const t=this.DOMElement.EditorWidget.bottomEditor;t.dispatch({selection:{anchor:t.state.doc.length}}),t.focus()}return e}destroy(t){t.EditorWidget.destroy()}};const pb=(t,e)=>new Bm({tag:"SpB",decoration:i=>ni.replace({widget:new fb(i,t,e)})}),Ob=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=pb(this.disposable,t).createDeco(t)}update(t){this.placeholder=pb(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var gb;function mb(t){return gb=t,[Sb]}let bb=class{constructor(t,e,i,n){this.view=e,this.visibleValue=t;const s=this;this.tbody=i,this.args=Lm(t.str,/\(\*\|\|\*\)/gm).map(((t,e)=>e%2!=0?t:{...t,body:Lm(t.body,/\(\*\|\*\)/gm)}));const r=this.args;console.log("creating InstanceWidget");for(let t=0;t{e.viewState.state.config.eval()},update:e=>this.applyChanges(e,t,i),extensions:[Ys.of([{key:"ArrowLeft",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i-2>=0?(o[i-2].editor.dispatch({selection:{anchor:o[i-2].editor.state.doc.length}}),o[i-2].editor.focus(),void(t.editorLastCursor=void 0)):(e.dispatch({selection:{anchor:s.visibleValue.pos}}),e.focus(),void(t.editorLastCursor=void 0));t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i+2=0)return r[t-2].body[i].editor.focus(),void(e.editorLastCursor=void 0)}},{key:"ArrowDown",run:function(e,n){if(t+2{s.destroy(e)}}),this.DOMElement=e,e}skipPosition(t,e,i){if(e.from!=e.to||i)return t;if(t.from-e.from>0)this.DOMElement.EditorWidget.args[0].body[0].editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.args[0].body[0].editor.focus();else{const t=this.DOMElement.EditorWidget.args,e=t[t.length-1].body[t[t.length-1].body.length-1].editor;e.dispatch({selection:{anchor:e.state.doc.length}}),e.focus()}return e}ignoreEvent(){return!0}destroy(t){t.EditorWidget.destroy()}};const vb=(t,e)=>new Bm({tag:"GB",decoration:i=>ni.replace({widget:new wb(i,t,e)})}),Sb=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=vb(this.disposable,t).createDeco(t)}update(t){this.placeholder=vb(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var yb={},xb={},kb={},Qb={};function $b(t){let e=t.length;for(;--e>=0;)t[e]=0}const Pb=256,Cb=286,_b=30,Xb=15,Zb=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Ab=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Tb=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Rb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Eb=new Array(576);$b(Eb);const Vb=new Array(60);$b(Vb);const Mb=new Array(512);$b(Mb);const Db=new Array(256);$b(Db);const Wb=new Array(29);$b(Wb);const Ub=new Array(_b);function Yb(t,e,i,n,s){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=s,this.has_stree=t&&t.length}let qb,Lb,zb;function Ib(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}$b(Ub);const Bb=t=>t<256?Mb[t]:Mb[256+(t>>>7)],jb=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Nb=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<{Nb(t,i[2*e],i[2*e+1])},Fb=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},Hb=(t,e,i)=>{const n=new Array(16);let s,r,o=0;for(s=1;s<=Xb;s++)o=o+i[s-1]<<1,n[s]=o;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=Fb(n[e]++,e))}},Jb=t=>{let e;for(e=0;e{t.bi_valid>8?jb(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},tw=(t,e,i,n)=>{const s=2*e,r=2*i;return t[s]{const n=t.heap[i];let s=i<<1;for(;s<=t.heap_len&&(s{let n,s,r,o,a=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+a++],n+=(255&t.pending_buf[t.sym_buf+a++])<<8,s=t.pending_buf[t.sym_buf+a++],0===n?Gb(t,s,e):(r=Db[s],Gb(t,r+Pb+1,e),o=Zb[r],0!==o&&(s-=Wb[r],Nb(t,s,o)),n--,r=Bb(n),Gb(t,r,i),o=Ab[r],0!==o&&(n-=Ub[r],Nb(t,n,o)))}while(a{const i=e.dyn_tree,n=e.stat_desc.static_tree,s=e.stat_desc.has_stree,r=e.stat_desc.elems;let o,a,l,h=-1;for(t.heap_len=0,t.heap_max=573,o=0;o>1;o>=1;o--)ew(t,i,o);l=r;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],ew(t,i,1),a=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=a,i[2*l]=i[2*o]+i[2*a],t.depth[l]=(t.depth[o]>=t.depth[a]?t.depth[o]:t.depth[a])+1,i[2*o+1]=i[2*a+1]=l,t.heap[1]=l++,ew(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,s=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,l=e.stat_desc.max_length;let h,c,u,d,f,p,O=0;for(d=0;d<=Xb;d++)t.bl_count[d]=0;for(i[2*t.heap[t.heap_max]+1]=0,h=t.heap_max+1;h<573;h++)c=t.heap[h],d=i[2*i[2*c+1]+1]+1,d>l&&(d=l,O++),i[2*c+1]=d,c>n||(t.bl_count[d]++,f=0,c>=a&&(f=o[c-a]),p=i[2*c],t.opt_len+=p*(d+f),r&&(t.static_len+=p*(s[2*c+1]+f)));if(0!==O){do{for(d=l-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[l]--,O-=2}while(O>0);for(d=l;0!==d;d--)for(c=t.bl_count[d];0!==c;)u=t.heap[--h],u>n||(i[2*u+1]!==d&&(t.opt_len+=(d-i[2*u+1])*i[2*u],i[2*u+1]=d),c--)}})(t,e),Hb(i,h,t.bl_count)},sw=(t,e,i)=>{let n,s,r=-1,o=e[1],a=0,l=7,h=4;for(0===o&&(l=138,h=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)s=o,o=e[2*(n+1)+1],++a{let n,s,r=-1,o=e[1],a=0,l=7,h=4;for(0===o&&(l=138,h=3),n=0;n<=i;n++)if(s=o,o=e[2*(n+1)+1],!(++a{Nb(t,0+(n?1:0),3),Kb(t),jb(t,i),jb(t,~i),i&&t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i};Qb._tr_init=t=>{ow||((()=>{let t,e,i,n,s;const r=new Array(16);for(i=0,n=0;n<28;n++)for(Wb[n]=i,t=0;t<1<>=7;n<_b;n++)for(Ub[n]=s<<7,t=0;t<1<{let s,r,o=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(sw(t,t.dyn_ltree,t.l_desc.max_code),sw(t,t.dyn_dtree,t.d_desc.max_code),nw(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Rb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),s=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=s&&(s=r)):s=r=i+5,i+4<=s&&-1!==e?aw(t,e,i,n):4===t.strategy||r===s?(Nb(t,2+(n?1:0),3),iw(t,Eb,Vb)):(Nb(t,4+(n?1:0),3),((t,e,i,n)=>{let s;for(Nb(t,e-257,5),Nb(t,i-1,5),Nb(t,n-4,4),s=0;s(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=i,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(Db[i]+Pb+1)]++,t.dyn_dtree[2*Bb(e)]++),t.sym_next===t.sym_end),Qb._tr_align=t=>{Nb(t,2,3),Gb(t,256,Eb),(t=>{16===t.bi_valid?(jb(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)};var lw=(t,e,i,n)=>{let s=65535&t|0,r=t>>>16&65535|0,o=0;for(;0!==i;){o=i>2e3?2e3:i,i-=o;do{s=s+e[n++]|0,r=r+s|0}while(--o);s%=65521,r%=65521}return s|r<<16|0};const hw=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var cw=(t,e,i,n)=>{const s=hw,r=n+i;t^=-1;for(let i=n;i>>8^s[255&(t^e[i])];return-1^t},uw={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},dw={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:fw,_tr_stored_block:pw,_tr_flush_block:Ow,_tr_tally:gw,_tr_align:mw}=Qb,bw=lw,ww=cw,vw=uw,{Z_NO_FLUSH:Sw,Z_PARTIAL_FLUSH:yw,Z_FULL_FLUSH:xw,Z_FINISH:kw,Z_BLOCK:Qw,Z_OK:$w,Z_STREAM_END:Pw,Z_STREAM_ERROR:Cw,Z_DATA_ERROR:_w,Z_BUF_ERROR:Xw,Z_DEFAULT_COMPRESSION:Zw,Z_FILTERED:Aw,Z_HUFFMAN_ONLY:Tw,Z_RLE:Rw,Z_FIXED:Ew,Z_DEFAULT_STRATEGY:Vw,Z_UNKNOWN:Mw,Z_DEFLATED:Dw}=dw,Ww=258,Uw=262,Yw=42,qw=113,Lw=666,zw=(t,e)=>(t.msg=vw[e],e),Iw=t=>2*t-(t>4?9:0),Bw=t=>{let e=t.length;for(;--e>=0;)t[e]=0},jw=t=>{let e,i,n,s=t.w_size;e=t.hash_size,n=e;do{i=t.head[--n],t.head[n]=i>=s?i-s:0}while(--e);e=s,n=e;do{i=t.prev[--n],t.prev[n]=i>=s?i-s:0}while(--e)};let Nw=(t,e,i)=>(e<{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},Fw=(t,e)=>{Ow(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Gw(t.strm)},Hw=(t,e)=>{t.pending_buf[t.pending++]=e},Jw=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Kw=(t,e,i,n)=>{let s=t.avail_in;return s>n&&(s=n),0===s?0:(t.avail_in-=s,e.set(t.input.subarray(t.next_in,t.next_in+s),i),1===t.state.wrap?t.adler=bw(t.adler,e,s,i):2===t.state.wrap&&(t.adler=ww(t.adler,e,s,i)),t.next_in+=s,t.total_in+=s,s)},tv=(t,e)=>{let i,n,s=t.max_chain_length,r=t.strstart,o=t.prev_length,a=t.nice_match;const l=t.strstart>t.w_size-Uw?t.strstart-(t.w_size-Uw):0,h=t.window,c=t.w_mask,u=t.prev,d=t.strstart+Ww;let f=h[r+o-1],p=h[r+o];t.prev_length>=t.good_match&&(s>>=2),a>t.lookahead&&(a=t.lookahead);do{if(i=e,h[i+o]===p&&h[i+o-1]===f&&h[i]===h[r]&&h[++i]===h[r+1]){r+=2,i++;do{}while(h[++r]===h[++i]&&h[++r]===h[++i]&&h[++r]===h[++i]&&h[++r]===h[++i]&&h[++r]===h[++i]&&h[++r]===h[++i]&&h[++r]===h[++i]&&h[++r]===h[++i]&&ro){if(t.match_start=e,o=n,n>=a)break;f=h[r+o-1],p=h[r+o]}}}while((e=u[e&c])>l&&0!=--s);return o<=t.lookahead?o:t.lookahead},ev=t=>{const e=t.w_size;let i,n,s;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Uw)&&(t.window.set(t.window.subarray(e,e+e-n),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),jw(t),n+=e),0===t.strm.avail_in)break;if(i=Kw(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=i,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=Nw(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=Nw(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let i,n,s,r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,o=0,a=t.strm.avail_in;do{if(i=65535,s=t.bi_valid+42>>3,t.strm.avail_outn+t.strm.avail_in&&(i=n+t.strm.avail_in),i>s&&(i=s),i>8,t.pending_buf[t.pending-2]=~i,t.pending_buf[t.pending-1]=~i>>8,Gw(t.strm),n&&(n>i&&(n=i),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+n),t.strm.next_out),t.strm.next_out+=n,t.strm.avail_out-=n,t.strm.total_out+=n,t.block_start+=n,i-=n),i&&(Kw(t.strm,t.strm.output,t.strm.next_out,i),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i)}while(0===o);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_waters&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,s+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),s>t.strm.avail_in&&(s=t.strm.avail_in),s&&(Kw(t.strm,t.window,t.strstart,s),t.strstart+=s,t.insert+=s>t.w_size-t.insert?t.w_size-t.insert:s),t.high_water>3,s=t.pending_buf_size-s>65535?65535:t.pending_buf_size-s,r=s>t.w_size?t.w_size:s,n=t.strstart-t.block_start,(n>=r||(n||e===kw)&&e!==Sw&&0===t.strm.avail_in&&n<=s)&&(i=n>s?s:n,o=e===kw&&0===t.strm.avail_in&&i===n?1:0,pw(t,t.block_start,i,o),t.block_start+=i,Gw(t.strm)),o?3:1)},nv=(t,e)=>{let i,n;for(;;){if(t.lookahead=3&&(t.ins_h=Nw(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-Uw&&(t.match_length=tv(t,i)),t.match_length>=3)if(n=gw(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Nw(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Nw(t,t.ins_h,t.window[t.strstart+1]);else n=gw(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(Fw(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===kw?(Fw(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Fw(t,!1),0===t.strm.avail_out)?1:2},sv=(t,e)=>{let i,n,s;for(;;){if(t.lookahead=3&&(t.ins_h=Nw(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){s=t.strstart+t.lookahead-3,n=gw(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=s&&(t.ins_h=Nw(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(Fw(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=gw(t,0,t.window[t.strstart-1]),n&&Fw(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=gw(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===kw?(Fw(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Fw(t,!1),0===t.strm.avail_out)?1:2};function rv(t,e,i,n,s){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=s}const ov=[new rv(0,0,0,0,iv),new rv(4,4,8,4,nv),new rv(4,5,16,8,nv),new rv(4,6,32,32,nv),new rv(4,4,16,16,sv),new rv(8,16,32,32,sv),new rv(8,16,128,128,sv),new rv(8,32,128,256,sv),new rv(32,128,258,1024,sv),new rv(32,258,258,4096,sv)];function av(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Dw,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Bw(this.dyn_ltree),Bw(this.dyn_dtree),Bw(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Bw(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Bw(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const lv=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Yw&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==qw&&e.status!==Lw?1:0},hv=t=>{if(lv(t))return zw(t,Cw);t.total_in=t.total_out=0,t.data_type=Mw;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?Yw:qw,t.adler=2===e.wrap?0:1,e.last_flush=-2,fw(e),$w},cv=t=>{const e=hv(t);var i;return e===$w&&((i=t.state).window_size=2*i.w_size,Bw(i.head),i.max_lazy_match=ov[i.level].max_lazy,i.good_match=ov[i.level].good_length,i.nice_match=ov[i.level].nice_length,i.max_chain_length=ov[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},uv=(t,e,i,n,s,r)=>{if(!t)return Cw;let o=1;if(e===Zw&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),s<1||s>9||i!==Dw||n<8||n>15||e<0||e>9||r<0||r>Ew||8===n&&1!==o)return zw(t,Cw);8===n&&(n=9);const a=new av;return t.state=a,a.strm=t,a.status=Yw,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<uv(t,e,Dw,15,8,Vw),kb.deflateInit2=uv,kb.deflateReset=cv,kb.deflateResetKeep=hv,kb.deflateSetHeader=(t,e)=>lv(t)||2!==t.state.wrap?Cw:(t.state.gzhead=e,$w),kb.deflate=(t,e)=>{if(lv(t)||e>Qw||e<0)return t?zw(t,Cw):Cw;const i=t.state;if(!t.output||0!==t.avail_in&&!t.input||i.status===Lw&&e!==kw)return zw(t,0===t.avail_out?Xw:Cw);const n=i.last_flush;if(i.last_flush=e,0!==i.pending){if(Gw(t),0===t.avail_out)return i.last_flush=-1,$w}else if(0===t.avail_in&&Iw(e)<=Iw(n)&&e!==kw)return zw(t,Xw);if(i.status===Lw&&0!==t.avail_in)return zw(t,Xw);if(i.status===Yw&&0===i.wrap&&(i.status=qw),i.status===Yw){let e=Dw+(i.w_bits-8<<4)<<8,n=-1;if(n=i.strategy>=Tw||i.level<2?0:i.level<6?1:6===i.level?2:3,e|=n<<6,0!==i.strstart&&(e|=32),e+=31-e%31,Jw(i,e),0!==i.strstart&&(Jw(i,t.adler>>>16),Jw(i,65535&t.adler)),t.adler=1,i.status=qw,Gw(t),0!==i.pending)return i.last_flush=-1,$w}if(57===i.status)if(t.adler=0,Hw(i,31),Hw(i,139),Hw(i,8),i.gzhead)Hw(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Hw(i,255&i.gzhead.time),Hw(i,i.gzhead.time>>8&255),Hw(i,i.gzhead.time>>16&255),Hw(i,i.gzhead.time>>24&255),Hw(i,9===i.level?2:i.strategy>=Tw||i.level<2?4:0),Hw(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(Hw(i,255&i.gzhead.extra.length),Hw(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=ww(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69;else if(Hw(i,0),Hw(i,0),Hw(i,0),Hw(i,0),Hw(i,0),Hw(i,9===i.level?2:i.strategy>=Tw||i.level<2?4:0),Hw(i,3),i.status=qw,Gw(t),0!==i.pending)return i.last_flush=-1,$w;if(69===i.status){if(i.gzhead.extra){let e=i.pending,n=(65535&i.gzhead.extra.length)-i.gzindex;for(;i.pending+n>i.pending_buf_size;){let s=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+s),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>e&&(t.adler=ww(t.adler,i.pending_buf,i.pending-e,e)),i.gzindex+=s,Gw(t),0!==i.pending)return i.last_flush=-1,$w;e=0,n-=s}let s=new Uint8Array(i.gzhead.extra);i.pending_buf.set(s.subarray(i.gzindex,i.gzindex+n),i.pending),i.pending+=n,i.gzhead.hcrc&&i.pending>e&&(t.adler=ww(t.adler,i.pending_buf,i.pending-e,e)),i.gzindex=0}i.status=73}if(73===i.status){if(i.gzhead.name){let e,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(t.adler=ww(t.adler,i.pending_buf,i.pending-n,n)),Gw(t),0!==i.pending)return i.last_flush=-1,$w;n=0}e=i.gzindexn&&(t.adler=ww(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex=0}i.status=91}if(91===i.status){if(i.gzhead.comment){let e,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(t.adler=ww(t.adler,i.pending_buf,i.pending-n,n)),Gw(t),0!==i.pending)return i.last_flush=-1,$w;n=0}e=i.gzindexn&&(t.adler=ww(t.adler,i.pending_buf,i.pending-n,n))}i.status=103}if(103===i.status){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(Gw(t),0!==i.pending))return i.last_flush=-1,$w;Hw(i,255&t.adler),Hw(i,t.adler>>8&255),t.adler=0}if(i.status=qw,Gw(t),0!==i.pending)return i.last_flush=-1,$w}if(0!==t.avail_in||0!==i.lookahead||e!==Sw&&i.status!==Lw){let n=0===i.level?iv(i,e):i.strategy===Tw?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(ev(t),0===t.lookahead)){if(e===Sw)return 1;break}if(t.match_length=0,i=gw(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(Fw(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===kw?(Fw(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Fw(t,!1),0===t.strm.avail_out)?1:2})(i,e):i.strategy===Rw?((t,e)=>{let i,n,s,r;const o=t.window;for(;;){if(t.lookahead<=Ww){if(ev(t),t.lookahead<=Ww&&e===Sw)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(s=t.strstart-1,n=o[s],n===o[++s]&&n===o[++s]&&n===o[++s])){r=t.strstart+Ww;do{}while(n===o[++s]&&n===o[++s]&&n===o[++s]&&n===o[++s]&&n===o[++s]&&n===o[++s]&&n===o[++s]&&n===o[++s]&&st.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=gw(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=gw(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(Fw(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===kw?(Fw(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Fw(t,!1),0===t.strm.avail_out)?1:2})(i,e):ov[i.level].func(i,e);if(3!==n&&4!==n||(i.status=Lw),1===n||3===n)return 0===t.avail_out&&(i.last_flush=-1),$w;if(2===n&&(e===yw?mw(i):e!==Qw&&(pw(i,0,0,!1),e===xw&&(Bw(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),Gw(t),0===t.avail_out))return i.last_flush=-1,$w}return e!==kw?$w:i.wrap<=0?Pw:(2===i.wrap?(Hw(i,255&t.adler),Hw(i,t.adler>>8&255),Hw(i,t.adler>>16&255),Hw(i,t.adler>>24&255),Hw(i,255&t.total_in),Hw(i,t.total_in>>8&255),Hw(i,t.total_in>>16&255),Hw(i,t.total_in>>24&255)):(Jw(i,t.adler>>>16),Jw(i,65535&t.adler)),Gw(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?$w:Pw)},kb.deflateEnd=t=>{if(lv(t))return Cw;const e=t.state.status;return t.state=null,e===qw?zw(t,_w):$w},kb.deflateSetDictionary=(t,e)=>{let i=e.length;if(lv(t))return Cw;const n=t.state,s=n.wrap;if(2===s||1===s&&n.status!==Yw||n.lookahead)return Cw;if(1===s&&(t.adler=bw(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===s&&(Bw(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const r=t.avail_in,o=t.next_in,a=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,ev(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=Nw(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,ev(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=o,t.input=a,t.avail_in=r,n.wrap=s,$w},kb.deflateInfo="pako deflate (from Nodeca project)";var dv={};const fv=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);dv.assign=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)fv(i,e)&&(t[e]=i[e])}}return t},dv.flattenChunks=t=>{let e=0;for(let i=0,n=t.length;i=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;gv[254]=gv[254]=1,pv.string2buf=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,i,n,s,r,o=t.length,a=0;for(s=0;s>>6,e[r++]=128|63&i):i<65536?(e[r++]=224|i>>>12,e[r++]=128|i>>>6&63,e[r++]=128|63&i):(e[r++]=240|i>>>18,e[r++]=128|i>>>12&63,e[r++]=128|i>>>6&63,e[r++]=128|63&i);return e};pv.buf2string=(t,e)=>{const i=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,s;const r=new Array(2*i);for(s=0,n=0;n4)r[s++]=65533,n+=o-1;else{for(e&=2===o?31:3===o?15:7;o>1&&n1?r[s++]=65533:e<65536?r[s++]=e:(e-=65536,r[s++]=55296|e>>10&1023,r[s++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Ov)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+gv[t[i]]>e?i:e};var mv=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const bv=kb,wv=dv,vv=pv,Sv=uw,yv=mv,xv=Object.prototype.toString,{Z_NO_FLUSH:kv,Z_SYNC_FLUSH:Qv,Z_FULL_FLUSH:$v,Z_FINISH:Pv,Z_OK:Cv,Z_STREAM_END:_v,Z_DEFAULT_COMPRESSION:Xv,Z_DEFAULT_STRATEGY:Zv,Z_DEFLATED:Av}=dw;function Tv(t){this.options=wv.assign({level:Xv,method:Av,chunkSize:16384,windowBits:15,memLevel:8,strategy:Zv},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yv,this.strm.avail_out=0;let i=bv.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Cv)throw new Error(Sv[i]);if(e.header&&bv.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?vv.string2buf(e.dictionary):"[object ArrayBuffer]"===xv.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=bv.deflateSetDictionary(this.strm,t),i!==Cv)throw new Error(Sv[i]);this._dict_set=!0}}function Rv(t,e){const i=new Tv(e);if(i.push(t,!0),i.err)throw i.msg||Sv[i.err];return i.result}Tv.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let s,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Pv:kv,"string"==typeof t?i.input=vv.string2buf(t):"[object ArrayBuffer]"===xv.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(r===Qv||r===$v)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(s=bv.deflate(i,r),s===_v)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),s=bv.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===Cv;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},Tv.prototype.onData=function(t){this.chunks.push(t)},Tv.prototype.onEnd=function(t){t===Cv&&(this.result=wv.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},xb.Deflate=Tv,xb.deflate=Rv,xb.deflateRaw=function(t,e){return(e=e||{}).raw=!0,Rv(t,e)},xb.gzip=function(t,e){return(e=e||{}).gzip=!0,Rv(t,e)},xb.constants=dw;var Ev={},Vv={};const Mv=16209;const Dv=15,Wv=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Uv=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Yv=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),qv=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var Lv=(t,e,i,n,s,r,o,a)=>{const l=a.bits;let h,c,u,d,f,p,O=0,g=0,m=0,b=0,w=0,v=0,S=0,y=0,x=0,k=0,Q=null;const $=new Uint16Array(16),P=new Uint16Array(16);let C,_,X,Z=null;for(O=0;O<=Dv;O++)$[O]=0;for(g=0;g=1&&0===$[b];b--);if(w>b&&(w=b),0===b)return s[r++]=20971520,s[r++]=20971520,a.bits=1,0;for(m=1;m0&&(0===t||1!==b))return-1;for(P[1]=0,O=1;O852||2===t&&x>592)return 1;for(;;){C=O-S,o[g]+1=p?(_=Z[o[g]-p],X=Q[o[g]-p]):(_=96,X=0),h=1<>S)+c]=C<<24|_<<16|X|0}while(0!==c);for(h=1<>=1;if(0!==h?(k&=h-1,k+=h):k=0,g++,0==--$[O]){if(O===b)break;O=e[i+o[g]]}if(O>w&&(k&d)!==u){for(0===S&&(S=w),f+=m,v=O-S,y=1<852||2===t&&x>592)return 1;u=k&d,s[u]=w<<24|v<<16|f-r|0}}return 0!==k&&(s[f+k]=O-S<<24|64<<16|0),a.bits=w,0};const zv=lw,Iv=cw,Bv=function(t,e){let i,n,s,r,o,a,l,h,c,u,d,f,p,O,g,m,b,w,v,S,y,x,k,Q;const $=t.state;i=t.next_in,k=t.input,n=i+(t.avail_in-5),s=t.next_out,Q=t.output,r=s-(e-t.avail_out),o=s+(t.avail_out-257),a=$.dmax,l=$.wsize,h=$.whave,c=$.wnext,u=$.window,d=$.hold,f=$.bits,p=$.lencode,O=$.distcode,g=(1<<$.lenbits)-1,m=(1<<$.distbits)-1;t:do{f<15&&(d+=k[i++]<>>24,d>>>=w,f-=w,w=b>>>16&255,0===w)Q[s++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=p[(65535&b)+(d&(1<>>=w,f-=w),f<15&&(d+=k[i++]<>>24,d>>>=w,f-=w,w=b>>>16&255,!(16&w)){if(0==(64&w)){b=O[(65535&b)+(d&(1<a){t.msg="invalid distance too far back",$.mode=Mv;break t}if(d>>>=w,f-=w,w=s-r,S>w){if(w=S-w,w>h&&$.sane){t.msg="invalid distance too far back",$.mode=Mv;break t}if(y=0,x=u,0===c){if(y+=l-w,w2;)Q[s++]=x[y++],Q[s++]=x[y++],Q[s++]=x[y++],v-=3;v&&(Q[s++]=x[y++],v>1&&(Q[s++]=x[y++]))}else{y=s-S;do{Q[s++]=Q[y++],Q[s++]=Q[y++],Q[s++]=Q[y++],v-=3}while(v>2);v&&(Q[s++]=Q[y++],v>1&&(Q[s++]=Q[y++]))}break}}break}}while(i>3,i-=v,f-=v<<3,d&=(1<(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function OS(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const gS=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},mS=t=>{if(gS(t))return tS;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=rS,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Hv},bS=t=>{if(gS(t))return tS;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,mS(t)},wS=(t,e)=>{let i;if(gS(t))return tS;const n=t.state;return e<0?(i=0,e=-e):(i=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?tS:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,bS(t))},vS=(t,e)=>{if(!t)return tS;const i=new OS;t.state=i,i.strm=t,i.window=null,i.mode=rS;const n=wS(t,e);return n!==Hv&&(t.state=null),n};let SS,yS,xS=!0;const kS=t=>{if(xS){SS=new Int32Array(512),yS=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(jv(1,t.lens,0,288,SS,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;jv(2,t.lens,0,32,yS,0,t.work,{bits:5}),xS=!1}t.lencode=SS,t.lenbits=9,t.distcode=yS,t.distbits=5},QS=(t,e,i,n)=>{let s;const r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(r.window.set(e.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):(s=r.wsize-r.wnext,s>n&&(s=n),r.window.set(e.subarray(i-n,i-n+s),r.wnext),(n-=s)?(r.window.set(e.subarray(i-n,i),0),r.wnext=n,r.whave=r.wsize):(r.wnext+=s,r.wnext===r.wsize&&(r.wnext=0),r.whavevS(t,15),Vv.inflateInit2=vS,Vv.inflate=(t,e)=>{let i,n,s,r,o,a,l,h,c,u,d,f,p,O,g,m,b,w,v,S,y,x,k=0;const Q=new Uint8Array(4);let $,P;const C=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(gS(t)||!t.output||!t.input&&0!==t.avail_in)return tS;i=t.state,i.mode===aS&&(i.mode=lS),o=t.next_out,s=t.output,l=t.avail_out,r=t.next_in,n=t.input,a=t.avail_in,h=i.hold,c=i.bits,u=a,d=l,x=Hv;t:for(;;)switch(i.mode){case rS:if(0===i.wrap){i.mode=lS;break}for(;c<16;){if(0===a)break t;a--,h+=n[r++]<>>8&255,i.check=Iv(i.check,Q,2,0),h=0,c=0,i.mode=16181;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",i.mode=fS;break}if((15&h)!==sS){t.msg="unknown compression method",i.mode=fS;break}if(h>>>=4,c-=4,y=8+(15&h),0===i.wbits&&(i.wbits=y),y>15||y>i.wbits){t.msg="invalid window size",i.mode=fS;break}i.dmax=1<>8&1),512&i.flags&&4&i.wrap&&(Q[0]=255&h,Q[1]=h>>>8&255,i.check=Iv(i.check,Q,2,0)),h=0,c=0,i.mode=16182;case 16182:for(;c<32;){if(0===a)break t;a--,h+=n[r++]<>>8&255,Q[2]=h>>>16&255,Q[3]=h>>>24&255,i.check=Iv(i.check,Q,4,0)),h=0,c=0,i.mode=16183;case 16183:for(;c<16;){if(0===a)break t;a--,h+=n[r++]<>8),512&i.flags&&4&i.wrap&&(Q[0]=255&h,Q[1]=h>>>8&255,i.check=Iv(i.check,Q,2,0)),h=0,c=0,i.mode=16184;case 16184:if(1024&i.flags){for(;c<16;){if(0===a)break t;a--,h+=n[r++]<>>8&255,i.check=Iv(i.check,Q,2,0)),h=0,c=0}else i.head&&(i.head.extra=null);i.mode=16185;case 16185:if(1024&i.flags&&(f=i.length,f>a&&(f=a),f&&(i.head&&(y=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(r,r+f),y)),512&i.flags&&4&i.wrap&&(i.check=Iv(i.check,n,f,r)),a-=f,r+=f,i.length-=f),i.length))break t;i.length=0,i.mode=16186;case 16186:if(2048&i.flags){if(0===a)break t;f=0;do{y=n[r+f++],i.head&&y&&i.length<65536&&(i.head.name+=String.fromCharCode(y))}while(y&&f>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=aS;break;case 16189:for(;c<32;){if(0===a)break t;a--,h+=n[r++]<>>=7&c,c-=7&c,i.mode=dS;break}for(;c<3;){if(0===a)break t;a--,h+=n[r++]<>>=1,c-=1,3&h){case 0:i.mode=16193;break;case 1:if(kS(i),i.mode=cS,e===Fv){h>>>=2,c-=2;break t}break;case 2:i.mode=16196;break;case 3:t.msg="invalid block type",i.mode=fS}h>>>=2,c-=2;break;case 16193:for(h>>>=7&c,c-=7&c;c<32;){if(0===a)break t;a--,h+=n[r++]<>>16^65535)){t.msg="invalid stored block lengths",i.mode=fS;break}if(i.length=65535&h,h=0,c=0,i.mode=hS,e===Fv)break t;case hS:i.mode=16195;case 16195:if(f=i.length,f){if(f>a&&(f=a),f>l&&(f=l),0===f)break t;s.set(n.subarray(r,r+f),o),a-=f,r+=f,l-=f,o+=f,i.length-=f;break}i.mode=aS;break;case 16196:for(;c<14;){if(0===a)break t;a--,h+=n[r++]<>>=5,c-=5,i.ndist=1+(31&h),h>>>=5,c-=5,i.ncode=4+(15&h),h>>>=4,c-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=fS;break}i.have=0,i.mode=16197;case 16197:for(;i.have>>=3,c-=3}for(;i.have<19;)i.lens[C[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,$={bits:i.lenbits},x=jv(0,i.lens,0,19,i.lencode,0,i.work,$),i.lenbits=$.bits,x){t.msg="invalid code lengths set",i.mode=fS;break}i.have=0,i.mode=16198;case 16198:for(;i.have>>24,m=k>>>16&255,b=65535&k,!(g<=c);){if(0===a)break t;a--,h+=n[r++]<>>=g,c-=g,i.lens[i.have++]=b;else{if(16===b){for(P=g+2;c>>=g,c-=g,0===i.have){t.msg="invalid bit length repeat",i.mode=fS;break}y=i.lens[i.have-1],f=3+(3&h),h>>>=2,c-=2}else if(17===b){for(P=g+3;c>>=g,c-=g,y=0,f=3+(7&h),h>>>=3,c-=3}else{for(P=g+7;c>>=g,c-=g,y=0,f=11+(127&h),h>>>=7,c-=7}if(i.have+f>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=fS;break}for(;f--;)i.lens[i.have++]=y}}if(i.mode===fS)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=fS;break}if(i.lenbits=9,$={bits:i.lenbits},x=jv(1,i.lens,0,i.nlen,i.lencode,0,i.work,$),i.lenbits=$.bits,x){t.msg="invalid literal/lengths set",i.mode=fS;break}if(i.distbits=6,i.distcode=i.distdyn,$={bits:i.distbits},x=jv(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,$),i.distbits=$.bits,x){t.msg="invalid distances set",i.mode=fS;break}if(i.mode=cS,e===Fv)break t;case cS:i.mode=uS;case uS:if(a>=6&&l>=258){t.next_out=o,t.avail_out=l,t.next_in=r,t.avail_in=a,i.hold=h,i.bits=c,Bv(t,d),o=t.next_out,s=t.output,l=t.avail_out,r=t.next_in,n=t.input,a=t.avail_in,h=i.hold,c=i.bits,i.mode===aS&&(i.back=-1);break}for(i.back=0;k=i.lencode[h&(1<>>24,m=k>>>16&255,b=65535&k,!(g<=c);){if(0===a)break t;a--,h+=n[r++]<>w)],g=k>>>24,m=k>>>16&255,b=65535&k,!(w+g<=c);){if(0===a)break t;a--,h+=n[r++]<>>=w,c-=w,i.back+=w}if(h>>>=g,c-=g,i.back+=g,i.length=b,0===m){i.mode=16205;break}if(32&m){i.back=-1,i.mode=aS;break}if(64&m){t.msg="invalid literal/length code",i.mode=fS;break}i.extra=15&m,i.mode=16201;case 16201:if(i.extra){for(P=i.extra;c>>=i.extra,c-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=16202;case 16202:for(;k=i.distcode[h&(1<>>24,m=k>>>16&255,b=65535&k,!(g<=c);){if(0===a)break t;a--,h+=n[r++]<>w)],g=k>>>24,m=k>>>16&255,b=65535&k,!(w+g<=c);){if(0===a)break t;a--,h+=n[r++]<>>=w,c-=w,i.back+=w}if(h>>>=g,c-=g,i.back+=g,64&m){t.msg="invalid distance code",i.mode=fS;break}i.offset=b,i.extra=15&m,i.mode=16203;case 16203:if(i.extra){for(P=i.extra;c>>=i.extra,c-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=fS;break}i.mode=16204;case 16204:if(0===l)break t;if(f=d-l,i.offset>f){if(f=i.offset-f,f>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=fS;break}f>i.wnext?(f-=i.wnext,p=i.wsize-f):p=i.wnext-f,f>i.length&&(f=i.length),O=i.window}else O=s,p=o-i.offset,f=i.length;f>l&&(f=l),l-=f,i.length-=f;do{s[o++]=O[p++]}while(--f);0===i.length&&(i.mode=uS);break;case 16205:if(0===l)break t;s[o++]=i.length,l--,i.mode=uS;break;case dS:if(i.wrap){for(;c<32;){if(0===a)break t;a--,h|=n[r++]<{if(gS(t))return tS;let e=t.state;return e.window&&(e.window=null),t.state=null,Hv},Vv.inflateGetHeader=(t,e)=>{if(gS(t))return tS;const i=t.state;return 0==(2&i.wrap)?tS:(i.head=e,e.done=!1,Hv)},Vv.inflateSetDictionary=(t,e)=>{const i=e.length;let n,s,r;return gS(t)?tS:(n=t.state,0!==n.wrap&&n.mode!==oS?tS:n.mode===oS&&(s=1,s=zv(s,e,i,0),s!==n.check)?eS:(r=QS(t,e,i,i),r?(n.mode=16210,iS):(n.havedict=1,Hv)))},Vv.inflateInfo="pako inflate (from Nodeca project)";const $S=Vv,PS=dv,CS=pv,_S=uw,XS=mv,ZS=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},AS=Object.prototype.toString,{Z_NO_FLUSH:TS,Z_FINISH:RS,Z_OK:ES,Z_STREAM_END:VS,Z_NEED_DICT:MS,Z_STREAM_ERROR:DS,Z_DATA_ERROR:WS,Z_MEM_ERROR:US}=dw;function YS(t){this.options=PS.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new XS,this.strm.avail_out=0;let i=$S.inflateInit2(this.strm,e.windowBits);if(i!==ES)throw new Error(_S[i]);if(this.header=new ZS,$S.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=CS.string2buf(e.dictionary):"[object ArrayBuffer]"===AS.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=$S.inflateSetDictionary(this.strm,e.dictionary),i!==ES)))throw new Error(_S[i])}function qS(t,e){const i=new YS(e);if(i.push(t),i.err)throw i.msg||_S[i.err];return i.result}YS.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize,s=this.options.dictionary;let r,o,a;if(this.ended)return!1;for(o=e===~~e?e:!0===e?RS:TS,"[object ArrayBuffer]"===AS.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),r=$S.inflate(i,o),r===MS&&s&&(r=$S.inflateSetDictionary(i,s),r===ES?r=$S.inflate(i,o):r===WS&&(r=MS));i.avail_in>0&&r===VS&&i.state.wrap>0&&0!==t[i.next_in];)$S.inflateReset(i),r=$S.inflate(i,o);switch(r){case DS:case WS:case MS:case US:return this.onEnd(r),this.ended=!0,!1}if(a=i.avail_out,i.next_out&&(0===i.avail_out||r===VS))if("string"===this.options.to){let t=CS.utf8border(i.output,i.next_out),e=i.next_out-t,s=CS.buf2string(i.output,t);i.next_out=e,i.avail_out=n-e,e&&i.output.set(i.output.subarray(t,t+e),0),this.onData(s)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(r!==ES||0!==a){if(r===VS)return r=$S.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},YS.prototype.onData=function(t){this.chunks.push(t)},YS.prototype.onEnd=function(t){t===ES&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=PS.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},Ev.Inflate=YS,Ev.inflate=qS,Ev.inflateRaw=function(t,e){return(e=e||{}).raw=!0,qS(t,e)},Ev.ungzip=qS,Ev.constants=dw;const{Deflate:LS,deflate:zS,deflateRaw:IS,gzip:BS}=xb,{Inflate:jS,inflate:NS,inflateRaw:GS,ungzip:FS}=Ev,HS=dw;yb.Deflate=LS,yb.deflate=zS,yb.deflateRaw=IS,yb.gzip=BS,yb.Inflate=jS,yb.inflate=NS,yb.inflateRaw=GS,yb.ungzip=FS,yb.constants=HS;const JS=yb;let KS={Util:{},Decode:{},Messages:[],Log:function(t){KS.Messages.push(["I",t]),console.log("Mma.js INFO: ",t)},Warn:function(t){KS.Messages.push(["W",t]),console.log("Mma.js WARNING: ",t)},Fail:function(t){throw KS.Messages.push(["E",t]),"Mma.js ERROR: "+t}};KS.Util.Base64Decode=function(t){for(var e=atob(t),i=e.length>>>0,n=new Uint8Array(i),s=0;s1&&0===t[0]&&KS.Fail("IntegerAP: input starts with 0: "+String(t)),this.nstring=t}else void 0===t?this.nstring=void 0:KS.Fail("Integer: invalid input: "+String(t))},KS.RealMP=function(t){"number"==typeof t?this.n=t:void 0===t?this.n=void 0:KS.Fail("RealMP: invalid input")},KS.RealAP=function(t){"string"==typeof t?(t.length>1&&0===t[0]&&KS.Fail("RealAP: input starts with 0: "+String(t)),this.nstring=t):void 0===t?this.nstring=void 0:KS.Fail("RealAP: invalid input: "+String(t))},KS.Symbol=function(t){"string"==typeof t?this.name=t:void 0===t?this.name=void 0:KS.Fail("Symbol: invalid input: "+String(t))},KS.String=function(t){"string"==typeof t?this.str=t:void 0===t?this.str=void 0:KS.Fail("String: invalid input: "+String(t))},KS.Expression=function(t,e){t instanceof KS.Symbol||KS.Fail("Expression: head must be an Mma.Symbol"),e instanceof Array||KS.Fail("Expression: parts must be an Array"),this.head=t,this.parts=e},KS.Decode.Int32=function(t,e){try{return new DataView(t.buffer).getInt32(e,!0)}catch(t){return 0}},KS.Decode.Float64=function(t,e){try{return new DataView(t.buffer).getFloat64(e,!0)}catch(t){return 0}},KS.Decode.String=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=t.length),KS.Util.U8ArrayToString(t.slice(e,e+i))},KS.Decode.StringEntry=function(t,e){void 0===e&&(e=0);var i=KS.Decode.Int32(t,e);return{length:i,string:KS.Decode.String(t,e+4,i),bytesRead:i+4}},KS.Decode.Any=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=1/0);var n=e;for(var s=0,r=[];e{if(c.options?.Event){console.warn("Event listeners are enabled!"),s.events=c.options.Event;let t=c;if(h.stack){const e=Object.values(h.stack);e.length>0&&(console.log("Attaching first found instance..."),t=e[0].env)}interpretate(["MetaMarker","'"+l+"'"],t).then((()=>{server.kernel.emitt(s.events,'"'+l+'"',"Mounted")}))}}))}getDoc(){return this.args[0].body.slice(1,-1)}applyChanges(t,e){const i=this.args,n=this.visibleValue.argsPos,s="("+t+")",r={from:n+i[0].from,to:n+i[0].from+i[0].length,insert:s};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(s,this.visibleValue.str.substring(i[0].from+i[0].length)),i[0].length=s.length,this.view.dispatch({changes:r})}applyOuterChanges(t){const e=this.visibleValue,i=t,n={from:e.pos,to:e.pos+e.length,insert:i};this.view.dispatch({changes:n})}update(t){if(!this.deactivated){if(t.str!=this.visibleValue.str){console.warn("Out of sync"),console.log("recreate..."),this.destroy();const e=this.span;return e.replaceChildren(),void this._construct(t,this.view,e)}this.visibleValue.pos=t.pos,this.visibleValue.argsPos=t.argsPos}}destroy(t){if(console.warn("destroy Instance of Widget"),console.log(this),this.env.global.stack)for(const t of Object.values(this.env.global.stack))t.dispose();this.events&&server.kernel.emitt(this.events,'"'+this.cuid+'"',"Destroy"),delete this.data}},iy=class extends ei{constructor(t,e,i){super(),this.view=i,this.visibleValue=t,this.reference=e}eq(t){return!1}updateDOM(t,e){return console.log("update widget DOM"),t.EditorWidget.update(this.visibleValue),!0}toDOM(t){console.log("Create a new one!");const e=this;let i=document.createElement("span");return i.classList.add("frontend-view"),i.EditorWidget=new ey(this.visibleValue,t,i),this.reference.push({destroy:()=>{e.destroy(i)}}),i}ignoreEvent(){return!0}destroy(t){console.log("destroy in general*"),t.EditorWidget.destroy()}};const ny=(t,e)=>new Bm({tag:"VB",decoration:i=>ni.replace({widget:new iy(i,t,e)})}),sy=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=ny(this.disposable,t).createDeco(t)}update(t){this.placeholder=ny(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var ry;function oy(t){return ry=t,[cy]}let ay=class{constructor(t,e,i,n){return this._construct(t,e,i,n)}_construct(t,e,i,n){this.view=e,this.span=i,this.visibleValue=t,this.args=Lm(t.str,/\(\*,\*\)/gm);const s=this;this.epilog={offset:0,string:""},this.prolog={offset:0,string:""};const r=this.args[1].body.slice(3,-3),o=KS.DecompressDecode(r),a=KS.toArray(o.parts[0]);this.data=a;let l={global:{call:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})),element:i,origin:s},element:i};this.env=l,interpretate(a,l).then((()=>{if(l.options?.Head&&(s.prolog.offset=l.options.Head.length+1,s.prolog.string=l.options.Head+"[",s.epilog.offset=1,s.epilog.string="]"),l.options?.Event&&(console.warn("Event listeners are enabled!"),s.events=l.options.Event),l.options?.String){s.prolog.offset=1,s.prolog.string='"',s.epilog.offset=1,s.epilog.string='"',l.options?.HeadString&&(s.prolog.string=l.options.HeadString,s.prolog.offset=s.prolog.string.length),l.options?.TailString&&(s.epilog.string=l.options.TailString,s.epilog.offset=s.epilog.string.length),s.editor={destroy:()=>{console.log("Nothing to destroy, this is just a text field.")}};const t=document.createElement("span");return this.aa,t.onkeydown=function(t){13===t.keyCode&&t.preventDefault()},t.contentEditable="plaintext-only",t.innerText=s.args[0].body.slice(1+s.prolog.offset,-1-s.epilog.offset),t.addEventListener("input",console.log),t.addEventListener("input",(()=>{console.log("Update"),console.log(t.innerText),this.applyChanges(t.innerText)})),l.global.element.appendChild(t),void(s.events&&server.kernel.emitt(s.events,"Null","Mounted"))}s.editor=ry({doc:s.args[0].body.slice(1+s.prolog.offset,-1-s.epilog.offset),parent:l.global.element,update:t=>this.applyChanges(t),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return console.log(s.visibleValue.pos),e.dispatch({selection:{anchor:s.visibleValue.pos}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,i){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return console.log(s.visibleValue.pos),e.dispatch({selection:{anchor:s.visibleValue.pos+s.visibleValue.length}}),e.focus(),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}}])]}),s.events&&server.kernel.emitt(s.events,"Null","Mounted")}))}applyChanges(t,e){const i=this.args,n=this.visibleValue.argsPos,s="("+this.prolog.string+t+this.epilog.string+")",r={from:n+i[0].from,to:n+i[0].from+i[0].length,insert:s};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(s,this.visibleValue.str.substring(i[0].from+i[0].length));const o=s.length-i[0].length;i[0].length=s.length,this.visibleValue.length=this.visibleValue.length+o,this.view.dispatch({changes:r})}update(t){if(this.visibleValue.str!=t.str)return console.warn("Out of sync"),console.log("recreating InstanceWidget"),this.destroy(),this.span.replaceChildren(),void this._construct(t,this.view,this.span);this.visibleValue.pos=t.pos,this.visibleValue.argsPos=t.argsPos}destroy(){if(console.warn("destroy Instance of Widget"),console.log(this),this.env.global.stack)for(const t of Object.values(this.env.global.stack))t.dispose();this.editor.destroy(),this.events&&server.kernel.emitt(this.events,"Null","Destroy"),delete this.data}},ly=class extends ei{constructor(t,e,i){super(),this.view=i,this.visibleValue=t,this.reference=e}eq(t){return!1}updateDOM(t,e){return console.log("update widget DOM"),this.DOMElement=t,t.EditorWidget.update(this.visibleValue),!0}toDOM(t){console.log("Create a new one!");let e=document.createElement("span");e.classList.add("subscript-tail"),e.EditorWidget=new ay(this.visibleValue,t,e,[]);const i=this;return this.reference.push({destroy:()=>{i.destroy(e)}}),this.DOMElement=e,e}skipPosition(t,e,i){if(e.from!=e.to||i)return t;if(t.from-e.from>0)this.DOMElement.EditorWidget.editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.editor.focus();else{const t=this.DOMElement.EditorWidget.editor;t.dispatch({selection:{anchor:t.state.doc.length}}),t.focus()}return e}ignoreEvent(){return!0}destroy(t){t.EditorWidget.destroy()}};const hy=(t,e)=>new Bm({tag:"BB",decoration:i=>ni.replace({widget:new ly(i,t,e)})}),cy=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=hy(this.disposable,t).createDeco(t)}update(t){this.placeholder=hy(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});var uy;function dy(t){return uy=t,[gy]}class fy{constructor(t,e,i,n){return this._construct(t,e,i,n)}_construct(t,e,i,n){this.view=e,this.visibleValue=t,this.args=Lm(t.str,/\(\*\|\*\)/gm);const s=this,r=Array.from({length:Math.ceil((s.args.length-3)/2)},((t,e)=>2*e+1));s.indexes=r;const o=[];this.span=i,this.spans=o;for(let t=0;t{c.options?.Event&&(console.warn("Event listeners are enabled!"),s.events=c.options.Event),s.editors=r.map(((t,i)=>uy({doc:s.args[t].body,parent:o[i],update:e=>this.applyChanges(e,t),eval:()=>{e.viewState.state.config.eval()},extensions:[Ys.of([{key:"ArrowLeft",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return i>0?s.editors[i-1].focus():(e.dispatch({selection:{anchor:s.visibleValue.pos}}),e.focus()),void(t.editorLastCursor=void 0);t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,n){if(t?.editorLastCursor===t.state.selection.ranges[0].to)return it.destroy())),this.events&&server.kernel.emitt(this.events,"Null","Destroy"),delete this.data}}class py extends ei{constructor(t,e,i){super(),this.view=i,this.visibleValue=t,this.reference=e}eq(t){return!1}updateDOM(t,e){return this.DOMElement=t,console.log("update widget DOM"),t.EditorWidget.update(this.visibleValue),!0}toDOM(t){console.log("Create a new one!");let e=document.createElement("span");e.classList.add("inline-flex"),e.EditorWidget=new fy(this.visibleValue,t,e,[]);const i=this;return this.DOMElement=e,this.reference.push({destroy:()=>{i.destroy(e)}}),e}skipPosition(t,e,i){if(e.from!=e.to||i)return t;const n=this.DOMElement.EditorWidget.editors;return t.from-e.from<0?(n[n.length-1].dispatch({selection:{anchor:n[n.length-1].state.doc.length}}),n[n.length-1].focus()):(n[0].dispatch({selection:{anchor:0}}),n[0].focus()),e}ignoreEvent(){return!0}destroy(t){t.EditorWidget.destroy()}}const Oy=(t,e)=>new Bm({tag:"TB",decoration:i=>ni.replace({widget:new py(i,t,e)})}),gy=_i.fromClass(class{constructor(t){this.disposable=[],this.placeholder=Oy(this.disposable,t).createDeco(t)}update(t){this.placeholder=Oy(this.disposable,t).updateDeco(t,this.placeholder)}destroy(){this.disposable.forEach((t=>{t.destroy()}))}},{decorations:t=>t.placeholder,provide:t=>Ts.atomicRanges.of((e=>{var i;return(null===(i=e.plugin(t))||void 0===i?void 0:i.placeholder)||ni.none}))});const my=_i.fromClass(class{decorations=ni.none;constructor(t){this.view=t,this.recompute()}recompute(t){let e,i,n=[];for(let{from:t,to:e}of this.view.visibleRanges)this.getDecorationsFor(t,e,n);this.decorations=ni.set(n,!0),this.decorations=this.decorations.update({filter:(n,s)=>!(n>e&&s=e&&s.selection.main.head<=i)return!0;if(!n&&s.selection.main.head>e&&s.selection.main.headt.decorations});class by extends ei{constructor(t,e){super(),this.rawValue=t,this.visibleValue=e}eq(t){return this.rawValue===t.rawValue}toDOM(){let t=document.createElement("div");t.classList.add("cell-type-widget");const e=this.rawValue.split(" "),i=e[0].split(".");if(console.log(i),t.classList.add("cell-type-"+i[1].trim()),t.innerText=e[0].trim(),e.length>1){const n=e.slice(1),s=document.createElement("span");return s.appendChild(t),n.forEach((t=>{const e=document.createElement("span");e.innerText=t,e.classList.add("cell-type-"+i[1].trim()+"-"+t.split("=")[0]),s.appendChild(e)})),s}return t}ignoreEvent(){return!1}}const wy=new F,vy=new F,Sy=[],yy=yl.define([{tag:ya.meta,color:"var(--editor-key-meta)"},{tag:ya.link,textDecoration:"underline"},{tag:ya.heading,textDecoration:"underline",fontWeight:"bold"},{tag:ya.emphasis,fontStyle:"italic"},{tag:ya.strong,fontWeight:"bold"},{tag:ya.strikethrough,textDecoration:"line-through"},{tag:ya.keyword,color:"var(--editor-key-keyword)"},{tag:[ya.atom,ya.bool,ya.url,ya.contentSeparator,ya.labelName],color:"var(--editor-key-atom)"},{tag:[ya.literal,ya.inserted],color:"var(--editor-key-literal)"},{tag:[ya.string,ya.deleted],color:"var(--editor-key-string)"},{tag:[ya.regexp,ya.escape,ya.special(ya.string)],color:"var(--editor-key-escape)"},{tag:ya.definition(ya.variableName),color:"var(--editor-key-variable)"},{tag:ya.local(ya.variableName),color:"var(--editor-local-variable)"},{tag:[ya.typeName,ya.namespace],color:"var(--editor-key-type)"},{tag:ya.className,color:"var(--editor-key-class)"},{tag:[ya.special(ya.variableName),ya.macroName],color:"var(--editor-special-variable)"},{tag:ya.definition(ya.propertyName),color:"var(--editor-key-property)"},{tag:ya.comment,color:"var(--editor-key-comment)"},{tag:ya.invalid,color:"var(--editor-key-invalid)"}]),xy={data:[],extend:t=>{xy.data.push(...t),Qm.reBuild(xy.data)},replaceAll:t=>{xy.data=t,Qm.reBuild(xy.data)}},ky=Gl.define({name:"spreadsheet",startState:function(){return{stringType:null,stack:[]}},token:function(t,e){if(t){switch(0===e.stack.length&&('"'!=t.peek()&&"'"!=t.peek()||(e.stringType=t.peek(),t.next(),e.stack.unshift("string"))),e.stack[0]){case"string":for(;"string"===e.stack[0]&&!t.eol();)t.peek()===e.stringType?(t.next(),e.stack.shift()):"\\"===t.peek()?(t.next(),t.next()):t.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===e.stack[0]&&!t.eol();)t.match(/^[^\]\\]+/)||t.match(/^\\./)||e.stack.shift();return"operator"}var i=t.peek();switch(i){case"[":return t.next(),e.stack.unshift("characterClass"),"bracket";case":":return t.next(),"operator";case"\\":return t.match(/\\[a-z]+/)?"string.special":(t.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return t.next(),"atom";case"$":return t.next(),"builtin"}return t.match(/\d+/)?t.match(/^\w+/)?"error":"number":t.match(/^[a-zA-Z_]\w*/)?t.match(/(?=[\(.])/,!1)?"keyword":"variable":-1!=["[","]","(",")","{","}"].indexOf(i)?(t.next(),"bracket"):(t.eatSpace()||t.next(),null)}}}),Qy=new RegExp(/^[\w]*\.[\w]+/);function $y(t){const e=Qy.exec(t),i=Object.values(window.SupportedLanguages);for(let t=0;t{if(!t.docChanged)return null;let e=$y(t.newDoc.line(1).text);if(e.legacy){const i=t.startState.facet(Wa);if(i){if(i.name==e.name)return null}else if(t.startState.facet(Py)==e.name)return null;return console.log("switching... to "+e.name),{effects:wy.reconfigure(e.plugins)}}return e.name===t.startState.facet(Wa).name?null:(console.log("switching... to "+e.name),{effects:wy.reconfigure(e.plugins)})}));let _y,Xy=null;const Zy=t=>{const e=t||_y;return e&&e.viewState?(console.log(),$y(e.state.doc.line(1).text).name):""},Ay=t=>{const e=t||_y;if(!e)return"";if(!e.viewState)return"";const i=e.viewState.state.selection.ranges;if(!i.length)return!1;const n=i[0];return[n.from,n.to]},Ty=t=>{const e=t||_y;return e&&e.viewState?e.state.doc.toString():""},Ry=t=>{const e=t||_y;if(!e)return"";if(!e.viewState)return"";const i=e.viewState.state.selection.ranges;if(!i.length)return"";const n=i[0];return console.log("yoko"),console.log(n),console.log(e.state.doc.toString().slice(n.from,n.to)),console.log("processing"),e.state.doc.toString().slice(n.from,n.to)},Ey=(t,e)=>{const i=e||_y;if(!i)return;if(!i.viewState)return;const n=i.viewState.state.selection.ranges;if(!n.length)return;const s=n[0];console.log("result"),console.log(t),i.dispatch({changes:{...s,insert:t}})},Vy=()=>_y,My=(t,e)=>{const i=e||_y;i&&i.viewState&&(console.log("result"),console.log(t),i.dispatch({changes:{from:0,to:i.viewState.state.doc.length,insert:t}}))};Xy=t=>{let e=new Ts({doc:t.doc,extensions:[Ys.of([{key:"Enter",preventDefault:!0,run:function(t,e){return!0}}]),Ys.of([{key:"Shift-Enter",preventDefault:!0,run:function(e,i){return t.eval(),!0}}]),t.extensions||[],zd,qy,Qm.of(xy),jm(Xy),Km(Xy),rb(Xy),ub(Xy),mb(Xy),ty(),oy(Xy),dy(Xy),Wl(),Xm,Sy,Ts.updateListener.of((e=>{e.docChanged&&t.update(e.state.doc.toString()),e.selectionSet&&(_y=e.view)}))],parent:t.parent});return e.viewState.state.config.eval=t.eval,e},Xy.state=t=>{let e=xt.create({doc:t.doc,extensions:[Ys.of([{key:"Enter",preventDefault:!0,run:function(t,e){return!0}}]),Ys.of([{key:"Shift-Enter",preventDefault:!0,run:function(e,i){return t.eval(),!0}}]),t.extensions||[],zd,qy,Qm.of(xy),jm(Xy),Km(Xy),rb(Xy),ub(Xy),mb(Xy),ty(),oy(Xy),dy(Xy),Wl(),Xm,Sy,Ts.updateListener.of((e=>{e.docChanged&&t.update(e.state.doc.toString()),e.selectionSet&&(_y=e.view)}))]});return e.config.eval=t.eval,e};const Dy={transaction:(t,e,i,n)=>{if(console.log(e.dom.ocellref),e.dom.ocellref){const t=e.dom.ocellref.origin.channel;server._emitt(t,`<|"Channel"->"${i}", "Length"->${n}, "CellType"->"wl"|>`,'Forwarded["CM:DropEvent"]')}},file:(t,e,i,n,s)=>{console.log(e.dom.ocellref),e.dom.ocellref&&server.emitt(i,`<|"Data"->"${s}", "Name"->"${n}"|>`,"File")}},Wy={transaction:(t,e,i,n)=>{if(console.log(e.dom.ocellref),e.dom.ocellref){const t=e.dom.ocellref.origin.channel;server._emitt(t,`<|"Channel"->"${i}", "Length"->${n}, "CellType"->"wl"|>`,'Forwarded["CM:PasteEvent"]')}},file:(t,e,i,n,s)=>{console.log(e.dom.ocellref),e.dom.ocellref&&server.emitt(i,`<|"Data"->"${s}", "Name"->"${n}"|>`,"File")}},Uy=[Qm.of(xy),jm(Xy),Km(Xy),rb(Xy),ub(Xy),mb(Xy),ty(),oy(Xy),dy(Xy),Wl(),Xm,Sy,Cm(Dy,Wy)];let Yy=Ts.theme({"&.cm-focused":{outline:"1px dashed var(--editor-outline)",background:"inherit"},".cm-line":{padding:0,"padding-left":"2px","align-items":"center"},".cm-activeLine":{"background-color":"transparent"}}),qy=Ts.theme({"&.cm-focused":{outline:"1px dashed var(--editor-outline)",background:"inherit"},".cm-line":{padding:0,"padding-left":"2px","align-items":"center"},".cm-activeLine":{"background-color":"transparent"},".cm-scroller":{"line-height":"inherit","overflow-x":"overlay","overflow-y":"overlay","align-items":"initial"},".cm-content":{padding:"0px 0"},".rainbow-bracket-red":{color:"var(--editor-bracket-1)"},".rainbow-bracket-orange":{color:"var(--editor-bracket-2)"},".rainbow-bracket-yellow":{color:"var(--editor-bracket-3)"},".rainbow-bracket-green":{color:"var(--editor-bracket-4)"},".rainbow-bracket-blue":{color:"var(--editor-bracket-5)"},".rainbow-bracket-indigo":{color:"var(--editor-bracket-6)"},".rainbow-bracket-violet":{color:"var(--editor-bracket-7)"},".rainbow-bracket-red > span":{color:"var(--editor-bracket-1-a)"},".rainbow-bracket-orange > span":{color:"var(--editor-bracket-2-a)"},".rainbow-bracket-yellow > span":{color:"var(--editor-bracket-3-a)"},".rainbow-bracket-green > span":{color:"var(--editor-bracket-4-a)"},".rainbow-bracket-blue > span":{color:"var(--editor-bracket-5-a)"},".rainbow-bracket-indigo > span":{color:"var(--editor-bracket-6-a)"},".rainbow-bracket-violet > span":{color:"var(--editor-bracket-7-a)"}}),Ly=!1;const zy=[()=>vr(),()=>yh(),()=>ir(),()=>dr(),()=>nl(),()=>Wl(),()=>Ts.lineWrapping,()=>Yd(),()=>$l(yy,{fallback:!1}),()=>eu()],Iy={},By=[()=>vr(),()=>yh(),()=>ir(),()=>dr(),t=>jy.of(t),()=>Iy.gutter?function(t={}){return[eo.of(t),jr(),so]}():[],()=>nl(),()=>Wl(),()=>Ts.lineWrapping,()=>Yd(),()=>$l(yy,{fallback:!1}),()=>eu(),()=>my,()=>function(t){return _i.fromClass(class{constructor(e){this.view=e,this.placeholder=ni.set([ni.widget({widget:new kr(t),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?ni.none:this.placeholder}},{decorations:t=>t.decorations})}("Type WL Expression / .md / .js"),()=>xt.allowMultipleSelections.of(!0),(t,e)=>wy.of(e),()=>vy.of(xt.readOnly.of(!1)),()=>Cy,()=>{return t?[au.of(t),qu]:qu;var t},(t,e)=>Ys.of([Mc,{key:"Backspace",run:function(e,i){if(0===e.state.doc.length)return t.origin.remove(),!0}},{key:"ArrowLeft",run:function(t,e){t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(t,e){t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return console.log("focus prev"),t.origin.focusPrev(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,i){if(e?.editorLastCursor===e.state.selection.ranges[0].to)return console.log("focus next"),t.origin.focusNext(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"Shift-Enter",preventDefault:!0,run:function(e,i){console.log(e.state.doc.toString()),t.origin.eval(e.state.doc.toString())}},...Vc,...Wh,...Eu]),(t,e)=>Ts.updateListener.of((e=>{e.docChanged&&t.origin.save(encodeURIComponent(e.state.doc.toString())),e.selectionSet&&(_y=e.view)})),()=>Yy];const jy=E.define();function Ny(t){return t.replace(/\\\\:[\da-f]{4}/gi,(function(t){return String.fromCharCode(parseInt(t.replace(/\\\\:/g,""),16))})).replaceAll("\\:F74E","I").replace(/\\:[\da-f]{4}/gi,(function(t){return String.fromCharCode(parseInt(t.replace(/\\:/g,""),16))}))}function Gy(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(t=>(+t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+t/4).toString(16)))}core.ReadOnly=()=>"ReadOnly",core.EditorView=async(t,e)=>{let i=await interpretate(t[0],e);i=Ny(i),console.log("UNICODE Disaster");const n=await core._getRules(t,e);let s=()=>{},r=()=>{},o=i;const a=[];n.ReadOnly&&a.push(xt.readOnly.of(!0)),n.ForceUpdate&&(e.local.forceUpdate=n.ForceUpdate),n.Event&&(r=t=>{o=t,console.log("editor view emitt data: "+t),server.kernel.emitt(n.Event,'"'+t.replaceAll('\\"','\\\\"').replaceAll('"','\\"')+'"',"Input")},s=()=>{server.kernel.emitt(n.Event,'"'+o.replaceAll('\\"','\\\\"').replaceAll('"','\\"')+'"',"Evaluate")}),e.local?e.local.editor=Xy({doc:i,parent:e.element,eval:s,update:r,extensions:a}):Xy({doc:i,parent:e.element,eval:s,update:r,extensions:a}),e.element.style.verticalAlign="inherit"},core.StripOnInput=async()=>{},core.EditorView.update=async(t,e)=>{if(!e.local.editor)return;const i=Ny(await interpretate(t[0],e));console.log("editor view: dispatch"),e.local.forceUpdate,e.local.editor.dispatch({changes:{from:0,to:e.local.editor.state.doc.length,insert:i}})},core.EditorView.destroy=async(t,e)=>{await interpretate(t[0],e),e.local&&e.local.editor&&e.local.editor.destroy()},core.EditorView.virtual=!0,core.PreviewCell=(t,e)=>{},window.SupportedLanguages.push({check:t=>null===t,legacy:!0,plugins:Uy,name:"mathematica"}),window.SupportedLanguages.push({check:t=>null!=t[0].match(/\w+\.(wl|wls)$/),plugins:Uy,legacy:!0,name:"mathematica"}),window.SupportedCells.codemirror={view:class{origin={};editor={};trash=[];forceFocusNext(){Ly=!0}focus(t){t>0?this.editor.dispatch({selection:{anchor:0}}):t<0&&this.editor.dispatch({selection:{anchor:this.editor.state.doc.length}}),this.editor.focus()}setContent(t){if(console.warn("content mutation!"),!this.editor.viewState)return;const e=this.editor;console.log("result"),console.log(t),this.editor.dispatch({changes:{from:0,to:e.viewState.state.doc.length,insert:t}})}addDisposable(t){this.trash.push(t)}dispose(){this.editor.destroy()}readOnly(t){this.editor.dispatch({effects:vy.reconfigure(xt.readOnly.of(t))})}constructor(t,e){this.origin=t;const i=this.origin,n=$y(e).plugins,s=this;this.origin.element.ocellref=s;const r=new Ts({doc:(o=e,o.replace(/\\:[\da-f]{4}/gi,(function(t){return String.fromCharCode(parseInt(t.replace(/\\:/g,""),16))}))),extensions:By.map((t=>t(s,n))),parent:this.origin.element});var o;return this.editor=r,this.editor.dom.ocellref=s,this.editor.viewState.state.config.eval=()=>{i.eval(this.editor.state.doc.toString())},Ly&&r.focus(),Ly=!1,this}},context:{EditorAutocomplete:xy,javascriptLanguage:qf,javascript:Nf,markdownLanguage:rm,markdown:function(t={}){let{codeLanguages:e,defaultCodeLanguage:i,addKeymap:n=!0,base:{parser:s}=sm}=t;if(!(s instanceof Zp))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let r,o=t.extensions?[t.extensions]:[],a=[dm.support];i instanceof Ua?(a.push(i.support),r=i.language):i&&(r=i);let l=e||r?(h=e,c=r,t=>{if(t&&h){let e=null;if(t=/\S*/.exec(t)[0],e="function"==typeof h?h(t):Ya.matchLanguageName(h,t,!0),e instanceof Ya)return e.support?e.support.language.parser:Ta.getSkippingParser(e.load());if(e)return e.parser}return c?c.parser:null}):void 0;var h,c;return o.push(function(t){let{codeParser:e,htmlParser:i}=t,n=Do(((t,n)=>{let s=t.type.id;if(!e||s!=Kf.CodeBlock&&s!=Kf.FencedCode){if(i&&(s==Kf.HTMLBlock||s==Kf.HTMLTag))return{parser:i,overlay:rO(t.node,t.from,t.to)}}else{let i="";if(s==Kf.FencedCode){let e=t.node.getChild(Kf.CodeInfo);e&&(i=n.read(e.from,e.to))}let r=e(i);if(r)return{parser:r,overlay:t=>t.type.id==Kf.CodeText}}return null}));return{wrap:n}}({codeParser:l,htmlParser:dm.language.parser})),n&&a.push(N.high(Ys.of(um))),new Ua(nm(s.configure(o)),a)},htmlLanguage:jg,html:Ng,cssLanguage:kg,css:Qg,EditorView:Ts,EditorState:xt,highlightSpecialChars:vr,syntaxHighlighting:$l,defaultHighlightStyle:yy,editorCustomTheme:Yy,foldGutter:function(t={}){let e=Object.assign(Object.assign({},wl),t),i=new vl(e,!0),n=new vl(e,!1),s=_i.fromClass(class{constructor(t){this.from=t.viewport.from,this.markers=this.buildMarkers(t)}update(t){(t.docChanged||t.viewportChanged||t.startState.facet(Wa)!=t.state.facet(Wa)||t.startState.field(dl,!1)!=t.state.field(dl,!1)||Xa(t.startState)!=Xa(t.state)||e.foldingChanged(t))&&(this.markers=this.buildMarkers(t.view))}buildMarkers(t){let e=new Xt;for(let s of t.viewportLineBlocks){let r=fl(t.state,s.from,s.to)?n:ll(t.state,s.from,s.to)?i:null;r&&e.add(s.from,s.from,r)}return e.finish()}}),{domEventHandlers:r}=e;return[s,Ir({class:"cm-foldGutter",markers(t){var e;return(null===(e=t.plugin(s))||void 0===e?void 0:e.markers)||_t.empty},initialSpacer:()=>new vl(e,!1),domEventHandlers:Object.assign(Object.assign({},r),{click:(t,e,i)=>{if(r.click&&r.click(t,e,i))return!0;let n=fl(t.state,e.from,e.to);if(n)return t.dispatch({effects:ul.of(n)}),!0;let s=ll(t.state,e.from,e.to);return!!s&&(t.dispatch({effects:cl.of(s)}),!0)}})}),ml()]},Facet:E,Compartment:F,mathematicaPlugins:Uy,legacyLangNameFacet:Py,DropPasteHandlers:Cm,EditorExtensionsMinimal:zy,EditorParameters:Iy,EditorExtensions:By,StateField:q,Decoration:ni,ViewPlugin:_i,WidgetType:ei,originFacet:jy,MatchDecorator:pr}},window.OfflineMode&&Sy.push(xt.readOnly.of(!0)),core.CellView=async(t,e)=>{const i=await core._getRules(t,e);i.Display||(i.Display="codemirror");const n=await interpretate(t[0],e),s={element:e.element,uid:Gy()};i.Style&&(e.element.style=i.Style),i.Class&&e.element.classList.add(...i.Class.split(" ")),i.ImageSize&&(Array.isArray(i.ImageSize)?(e.element.style.width=i.ImageSize[0]+"px",e.element.style.height=i.ImageSize[1]+"px"):e.element.style.width=i.ImageSize+"px"),new window.SupportedCells[i.Display].view(s,n)};const Fy={};core.FrontEditorSelected=async(t,e)=>{console.log("check");const i=await interpretate(t[0],e),n=await core._getRules(t,e);let s;switch(n.Editor&&(s=Fy[n.Editor],console.log("Editor"),console.log(n.Editor),console.log(s)),i){case"Get":return Ry(s);case"Set":let i=await interpretate(t[1],e);Ey(i,s);break;case"GetDoc":return Ty(s);case"SetDoc":let n=await interpretate(t[1],e);My(n,s);break;case"Cursor":return Ay(s);case"Type":return Zy(s);case"Editor":const r=Gy();return Fy[r]=Vy(),r}}; diff --git a/github-pages/boxes.372a011a.js b/github-pages/boxes.372a011a.js new file mode 100644 index 0000000..31e644b --- /dev/null +++ b/github-pages/boxes.372a011a.js @@ -0,0 +1,5 @@ +parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;ce.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;--a){var o=this.tryEntries[a],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(c&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),Z(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;Z(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:H(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}function m(e,t,n,r,a,o,i){try{var c=e[o](i),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(r,a)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function i(e){m(o,r,a,i,c,"next",e)}function c(e){m(o,r,a,i,c,"throw",e)}i(void 0)})}}var x={name:"WebObjects/Boxes"};interpretate.contextExpand(x),x.NumberMarks=function(){return"NumberMarks"},x.ShowStringCharacters=function(){return"ShowStringCharacters"},x.Background=function(){return"Background"},x.RowBox=function(){var e=h(f().mark(function e(t,n){return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:console.log(t);case 1:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.PaneBox=function(){var e=h(f().mark(function e(t,n){var a,o,i,s;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(a=n.element.classList).add.apply(a,c("sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs flex flex-row".split(" "))),e.next=3,core._getRules(t,r(r({},n),{},{hold:!0}));case 3:if(!(o=e.sent).ImageSize){e.next=9;break}return e.next=7,interpretate(o.ImageSize,n);case 7:(i=e.sent)instanceof Object==!0?(n.element.style.width=i[0]+"px",n.element.style.height=i[1]+"px"):n.element.style.maxWidth=i+"px";case 9:if(!o.Event){e.next=14;break}return e.next=12,interpretate(o.Event,n);case 12:s=e.sent,n.element.addEventListener("click",function(){console.log("clicked!"),server.kernel.emitt(s,"True","Click")});case 14:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.RootBox=function(){var e=h(f().mark(function e(t,n){var r,a,o,i;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,interpretate(t[0],n);case 2:a=e.sent,(r=n.element.classList).add.apply(r,c("sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs flex flex-row items-center".split(" "))),(o=document.createElement("span")).innerHTML='\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n',i=document.createElement("span"),Complex.isComplex(a)?i.innerText="".concat(a.re," + i ").concat(a.im):i.innerText=a,i.classList.add("px-1"),n.element.appendChild(o),n.element.appendChild(i);case 11:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.TransposeBox=function(){var e=h(f().mark(function e(t,n){var r,a;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=document.createElement("sup"),e.next=3,interpretate(t[0],n);case 3:r.innerHTML=e.sent,a=document.createElement("span"),n.global.element=a,n.element.style.display="inline-flex",n.element.style.alignItems="baseline",n.element.appendChild(a),n.element.appendChild(r);case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.DerivativeBox=function(){var e=h(f().mark(function e(t,n){var r,a,o;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=document.createElement("sup"),e.next=3,interpretate(t[0],n);case 3:a=e.sent,r.innerHTML="("+a.join(",")+")",o=document.createElement("span"),n.global.element=o,n.element.style.display="inline-flex",n.element.style.alignItems="baseline",n.element.appendChild(o),n.element.appendChild(r);case 11:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.PiecewiseBox=function(){var e=h(f().mark(function e(t,n){var r,a,o,i,c;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(r=n.children,a=[],o=0;o',!a){e.next=33;break}if(s!=r.length-1){e.next=21;break}return e.abrupt("continue",33);case 21:(u=document.createElement("div")).classList.add("flex","flex-col","h-full","justify-between","mr-1"),a[s][1].classList.add("text-xs"),u.appendChild(a[s][1]),(p=document.createElement("span")).classList.add("text-xs","flex","flex-row"),p.appendChild(r[s]),p.appendChild(document.createTextNode("=")),p.appendChild(a[s][0]),u.appendChild(l),u.appendChild(p),c.appendChild(u);case 33:++s,e.next=15;break;case 36:return(d=document.createElement("div")).classList.add("flex","flex-col"),(m=document.createElement("div")).classList.add("flex","flex-row"),a?((h=a[a.length-1])[0].classList.add("text-xs"),h[1].classList.add("text-xs"),h[1].classList.add("text-xs"),d.appendChild(h[1]),(x=document.createElement("div")).innerHTML='',(y=document.createElement("span")).classList.add("text-xs","flex","flex-row"),y.appendChild(r[a.length-1]),y.appendChild(document.createTextNode("=")),y.appendChild(h[0]),d.appendChild(x),d.appendChild(y)):d.appendChild(m),c.appendChild(d),c.appendChild(n.children[0]),e.abrupt("return");case 44:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.IntegrateBox=function(){var e=h(f().mark(function e(t,n){var r,a,o,i,c,s,l,u,p,d,m,h,x,y;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,interpretate(t[0],n);case 2:return r=e.sent,e.next=5,interpretate(t[1],n);case 5:if(a=e.sent,o=r,a)for(i=n.children.slice(1),r=[],a=[],c=0;c\n\n\n\n\n',s.appendChild(u),!a){e.next=26;break}if(l!=r.length-1){e.next=19;break}return e.abrupt("continue",26);case 19:(p=document.createElement("div")).classList.add("flex","flex-col","h-full","justify-between","mr-1"),a[l][0].classList.add("text-xs","-ml-2"),a[l][1].classList.add("text-xs"),p.appendChild(a[l][1]),p.appendChild(a[l][0]),s.appendChild(p);case 26:++l,e.next=12;break;case 29:for((d=document.createElement("div")).classList.add("flex","flex-col"),(m=document.createElement("div")).classList.add("flex","flex-row"),a?((h=a[a.length-1])[0].classList.add("text-xs","-ml-2"),h[1].classList.add("text-xs"),d.appendChild(h[1]),d.appendChild(m),d.appendChild(h[0])):d.appendChild(m),s.appendChild(d),m.appendChild(n.children[0]),x=0;x \n '.concat(o.Label,""):n.element.innerHTML='\n \n '.concat(a," bytes");case 9:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.IconizeBox=function(){var e=h(f().mark(function e(t,n){var r,a,o;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n.context=x,(r=n.element.classList).add.apply(r,c("sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs".split(" "))),e.next=4,interpretate(t[0],n);case 4:return a=e.sent,e.next=7,core._getRules(t,n);case 7:(o=e.sent).Label&&"None"!=o.Label?n.element.innerHTML='\n \n \n \n \n \n '.concat(o.Label,""):n.element.innerHTML='\n \n \n \n \n \n '.concat(a," bytes");case 9:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.Italic=function(){return"Italic"},x.Bold=function(){return"Bold"},x.Underlined=function(){return"Underlined"},x.FontSize=function(){return"FontSize"},x.FontFamily=function(){return"FontFamily"},x.StringBox=function(){var e=h(f().mark(function e(t,n){var r,a,o,i;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n.context=x,console.log("string style box"),console.log(t),t.sort(function(e){return Array.isArray(e)&&"Rule"==e[0]?1:-1}),e.next=6,core._getRules(t,n);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,n.element.style.fontFamily="system-ui","Background"in r&&(n.element.style.backgroundColor=r.Background),"FontSize"in r&&(n.element.style.fontSize=String(r.FontSize)+"pt"),"FontFamily"in r&&(n.element.style.fontFamily=r.FontFamily.toLowerCase()),a=[],o=0;case 16:if(!(o2&&void 0!==arguments[2]&&arguments[2],a=document.createTextNode(e),o=document.createElement("span");o.classList.add("ml-1"),r&&o.classList.add("mr-1"),g(t)?o.appendChild(t):o.innerText=t,n.element.appendChild(a),n.element.appendChild(o)},Array.isArray(o)?o[0].forEach(function(e,t){t===o[0].length-1?s(e,i[0][t],!1):s(e,i[0][t],!0)}):s(o,i);case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.ShowStringCharacters=function(){return"ShowStringCharacters"},x.ShowSpecialCharacters=function(){return"ShowSpecialCharacters"},x.Row=function(){var e=h(f().mark(function e(t,n){return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:console.warn("RowBox is not implemented properly for BoxForm`ArrangedSummaryBox!!!"),t.forEach(function(e){interpretate(e,n)});case 2:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x["BoxForm`ArrangedSummaryBox"]=function(){var e=h(f().mark(function e(t,n){var a,o,i,s,l,u,p,d;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n.element.style.verticalAlign="middle",(a=n.element.classList).add.apply(a,c("sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs flex flex-row".split(" "))),s=document.createElement("span"),(o=s.classList).add.apply(o,c("text-gray-500 inline-block mt-auto mb-auto pr-1".split(" "))),n.element.appendChild(s),l=document.createElement("table"),(i=l.classList).add.apply(i,c("pl-1 table-auto".split(" "))),u=document.createElement("tbody"),l.appendChild(u),n.element.appendChild(l),console.log(s.getBoundingClientRect()),p=35*window.devicePixelRatio,interpretate(t[0],r(r({},n),{},{element:s,global:n.global,imageSize:[p,p]})),e.next=15,interpretate(t[1],r(r({},n),{},{context:x,element:u,static:!0,local:!1}));case 15:n.options.DataOnKernel&&((d=document.createElement("span")).innerText="Data is on Kernel",d.classList.add("text-gray-400"),u.appendChild(d));case 16:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(); +},{}]},{},["c2T0"], null) +//# sourceMappingURL=https://jerryi.github.io/wljs-editor/boxes.372a011a.js.map \ No newline at end of file diff --git a/github-pages/boxes.372a011a.js.map b/github-pages/boxes.372a011a.js.map new file mode 100644 index 0000000..3e5fc8f --- /dev/null +++ b/github-pages/boxes.372a011a.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/boxes.js"],"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","record","result","_typeof","__await","then","unwrapped","error","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","boxes","interpretate","contextExpand","NumberMarks","ShowStringCharacters","Background","RowBox","_ref","_callee","env","_callee$","_context","console","log","_x","_x2","PaneBox","_ref2","_callee2","_env$element$classLis","opts","size","ev","_callee2$","_context2","element","classList","add","_toConsumableArray","split","core","_getRules","_objectSpread","hold","ImageSize","style","width","height","maxWidth","Event","addEventListener","server","kernel","emitt","_x3","_x4","RootBox","_ref3","_callee3","_env$element$classLis2","approx","logo","a","_callee3$","_context3","document","createElement","innerHTML","Complex","isComplex","innerText","concat","re","im","appendChild","_x5","_x6","TransposeBox","_ref4","_callee4","post","editor","_callee4$","_context4","global","display","alignItems","_x7","_x8","DerivativeBox","_ref5","_callee5","powers","_callee5$","_context5","join","_x9","_x10","PiecewiseBox","_ref6","_callee6","taken","bonds","outerDiv","table","_callee6$","_context6","children","paddingLeft","borderLeft","borderBottomLeftRadius","borderTopLeftRadius","pair","p","cell1","cell2","_x11","_x12","SumBox","_ref7","_callee7","vars","_i","svgContainer","_flexColDiv","wrapper","flexColDiv","middleDiv","lastBound","_svgContainer","_wrapper","_callee7$","_context7","createTextNode","_x13","_x14","IntegrateBox","_ref8","_callee8","number","_i2","_flexColDiv2","_i3","sign","_callee8$","_context8","_x15","_x16","_ref9","_callee9","changes","_callee9$","_context9","EditorWidget","getDoc","applyChanges","_x17","_x18","_ref10","_callee10","_callee10$","_context10","applyOuterChanges","_x19","_x20","FrameBox","_ref11","_callee11","options","_callee11$","_context11","t0","backgroundColor","_x21","_x22","IconizeFileBox","_ref12","_callee12","_env$element$classLis3","count","_callee12$","_context12","Label","_x23","_x24","IconizeBox","_ref13","_callee13","_env$element$classLis4","_callee13$","_context13","_x25","_x26","Italic","Bold","Underlined","FontSize","FontFamily","StringBox","_ref14","_callee14","data","_callee14$","_context14","sort","el","Array","isArray","fontFamily","fontSize","String","toLowerCase","toLocaleLowerCase","color","fontStyle","fontWeight","textDecoration","_x27","_x28","CommentBox","_ref15","_callee15","_callee15$","_context15","_x29","_x30","StyleBox","_ref16","_callee16","_callee16$","_context16","_x31","_x32","DateObjectTemplate","_ref17","_callee17","_element$classList","date","_callee17$","_context17","_x33","_x34","RGBColorSwatchTemplate","_ref18","_callee18","_element$classList2","_callee18$","_context18","_x35","_x36","Opacity","_ref19","_callee19","_callee19$","_context19","_x37","_x38","RGBColor","_ref20","_callee20","r","g","b","_callee20$","_context20","t1","t2","map","e","_x39","_x40","FontWeight","DynamicModuleBox","_ref21","_callee21","_callee21$","_context21","_x41","_x42","PaneSelectorBox","_ref22","_callee22","list","_callee22$","_context22","paddingRight","borderRadius","border","verticalAlign","flat","_x43","_x44","CM6Grid","_ref23","_callee23","_callee23$","_context23","warn","_x45","_x46","GridBox","_ref24","_callee24","_callee24$","_context24","_x47","_x48","TagBox","_ref25","_callee25","doc","_callee25$","_context25","_x49","_x50","_ref26","_callee26","_callee26$","_context26","_x51","_x52","BraDecorator","_ref27","_callee27","pre","_callee27$","_context27","_x53","_x54","KetDecorator","_ref28","_callee28","_callee28$","_context28","_x55","_x56","FrameMargins","PanelBox","_ref29","_callee29","margin","_callee29$","_context29","Math","round","padding","background","_x57","_x58","_ref30","_callee30","text","_callee30$","_context30","_x59","_x60","SpanFromLeft","None","_ref31","_callee31","tr","label","content","_callee31$","_context31","_x61","_x62","quantity","isDOM","Obj","Element","MixedMagnitude","List","MixedUnit","Power","string","power","container","sup","Times","index","item","sep","QuantityBox","_ref32","_callee32","_env$element$classLis5","n","units","_callee32$","_context32","nn","nunits","gap","u","_x63","_x64","ShowSpecialCharacters","Row","_ref33","_callee33","_callee33$","_context33","_x65","_x66","_ref34","_callee34","_env$element$classLis6","_iconElement$classLis","_table$classList","iconElement","tbodyElement","iconWidth","_callee34$","_context34","getBoundingClientRect","window","devicePixelRatio","imageSize","static","local","DataOnKernel","_x67","_x68"],"mappings":"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","file":"boxes.372a011a.js","sourceRoot":"../playground","sourcesContent":["\n let boxes = {};\n boxes.name = \"WebObjects/Boxes\";\n\n interpretate.contextExpand(boxes);\n\n boxes.NumberMarks = () => \"NumberMarks\"\n boxes.ShowStringCharacters = () => \"ShowStringCharacters\"\n\n boxes.Background = () => \"Background\"\n\n boxes.RowBox = async (args, env) => {\n console.log(args);\n }\n\n boxes.PaneBox = async (args, env) => {\n env.element.classList.add(...('sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs flex flex-row'.split(' '))); \n \n const opts = await core._getRules(args, {...env, hold:true});\n if (opts.ImageSize) {\n const size = await interpretate(opts.ImageSize, env);\n if (size instanceof Object === true) {\n env.element.style.width = size[0] + 'px';\n env.element.style.height = size[1] + 'px';\n } else {\n env.element.style.maxWidth = size + 'px';\n }\n }\n\n if (opts.Event) {\n const ev = await interpretate(opts.Event, env);\n env.element.addEventListener('click', () => {\n console.log('clicked!');\n server.kernel.emitt(ev, 'True', 'Click')\n })\n }\n }\n\n boxes.RootBox = async (args, env) => {\n const approx = await interpretate(args[0], env);\n\n env.element.classList.add(...('sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs flex flex-row items-center'.split(' '))); \n \n \n const logo = document.createElement('span');\n logo.innerHTML = `\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n`;\n const a = document.createElement('span');\n if (Complex.isComplex(approx)) {\n a.innerText = `${approx.re} + i ${approx.im}`;\n } else {\n a.innerText = approx;\n }\n a.classList.add('px-1');\n env.element.appendChild(logo);\n env.element.appendChild(a);\n\n\n }\n boxes.TransposeBox = async (args, env) => {\n const post = document.createElement('sup');\n \n post.innerHTML = await interpretate(args[0], env)\n \n \n const editor = document.createElement('span');\n env.global.element = editor;\n \n env.element.style.display = \"inline-flex\";\n env.element.style.alignItems = \"baseline\";\n \n env.element.appendChild(editor);\n env.element.appendChild(post); \n }\n\n boxes.DerivativeBox = async (args, env) => {\n const post = document.createElement('sup');\n const powers = await interpretate(args[0], env);\n \n post.innerHTML = \"(\"+powers.join(',')+\")\";\n \n const editor = document.createElement('span');\n env.global.element = editor;\n \n env.element.style.display = \"inline-flex\";\n env.element.style.alignItems = \"baseline\";\n \n env.element.appendChild(editor);\n env.element.appendChild(post); \n }\n\n boxes.PiecewiseBox = async (args, env) => {\n //let vars = await interpretate(args[0], env);\n const taken = env.children;\n const bonds = [];\n for (let i=0; i {\n const p = document.createElement('tr');\n //p.classList.add('flex', 'flex-row');\n const cell1 = document.createElement('td');\n cell1.appendChild(pair[0]);\n const cell2 = document.createElement('td');\n cell2.classList.add('pl-5');\n cell2.appendChild(pair[1]);\n p.appendChild(cell1);\n p.appendChild(cell2);\n\n table.appendChild(p);\n });\n\n outerDiv.appendChild(table);\n\n\n }\n\n boxes.SumBox = async (args, env) => {\n let vars = await interpretate(args[0], env);\n let bonds = await interpretate(args[1], env);\n \n const number = vars;\n const taken = env.children.slice(1);\n vars = [];\n bonds = [];\n for (let i=0; i`;\n \n // Append the SVG container to the outer div\n //outerDiv.appendChild(svgContainer);\n if (bonds) {\n if (i == vars.length - 1) continue;\n const flexColDiv = document.createElement('div');\n flexColDiv.classList.add('flex', 'flex-col', 'h-full', 'justify-between', 'mr-1');\n bonds[i][1].classList.add('text-xs');\n flexColDiv.appendChild(bonds[i][1]);\n\n const wrapper = document.createElement('span');\n wrapper.classList.add('text-xs', 'flex', 'flex-row');\n wrapper.appendChild(vars[i]);\n wrapper.appendChild(document.createTextNode('='));\n wrapper.appendChild(bonds[i][0]);\n flexColDiv.appendChild(svgContainer);\n flexColDiv.appendChild(wrapper); \n outerDiv.appendChild(flexColDiv); \n }\n }\n // Create the flex-col div\n const flexColDiv = document.createElement('div');\n flexColDiv.classList.add('flex', 'flex-col');\n // Create the first text div\n\n // Create the middle div containing spans\n const middleDiv = document.createElement('div');\n middleDiv.classList.add('flex', 'flex-row');\n\n if (bonds) {\n const lastBound = bonds[bonds.length - 1];\n lastBound[0].classList.add('text-xs');\n lastBound[1].classList.add('text-xs');\n \n\n\n lastBound[1].classList.add('text-xs');\n flexColDiv.appendChild(lastBound[1]);\n\n const svgContainer = document.createElement('div');\n svgContainer.innerHTML = ``;\n \n\n const wrapper = document.createElement('span');\n wrapper.classList.add('text-xs', 'flex', 'flex-row');\n wrapper.appendChild(vars[bonds.length - 1]);\n wrapper.appendChild(document.createTextNode('='));\n wrapper.appendChild(lastBound[0]);\n flexColDiv.appendChild(svgContainer);\n flexColDiv.appendChild(wrapper); \n\n } else {\n flexColDiv.appendChild(middleDiv);\n }\n\n outerDiv.appendChild(flexColDiv);\n\n outerDiv.appendChild(env.children[0]);\n // Create the second text div\n // Append the text and middle divs to the flex-col div\n return;\n }\n\n boxes.IntegrateBox = async (args, env) => {\n //const options = await core._getRules(args, env);\n\n let vars = await interpretate(args[0], env);\n let bonds = await interpretate(args[1], env);\n\n const number = vars;\n if (bonds) {\n const taken = env.children.slice(1);\n vars = [];\n bonds = [];\n for (let i=0; i\n\n\n\n\n`;\n \n // Append the SVG container to the outer div\n outerDiv.appendChild(svgContainer);\n if (bonds) {\n if (i == vars.length - 1) continue;\n const flexColDiv = document.createElement('div');\n flexColDiv.classList.add('flex', 'flex-col', 'h-full', 'justify-between', 'mr-1');\n bonds[i][0].classList.add('text-xs', '-ml-2');\n\n bonds[i][1].classList.add('text-xs');\n flexColDiv.appendChild(bonds[i][1]);\n flexColDiv.appendChild(bonds[i][0]); \n outerDiv.appendChild(flexColDiv); \n }\n }\n // Create the flex-col div\n const flexColDiv = document.createElement('div');\n flexColDiv.classList.add('flex', 'flex-col');\n // Create the first text div\n\n // Create the middle div containing spans\n const middleDiv = document.createElement('div');\n middleDiv.classList.add('flex', 'flex-row');\n\n if (bonds) {\n const lastBound = bonds[bonds.length - 1];\n lastBound[0].classList.add('text-xs', '-ml-2');\n lastBound[1].classList.add('text-xs');\n \n flexColDiv.appendChild(lastBound[1]);\n flexColDiv.appendChild(middleDiv);\n flexColDiv.appendChild(lastBound[0]);\n } else {\n flexColDiv.appendChild(middleDiv);\n }\n\n outerDiv.appendChild(flexColDiv);\n\n middleDiv.appendChild(env.children[0]);\n\n for (let i=0; i {\n if (args.length == 0) {\n //console.log(env.global.EditorWidget.getDoc());\n return env.global.EditorWidget.getDoc();\n } \n\n const changes = await interpretate(args[0], env);\n env.global.EditorWidget.applyChanges(changes);\n return changes;\n }\n\n boxes[\"ViewBox`OuterExpression\"] = async (args, env) => {\n const changes = await interpretate(args[0], env);\n env.global.EditorWidget.applyOuterChanges(changes);\n } \n\n boxes.FrameBox = async (args, env) => {\n env.element.classList.add('frame-box');\n env.context = boxes;\n\n const options = await core._getRules(args, env) || {};\n \n if ('Background' in options) {\n env.element.style.backgroundColor = options.Background;\n }\n }\n\n boxes.IconizeFileBox = async (args, env) => {\n env.context = boxes;\n env.element.classList.add(...('sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs'.split(' ')));\n const count = await interpretate(args[0], env);\n const opts = await core._getRules(args, env);\n if (opts.Label && opts.Label != 'None') {\n env.element.innerHTML = `\n \n ${opts.Label}`;\n } else {\n env.element.innerHTML = `\n \n ${count} bytes`;\n }\n\n }\n\n boxes.IconizeBox = async (args, env) => {\n env.context = boxes;\n env.element.classList.add(...('sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs'.split(' ')));\n const count = await interpretate(args[0], env);\n const opts = await core._getRules(args, env);\n\n if (opts.Label && opts.Label != 'None') {\n env.element.innerHTML = `\n \n \n \n \n \n ${opts.Label}`;\n } else {\n env.element.innerHTML = `\n \n \n \n \n \n ${count} bytes`;\n }\n\n }\n\n boxes.Italic = () => \"Italic\"\n boxes.Bold = () => \"Bold\"\n boxes.Underlined = () => \"Underlined\"\n boxes.FontSize = () => \"FontSize\"\n boxes.FontFamily = () => \"FontFamily\"\n\n boxes.StringBox = async (args, env) => {\n env.context = boxes;\n console.log('string style box');\n \n console.log(args);\n\n //sort all rules to the end\n args.sort((el) => {\n if(Array.isArray(el)) {\n if (el[0] == 'Rule') return 1;\n }\n return -1;\n });\n\n const options = await core._getRules(args, env) || {};\n\n env.element.style.fontFamily = 'system-ui';\n \n if ('Background' in options) {\n env.element.style.backgroundColor = options.Background;\n } \n\n if ('FontSize' in options) {\n env.element.style.fontSize = String(options.FontSize) + 'pt';\n } \n\n if ('FontFamily' in options) {\n env.element.style.fontFamily = options.FontFamily.toLowerCase();\n }\n \n const data = [];\n for (let i=0; i<(args.length - Object.keys(options).length); ++i) {\n let result = await interpretate(args[i], env);\n\n if (typeof result == 'string') {\n result = result.toLocaleLowerCase();\n \n if (result.slice(0,3) == 'rgb') {\n //this is a color\n env.element.style.color = result;\n } else {\n //this is a font-face\n if (result == 'italic') {\n env.element.style.fontStyle = result;\n } else if (result == 'bold') {\n env.element.style.fontWeight = result;\n } else {\n env.element.style.textDecoration = result;\n }\n }\n continue;\n }\n\n \n if (typeof result === 'number') {\n\n env.element.style.fontSize = String(result) + 'pt';\n continue;\n }\n }\n\n console.log(data);\n }\n\n boxes.CommentBox = async (args, env) => {\n env.context = boxes;\n const color = await interpretate(args[0], env);\n env.element.style.color = color;\n env.element.classList.add('subscript-tail', 'sm-controls', 'text-sm');\n }\n\n boxes.StyleBox = async (args, env) => {\n env.context = boxes;\n console.log('style box');\n \n //sort all rules to the end\n args.sort((el) => {\n if(Array.isArray(el)) {\n if (el[0] == 'Rule') return 1;\n }\n return -1;\n });\n\n const options = await core._getRules(args, env) || {};\n\n //env.element.style.fontFamily = 'system-ui';\n\n if ('Background' in options) {\n env.element.style.backgroundColor = options.Background;\n } \n\n if ('FontSize' in options) {\n env.element.style.fontSize = String(options.FontSize) + 'pt';\n } \n\n if ('FontFamily' in options) {\n env.element.style.fontFamily = options.FontFamily.toLowerCase();\n }\n\n const data = [];\n for (let i=0; i<(args.length - Object.keys(options).length); ++i) {\n let result = await interpretate(args[i], env);\n \n if (typeof result == 'string') {\n result = result.toLocaleLowerCase();\n\n if (result.slice(0,3) == 'rgb') {\n //this is a color\n env.element.style.color = result;\n } else {\n //this is a font-face\n if (result == 'italic') {\n env.element.style.fontStyle = result;\n } else if (result == 'bold') {\n env.element.style.fontWeight = result;\n } else {\n env.element.style.textDecoration = result;\n }\n }\n continue;\n }\n \n\n if (typeof result === 'number') {\n \n env.element.style.fontSize = String(result) + 'pt';\n continue;\n }\n } \n }\n\n boxes.DateObjectTemplate = async (args, env) => {\n const element = document.createElement('span');\n element.classList.add(...('sm-controls cursor-default rounded-md 0 py-1 pl-3 bg-gray-100 pr-2 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs'.split(' ')));\n\n //env.element.classList.add('frame-box');\n env.context = boxes;\n\n const date = await interpretate(args[0], env);\n element.innerText = date.slice(1,-1); \n env.element.appendChild(element);\n }\n\n boxes.RGBColorSwatchTemplate = async (args, env) => {\n const element = document.createElement('span');\n\n element.classList.add(...('sm-controls cursor-default rounded-md 0 h-4 w-4 shadow-sm'.split(' ')));\n\n //env.element.classList.add('frame-box');\n env.context = boxes;\n\n const color = await interpretate(args[0], env);\n element.style.backgroundColor = color;\n\n env.element.appendChild(element);\n }\n\n boxes.Opacity = async (args, env) => {\n return (await interpretate(args[0], env));\n }\n \n boxes.RGBColor = async (args, env) => {\n if (args.length == 3) {\n const r = (await interpretate(args[0], env)) * 255;\n const g = (await interpretate(args[1], env)) * 255;\n const b = (await interpretate(args[2], env)) * 255;\n\n return \"rgb(\"+r+\",\"+g+\",\"+b+\")\";\n } else {\n let a = await interpretate(args[0], env);\n\n a = a.map((e) => e*255);\n\n return \"rgb(\"+a[0]+\",\"+a[1]+\",\"+a[2]+\")\";\n }\n\n return undefined;\n }\n\n boxes.FontWeight = () => 'FontWeight'\n\n /*boxes.PaneSelectorBox = async (args, env) => {\n const list = await interpretate(args[0], {...env, hold:true});\n //needs an editor View\n env.element.innerText = \"EditorView is in development\";\n env.element.style.border = \"1px solid gray\";\n env.element.style.borderRadius = \"4px\";\n }*/\n\n boxes.DynamicModuleBox = async (args, env) => {\n return await interpretate(args[1], {...env, context: boxes});\n }\n \n boxes.PaneSelectorBox = async (args, env) => {\n const list = await interpretate(args[0], {...env, hold:true});\n //env.element.innerText = data.slice(1,-1);\n env.element.style.paddingLeft = \"0.5em\";\n env.element.style.paddingRight = \"0.5em\";\n env.element.style.borderRadius = \"4px\";\n env.element.style.border = \"1px solid gray\";\n env.element.style.verticalAlign = \"initial\";\n\n const data = await interpretate(list[0][2], env);\n\n env.element.innerText = data.flat().join(',').slice(1,-1);\n }\n\n boxes.CM6Grid = async (args, env) => {\n console.warn('this is an temporal fallback to boxes CM6Grid virtual type! Be careful!');\n const data = await interpretate(args[0], env);\n return data;\n }\n \n boxes.GridBox = async (args, env) => {\n return await interpretate(args[0], env);\n }\n \n boxes.TagBox = async (args, env) => {\n const name = await interpretate(args[1], env);\n const data = await interpretate(args[0], env);\n const doc = document.createElement('div');\n const result = await boxes.TagBox[name](data, {...env, element:doc});\n env.element.appendChild(doc);\n return result;\n }\n \n boxes.TagBox['SummaryItem'] = async (data, env) => {\n env.element.innerText = data.slice(1,-1);\n env.element.style.paddingLeft = \"0.5em\";\n env.element.style.paddingRight = \"0.5em\";\n env.element.style.borderRadius = \"4px\";\n env.element.style.border = \"1px solid gray\";\n env.element.style.verticalAlign = \"initial\";\n }\n\n\n boxes.BraDecorator = async (args, env) => {\n const pre = document.createElement('span');\n const post = document.createElement('span');\n \n post.innerHTML = \"|\";\n pre.innerHTML = \"⟨\";\n \n const editor = document.createElement('span');\n env.global.element = editor;\n \n env.element.style.display = \"inline-flex\";\n env.element.style.alignItems = \"baseline\";\n \n env.element.appendChild(pre);\n env.element.appendChild(editor);\n env.element.appendChild(post);\n }\n \n boxes.KetDecorator = async (args, env) => {\n const pre = document.createElement('span');\n const post = document.createElement('span');\n \n pre.innerHTML = \"|\";\n post.innerHTML = \"⟩\";\n \n const editor = document.createElement('span');\n env.global.element = editor;\n \n env.element.style.display = \"inline-flex\";\n env.element.style.alignItems = \"baseline\";\n \n env.element.appendChild(pre);\n env.element.appendChild(editor);\n env.element.appendChild(post);\n }\n\n boxes.FrameMargins = () => \"FrameMargins\"\n\n boxes.PanelBox = async (args, env) => { \n const options = await core._getRules(args, {...env, context: boxes});\n let margin = 0.7; \n \n if (options.FrameMargins) margin = Math.round(10.0 * options.FrameMargins / 10.0)/10.0;\n\n const editor = document.createElement('span');\n env.global.element = editor;\n \n env.element.style.display = \"inline-flex\";\n env.element.style.alignItems = \"baseline\";\n env.element.style.padding = margin + \"em\";\n\n env.element.style.borderRadius = \"4px\";\n env.element.style.border = \"solid 1px\";\n env.element.style.background = \"#f0f0f0\";\n\n env.element.appendChild(editor); \n if (options.Event) {\n env.element.addEventListener('click', () => {\n server.kernel.emitt(options.Event, 'True', 'Click')\n })\n }\n }\n\n boxes[\"Internal`RawText\"] = async (args, env) => {\n const text = await interpretate(args[0], {...env, context: boxes});\n env.element.innerHTML = text;\n env.element.style = \"font-family: system-ui\"\n }\n\n\n boxes.SpanFromLeft = () => \"SpanFromLeft\"\n\n boxes.None = () => \"None\"\n \n boxes[\"BoxForm`SummaryItemView\"] = async (args, env) => {\n const tr = document.createElement('tr');\n const label = document.createElement('td');\n const content = document.createElement('td');\n\n content.style.maxWidth = \"200px\";\n \n label.innerText = await interpretate(args[0], env);\n \n await interpretate(args[1], {...env, context:boxes, element: content});\n \n tr.appendChild(label);\n tr.appendChild(content);\n \n env.element.appendChild(tr);\n \n \n }\n\n const quantity = {};\n\n function isDOM(Obj) { \n \n // Function that checks whether \n // object is of type Element \n return Obj instanceof Element; \n } \n\n boxes.MixedMagnitude = core.List\n quantity.MixedUnit = core.List\n\n quantity.Power = (args, env) => {\n const string = interpretate(args[0], env);\n const power = interpretate(args[1], env);\n\n const container = document.createElement('span');\n const sup = document.createElement('sup');\n if (isDOM(string)) {\n container.appendChild(string);\n } else {\n container.innerText = string;\n }\n\n if (isDOM(string)) {\n sup.appendChild(power);\n } else {\n sup.innerText = power;\n }\n\n container.appendChild(sup);\n \n return container;\n }\n\n quantity.Times = (args, env) => {\n const a = args.map((el) => interpretate(el, env));\n const doc = document.createElement('span');\n\n a.forEach((el, index) => {\n if (isDOM(el)) {\n doc.appendChild(el);\n } else {\n const item = document.createElement('text');\n item.innerText = el;\n doc.appendChild(item);\n } \n if (index < a.length - 1) {\n const sep = document.createElement('text');\n sep.innerHTML = \"·\";\n doc.appendChild(sep);\n }\n });\n\n return doc;\n }\n\n boxes.QuantityBox = async (args, env) => {\n const n = await interpretate(args[0], env);\n const units = await interpretate(args[1], {...env, context:quantity});\n\n \n env.element.classList.add(...('text-gray-500 ring-gray-300 ring-1 rounded-lg px-2 text-sm'.split(' ')));\n env.element.style.verticalAlign = 'baseline';\n\n const add = (nn, nunits, gap = false) => {\n const text = document.createTextNode(nn);\n const u = document.createElement('span');\n u.classList.add('ml-1');\n if (gap) u.classList.add('mr-1');\n\n if (isDOM(nunits))\n u.appendChild(nunits);\n else\n u.innerText = nunits;\n \n env.element.appendChild(text);\n env.element.appendChild(u);\n }\n\n //console.error([n, units, args]);\n \n if (Array.isArray(n)) {\n n[0].forEach((number, index) => {\n //console.error({number, index});\n if (index === n[0].length - 1) \n add(number, units[0][index], false);\n else \n add(number, units[0][index], true);\n });\n } else {\n add(n, units);\n }\n\n\n }\n\n boxes.ShowStringCharacters = () => \"ShowStringCharacters\"\n boxes.ShowSpecialCharacters = () => \"ShowSpecialCharacters\"\n \n boxes.Row = async (args, env) => {\n console.warn('RowBox is not implemented properly for BoxForm`ArrangedSummaryBox!!!');\n args.forEach((el) => {\n interpretate(el, env);\n });\n }\n \n boxes[\"BoxForm`ArrangedSummaryBox\"] = async (args, env) => {\n env.element.style.verticalAlign = 'middle';\n env.element.classList.add(...('sm-controls cursor-default rounded-md 0 py-1 px-2 bg-gray-100 text-left text-gray-500 ring-1 ring-inset ring-gray-400 text-xs flex flex-row'.split(' ')));\n \n let iconElement = document.createElement('span');\n iconElement.classList.add(...('text-gray-500 inline-block mt-auto mb-auto pr-1'.split(' ')));\n \n env.element.appendChild(iconElement);\n \n const table = document.createElement('table');\n table.classList.add(...('pl-1 table-auto'.split(' ')));\n \n let tbodyElement = document.createElement('tbody');\n \n table.appendChild(tbodyElement);\n \n env.element.appendChild(table);\n \n console.log(iconElement.getBoundingClientRect());\n \n const iconWidth = 35 * window.devicePixelRatio;\n \n \n \n interpretate(args[0], {...env, element: iconElement, global: env.global, imageSize:[iconWidth, iconWidth]});\n await interpretate(args[1], {...env, context: boxes, element: tbodyElement, static:true, local: false});\n\n if (env.options.DataOnKernel) {\n const warn = document.createElement('span');\n warn.innerText = \"Data is on Kernel\";\n warn.classList.add('text-gray-400');\n\n tbodyElement.appendChild(warn);\n }\n }\n\n\n\n\n //temporaly here\n"]} \ No newline at end of file diff --git a/github-pages/index.html b/github-pages/index.html index 68a6790..f0c6b3f 100644 --- a/github-pages/index.html +++ b/github-pages/index.html @@ -1,3 +1,3 @@ -Playground for testing \ No newline at end of file diff --git a/github-pages/kernel.9bea77a7.js b/github-pages/kernel.9bea77a7.js new file mode 100644 index 0000000..b43a5db --- /dev/null +++ b/github-pages/kernel.9bea77a7.js @@ -0,0 +1,21 @@ +parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c1)for(var n=1;n0)throw new Error("Invalid string. Length must be a multiple of 4");var e=r.indexOf("=");return-1===e&&(e=t),[e,e===t?0:4-e%4]}function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n}function c(r,t,e){return 3*(t+e)/4-e}function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u-4:u;for(o=0;o>16&255,f[A++]=n>>8&255,f[A++]=255&n;return 2===i&&(n=t[r.charCodeAt(o)]<<2|t[r.charCodeAt(o+1)]>>4,f[A++]=255&n),1===i&&(n=t[r.charCodeAt(o)]<<10|t[r.charCodeAt(o+1)]<<4|t[r.charCodeAt(o+2)]>>2,f[A++]=n>>8&255,f[A++]=255&n),f}function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function A(r,t,e){for(var n,o=[],a=t;au?u:h+16383));return 1===o?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")}t["-".charCodeAt(0)]=62,t["_".charCodeAt(0)]=63; +},{}],"JgNJ":[function(require,module,exports) { +exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; +},{}],"REa7":[function(require,module,exports) { +var r={}.toString;module.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}; +},{}],"dskh":[function(require,module,exports) { + +var global = arguments[3]; +var t=arguments[3],r=require("base64-js"),e=require("ieee754"),n=require("isarray");function i(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(r){return!1}}function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,r){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|t}function d(t){return+t!=t&&(t=0),f.alloc(+t)}function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var n=!1;;)switch(r){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return K(t).length;default:if(n)return $(t).length;r=(""+r).toLowerCase(),n=!0}}function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if((e>>>=0)<=(r>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return x(this,r,e);case"utf8":case"utf-8":return Y(this,r,e);case"ascii":return L(this,r,e);case"latin1":case"binary":return D(this,r,e);case"base64":return S(this,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,r,e);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n}function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof r&&(r=f.from(r,n)),f.isBuffer(r))return 0===r.length?-1:_(t,r,e,n,i);if("number"==typeof r)return r&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,e):Uint8Array.prototype.lastIndexOf.call(t,r,e):_(t,[r],e,n,i);throw new TypeError("val must be string, number or Buffer")}function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||r.length<2)return-1;u=2,f/=2,s/=2,e/=2}function h(t,r){return 1===u?t[r]:t.readUInt16BE(r*u)}if(i){var a=-1;for(o=e;of&&(e=f-s),o=e;o>=0;o--){for(var c=!0,l=0;li&&(n=i):n=i;var o=r.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var u=0;u239?4:h>223?3:h>191?2:1;if(i+c<=e)switch(c){case 1:h<128&&(a=h);break;case 2:128==(192&(o=t[i+1]))&&(s=(31&h)<<6|63&o)>127&&(a=s);break;case 3:o=t[i+1],u=t[i+2],128==(192&o)&&128==(192&u)&&(s=(15&h)<<12|(63&o)<<6|63&u)>2047&&(s<55296||s>57343)&&(a=s);break;case 4:o=t[i+1],u=t[i+2],f=t[i+3],128==(192&o)&&128==(192&u)&&128==(192&f)&&(s=(15&h)<<18|(63&o)<<12|(63&u)<<6|63&f)>65535&&s<1114112&&(a=s)}null===a?(a=65533,c=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=c}return O(n)}exports.Buffer=f,exports.SlowBuffer=d,exports.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:i(),exports.kMaxLength=o(),f.poolSize=8192,f._augment=function(t){return t.__proto__=f.prototype,t},f.from=function(t,r,e){return s(null,t,r,e)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(t,r,e){return a(null,t,r,e)},f.allocUnsafe=function(t){return c(null,t)},f.allocUnsafeSlow=function(t){return c(null,t)},f.isBuffer=function(t){return!(null==t||!t._isBuffer)},f.compare=function(t,r){if(!f.isBuffer(t)||!f.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var e=t.length,n=r.length,i=0,o=Math.min(e,n);i0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},f.prototype.compare=function(t,r,e,n,i){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===e&&(e=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),r<0||e>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&r>=e)return 0;if(n>=i)return-1;if(r>=e)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),u=(e>>>=0)-(r>>>=0),s=Math.min(o,u),h=this.slice(n,i),a=t.slice(r,e),c=0;ci)&&(e=i),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return A(this,t,r,e);case"utf8":case"utf-8":return m(this,t,r,e);case"ascii":return P(this,t,r,e);case"latin1":case"binary":return T(this,t,r,e);case"base64":return B(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r,e);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function O(t){var r=t.length;if(r<=I)return String.fromCharCode.apply(String,t);for(var e="",n=0;nn)&&(e=n);for(var i="",o=r;oe)throw new RangeError("Trying to access beyond buffer length")}function k(t,r,e,n,i,o){if(!f.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||rt.length)throw new RangeError("Index out of range")}function N(t,r,e,n){r<0&&(r=65535+r+1);for(var i=0,o=Math.min(t.length-e,2);i>>8*(n?i:1-i)}function z(t,r,e,n){r<0&&(r=4294967295+r+1);for(var i=0,o=Math.min(t.length-e,4);i>>8*(n?i:3-i)&255}function F(t,r,e,n,i,o){if(e+n>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.4028234663852886e38),e.write(t,r,n,i,23,4),n+4}function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976931348623157e308),e.write(t,r,n,i,52,8),n+8}f.prototype.slice=function(t,r){var e,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r0&&(i*=256);)n+=this[t+--r]*i;return n},f.prototype.readUInt8=function(t,r){return r||M(t,1,this.length),this[t]},f.prototype.readUInt16LE=function(t,r){return r||M(t,2,this.length),this[t]|this[t+1]<<8},f.prototype.readUInt16BE=function(t,r){return r||M(t,2,this.length),this[t]<<8|this[t+1]},f.prototype.readUInt32LE=function(t,r){return r||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},f.prototype.readUInt32BE=function(t,r){return r||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},f.prototype.readIntLE=function(t,r,e){t|=0,r|=0,e||M(t,r,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*r)),n},f.prototype.readIntBE=function(t,r,e){t|=0,r|=0,e||M(t,r,this.length);for(var n=r,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*r)),o},f.prototype.readInt8=function(t,r){return r||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},f.prototype.readInt16LE=function(t,r){r||M(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},f.prototype.readInt16BE=function(t,r){r||M(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},f.prototype.readInt32LE=function(t,r){return r||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},f.prototype.readInt32BE=function(t,r){return r||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},f.prototype.readFloatLE=function(t,r){return r||M(t,4,this.length),e.read(this,t,!0,23,4)},f.prototype.readFloatBE=function(t,r){return r||M(t,4,this.length),e.read(this,t,!1,23,4)},f.prototype.readDoubleLE=function(t,r){return r||M(t,8,this.length),e.read(this,t,!0,52,8)},f.prototype.readDoubleBE=function(t,r){return r||M(t,8,this.length),e.read(this,t,!1,52,8)},f.prototype.writeUIntLE=function(t,r,e,n){(t=+t,r|=0,e|=0,n)||k(this,t,r,e,Math.pow(2,8*e)-1,0);var i=1,o=0;for(this[r]=255&t;++o=0&&(o*=256);)this[r+i]=t/o&255;return r+e},f.prototype.writeUInt8=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,1,255,0),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},f.prototype.writeUInt16LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):N(this,t,r,!0),r+2},f.prototype.writeUInt16BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):N(this,t,r,!1),r+2},f.prototype.writeUInt32LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):z(this,t,r,!0),r+4},f.prototype.writeUInt32BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):z(this,t,r,!1),r+4},f.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);k(this,t,r,e,i-1,-i)}var o=0,u=1,f=0;for(this[r]=255&t;++o>0)-f&255;return r+e},f.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);k(this,t,r,e,i-1,-i)}var o=e-1,u=1,f=0;for(this[r+o]=255&t;--o>=0&&(u*=256);)t<0&&0===f&&0!==this[r+o+1]&&(f=1),this[r+o]=(t/u>>0)-f&255;return r+e},f.prototype.writeInt8=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,1,127,-128),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},f.prototype.writeInt16LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):N(this,t,r,!0),r+2},f.prototype.writeInt16BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):N(this,t,r,!1),r+2},f.prototype.writeInt32LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):z(this,t,r,!0),r+4},f.prototype.writeInt32BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):z(this,t,r,!1),r+4},f.prototype.writeFloatLE=function(t,r,e){return j(this,t,r,!0,e)},f.prototype.writeFloatBE=function(t,r,e){return j(this,t,r,!1,e)},f.prototype.writeDoubleLE=function(t,r,e){return q(this,t,r,!0,e)},f.prototype.writeDoubleBE=function(t,r,e){return q(this,t,r,!1,e)},f.prototype.copy=function(t,r,e,n){if(e||(e=0),n||0===n||(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r=0;--i)t[i+r]=this[i+e];else if(o<1e3||!f.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,e=void 0===e?this.length:e>>>0,t||(t=0),"number"==typeof t)for(o=r;o55295&&e<57344){if(!i){if(e>56319){(r-=3)>-1&&o.push(239,191,189);continue}if(u+1===n){(r-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(r-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(r-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((r-=1)<0)break;o.push(e)}else if(e<2048){if((r-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((r-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function G(t){for(var r=[],e=0;e>8,i=e%256,o.push(i),o.push(n);return o}function K(t){return r.toByteArray(X(t))}function Q(t,r,e,n){for(var i=0;i=r.length||i>=t.length);++i)r[i+e]=t[i];return i}function W(t){return t!=t} +},{"base64-js":"yh9p","ieee754":"JgNJ","isarray":"REa7","buffer":"dskh"}],"bGiS":[function(require,module,exports) { +var define; +var process = require("process"); + +var global = arguments[3]; +var e,t,i=require("process"),o=arguments[3];function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,o)}return i}function r(e){for(var t=1;t=0;--n){var r=this.tryEntries[n],a=r.completion;if("root"===r.tryLoc)return o("end");if(r.tryLoc<=this.prev){var s=i.call(r,"catchLoc"),l=i.call(r,"finallyLoc");if(s&&l){if(this.prev=0;--o){var n=this.tryEntries[o];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),C(i),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var o=i.completion;if("throw"===o.type){var n=o.arg;C(i)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,i){return this.delegate={iterator:D(e),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=void 0),f}},e}function s(e,t,i,o,n,r,a){try{var s=e[r](a),l=s.value}catch(p){return void i(p)}s.done?t(l):Promise.resolve(l).then(o,n)}function l(e){return function(){var t=this,i=arguments;return new Promise(function(o,n){var r=e.apply(t,i);function a(e){s(r,o,n,a,l,"next",e)}function l(e){s(r,o,n,a,l,"throw",e)}a(void 0)})}}function p(e,t,i){return(t=F(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function c(e){return h(e)||f(e)||v(e)||d()}function d(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function h(e){if(Array.isArray(e))return w(e)}function u(e,t){return g(e)||m(e,t)||v(e,t)||y()}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var o,n,r,a,s=[],l=!0,p=!1;try{if(r=(i=i.call(e)).next,0===t){if(Object(i)!==i)return;l=!1}else for(;!(l=(o=r.call(i)).done)&&(s.push(o.value),s.length!==t);l=!0);}catch(US){p=!0,n=US}finally{try{if(!l&&null!=i.return&&(a=i.return(),Object(a)!==a))return}finally{if(p)throw n}}return s}}function g(e){if(Array.isArray(e))return e}function b(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=v(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var o=0,n=function(){};return{s:n,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw r}}}}function v(e,t){if(e){if("string"==typeof e)return w(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?w(e,t):void 0}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,o=new Array(t);ithis.length)throw new RangeError("Invalid position ".concat(e," in document of length ").concat(this.length));return this.lineInner(e,!1,1,0)}},{key:"line",value:function(e){if(e<1||e>this.lines)throw new RangeError("Invalid line number ".concat(e," in ").concat(this.lines,"-line document"));return this.lineInner(e,!0,1,0)}},{key:"replace",value:function(e,t,i){var o=[];return this.decompose(0,e,o,2),i.length&&i.decompose(0,i.length,o,3),this.decompose(t,this.length,o,1),G.from(o,this.length-(t-e)+i.length)}},{key:"append",value:function(e){return this.replace(this.length,this.length,e)}},{key:"slice",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length,i=[];return this.decompose(e,t,i,0),G.from(i,t-e)}},{key:"eq",value:function(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;for(var t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),o=new N(this),n=new N(e),r=t,a=t;;){if(o.next(r),n.next(r),r=0,o.lineBreak!=n.lineBreak||o.done!=n.done||o.value!=n.value)return!1;if(a+=o.value.length,o.done||a>=i)return!0}}},{key:"iter",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return new N(this,e)}},{key:"iterRange",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length;return new W(this,e,t)}},{key:"iterLines",value:function(e,t){var i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);var o=this.line(e).from;i=this.iterRange(o,Math.max(o,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new q(i)}},{key:"toString",value:function(){return this.sliceString(0)}},{key:"toJSON",value:function(){var e=[];return this.flatten(e),e}}],[{key:"of",value:function(t){if(0==t.length)throw new RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new I(t):G.from(I.split(t,[])):e.empty}}]),e}(),I=function(e){x(i,B);var t=C(i);function i(e){var o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$(e);return R(this,i),(o=t.call(this)).text=e,o.length=n,o}return E(i,[{key:"lines",get:function(){return this.text.length}},{key:"children",get:function(){return null}},{key:"lineInner",value:function(e,t,i,o){for(var n=0;;n++){var r=this.text[n],a=o+r.length;if((t?i:a)>=e)return new j(o,a,i,r);o=a+1,i++}}},{key:"decompose",value:function(e,t,o,n){var r=e<=0&&t>=this.length?this:new i(z(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&n){var a=o.pop(),s=V(r.text,a.text.slice(),0,r.length);if(s.length<=32)o.push(new i(s,a.length+r.length));else{var l=s.length>>1;o.push(new i(s.slice(0,l)),new i(s.slice(l)))}}else o.push(r)}},{key:"replace",value:function(e,t,o){if(!(o instanceof i))return k(Q(i.prototype),"replace",this).call(this,e,t,o);var n=V(this.text,V(o.text,z(this.text,0,e)),t),r=this.length+o.length-(t-e);return n.length<=32?new i(n,r):G.from(i.split(n,[]),r)}},{key:"sliceString",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"\n",o="",n=0,r=0;n<=t&&re&&r&&(o+=i),en&&(o+=a.slice(Math.max(0,e-n),t-n)),n=s+1}return o}},{key:"flatten",value:function(e){var t,i=b(this.text);try{for(i.s();!(t=i.n()).done;){var o=t.value;e.push(o)}}catch(US){i.e(US)}finally{i.f()}}},{key:"scanIdentical",value:function(){return 0}}],[{key:"split",value:function(e,t){var o,n=[],r=-1,a=b(e);try{for(a.s();!(o=a.n()).done;){var s=o.value;n.push(s),r+=s.length+1,32==n.length&&(t.push(new i(n,r)),n=[],r=-1)}}catch(US){a.e(US)}finally{a.f()}return r>-1&&t.push(new i(n,r)),t}}]),i}(),G=function(e){x(i,B);var t=C(i);function i(e,o){var n;R(this,i),(n=t.call(this)).children=e,n.length=o,n.lines=0;var r,a=b(e);try{for(a.s();!(r=a.n()).done;){var s=r.value;n.lines+=s.lines}}catch(US){a.e(US)}finally{a.f()}return n}return E(i,[{key:"lineInner",value:function(e,t,i,o){for(var n=0;;n++){var r=this.children[n],a=o+r.length,s=i+r.lines-1;if((t?s:a)>=e)return r.lineInner(e,t,i,o);o=a+1,i=s+1}}},{key:"decompose",value:function(e,t,i,o){for(var n=0,r=0;r<=t&&n=r){var l=o&((r<=e?1:0)|(s>=t?2:0));r>=e&&s<=t&&!l?i.push(a):a.decompose(e-r,t-r,i,l)}r=s+1}}},{key:"replace",value:function(e,t,o){if(o.lines=r&&t<=s){var l=a.replace(e-r,t-r,o),p=this.lines-a.lines+l.lines;if(l.lines

>4&&l.lines>p>>6){var c=this.children.slice();return c[n]=l,new i(c,this.length-(t-e)+o.length)}return k(Q(i.prototype),"replace",this).call(this,r,s,l)}r=s+1}return k(Q(i.prototype),"replace",this).call(this,e,t,o)}},{key:"sliceString",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"\n",o="",n=0,r=0;ne&&n&&(o+=i),er&&(o+=a.sliceString(e-r,t-r,i)),r=s+1}return o}},{key:"flatten",value:function(e){var t,i=b(this.children);try{for(i.s();!(t=i.n()).done;){t.value.flatten(e)}}catch(US){i.e(US)}finally{i.f()}}},{key:"scanIdentical",value:function(e,t){if(!(e instanceof i))return 0;for(var o=0,n=u(t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1],4),r=n[0],a=n[1],s=n[2],l=n[3];;r+=t,a+=t){if(r==s||a==l)return o;var p=this.children[r],c=e.children[a];if(p!=c)return o+p.scanIdentical(c,t);o+=p.length+1}}}],[{key:"from",value:function(e){var t,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.reduce(function(e,t){return e+t.length+1},-1),n=0,r=b(e);try{for(r.s();!(t=r.n()).done;){n+=t.value.lines}}catch(US){r.e(US)}finally{r.f()}if(n<32){var a,s=[],l=b(e);try{for(l.s();!(a=l.n()).done;){a.value.flatten(s)}}catch(US){l.e(US)}finally{l.f()}return new I(s,o)}var p=Math.max(32,n>>5),c=p<<1,d=p>>1,f=[],h=0,u=-1,y=[];function m(e){var t;if(e.lines>c&&e instanceof i){var o,n=b(e.children);try{for(n.s();!(o=n.n()).done;){m(o.value)}}catch(US){n.e(US)}finally{n.f()}}else e.lines>d&&(h>d||!h)?(g(),f.push(e)):e instanceof I&&h&&(t=y[y.length-1])instanceof I&&e.lines+t.lines<=32?(h+=e.lines,u+=e.length+1,y[y.length-1]=new I(t.text.concat(e.text),t.length+1+e.length)):(h+e.lines>p&&g(),h+=e.lines,u+=e.length+1,y.push(e))}function g(){0!=h&&(f.push(1==y.length?y[0]:i.from(y,u)),u=-1,h=y.length=0)}var v,w=b(e);try{for(w.s();!(v=w.n()).done;){m(v.value)}}catch(US){w.e(US)}finally{w.f()}return g(),1==f.length?f[0]:new i(f,o)}}]),i}();function $(e){var t,i=-1,o=b(e);try{for(o.s();!(t=o.n()).done;){i+=t.value.length+1}}catch(US){o.e(US)}finally{o.f()}return i}function V(e,t){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e9,n=0,r=0,a=!0;r=i&&(l>o&&(s=s.slice(0,o-n)),n1&&void 0!==arguments[1]?arguments[1]:1;R(this,e),this.dir=i,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[i>0?1:(t instanceof I?t.text.length:t.children.length)<<1]}return E(e,[{key:"nextInner",value:function(e,t){for(this.done=this.lineBreak=!1;;){var i=this.nodes.length-1,o=this.nodes[i],n=this.offsets[i],r=n>>1,a=o instanceof I?o.text.length:o.children.length;if(r==(t>0?a:0)){if(0==i)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&n)==(t>0?0:1)){if(this.offsets[i]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(o instanceof I){var s=o.text[r+(t<0?-1:0)];if(this.offsets[i]+=t,s.length>Math.max(0,e))return this.value=0==e?s:t>0?s.slice(e):s.slice(0,s.length-e),this;e-=s.length}else{var l=o.children[r+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof I?l.text.length:l.children.length)<<1))}}}},{key:"next",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}]),e}(),W=function(){function e(t,i,o){R(this,e),this.value="",this.done=!1,this.cursor=new N(t,i>o?-1:1),this.pos=i>o?t.length:0,this.from=Math.min(i,o),this.to=Math.max(i,o)}return E(e,[{key:"nextInner",value:function(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);var i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;var o=this.cursor.next(e).value;return this.pos+=(o.length+e)*t,this.value=o.length<=i?o:t<0?o.slice(o.length-i):o.slice(0,i),this.done=!this.value,this}},{key:"next",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]: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)}},{key:"lineBreak",get:function(){return this.cursor.lineBreak&&""!=this.value}}]),e}(),q=function(){function e(t){R(this,e),this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}return E(e,[{key:"next",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this.inner.next(e),i=t.done,o=t.lineBreak,n=t.value;return i?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}},{key:"lineBreak",get:function(){return!1}}]),e}();"undefined"!=typeof Symbol&&(B.prototype[Symbol.iterator]=function(){return this.iter()},N.prototype[Symbol.iterator]=W.prototype[Symbol.iterator]=q.prototype[Symbol.iterator]=function(){return this});for(var j=function(){function e(t,i,o,n){R(this,e),this.from=t,this.to=i,this.number=o,this.text=n}return E(e,[{key:"length",get:function(){return this.to-this.from}}]),e}(),_="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(function(e){return e?parseInt(e,36):1}),X=1;X<_.length;X++)_[X]+=_[X-1];function Z(e){for(var t=1;t<_.length;t+=2)if(_[t]>e)return _[t-1]<=e;return!1}function U(e){return e>=127462&&e<=127487}var H=8205;function Y(e,t){return(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?K:J)(e,t,!(arguments.length>3&&void 0!==arguments[3])||arguments[3])}function K(e,t,i){if(t==e.length)return t;t&&ee(e.charCodeAt(t))&&te(e.charCodeAt(t-1))&&t--;var o=ie(e,t);for(t+=ne(o);t=0&&U(ie(e,a));)r++,a-=2;if(r%2==0)break;t+=2}}return t}function J(e,t,i){for(;t>0;){var o=K(e,t-2,i);if(o=56320&&e<57344}function te(e){return e>=55296&&e<56320}function ie(e,t){var i=e.charCodeAt(t);if(!te(i)||t+1==e.length)return i;var o=e.charCodeAt(t+1);return ee(o)?o-56320+(i-55296<<10)+65536:i}function oe(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function ne(e){return e<65536?1:2}var re=/\r\n?|\n/,ae=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(ae||(ae={})),se=function(){function e(t){R(this,e),this.sections=t}return E(e,[{key:"length",get:function(){for(var e=0,t=0;t1&&void 0!==arguments[1]&&arguments[1])}},{key:"invertedDesc",get:function(){for(var t=[],i=0;i1&&void 0!==arguments[1]&&arguments[1];return e.empty?this:fe(this,e,t)}},{key:"mapPos",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ae.Simple,o=0,n=0,r=0;re)return n+(e-o);n+=a}else{if(i!=ae.Simple&&l>=e&&(i==ae.TrackDel&&oe||i==ae.TrackBefore&&oe))return null;if(l>e||l==e&&t<0&&!a)return e==o||t<0?n:n+s;n+=s}o=l}if(e>o)throw new RangeError("Position ".concat(e," is out of range for changeset of length ").concat(o));return n}},{key:"touchesRange",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=0,o=0;i=0&&o<=t&&n>=e)return!(ot)||"cover";o=n}return!1}},{key:"toString",value:function(){for(var e="",t=0;t=0?":"+o:"")}return e}},{key:"toJSON",value:function(){return this.sections}}],[{key:"fromJSON",value:function(t){if(!Array.isArray(t)||t.length%2||t.some(function(e){return"number"!=typeof e}))throw new RangeError("Invalid JSON representation of ChangeDesc");return new e(t)}},{key:"create",value:function(t){return new e(t)}}]),e}(),le=function(e){x(i,se);var t=C(i);function i(e,o){var n;return R(this,i),(n=t.call(this,e)).inserted=o,n}return E(i,[{key:"apply",value:function(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return de(this,function(t,i,o,n,r){return e=e.replace(o,o+(i-t),r)},!1),e}},{key:"mapDesc",value:function(e){return fe(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1],!0)}},{key:"invert",value:function(e){for(var t=this.sections.slice(),o=[],n=0,r=0;n=0){t[n]=s,t[n+1]=a;for(var l=n>>1;o.length1&&void 0!==arguments[1]&&arguments[1];return e.empty?this:fe(this,e,t,!0)}},{key:"iterChanges",value:function(e){de(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}},{key:"desc",get:function(){return se.create(this.sections)}},{key:"filter",value:function(e){var t=[],o=[],n=[],r=new ue(this);e:for(var a=0,s=0;;){for(var l=a==e.length?1e9:e[a++];s0&&ce(o,t,r.text),r.forward(p),s+=p}for(var d=e[a++];s>1].toJSON()))}return e}}],[{key:"of",value:function(e,t,o){var n=[],r=[],a=0,s=null;function l(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||n.length){au||f<0||u>t)throw new RangeError("Invalid change range ".concat(f," to ").concat(u," (in doc of length ").concat(t,")"));var m=y?"string"==typeof y?B.of(y.split(o||re)):y:B.empty,g=m.length;if(f==u&&0==g)return;fa&&pe(n,f-a,-1),pe(n,u-f,g),ce(r,n,m),a=u}}(e),l(!s),s}},{key:"empty",value:function(e){return new i(e?[e,-1]:[],[])}},{key:"fromJSON",value:function(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");for(var t=[],o=[],n=0;n3&&void 0!==arguments[3]&&arguments[3];if(!(0==t&&i<=0)){var n=e.length-2;n>=0&&i<=0&&i==e[n+1]?e[n]+=t:0==t&&0==e[n]?e[n+1]+=i:o?(e[n]+=t,e[n+1]+=i):e.push(t,i)}}function ce(e,t,i){if(0!=i.length){var o=t.length-2>>1;if(o>1])),!(i||a==e.sections.length||e.sections[a+1]<0);)s=e.sections[a++],l=e.sections[a++];t(n,p,r,c,d),n=p,r=c}}}function fe(e,t,i){for(var o=[],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3]?[]:null,r=new ue(e),a=new ue(t),s=-1;;)if(-1==r.ins&&-1==a.ins){var l=Math.min(r.len,a.len);pe(o,l,-1),r.forward(l),a.forward(l)}else if(a.ins>=0&&(r.ins<0||s==r.i||0==r.off&&(a.len=0&&s=0)){if(r.done&&a.done)return n?le.createSet(o,n):se.create(o);throw new Error("Mismatched change set lengths")}for(var d=0,f=r.len;f;)if(-1==a.ins){var h=Math.min(f,a.len);d+=h,f-=h,a.forward(h)}else{if(!(0==a.ins&&a.len2&&void 0!==arguments[2]&&arguments[2]?[]:null,n=new ue(e),r=new ue(t),a=!1;;){if(n.done&&r.done)return o?le.createSet(i,o):se.create(i);if(0==n.ins)pe(i,n.len,0,a),n.next();else if(0!=r.len||r.done){if(n.done||r.done)throw new Error("Mismatched change set lengths");var s=Math.min(n.len2,r.len),l=i.length;if(-1==n.ins){var p=-1==r.ins?-1:r.off?0:r.ins;pe(i,s,p,a),o&&p&&ce(o,i,r.text)}else-1==r.ins?(pe(i,n.off?0:n.len,s,a),o&&ce(o,i,n.textBit(s))):(pe(i,n.off?0:n.len,r.off?0:r.ins,a),o&&!r.off&&ce(o,i,r.text));a=(n.ins>s||r.ins>=0&&r.len>s)&&(a||i.length>l),n.forward2(s),r.forward(s)}else pe(i,0,r.ins,a),o&&ce(o,i,r.text),r.next()}}var ue=function(){function e(t){R(this,e),this.set=t,this.i=0,this.next()}return E(e,[{key:"next",value:function(){var e=this.set.sections;this.i>1;return t>=e.length?B.empty:e[t]}},{key:"textBit",value:function(e){var t=this.set.inserted,i=this.i-2>>1;return i>=t.length&&!e?B.empty:t[i].slice(this.off,null==e?void 0:this.off+e)}},{key:"forward",value:function(e){e==this.len?this.next():(this.len-=e,this.off+=e)}},{key:"forward2",value:function(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}]),e}(),ye=function(){function e(t,i,o){R(this,e),this.from=t,this.to=i,this.flags=o}return E(e,[{key:"anchor",get:function(){return 16&this.flags?this.to:this.from}},{key:"head",get:function(){return 16&this.flags?this.from:this.to}},{key:"empty",get:function(){return this.from==this.to}},{key:"assoc",get:function(){return 4&this.flags?-1:8&this.flags?1:0}},{key:"bidiLevel",get:function(){var e=3&this.flags;return 3==e?null:e}},{key:"goalColumn",get:function(){var e=this.flags>>5;return 33554431==e?void 0:e}},{key:"map",value:function(t){var i,o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return this.empty?i=o=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),o=t.mapPos(this.to,-1)),i==this.from&&o==this.to?this:new e(i,o,this.flags)}},{key:"extend",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(e<=this.anchor&&t>=this.anchor)return me.range(e,t);var i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return me.range(this.anchor,i)}},{key:"eq",value:function(e){return this.anchor==e.anchor&&this.head==e.head}},{key:"toJSON",value:function(){return{anchor:this.anchor,head:this.head}}}],[{key:"fromJSON",value:function(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return me.range(e.anchor,e.head)}},{key:"create",value:function(t,i,o){return new e(t,i,o)}}]),e}(),me=function(){function e(t,i){R(this,e),this.ranges=t,this.mainIndex=i}return E(e,[{key:"map",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t.empty?this:e.create(this.ranges.map(function(e){return e.map(t,i)}),this.mainIndex)}},{key:"eq",value:function(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(var t=0;t1&&void 0!==arguments[1])||arguments[1];return e.create([t].concat(this.ranges),i?0:this.mainIndex+1)}},{key:"replaceRange",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.mainIndex,o=this.ranges.slice();return o[i]=t,e.create(o,this.mainIndex)}},{key:"toJSON",value:function(){return{ranges:this.ranges.map(function(e){return e.toJSON()}),main:this.mainIndex}}}],[{key:"fromJSON",value:function(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new e(t.ranges.map(function(e){return ye.fromJSON(e)}),t.main)}},{key:"single",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return new e([e.range(t,i)],0)}},{key:"create",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(0==t.length)throw new RangeError("A selection needs at least one range");for(var o=0,n=0;n1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0;return ye.create(e,e,(0==t?0:t<0?4:8)|(null==i?3:Math.min(2,i))|(null!=o?o:33554431)<<5)}},{key:"range",value:function(e,t,i,o){var n=(null!=i?i:33554431)<<5|(null==o?3:Math.min(2,o));return te?4:0)|n)}},{key:"normalized",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=t[i];t.sort(function(e,t){return e.from-t.from}),i=t.indexOf(o);for(var n=1;nr.head?e.range(l,s):e.range(s,l))}}return new e(t,i)}}]),e}();function ge(e,t){var i,o=b(e.ranges);try{for(o.s();!(i=o.n()).done;){if(i.value.to>t)throw new RangeError("Selection points outside of document")}}catch(US){o.e(US)}finally{o.f()}}var be=0,ve=function(){function e(t,i,o,n,r){R(this,e),this.combine=t,this.compareInput=i,this.compare=o,this.isStatic=n,this.id=be++,this.default=t([]),this.extensions="function"==typeof r?r(this):r}return E(e,[{key:"of",value:function(e){return new ke([],this,0,e)}},{key:"compute",value:function(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ke(e,this,1,t)}},{key:"computeN",value:function(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ke(e,this,2,t)}},{key:"from",value:function(e,t){return t||(t=function(e){return e}),this.compute([e],function(i){return t(i.field(e))})}}],[{key:"define",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new e(t.combine||function(e){return e},t.compareInput||function(e,t){return e===t},t.compare||(t.combine?function(e,t){return e===t}:we),!!t.static,t.enables)}}]),e}();function we(e,t){return e==t||e.length==t.length&&e.every(function(e,i){return e===t[i]})}var ke=function(){function e(t,i,o,n){R(this,e),this.dependencies=t,this.facet=i,this.type=o,this.value=n,this.id=be++}return E(e,[{key:"dynamicSlot",value:function(e){var t,i,o=this,n=this.value,r=this.facet.compareInput,a=this.id,s=e[a]>>1,l=2==this.type,p=!1,c=!1,d=[],f=b(this.dependencies);try{for(f.s();!(i=f.n()).done;){var h=i.value;"doc"==h?p=!0:"selection"==h?c=!0:0==(1&(null!==(t=e[h.id])&&void 0!==t?t:1))&&d.push(e[h.id])}}catch(US){f.e(US)}finally{f.f()}return{create:function(e){return e.values[s]=n(e),1},update:function(e,t){if(p&&t.docChanged||c&&(t.docChanged||t.selection)||xe(e,d)){var i=n(e);if(l?!Oe(i,e.values[s],r):!r(i,e.values[s]))return e.values[s]=i,1}return 0},reconfigure:function(e,t){var i,p=t.config.address[a];if(null!=p){var c=Be(t,p);if(o.dependencies.every(function(i){return i instanceof ve?t.facet(i)===e.facet(i):!(i instanceof Pe)||t.field(i,!1)==e.field(i,!1)})||(l?Oe(i=n(e),c,r):r(i=n(e),c)))return e.values[s]=c,0}else i=n(e);return e.values[s]=i,1}}}}]),e}();function Oe(e,t,i){if(e.length!=t.length)return!1;for(var o=0;o>1;function s(e){for(var i=[],r=0;r>1;return{create:function(e){return e.values[i]=t.create(e),1},update:function(e,o){var n=e.values[i],r=t.updateF(n,o);return t.compareF(n,r)?0:(e.values[i]=r,1)},reconfigure:function(e,o){return null!=o.config.address[t.id]?(e.values[i]=o.field(t),0):(e.values[i]=t.create(e),1)}}}},{key:"init",value:function(e){return[this,Ce.of({field:this,create:e})]}},{key:"extension",get:function(){return this}}],[{key:"define",value:function(t){var i=new e(be++,t.create,t.update,t.compare||function(e,t){return e===t},t);return t.provide&&(i.provides=t.provide(i)),i}}]),e}(),De={lowest:4,low:3,default:2,high:1,highest:0};function Te(e){return function(t){return new Ae(t,e)}}var Qe={highest:Te(De.highest),high:Te(De.high),default:Te(De.default),low:Te(De.low),lowest:Te(De.lowest)},Ae=E(function e(t,i){R(this,e),this.inner=t,this.prec=i}),Re=function(){function e(){R(this,e)}return E(e,[{key:"of",value:function(e){return new Me(this,e)}},{key:"reconfigure",value:function(t){return e.reconfigure.of({compartment:this,extension:t})}},{key:"get",value:function(e){return e.config.compartments.get(this)}}]),e}(),Me=E(function e(t,i){R(this,e),this.compartment=t,this.inner=i}),Ee=function(){function e(t,i,o,n,r,a){for(R(this,e),this.base=t,this.compartments=i,this.dynamicSlots=o,this.address=n,this.staticValues=r,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}}],[{key:"resolve",value:function(t,i,o){var n,r=[],a=Object.create(null),s=new Map,l=b(Fe(t,i,s));try{for(l.s();!(n=l.n()).done;){var p=n.value;p instanceof Pe?r.push(p):(a[p.facet.id]||(a[p.facet.id]=[])).push(p)}}catch(US){l.e(US)}finally{l.f()}for(var c=Object.create(null),d=[],f=[],h=function(){var e=y[u];c[e.id]=f.length<<1,f.push(function(t){return e.slot(t)})},u=0,y=r;u-1&&o[s].splice(l,1),r instanceof Me&&i.delete(r.compartment)}if(n.set(r,a),Array.isArray(r)){var p,c=b(r);try{for(c.s();!(p=c.n()).done;)e(p.value,a)}catch(US){c.e(US)}finally{c.f()}}else if(r instanceof Me){if(i.has(r.compartment))throw new RangeError("Duplicate use of compartment in extensions");var d=t.get(r.compartment)||r.inner;i.set(r.compartment,d),e(d,a)}else if(r instanceof Ae)e(r.inner,r.prec);else if(r instanceof Pe)o[a].push(r),r.provides&&e(r.provides,a);else if(r instanceof ke)o[a].push(r),r.facet.extensions&&e(r.facet.extensions,De.default);else{var f=r.extension;if(!f)throw new Error("Unrecognized extension value in extension set (".concat(r,"). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks."));e(f,a)}}(e,De.default),o.reduce(function(e,t){return e.concat(t)})}function Le(e,t){if(1&t)return 2;var i=t>>1,o=e.status[i];if(4==o)throw new Error("Cyclic dependency between fields and/or facets");if(2&o)return o;e.status[i]=4;var n=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|n}function Be(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}var Ie=ve.define(),Ge=ve.define({combine:function(e){return e.some(function(e){return e})},static:!0}),$e=ve.define({combine:function(e){return e.length?e[0]:void 0},static:!0}),Ve=ve.define(),ze=ve.define(),Ne=ve.define(),We=ve.define({combine:function(e){return!!e.length&&e[0]}}),qe=function(){function e(t,i){R(this,e),this.type=t,this.value=i}return E(e,null,[{key:"define",value:function(){return new je}}]),e}(),je=function(){function e(){R(this,e)}return E(e,[{key:"of",value:function(e){return new qe(this,e)}}]),e}(),_e=function(){function e(t){R(this,e),this.map=t}return E(e,[{key:"of",value:function(e){return new Xe(this,e)}}]),e}(),Xe=function(){function e(t,i){R(this,e),this.type=t,this.value=i}return E(e,[{key:"map",value:function(t){var i=this.type.map(this.value,t);return void 0===i?void 0:i==this.value?this:new e(this.type,i)}},{key:"is",value:function(e){return this.type==e}}],[{key:"define",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new _e(e.map||function(e){return e})}},{key:"mapEffects",value:function(e,t){if(!e.length)return e;var i,o=[],n=b(e);try{for(n.s();!(i=n.n()).done;){var r=i.value.map(t);r&&o.push(r)}}catch(US){n.e(US)}finally{n.f()}return o}}]),e}();Xe.reconfigure=Xe.define(),Xe.appendConfig=Xe.define();var Ze=function(){function e(t,i,o,n,r,a){R(this,e),this.startState=t,this.changes=i,this.selection=o,this.effects=n,this.annotations=r,this.scrollIntoView=a,this._doc=null,this._state=null,o&&ge(o,i.newLength),r.some(function(t){return t.type==e.time})||(this.annotations=r.concat(e.time.of(Date.now())))}return E(e,[{key:"newDoc",get:function(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}},{key:"newSelection",get:function(){return this.selection||this.startState.selection.map(this.changes)}},{key:"state",get:function(){return this._state||this.startState.applyTransaction(this),this._state}},{key:"annotation",value:function(e){var t,i=b(this.annotations);try{for(i.s();!(t=i.n()).done;){var o=t.value;if(o.type==e)return o.value}}catch(US){i.e(US)}finally{i.f()}}},{key:"docChanged",get:function(){return!this.changes.empty}},{key:"reconfigured",get:function(){return this.startState.config!=this.state.config}},{key:"isUserEvent",value:function(t){var i=this.annotation(e.userEvent);return!(!i||!(i==t||i.length>t.length&&i.slice(0,t.length)==t&&"."==i[t.length]))}}],[{key:"create",value:function(t,i,o,n,r,a){return new e(t,i,o,n,r,a)}}]),e}();function Ue(e,t){for(var i=[],o=0,n=0;;){var r=void 0,a=void 0;if(o=e[o]))r=e[o++],a=e[o++];else{if(!(n=0;c--){var d=p[c](e);e=d instanceof Ze?d:Array.isArray(d)&&1==d.length&&d[0]instanceof Ze?d[0]:Ke(i,it(d),!1)}return e}function et(e){for(var t=e.startState,i=t.facet(Ne),o=e,n=i.length-1;n>=0;n--){var r=i[n](e);r&&Object.keys(r).length&&(o=He(o,Ye(t,r,e.changes.newLength),!0))}return o==e?e:Ze.create(t,e.changes,e.selection,o.effects,o.annotations,o.scrollIntoView)}Ze.time=qe.define(),Ze.userEvent=qe.define(),Ze.addToHistory=qe.define(),Ze.remote=qe.define();var tt=[];function it(e){return null==e?tt:Array.isArray(e)?e:[e]}var ot,nt=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(nt||(nt={})),rt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{ot=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(lQ){}function at(e){if(ot)return ot.test(e);for(var t=0;t"€"&&(i.toUpperCase()!=i.toLowerCase()||rt.test(i)))return!0}return!1}function st(e){return function(t){if(!/\S/.test(t))return nt.Space;if(at(t))return nt.Word;for(var i=0;i-1)return nt.Word;return nt.Other}}var lt=function(){function e(t,i,o,n,r,a){R(this,e),this.config=t,this.doc=i,this.selection=o,this.values=n,this.status=t.statusTemplate.slice(),this.computeSlot=r,a&&(a._state=this);for(var s=0;s1&&void 0!==arguments[1])||arguments[1],i=this.config.address[e.id];if(null!=i)return Le(this,i),Be(this,i);if(t)throw new RangeError("Field is not present in this state")}},{key:"update",value:function(){for(var e=arguments.length,t=new Array(e),i=0;i0&&void 0!==arguments[0]?arguments[0]:[];return t instanceof le?t:le.of(t,this.doc.length,this.facet(e.lineSeparator))}},{key:"toText",value:function(t){return B.of(t.split(this.facet(e.lineSeparator)||re))}},{key:"sliceDoc",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.doc.length;return this.doc.sliceString(e,t,this.lineBreak)}},{key:"facet",value:function(e){var t=this.config.address[e.id];return null==t?e.default:(Le(this,t),Be(this,t))}},{key:"toJSON",value:function(e){var t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(var i in e){var o=e[i];o instanceof Pe&&null!=this.config.address[o.id]&&(t[i]=o.spec.toJSON(this.field(e[i]),this))}return t}},{key:"tabSize",get:function(){return this.facet(e.tabSize)}},{key:"lineBreak",get:function(){return this.facet(e.lineSeparator)||"\n"}},{key:"readOnly",get:function(){return this.facet(We)}},{key:"phrase",value:function(t){for(var i=arguments.length,o=new Array(i>1?i-1:0),n=1;no.length?e:o[i-1]})),t}},{key:"languageDataAt",value:function(e,t){var i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,n=[],r=b(this.facet(Ie));try{for(r.s();!(i=r.n()).done;){var a,s=b((0,i.value)(this,t,o));try{for(s.s();!(a=s.n()).done;){var l=a.value;Object.prototype.hasOwnProperty.call(l,e)&&n.push(l[e])}}catch(US){s.e(US)}finally{s.f()}}}catch(US){r.e(US)}finally{r.f()}return n}},{key:"charCategorizer",value:function(e){return st(this.languageDataAt("wordChars",e).join(""))}},{key:"wordAt",value:function(e){for(var t=this.doc.lineAt(e),i=t.text,o=t.from,n=t.length,r=this.charCategorizer(e),a=e-o,s=e-o;a>0;){var l=Y(i,a,!1);if(r(i.slice(l,a))!=nt.Word)break;a=l}for(;s1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;if(!t||"string"!=typeof t.doc)throw new RangeError("Invalid JSON representation for EditorState");var n=[];if(o){var r=function(){if(Object.prototype.hasOwnProperty.call(t,a)){var e=o[a],i=t[a];n.push(e.init(function(t){return e.spec.fromJSON(i,t)}))}};for(var a in o)r()}return e.create({doc:t.doc,selection:me.fromJSON(t.selection),extensions:i.extensions?n.concat([i.extensions]):n})}},{key:"create",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=Ee.resolve(t.extensions||[],new Map),o=t.doc instanceof B?t.doc:B.of((t.doc||"").split(i.staticFacet(e.lineSeparator)||re)),n=t.selection?t.selection instanceof me?t.selection:me.single(t.selection.anchor,t.selection.head):me.single(0);return ge(n,o.length),i.staticFacet(Ge)||(n=n.asSingle()),new e(i,o,n,i.dynamicSlots.map(function(){return null}),function(e,t){return t.create(e)},null)}}]),e}();function pt(e,t){var i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={},r=b(e);try{for(r.s();!(i=r.n()).done;)for(var a=i.value,s=0,l=Object.keys(a);s1&&void 0!==arguments[1]?arguments[1]:e;return dt.create(e,t,this)}}]),e}();ct.prototype.startSide=ct.prototype.endSide=0,ct.prototype.point=!1,ct.prototype.mapMode=ae.TrackDel;var dt=function(){function e(t,i,o){R(this,e),this.from=t,this.to=i,this.value=o}return E(e,null,[{key:"create",value:function(t,i,o){return new e(t,i,o)}}]),e}();function ft(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}var ht=function(){function e(t,i,o,n){R(this,e),this.from=t,this.to=i,this.value=o,this.maxPoint=n}return E(e,[{key:"length",get:function(){return this.to[this.to.length-1]}},{key:"findIndex",value:function(e,t,i){for(var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=i?this.to:this.from,r=o,a=n.length;;){if(r==a)return r;var s=r+a>>1,l=n[s]-e||(i?this.value[s].endSide:this.value[s].startSide)-t;if(s==r)return l>=0?r:a;l>=0?a=s:r=s+1}}},{key:"between",value:function(e,t,i,o){for(var n=this.findIndex(t,-1e9,!0),r=this.findIndex(i,1e9,!1,n);n(h=i.mapPos(d,p.endSide))||f==h&&p.startSide>0&&p.endSide<=0)continue;(h-f||p.endSide-p.startSide)<0||(a<0&&(a=f),p.point&&(s=Math.max(s,h-f)),o.push(p),n.push(f-a),r.push(h-a))}return{mapped:o.length?new e(n,r,o,s):null,pos:a}}}]),e}(),ut=function(){function e(t,i,o,n){R(this,e),this.chunkPos=t,this.chunk=i,this.nextLayer=o,this.maxPoint=n}return E(e,[{key:"length",get:function(){var e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}},{key:"size",get:function(){if(this.isEmpty)return 0;var e,t=this.nextLayer.size,i=b(this.chunk);try{for(i.s();!(e=i.n()).done;){t+=e.value.value.length}}catch(US){i.e(US)}finally{i.f()}return t}},{key:"chunkEnd",value:function(e){return this.chunkPos[e]+this.chunk[e].length}},{key:"update",value:function(t){var i=t.add,o=void 0===i?[]:i,n=t.sort,r=void 0!==n&&n,a=t.filterFrom,s=void 0===a?0:a,l=t.filterTo,p=void 0===l?this.length:l,c=t.filter;if(0==o.length&&!c)return this;if(r&&(o=o.slice().sort(ft)),this.isEmpty)return o.length?e.of(o):this;for(var d=new bt(this,null,-1).goto(0),f=0,h=[],u=new mt;d.value||f=0){var y=o[f++];u.addInner(y.from,y.to,y.value)||h.push(y)}else 1==d.rangeIndex&&d.chunkIndexthis.chunkEnd(d.chunkIndex)||pd.to||p=n&&e<=n+r.length&&!1===r.between(n,e-n,t-n,i))return}this.nextLayer.between(e,t,i)}}},{key:"iter",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return vt.from([this]).goto(e)}},{key:"isEmpty",get:function(){return this.nextLayer==this}}],[{key:"create",value:function(t,i,o,n){return new e(t,i,o,n)}},{key:"iter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return vt.from(e).goto(t)}},{key:"compare",value:function(e,t,i,o){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,r=e.filter(function(e){return e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n}),a=t.filter(function(e){return e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n}),s=gt(r,a,i),l=new kt(r,s,n),p=new kt(a,s,n);i.iterGaps(function(e,t,i){return Ot(l,e,p,t,i,o)}),i.empty&&0==i.length&&Ot(l,0,p,0,0,o)}},{key:"eq",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3?arguments[3]:void 0;null==o&&(o=1e9-1);var n=e.filter(function(e){return!e.isEmpty&&t.indexOf(e)<0}),r=t.filter(function(t){return!t.isEmpty&&e.indexOf(t)<0});if(n.length!=r.length)return!1;if(!n.length)return!0;for(var a=gt(n,r),s=new kt(n,a,0).goto(i),l=new kt(r,a,0).goto(i);;){if(s.to!=l.to||!xt(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>o)return!0;s.next(),l.next()}}},{key:"spans",value:function(e,t,i,o){for(var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,r=new kt(e,null,n).goto(t),a=t,s=r.openStart;;){var l=Math.min(r.to,i);if(r.point){var p=r.activeForPoint(r.to),c=r.pointFroma&&(o.span(a,l,r.active,s),s=r.openEnd(l));if(r.to>i)return s+(r.point&&r.to>i?1:0);a=r.to,r.next()}}},{key:"of",value:function(e){var t,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=new mt,n=b(e instanceof dt?[e]:i?yt(e):e);try{for(n.s();!(t=n.n()).done;){var r=t.value;o.add(r.from,r.to,r.value)}}catch(US){n.e(US)}finally{n.f()}return o.finish()}}]),e}();function yt(e){if(e.length>1)for(var t=e[0],i=1;i0)return e.slice().sort(ft);t=o}return e}ut.empty=new ut([],[],null,-1),ut.empty.nextLayer=ut.empty;var mt=function(){function e(){R(this,e),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}return E(e,[{key:"finishChunk",value:function(e){this.chunks.push(new ht(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=[])}},{key:"add",value:function(t,i,o){this.addInner(t,i,o)||(this.nextLayer||(this.nextLayer=new e)).add(t,i,o)}},{key:"addInner",value:function(e,t,i){var o=e-this.lastTo||i.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(o<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}},{key:"addChunk",value:function(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);var i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}},{key:"finish",value:function(){return this.finishInner(ut.empty)}},{key:"finishInner",value:function(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;var t=ut.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}]),e}();function gt(e,t,i){var o,n=new Map,r=b(e);try{for(r.s();!(o=r.n()).done;)for(var a=o.value,s=0;s3&&void 0!==arguments[3]?arguments[3]:0;R(this,e),this.layer=t,this.skip=i,this.minPoint=o,this.rank=n}return E(e,[{key:"startSide",get:function(){return this.value?this.value.startSide:0}},{key:"endSide",get:function(){return this.value?this.value.endSide:0}},{key:"goto",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1e9;return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}},{key:"gotoInner",value:function(e,t,i){for(;this.chunkIndex=this.minPoint)break}}},{key:"setRangeIndex",value:function(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex1&&void 0!==arguments[1]?arguments[1]:-1e9,o=b(this.heap);try{for(o.s();!(t=o.n()).done;){t.value.goto(e,i)}}catch(US){o.e(US)}finally{o.f()}for(var n=this.heap.length>>1;n>=0;n--)wt(this.heap,n);return this.next(),this}},{key:"forward",value:function(e,t){var i,o=b(this.heap);try{for(o.s();!(i=o.n()).done;){i.value.forward(e,t)}}catch(US){o.e(US)}finally{o.f()}for(var n=this.heap.length>>1;n>=0;n--)wt(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}},{key:"next",value:function(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{var e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),wt(this.heap,0)}}}],[{key:"from",value:function(t){for(var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,n=[],r=0;r=o&&n.push(new bt(a,i,o,r));return 1==n.length?n[0]:new e(n)}}]),e}();function wt(e,t){for(var i=e[t];;){var o=1+(t<<1);if(o>=e.length)break;var n=e[o];if(o+1=0&&(n=e[o+1],o++),i.compare(n)<0)break;e[o]=i,e[t]=n,t=o}}var kt=function(){function e(t,i,o){R(this,e),this.minPoint=o,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=vt.from(t,i,o)}return E(e,[{key:"goto",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-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}},{key:"forward",value:function(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)}},{key:"removeActive",value:function(e){St(this.active,e),St(this.activeTo,e),St(this.activeRank,e),this.minActive=Pt(this.active,this.activeTo)}},{key:"addActive",value:function(e){for(var t=0,i=this.cursor,o=i.value,n=i.to,r=i.rank;t-1&&(this.activeTo[o]-this.cursor.from||this.active[o].endSide-this.cursor.startSide)<0){if(this.activeTo[o]>e){this.to=this.activeTo[o],this.endSide=this.active[o].endSide;break}this.removeActive(o),i&&St(i,o)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}var n=this.cursor.value;if(n.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}},{key:"openEnd",value:function(e){for(var t=0,i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}]),e}();function Ot(e,t,i,o,n,r){e.goto(t),i.goto(o);for(var a=o+n,s=o,l=o-t;;){var p=e.to+l-i.to||e.endSide-i.endSide,c=p<0?e.to+l:i.to,d=Math.min(c,a);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&xt(e.activeForPoint(e.to+l),i.activeForPoint(i.to))||r.comparePoint(s,d,e.point,i.point):d>s&&!xt(e.active,i.active)&&r.compareRange(s,d,e.active,i.active),c>a)break;s=c,p<=0&&e.next(),p>=0&&i.next()}}function xt(e,t){if(e.length!=t.length)return!1;for(var i=0;i=t;o--)e[o+1]=e[o];e[t]=i}function Pt(e,t){for(var i=-1,o=1e9,n=0;n2&&void 0!==arguments[2]?arguments[2]:e.length,o=0,n=0;n=t)return n;if(n==e.length)break;r+=9==e.charCodeAt(n)?i-r%i:1,n=Y(e,n)}return!0===o?-1:e.length}for(var Qt="ͼ",At="undefined"==typeof Symbol?"__"+Qt:Symbol.for(Qt),Rt="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Mt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{},Et=function(){function e(t,i){R(this,e),this.rules=[];var o=(i||{}).finish;function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function r(e,t,i,a){var s=[],l=/^@(\w+)\b/.exec(e[0]),p=l&&"keyframes"==l[1];if(l&&null==t)return i.push(e[0]+";");for(var c in t){var d=t[c];if(/&/.test(c))r(c.split(/,\s*/).map(function(t){return e.map(function(e){return t.replace(/&/,e)})}).reduce(function(e,t){return e.concat(t)}),d,i);else if(d&&"object"==A(d)){if(!l)throw new RangeError("The value of a property ("+c+") should be a primitive value.");r(n(c),d,s,p)}else null!=d&&s.push(c.replace(/_.*/,"").replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()})+": "+d+";")}(s.length||p)&&i.push((!o||l||a?e:e.map(o)).join(", ")+" {"+s.join(" ")+"}")}for(var a in t)r(n(a),t[a],this.rules)}return E(e,[{key:"getRules",value:function(){return this.rules.join("\n")}}],[{key:"newName",value:function(){var e=Mt[At]||1;return Mt[At]=e+1,Qt+e.toString(36)}},{key:"mount",value:function(e,t){(e[Rt]||new Lt(e)).mount(Array.isArray(t)?t:[t])}}]),e}(),Ft=new Map,Lt=function(){function e(t){R(this,e);var i=t.ownerDocument||t,o=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&o.CSSStyleSheet){var n=Ft.get(i);if(n)return t.adoptedStyleSheets=[n.sheet].concat(c(t.adoptedStyleSheets)),t[Rt]=n;this.sheet=new o.CSSStyleSheet,t.adoptedStyleSheets=[this.sheet].concat(c(t.adoptedStyleSheets)),Ft.set(i,this)}else{this.styleTag=i.createElement("style");var r=t.head||t;r.insertBefore(this.styleTag,r.firstChild)}this.modules=[],t[Rt]=this}return E(e,[{key:"mount",value:function(e){for(var t=this.sheet,i=0,o=0,n=0;n-1&&(this.modules.splice(a,1),o--,a=-1),-1==a){if(this.modules.splice(o++,0,r),t)for(var s=0;s",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Gt="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),$t="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Vt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),zt=$t||Gt&&+Gt[1]<57,Nt=0;Nt<10;Nt++)Bt[48+Nt]=Bt[96+Nt]=String(Nt);for(Nt=1;Nt<=24;Nt++)Bt[Nt+111]="F"+Nt;for(Nt=65;Nt<=90;Nt++)Bt[Nt]=String.fromCharCode(Nt+32),It[Nt]=String.fromCharCode(Nt);for(var Wt in Bt)It.hasOwnProperty(Wt)||(It[Wt]=Bt[Wt]);function qt(e){var t=!(zt&&(e.ctrlKey||e.altKey||e.metaKey)||Vt&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?It:Bt)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}function jt(e){return(11==e.nodeType?e.getSelection?e:e.ownerDocument:e).getSelection()}function _t(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Xt(e){for(var t=e.activeElement;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function Zt(e,t){if(!t.anchorNode)return!1;try{return _t(e,t.anchorNode)}catch(lQ){return!1}}function Ut(e){return 3==e.nodeType?pi(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function Ht(e,t,i,o){return!!i&&(Kt(e,t,i,o,-1)||Kt(e,t,i,o,1))}function Yt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Kt(e,t,i,o,n){for(;;){if(e==i&&t==o)return!0;if(t==(n<0?0:Jt(e))){if("DIV"==e.nodeName)return!1;var r=e.parentNode;if(!r||1!=r.nodeType)return!1;t=Yt(e)+(n<0?0:1),e=r}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(n<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=n<0?Jt(e):0}}}function Jt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}var ei={left:0,right:0,top:0,bottom:0};function ti(e,t){var i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function ii(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function oi(e,t,i,o,n,r,a,s){for(var l=e.ownerDocument,p=l.defaultView||window,c=e;c;)if(1==c.nodeType){var d=void 0,f=c==l.body;if(f)d=ii(p);else{if(c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}var h=c.getBoundingClientRect();d={left:h.left,right:h.left+c.clientWidth,top:h.top,bottom:h.top+c.clientHeight}}var u=0,y=0;if("nearest"==n)t.top0&&t.bottom>d.bottom+y&&(y=t.bottom-d.bottom+y+a)):t.bottom>d.bottom&&(y=t.bottom-d.bottom+a,i<0&&t.top-y0&&t.right>d.right+u&&(u=t.right-d.right+u+r)):t.right>d.right&&(u=t.right-d.right+r,i<0&&t.lefti.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}var ri,ai=function(){function e(){R(this,e),this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}return E(e,[{key:"eq",value:function(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}},{key:"setRange",value:function(e){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}},{key:"set",value:function(e,t,i,o){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=o}}]),e}(),si=null;function li(e){if(e.setActive)return e.setActive();if(si)return e.focus(si);for(var t=[],i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==si?{get preventScroll(){return si={preventScroll:!0},!0}}:void 0),!si){si=!1;for(var o=0;o2&&void 0!==arguments[2]?arguments[2]:t,o=ri||(ri=document.createRange());return o.setEnd(e,i),o.setStart(e,t),o}function ci(e,t,i){var o={key:t,code:t,keyCode:i,which:i,cancelable:!0},n=new KeyboardEvent("keydown",o);n.synthetic=!0,e.dispatchEvent(n);var r=new KeyboardEvent("keyup",o);return r.synthetic=!0,e.dispatchEvent(r),n.defaultPrevented||r.defaultPrevented}function di(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function fi(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function hi(e,t){var i=t.focusNode,o=t.focusOffset;if(!i||t.anchorNode!=i||t.anchorOffset!=o)return!1;for(;;)if(o){if(1!=i.nodeType)return!1;var n=i.childNodes[o-1];"false"==n.contentEditable?o--:o=Jt(i=n)}else{if(i==e)return!0;o=Yt(i),i=i.parentNode}}var ui=function(){function e(t,i){var o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];R(this,e),this.node=t,this.offset=i,this.precise=o}return E(e,null,[{key:"before",value:function(t,i){return new e(t.parentNode,Yt(t),i)}},{key:"after",value:function(t,i){return new e(t.parentNode,Yt(t)+1,i)}}]),e}(),yi=[],mi=function(){function e(){R(this,e),this.parent=null,this.dom=null,this.dirty=2}return E(e,[{key:"overrideDOMText",get:function(){return null}},{key:"posAtStart",get:function(){return this.parent?this.parent.posBefore(this):0}},{key:"posAtEnd",get:function(){return this.posAtStart+this.length}},{key:"posBefore",value:function(e){var t,i=this.posAtStart,o=b(this.children);try{for(o.s();!(t=o.n()).done;){var n=t.value;if(n==e)return i;i+=n.length+n.breakAfter}}catch(US){o.e(US)}finally{o.f()}throw new RangeError("Invalid child in posBefore")}},{key:"posAfter",value:function(e){return this.posBefore(e)+e.length}},{key:"coordsAt",value:function(e,t){return null}},{key:"sync",value:function(t,i){if(2&this.dirty){var o,n,r=this.dom,a=null,s=b(this.children);try{for(s.s();!(n=s.n()).done;){var l=n.value;if(l.dirty){if(!l.dom&&(o=a?a.nextSibling:r.firstChild)){var p=e.get(o);(!p||!p.parent&&p.canReuseDOM(l))&&l.reuseDOM(o)}l.sync(t,i),l.dirty=0}if(o=a?a.nextSibling:r.firstChild,i&&!i.written&&i.node==r&&o!=l.dom&&(i.written=!0),l.dom.parentNode==r)for(;o&&o!=l.dom;)o=gi(o);else r.insertBefore(l.dom,o);a=l.dom}}catch(US){s.e(US)}finally{s.f()}for((o=a?a.nextSibling:r.firstChild)&&i&&i.node==r&&(i.written=!0);o;)o=gi(o)}else if(1&this.dirty){var c,d=b(this.children);try{for(d.s();!(c=d.n()).done;){var f=c.value;f.dirty&&(f.sync(t,i),f.dirty=0)}}catch(US){d.e(US)}finally{d.f()}}}},{key:"reuseDOM",value:function(e){}},{key:"localPosFromDOM",value:function(t,i){var o;if(t==this.dom)o=this.dom.childNodes[i];else{for(var n=0==Jt(t)?0:0==i?-1:1;;){var r=t.parentNode;if(r==this.dom)break;0==n&&r.firstChild!=r.lastChild&&(n=t==r.firstChild?-1:1),t=r}o=n<0?t:t.nextSibling}if(o==this.dom.firstChild)return 0;for(;o&&!e.get(o);)o=o.nextSibling;if(!o)return this.length;for(var a=0,s=0;;a++){var l=this.children[a];if(l.dom==o)return s;s+=l.length+l.breakAfter}}},{key:"domBoundsAround",value:function(e,t){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=-1,n=-1,r=-1,a=-1,s=0,l=i,p=i;st)return c.domBoundsAround(e,t,l);if(d>=e&&-1==o&&(o=s,n=l),l>t&&c.dom.parentNode==this.dom){r=s,a=p;break}p=d,l=d+c.breakAfter}return{from:n,to:a<0?i+this.length:a,startDOM:(o?this.children[o-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}},{key:"markDirty",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirty|=2,this.markParentsDirty(e)}},{key:"markParentsDirty",value:function(e){for(var t=this.parent;t;t=t.parent){if(e&&(t.dirty|=2),1&t.dirty)return;t.dirty|=1,e=!1}}},{key:"setParent",value:function(e){this.parent!=e&&(this.parent=e,this.dirty&&this.markParentsDirty(!0))}},{key:"setDOM",value:function(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}},{key:"rootView",get:function(){for(var e=this;;){var t=e.parent;if(!t)return e;e=t}}},{key:"replaceChildren",value:function(e,t){var i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:yi;this.markDirty();for(var n=e;n0&&void 0!==arguments[0]?arguments[0]:this.length;return new bi(this.children,e,this.children.length)}},{key:"childPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.childCursor().findPos(e,t)}},{key:"toString",value:function(){var e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}},{key:"isEditable",get:function(){return!0}},{key:"isWidget",get:function(){return!1}},{key:"isHidden",get:function(){return!1}},{key:"merge",value:function(e,t,i,o,n,r){return!1}},{key:"become",value:function(e){return!1}},{key:"canReuseDOM",value:function(e){return e.constructor==this.constructor}},{key:"getSide",value:function(){return 0}},{key:"destroy",value:function(){this.parent=null}}],[{key:"get",value:function(e){return e.cmView}}]),e}();function gi(e){var t=e.nextSibling;return e.parentNode.removeChild(e),t}mi.prototype.breakAfter=0;var bi=function(){function e(t,i,o){R(this,e),this.children=t,this.pos=i,this.i=o,this.off=0}return E(e,[{key:"findPos",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;var i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}]),e}();function vi(e,t,i,o,n,r,a,s,l){var p=e.children,c=p.length?p[t]:null,d=r.length?r[r.length-1]:null,f=d?d.breakAfter:a;if(!(t==o&&c&&!a&&!f&&r.length<2&&c.merge(i,n,r.length?d:null,0==i,s,l))){if(o0&&(!a&&r.length&&c.merge(i,c.length,r[0],!1,s,0)?c.breakAfter=r.shift().breakAfter:(i2),Mi={mac:Ri||/Mac/.test(ki.platform),windows:/Win/.test(ki.platform),linux:/Linux|X11/.test(ki.platform),ie:Pi,ie_version:Si?Oi.documentMode||6:Ci?+Ci[1]:xi?+xi[1]:0,gecko:Di,gecko_version:Di?+(/Firefox\/(\d+)/.exec(ki.userAgent)||[0,0])[1]:0,chrome:!!Ti,chrome_version:Ti?+Ti[1]:0,ios:Ri,android:/Android\b/.test(ki.userAgent),webkit:Qi,safari:Ai,webkit_version:Qi?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Oi.documentElement.style.tabSize?"tab-size":"-moz-tab-size"},Ei=256,Fi=function(e){x(i,mi);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).text=e,o}return E(i,[{key:"length",get:function(){return this.text.length}},{key:"createDOM",value:function(e){this.setDOM(e||document.createTextNode(this.text))}},{key:"sync",value:function(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}},{key:"reuseDOM",value:function(e){3==e.nodeType&&this.createDOM(e)}},{key:"merge",value:function(e,t,o){return(!o||o instanceof i&&!(this.length-(t-e)+o.length>Ei))&&(this.text=this.text.slice(0,e)+(o?o.text:"")+this.text.slice(t),this.markDirty(),!0)}},{key:"split",value:function(e){var t=new i(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t}},{key:"localPosFromDOM",value:function(e,t){return e==this.dom?t:t?this.text.length:0}},{key:"domAtPos",value:function(e){return new ui(this.dom,e)}},{key:"domBoundsAround",value:function(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}},{key:"coordsAt",value:function(e,t){return Bi(this.dom,e,t)}}]),i}(),Li=function(e){x(i,mi);var t=C(i);function i(e){var o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;R(this,i),(o=t.call(this)).mark=e,o.children=n,o.length=r;var a,s=b(n);try{for(s.s();!(a=s.n()).done;){a.value.setParent(D(o))}}catch(US){s.e(US)}finally{s.f()}return o}return E(i,[{key:"setAttrs",value:function(e){if(fi(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(var t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}},{key:"reuseDOM",value:function(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.dirty|=6)}},{key:"sync",value:function(e,t){this.dom?4&this.dirty&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),k(Q(i.prototype),"sync",this).call(this,e,t)}},{key:"merge",value:function(e,t,o,n,r,a){return(!o||!(!(o instanceof i&&o.mark.eq(this.mark))||e&&r<=0||te&&o.push(n=e&&(r=a),n=p,a++}}catch(US){s.e(US)}finally{s.f()}var c=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new i(this.mark,o,c)}},{key:"domAtPos",value:function(e){return ji(this,e)}},{key:"coordsAt",value:function(e,t){return Xi(this,e,t)}}]),i}();function Bi(e,t,i){var o=e.nodeValue.length;t>o&&(t=o);var n=t,r=t,a=0;0==t&&i<0||t==o&&i>=0?Mi.chrome||Mi.gecko||(t?(n--,a=1):r=0)?0:s.length-1];return Mi.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,function(e){return e.width})||l),a?ti(l,a<0):l||null}var Ii=function(e){x(i,mi);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this)).widget=e,r.length=o,r.side=n,r.prevWidget=null,r}return E(i,[{key:"split",value:function(e){var t=i.create(this.widget,this.length-e,this.side);return this.length-=e,t}},{key:"sync",value:function(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}},{key:"getSide",value:function(){return this.side}},{key:"merge",value:function(e,t,o,n,r,a){return!(o&&(!(o instanceof i&&this.widget.compare(o.widget))||e>0&&r<=0||t0)?ui.before(this.dom):ui.after(this.dom,e==this.length)}},{key:"domBoundsAround",value:function(){return null}},{key:"coordsAt",value:function(e,t){var i=this.dom.getClientRects(),o=null;if(!i.length)return ei;for(var n=e>0?i.length-1:0;o=i[n],!(e>0?0==n:n==i.length-1||o.top0?-1:1);return this.length?o:ti(o,this.side>0)}},{key:"isEditable",get:function(){return!1}},{key:"isWidget",get:function(){return!0}},{key:"isHidden",get:function(){return this.widget.isHidden}},{key:"destroy",value:function(){k(Q(i.prototype),"destroy",this).call(this),this.dom&&this.widget.destroy(this.dom)}}],[{key:"create",value:function(e,t,o){return new(e.customView||i)(e,t,o)}}]),i}(),Gi=function(e){x(i,Ii);var t=C(i);function i(){return R(this,i),t.apply(this,arguments)}return E(i,[{key:"domAtPos",value:function(e){var t=this.widget,i=t.topView,o=t.text;return i?$i(e,0,i,o,this.length-i.length,function(e,t){return e.domAtPos(t)},function(e,t){return new ui(e,Math.min(t,e.nodeValue.length))}):new ui(o,Math.min(e,o.nodeValue.length))}},{key:"sync",value:function(){this.setDOM(this.widget.toDOM())}},{key:"localPosFromDOM",value:function(e,t){var i=this.widget,o=i.topView,n=i.text;return o?zi(e,t,o,n,this.length-o.length):Math.min(t,this.length)}},{key:"ignoreMutation",value:function(){return!1}},{key:"overrideDOMText",get:function(){return null}},{key:"coordsAt",value:function(e,t){var i=this.widget,o=i.topView,n=i.text;return o?$i(e,t,o,n,this.length-o.length,function(e,t,i){return e.coordsAt(t,i)},function(e,t,i){return Bi(e,t,i)}):Bi(n,e,t)}},{key:"destroy",value:function(){var e;k(Q(i.prototype),"destroy",this).call(this),null===(e=this.widget.topView)||void 0===e||e.destroy()}},{key:"isEditable",get:function(){return!0}},{key:"canReuseDOM",value:function(){return!0}}]),i}();function $i(e,t,i,o,n,r,a){if(i instanceof Li){for(var s=i.dom.firstChild;s;s=s.nextSibling){var l=mi.get(s);if(l){var p=_t(s,o),c=l.length+(p?n:0);if(e0?ui.before(this.dom):ui.after(this.dom)}},{key:"localPosFromDOM",value:function(){return 0}},{key:"domBoundsAround",value:function(){return null}},{key:"coordsAt",value:function(e){var t=this.dom.getBoundingClientRect(),i=qi(this,this.side>0?-1:1);return i&&i.topt.top?{left:t.left,right:t.right,top:i.top,bottom:i.bottom}:t}},{key:"overrideDOMText",get:function(){return B.empty}},{key:"isHidden",get:function(){return!0}}]),i}();function qi(e,t){for(var i=e.parent,o=i?i.children.indexOf(e):-1;i&&o>=0;)if(t<0?o>0:or&&t0;l--){var p=o[l-1];if(p.dom.parentNode==i)return p.domAtPos(p.length)}for(var c=n;c0&&t instanceof Li&&n.length&&(o=n[n.length-1])instanceof Li&&o.mark.eq(t.mark)?_i(o,t.children[0],i-1):(n.push(t),t.setParent(e)),e.length+=t.length}function Xi(e,t,i){var o=null,n=-1,r=null,a=-1;!function e(t,s){for(var l=0,p=0;l=s&&(c.children.length?e(c,s-p):(!r||r instanceof Wi&&i>0)&&(d>s||p==d&&c.getSide()>0)?(r=c,a=s-p):(p-1}}],[{key:"mark",value:function(e){return new to(e)}},{key:"widget",value:function(e){var t=e.side||0,i=!!e.block;return new oo(e,t+=i?t>0?3e8:-4e8:t>0?1e8:-1e8,t,i,e.widget||null,!1)}},{key:"replace",value:function(e){var t,i,o=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{var n=no(e,o);t=(n.start?o?-3e8:-1:5e8)-1,i=1+(n.end?o?2e8:1:-6e8)}return new oo(e,t,i,o,e.widget||null,!0)}},{key:"line",value:function(e){return new io(e)}},{key:"set",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return ut.of(e,t)}}]),i}();eo.none=ut.empty;var to=function(e){x(i,eo);var t=C(i);function i(e){var o;R(this,i);var n=no(e),r=n.start,a=n.end;return(o=t.call(this,r?-1:5e8,a?1:-6e8,null,e)).tagName=e.tagName||"span",o.class=e.class||"",o.attrs=e.attributes||null,o}return E(i,[{key:"eq",value:function(e){return this==e||e instanceof i&&this.tagName==e.tagName&&this.class==e.class&&Hi(this.attrs,e.attrs)}},{key:"range",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(e>=t)throw new RangeError("Mark decorations may not be empty");return k(Q(i.prototype),"range",this).call(this,e,t)}}]),i}();to.prototype.point=!1;var io=function(e){x(i,eo);var t=C(i);function i(e){return R(this,i),t.call(this,-2e8,-2e8,null,e)}return E(i,[{key:"eq",value:function(e){return e instanceof i&&this.spec.class==e.spec.class&&Hi(this.spec.attributes,e.spec.attributes)}},{key:"range",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return k(Q(i.prototype),"range",this).call(this,e,t)}}]),i}();io.prototype.mapMode=ae.TrackBefore,io.prototype.point=!0;var oo=function(e){x(i,eo);var t=C(i);function i(e,o,n,r,a,s){var l;return R(this,i),(l=t.call(this,o,n,a,e)).block=r,l.isReplace=s,l.mapMode=r?o<=0?ae.TrackBefore:ae.TrackAfter:ae.TrackDel,l}return E(i,[{key:"type",get:function(){return this.startSide=5}},{key:"eq",value:function(e){return e instanceof i&&ro(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}},{key:"range",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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 k(Q(i.prototype),"range",this).call(this,e,t)}}]),i}();function no(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=e.inclusiveStart,o=e.inclusiveEnd;return null==i&&(i=e.inclusive),null==o&&(o=e.inclusive),{start:null!=i?i:t,end:null!=o?o:t}}function ro(e,t){return e==t||!!(e&&t&&e.compare(t))}function ao(e,t,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=i.length-1;n>=0&&i[n]+o>=e?i[n]=Math.max(i[n],t):i.push(e,t)}oo.prototype.point=!0;var so=function(e){x(i,mi);var t=C(i);function i(){var e;return R(this,i),(e=t.apply(this,arguments)).children=[],e.length=0,e.prevAttrs=void 0,e.attrs=null,e.breakAfter=0,e}return E(i,[{key:"merge",value:function(e,t,o,n,r,a){if(o){if(!(o instanceof i))return!1;this.dom||o.transferDOM(this)}return n&&this.setDeco(o?o.attrs:null),wi(this,e,t,o?o.children:[],r,a),!0}},{key:"split",value:function(e){var t=new i;if(t.breakAfter=this.breakAfter,0==this.length)return t;var o=this.childPos(e),n=o.i,r=o.off;r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(var a=n;a0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}},{key:"transferDOM",value:function(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}},{key:"setDeco",value:function(e){Hi(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}},{key:"append",value:function(e,t){_i(this,e,t)}},{key:"addLineDeco",value:function(e){var t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=Ui(t,this.attrs||{})),i&&(this.attrs=Ui({class:i},this.attrs||{}))}},{key:"domAtPos",value:function(e){return ji(this,e)}},{key:"reuseDOM",value:function(e){"DIV"==e.nodeName&&(this.setDOM(e),this.dirty|=6)}},{key:"sync",value:function(e,t){var o;this.dom?4&this.dirty&&(fi(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(Yi(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),k(Q(i.prototype),"sync",this).call(this,e,t);for(var n=this.dom.lastChild;n&&mi.get(n)instanceof Li;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(o=mi.get(n))||void 0===o?void 0:o.isEditable)||Mi.ios&&this.children.some(function(e){return e instanceof Fi})))){var r=document.createElement("BR");r.cmIgnore=!0,this.dom.appendChild(r)}}},{key:"measureTextSize",value:function(){if(0==this.children.length||this.length>20)return null;var e,t,i=0,o=b(this.children);try{for(o.s();!(t=o.n()).done;){var n=t.value;if(!(n instanceof Fi)||/[^ -~]/.test(n.text))return null;var r=Ut(n.dom);if(1!=r.length)return null;i+=r[0].width,e=r[0].height}}catch(US){o.e(US)}finally{o.f()}return i?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:i/this.length,textHeight:e}:null}},{key:"coordsAt",value:function(e,t){var i=Xi(this,e,t);if(!this.children.length&&i&&this.parent){var o=this.parent.view.viewState.heightOracle,n=i.bottom-i.top;if(Math.abs(n-o.lineHeight)<2&&o.textHeight=t){if(r instanceof i)return r;if(a>t)break}n=a+r.breakAfter}return null}}]),i}(),lo=function(e){x(i,mi);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this)).widget=e,r.length=o,r.type=n,r.breakAfter=0,r.prevWidget=null,r}return E(i,[{key:"merge",value:function(e,t,o,n,r,a){return!(o&&(!(o instanceof i&&this.widget.compare(o.widget))||e>0&&r<=0||t0&&void 0!==arguments[0]?arguments[0]:this.bufferMarks;this.pendingBuffer&&(this.curLine.append(co(new Wi(-1),e),e.length),this.pendingBuffer=0)}},{key:"addBlockWidget",value:function(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}},{key:"finish",value:function(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}},{key:"buildText",value:function(e,t,i){for(;e>0;){if(this.textOff==this.text.length){var o=this.cursor.next(this.skip),n=o.value,r=o.lineBreak,a=o.done;if(this.skip=0,a)throw new Error("Ran out of text content when drawing inline views");if(r){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=n,this.textOff=0}var s=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(co(new Fi(this.text.slice(this.textOff,this.textOff+s)),t),i),this.atCursorPos=!0,this.textOff+=s,e-=s,i=0}}},{key:"span",value:function(e,t,i,o){this.buildText(t-e,i,o),this.pos=t,this.openStart<0&&(this.openStart=o)}},{key:"point",value:function(e,t,i,o,n,r){if(this.disallowBlockEffectsFor[r]&&i instanceof oo){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}var a=t-e;if(i instanceof oo)if(i.block){var s=i.type;s!=Ji.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new lo(i.widget||new fo("div"),a,s))}else{var l=Ii.create(i.widget||new fo("span"),a,a?0:i.startSide),p=this.atCursorPos&&!l.isEditable&&n<=o.length&&(e0),c=!l.isEditable&&(eo.length||i.startSide<=0),d=this.getLine();2!=this.pendingBuffer||p||l.isEditable||(this.pendingBuffer=0),this.flushBuffer(o),p&&(d.append(co(new Wi(1),o),n),n=o.length+Math.max(0,n-o.length)),d.append(co(l,o),n),this.atCursorPos=c,this.pendingBuffer=c?eo.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=o.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=n)}}],[{key:"build",value:function(t,i,o,n,r){var a=new e(t,i,o,r);return a.openEnd=ut.spans(n,i,o,a),a.openStart<0&&(a.openStart=a.openEnd),a.finish(a.openEnd),a}}]),e}();function co(e,t){var i,o=b(t);try{for(o.s();!(i=o.n()).done;){var n=i.value;e=new Li(n,[e],e.length)}}catch(US){o.e(US)}finally{o.f()}return e}var fo=function(e){x(i,Ki);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).tag=e,o}return E(i,[{key:"eq",value:function(e){return e.tag==this.tag}},{key:"toDOM",value:function(){return document.createElement(this.tag)}},{key:"updateDOM",value:function(e){return e.nodeName.toLowerCase()==this.tag}},{key:"isHidden",get:function(){return!0}}]),i}(),ho=ve.define(),uo=ve.define(),yo=ve.define(),mo=ve.define(),go=ve.define(),bo=ve.define(),vo=ve.define(),wo=ve.define({combine:function(e){return e.some(function(e){return e})}}),ko=ve.define({combine:function(e){return e.some(function(e){return e})}}),Oo=function(){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"nearest",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"nearest",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:5;R(this,e),this.range=t,this.y=i,this.x=o,this.yMargin=n,this.xMargin=r}return E(e,[{key:"map",value:function(t){return t.empty?this:new e(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin)}}]),e}(),xo=Xe.define({map:function(e,t){return e.map(t)}});function So(e,t,i){var o=e.facet(mo);o.length?o[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+":",t):console.error(t)}var Co=ve.define({combine:function(e){return!e.length||e[0]}}),Po=0,Do=ve.define(),To=function(){function e(t,i,o,n){R(this,e),this.id=t,this.create=i,this.domEventHandlers=o,this.extension=n(this)}return E(e,null,[{key:"define",value:function(t,i){var o=i||{},n=o.eventHandlers,r=o.provide,a=o.decorations;return new e(Po++,t,n,function(e){var t=[Do.of(e)];return a&&t.push(Mo.of(function(t){var i=t.plugin(e);return i?a(i):eo.none})),r&&t.push(r(e)),t})}},{key:"fromClass",value:function(t,i){return e.define(function(e){return new t(e)},i)}}]),e}(),Qo=function(){function e(t){R(this,e),this.spec=t,this.mustUpdate=null,this.value=null}return E(e,[{key:"update",value:function(e){if(this.value){if(this.mustUpdate){var t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(So(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(lQ){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(i){So(e.state,i,"CodeMirror plugin crashed"),this.deactivate()}return this}},{key:"destroy",value:function(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(i){So(e.state,i,"CodeMirror plugin crashed")}}},{key:"deactivate",value:function(){this.spec=this.value=null}}]),e}(),Ao=ve.define(),Ro=ve.define(),Mo=ve.define(),Eo=ve.define(),Fo=ve.define(),Lo=ve.define(),Bo=function(){function e(t,i,o,n){R(this,e),this.fromA=t,this.toA=i,this.fromB=o,this.toB=n}return E(e,[{key:"join",value:function(t){return new e(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}},{key:"addToSet",value:function(e){for(var t=e.length,i=this;t>0;t--){var o=e[t-1];if(!(o.fromA>i.toA)){if(o.toAc)break;r+=2}if(!l)return o;new e(l.fromA,l.toA,l.fromB,l.toB).addToSet(o),a=l.toA,s=l.toB}}}]),e}(),Io=function(){function e(t,i,o){R(this,e),this.view=t,this.state=i,this.transactions=o,this.flags=0,this.startState=t.state,this.changes=le.empty(this.startState.doc.length);var n,r=b(o);try{for(r.s();!(n=r.n()).done;){var a=n.value;this.changes=this.changes.compose(a.changes)}}catch(US){r.e(US)}finally{r.f()}var s=[];this.changes.iterChangedRanges(function(e,t,i,o){return s.push(new Bo(e,t,i,o))}),this.changedRanges=s}return E(e,[{key:"viewportChanged",get:function(){return(4&this.flags)>0}},{key:"heightChanged",get:function(){return(2&this.flags)>0}},{key:"geometryChanged",get:function(){return this.docChanged||(10&this.flags)>0}},{key:"focusChanged",get:function(){return(1&this.flags)>0}},{key:"docChanged",get:function(){return!this.changes.empty}},{key:"selectionSet",get:function(){return this.transactions.some(function(e){return e.selection})}},{key:"empty",get:function(){return 0==this.flags&&0==this.transactions.length}}],[{key:"create",value:function(t,i,o){return new e(t,i,o)}}]),e}(),Go=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Go||(Go={})),$o=Go.LTR,Vo=Go.RTL;function zo(e){for(var t=[],i=0;i=t){if(a.level==i)return r;(n<0||(0!=o?o<0?a.fromt:e[n].level>a.level))&&(n=r)}}if(n<0)throw new RangeError("Index out of range");return n}}]),e}(),en=[];function tn(e,t){var i=e.length,o=t==$o?1:2,n=t==$o?2:1;if(!e||1==o&&!Ko.test(e))return on(i);for(var r=0,a=o,s=o;r=0;O-=3)if(jo[O+1]==-g){var x=jo[O+2],S=2&x?o:4&x?1&x?n:o:0;S&&(en[v]=en[jo[O]]=S),w=O;break}}else{if(189==jo.length)break;jo[w++]=v,jo[w++]=m,jo[w++]=k}else if(2==(b=en[v])||1==b){var C=b==o;k=C?0:1;for(var P=w-3;P>=0;P-=3){var D=jo[P+2];if(2&D)break;if(C)jo[P+2]|=2;else{if(4&D)break;jo[P+2]|=4}}}for(var T=0;TL;){for(var G=I,$=2!=en[--I];I>L&&$==(2!=en[I-1]);)I--;E.push(new Jo(I,G,$?2:1))}else E.push(new Jo(L,F,0))}else for(var V=0;V1){var c,d=b(this.points);try{for(d.s();!(c=d.n()).done;){var f=c.value;f.node==e&&f.pos>this.text.length&&(f.pos-=l-1)}}catch(US){d.e(US)}finally{d.f()}}r=s+l}}},{key:"readNode",value:function(e){if(!e.cmIgnore){var t=mi.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(var o=i.iter();!o.next().done;)o.lineBreak?this.lineBreak():this.append(o.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}}},{key:"findPointBefore",value:function(e,t){var i,o=b(this.points);try{for(o.s();!(i=o.n()).done;){var n=i.value;n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}}catch(US){o.e(US)}finally{o.f()}}},{key:"findPointInside",value:function(e,t){var i,o=b(this.points);try{for(o.s();!(i=o.n()).done;){var n=i.value;(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+Math.min(t,n.offset))}}catch(US){o.e(US)}finally{o.f()}}}]),e}();function ln(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}var pn=E(function e(t,i){R(this,e),this.node=t,this.offset=i,this.pos=-1}),cn=function(e){x(i,mi);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).view=e,o.compositionDeco=eo.none,o.decorations=[],o.dynamicDecorationMap=[],o.minWidth=0,o.minWidthFrom=0,o.minWidthTo=0,o.impreciseAnchor=null,o.impreciseHead=null,o.forceSelection=!1,o.lastUpdate=Date.now(),o.setDOM(e.contentDOM),o.children=[new so],o.children[0].setParent(D(o)),o.updateDeco(),o.updateInner([new Bo(0,0,0,e.state.doc.length)],0),o}return E(i,[{key:"length",get:function(){return this.view.state.doc.length}},{key:"update",value:function(e){var t=this,i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(function(e){var i=e.fromA;return e.toAt.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.view.inputState.composing<0?this.compositionDeco=eo.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=un(this.view,e.changes)),(Mi.ie||Mi.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);var o=vn(this.decorations,this.updateDeco(),e.changes);return i=Bo.extendWithRanges(i,o),(0!=this.dirty||0!=i.length)&&(this.updateInner(i,e.startState.doc.length),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}},{key:"updateInner",value:function(e,t){var i=this;this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t);var o=this.view.observer;o.ignore(function(){i.dom.style.height=i.view.viewState.contentHeight+"px",i.dom.style.flexBasis=i.minWidth?i.minWidth+"px":"";var e=Mi.chrome||Mi.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;i.sync(i.view,e),i.dirty=0,e&&(e.written||o.selectionRange.focusNode!=e.node)&&(i.forceSelection=!0),i.dom.style.height=""});var n=[];if(this.view.viewport.from||this.view.viewport.to=0?e[o]:null;if(!n)break;var r=n.fromA,a=n.toA,s=n.fromB,l=n.toB,p=po.build(this.view.state.doc,s,l,this.decorations,this.dynamicDecorationMap),c=p.content,d=p.breakAtStart,f=p.openStart,h=p.openEnd,u=i.findPos(a,1),y=u.i,m=u.off,g=i.findPos(r,-1);vi(this,g.i,g.off,y,m,c,d,f,h)}}},{key:"updateSelection",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!t&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();var o=this.view.root.activeElement,n=o==this.dom,r=!n&&Zt(this.dom,this.view.observer.selectionRange)&&!(o&&this.dom.contains(o));if(n||i||r){var a=this.forceSelection;this.forceSelection=!1;var s=this.view.state.selection.main,l=this.domAtPos(s.anchor),p=s.empty?l:this.domAtPos(s.head);if(Mi.gecko&&s.empty&&!this.compositionDeco.size&&dn(l)){var c=document.createTextNode("");this.view.observer.ignore(function(){return l.node.insertBefore(c,l.node.childNodes[l.offset]||null)}),l=p=new ui(c,0),a=!0}var d=this.view.observer.selectionRange;!a&&d.focusNode&&Ht(l.node,l.offset,d.anchorNode,d.anchorOffset)&&Ht(p.node,p.offset,d.focusNode,d.focusOffset)||(this.view.observer.ignore(function(){Mi.android&&Mi.chrome&&e.dom.contains(d.focusNode)&&wn(d.focusNode,e.dom)&&(e.dom.blur(),e.dom.focus({preventScroll:!0}));var t=jt(e.view.root);if(t)if(s.empty){if(Mi.gecko){var i=gn(l.node,l.offset);if(i&&3!=i){var n=mn(l.node,l.offset,1==i?1:-1);n&&(l=new ui(n,1==i?0:n.nodeValue.length))}}t.collapse(l.node,l.offset),null!=s.bidiLevel&&null!=d.cursorBidiLevel&&(d.cursorBidiLevel=s.bidiLevel)}else if(t.extend){t.collapse(l.node,l.offset);try{t.extend(p.node,p.offset)}catch(lQ){}}else{var a=document.createRange();if(s.anchor>s.head){var c=[p,l];l=c[0],p=c[1]}a.setEnd(p.node,p.offset),a.setStart(l.node,l.offset),t.removeAllRanges(),t.addRange(a)}else;r&&e.view.root.activeElement==e.dom&&(e.dom.blur(),o&&o.focus())}),this.view.observer.setSelectionRange(l,p)),this.impreciseAnchor=l.precise?null:new ui(d.anchorNode,d.anchorOffset),this.impreciseHead=p.precise?null:new ui(d.focusNode,d.focusOffset)}}},{key:"enforceCursorAssoc",value:function(){if(!this.compositionDeco.size){var e=this.view,t=e.state.selection.main,i=jt(e.root),o=e.observer.selectionRange,n=o.anchorNode,r=o.anchorOffset;if(i&&t.empty&&t.assoc&&i.modify){var a=so.find(this,t.head);if(a){var s=a.posAtStart;if(t.head!=s&&t.head!=s+a.length){var l=this.coordsAt(t.head,-1),p=this.coordsAt(t.head,1);if(l&&p&&!(l.bottom>p.top)){var c=this.domAtPos(t.head+t.assoc);i.collapse(c.node,c.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();var d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=t.from&&i.collapse(n,r)}}}}}}},{key:"nearest",value:function(e){for(var t=e;t;){var i=mi.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}},{key:"posFromDOM",value:function(e,t){var i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}},{key:"domAtPos",value:function(e){for(var t=this.childCursor().findPos(e,-1),i=t.i,o=t.off;ir||e==r&&n.type!=Ji.WidgetBefore&&n.type!=Ji.WidgetAfter&&(!o||2==t||this.children[o-1].breakAfter||this.children[o-1].type==Ji.WidgetBefore&&t>-2))return n.coordsAt(e-r,t);i=r}}},{key:"measureVisibleLineHeights",value:function(e){for(var t=[],i=e.from,o=e.to,n=this.view.contentDOM.clientWidth,r=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==Go.LTR,l=0,p=0;po)break;if(l>=i){var f=c.dom.getBoundingClientRect();if(t.push(f.height),r){var h=c.dom.lastChild,u=h?Ut(h):[];if(u.length){var y=u[u.length-1],m=s?y.right-f.left:f.right-y.left;m>a&&(a=m,this.minWidth=n,this.minWidthFrom=l,this.minWidthTo=d)}}}l=d+c.breakAfter}return t}},{key:"textDirectionAt",value:function(e){var t=this.childPos(e,1).i;return"rtl"==getComputedStyle(this.children[t].dom).direction?Go.RTL:Go.LTR}},{key:"measureTextSize",value:function(){var e,t=this,i=b(this.children);try{for(i.s();!(e=i.n()).done;){var o=e.value;if(o instanceof so){var n=o.measureTextSize();if(n)return n}}}catch(US){i.e(US)}finally{i.f()}var r,a,s,l=document.createElement("div");return l.className="cm-line",l.style.width="99999px",l.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(function(){t.dom.appendChild(l);var e=Ut(l.firstChild)[0];r=l.getBoundingClientRect().height,a=e?e.width/27:7,s=e?e.height:r,l.remove()}),{lineHeight:r,charWidth:a,textHeight:s}}},{key:"childCursor",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.length,t=this.children.length;return t&&(e-=this.children[--t].length),new bi(this.children,e,t)}},{key:"computeBlockGapDeco",value:function(){for(var e=[],t=this.view.viewState,i=0,o=0;;o++){var n=o==t.viewports.length?null:t.viewports[o],r=n?n.from-1:this.length;if(r>i){var a=t.lineBlockAt(r).bottom-t.lineBlockAt(i).top;e.push(eo.replace({widget:new fn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(i,r))}if(!n)break;i=n.to+1}return eo.set(e)}},{key:"updateDeco",value:function(){for(var e=this,t=this.view.state.facet(Mo).map(function(t,i){return(e.dynamicDecorationMap[i]="function"==typeof t)?t(e.view):t}),i=t.length;io.anchor?-1:1);if(n){!o.empty&&(t=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});var r,a=0,s=0,l=0,p=0,c=b(this.view.state.facet(Fo).map(function(e){return e(i.view)}));try{for(c.s();!(r=c.n()).done;){var d=r.value;if(d){var f=d.left,h=d.right,u=d.top,y=d.bottom;null!=f&&(a=Math.max(a,f)),null!=h&&(s=Math.max(s,h)),null!=u&&(l=Math.max(l,u)),null!=y&&(p=Math.max(p,y))}}}catch(US){c.e(US)}finally{c.f()}var m={left:n.left-a,top:n.top-l,right:n.right+s,bottom:n.bottom+p};oi(this.view.scrollDOM,m,o.head0))break;n=Jt(o=o.childNodes[n-1])}if(i>=0)for(var r=e,a=t;;){if(3==r.nodeType)return r;if(!(1==r.nodeType&&a=0))break;r=r.childNodes[a],a=0}return null}function gn(e,t){return 1!=e.nodeType?0:(t&&"false"==e.childNodes[t-1].contentEditable?1:0)|(t2&&void 0!==arguments[2]?arguments[2]:1,o=e.charCategorizer(t),n=e.doc.lineAt(t),r=t-n.from;if(0==n.length)return me.cursor(t);0==r?i=1:r==n.length&&(i=-1);var a=r,s=r;i<0?a=Y(n.text,r,!1):s=Y(n.text,r);for(var l=o(n.text.slice(a,s));a>0;){var p=Y(n.text,a,!1);if(o(n.text.slice(p,a))!=l)break;a=p}for(;se?t.left-e:Math.max(0,e-t.right)}function xn(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Sn(e,t){return e.topt.top+1}function Cn(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function Dn(e,t,i){for(var o,n,r,a,s,l,p,c,d=!1,f=e.firstChild;f;f=f.nextSibling)for(var h=Ut(f),u=0;ug||a==g&&r>m){o=f,n=y,r=m,a=g;var b=g?i0?u0)}0==m?i>y.bottom&&(!p||p.bottomy.top)&&(l=f,c=y):p&&Sn(p,y)?p=Pn(p,y.bottom):c&&Sn(c,y)&&(c=Cn(c,y.top))}if(p&&p.bottom>=i?(o=s,n=p):c&&c.top<=i&&(o=l,n=c),!o)return{node:e,offset:0};var v=Math.max(n.left,Math.min(n.right,t));return 3==o.nodeType?Tn(o,v,i):d&&"false"!=o.contentEditable?Dn(o,v,i):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,o)+(t>=(n.left+n.right)/2?1:0)}}function Tn(e,t,i){for(var o=e.nodeValue.length,n=-1,r=1e9,a=0,s=0;si?c.top-i:i-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&d=(c.left+c.right)/2,h=f;if(Mi.chrome||Mi.gecko)pi(e,s).getBoundingClientRect().left==c.right&&(h=!f);if(d<=0)return{node:e,offset:s+(h?1:0)};n=s+(h?1:0),r=d}}}return{node:e,offset:n>-1?n:a>0?e.nodeValue.length:0}}function Qn(e,t,i){var o,n,r,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,p=e.viewState.docHeight,c=t.x,d=t.y,f=d-l;if(f<0)return 0;if(f>p)return e.state.doc.length;for(var h=e.defaultLineHeight/2,u=!1;(r=e.elementAtHeight(f)).type!=Ji.Text;)for(;!((f=a>0?r.bottom+h:r.top-h)>=0&&f<=p);){if(u)return i?null:0;u=!0,a=-a}d=l+f;var y=r.from;if(ye.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:i?null:An(e,s,r,c,d);var m=e.dom.ownerDocument,g=e.root.elementFromPoint?e.root:m,b=g.elementFromPoint(c,d);b&&!e.contentDOM.contains(b)&&(b=null),b||(c=Math.max(s.left+1,Math.min(s.right-1,c)),(b=g.elementFromPoint(c,d))&&!e.contentDOM.contains(b)&&(b=null));var v,w=-1;if(b&&0!=(null===(o=e.docView.nearest(b))||void 0===o?void 0:o.isEditable))if(m.caretPositionFromPoint){var k=m.caretPositionFromPoint(c,d);k&&(v=k.offsetNode,w=k.offset)}else if(m.caretRangeFromPoint){var O=m.caretRangeFromPoint(c,d);O&&(v=O.startContainer,w=O.startOffset,(!e.contentDOM.contains(v)||Mi.safari&&Rn(v,w,c)||Mi.chrome&&Mn(v,w,c))&&(v=void 0))}if(!v||!e.docView.dom.contains(v)){var x=so.find(e.docView,y);if(!x)return f>r.top+r.height/2?r.to:r.from;var S=Dn(x.dom,c,d);v=S.node,w=S.offset}var C=e.docView.nearest(v);if(!C)return null;if(C.isWidget&&1==(null===(n=C.dom)||void 0===n?void 0:n.nodeType)){var P=C.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight&&(r+=Math.floor((n-i.top)/e.defaultLineHeight)*e.viewState.heightOracle.lineLength);var a=e.state.sliceDoc(i.from,i.to);return i.from+Tt(a,r,e.state.tabSize)}function Rn(e,t,i){var o;if(3!=e.nodeType||t!=(o=e.nodeValue.length))return!1;for(var n=e.nextSibling;n;n=n.nextSibling)if(1!=n.nodeType||"BR"!=n.nodeName)return!1;return pi(e,o-1,o).getBoundingClientRect().left>i}function Mn(e,t,i){if(0!=t)return!1;for(var o=e;;){var n=o.parentNode;if(!n||1!=n.nodeType||n.firstChild!=o)return!1;if(n.classList.contains("cm-line"))break;o=n}return i-(1==e.nodeType?e.getBoundingClientRect():pi(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}function En(e,t,i,o){var n=e.state.doc.lineAt(t.head),r=o&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head):null;if(r){var a=e.dom.getBoundingClientRect(),s=e.textDirectionAt(n.from),l=e.posAtCoords({x:i==(s==Go.LTR)?a.right-1:a.left+1,y:(r.top+r.bottom)/2});if(null!=l)return me.cursor(l,i?-1:1)}var p=so.find(e.docView,t.head),c=p?i?p.posAtEnd:p.posAtStart:i?n.to:n.from;return me.cursor(c,i?-1:1)}function Fn(e,t,i,o){for(var n=e.state.doc.lineAt(t.head),r=e.bidiSpans(n),a=e.textDirectionAt(n.from),s=t,l=null;;){var p=rn(n,r,a,s,i),c=nn;if(!p){if(n.number==(i?e.state.doc.lines:1))return s;c="\n",n=e.state.doc.line(n.number+(i?1:-1)),r=e.bidiSpans(n),p=me.cursor(i?n.from:n.to)}if(l){if(!l(c))return s}else{if(!o)return p;l=o(c)}s=p}}function Ln(e,t,i){var o=e.state.charCategorizer(t),n=o(i);return function(e){var t=o(e);return n==nt.Space&&(n=t),n==t}}function Bn(e,t,i,o){var n=t.head,r=i?1:-1;if(n==(i?e.state.doc.length:0))return me.cursor(n,t.assoc);var a,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),p=e.coordsAtPos(n),c=e.documentTop;if(p)null==s&&(s=p.left-l.left),a=r<0?p.top:p.bottom;else{var d=e.viewState.lineBlockAt(n);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(n-d.from))),a=(r<0?d.top:d.bottom)+c}for(var f=l.left+s,h=null!=o?o:e.defaultLineHeight>>1,u=0;;u+=10){var y=a+(h+u)*r,m=Qn(e,{x:f,y:y},!1,r);if(yl.bottom||(r<0?mn))return me.cursor(m,t.assoc,void 0,s)}}function In(e,t,i,o){for(var n=e.state.facet(Eo).map(function(t){return t(e)}),r=function(){var e,r=!1,a=b(n);try{for(a.s();!(e=a.n()).done;){e.value.between(i.from-1,i.from+1,function(e,n,a){i.from>e&&i.fromi.from?me.cursor(e,1):me.cursor(n,-1),r=!0,a.widget.skipPosition&&(i=a.widget.skipPosition(i,t,o)))})}}catch(US){a.e(US)}finally{a.f()}if(!r)return{v:i}};;){var a=r();if("object"===A(a))return a.v}}var Gn=function(){function e(t){var i=this;R(this,e),this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;var o=function(e,o){i.ignoreDuringComposition(o)||"keydown"==o.type&&i.keydown(t,o)||(i.mustFlushObserver(o)&&t.observer.forceFlush(),i.runCustomHandlers(o.type,t,o)?o.preventDefault():e(t,o))},n=function(){var e=Un[r];t.contentDOM.addEventListener(r,function(i){Zn(t,i)&&o(e,i)},Hn[r]),i.registeredEvents.push(r)};for(var r in Un)n();t.scrollDOM.addEventListener("mousedown",function(e){if(e.target==t.scrollDOM&&e.clientY>t.contentDOM.getBoundingClientRect().bottom&&(o(Un.mousedown,e),!e.defaultPrevented&&2==e.button)){var i=t.contentDOM.style.minHeight;t.contentDOM.style.minHeight="100%",setTimeout(function(){return t.contentDOM.style.minHeight=i},200)}}),Mi.chrome&&102==Mi.chrome_version&&t.scrollDOM.addEventListener("wheel",function(){i.chromeScrollHack<0?t.contentDOM.style.pointerEvents="none":window.clearTimeout(i.chromeScrollHack),i.chromeScrollHack=setTimeout(function(){i.chromeScrollHack=-1,t.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=t.hasFocus,Mi.safari&&t.contentDOM.addEventListener("input",function(){return null})}return E(e,[{key:"setSelectionOrigin",value:function(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}},{key:"ensureHandlers",value:function(e,t){var i,o,n=this;this.customHandlers=[];var r,a=b(t);try{for(a.s();!(r=a.n()).done;){var s=r.value;if(o=null===(i=s.update(e).spec)||void 0===i?void 0:i.domEventHandlers){this.customHandlers.push({plugin:s.value,handlers:o});var l=function(t){n.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(n.registeredEvents.push(t),e.contentDOM.addEventListener(t,function(i){Zn(e,i)&&n.runCustomHandlers(t,e,i)&&i.preventDefault()}))};for(var p in o)l(p)}}}catch(US){a.e(US)}finally{a.f()}}},{key:"runCustomHandlers",value:function(e,t,i){var o,n=b(this.customHandlers);try{for(n.s();!(o=n.n()).done;){var r=o.value,a=r.handlers[e];if(a)try{if(a.call(r.plugin,i,t)||i.defaultPrevented)return!0}catch(s){So(t.state,s)}}}catch(US){n.e(US)}finally{n.f()}return!1}},{key:"runScrollHandlers",value:function(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;var i,o=b(this.customHandlers);try{for(o.s();!(i=o.n()).done;){var n=i.value,r=n.handlers.scroll;if(r)try{r.call(n.plugin,t,e)}catch(a){So(e.state,a)}}}catch(US){o.e(US)}finally{o.f()}}},{key:"keydown",value:function(e,t){var i,o=this;return this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()-1&&t.ctrlKey&&!t.shiftKey))&&(this.pendingIOSKey=i||t,setTimeout(function(){return o.flushIOSKey(e)},250),!0):(e.observer.delayAndroidKey(t.key,t.keyCode),!0))}},{key:"flushIOSKey",value:function(e){var t=this.pendingIOSKey;return!!t&&(this.pendingIOSKey=void 0,ci(e.contentDOM,t.key,t.keyCode))}},{key:"ignoreDuringComposition",value:function(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Mi.safari&&!Mi.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}},{key:"mustFlushObserver",value:function(e){return"keydown"==e.type&&229!=e.keyCode}},{key:"startMouseSelection",value:function(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}},{key:"update",value:function(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}},{key:"destroy",value:function(){this.mouseSelection&&this.mouseSelection.destroy()}}]),e}(),$n=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Vn="dthko",zn=[16,17,18,20,91,92,224,225],Nn=6;function Wn(e){return.7*Math.max(0,e)+8}var qn=function(){function e(t,i,o,n){R(this,e),this.view=t,this.style=o,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=i,this.scrollParent=ni(t.contentDOM);var r=t.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=i.shiftKey,this.multiple=t.state.facet(lt.allowMultipleSelections)&&jn(t,i),this.dragMove=_n(t,i),this.dragging=!(!Xn(t,i)||1!=pr(i))&&null}return E(e,[{key:"start",value:function(e){!1===this.dragging&&(e.preventDefault(),this.select(e))}},{key:"move",value:function(e){var t;if(0==e.buttons)return this.destroy();if(!1===this.dragging){this.select(this.lastEvent=e);var i=0,o=0,n=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight};e.clientX<=n.left+Nn?i=-Wn(n.left-e.clientX):e.clientX>=n.right-Nn&&(i=Wn(e.clientX-n.right)),e.clientY<=n.top+Nn?o=-Wn(n.top-e.clientY):e.clientY>=n.bottom-Nn&&(o=Wn(e.clientY-n.bottom)),this.setScrollSpeed(i,o)}}},{key:"up",value:function(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}},{key:"destroy",value:function(){this.setScrollSpeed(0,0);var e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}},{key:"setScrollSpeed",value:function(e,t){var i=this;this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(function(){return i.scroll()},50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}},{key:"scroll",value:function(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}},{key:"select",value:function(e){var t=this.style.get(e,this.extend,this.multiple);!this.mustSelect&&t.eq(this.view.state.selection)&&t.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:t,userEvent:"select.pointer"}),this.mustSelect=!1}},{key:"update",value:function(e){var t=this;e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(function(){return t.select(t.lastEvent)},20)}}]),e}();function jn(e,t){var i=e.state.facet(ho);return i.length?i[0](t):Mi.mac?t.metaKey:t.ctrlKey}function _n(e,t){var i=e.state.facet(uo);return i.length?i[0](t):Mi.mac?!t.altKey:!t.ctrlKey}function Xn(e,t){if(e.state.selection.main.empty)return!1;var i=jt(e.root);if(!i||0==i.rangeCount)return!0;for(var o=i.getRangeAt(0).getClientRects(),n=0;n=t.clientX&&r.top<=t.clientY&&r.bottom>=t.clientY)return!0}return!1}function Zn(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(var i,o=t.target;o!=e.contentDOM;o=o.parentNode)if(!o||11==o.nodeType||(i=mi.get(o))&&i.ignoreEvent(t))return!1;return!0}var Un=Object.create(null),Hn=Object.create(null),Yn=Mi.ie&&Mi.ie_version<15||Mi.ios&&Mi.webkit_version<604;function Kn(e){var t=e.dom.parentNode;if(t){var i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(function(){e.focus(),i.remove(),Jn(e,i.value)},50)}}function Jn(e,t){var i,o=e.state,n=1,r=o.toText(t),a=r.lines==o.selection.ranges.length;if(null!=yr&&o.selection.ranges.every(function(e){return e.empty})&&yr==r.toString()){var s=-1;i=o.changeByRange(function(e){var i=o.doc.lineAt(e.from);if(i.from==s)return{range:e};s=i.from;var l=o.toText((a?r.line(n++).text:t)+o.lineBreak);return{changes:{from:i.from,insert:l},range:me.cursor(e.from+l.length)}})}else i=a?o.changeByRange(function(e){var t=r.line(n++);return{changes:{from:e.from,to:e.to,insert:t.text},range:me.cursor(e.from+t.length)}}):o.replaceSelection(r);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function er(e,t,i,o){if(1==o)return me.cursor(t,i);if(2==o)return kn(e.state,t,i);var n=so.find(e.docView,t),r=e.state.doc.lineAt(n?n.posAtEnd:t),a=n?n.posAtStart:r.from,s=n?n.posAtEnd:r.to;return sDate.now()-2e3)){var i,o=null,n=b(e.state.facet(yo));try{for(n.s();!(i=n.n()).done;){if(o=(0,i.value)(e,t))break}}catch(US){n.e(US)}finally{n.f()}if(o||0!=t.button||(o=cr(e,t)),o){var r=e.root.activeElement!=e.contentDOM;e.inputState.startMouseSelection(new qn(e,t,o,r)),r&&e.observer.ignore(function(){return li(e.contentDOM)}),e.inputState.mouseSelection&&e.inputState.mouseSelection.start(t)}}};var tr=function(e,t){return e>=t.top&&e<=t.bottom},ir=function(e,t,i){return tr(t,i)&&e>=i.left&&e<=i.right};function or(e,t,i,o){var n=so.find(e.docView,t);if(!n)return 1;var r=t-n.posAtStart;if(0==r)return 1;if(r==n.length)return-1;var a=n.coordsAt(r,-1);if(a&&ir(i,o,a))return-1;var s=n.coordsAt(r,1);return s&&ir(i,o,s)?1:a&&tr(o,a)?-1:1}function nr(e,t){var i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:or(e,i,t.clientX,t.clientY)}}var rr=Mi.ie&&Mi.ie_version<=11,ar=null,sr=0,lr=0;function pr(e){if(!rr)return e.detail;var t=ar,i=lr;return ar=e,lr=Date.now(),sr=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(sr+1)%3:1}function cr(e,t){var i=nr(e,t),o=pr(t),n=e.state.selection;return{update:function(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),n=n.map(e.changes))},get:function(t,r,a){var s,l=nr(e,t),p=er(e,l.pos,l.bias,o);if(i.pos!=l.pos&&!r){var c=er(e,i.pos,i.bias,o),d=Math.min(c.from,p.from),f=Math.max(c.to,p.to);p=d1&&(s=dr(n,l.pos))?s:a?n.addRange(p):me.create([p])}}}function dr(e,t){for(var i=0;i=t)return me.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}function fr(e,t,i,o){if(i){var n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);t.preventDefault();var r=e.inputState.mouseSelection,a=o&&r&&r.dragging&&r.dragMove?{from:r.dragging.from,to:r.dragging.to}:null,s={from:n,insert:i},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(n,-1),head:l.mapPos(n,1)},userEvent:a?"move.drop":"input.drop"})}}function hr(e,t){var i=e.dom.parentNode;if(i){var o=i.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=t,o.focus(),o.selectionEnd=t.length,o.selectionStart=0,setTimeout(function(){o.remove(),e.focus()},50)}}function ur(e){var t,i=[],o=[],n=!1,r=b(e.selection.ranges);try{for(r.s();!(t=r.n()).done;){var a=t.value;a.empty||(i.push(e.sliceDoc(a.from,a.to)),o.push(a))}}catch(US){r.e(US)}finally{r.f()}if(!i.length){var s,l=-1,p=b(e.selection.ranges);try{for(p.s();!(s=p.n()).done;){var c=s.value.from,d=e.doc.lineAt(c);d.number>l&&(i.push(d.text),o.push({from:d.from,to:Math.min(e.doc.length,d.to+1)})),l=d.number}}catch(US){p.e(US)}finally{p.f()}n=!0}return{text:i.join(e.lineBreak),ranges:o,linewise:n}}Un.dragstart=function(e,t){var i=e.state.selection.main,o=e.inputState.mouseSelection;o&&(o.dragging=i),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove")},Un.drop=function(e,t){if(t.dataTransfer){if(e.state.readOnly)return t.preventDefault();var i=t.dataTransfer.files;if(i&&i.length){t.preventDefault();for(var o=Array(i.length),n=0,r=function(){++n==i.length&&fr(e,t,o.filter(function(e){return null!=e}).join(e.state.lineBreak),!1)},a=function(e){var t=new FileReader;t.onerror=r,t.onload=function(){/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(o[e]=t.result),r()},t.readAsText(i[e])},s=0;s0,e.inputState.compositionFirstChange=null,Mi.chrome&&Mi.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(function(){return e.observer.flush()}):setTimeout(function(){e.inputState.composing<0&&e.docView.compositionDeco.size&&e.update([])},50)},Un.contextmenu=function(e){e.inputState.lastContextMenu=Date.now()},Un.beforeinput=function(e,t){var i,o;if(Mi.chrome&&Mi.android&&(o=$n.find(function(e){return e.inputType==t.inputType}))&&(e.observer.delayAndroidKey(o.key,o.keyCode),"Backspace"==o.key||"Delete"==o.key)){var n=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout(function(){var t;((null===(t=window.visualViewport)||void 0===t?void 0:t.height)||0)>n+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}};var vr=["pre-wrap","normal","pre-line","break-spaces"],wr=function(){function e(t){R(this,e),this.lineWrapping=t,this.doc=B.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}return E(e,[{key:"heightForGap",value:function(e,t){var i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}},{key:"heightForLine",value:function(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}},{key:"setDoc",value:function(e){return this.doc=e,this}},{key:"mustRefreshForWrapping",value:function(e){return vr.indexOf(e)>-1!=this.lineWrapping}},{key:"mustRefreshForHeights",value:function(e){for(var t=!1,i=0;i-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=i,this.textHeight=o,this.lineLength=n,s){this.heightSamples={};for(var l=0;l2&&void 0!==arguments[2]?arguments[2]:2;R(this,e),this.length=t,this.height=i,this.flags=o}return E(e,[{key:"outdated",get:function(){return(2&this.flags)>0},set:function(e){this.flags=(e?2:0)|-3&this.flags}},{key:"setHeight",value:function(e,t){this.height!=t&&(Math.abs(this.height-t)>Sr&&(e.heightChanged=!0),this.height=t)}},{key:"replace",value:function(t,i,o){return e.of(o)}},{key:"decomposeLeft",value:function(e,t){t.push(this)}},{key:"decomposeRight",value:function(e,t){t.push(this)}},{key:"applyChanges",value:function(e,t,i,o){for(var n=this,r=i.doc,a=o.length-1;a>=0;a--){var s=o[a],l=s.fromA,p=s.toA,c=s.fromB,d=s.toB,f=n.lineAt(l,xr.ByPosNoHeight,i.setDoc(t),0,0),h=f.to>=p?f:n.lineAt(p,xr.ByPosNoHeight,i,0,0);for(d+=h.to-p,p=h.to;a>0&&f.from<=o[a-1].toA;)l=o[a-1].fromA,c=o[a-1].fromB,a--,l2*r){var a=t[i-1];a.break?t.splice(--i,1,a.left,null,a.right):t.splice(--i,1,a.left,a.right),o+=1+a.break,n-=a.size}else{if(!(r>2*n))break;var s=t[o];s.break?t.splice(o,1,s.left,null,s.right):t.splice(o,1,s.left,s.right),o+=2+s.break,r-=s.size}else if(n=n&&r(this.blockAt(0,i,o,n))}},{key:"updateHeight",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(arguments.length>2&&void 0!==arguments[2]&&arguments[2],arguments.length>3?arguments[3]:void 0);return i&&i.from<=t&&i.more&&this.setHeight(e,i.heights[i.index++]),this.outdated=!1,this}},{key:"toString",value:function(){return"block(".concat(this.length,")")}}]),i}(),Dr=function(e){x(i,Pr);var t=C(i);function i(e,o){var n;return R(this,i),(n=t.call(this,e,o,Ji.Text)).collapsed=0,n.widgetHeight=0,n}return E(i,[{key:"replace",value:function(e,t,o){var n=o[0];return 1==o.length&&(n instanceof i||n instanceof Tr&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof Tr?n=new i(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Cr.of(o)}},{key:"updateHeight",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3?arguments[3]:void 0;return o&&o.from<=t&&o.more?this.setHeight(e,o.heights[o.index++]):(i||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))),this.outdated=!1,this}},{key:"toString",value:function(){return"line(".concat(this.length).concat(this.collapsed?-this.collapsed:"").concat(this.widgetHeight?":"+this.widgetHeight:"",")")}}]),i}(),Tr=function(e){x(i,Cr);var t=C(i);function i(e){return R(this,i),t.call(this,e,0)}return E(i,[{key:"heightMetrics",value:function(e,t){var i,o=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,r=n-o+1,a=0;if(e.lineWrapping){var s=Math.min(this.height,e.lineHeight*r);i=s/r,this.length>r+1&&(a=(this.height-s)/(this.length-r-1))}else i=this.height/r;return{firstLine:o,lastLine:n,perLine:i,perChar:a}}},{key:"blockAt",value:function(e,t,i,o){var n=this.heightMetrics(t,o),r=n.firstLine,a=n.lastLine,s=n.perLine,l=n.perChar;if(t.lineWrapping){var p=o+Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length),c=t.doc.lineAt(p),d=s+c.length*l,f=Math.max(i,e-d/2);return new Or(c.from,c.length,f,d,Ji.Text)}var h=Math.max(0,Math.min(a-r,Math.floor((e-i)/s))),u=t.doc.line(r+h),y=u.from,m=u.length;return new Or(y,m,i+s*h,s,Ji.Text)}},{key:"lineAt",value:function(e,t,i,o,n){if(t==xr.ByHeight)return this.blockAt(e,i,o,n);if(t==xr.ByPosNoHeight){var r=i.doc.lineAt(e),a=r.from,s=r.to;return new Or(a,s-a,0,0,Ji.Text)}var l=this.heightMetrics(i,n),p=l.firstLine,c=l.perLine,d=l.perChar,f=i.doc.lineAt(e),h=c+f.length*d,u=f.number-p,y=o+c*u+d*(f.from-n-u);return new Or(f.from,f.length,Math.max(o,Math.min(y,o+this.height-h)),h,Ji.Text)}},{key:"forEachLine",value:function(e,t,i,o,n,r){e=Math.max(e,n),t=Math.min(t,n+this.length);for(var a=this.heightMetrics(i,n),s=a.firstLine,l=a.perLine,p=a.perChar,c=e,d=o;c<=t;){var f=i.doc.lineAt(c);if(c==e){var h=f.number-s;d+=l*h+p*(e-n-h)}var u=l+p*f.length;r(new Or(f.from,f.length,d,u,Ji.Text)),d+=u,c=f.to+1}}},{key:"replace",value:function(e,t,o){var n=this.length-t;if(n>0){var r=o[o.length-1];r instanceof i?o[o.length-1]=new i(r.length+n):o.push(null,new i(n-1))}if(e>0){var a=o[0];a instanceof i?o[0]=new i(e+a.length):o.unshift(new i(e-1),null)}return Cr.of(o)}},{key:"decomposeLeft",value:function(e,t){t.push(new i(e-1),null)}},{key:"decomposeRight",value:function(e,t){t.push(null,new i(this.length-e-1))}},{key:"updateHeight",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0,r=t+this.length;if(n&&n.from<=t+this.length&&n.more){var a=[],s=Math.max(t,n.from),l=-1;for(n.from>t&&a.push(new i(n.from-t-1).updateHeight(e,t));s<=r&&n.more;){var p=e.doc.lineAt(s).length;a.length&&a.push(null);var c=n.heights[n.index++];-1==l?l=c:Math.abs(c-l)>=Sr&&(l=-2);var d=new Dr(p,c);d.outdated=!1,a.push(d),s+=p+1}s<=r&&a.push(null,new i(r-s).updateHeight(e,s));var f=Cr.of(a);return(l<0||Math.abs(f.height-this.height)>=Sr||Math.abs(l-this.heightMetrics(e,t).perLine)>=Sr)&&(e.heightChanged=!0),f}return(o||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}},{key:"toString",value:function(){return"gap(".concat(this.length,")")}}]),i}(),Qr=function(e){x(i,Cr);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this,e.length+o+n.length,e.height+n.height,o|(e.outdated||n.outdated?2:0))).left=e,r.right=n,r.size=e.size+n.size,r}return E(i,[{key:"break",get:function(){return 1&this.flags}},{key:"blockAt",value:function(e,t,i,o){var n=i+this.left.height;return ea))return l;var p=t==xr.ByPosNoHeight?xr.ByPosNoHeight:xr.ByPos;return s?l.join(this.right.lineAt(a,p,i,r,a)):this.left.lineAt(a,p,i,o,n).join(l)}},{key:"forEachLine",value:function(e,t,i,o,n,r){var a=o+this.left.height,s=n+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,t,i,a,s,r);else{var l=this.lineAt(s,xr.ByPos,i,o,n);e=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,a,s,r)}}},{key:"replace",value:function(e,t,i){var o=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-o,t-o,i));var n=[];e>0&&this.decomposeLeft(e,n);var r,a=n.length,s=b(i);try{for(s.s();!(r=s.n()).done;){var l=r.value;n.push(l)}}catch(US){s.e(US)}finally{s.f()}if(e>0&&Ar(n,a-1),t=++i&&t.push(null),e>i&&this.right.decomposeLeft(e-i,t)}},{key:"decomposeRight",value:function(e,t){var i=this.left.length,o=i+this.break;if(e>=o)return this.right.decomposeRight(e-o,t);e2*t.size||t.size>2*e.size?Cr.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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)}},{key:"updateHeight",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3?arguments[3]:void 0,n=this.left,r=this.right,a=t+n.length+this.break,s=null;return o&&o.from<=t+n.length&&o.more?s=n=n.updateHeight(e,t,i,o):n.updateHeight(e,t,i),o&&o.from<=a+r.length&&o.more?s=r=r.updateHeight(e,a,i,o):r.updateHeight(e,a,i),s?this.balanced(n,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}},{key:"toString",value:function(){return this.left+(this.break?" ":"-")+this.right}}]),i}();function Ar(e,t){var i,o;null==e[t]&&(i=e[t-1])instanceof Tr&&(o=e[t+1])instanceof Tr&&e.splice(t-1,3,new Tr(i.length+1+o.length))}var Rr=5,Mr=function(){function e(t,i){R(this,e),this.pos=t,this.oracle=i,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}return E(e,[{key:"isCovered",get:function(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}},{key:"span",value:function(e,t){if(this.lineStart>-1){var i=Math.min(t,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof Dr?o.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Dr(i-this.pos,-1)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}},{key:"point",value:function(e,t,i){if(e=Rr)&&this.addLineDeco(o,n)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)){var e=this.oracle.doc.lineAt(this.pos),t=e.from,i=e.to;this.lineStart=t,this.lineEnd=i,this.writtenTot&&this.nodes.push(new Dr(this.pos-t,-1)),this.writtenTo=this.pos}}},{key:"blankContent",value:function(e,t){var i=new Tr(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}},{key:"ensureLine",value:function(){this.enterLine();var e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Dr)return e;var t=new Dr(0,-1);return this.nodes.push(t),t}},{key:"addBlock",value:function(e){this.enterLine(),e.type!=Ji.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=Ji.WidgetBefore&&(this.covering=e)}},{key:"addLineDeco",value:function(e,t){var i=this.ensureLine();i.length+=t,i.collapsed+=t,i.widgetHeight=Math.max(i.widgetHeight,e),this.writtenTo=this.pos=this.pos+t}},{key:"finish",value:function(e){var t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Dr||this.isCovered?(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&"visible"!=d.overflow){var f=c.getBoundingClientRect();r=Math.max(r,f.left),a=Math.min(a,f.right),s=Math.max(s,f.top),l=p==e.parentNode?f.bottom:Math.min(l,f.bottom)}p="absolute"==d.position||"fixed"==d.position?c.offsetParent:c.parentNode}else{if(11!=p.nodeType)break;p=p.host}return{left:r-i.left,right:Math.max(r,a)-i.left,top:s-(i.top+t),bottom:Math.max(s,l)-(i.top+t)}}function Br(e,t){var i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}var Ir=function(){function e(t,i,o){R(this,e),this.from=t,this.to=i,this.size=o}return E(e,[{key:"draw",value:function(e){return eo.replace({widget:new Gr(this.size,e)}).range(this.from,this.to)}}],[{key:"same",value:function(e,t){if(e.length!=t.length)return!1;for(var i=0;i=t&&o<=i})){var r=e.lineBlockAt(o),a=r.from,s=r.to;t.push(new Vr(a,s))}},n=0;n<=1;n++)o();this.viewports=t.sort(function(e,t){return e.from-t.from}),this.scaler=this.heightMap.height<=7e6?jr:new _r(this.heightOracle,this.heightMap,this.viewports)}},{key:"updateViewportLines",value:function(){var e=this;this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,function(t){e.viewportLines.push(1==e.scaler.scale?t:Xr(t,e.scaler))})}},{key:"update",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.state=e.state;var i=this.stateDeco;this.stateDeco=this.state.facet(Mo).filter(function(e){return"function"!=typeof e});var o=e.changedRanges,n=Bo.extendWithRanges(o,Er(i,this.stateDeco,e?e.changes:le.empty(this.state.doc.length))),r=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),this.heightMap.height!=r&&(e.flags|=2);var a=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));var s=!e.changes.empty||2&e.flags||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),s&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(ko)&&(this.mustEnforceCursorAssoc=!0)}},{key:"measure",value:function(e){var t=e.contentDOM,i=window.getComputedStyle(t),o=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?Go.RTL:Go.LTR;var r=this.heightOracle.mustRefreshForWrapping(n),a=t.getBoundingClientRect(),s=r||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;var l=0,p=0,c=parseInt(i.paddingTop)||0,d=parseInt(i.paddingBottom)||0;this.paddingTop==c&&this.paddingBottom==d||(this.paddingTop=c,this.paddingBottom=d,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);var f=(this.printing?Br:Lr)(t,this.paddingTop),h=f.top-this.pixelViewport.top,u=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;var y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(s=!0)),!this.inView&&!this.scrollTarget)return 0;var m=a.width;if(this.contentDOMWidth==m&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),s){var g=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(g)&&(r=!0),r||o.lineWrapping&&Math.abs(m-this.contentDOMWidth)>o.charWidth){var v=e.docView.measureTextSize(),w=v.lineHeight,k=v.charWidth,O=v.textHeight;(r=w>0&&o.refresh(n,w,k,O,m/k,g))&&(e.docView.minWidth=0,l|=8)}h>0&&u>0?p=Math.max(h,u):h<0&&u<0&&(p=Math.min(h,u)),o.heightChanged=!1;var x,S=b(this.viewports);try{for(S.s();!(x=S.n()).done;){var C=x.value,P=C.from==this.viewport.from?g:e.docView.measureVisibleLineHeights(C);this.heightMap=(r?Cr.empty().applyChanges(this.stateDeco,B.empty,this.heightOracle,[new Bo(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,r,new kr(C.from,P))}}catch(US){S.e(US)}finally{S.f()}o.heightChanged&&(l|=2)}var D=!this.viewportIsAppropriate(this.viewport,p)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return D&&(this.viewport=this.getViewport(p,this.scrollTarget)),this.updateForViewport(),(2&l||D)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}},{key:"visibleTop",get:function(){return this.scaler.fromDOM(this.pixelViewport.top)}},{key:"visibleBottom",get:function(){return this.scaler.fromDOM(this.pixelViewport.bottom)}},{key:"getViewport",value:function(e,t){var i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,n=this.heightOracle,r=this.visibleTop,a=this.visibleBottom,s=new Vr(o.lineAt(r-1e3*i,xr.ByHeight,n,0,0).from,o.lineAt(a+1e3*(1-i),xr.ByHeight,n,0,0).to);if(t){var l=t.range.head;if(ls.to){var p,c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=o.lineAt(l,xr.ByPos,n,0,0);p="center"==t.y?(d.top+d.bottom)/2-c/2:"start"==t.y||"nearest"==t.y&&l1&&void 0!==arguments[1]?arguments[1]:0;if(!this.inView)return!0;var n=this.heightMap.lineAt(t,xr.ByPos,this.heightOracle,0,0).top,r=this.heightMap.lineAt(i,xr.ByPos,this.heightOracle,0,0).bottom,a=this.visibleTop,s=this.visibleBottom;return(0==t||n<=a-Math.max(10,Math.min(-o,250)))&&(i==this.state.doc.length||r>=s+Math.max(10,Math.min(o,250)))&&n>a-2e3&&r>1,a=n<<1;if(this.defaultTextDirection!=Go.LTR&&!o)return[];var s,l=[],p=function n(a,s,p,c){if(!(s-aa&&y=p.from&&e.to<=p.to&&Math.abs(e.from-a)t})});if(!m){if(s=s})){var g=t.moveToLineBoundary(me.cursor(s),!1,!0).head;g>a&&(s=g)}m=new Ir(a,s,i.gapSize(p,a,s,c))}l.push(m)}},c=b(this.viewportLines);try{for(c.s();!(s=c.n()).done;){var d=s.value;if(!(d.lengthd.from&&p(d.from,u,d,f),y=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(function(t){return t.from<=e&&t.to>=e})||Xr(this.heightMap.lineAt(e,xr.ByPos,this.heightOracle,0,0),this.scaler)}},{key:"lineBlockAtHeight",value:function(e){return Xr(this.heightMap.lineAt(this.scaler.fromDOM(e),xr.ByHeight,this.heightOracle,0,0),this.scaler)}},{key:"elementAtHeight",value:function(e){return Xr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}},{key:"docHeight",get:function(){return this.scaler.toDOM(this.heightMap.height)}},{key:"contentHeight",get:function(){return this.docHeight+this.paddingTop+this.paddingBottom}}]),e}(),Vr=E(function e(t,i){R(this,e),this.from=t,this.to=i});function zr(e,t,i){var o=[],n=e,r=0;return ut.spans(i,e,t,{span:function(){},point:function(e,t){e>n&&(o.push({from:n,to:e}),r+=e-n),n=t}},20),n=1)return o[o.length-1].to;for(var n=Math.floor(i*t),r=0;;r++){var a=o[r],s=a.from,l=a.to-s;if(n<=l)return s+n;n-=l}}function Wr(e,t){var i,o=0,n=b(e.ranges);try{for(n.s();!(i=n.n()).done;){var r=i.value,a=r.from,s=r.to;if(t<=s){o+=t-a;break}o+=s-a}}catch(US){n.e(US)}finally{n.f()}return o/e.total}function qr(e,t){var i,o=b(e);try{for(o.s();!(i=o.n()).done;){var n=i.value;if(t(n))return n}}catch(US){o.e(US)}finally{o.f()}}var jr={toDOM:function(e){return e},fromDOM:function(e){return e},scale:1},_r=function(){function e(t,i,o){R(this,e);var n=0,r=0,a=0;this.viewports=o.map(function(e){var o=e.from,r=e.to,a=i.lineAt(o,xr.ByPos,t,0,0).top,s=i.lineAt(r,xr.ByPos,t,0,0).bottom;return n+=s-a,{from:o,to:r,top:a,bottom:s,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(i.height-n);var s,l=b(this.viewports);try{for(l.s();!(s=l.n()).done;){var p=s.value;p.domTop=a+(p.top-r)*this.scale,a=p.domBottom=p.domTop+(p.bottom-p.top),r=p.bottom}}catch(US){l.e(US)}finally{l.f()}}return E(e,[{key:"toDOM",value:function(e){for(var t=0,i=0,o=0;;t++){var n=t-1}}),Hr=Et.newName(),Yr=Et.newName(),Kr=Et.newName(),Jr={"&light":"."+Yr,"&dark":"."+Kr};function ea(e,t,i){return new Et(t,{finish:function(t){return/&/.test(t)?t.replace(/&\w*/,function(t){if("&"==t)return e;if(!i||!i[t])throw new RangeError("Unsupported selector: ".concat(t));return i[t]}):e+" "+t}})}var ta=ea("."+Hr,{"&":{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},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",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":{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:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&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",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&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},"&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-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"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".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"}},Jr),ia=E(function e(t,i,o,n){R(this,e),this.typeOver=n,this.bounds=null,this.text="";var r=t.docView,a=r.impreciseHead,s=r.impreciseAnchor;if(t.state.readOnly&&i>-1)this.newSel=null;else if(i>-1&&(this.bounds=t.docView.domBoundsAround(i,o,0))){var l=a||s?[]:ra(t),p=new sn(l,t.state);p.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=p.text,this.newSel=aa(l,this.bounds.from)}else{var c=t.observer.selectionRange,d=a&&a.node==c.focusNode&&a.offset==c.focusOffset||!_t(t.contentDOM,c.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(c.focusNode,c.focusOffset),f=s&&s.node==c.anchorNode&&s.offset==c.anchorOffset||!_t(t.contentDOM,c.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(c.anchorNode,c.anchorOffset);this.newSel=me.single(f,d)}});function oa(e,t){var i,o=t.newSel,n=e.state.selection.main;if(t.bounds){var r=t.bounds,a=r.from,s=r.to,l=n.from,p=null;(8===e.inputState.lastKeyCode&&e.inputState.lastKeyTime>Date.now()-100||Mi.android&&t.text.length=n.from&&i.to<=n.to&&(i.from!=n.from||i.to!=n.to)&&n.to-n.from-(i.to-i.from)<=4?i={from:n.from,to:n.to,insert:e.state.doc.slice(n.from,i.from).append(i.insert).append(e.state.doc.slice(i.to,n.to))}:(Mi.mac||Mi.android)&&i&&i.from==i.to&&i.from==n.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(o&&2==i.insert.length&&(o=me.single(o.main.anchor-1,o.main.head-1)),i={from:n.from,to:n.to,insert:B.of([" "])}):Mi.chrome&&i&&i.from==i.to&&i.from==n.head&&"\n "==i.insert.toString()&&e.lineWrapping&&(o&&(o=me.single(o.main.anchor-1,o.main.head-1)),i={from:n.from,to:n.to,insert:B.of([" "])}),i){var d=e.state;if(Mi.ios&&e.inputState.flushIOSKey(e))return!0;if(Mi.android&&(i.from==n.from&&i.to==n.to&&1==i.insert.length&&2==i.insert.lines&&ci(e.contentDOM,"Enter",13)||i.from==n.from-1&&i.to==n.to&&0==i.insert.length&&ci(e.contentDOM,"Backspace",8)||i.from==n.from&&i.to==n.to+1&&0==i.insert.length&&ci(e.contentDOM,"Delete",46)))return!0;var f,h=i.insert.toString();if(e.state.facet(bo).some(function(t){return t(e,i.from,i.to,h)}))return!0;if(e.inputState.composing>=0&&e.inputState.composing++,i.from>=n.from&&i.to<=n.to&&i.to-i.from>=(n.to-n.from)/3&&(!o||o.main.empty&&o.main.from==i.from+i.insert.length)&&e.inputState.composing<0){var u=n.fromi.to?d.sliceDoc(i.to,n.to):"";f=d.replaceSelection(e.state.toText(u+i.insert.sliceString(0,void 0,e.state.lineBreak)+y))}else{var m=d.changes(i),g=o&&o.main.to<=m.newLength?o.main:void 0;if(d.selection.ranges.length>1&&e.inputState.composing>=0&&i.to<=n.to&&i.to>=n.to-10){var b=e.state.sliceDoc(i.from,i.to),v=hn(e)||e.state.doc.lineAt(n.head),w=n.to-i.to,k=n.to-n.from;f=d.changeByRange(function(t){if(t.from==n.from&&t.to==n.to)return{changes:m,range:g||t.map(m)};var o=t.to-w,r=o-b.length;if(t.to-t.from!=k||e.state.sliceDoc(r,o)!=b||v&&t.to>=v.from&&t.from<=v.to)return{range:t};var a=d.changes({from:r,to:o,insert:i.insert}),s=t.to-n.to;return{changes:a,range:g?me.range(Math.max(0,g.anchor+s),Math.max(0,g.head+s)):t.map(a)}})}else f={changes:m,selection:g&&d.selection.replaceRange(g)}}var O="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,O+=".compose",e.inputState.compositionFirstChange&&(O+=".start",e.inputState.compositionFirstChange=!1)),e.dispatch(f,{scrollIntoView:!0,userEvent:O}),!0}if(o&&!o.main.eq(n)){var x=!1,S="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(x=!0),S=e.inputState.lastSelectionOrigin),e.dispatch({selection:o,scrollIntoView:x,userEvent:S}),!0}return!1}function na(e,t,i,o){for(var n=Math.min(e.length,t.length),r=0;r0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;"end"==o&&(i-=a+Math.max(0,r-Math.min(a,s))-r);if(a=a?r-i:0)+(s-a),a=r;else if(s=s?r-i:0)+(a-s),s=r}return{from:r,toA:a,toB:s}}function ra(e){var t=[];if(e.root.activeElement!=e.contentDOM)return t;var i=e.observer.selectionRange,o=i.anchorNode,n=i.anchorOffset,r=i.focusNode,a=i.focusOffset;return o&&(t.push(new pn(o,n)),r==o&&a==n||t.push(new pn(r,a))),t}function aa(e,t){if(0==e.length)return null;var i=e[0].pos,o=2==e.length?e[1].pos:i;return i>-1&&o>-1?me.single(i+t,o+t):null}var sa={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},la=Mi.ie&&Mi.ie_version<=11,pa=function(){function e(t){var i=this;R(this,e),this.view=t,this.active=!1,this.selectionRange=new ai,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.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(function(e){var o,n=b(e);try{for(n.s();!(o=n.n()).done;){var r=o.value;i.queue.push(r)}}catch(US){n.e(US)}finally{n.f()}(Mi.ie&&Mi.ie_version<=11||Mi.ios&&t.composing)&&e.some(function(e){return"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length})?i.flushSoon():i.flush()}),la&&(this.onCharData=function(e){i.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),i.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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(function(){var e;(null===(e=i.view.docView)||void 0===e?void 0:e.lastUpdate)0&&e[e.length-1].intersectionRatio>0!=i.intersecting&&(i.intersecting=!i.intersecting,i.intersecting!=i.view.inView&&i.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(function(e){e.length>0&&e[e.length-1].intersectionRatio>0&&i.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}return E(e,[{key:"onScrollChanged",value:function(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}},{key:"onScroll",value:function(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}},{key:"onResize",value:function(){var e=this;this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(function(){e.resizeTimeout=-1,e.view.requestMeasure()},50))}},{key:"onPrint",value:function(){var e=this;this.view.viewState.printing=!0,this.view.measure(),setTimeout(function(){e.view.viewState.printing=!1,e.view.requestMeasure()},500)}},{key:"updateGaps",value:function(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some(function(t,i){return t!=e[i]}))){this.gapIntersection.disconnect();var t,i=b(e);try{for(i.s();!(t=i.n()).done;){var o=t.value;this.gapIntersection.observe(o)}}catch(US){i.e(US)}finally{i.f()}this.gaps=e}}},{key:"onSelectionChange",value:function(e){var t=this.selectionChanged;if(this.readSelectionRange()&&!this.delayedAndroidKey){var i=this.view,o=this.selectionRange;if(i.state.facet(Co)?i.root.activeElement==this.dom:Zt(i.dom,o)){var n=o.anchorNode&&i.docView.nearest(o.anchorNode);n&&n.ignoreEvent(e)?t||(this.selectionChanged=!1):(Mi.ie&&Mi.ie_version<=11||Mi.android&&Mi.chrome)&&!i.state.selection.main.empty&&o.focusNode&&Ht(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}}}},{key:"readSelectionRange",value:function(){var e=this.view,t=Mi.safari&&11==e.root.nodeType&&Xt(this.dom.ownerDocument)==this.dom&&da(this.view)||jt(e.root);if(!t||this.selectionRange.eq(t))return!1;var i=Zt(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}},{key:"pendingRecords",value:function(){var e,t=b(this.observer.takeRecords());try{for(t.s();!(e=t.n()).done;){var i=e.value;this.queue.push(i)}}catch(US){t.e(US)}finally{t.f()}return this.queue}},{key:"processRecords",value:function(){var e=this.pendingRecords();e.length&&(this.queue=[]);var t,i=-1,o=-1,n=!1,r=b(e);try{for(r.s();!(t=r.n()).done;){var a=t.value,s=this.readMutation(a);s&&(s.typeOver&&(n=!0),-1==i?(i=s.from,o=s.to):(i=Math.min(s.from,i),o=Math.max(s.to,o)))}}catch(US){r.e(US)}finally{r.f()}return{from:i,to:o,typeOver:n}}},{key:"readChange",value:function(){var e=this.processRecords(),t=e.from,i=e.to,o=e.typeOver,n=this.selectionChanged&&Zt(this.dom,this.selectionRange);return t<0&&!n?null:(t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new ia(this.view,t,i,o))}},{key:"flush",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();var t=this.readChange();if(!t)return!1;var i=this.view.state,o=oa(this.view,t);return this.view.state==i&&this.view.update([]),o}},{key:"readMutation",value:function(e){var t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.dirty|=4),"childList"==e.type){var i=ca(t,e.previousSibling||e.target.previousSibling,-1),o=ca(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:o?t.posBefore(o):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}},{key:"setWindow",value:function(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}},{key:"addWindowListeners",value:function(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}},{key:"removeWindowListeners",value:function(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}},{key:"destroy",value:function(){var e,t,i,o;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect(),null===(o=this.resizeContent)||void 0===o||o.disconnect();var n,r=b(this.scrollTargets);try{for(r.s();!(n=r.n()).done;){n.value.removeEventListener("scroll",this.onScroll)}}catch(US){r.e(US)}finally{r.f()}this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}]),e}();function ca(e,t,i){for(;t;){var o=mi.get(t);if(o&&o.parent==e)return o;var n=t.parentNode;t=n!=e.dom?n:i>0?t.nextSibling:t.previousSibling}return null}function da(e){var t=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),!t)return null;var o=t.startContainer,n=t.startOffset,r=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);if(Ht(s.node,s.offset,r,a)){var l=[r,a,o,n];o=l[0],n=l[1],r=l[2],a=l[3]}return{anchorNode:o,anchorOffset:n,focusNode:r,focusOffset:a}}var fa=function(){function e(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};R(this,e),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.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=i.dispatch||function(e){return t.update([e])},this.dispatch=this.dispatch.bind(this),this._root=i.root||di(i.parent)||document,this.viewState=new $r(i.state||lt.create(i)),this.plugins=this.state.facet(Do).map(function(e){return new Qo(e)});var o,n=b(this.plugins);try{for(n.s();!(o=n.n()).done;){o.value.update(this)}}catch(US){n.e(US)}finally{n.f()}this.observer=new pa(this),this.inputState=new Gn(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new cn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),i.parent&&i.parent.appendChild(this.dom)}return E(e,[{key:"state",get:function(){return this.viewState.state}},{key:"viewport",get:function(){return this.viewState.viewport}},{key:"visibleRanges",get:function(){return this.viewState.visibleRanges}},{key:"inView",get:function(){return this.viewState.inView}},{key:"composing",get:function(){return this.inputState.composing>0}},{key:"compositionStarted",get:function(){return this.inputState.composing>=0}},{key:"root",get:function(){return this._root}},{key:"win",get:function(){return this.dom.ownerDocument.defaultView||window}},{key:"dispatch",value:function(){var e;this._dispatch(1==arguments.length&&(arguments.length<=0?void 0:arguments[0])instanceof Ze?arguments.length<=0?void 0:arguments[0]:(e=this.state).update.apply(e,arguments))}},{key:"update",value:function(e){var t=this;if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");var i,o,n=!1,r=!1,a=this.state,s=b(e);try{for(s.s();!(o=s.n()).done;){var l=o.value;if(l.startState!=a)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");a=l.state}}catch(US){s.e(US)}finally{s.f()}if(this.destroyed)this.viewState.state=a;else{var p=this.hasFocus,c=0,d=null;e.some(function(e){return e.annotation(mr)})?(this.inputState.notifiedFocused=p,c=1):p!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=p,(d=gr(a,p))||(c=1));var f=this.observer.delayedAndroidKey,h=null;if(f?(this.observer.clearDelayedAndroidKey(),((h=this.observer.readChange())&&!this.state.doc.eq(a.doc)||!this.state.selection.eq(a.selection))&&(h=null)):this.observer.clear(),a.facet(lt.phrases)!=this.state.facet(lt.phrases))return this.setState(a);i=Io.create(this,a,e),i.flags|=c;var u=this.viewState.scrollTarget;try{this.updateState=2;var y,m=b(e);try{for(m.s();!(y=m.n()).done;){var g=y.value;if(u&&(u=u.map(g.changes)),g.scrollIntoView){var v=g.state.selection.main;u=new Oo(v.empty?v:me.cursor(v.head,v.head>v.anchor?-1:1))}var w,k=b(g.effects);try{for(k.s();!(w=k.n()).done;){var O=w.value;O.is(xo)&&(u=O.value)}}catch(US){k.e(US)}finally{k.f()}}}catch(US){m.e(US)}finally{m.f()}this.viewState.update(i,u),this.bidiCache=ya.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),n=this.docView.update(i),this.state.facet(Lo)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(function(e){return e.isUserEvent("select.pointer")}))}finally{this.updateState=0}if(i.startState.facet(Zr)!=i.state.facet(Zr)&&(this.viewState.mustMeasureContent=!0),(n||r||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!i.empty){var x,S=b(this.state.facet(go));try{for(S.s();!(x=S.n()).done;){(0,x.value)(i)}}catch(US){S.e(US)}finally{S.f()}}(d||h)&&Promise.resolve().then(function(){d&&t.state==d.startState&&t.dispatch(d),h&&!oa(t,h)&&f.force&&ci(t.contentDOM,f.key,f.keyCode)})}}},{key:"setState",value:function(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)this.viewState.state=e;else{this.updateState=2;var t=this.hasFocus;try{var i,o=b(this.plugins);try{for(o.s();!(i=o.n()).done;){i.value.destroy(this)}}catch(US){o.e(US)}finally{o.f()}this.viewState=new $r(e),this.plugins=e.facet(Do).map(function(e){return new Qo(e)}),this.pluginMap.clear();var n,r=b(this.plugins);try{for(r.s();!(n=r.n()).done;){n.value.update(this)}}catch(US){r.e(US)}finally{r.f()}this.docView=new cn(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}}},{key:"updatePlugins",value:function(e){var t=e.startState.facet(Do),i=e.state.facet(Do);if(t!=i){var o,n=[],r=b(i);try{for(r.s();!(o=r.n()).done;){var a=o.value,s=t.indexOf(a);if(s<0)n.push(new Qo(a));else{var l=this.plugins[s];l.mustUpdate=e,n.push(l)}}}catch(US){r.e(US)}finally{r.f()}var p,c=b(this.plugins);try{for(c.s();!(p=c.n()).done;){var d=p.value;d.mustUpdate!=e&&d.destroy(this)}}catch(US){c.e(US)}finally{c.f()}this.plugins=n,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else{var f,h=b(this.plugins);try{for(h.s();!(f=h.n()).done;){f.value.mustUpdate=e}}catch(US){h.e(US)}finally{h.f()}}for(var u=0;u0&&void 0!==arguments[0])||arguments[0];if(!this.destroyed){this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,t&&this.observer.forceFlush();var i=null,o=this.scrollDOM,n=o.scrollHeight,r=o.scrollTop,a=r>n-o.clientHeight-4?n:r;try{for(var s=0;;s++){this.updateState=1;var l=this.viewport,p=this.viewState.lineBlockAtHeight(a),c=this.viewState.measure(this);if(!c&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(s>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}var d=[];if(!(4&c)){var f=[d,this.measureRequests];this.measureRequests=f[0],d=f[1]}var h=d.map(function(t){try{return t.read(e)}catch(i){return So(e.state,i),ua}}),u=Io.create(this,this.state,[]),y=!1,m=!1;u.flags|=c,i?i.flags|=c:i=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),y=this.docView.update(u));for(var g=0;g1||w<-1)&&(this.scrollDOM.scrollTop+=w,m=!0)}if(y&&this.docView.updateSelection(!0),this.viewport.from==l.from&&this.viewport.to==l.to&&!m&&0==this.measureRequests.length)break}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty){var k,O=b(this.state.facet(go));try{for(O.s();!(k=O.n()).done;){(0,k.value)(i)}}catch(US){O.e(US)}finally{O.f()}}}}},{key:"themeClasses",get:function(){return Hr+" "+(this.state.facet(Ur)?Kr:Yr)+" "+this.state.facet(Zr)}},{key:"updateAttrs",value:function(){var e=this,t=ma(this,Ao,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Co)?"true":"false",class:"cm-content",style:"".concat(Mi.tabSize,": ").concat(this.state.tabSize),role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),ma(this,Ro,i);var o=this.observer.ignore(function(){var o=Yi(e.contentDOM,e.contentAttrs,i),n=Yi(e.dom,e.editorAttrs,t);return o||n});return this.editorAttrs=t,this.contentAttrs=i,o}},{key:"showAnnouncements",value:function(t){var i,o=!0,n=b(t);try{for(n.s();!(i=n.n()).done;){var r,a=b(i.value.effects);try{for(a.s();!(r=a.n()).done;){var s=r.value;if(s.is(e.announce))o&&(this.announceDOM.textContent=""),o=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=s.value}}catch(US){a.e(US)}finally{a.f()}}}catch(US){n.e(US)}finally{n.f()}}},{key:"mountStyles",value:function(){this.styleModules=this.state.facet(Lo),Et.mount(this.root,this.styleModules.concat(ta).reverse())}},{key:"readMeasured",value:function(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}},{key:"requestMeasure",value:function(e){var t=this;if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(function(){return t.measure()})),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(var i=0;i2&&void 0!==arguments[2])||arguments[2])}},{key:"moveVertically",value:function(e,t,i){return In(this,e,Bn(this,e,t,i))}},{key:"domAtPos",value:function(e){return this.docView.domAtPos(e)}},{key:"posAtDOM",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.docView.posFromDOM(e,t)}},{key:"posAtCoords",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.readMeasured(),Qn(this,e,t)}},{key:"coordsAtPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.readMeasured();var i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;var o=this.state.doc.lineAt(e),n=this.bidiSpans(o);return ti(i,n[Jo.find(n,e-o.from,-1,t)].dir==Go.LTR==t>0)}},{key:"defaultCharacterWidth",get:function(){return this.viewState.heightOracle.charWidth}},{key:"defaultLineHeight",get:function(){return this.viewState.heightOracle.lineHeight}},{key:"textDirection",get:function(){return this.viewState.defaultTextDirection}},{key:"textDirectionAt",value:function(e){return!this.state.facet(wo)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}},{key:"lineWrapping",get:function(){return this.viewState.heightOracle.lineWrapping}},{key:"bidiSpans",value:function(e){if(e.length>ha)return on(e.length);var t,i=this.textDirectionAt(e.from),o=b(this.bidiCache);try{for(o.s();!(t=o.n()).done;){var n=t.value;if(n.from==e.from&&n.dir==i)return n.order}}catch(US){o.e(US)}finally{o.f()}var r=tn(e.text,i);return this.bidiCache.push(new ya(e.from,e.to,i,r)),r}},{key:"hasFocus",get:function(){var e;return(this.dom.ownerDocument.hasFocus()||Mi.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}},{key:"focus",value:function(){var e=this;this.observer.ignore(function(){li(e.contentDOM),e.docView.updateSelection()})}},{key:"setRoot",value:function(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}},{key:"destroy",value:function(){var e,t=b(this.plugins);try{for(t.s();!(e=t.n()).done;){e.value.destroy(this)}}catch(US){t.e(US)}finally{t.f()}this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}}],[{key:"scrollIntoView",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return xo.of(new Oo("number"==typeof e?me.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}},{key:"domEventHandlers",value:function(e){return To.define(function(){return{}},{eventHandlers:e})}},{key:"theme",value:function(e,t){var i=Et.newName(),o=[Zr.of(i),Lo.of(ea(".".concat(i),e))];return t&&t.dark&&o.push(Ur.of(!0)),o}},{key:"baseTheme",value:function(e){return Qe.lowest(Lo.of(ea("."+Hr,e,Jr)))}},{key:"findFromDOM",value:function(e){var t,i=e.querySelector(".cm-content"),o=i&&mi.get(i)||mi.get(e);return(null===(t=null==o?void 0:o.rootView)||void 0===t?void 0:t.view)||null}}]),e}();fa.styleModule=Lo,fa.inputHandler=bo,fa.focusChangeEffect=vo,fa.perLineTextDirection=wo,fa.exceptionSink=mo,fa.updateListener=go,fa.editable=Co,fa.mouseSelectionStyle=yo,fa.dragMovesSelection=uo,fa.clickAddsSelectionRange=ho,fa.decorations=Mo,fa.atomicRanges=Eo,fa.scrollMargins=Fo,fa.darkTheme=Ur,fa.contentAttributes=Ro,fa.editorAttributes=Ao,fa.lineWrapping=fa.contentAttributes.of({class:"cm-lineWrapping"}),fa.announce=Xe.define();var ha=4096,ua={},ya=function(){function e(t,i,o,n){R(this,e),this.from=t,this.to=i,this.dir=o,this.order=n}return E(e,null,[{key:"update",value:function(t,i){if(i.empty)return t;for(var o=[],n=t.length?t[t.length-1].dir:Go.LTR,r=Math.max(0,t.length-10);r=0;n--){var r=o[n],a="function"==typeof r?r(e):r;a&&Ui(a,i)}return i}var ga=Mi.mac?"mac":Mi.windows?"win":Mi.linux?"linux":"key";function ba(e,t){var i,o,n,r,a=e.split(/-(?!$)/),s=a[a.length-1];"Space"==s&&(s=" ");for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:ga,o=Object.create(null),n=Object.create(null),r=function(e,t){var i=n[e];if(null==i)n[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},a=function(e,t,n,a){for(var s,l,p=o[e]||(o[e]=Object.create(null)),c=t.split(/ (?!$)/).map(function(e){return ba(e,i)}),d=function(){var t=c.slice(0,f).join(" ");r(t,!0),p[t]||(p[t]={preventDefault:!0,run:[function(i){var o=Sa={view:i,prefix:t,scope:e};return setTimeout(function(){Sa==o&&(Sa=null)},Ca),!0}]})},f=1;ft||r.to==t&&(r.to==i.to||r.type==Ji.Text))return r}}catch(US){n.e(US)}finally{n.f()}}return i}function Ma(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];var o=Math.max(i.from,e.viewport.from),n=Math.min(i.to,e.viewport.to),r=e.textDirection==Go.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=Qa(e),p=a.querySelector(".cm-line"),c=p&&window.getComputedStyle(p),d=s.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=s.right-(c?parseInt(c.paddingRight):0),h=Ra(e,o),u=Ra(e,n),y=h.type==Ji.Text?h:null,m=u.type==Ji.Text?u:null;if(e.lineWrapping&&(y&&(y=Aa(e,o,y)),m&&(m=Aa(e,n,m))),y&&m&&y.from==m.from)return O(x(i.from,i.to,y));var g=y?x(i.from,null,y):S(h,!1),v=m?x(null,i.to,m):S(u,!0),w=[];return(y||h).to<(m||u).from-1?w.push(k(d,g.bottom,f,v.top)):g.bottomc&&y.from=g)break;S>m&&l(Math.max(x,m),null==t&&x<=c,Math.min(S,g),null==i&&S>=h,O.dir)}}catch(US){k.e(US)}finally{k.f()}if((m=w.to+1)>=g)break}}}catch(US){u.e(US)}finally{u.f()}return 0==s.length&&l(c,null==t,h,null==i,e.textDirection),{top:n,bottom:a,horizontal:s}}function S(e,t){var i=s.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}function Ea(e,t){return e.constructor==t.constructor&&e.eq(t)}var Fa=function(){function e(t,i){R(this,e),this.view=t,this.layer=i,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),i.above&&this.dom.classList.add("cm-layer-above"),i.class&&this.dom.classList.add(i.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),i.mount&&i.mount(this.dom,t)}return E(e,[{key:"update",value:function(e){e.startState.facet(La)!=e.state.facet(La)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}},{key:"setOrder",value:function(e){for(var t=0,i=e.facet(La);t0&&void 0!==arguments[0]?arguments[0]:{};return[Ga.of(e),za,Wa,ja,ko.of(!0)]}function Va(e){return e.startState.facet(Ga)!=e.state.facet(Ga)}var za=Ba({above:!0,markers:function(e){var t,i=e.state,o=i.facet(Ga),n=[],r=b(i.selection.ranges);try{for(r.s();!(t=r.n()).done;){var a=t.value,s=a==i.selection.main;if(a.empty?!s||Ia:o.drawRangeCursor){var l,p=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",c=a.empty?a:me.cursor(a.head,a.head>a.anchor?-1:1),d=b(Ta.forRange(e,p,c));try{for(d.s();!(l=d.n()).done;){var f=l.value;n.push(f)}}catch(US){d.e(US)}finally{d.f()}}}}catch(US){r.e(US)}finally{r.f()}return n},update:function(e,t){e.transactions.some(function(e){return e.selection})&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");var i=Va(e);return i&&Na(e.state,t),e.docChanged||e.selectionSet||i},mount:function(e,t){Na(t.state,e)},class:"cm-cursorLayer"});function Na(e,t){t.style.animationDuration=e.facet(Ga).cursorBlinkRate+"ms"}var Wa=Ba({above:!1,markers:function(e){return e.state.selection.ranges.map(function(t){return t.empty?[]:Ta.forRange(e,"cm-selectionBackground",t)}).reduce(function(e,t){return e.concat(t)})},update:function(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||Va(e)},class:"cm-selectionLayer"}),qa={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Ia&&(qa[".cm-line"].caretColor="transparent !important");var ja=Qe.highest(fa.theme(qa)),_a=Xe.define({map:function(e,t){return null==e?null:t.mapPos(e)}}),Xa=Pe.define({create:function(){return null},update:function(e,t){return null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(function(e,t){return t.is(_a)?t.value:e},e)}}),Za=To.fromClass(function(){function e(t){R(this,e),this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}return E(e,[{key:"update",value:function(e){var t,i=e.state.field(Xa);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Xa)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}},{key:"readPos",value:function(){var e=this.view.state.field(Xa),t=null!=e&&this.view.coordsAtPos(e);if(!t)return null;var i=this.view.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+this.view.scrollDOM.scrollLeft,top:t.top-i.top+this.view.scrollDOM.scrollTop,height:t.bottom-t.top}}},{key:"drawCursor",value:function(e){this.cursor&&(e?(this.cursor.style.left=e.left+"px",this.cursor.style.top=e.top+"px",this.cursor.style.height=e.height+"px"):this.cursor.style.left="-100000px")}},{key:"destroy",value:function(){this.cursor&&this.cursor.remove()}},{key:"setDropPos",value:function(e){this.view.state.field(Xa)!=e&&this.view.dispatch({effects:_a.of(e)})}}]),e}(),{eventHandlers:{dragover:function(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave:function(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend:function(){this.setDropPos(null)},drop:function(){this.setDropPos(null)}}});function Ua(){return[Xa,Za]}function Ha(e,t,i,o,n){t.lastIndex=0;for(var r,a=e.iterRange(i,o),s=i;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;r=t.exec(a.value);)n(s+r.index,r)}function Ya(e,t){var i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;var o,n=[],r=b(i);try{for(r.s();!(o=r.n()).done;){var a=o.value,s=a.from,l=a.to;s=Math.max(e.state.doc.lineAt(s).from,s-t),l=Math.min(e.state.doc.lineAt(l).to,l+t),n.length&&n[n.length-1].to>=s?n[n.length-1].to=l:n.push({from:s,to:l})}}catch(US){r.e(US)}finally{r.f()}return n}var Ka=function(){function e(t){R(this,e);var i=t.regexp,o=t.decoration,n=t.decorate,r=t.boundary,a=t.maxLength,s=void 0===a?1e3:a;if(!i.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=i,n)this.addMatch=function(e,t,i,o){return n(o,i,i+e[0].length,e,t)};else if("function"==typeof o)this.addMatch=function(e,t,i,n){var r=o(e,t,i);r&&n(i,i+e[0].length,r)};else{if(!o)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=function(e,t,i,n){return n(i,i+e[0].length,o)}}this.boundary=r,this.maxLength=s}return E(e,[{key:"createDeco",value:function(e){var t,i=this,o=new mt,n=o.add.bind(o),r=b(Ya(e,this.maxLength));try{for(r.s();!(t=r.n()).done;){var a=t.value,s=a.from,l=a.to;Ha(e.state.doc,this.regexp,s,l,function(t,o){return i.addMatch(o,e,t,n)})}}catch(US){r.e(US)}finally{r.f()}return o.finish()}},{key:"updateDeco",value:function(e,t){var i=1e9,o=-1;return e.docChanged&&e.changes.iterChanges(function(t,n,r,a){a>e.view.viewport.from&&r1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),i,o):t}},{key:"updateRange",value:function(e,t,i,o){var n,r=this,a=b(e.visibleRanges);try{var s=function(){var a=n.value,s=Math.max(a.from,i),l=Math.min(a.to,o);if(l>s){var p=e.state.doc.lineAt(s),c=p.top.from;s--)if(r.boundary.test(p.text[s-1-p.from])){d=s;break}for(;lf},add:u})}};for(a.s();!(n=a.n()).done;)s()}catch(US){a.e(US)}finally{a.f()}return t}}]),e}(),Ja=null!=/x/.unicode?"gu":"g",es=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Ja),ts={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},is=null;function os(){var e;if(null==is&&"undefined"!=typeof document&&document.body){var t=document.body.style;is=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return is||!1}var ns=ve.define({combine:function(e){var t=pt(e,{render:null,specialChars:es,addSpecialChars:null});return(t.replaceTabs=!os())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Ja)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Ja)),t}});function rs(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[ns.of(e),ss()]}var as=null;function ss(){return as||(as=To.fromClass(function(){function e(t){R(this,e),this.view=t,this.decorations=eo.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ns)),this.decorations=this.decorator.createDeco(t)}return E(e,[{key:"makeDecorator",value:function(e){var t=this;return new Ka({regexp:e.specialChars,decoration:function(i,o,n){var r=o.state.doc,a=ie(i[0],0);if(9==a){var s=r.lineAt(n),l=o.state.tabSize,p=Dt(s.text,l,n-s.from);return eo.replace({widget:new ds((l-p%l)*t.view.defaultCharacterWidth)})}return t.decorationCache[a]||(t.decorationCache[a]=eo.replace({widget:new cs(e,a)}))},boundary:e.replaceTabs?void 0:/[^]/})}},{key:"update",value:function(e){var t=e.state.facet(ns);e.startState.facet(ns)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}}]),e}(),{decorations:function(e){return e.decorations}}))}var ls="•";function ps(e){return e>=32?ls:10==e?"␤":String.fromCharCode(9216+e)}var cs=function(e){x(i,Ki);var t=C(i);function i(e,o){var n;return R(this,i),(n=t.call(this)).options=e,n.code=o,n}return E(i,[{key:"eq",value:function(e){return e.code==this.code}},{key:"toDOM",value:function(e){var t=ps(this.code),i=e.state.phrase("Control character")+" "+(ts[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,i,t);if(o)return o;var n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}},{key:"ignoreEvent",value:function(){return!1}}]),i}(),ds=function(e){x(i,Ki);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).width=e,o}return E(i,[{key:"eq",value:function(e){return e.width==this.width}},{key:"toDOM",value:function(){var e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}},{key:"ignoreEvent",value:function(){return!1}}]),i}(),fs=function(e){x(i,Ki);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).content=e,o}return E(i,[{key:"toDOM",value:function(){var e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}},{key:"ignoreEvent",value:function(){return!1}}]),i}();function hs(e){return To.fromClass(function(){function t(i){R(this,t),this.view=i,this.placeholder=eo.set([eo.widget({widget:new fs(e),side:1}).range(0)])}return E(t,[{key:"decorations",get:function(){return this.view.state.doc.length?eo.none:this.placeholder}}]),t}(),{decorations:function(e){return e.decorations}})}var us="-10000px",ys=function(){function e(t,i,o){R(this,e),this.facet=i,this.createTooltipView=o,this.input=t.state.facet(i),this.tooltips=this.input.filter(function(e){return e}),this.tooltipViews=this.tooltips.map(o)}return E(e,[{key:"update",value:function(e){var t,i=e.state.facet(this.facet),o=i.filter(function(e){return e});if(i===this.input){var n,r=b(this.tooltipViews);try{for(r.s();!(n=r.n()).done;){var a=n.value;a.update&&a.update(e)}}catch(US){r.e(US)}finally{r.f()}return!1}for(var s=[],l=0;li.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&i.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}return E(e,[{key:"createContainer",value:function(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}},{key:"observeIntersection",value:function(){if(this.intersectionObserver){this.intersectionObserver.disconnect();var e,t=b(this.manager.tooltipViews);try{for(t.s();!(e=t.n()).done;){var i=e.value;this.intersectionObserver.observe(i.dom)}}catch(US){t.e(US)}finally{t.f()}}}},{key:"measureSoon",value:function(){var e=this;this.measureTimeout<0&&(this.measureTimeout=setTimeout(function(){e.measureTimeout=-1,e.maybeMeasure()},50))}},{key:"update",value:function(e){e.transactions.length&&(this.lastTransaction=Date.now());var t=this.manager.update(e);t&&this.observeIntersection();var i=t||e.geometryChanged,o=e.state.facet(gs);if(o.position!=this.position){this.position=o.position;var n,r=b(this.manager.tooltipViews);try{for(r.s();!(n=r.n()).done;){n.value.dom.style.position=this.position}}catch(US){r.e(US)}finally{r.f()}i=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();var a,s=b(this.manager.tooltipViews);try{for(s.s();!(a=s.n()).done;){var l=a.value;this.container.appendChild(l.dom)}}catch(US){s.e(US)}finally{s.f()}i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}},{key:"createTooltip",value:function(e){var t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){var i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=us,this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}},{key:"destroy",value:function(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);var i,o=b(this.manager.tooltipViews);try{for(o.s();!(i=o.n()).done;){var n=i.value;n.dom.remove(),null===(e=n.destroy)||void 0===e||e.call(n)}}catch(US){o.e(US)}finally{o.f()}null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}},{key:"readMeasure",value:function(){var e=this,t=this.view.dom.getBoundingClientRect();return{editor:t,parent:this.parent?this.container.getBoundingClientRect():t,pos:this.manager.tooltips.map(function(t,i){var o=e.manager.tooltipViews[i];return o.getCoords?o.getCoords(t.pos):e.view.coordsAtPos(t.pos)}),size:this.manager.tooltipViews.map(function(e){return e.dom.getBoundingClientRect()}),space:this.view.state.facet(gs).tooltipSpace(this.view)}}},{key:"writeMeasure",value:function(e){for(var t,i=e.editor,o=e.space,n=[],r=0;r=Math.min(i.bottom,o.bottom)||p.rightMath.min(i.right,o.right)+.1)l.style.top=us;else{var d=a.arrow?s.dom.querySelector(".cm-tooltip-arrow"):null,f=d?7:0,h=c.right-c.left,u=null!==(t=bs.get(s))&&void 0!==t?t:c.bottom-c.top,y=s.offset||ks,m=this.view.textDirection==Go.LTR,g=c.width>o.right-o.left?m?o.left:o.right-c.width:m?Math.min(p.left-(d?14:0)+y.x,o.right-h):Math.max(o.left,p.left-h+(d?14:0)-y.x),v=!!a.above;!a.strictSide&&(v?p.top-(c.bottom-c.top)-y.yo.bottom)&&v==o.bottom-p.bottom>p.top-o.top&&(v=!v);var w=(v?p.top-o.top:o.bottom-p.bottom)-f;if(wg&&C.topk&&(k=v?C.top-u-2-f:C.bottom+f+2)}}catch(US){S.e(US)}finally{S.f()}}"absolute"==this.position?(l.style.top=k-e.parent.top+"px",l.style.left=g-e.parent.left+"px"):(l.style.top=k+"px",l.style.left=g+"px"),d&&(d.style.left="".concat(p.left+(m?y.x:-y.x)-(g+14-7),"px")),!0!==s.overlap&&n.push({left:g,top:k,right:O,bottom:k+u}),l.classList.toggle("cm-tooltip-above",v),l.classList.toggle("cm-tooltip-below",!v),s.positioned&&s.positioned(e.space)}}}},{key:"maybeMeasure",value:function(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView))){var e,t=b(this.manager.tooltipViews);try{for(t.s();!(e=t.n()).done;){e.value.dom.style.top=us}}catch(US){t.e(US)}finally{t.f()}}}}]),e}(),{eventHandlers:{scroll:function(){this.maybeMeasure()}}}),ws=fa.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"".concat(7,"px"),width:"".concat(14,"px"),position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"".concat(7,"px solid transparent"),borderRight:"".concat(7,"px solid transparent")},".cm-tooltip-above &":{bottom:"-".concat(7,"px"),"&:before":{borderTop:"".concat(7,"px solid #bbb")},"&:after":{borderTop:"".concat(7,"px solid #f5f5f5"),bottom:"1px"}},".cm-tooltip-below &":{top:"-".concat(7,"px"),"&:before":{borderBottom:"".concat(7,"px solid #bbb")},"&:after":{borderBottom:"".concat(7,"px solid #f5f5f5"),top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),ks={x:0,y:0},Os=ve.define({enables:[vs,ws]});function xs(e,t){var i=e.plugin(vs);if(!i)return null;var o=i.manager.tooltips.indexOf(t);return o<0?null:i.manager.tooltipViews[o]}var Ss=function(e){x(i,ct);var t=C(i);function i(){return R(this,i),t.apply(this,arguments)}return E(i,[{key:"compare",value:function(e){return this==e||this.constructor==e.constructor&&this.eq(e)}},{key:"eq",value:function(e){return!1}},{key:"destroy",value:function(e){}}]),i}();Ss.prototype.elementClass="",Ss.prototype.toDOM=void 0,Ss.prototype.mapMode=ae.TrackBefore,Ss.prototype.startSide=Ss.prototype.endSide=-1,Ss.prototype.point=!0;var Cs=ve.define(),Ps={class:"",renderEmptyElements:!1,elementStyle:"",markers:function(){return ut.empty},lineMarker:function(){return null},lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},Ds=ve.define();function Ts(e){return[As(),Ds.of(Object.assign(Object.assign({},Ps),e))]}var Qs=ve.define({combine:function(e){return e.some(function(e){return e})}});function As(e){var t=[Rs];return e&&!1===e.fixed&&t.push(Qs.of(!0)),t}var Rs=To.fromClass(function(){function e(t){R(this,e),this.view=t,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=t.state.facet(Ds).map(function(e){return new Ls(t,e)});var i,o=b(this.gutters);try{for(o.s();!(i=o.n()).done;){var n=i.value;this.dom.appendChild(n.dom)}}catch(US){o.e(US)}finally{o.f()}this.fixed=!t.state.facet(Qs),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}return E(e,[{key:"update",value:function(e){if(this.updateGutters(e)){var t=this.prevViewport,i=e.view.viewport,o=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(o<.8*(i.to-i.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(Qs)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}},{key:"syncGutters",value:function(e){var t=this,i=this.dom.nextSibling;e&&this.dom.remove();var o,n=ut.iter(this.view.state.facet(Cs),this.view.viewport.from),r=[],a=this.gutters.map(function(e){return new Fs(e,t.view.viewport,-t.view.documentPadding.top)}),s=b(this.view.viewportLineBlocks);try{for(s.s();!(o=s.n()).done;){var l=o.value,p=void 0;if(Array.isArray(l.type)){var c,d=b(l.type);try{for(d.s();!(c=d.n()).done;){var f=c.value;if(f.type==Ji.Text){p=f;break}}}catch(US){d.e(US)}finally{d.f()}}else p=l.type==Ji.Text?l:void 0;if(p){r.length&&(r=[]),Es(n,r,l.from);var h,u=b(a);try{for(u.s();!(h=u.n()).done;){h.value.line(this.view,p,r)}}catch(US){u.e(US)}finally{u.f()}}}}catch(US){s.e(US)}finally{s.f()}var y,m=b(a);try{for(m.s();!(y=m.n()).done;){y.value.finish()}}catch(US){m.e(US)}finally{m.f()}e&&this.view.scrollDOM.insertBefore(this.dom,i)}},{key:"updateGutters",value:function(e){var t=e.startState.facet(Ds),i=e.state.facet(Ds),o=e.docChanged||e.heightChanged||e.viewportChanged||!ut.eq(e.startState.facet(Cs),e.state.facet(Cs),e.view.viewport.from,e.view.viewport.to);if(t==i){var n,r=b(this.gutters);try{for(r.s();!(n=r.n()).done;){n.value.update(e)&&(o=!0)}}catch(US){r.e(US)}finally{r.f()}}else{o=!0;var a,s=[],l=b(i);try{for(l.s();!(a=l.n()).done;){var p=a.value,c=t.indexOf(p);c<0?s.push(new Ls(this.view,p)):(this.gutters[c].update(e),s.push(this.gutters[c]))}}catch(US){l.e(US)}finally{l.f()}var d,f=b(this.gutters);try{for(f.s();!(d=f.n()).done;){var h=d.value;h.dom.remove(),s.indexOf(h)<0&&h.destroy()}}catch(US){f.e(US)}finally{f.f()}for(var u=0,y=s;uthis.i;){var t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}]),e}(),Ls=function(){function e(t,i){var o=this;R(this,e),this.view=t,this.config=i,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");var n=function(e){o.dom.addEventListener(e,function(n){var r,a=n.target;if(a!=o.dom&&o.dom.contains(a)){for(;a.parentNode!=o.dom;)a=a.parentNode;var s=a.getBoundingClientRect();r=(s.top+s.bottom)/2}else r=n.clientY;var l=t.lineBlockAtHeight(r-t.documentTop);i.domEventHandlers[e](t,l,n)&&n.preventDefault()})};for(var r in i.domEventHandlers)n(r);this.markers=Ms(i.markers(t)),i.initialSpacer&&(this.spacer=new Bs(t,0,0,[i.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}return E(e,[{key:"update",value:function(e){var t=this.markers;if(this.markers=Ms(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){var i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}var o=e.view.viewport;return!ut.eq(this.markers,t,o.from,o.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}},{key:"destroy",value:function(){var e,t=b(this.elements);try{for(t.s();!(e=t.n()).done;){e.value.destroy()}}catch(US){t.e(US)}finally{t.f()}}}]),e}(),Bs=function(){function e(t,i,o,n){R(this,e),this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,i,o,n)}return E(e,[{key:"update",value:function(e,t,i,o){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),Is(this.markers,o)||this.setMarkers(e,o)}},{key:"setMarkers",value:function(e,t){for(var i="cm-gutterElement",o=this.dom.firstChild,n=0,r=0;;){var a=r,s=n0&&void 0!==arguments[0]?arguments[0]:{};return[$s.of(e),As(),Ns]}function qs(e){for(var t=9;t0&&void 0!==arguments[0]?arguments[0]:{};R(this,e),this.id=_s++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||function(){throw new Error("This node type doesn't define a deserialize function")}}return E(e,[{key:"add",value:function(e){var t=this;if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=Ys.match(e)),function(i){var o=e(i);return void 0===o?null:[t,o]}}}]),e}();Zs.closedBy=new Zs({deserialize:function(e){return e.split(" ")}}),Zs.openedBy=new Zs({deserialize:function(e){return e.split(" ")}}),Zs.group=new Zs({deserialize:function(e){return e.split(" ")}}),Zs.contextHash=new Zs({perNode:!0}),Zs.lookAhead=new Zs({perNode:!0}),Zs.mounted=new Zs({perNode:!0});var Us=E(function e(t,i,o){R(this,e),this.tree=t,this.overlay=i,this.parser=o}),Hs=Object.create(null),Ys=function(){function e(t,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;R(this,e),this.name=t,this.props=i,this.id=o,this.flags=n}return E(e,[{key:"prop",value:function(e){return this.props[e.id]}},{key:"isTop",get:function(){return(1&this.flags)>0}},{key:"isSkipped",get:function(){return(2&this.flags)>0}},{key:"isError",get:function(){return(4&this.flags)>0}},{key:"isAnonymous",get:function(){return(8&this.flags)>0}},{key:"is",value:function(e){if("string"==typeof e){if(this.name==e)return!0;var t=this.prop(Zs.group);return!!t&&t.indexOf(e)>-1}return this.id==e}}],[{key:"define",value:function(t){var i=t.props&&t.props.length?Object.create(null):Hs,o=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(null==t.name?8:0),n=new e(t.name||"",i,t.id,o);if(t.props){var r,a=b(t.props);try{for(a.s();!(r=a.n()).done;){var s=r.value;if(Array.isArray(s)||(s=s(n)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");i[s[0].id]=s[1]}}}catch(US){a.e(US)}finally{a.f()}}return n}},{key:"match",value:function(e){var t=Object.create(null);for(var i in e){var o,n=b(i.split(" "));try{for(n.s();!(o=n.n()).done;){var r=o.value;t[r]=e[i]}}catch(US){n.e(US)}finally{n.f()}}return function(e){for(var i=e.prop(Zs.group),o=-1;o<(i?i.length:0);o++){var n=t[o<0?e.name:i[o]];if(n)return n}}}}]),e}();Ys.none=new Ys("",Object.create(null),0,8);var Ks,Js=function(){function e(t){R(this,e),this.types=t;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:0;return new hl(this.topNode,e)}},{key:"cursorAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(arguments.length>2&&void 0!==arguments[2]&&arguments[2],el.get(this)||this.topNode),o=new hl(i);return o.moveTo(e,t),el.set(this,o._tree),o}},{key:"topNode",get:function(){return new ll(this,0,0,null)}},{key:"resolve",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=sl(el.get(this)||this.topNode,e,t,!1);return el.set(this,i),i}},{key:"resolveInner",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=sl(tl.get(this)||this.topNode,e,t,!0);return tl.set(this,i),i}},{key:"iterate",value:function(e){for(var t=e.enter,i=e.leave,o=e.from,n=void 0===o?0:o,r=e.to,a=void 0===r?this.length:r,s=this.cursor((e.mode||0)|Ks.IncludeAnonymous);;){var l=!1;if(s.from<=a&&s.to>=n&&(s.type.isAnonymous||!1!==t(s))){if(s.firstChild())continue;l=!0}for(;l&&i&&!s.type.isAnonymous&&i(s),!s.nextSibling();){if(!s.parent())return;l=!0}}}},{key:"prop",value:function(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}},{key:"propValues",get:function(){var e=[];if(this.props)for(var t in this.props)e.push([+t,this.props[t]]);return e}},{key:"balance",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.children.length<=8?this:bl(Ys.none,this.children,this.positions,0,this.children.length,0,this.length,function(i,o,n){return new e(t.type,i,o,n,t.propValues)},i.makeTree||function(t,i,o){return new e(Ys.none,t,i,o)})}}],[{key:"build",value:function(e){return yl(e)}}]),e}();il.empty=new il(Ys.none,[],[],0);var ol=function(){function e(t,i){R(this,e),this.buffer=t,this.index=i}return E(e,[{key:"id",get:function(){return this.buffer[this.index-4]}},{key:"start",get:function(){return this.buffer[this.index-3]}},{key:"end",get:function(){return this.buffer[this.index-2]}},{key:"size",get:function(){return this.buffer[this.index-1]}},{key:"pos",get:function(){return this.index}},{key:"next",value:function(){this.index-=4}},{key:"fork",value:function(){return new e(this.buffer,this.index)}}]),e}(),nl=function(){function e(t,i,o){R(this,e),this.buffer=t,this.length=i,this.set=o}return E(e,[{key:"type",get:function(){return Ys.none}},{key:"toString",value:function(){for(var e=[],t=0;t0));s=r[s+3]);return a}},{key:"slice",value:function(t,i,o){for(var n=this.buffer,r=new Uint16Array(i-t),a=0,s=t,l=0;s=t&&it;case 1:return i<=t&&o>t;case 2:return o>t;case 4:return!0}}function al(e,t){for(var i=e.childBefore(t);i;){var o=i.lastChild;if(!o||o.to!=i.to)break;o.type.isError&&o.from==o.to?(e=i,i=o.prevSibling):i=o}return e}function sl(e,t,i,o){for(var n;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to4&&void 0!==arguments[4]?arguments[4]:0,a=this;;){for(var s=a._tree,l=s.children,p=s.positions,c=i>0?l.length:-1;t!=c;t+=i){var d=l[t],f=p[t]+a.from;if(rl(n,o,f,f+d.length))if(d instanceof nl){if(r&Ks.ExcludeBuffers)continue;var h=d.findChild(0,d.buffer.length,i,o-f,n);if(h>-1)return new fl(new dl(a,d,t,f),null,h)}else if(r&Ks.IncludeAnonymous||!d.type.isAnonymous||ul(d)){var u=void 0;if(!(r&Ks.IgnoreMounts)&&d.props&&(u=d.prop(Zs.mounted))&&!u.overlay)return new e(u.tree,f,t,a);var y=new e(d,f,t,a);return r&Ks.IncludeAnonymous||!y.type.isAnonymous?y:y.nextChild(i<0?d.children.length-1:0,i,o,n)}}if(r&Ks.IncludeAnonymous||!a.type.isAnonymous)return null;if(t=a.index>=0?a.index+i:i<0?-1:a._parent._tree.children.length,!(a=a._parent))return null}}},{key:"firstChild",get:function(){return this.nextChild(0,1,0,4)}},{key:"lastChild",get:function(){return this.nextChild(this._tree.children.length-1,-1,0,4)}},{key:"childAfter",value:function(e){return this.nextChild(0,1,e,2)}},{key:"childBefore",value:function(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}},{key:"enter",value:function(t,i){var o,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!(n&Ks.IgnoreOverlays)&&(o=this._tree.prop(Zs.mounted))&&o.overlay){var r,a=t-this.from,s=b(o.overlay);try{for(s.s();!(r=s.n()).done;){var l=r.value,p=l.from,c=l.to;if((i>0?p<=a:p=a:c>a))return new e(o.tree,o.overlay[0].from+this.from,-1,this)}}catch(US){s.e(US)}finally{s.f()}}return this.nextChild(0,1,t,i,n)}},{key:"nextSignificantParent",value:function(){for(var e=this;e.type.isAnonymous&&e._parent;)e=e._parent;return e}},{key:"parent",get:function(){return this._parent?this._parent.nextSignificantParent():null}},{key:"nextSibling",get:function(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}},{key:"prevSibling",get:function(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}},{key:"cursor",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new hl(this,e)}},{key:"tree",get:function(){return this._tree}},{key:"toTree",value:function(){return this._tree}},{key:"resolve",value:function(e){return sl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,!1)}},{key:"resolveInner",value:function(e){return sl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,!0)}},{key:"enterUnfinishedNodesBefore",value:function(e){return al(this,e)}},{key:"getChild",value:function(e){var t=pl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,arguments.length>2&&void 0!==arguments[2]?arguments[2]:null);return t.length?t[0]:null}},{key:"getChildren",value:function(e){return pl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)}},{key:"toString",value:function(){return this._tree.toString()}},{key:"node",get:function(){return this}},{key:"matchContext",value:function(e){return cl(this,e)}}]),e}();function pl(e,t,i,o){var n=e.cursor(),r=[];if(!n.firstChild())return r;if(null!=i)for(;!n.type.is(i);)if(!n.nextSibling())return r;for(;;){if(null!=o&&n.type.is(o))return r;if(n.type.is(t)&&r.push(n.node),!n.nextSibling())return null==o?r:[]}}function cl(e,t){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length-1,o=e.parent;i>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(t[i]&&t[i]!=o.name)return!1;i--}}return!0}var dl=E(function e(t,i,o,n){R(this,e),this.parent=t,this.buffer=i,this.index=o,this.start=n}),fl=function(){function e(t,i,o){R(this,e),this.context=t,this._parent=i,this.index=o,this.type=t.buffer.set.types[t.buffer.buffer[o]]}return E(e,[{key:"name",get:function(){return this.type.name}},{key:"from",get:function(){return this.context.start+this.context.buffer.buffer[this.index+1]}},{key:"to",get:function(){return this.context.start+this.context.buffer.buffer[this.index+2]}},{key:"child",value:function(t,i,o){var n=this.context.buffer,r=n.findChild(this.index+4,n.buffer[this.index+3],t,i-this.context.start,o);return r<0?null:new e(this.context,this,r)}},{key:"firstChild",get:function(){return this.child(1,0,4)}},{key:"lastChild",get:function(){return this.child(-1,0,4)}},{key:"childAfter",value:function(e){return this.child(1,e,2)}},{key:"childBefore",value:function(e){return this.child(-1,e,-2)}},{key:"enter",value:function(t,i){if((arguments.length>2&&void 0!==arguments[2]?arguments[2]:0)&Ks.ExcludeBuffers)return null;var o=this.context.buffer,n=o.findChild(this.index+4,o.buffer[this.index+3],i>0?1:-1,t-this.context.start,i);return n<0?null:new e(this.context,this,n)}},{key:"parent",get:function(){return this._parent||this.context.parent.nextSignificantParent()}},{key:"externalSibling",value:function(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}},{key:"nextSibling",get:function(){var t=this.context.buffer,i=t.buffer[this.index+3];return i<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new e(this.context,this._parent,i):this.externalSibling(1)}},{key:"prevSibling",get:function(){var t=this.context.buffer,i=this._parent?this._parent.index+4:0;return this.index==i?this.externalSibling(-1):new e(this.context,this._parent,t.findChild(i,this.index,-1,0,4))}},{key:"cursor",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new hl(this,e)}},{key:"tree",get:function(){return null}},{key:"toTree",value:function(){var e=[],t=[],i=this.context.buffer,o=this.index+4,n=i.buffer[this.index+3];if(n>o){var r=i.buffer[this.index+1];e.push(i.slice(o,n,r)),t.push(0)}return new il(this.type,e,t,this.to-this.from)}},{key:"resolve",value:function(e){return sl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,!1)}},{key:"resolveInner",value:function(e){return sl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,!0)}},{key:"enterUnfinishedNodesBefore",value:function(e){return al(this,e)}},{key:"toString",value:function(){return this.context.buffer.childString(this.index)}},{key:"getChild",value:function(e){var t=pl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,arguments.length>2&&void 0!==arguments[2]?arguments[2]:null);return t.length?t[0]:null}},{key:"getChildren",value:function(e){return pl(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)}},{key:"node",get:function(){return this}},{key:"matchContext",value:function(e){return cl(this,e)}}]),e}(),hl=function(){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(R(this,e),this.mode=i,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof ll)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(var o=t._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=t,this.yieldBuf(t.index)}}return E(e,[{key:"name",get:function(){return this.type.name}},{key:"yieldNode",value:function(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}},{key:"yieldBuf",value:function(e,t){this.index=e;var i=this.buffer,o=i.start,n=i.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=o+n.buffer[e+1],this.to=o+n.buffer[e+2],!0}},{key:"yield",value:function(e){return!!e&&(e instanceof ll?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}},{key:"toString",value:function(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}},{key:"enterChild",value:function(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));var o=this.buffer.buffer,n=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,i);return!(n<0)&&(this.stack.push(this.index),this.yieldBuf(n))}},{key:"firstChild",value:function(){return this.enterChild(1,0,4)}},{key:"lastChild",value:function(){return this.enterChild(-1,0,4)}},{key:"childAfter",value:function(e){return this.enterChild(1,e,2)}},{key:"childBefore",value:function(e){return this.enterChild(-1,e,-2)}},{key:"enter",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.mode;return this.buffer?!(i&Ks.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}},{key:"parent",value:function(){if(!this.buffer)return this.yieldNode(this.mode&Ks.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());var e=this.mode&Ks.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}},{key:"sibling",value:function(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));var t=this.buffer.buffer,i=this.stack.length-1;if(e<0){var o=i<0?0:this.stack[i]+4;if(this.index!=o)return this.yieldBuf(t.findChild(o,this.index,-1,0,4))}else{var n=t.buffer[this.index+3];if(n<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(n)}return i<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}},{key:"nextSibling",value:function(){return this.sibling(1)}},{key:"prevSibling",value:function(){return this.sibling(-1)}},{key:"atLastNode",value:function(e){var t,i,o=this.buffer;if(o){if(e>0){if(this.index-1)for(var s=t+e,l=e<0?-1:i._tree.children.length;s!=l;s+=e){var p=i._tree.children[s];if(this.mode&Ks.IncludeAnonymous||p instanceof nl||!p.type.isAnonymous||ul(p))return!1}}return!0}},{key:"move",value:function(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}}},{key:"next",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.move(1,e)}},{key:"prev",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.move(-1,e)}},{key:"moveTo",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(var r=e;r;r=r._parent)if(r.index==o){if(o==this.index)return r;t=r,i=n+1;break e}o=this.stack[--n]}for(var a=i;a=0;n--){if(n<0)return cl(this.node,e,o);var r=i[t.buffer[this.stack[n]]];if(!r.isAnonymous){if(e[o]&&e[o]!=r.name)return!1;o--}}return!0}}]),e}();function ul(e){return e.children.some(function(e){return e instanceof nl||!e.type.isAnonymous||ul(e)})}function yl(e){var t,i=e.buffer,o=e.nodeSet,n=e.maxBufferLength,r=void 0===n?js:n,a=e.reused,s=void 0===a?[]:a,l=e.minRepeatType,p=void 0===l?o.types.length:l,c=Array.isArray(i)?new ol(i,i.length):i,d=o.types,f=0,h=0;function u(e,t,i,n,a){for(var l=c.id,b=c.start,v=c.end,w=c.size,k=h;w<0;){if(c.next(),-1==w){var O=s[l];return i.push(O),void n.push(b-e)}if(-3==w)return void(f=l);if(-4==w)return void(h=l);throw new RangeError("Unrecognized record size: ".concat(w))}var x,S,C=d[l],P=b-e;if(v-b<=r&&(S=function(e,t){var i=c.fork(),o=0,n=0,a=0,s=i.end-r,l={size:0,start:0,skip:0};e:for(var d=i.pos-e;i.pos>d;){var f=i.size;if(i.id==t&&f>=0)l.size=o,l.start=n,l.skip=a,a+=4,o+=4,i.next();else{var h=i.pos-f;if(f<0||h=p?4:0,y=i.start;for(i.next();i.pos>h;){if(i.size<0){if(-3!=i.size)break e;u+=4}else i.id>=p&&(u+=4);i.next()}n=y,o+=f,a+=u}}(t<0||o==e)&&(l.size=o,l.start=n,l.skip=a);return l.size>4?l:void 0}(c.pos-t,a))){for(var D=new Uint16Array(S.size-S.skip),T=c.pos-S.size,Q=D.length;c.pos>T;)Q=g(S.start,D,Q);x=new nl(D,v-S.start,o),P=S.start-e}else{var A=c.pos-w;c.next();for(var R=[],M=[],E=l>=p?l:-1,F=0,L=v;c.pos>A;)E>=0&&c.id==E&&c.size>=0?(c.end<=L-r&&(y(R,M,b,F,c.end,L,E,k),F=R.length,L=c.end),c.next()):u(b,A,R,M,E);if(E>=0&&F>0&&F-1&&F>0){var B=function(e){return function(t,i,o){var n,r,a=0,s=t.length-1;if(s>=0&&(n=t[s])instanceof il){if(!s&&n.type==e&&n.length==o)return n;(r=n.prop(Zs.lookAhead))&&(a=i[s]+n.length+r)}return m(e,t,i,o,a)}}(C);x=bl(C,R,M,0,R.length,0,v-b,B,B)}else x=m(C,R,M,v-b,k-v)}i.push(x),n.push(P)}function y(e,t,i,n,r,a,s,l){for(var p=[],c=[];e.length>n;)p.push(e.pop()),c.push(t.pop()+i-r);e.push(m(o.types[s],p,c,a-r,l-a)),t.push(r-i)}function m(e,t,i,o){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5?arguments[5]:void 0;if(f){var a=[Zs.contextHash,f];r=r?[a].concat(r):[a]}if(n>25){var s=[Zs.lookAhead,n];r=r?[s].concat(r):[s]}return new il(e,t,i,o,r)}function g(e,t,i){var o=c.id,n=c.start,r=c.end,a=c.size;if(c.next(),a>=0&&o4)for(var l=c.pos-(a-4);c.pos>l;)i=g(e,t,i);t[--i]=s,t[--i]=r-e,t[--i]=n-e,t[--i]=o}else-3==a?f=o:-4==a&&(h=o);return i}for(var b=[],v=[];c.pos>0;)u(e.start||0,e.bufferStart||0,b,v,-1);var w=null!==(t=e.length)&&void 0!==t?t:b.length?v[0]+b[0].length:0;return new il(d[e.topID],b.reverse(),v.reverse(),w)}var ml=new WeakMap;function gl(e,t){if(!e.isAnonymous||t instanceof nl||t.type!=e)return 1;var i=ml.get(t);if(null==i){i=1;var o,n=b(t.children);try{for(n.s();!(o=n.n()).done;){var r=o.value;if(r.type!=e||!(r instanceof il)){i=1;break}i+=gl(e,r)}}catch(US){n.e(US)}finally{n.f()}ml.set(t,i)}return i}function bl(e,t,i,o,n,r,a,s,l){for(var p=0,c=o;c=d)break;y+=m}if(p==c+1){if(y>d){var g=i[c];t(g.children,g.positions,0,g.children.length,o[c]+s);continue}f.push(i[c])}else{var b=o[p-1]+i[p-1].length-u;f.push(bl(e,i,o,c,p,u,b,null,l))}h.push(u+s-r)}}(t,i,o,n,0),(s||l)(f,h,a)}var vl=function(){function e(){R(this,e),this.map=new WeakMap}return E(e,[{key:"setBuffer",value:function(e,t,i){var o=this.map.get(e);o||this.map.set(e,o=new Map),o.set(t,i)}},{key:"getBuffer",value:function(e,t){var i=this.map.get(e);return i&&i.get(t)}},{key:"set",value:function(e,t){e instanceof fl?this.setBuffer(e.context.buffer,e.index,t):e instanceof ll&&this.map.set(e.tree,t)}},{key:"get",value:function(e){return e instanceof fl?this.getBuffer(e.context.buffer,e.index):e instanceof ll?this.map.get(e.tree):void 0}},{key:"cursorSet",value:function(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}},{key:"cursorGet",value:function(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}]),e}(),wl=function(){function e(t,i,o,n){var r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];R(this,e),this.from=t,this.to=i,this.tree=o,this.offset=n,this.open=(r?1:0)|(a?2:0)}return E(e,[{key:"openStart",get:function(){return(1&this.open)>0}},{key:"openEnd",get:function(){return(2&this.open)>0}}],[{key:"addTree",value:function(t){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[new e(0,t.length,t,0,!1,n)],a=b(o);try{for(a.s();!(i=a.n()).done;){var s=i.value;s.to>t.length&&r.push(s)}}catch(US){a.e(US)}finally{a.f()}return r}},{key:"applyChanges",value:function(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:128;if(!i.length)return t;for(var n=[],r=1,a=t.length?t[0]:null,s=0,l=0,p=0;;s++){var c=s=o)for(;a&&a.from=f.from||d<=f.to||p){var h=Math.max(f.from,l)-p,u=Math.min(f.to,d)-p;f=h>=u?null:new e(h,u,f.tree,f.offset+p,s>0,!!c)}if(f&&n.push(f),a.to>d)break;a=r=o.to&&e.mount.overlay});if(l){var p,c=b(l.mount.overlay);try{var d=function(){var e=p.value,i=e.from+l.pos,n=e.to+l.pos;i>=o.from&&n<=o.to&&!t.ranges.some(function(e){return e.fromi})&&t.ranges.push({from:i,to:n})};for(c.s();!(p=c.n()).done;)d()}catch(US){c.e(US)}finally{c.f()}}}a=!1}else if(i&&(r=Tl(i.ranges,o.from,o.to)))a=2!=r;else if(!o.type.isAnonymous&&o.from=i)break;if(r.to>t)return r.from<=t&&r.to>=i?2:1}}catch(US){n.e(US)}finally{n.f()}return 0}function Ql(e,t,i,o,n,r){if(t=t.to);o++);var a=n.children[o],s=a.buffer;n.children[o]=function e(i,o,n,l,p){for(var c=i;s[c+2]+r<=t.from;)c=s[c+3];var d=[],f=[];Ql(a,i,c,d,f,l);var h=s[c+1],u=s[c+2],y=h+r==t.from&&u+r==t.to&&s[c]==t.type.id;return d.push(y?t.toTree():e(c+4,s[c+3],a.set.types[s[c]],h,u-h)),f.push(h-l),Ql(a,s[c+3],o,d,f,l),new il(n,d,f,p)}(0,s.length,Ys.none,0,a.length);for(var l=0;l<=i;l++)e.childAfter(t.from)}var Rl=function(){function e(t,i){R(this,e),this.offset=i,this.done=!1,this.cursor=t.cursor(Ks.IncludeAnonymous|Ks.IgnoreMounts)}return E(e,[{key:"moveTo",value:function(e){for(var t=this.cursor,i=e-this.offset;!this.done&&t.from=e&&t.enter(i,1,Ks.IgnoreOverlays|Ks.ExcludeBuffers)||t.next(!1)||(this.done=!0)}},{key:"hasNode",value:function(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(var t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof il))break;t=t.children[0]}return!1}}]),e}(),Ml=function(){function e(t){var i;if(R(this,e),this.fragments=t,this.curTo=0,this.fragI=0,t.length){var o=this.curFrag=t[0];this.curTo=null!==(i=o.tree.prop(Pl))&&void 0!==i?i:o.to,this.inner=new Rl(o.tree,-o.offset)}else this.curFrag=this.inner=null}return E(e,[{key:"hasNode",value:function(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)}},{key:"nextFrag",value:function(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{var t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(Pl))&&void 0!==e?e:t.to,this.inner=new Rl(t.tree,-t.offset)}}},{key:"findMounts",value:function(e,t){var i,o=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(var n=this.inner.cursor.node;n;n=n.parent){var r=null===(i=n.tree)||void 0===i?void 0:i.prop(Zs.mounted);if(r&&r.parser==t)for(var a=this.fragI;a=n.to)break;s.tree==this.curFrag.tree&&o.push({frag:s,pos:n.from-s.offset,mount:r})}}}return o}}]),e}();function El(e,t){for(var i=null,o=t,n=1,r=0;n=s)break;l.to<=a||(i||(o=i=t.slice()),l.froms&&i.splice(r+1,0,new Xs(s,l.to))):l.to>s?i[r--]=new Xs(s,l.to):i.splice(r--,1))}return o}function Fl(e,t,i,o){for(var n=0,r=0,a=!1,s=!1,l=-1e9,p=[];;){var c=n==e.length?1e9:a?e[n].to:e[n].from,d=r==t.length?1e9:s?t[r].to:t[r].from;if(a!=s){var f=Math.max(l,i),h=Math.min(c,d,o);fu&&o.push(new wl(u,m,r.tree,-s,a.from>=u||a.openStart,a.to<=m||a.openEnd)),y)break;u=f[h].to}else o.push(new wl(p,c,r.tree,-s,a.from>=s||a.openStart,a.to<=l||a.openEnd))};for(n.s();!(i=n.n()).done;)r()}catch(US){n.e(US)}finally{n.f()}return o}var Bl=0,Il=function(){function e(t,i,o){R(this,e),this.set=t,this.base=i,this.modified=o,this.id=Bl++}return E(e,null,[{key:"define",value:function(t){if(null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");var i=new e([],null,[]);if(i.set.push(i),t){var o,n=b(t.set);try{for(n.s();!(o=n.n()).done;){var r=o.value;i.set.push(r)}}catch(US){n.e(US)}finally{n.f()}}return i}},{key:"defineModifier",value:function(){var e=new $l;return function(t){return t.modified.indexOf(e)>-1?t:$l.get(t.base||t,t.modified.concat(e).sort(function(e,t){return e.id-t.id}))}}}]),e}(),Gl=0,$l=function(){function e(){R(this,e),this.instances=[],this.id=Gl++}return E(e,null,[{key:"get",value:function(t,i){if(!i.length)return t;var o=i[0].instances.find(function(e){return e.base==t&&Vl(i,e.modified)});if(o)return o;var n,r=[],a=new Il(r,t,i),s=b(i);try{for(s.s();!(n=s.n()).done;){n.value.instances.push(a)}}catch(US){s.e(US)}finally{s.f()}var l,p=zl(i),c=b(t.set);try{for(c.s();!(l=c.n()).done;){var d=l.value;if(!d.modified.length){var f,h=b(p);try{for(h.s();!(f=h.n()).done;){var u=f.value;r.push(e.get(d,u))}}catch(US){h.e(US)}finally{h.f()}}}}catch(US){c.e(US)}finally{c.f()}return a}}]),e}();function Vl(e,t){return e.length==t.length&&e.every(function(e,i){return e==t[i]})}function zl(e){for(var t=[[]],i=0;i0&&c+3==a.length){l=1;break}var d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(p);if(!d)throw new RangeError("Invalid path: "+a);if(s.push("*"==d[0]?"":'"'==d[0][0]?JSON.parse(d[0]):d[0]),(c+=d[0].length)==a.length)break;var f=a[c++];if(c==a.length&&"!"==f){l=0;break}if("/"!=f)throw new RangeError("Invalid path: "+a);p=a.slice(c)}var h=s.length-1,u=s[h];if(!u)throw new RangeError("Invalid path: "+a);var y=new ql(o,l,h>0?s.slice(0,h):null);t[u]=y.sort(t[u])}}}catch(US){r.e(US)}finally{r.f()}}return Wl.add(t)}var Wl=new Zs,ql=function(){function e(t,i,o,n){R(this,e),this.tags=t,this.mode=i,this.context=o,this.next=n}return E(e,[{key:"opaque",get:function(){return 0==this.mode}},{key:"inherit",get:function(){return 1==this.mode}},{key:"sort",value:function(e){return!e||e.depth3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:e.length,r=new Zl(o,Array.isArray(t)?t:[t],i);r.highlightRange(e.cursor(),o,n,"",r.highlighters),r.flush(n)}ql.empty=new ql([],2,null);var Zl=function(){function e(t,i,o){R(this,e),this.at=t,this.highlighters=i,this.span=o,this.class=""}return E(e,[{key:"startSpan",value:function(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}},{key:"flush",value:function(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}},{key:"highlightRange",value:function(e,t,i,o,n){var r=e.type,a=e.from,s=e.to;if(!(a>=i||s<=t)){r.isTop&&(n=this.highlighters.filter(function(e){return!e.scope||e.scope(r)}));var l=o,p=Ul(e)||ql.empty,c=_l(n,p.tags);if(c&&(l&&(l+=" "),l+=c,1==p.mode&&(o+=(o?" ":"")+c)),this.startSpan(e.from,l),!p.opaque){var d=e.tree&&e.tree.prop(Zs.mounted);if(d&&d.overlay){for(var f=e.node.enter(d.overlay[0].from+a,1),h=this.highlighters.filter(function(e){return!e.scope||e.scope(d.tree.type)}),u=e.firstChild(),y=0,m=a;;y++){var g=y=b)&&e.nextSibling()););if(!g||b>i)break;(m=g.to+a)>t&&(this.highlightRange(f.cursor(),Math.max(t,g.from+a),Math.min(i,m),o,h),this.startSpan(m,l))}u&&e.parent()}else if(e.firstChild()){do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,o,n),this.startSpan(Math.min(i,e.to),l)}}while(e.nextSibling());e.parent()}}}}}]),e}();function Ul(e){for(var t=e.type.prop(Wl);t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}var Hl,Yl=Il.define,Kl=Yl(),Jl=Yl(),ep=Yl(Jl),tp=Yl(Jl),ip=Yl(),op=Yl(ip),np=Yl(ip),rp=Yl(),ap=Yl(rp),sp=Yl(),lp=Yl(),pp=Yl(),cp=Yl(pp),dp=Yl(),fp={comment:Kl,lineComment:Yl(Kl),blockComment:Yl(Kl),docComment:Yl(Kl),name:Jl,variableName:Yl(Jl),typeName:ep,tagName:Yl(ep),propertyName:tp,attributeName:Yl(tp),className:Yl(Jl),labelName:Yl(Jl),namespace:Yl(Jl),macroName:Yl(Jl),literal:ip,string:op,docString:Yl(op),character:Yl(op),attributeValue:Yl(op),number:np,integer:Yl(np),float:Yl(np),bool:Yl(ip),regexp:Yl(ip),escape:Yl(ip),color:Yl(ip),url:Yl(ip),keyword:sp,self:Yl(sp),null:Yl(sp),atom:Yl(sp),unit:Yl(sp),modifier:Yl(sp),operatorKeyword:Yl(sp),controlKeyword:Yl(sp),definitionKeyword:Yl(sp),moduleKeyword:Yl(sp),operator:lp,derefOperator:Yl(lp),arithmeticOperator:Yl(lp),logicOperator:Yl(lp),bitwiseOperator:Yl(lp),compareOperator:Yl(lp),updateOperator:Yl(lp),definitionOperator:Yl(lp),typeOperator:Yl(lp),controlOperator:Yl(lp),punctuation:pp,separator:Yl(pp),bracket:cp,angleBracket:Yl(cp),squareBracket:Yl(cp),paren:Yl(cp),brace:Yl(cp),content:rp,heading:ap,heading1:Yl(ap),heading2:Yl(ap),heading3:Yl(ap),heading4:Yl(ap),heading5:Yl(ap),heading6:Yl(ap),contentSeparator:Yl(rp),list:Yl(rp),quote:Yl(rp),emphasis:Yl(rp),strong:Yl(rp),link:Yl(rp),monospace:Yl(rp),strikethrough:Yl(rp),inserted:Yl(),deleted:Yl(),changed:Yl(),invalid:Yl(),meta:dp,documentMeta:Yl(dp),annotation:Yl(dp),processingInstruction:Yl(dp),definition:Il.defineModifier(),constant:Il.defineModifier(),function:Il.defineModifier(),standard:Il.defineModifier(),local:Il.defineModifier(),special:Il.defineModifier()};jl([{tag:fp.link,class:"tok-link"},{tag:fp.heading,class:"tok-heading"},{tag:fp.emphasis,class:"tok-emphasis"},{tag:fp.strong,class:"tok-strong"},{tag:fp.keyword,class:"tok-keyword"},{tag:fp.atom,class:"tok-atom"},{tag:fp.bool,class:"tok-bool"},{tag:fp.url,class:"tok-url"},{tag:fp.labelName,class:"tok-labelName"},{tag:fp.inserted,class:"tok-inserted"},{tag:fp.deleted,class:"tok-deleted"},{tag:fp.literal,class:"tok-literal"},{tag:fp.string,class:"tok-string"},{tag:fp.number,class:"tok-number"},{tag:[fp.regexp,fp.escape,fp.special(fp.string)],class:"tok-string2"},{tag:fp.variableName,class:"tok-variableName"},{tag:fp.local(fp.variableName),class:"tok-variableName tok-local"},{tag:fp.definition(fp.variableName),class:"tok-variableName tok-definition"},{tag:fp.special(fp.variableName),class:"tok-variableName2"},{tag:fp.definition(fp.propertyName),class:"tok-propertyName tok-definition"},{tag:fp.typeName,class:"tok-typeName"},{tag:fp.namespace,class:"tok-namespace"},{tag:fp.className,class:"tok-className"},{tag:fp.macroName,class:"tok-macroName"},{tag:fp.propertyName,class:"tok-propertyName"},{tag:fp.operator,class:"tok-operator"},{tag:fp.comment,class:"tok-comment"},{tag:fp.meta,class:"tok-meta"},{tag:fp.invalid,class:"tok-invalid"},{tag:fp.punctuation,class:"tok-punctuation"}]);var hp=new Zs;function up(e){return ve.define({combine:e?function(t){return t.concat(e)}:void 0})}var yp=new Zs,mp=function(){function e(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";R(this,e),this.data=t,this.name=n,lt.prototype.hasOwnProperty("tree")||Object.defineProperty(lt.prototype,"tree",{get:function(){return vp(this)}}),this.parser=i,this.extension=[Tp.of(this),lt.languageData.of(function(e,t,i){var o=gp(e,t,i),n=o.type.prop(hp);if(!n)return[];var r=e.facet(n),a=o.type.prop(yp);if(a){var s,l=o.resolve(t-o.from,i),p=b(a);try{for(p.s();!(s=p.n()).done;){var c=s.value;if(c.test(l,e)){var d=e.facet(c.facet);return"replace"==c.type?d:d.concat(r)}}}catch(US){p.e(US)}finally{p.f()}}return r})].concat(o)}return E(e,[{key:"isActiveAt",value:function(e,t){return gp(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1).type.prop(hp)==this.data}},{key:"findRegions",value:function(e){var t=this,i=e.facet(Tp);if((null==i?void 0:i.data)==this.data)return[{from:0,to:e.doc.length}];if(!i||!i.allowsNesting)return[];var o=[];return function e(i,n){if(i.prop(hp)!=t.data){var r=i.prop(Zs.mounted);if(r){if(r.tree.prop(hp)==t.data){if(r.overlay){var a,s=b(r.overlay);try{for(s.s();!(a=s.n()).done;){var l=a.value;o.push({from:l.from+n,to:l.to+n})}}catch(US){s.e(US)}finally{s.f()}}else o.push({from:n,to:n+i.length});return}if(r.overlay){var p=o.length;if(e(r.tree,r.overlay[0].from+n),o.length>p)return}}for(var c=0;c=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}]),e}(),kp=null,Op=function(){function e(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;R(this,e),this.parser=t,this.state=i,this.fragments=o,this.tree=n,this.treeLen=r,this.viewport=a,this.skipped=s,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}return E(e,[{key:"startParse",value:function(){return this.parser.startParse(new wp(this.state.doc),this.fragments)}},{key:"work",value:function(e,t){var i=this;return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=il.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(function(){var o;if("number"==typeof e){var n=Date.now()+e;e=function(){return Date.now()>n}}for(i.parse||(i.parse=i.startParse()),null!=t&&(null==i.parse.stoppedAt||i.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(function(){for(;!(t=i.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(wl.addTree(this.tree,this.fragments,!0)),this.parse=null)}},{key:"withContext",value:function(e){var t=kp;kp=this;try{return e()}finally{kp=t}}},{key:"withoutTempSkipped",value:function(e){for(var t;t=this.tempSkipped.pop();)e=xp(e,t.from,t.to);return e}},{key:"changes",value:function(t,i){var o=this.fragments,n=this.tree,r=this.treeLen,a=this.viewport,s=this.skipped;if(this.takeTree(),!t.empty){var l=[];if(t.iterChangedRanges(function(e,t,i,o){return l.push({fromA:e,toA:t,fromB:i,toB:o})}),o=wl.applyChanges(o,l),n=il.empty,r=0,a={from:t.mapPos(a.from,-1),to:t.mapPos(a.to,1)},this.skipped.length){s=[];var p,c=b(this.skipped);try{for(c.s();!(p=c.n()).done;){var d=p.value,f=t.mapPos(d.from,1),h=t.mapPos(d.to,-1);fe.from&&(this.fragments=xp(this.fragments,n,r),this.skipped.splice(i--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}},{key:"reset",value:function(){this.parse&&(this.takeTree(),this.parse=null)}},{key:"skipUntilInView",value:function(e,t){this.skipped.push({from:e,to:t})}},{key:"isDone",value:function(e){e=Math.min(e,this.state.doc.length);var t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}}],[{key:"create",value:function(t,i,o){return new e(t,i,[],il.empty,0,o,[],null)}},{key:"getSkippingParser",value:function(e){return new(function(t){x(o,kl);var i=C(o);function o(){return R(this,o),i.apply(this,arguments)}return E(o,[{key:"createParse",value:function(t,i,o){var n=o[0].from,r=o[o.length-1].to;return{parsedPos:n,advance:function(){var t=kp;if(t){var i,a=b(o);try{for(a.s();!(i=a.n()).done;){var s=i.value;t.tempSkipped.push(s)}}catch(US){a.e(US)}finally{a.f()}e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new il(Ys.none,[],[],r-n)},stoppedAt:null,stopAt:function(){}}}}]),o}())}},{key:"get",value:function(){return kp}}]),e}();function xp(e,t,i){return wl.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}var Sp=function(){function e(t){R(this,e),this.context=t,this.tree=t.tree}return E(e,[{key:"apply",value:function(t){if(!t.docChanged&&this.tree==this.context.tree)return this;var i=this.context.changes(t.changes,t.state),o=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),i.viewport.to);return i.work(20,o)||i.takeTree(),new e(i)}}],[{key:"init",value:function(t){var i=Math.min(3e3,t.doc.length),o=Op.create(t.facet(Tp).parser,t,{from:0,to:i});return o.work(20,i)||o.takeTree(),new e(o)}}]),e}();mp.state=Pe.define({create:Sp.init,update:function(e,t){var i,o=b(t.effects);try{for(o.s();!(i=o.n()).done;){var n=i.value;if(n.is(mp.setState))return n.value}}catch(US){o.e(US)}finally{o.f()}return t.startState.facet(Tp)!=t.state.facet(Tp)?Sp.init(t.state):e.apply(t)}});var Cp=function(e){var t=setTimeout(function(){return e()},500);return function(){return clearTimeout(t)}};"undefined"!=typeof requestIdleCallback&&(Cp=function(e){var t=-1,i=setTimeout(function(){t=requestIdleCallback(e,{timeout:400})},100);return function(){return t<0?clearTimeout(i):cancelIdleCallback(t)}});var Pp="undefined"!=typeof navigator&&(null===(Hl=navigator.scheduling)||void 0===Hl?void 0:Hl.isInputPending)?function(){return navigator.scheduling.isInputPending()}:null,Dp=To.fromClass(function(){function e(t){R(this,e),this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}return E(e,[{key:"update",value:function(e){var t=this.view.state.field(mp.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}},{key:"scheduleWork",value:function(){if(!this.working){var e=this.view.state,t=e.field(mp.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=Cp(this.work))}}},{key:"work",value:function(e){this.working=null;var t=Date.now();if(this.chunkEndn+1e3,l=r.context.work(function(){return Pp&&Pp()||Date.now()>a},n+(s?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:mp.setState.of(new Sp(r.context))})),this.chunkBudget>0&&(!l||s)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}}}},{key:"checkAsyncSchedule",value:function(e){var t=this;e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(function(){return t.scheduleWork()}).catch(function(e){return So(t.view.state,e)}).then(function(){return t.workScheduled--}),e.scheduleOn=null)}},{key:"destroy",value:function(){this.working&&this.working()}},{key:"isWorking",value:function(){return!!(this.working||this.workScheduled>0)}}]),e}(),{eventHandlers:{focus:function(){this.scheduleWork()}}}),Tp=ve.define({combine:function(e){return e.length?e[0]:null},enables:function(e){return[mp.state,Dp,fa.contentAttributes.compute([e],function(t){var i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}})]}}),Qp=E(function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];R(this,e),this.language=t,this.support=i,this.extension=[t,i]}),Ap=function(){function e(t,i,o,n,r){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0;R(this,e),this.name=t,this.alias=i,this.extensions=o,this.filename=n,this.loadFunc=r,this.support=a,this.loading=null}return E(e,[{key:"load",value:function(){var e=this;return this.loading||(this.loading=this.loadFunc().then(function(t){return e.support=t},function(t){throw e.loading=null,t}))}}],[{key:"of",value:function(t){var i=t.load,o=t.support;if(!i){if(!o)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");i=function(){return Promise.resolve(o)}}return new e(t.name,(t.alias||[]).concat(t.name).map(function(e){return e.toLowerCase()}),t.extensions||[],t.filename,i,o)}},{key:"matchFilename",value:function(e,t){var i,o=b(e);try{for(o.s();!(i=o.n()).done;){var n=i.value;if(n.filename&&n.filename.test(t))return n}}catch(US){o.e(US)}finally{o.f()}var r=/\.([^.]+)$/.exec(t);if(r){var a,s=b(e);try{for(s.s();!(a=s.n()).done;){var l=a.value;if(l.extensions.indexOf(r[1])>-1)return l}}catch(US){s.e(US)}finally{s.f()}}return null}},{key:"matchLanguageName",value:function(e,t){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t=t.toLowerCase();var o,n=b(e);try{for(n.s();!(o=n.n()).done;){var r=o.value;if(r.alias.some(function(e){return e==t}))return r}}catch(US){n.e(US)}finally{n.f()}if(i){var a,s=b(e);try{for(s.s();!(a=s.n()).done;){var l,p=a.value,c=b(p.alias);try{for(c.s();!(l=c.n()).done;){var d=l.value,f=t.indexOf(d);if(f>-1&&(d.length>2||!/\w/.test(t[f-1])&&!/\w/.test(t[f+d.length])))return p}}catch(US){c.e(US)}finally{c.f()}}}catch(US){s.e(US)}finally{s.f()}}return null}}]),e}(),Rp=ve.define(),Mp=ve.define({combine:function(e){if(!e.length)return" ";var t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(function(e){return e!=t[0]}))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function Ep(e){var t=e.facet(Mp);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Fp(e,t){var i="",o=e.tabSize,n=e.facet(Mp)[0];if("\t"==n){for(;t>=o;)i+="\t",t-=o;n=" "}for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};R(this,e),this.state=t,this.options=i,this.unit=Ep(t)}return E(e,[{key:"lineAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=this.state.doc.lineAt(e),o=this.options,n=o.simulateBreak,r=o.simulateDoubleBreak;return null!=n&&n>=i.from&&n<=i.to?r&&n==e?{text:"",from:e}:(t<0?n1&&void 0!==arguments[1]?arguments[1]:1;if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";var i=this.lineAt(e,t),o=i.text,n=i.from;return o.slice(e-n,Math.min(o.length,e+100-n))}},{key:"column",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=this.lineAt(e,t),o=i.text,n=i.from,r=this.countColumn(o,e-n),a=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return a>-1&&(r+=a-this.countColumn(o,o.search(/\S|$/))),r}},{key:"countColumn",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.length;return Dt(e,this.state.tabSize,t)}},{key:"lineIndent",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=this.lineAt(e,t),o=i.text,n=i.from,r=this.options.overrideIndentation;if(r){var a=r(n);if(a>-1)return a}return this.countColumn(o,o.search(/\S|$/))}},{key:"simulatedBreak",get:function(){return this.options.simulateBreak||null}}]),e}(),Ip=new Zs;function Gp(e,t,i){return zp(t.resolveInner(i).enterUnfinishedNodesBefore(i),i,e)}function $p(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function Vp(e){var t=e.type.prop(Ip);if(t)return t;var i,o=e.firstChild;if(o&&(i=o.type.prop(Zs.closedBy))){var n=e.lastChild,r=n&&i.indexOf(n.name)>-1;return function(e){return Xp(e,!0,1,void 0,r&&!$p(e)?n.from:void 0)}}return null==e.parent?Np:null}function zp(e,t,i){for(;e;e=e.parent){var o=Vp(e);if(o)return o(Wp.create(i,t,e))}return null}function Np(){return 0}var Wp=function(e){x(i,Bp);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this,e.state,e.options)).base=e,r.pos=o,r.node=n,r}return E(i,[{key:"textAfter",get:function(){return this.textAfterPos(this.pos)}},{key:"baseIndent",get:function(){for(var e=this.state.doc.lineAt(this.node.from);;){for(var t=this.node.resolve(e.from);t.parent&&t.parent.from==t.from;)t=t.parent;if(qp(t,this.node))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}},{key:"continue",value:function(){var e=this.node.parent;return e?zp(e,this.pos,this.base):0}}],[{key:"create",value:function(e,t,o){return new i(e,t,o)}}]),i}();function qp(e,t){for(var i=t;i;i=i.parent)if(e==i)return!0;return!1}function jp(e){var t=e.node,i=t.childAfter(t.from),o=t.lastChild;if(!i)return null;for(var n=e.options.simulateBreak,r=e.state.doc.lineAt(i.from),a=null==n||n<=r.from?r.to:Math.min(r.to,n),s=i.to;;){var l=t.childAfter(s);if(!l||l==o)return null;if(!l.type.isSkipped)return l.from0&&void 0!==arguments[0]?arguments[0]:{},t=e.except,i=e.units,o=void 0===i?1:i;return function(e){var i=t&&t.test(e.textAfter);return e.baseIndent+(i?0:o*e.unit)}}var Hp=200;function Yp(){return lt.transactionFilter.of(function(e){if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;var t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;var i=e.newDoc,o=e.newSelection.main.head,n=i.lineAt(o);if(o>n.from+Hp)return e;var r=i.sliceString(n.from,o);if(!t.some(function(e){return e.test(r)}))return e;var a,s=e.state,l=-1,p=[],c=b(s.selection.ranges);try{for(c.s();!(a=c.n()).done;){var d=a.value.head,f=s.doc.lineAt(d);if(f.from!=l){l=f.from;var h=Lp(s,f.from);if(null!=h){var u=/^\s*/.exec(f.text)[0],y=Fp(s,h);u!=y&&p.push({from:f.from,to:f.from+u.length,insert:y})}}}}catch(US){c.e(US)}finally{c.f()}return p.length?[e,{changes:p,sequential:!0}]:e})}var Kp=ve.define(),Jp=new Zs;function ec(e){var t=e.firstChild,i=e.lastChild;return t&&t.toi)){if(n&&r.from=t&&s.to>i&&(n=s)}}return n}function ic(e){var t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function oc(e,t,i){var o,n=b(e.facet(Kp));try{for(n.s();!(o=n.n()).done;){var r=(0,o.value)(e,t,i);if(r)return r}}catch(US){n.e(US)}finally{n.f()}return tc(e,t,i)}function nc(e,t){var i=t.mapPos(e.from,1),o=t.mapPos(e.to,-1);return i>=o?void 0:{from:i,to:o}}var rc=Xe.define({map:nc}),ac=Xe.define({map:nc}),sc=Pe.define({create:function(){return eo.none},update:function(e,t){e=e.map(t.changes);var i,o=b(t.effects);try{var n=function(){var t=i.value;t.is(rc)&&!pc(e,t.value.from,t.value.to)?e=e.update({add:[hc.range(t.value.from,t.value.to)]}):t.is(ac)&&(e=e.update({filter:function(e,i){return t.value.from!=e||t.value.to!=i},filterFrom:t.value.from,filterTo:t.value.to}))};for(o.s();!(i=o.n()).done;)n()}catch(US){o.e(US)}finally{o.f()}if(t.selection){var r=!1,a=t.selection.main.head;e.between(a,a,function(e,t){ea&&(r=!0)}),r&&(e=e.update({filterFrom:a,filterTo:a,filter:function(e,t){return t<=a||e>=a}}))}return e},provide:function(e){return fa.decorations.from(e)},toJSON:function(e,t){var i=[];return e.between(0,t.doc.length,function(e,t){i.push(e,t)}),i},fromJSON:function(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");for(var t=[],i=0;ie)&&(n={from:e,to:t})}),n}function pc(e,t,i){var o=!1;return e.between(t,t,function(e,n){e==t&&n==i&&(o=!0)}),o}var cc={placeholderDOM:null,placeholderText:"…"},dc=ve.define({combine:function(e){return pt(e,cc)}});function fc(e){var t=[sc,gc];return e&&t.push(dc.of(e)),t}var hc=eo.replace({widget:new(function(e){x(i,Ki);var t=C(i);function i(){return R(this,i),t.apply(this,arguments)}return E(i,[{key:"toDOM",value:function(e){var t=e.state,i=t.facet(dc),o=function(t){var i=e.lineBlockAt(e.posAtDOM(t.target)),o=lc(e.state,i.from,i.to);o&&e.dispatch({effects:ac.of(o)}),t.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,o);var n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=o,n}}]),i}())}),uc={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:function(){return!1}},yc=function(e){x(i,Ss);var t=C(i);function i(e,o){var n;return R(this,i),(n=t.call(this)).config=e,n.open=o,n}return E(i,[{key:"eq",value:function(e){return this.config==e.config&&this.open==e.open}},{key:"toDOM",value:function(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);var t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}]),i}();function mc(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign(Object.assign({},uc),e),i=new yc(t,!0),o=new yc(t,!1),n=To.fromClass(function(){function e(t){R(this,e),this.from=t.viewport.from,this.markers=this.buildMarkers(t)}return E(e,[{key:"update",value:function(e){(e.docChanged||e.viewportChanged||e.startState.facet(Tp)!=e.state.facet(Tp)||e.startState.field(sc,!1)!=e.state.field(sc,!1)||vp(e.startState)!=vp(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}},{key:"buildMarkers",value:function(e){var t,n=new mt,r=b(e.viewportLineBlocks);try{for(r.s();!(t=r.n()).done;){var a=t.value,s=lc(e.state,a.from,a.to)?o:oc(e.state,a.from,a.to)?i:null;s&&n.add(a.from,a.from,s)}}catch(US){r.e(US)}finally{r.f()}return n.finish()}}]),e}()),r=t.domEventHandlers;return[n,Ts({class:"cm-foldGutter",markers:function(e){var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.markers)||ut.empty},initialSpacer:function(){return new yc(t,!1)},domEventHandlers:Object.assign(Object.assign({},r),{click:function(e,t,i){if(r.click&&r.click(e,t,i))return!0;var o=lc(e.state,t.from,t.to);if(o)return e.dispatch({effects:ac.of(o)}),!0;var n=oc(e.state,t.from,t.to);return!!n&&(e.dispatch({effects:rc.of(n)}),!0)}})}),fc()]}var gc=fa.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),bc=function(){function e(t,i){var o;function n(e){var t=Et.newName();return(o||(o=Object.create(null)))["."+t]=e,t}R(this,e),this.specs=t;var r="string"==typeof i.all?i.all:i.all?n(i.all):void 0,a=i.scope;this.scope=a instanceof mp?function(e){return e.prop(hp)==a.data}:a?function(e){return e==a}:void 0,this.style=jl(t.map(function(e){return{tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))}}),{all:r}).style,this.module=o?new Et(o):null,this.themeType=i.themeType}return E(e,null,[{key:"define",value:function(t,i){return new e(t,i||{})}}]),e}(),vc=ve.define(),wc=ve.define({combine:function(e){return e.length?[e[0]]:null}});function kc(e){var t=e.facet(vc);return t.length?t:e.facet(wc)}function Oc(e,t){var i,o=[Sc];return e instanceof bc&&(e.module&&o.push(fa.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?o.push(wc.of(e)):i?o.push(vc.computeN([fa.darkTheme],function(t){return t.facet(fa.darkTheme)==("dark"==i)?[e]:[]})):o.push(vc.of(e)),o}var xc=function(){function e(t){R(this,e),this.markCache=Object.create(null),this.tree=vp(t.state),this.decorations=this.buildDeco(t,kc(t.state))}return E(e,[{key:"update",value:function(e){var t=vp(e.state),i=kc(e.state),o=i!=kc(e.startState);t.length0&&$c(t.state,a.head-1,1,n)||n.afterCursor&&($c(t.state,a.head,1,n)||a.head0&&void 0!==arguments[0]?arguments[0]:{};return[Qc.of(e),Fc]}var Bc=new Zs;function Ic(e,t,i){var o=e.prop(t<0?Zs.openedBy:Zs.closedBy);if(o)return o;if(1==e.name.length){var n=i.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[i[n+t]]}return null}function Gc(e){var t=e.type.prop(Bc);return t?t(e.node):e}function $c(e,t,i){for(var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=o.maxScanDistance||Dc,r=o.brackets||Tc,a=vp(e),s=a.resolveInner(t,i),l=s;l;l=l.parent){var p=Ic(l.type,i,r);if(p&&l.from0?t>=c.from&&tc.from&&t<=c.to))return Vc(e,t,i,l,c,p,r)}}return zc(e,t,i,a,s.type,n,r)}function Vc(e,t,i,o,n,r,a){var s=o.parent,l={from:n.from,to:n.to},p=0,c=null==s?void 0:s.cursor();if(c&&(i<0?c.childBefore(o.from):c.childAfter(o.to)))do{if(i<0?c.to<=o.from:c.from>=o.to){if(0==p&&r.indexOf(c.type.name)>-1&&c.from0)return null;for(var p={from:i<0?t-1:t,to:i>0?t+1:t},c=e.doc.iterRange(t,i>0?e.doc.length:0),d=0,f=0;!c.next().done&&f<=r;){var h=c.value;i<0&&(f+=h.length);for(var u=t+f*i,y=i>0?0:h.length-1,m=i>0?h.length:-1;y!=m;y+=i){var g=a.indexOf(h[y]);if(!(g<0||o.resolveInner(u+y,1).type!=n))if(g%2==0==i>0)d++;else{if(1==d)return{start:p,end:{from:u+y,to:u+y+1},matched:g>>1==l>>1};d--}}i>0&&(f+=h.length)}return c.done?{start:p,matched:!1}:null}function Nc(e,t,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var r=n,a=o;a=this.string.length}},{key:"sol",value:function(){return 0==this.pos}},{key:"peek",value:function(){return this.string.charAt(this.pos)||void 0}},{key:"next",value:function(){if(this.post}},{key:"eatSpace",value:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}},{key:"skipToEnd",value:function(){this.pos=this.string.length}},{key:"skipTo",value:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}},{key:"backUp",value:function(e){this.pos-=e}},{key:"column",value:function(){return this.lastColumnPos0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}},{key:"current",value:function(){return this.string.slice(this.start,this.pos)}}]),e}();function qc(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||function(){},startState:e.startState||function(){return!0},copyState:e.copyState||jc,indent:e.indent||function(){return null},languageData:e.languageData||{},tokenTable:e.tokenTable||Jc}}function jc(e){if("object"!=A(e))return e;var t={};for(var i in e){var o=e[i];t[i]=o instanceof Array?o.slice():o}return t}var _c=new WeakMap,Xc=function(e){x(i,mp);var t=C(i);function i(e){var o;R(this,i);var n,r=up(e.languageData),a=qc(e),s=new(function(e){x(i,kl);var t=C(i);function i(){return R(this,i),t.apply(this,arguments)}return E(i,[{key:"createParse",value:function(e,t,i){return new Yc(n,e,t,i)}}]),i}());return(o=t.call(this,r,s,[Rp.of(function(e,t){return o.getIndent(e,t)})],e.name)).topNode=hd(r),n=D(o),o.streamParser=a,o.stateAfter=new Zs({perNode:!0}),o.tokenTable=e.tokenTable?new pd(a.tokenTable):cd,o}return E(i,[{key:"getIndent",value:function(e,t){for(var i=vp(e.state),o=i.resolve(t);o&&o.type!=this.topNode;)o=o.parent;if(!o)return null;var n=void 0,r=e.options.overrideIndentation;r&&null!=(n=_c.get(e.state))&&n1e4)return null;for(;a=o&&i+t.length<=n&&t.prop(e.stateAfter);if(r)return{state:e.streamParser.copyState(r),pos:i+t.length};for(var a=t.children.length-1;a>=0;a--){var s=t.children[a],l=i+t.positions[a],p=s instanceof il&&l=t.length)return t;n||t.type!=e.topNode||(n=!0);for(var r=t.children.length-1;r>=0;r--){var a=t.positions[r],s=t.children[r],l=void 0;if(ai&&Zc(e,a.tree,0-a.offset,i,l),c=void 0;if(p&&(c=Uc(e,a.tree,i+a.offset,p.pos+a.offset,!1)))return{state:p.state,tree:c}}}catch(US){r.e(US)}finally{r.f()}return{state:e.streamParser.startState(o?Ep(o):4),tree:il.empty}}var Yc=function(){function e(t,i,o,n){R(this,e),this.lang=t,this.input=i,this.fragments=o,this.ranges=n,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=n[n.length-1].to;var r=Op.get(),a=n[0].from,s=Hc(t,o,a,null==r?void 0:r.state),l=s.state,p=s.tree;this.state=l,this.parsedPos=this.chunkStart=a+p.length;for(var c=0;c=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}},{key:"stopAt",value:function(e){this.stoppedAt=e}},{key:"lineAfter",value:function(e){var t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{var i=t.indexOf("\n");i>-1&&(t=t.slice(0,i))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}},{key:"nextLine",value:function(){for(var e=this.parsedPos,t=this.lineAfter(e),i=e+t.length,o=this.rangeIndex;;){var n=this.ranges[o].to;if(n>=i)break;if(t=t.slice(0,n-(i-t.length)),++o==this.ranges.length)break;var r=this.ranges[o].from,a=this.lineAfter(r);t+=a,i=r+a.length}return{line:t,end:i}}},{key:"skipGapsTo",value:function(e,t,i){for(;;){var o=this.ranges[this.rangeIndex].to,n=e+t;if(i>0?o>n:o>=n)break;t+=this.ranges[++this.rangeIndex].from-o}return t}},{key:"moveRangeIndex",value:function(){for(;this.ranges[this.rangeIndex].to1){t+=n=this.skipGapsTo(t,n,1);var r=this.chunk.length;i+=n=this.skipGapsTo(i,n,-1),o+=this.chunk.length-r}return this.chunk.push(e,t,i,o),n}},{key:"parseLine",value:function(e){var t=this.nextLine(),i=t.line,o=t.end,n=0,r=this.lang.streamParser,a=new Wc(i,e?e.state.tabSize:4,e?Ep(e.state):2);if(a.eol())r.blankLine(this.state,a.indentUnit);else for(;!a.eol();){var s=Kc(r.token,a,this.state);if(s&&(n=this.emitToken(this.lang.tokenTable.resolve(s),this.parsedPos+a.start,this.parsedPos+a.pos,4,n)),a.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPost.start)return n}throw new Error("Stream parser failed to advance stream.")}for(var Jc=Object.create(null),ed=[Ys.none],td=new Js(ed),id=[],od=Object.create(null),nd=0,rd=[["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"]];nd-1||(id.push(e),console.warn(t))}function fd(e,t){var i,o=null,n=b(t.split("."));try{for(n.s();!(i=n.n()).done;){var r=i.value,a=e[r]||fp[r];a?"function"==typeof a?o?o=a(o):dd(r,"Modifier ".concat(r," used at start of tag")):o?dd(r,"Tag ".concat(r," used as modifier")):o=a:dd(r,"Unknown highlighting tag ".concat(r))}}catch(US){n.e(US)}finally{n.f()}if(!o)return 0;var s=t.replace(/ /g,"_"),l=Ys.define({id:ed.length,name:s,props:[Nl(p({},s,o))]});return ed.push(l),l.id}function hd(e){var t=Ys.define({id:ed.length,name:"Document",props:[hp.add(function(){return e})]});return ed.push(t),t}var ud=function(e){var t=e.state,i=t.doc.lineAt(t.selection.main.from),o=vd(e.state,i.from);return o.line?md(e):!!o.block&&bd(e)};function yd(e,t){return function(i){var o=i.state,n=i.dispatch;if(o.readOnly)return!1;var r=e(t,o);return!!r&&(n(o.update(r)),!0)}}var md=yd(Sd,0),gd=yd(xd,0),bd=yd(function(e,t){return xd(e,t,Od(t))},0);function vd(e,t){var i=e.languageDataAt("commentTokens",t);return i.length?i[0]:{}}var wd=50;function kd(e,t,i,o){var n,r,a=t.open,s=t.close,l=e.sliceDoc(i-wd,i),p=e.sliceDoc(o,o+wd),c=/\s*$/.exec(l)[0].length,d=/^\s*/.exec(p)[0].length,f=l.length-c;if(l.slice(f-a.length,f)==a&&p.slice(d,d+s.length)==s)return{open:{pos:i-c,margin:c&&1},close:{pos:o+d,margin:d&&1}};o-i<=2*wd?n=r=e.sliceDoc(i,o):(n=e.sliceDoc(i,i+wd),r=e.sliceDoc(o-wd,o));var h=/^\s*/.exec(n)[0].length,u=/\s*$/.exec(r)[0].length,y=r.length-u-s.length;return n.slice(h,h+a.length)==a&&r.slice(y,y+s.length)==s?{open:{pos:i+h+a.length,margin:/\s/.test(n.charAt(h+a.length))?1:0},close:{pos:o-u-s.length,margin:/\s/.test(r.charAt(y-1))?1:0}}:null}function Od(e){var t,i=[],o=b(e.selection.ranges);try{for(o.s();!(t=o.n()).done;){var n=t.value,r=e.doc.lineAt(n.from),a=n.to<=r.to?r:e.doc.lineAt(n.to),s=i.length-1;s>=0&&i[s].to>r.from?i[s].to=a.to:i.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:a.to})}}catch(US){o.e(US)}finally{o.f()}return i}function xd(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.selection.ranges,o=i.map(function(e){return vd(t,e.from).block});if(!o.every(function(e){return e}))return null;var n=i.map(function(e,i){return kd(t,o[i],e.from,e.to)});if(2!=e&&!n.every(function(e){return e}))return{changes:t.changes(i.map(function(e,t){return n[t]?[]:[{from:e.from,insert:o[t].open+" "},{from:e.to,insert:" "+o[t].close}]}))};if(1!=e&&n.some(function(e){return e})){for(var r,a=[],s=0;s2&&void 0!==arguments[2]?arguments[2]:t.selection.ranges);try{for(r.s();!(i=r.n()).done;){var a=i.value,s=a.from,l=a.to,p=o.length,c=1e9,d=vd(t,s).line;if(d){for(var f=s;f<=l;){var h=t.doc.lineAt(f);if(h.from>n&&(s==l||l>h.from)){n=h.from;var u=/^\s*/.exec(h.text)[0].length,y=u==h.length,m=h.text.slice(u,u+d.length)==d?u:-1;u=0})){var T,Q=[],A=b(o);try{for(A.s();!(T=A.n()).done;){var R=T.value,M=R.line,E=R.comment,F=R.token;if(E>=0){var L=M.from+E,B=L+F.length;" "==M.text[B-M.from]&&B++,Q.push({from:L,to:B})}}}catch(US){A.e(US)}finally{A.f()}return{changes:Q}}return null}var Cd=qe.define(),Pd=qe.define(),Dd=ve.define(),Td=ve.define({combine:function(e){return pt(e,{minDepth:100,newGroupDelay:500,joinToEvent:function(e,t){return t}},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:function(e,t){return function(i,o){return e(i,o)||t(i,o)}}})}});function Qd(e){var t=0;return e.iterChangedRanges(function(e,i){return t=i}),t}var Ad=Pe.define({create:function(){return Ud.empty},update:function(e,t){var i=t.state.facet(Td),o=t.annotation(Cd);if(o){var n=t.docChanged?me.single(Qd(t.changes)):void 0,r=Id.fromTransaction(t,n),a=o.side,s=0==a?e.undone:e.done;return s=r?Gd(s,s.length,i.minDepth,r):qd(s,t.startState.selection),new Ud(0==a?o.rest:s,0==a?s:o.rest)}var l=t.annotation(Pd);if("full"!=l&&"before"!=l||(e=e.isolate()),!1===t.annotation(Ze.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);var p=Id.fromTransaction(t),c=t.annotation(Ze.time),d=t.annotation(Ze.userEvent);return p?e=e.addChanges(p,c,d,i,t):t.selection&&(e=e.addSelection(t.startState.selection,c,d,i.newGroupDelay)),"full"!=l&&"after"!=l||(e=e.isolate()),e},toJSON:function(e){return{done:e.done.map(function(e){return e.toJSON()}),undone:e.undone.map(function(e){return e.toJSON()})}},fromJSON:function(e){return new Ud(e.done.map(Id.fromJSON),e.undone.map(Id.fromJSON))}});function Rd(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[Ad,Td.of(e),fa.domEventHandlers({beforeinput:function(e,t){var i="historyUndo"==e.inputType?Ed:"historyRedo"==e.inputType?Fd:null;return!!i&&(e.preventDefault(),i(t))}})]}function Md(e,t){return function(i){var o=i.state,n=i.dispatch;if(!t&&o.readOnly)return!1;var r=o.field(Ad,!1);if(!r)return!1;var a=r.pop(e,o,t);return!!a&&(n(a),!0)}}var Ed=Md(0,!1),Fd=Md(1,!1),Ld=Md(0,!0),Bd=Md(1,!0),Id=function(){function e(t,i,o,n,r){R(this,e),this.changes=t,this.effects=i,this.mapped=o,this.startSelection=n,this.selectionsAfter=r}return E(e,[{key:"setSelAfter",value:function(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}},{key:"toJSON",value:function(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(function(e){return e.toJSON()})}}}],[{key:"fromJSON",value:function(t){return new e(t.changes&&le.fromJSON(t.changes),[],t.mapped&&se.fromJSON(t.mapped),t.startSelection&&me.fromJSON(t.startSelection),t.selectionsAfter.map(me.fromJSON))}},{key:"fromTransaction",value:function(t,i){var o,n=Nd,r=b(t.startState.facet(Dd));try{for(r.s();!(o=r.n()).done;){var a=(0,o.value)(t);a.length&&(n=n.concat(a))}}catch(US){r.e(US)}finally{r.f()}return!n.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),n,void 0,i||t.startState.selection,Nd)}},{key:"selection",value:function(t){return new e(void 0,Nd,void 0,void 0,t)}}]),e}();function Gd(e,t,i,o){var n=t+1>i+20?t-i-1:0,r=e.slice(n,t);return r.push(o),r}function $d(e,t){var i=[],o=!1;return e.iterChangedRanges(function(e,t){return i.push(e,t)}),t.iterChangedRanges(function(e,t,n,r){for(var a=0;a=s&&n<=l&&(o=!0)}}),o}function Vd(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter(function(e,i){return e.empty!=t.ranges[i].empty}).length}function zd(e,t){return e.length?t.length?e.concat(t):e:t}var Nd=[],Wd=200;function qd(e,t){if(e.length){var i=e[e.length-1],o=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-Wd));return o.length&&o[o.length-1].eq(t)?e:(o.push(t),Gd(e,e.length-1,1e9,i.setSelAfter(o)))}return[Id.selection([t])]}function jd(e){var t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function _d(e,t){if(!e.length)return e;for(var i=e.length,o=Nd;i;){var n=Xd(e[i-1],t,o);if(n.changes&&!n.changes.empty||n.effects.length){var r=e.slice(0,i);return r[i-1]=n,r}t=n.mapped,i--,o=n.selectionsAfter}return o.length?[Id.selection(o)]:Nd}function Xd(e,t,i){var o=zd(e.selectionsAfter.length?e.selectionsAfter.map(function(e){return e.map(t)}):Nd,i);if(!e.changes)return Id.selection(o);var n=e.changes.map(t),r=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(r):r;return new Id(n,Xe.mapEffects(e.effects,t),a,e.startSelection.map(r),o)}var Zd=/^(input\.type|delete)($|\.)/,Ud=function(){function e(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;R(this,e),this.done=t,this.undone=i,this.prevTime=o,this.prevUserEvent=n}return E(e,[{key:"isolate",value:function(){return this.prevTime?new e(this.done,this.undone):this}},{key:"addChanges",value:function(t,i,o,n,r){var a=this.done,s=a[a.length-1];return new e(a=s&&s.changes&&!s.changes.empty&&t.changes&&(!o||Zd.test(o))&&(!s.selectionsAfter.length&&i-this.prevTime0&&i-this.prevTime2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function cf(e,t,i){for(var o=vp(e).resolveInner(t.head),n=i?Zs.closedBy:Zs.openedBy,r=t.head;;){var a=i?o.childAfter(r):o.childBefore(r);if(!a)break;pf(e,a,n)?o=a:r=i?a.to:a.from}var s,l;return l=o.type.prop(n)&&(s=i?$c(e,o.from,1):$c(e,o.to,-1))&&s.matched?i?s.end.to:s.end.from:i?o.to:o.from,me.cursor(l,i?-1:1)}var df=function(e){return Jd(e,function(t){return cf(e.state,t,!of(e))})},ff=function(e){return Jd(e,function(t){return cf(e.state,t,of(e))})};function hf(e,t){return Jd(e,function(i){if(!i.empty)return ef(i,t);var o=e.moveVertically(i,t);return o.head!=i.head?o:e.moveToLineBoundary(i,t)})}var uf=function(e){return hf(e,!1)},yf=function(e){return hf(e,!0)};function mf(e){var t,i=e.scrollDOM.clientHeightl&&a.bottom0&&$c(e,t.head-1,1)||t.head=e.to||o.to>e.to&&o.from<=e.from)&&(null===(i=o.parent)||void 0===i?void 0:i.parent);)o=o.parent;return me.range(o.to,o.from)});return i(Kd(t,o)),!0},oh=function(e){var t=e.state,i=e.dispatch,o=t.selection,n=null;return o.ranges.length>1?n=me.create([o.main]):o.main.empty||(n=me.create([me.cursor(o.main.head)])),!!n&&(i(Kd(t,n)),!0)};function nh(e,t){if(e.state.readOnly)return!1;var i="delete.selection",o=e.state,n=o.changeByRange(function(o){var n=o.from,r=o.to;if(n==r){var a=t(n);an&&(i="delete.forward",a=rh(e,a,!0)),n=Math.min(n,a),r=Math.max(r,a)}else n=rh(e,n,!1),r=rh(e,r,!0);return n==r?{range:o}:{changes:{from:n,to:r},range:me.cursor(n)}});return!n.changes.empty&&(e.dispatch(o.update(n,{scrollIntoView:!0,userEvent:i,effects:"delete.selection"==i?fa.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function rh(e,t,i){if(e instanceof fa){var o,n=b(e.state.facet(fa.atomicRanges).map(function(t){return t(e)}));try{for(n.s();!(o=n.n()).done;){o.value.between(t,t,function(e,o){et&&(t=i?o:e)})}}catch(US){n.e(US)}finally{n.f()}}return t}var ah=function(e,t){return nh(e,function(i){var o,n,r=e.state,a=r.doc.lineAt(i);if(!t&&i>a.from&&ii?i:Math.max(0,t-1)})},uh=function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=t.changeByRange(function(e){return{changes:{from:e.from,to:e.to,insert:B.of(["",""])},range:me.cursor(e.from)}});return i(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0},yh=function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=t.changeByRange(function(e){if(!e.empty||0==e.from||e.from==t.doc.length)return{range:e};var i=e.from,o=t.doc.lineAt(i),n=i==o.from?i-1:Y(o.text,i-o.from,!1)+o.from,r=i==o.to?i+1:Y(o.text,i-o.from,!0)+o.from;return{changes:{from:n,to:r,insert:t.doc.slice(i,r).append(t.doc.slice(n,i))},range:me.cursor(r)}});return!o.changes.empty&&(i(t.update(o,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function mh(e){var t,i=[],o=-1,n=b(e.selection.ranges);try{for(n.s();!(t=n.n()).done;){var r=t.value,a=e.doc.lineAt(r.from),s=e.doc.lineAt(r.to);if(r.empty||r.to!=s.from||(s=e.doc.lineAt(r.to-1)),o>=a.number){var l=i[i.length-1];l.to=s.to,l.ranges.push(r)}else i.push({from:a.from,to:s.to,ranges:[r]});o=s.number+1}}catch(US){n.e(US)}finally{n.f()}return i}function gh(e,t,i){if(e.readOnly)return!1;var o,n=[],r=[],a=b(mh(e));try{for(a.s();!(o=a.n()).done;){var s=o.value;if(i?s.to!=e.doc.length:0!=s.from){var l=e.doc.lineAt(i?s.to+1:s.from-1),p=l.length+1;if(i){n.push({from:s.to,to:l.to},{from:s.from,insert:l.text+e.lineBreak});var c,d=b(s.ranges);try{for(d.s();!(c=d.n()).done;){var f=c.value;r.push(me.range(Math.min(e.doc.length,f.anchor+p),Math.min(e.doc.length,f.head+p)))}}catch(US){d.e(US)}finally{d.f()}}else{n.push({from:l.from,to:s.from},{from:s.to,insert:e.lineBreak+l.text});var h,u=b(s.ranges);try{for(u.s();!(h=u.n()).done;){var y=h.value;r.push(me.range(y.anchor-p,y.head-p))}}catch(US){u.e(US)}finally{u.f()}}}}}catch(US){a.e(US)}finally{a.f()}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:me.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0)}var bh=function(e){return gh(e.state,e.dispatch,!1)},vh=function(e){return gh(e.state,e.dispatch,!0)};function wh(e,t,i){if(e.readOnly)return!1;var o,n=[],r=b(mh(e));try{for(r.s();!(o=r.n()).done;){var a=o.value;i?n.push({from:a.from,insert:e.doc.slice(a.from,a.to)+e.lineBreak}):n.push({from:a.to,insert:e.lineBreak+e.doc.slice(a.from,a.to)})}}catch(US){r.e(US)}finally{r.f()}return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var kh=function(e){return wh(e.state,e.dispatch,!1)},Oh=function(e){return wh(e.state,e.dispatch,!0)},xh=function(e){if(e.state.readOnly)return!1;var t=e.state,i=t.changes(mh(t).map(function(e){var i=e.from,o=e.to;return i>0?i--:o=t&&(i=n.type.prop(Zs.closedBy))&&i.indexOf(r.name)>-1&&e.doc.lineAt(n.to).from==e.doc.lineAt(r.from).from?{from:n.to,to:r.from}:null}var Ch=Dh(!1),Ph=Dh(!0);function Dh(e){return function(t){var i=t.state,o=t.dispatch;if(i.readOnly)return!1;var n=i.changeByRange(function(t){var o=t.from,n=t.to,r=i.doc.lineAt(o),a=!e&&o==n&&Sh(i,o);e&&(o=n=(n<=r.to?r:i.doc.lineAt(n)).to);var s=new Bp(i,{simulateBreak:o,simulateDoubleBreak:!!a}),l=Lp(s,o);for(null==l&&(l=/^\s*/.exec(i.doc.lineAt(o).text)[0].length);nr.from&&oi&&(o.empty||o.to>a.from)&&(t(a,n,o),i=a.number),r=a.to+1}var s=e.changes(n);return{changes:n,range:me.range(s.mapPos(o.anchor,1),s.mapPos(o.head,1))}})}var Qh=function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=Object.create(null),n=new Bp(t,{overrideIndentation:function(e){var t=o[e];return null==t?-1:t}}),r=Th(t,function(e,i,r){var a=Lp(n,e.from);if(null!=a){/\S/.test(e.text)||(a=0);var s=/^\s*/.exec(e.text)[0],l=Fp(t,a);(s!=l||r.from2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length,r=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0;R(this,e),this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(o,n),this.bufferStart=o,this.normalize=r?function(e){return r(Bh(e))}:Bh,this.query=this.normalize(i)}return E(e,[{key:"peek",value:function(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return ie(this.buffer,this.bufferPos)}},{key:"next",value:function(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}},{key:"nextOverlapping",value:function(){for(;;){var e=this.peek();if(e<0)return this.done=!0,this;var t=oe(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=ne(e);for(var o=this.normalize(t),n=0,r=i;;n++){var a=o.charCodeAt(n),s=this.match(a,r);if(s)return this.value=s,this;if(n==o.length-1)break;r==i&&n1)return eo.none;var n,r=o.main,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return eo.none;var s=i.wordAt(r.head);if(!s)return eo.none;a=i.charCategorizer(r.head),n=i.sliceDoc(s.from,s.to)}else{var l=r.to-r.from;if(l200)return eo.none;if(t.wholeWords){if(n=i.sliceDoc(r.from,r.to),!Wh(a=i.charCategorizer(r.head),i,r.from,r.to)||!qh(a,i,r.from,r.to))return eo.none}else if(!(n=i.sliceDoc(r.from,r.to).trim()))return eo.none}var p,c=[],d=b(e.visibleRanges);try{for(d.s();!(p=d.n()).done;)for(var f=p.value,h=new Ih(i.doc,n,f.from,f.to);!h.next().done;){var u=h.value,y=u.from,m=u.to;if((!a||Wh(a,i,y,m))&&(r.empty&&y<=r.from&&m>=r.to?c.push(Nh.range(y,m)):(y>=r.to||m<=r.from)&&c.push(zh.range(y,m)),c.length>t.maxMatches))return eo.none}}catch(US){d.e(US)}finally{d.f()}return eo.set(c)}}]),e}(),{decorations:function(e){return e.decorations}}),_h=fa.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Xh=function(){function e(t,i,o){R(this,e),this.state=t,this.pos=i,this.explicit=o,this.abortListeners=[]}return E(e,[{key:"tokenBefore",value:function(e){for(var t=vp(this.state).resolveInner(this.pos,-1);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}},{key:"matchBefore",value:function(e){var t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),o=t.text.slice(i-t.from,this.pos-t.from),n=o.search(eu(e,!1));return n<0?null:{from:i+n,to:this.pos,text:o.slice(n)}}},{key:"aborted",get:function(){return null==this.abortListeners}},{key:"addEventListener",value:function(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}]),e}();function Zh(e){var t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),"[".concat(i?"\\w":"").concat(t.replace(/[^\w\s]/g,"\\$&"),"]")}function Uh(e){var t,i=Object.create(null),o=Object.create(null),n=b(e);try{for(n.s();!(t=n.n()).done;){var r=t.value.label;i[r[0]]=!0;for(var a=1;a-1)return null;if(o.type.isTop)break}return t(i)}}var Kh=E(function e(t,i,o,n){R(this,e),this.completion=t,this.source=i,this.match=o,this.score=n});function Jh(e){return e.selection.main.from}function eu(e,t){var i,o=e.source,n=t&&"^"!=o[0],r="$"!=o[o.length-1];return n||r?new RegExp("".concat(n?"^":"","(?:").concat(o,")").concat(r?"$":""),null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}var tu=qe.define();function iu(e,t,i,o){var n=e.selection.main,r=i-n.from,a=o-n.from;return Object.assign(Object.assign({},e.changeByRange(function(s){return s!=n&&i!=o&&e.sliceDoc(s.from+r,s.from+a)!=e.sliceDoc(i,o)?{range:s}:{changes:{from:s.from+r,to:o==n.from?s.to:s.from+a,insert:t},range:me.cursor(s.from+r+t.length)}})),{userEvent:"input.complete"})}var ou=new WeakMap;function nu(e){if(!Array.isArray(e))return e;var t=ou.get(e);return t||ou.set(e,t=Hh(e)),t}var ru=Xe.define(),au=Xe.define(),su=function(){function e(t){R(this,e),this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(var i=0;i=48&&P<=57||P>=97&&P<=122?2:P>=65&&P<=90?1:0:(D=oe(P))!=D.toLowerCase()?1:D!=D.toUpperCase()?2:0;(!x||1==T&&k||0==C&&0!=T)&&(t[m]==P||i[m]==P&&(g=!0)?r[m++]=x:r.length&&(O=!1)),C=T,x+=ne(P)}return m==c&&0==r[0]&&O?this.result((g?-200:0)-100,r,e):b==c&&0==v?[-200-e.length+(w==e.length?0:-100),0,w]:p>-1?[-700-e.length,p,p+this.pattern.length]:b==c?[-900-e.length,v,w]:m==c?this.result((g?-200:0)-100-700+(O?0:-1100),r,e):2==t.length?null:this.result((o[0]?-700:0)-200-1100,o,e)}},{key:"result",value:function(e,t,i){var o,n=[e-i.length],r=1,a=b(t);try{for(a.s();!(o=a.n()).done;){var s=o.value,l=s+(this.astral?ne(ie(i,s)):1);r>1&&n[r-1]==s?n[r-1]=l:(n[r++]=s,n[r++]=l)}}catch(US){a.e(US)}finally{a.f()}return n}}]),e}(),lu=ve.define({combine:function(e){return pt(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:function(){return""},optionClass:function(){return""},aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:cu,compareCompletions:function(e,t){return e.label.localeCompare(t.label)},interactionDelay:75},{defaultKeymap:function(e,t){return e&&t},closeOnBlur:function(e,t){return e&&t},icons:function(e,t){return e&&t},tooltipClass:function(e,t){return function(i){return pu(e(i),t(i))}},optionClass:function(e,t){return function(i){return pu(e(i),t(i))}},addToOptions:function(e,t){return e.concat(t)}})}});function pu(e,t){return e?t?e+" "+t:e:t}function cu(e,t,i,o,n){var r,a,s=e.textDirection==Go.RTL,l=s,p=!1,c="top",d=t.left-n.left,f=n.right-t.right,h=o.right-o.left,u=o.bottom-o.top;if(l&&d=u||y>t.top?r=i.bottom-t.top:(c="bottom",r=t.bottom-i.top)}return{style:"".concat(c,": ").concat(r,"px; max-width: ").concat(a,"px"),class:"cm-completionInfo-"+(p?s?"left-narrow":"right-narrow":l?"left":"right")}}function du(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"option";return function(i){var o=i.state.field(Vu,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp-1?o.open.selected+r*(e?1:-1):e?0:a-1;return s<0?s="page"==t?0:a-1:s>=a&&(s="page"==t?a-1:0),i.dispatch({effects:$u.of(s)}),!0}}var fu=function(e){var t=e.state.field(Vu,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||Date.now()-t.open.timestampgu&&Date.now()-r.time>bu){var a,s=b(r.context.abortListeners);try{for(s.s();!(a=s.n()).done;){var l=a.value;try{l()}catch(u){So(this.view.state,u)}}}catch(US){s.e(US)}finally{s.f()}r.context.abortListeners=null,this.running.splice(n--,1)}else{var p;(p=r.updates).push.apply(p,c(e.transactions))}}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=i.active.some(function(e){return 1==e.state&&!t.running.some(function(t){return t.active.source==e.source})})?setTimeout(function(){return t.startUpdate()},mu):-1,0!=this.composing){var d,f=b(e.transactions);try{for(f.s();!(d=f.n()).done;){var h=d.value;"input"==Fu(h)?this.composing=2:2==this.composing&&h.selection&&(this.composing=3)}}catch(US){f.e(US)}finally{f.f()}}}}},{key:"startUpdate",value:function(){var e=this;this.debounceUpdate=-1;var t,i=b(this.view.state.field(Vu).active);try{var o=function(){var i=t.value;1!=i.state||e.running.some(function(e){return e.active.source==i.source})||e.startQuery(i)};for(i.s();!(t=i.n()).done;)o()}catch(US){i.e(US)}finally{i.f()}}},{key:"startQuery",value:function(e){var t=this,i=this.view.state,o=Jh(i),n=new Xh(i,o,e.explicitPos==o),r=new yu(e,n);this.running.push(r),Promise.resolve(e.source(n)).then(function(e){r.context.aborted||(r.done=e||null,t.scheduleAccept())},function(e){t.view.dispatch({effects:au.of(null)}),So(t.view.state,e)})}},{key:"scheduleAccept",value:function(){var e=this;this.running.every(function(e){return void 0!==e.done})?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(function(){return e.accept()},mu))}},{key:"accept",value:function(){var e,t=this;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;for(var i=[],o=this.view.state.facet(lu),n=function(n){var a=t.running[n];if(void 0===a.done)return r=n,"continue";if(t.running.splice(n--,1),a.done){var s,l=new Bu(a.active.source,a.active.explicitPos,a.done,a.done.from,null!==(e=a.done.to)&&void 0!==e?e:Jh(a.updates.length?a.updates[0].startState:t.view.state)),p=b(a.updates);try{for(p.s();!(s=p.n()).done;){var c=s.value;l=l.update(c,o)}}catch(US){p.e(US)}finally{p.f()}if(l.hasResult())return i.push(l),r=n,"continue"}var d=t.view.state.field(Vu).active.find(function(e){return e.source==a.active.source});if(d&&1==d.state)if(null==a.done){var f,h=new Lu(a.active.source,0),u=b(a.updates);try{for(u.s();!(f=u.n()).done;){var y=f.value;h=h.update(y,o)}}catch(US){u.e(US)}finally{u.f()}1!=h.state&&i.push(h)}else t.startQuery(d);r=n},r=0;rr&&o.appendChild(document.createTextNode(n.slice(r,s)));var p=o.appendChild(document.createElement("span"));p.appendChild(document.createTextNode(n.slice(s,l))),p.className="cm-completionMatchedText",r=l}return r>1){var o=Math.floor(t/i);return{from:o*i,to:(o+1)*i}}var n=Math.floor((e-t)/i);return{from:e-(n+1)*i,to:e-n*i}}var xu=function(){function e(t,i){var o=this;R(this,e),this.view=t,this.stateField=i,this.info=null,this.placeInfoReq={read:function(){return o.measureInfo()},write:function(e){return o.placeInfo(e)},key:this},this.space=null,this.currentClass="";var n=t.state.field(i),r=n.open,a=r.options,s=r.selected,l=t.state.facet(lu);this.optionContent=ku(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=Ou(a.length,s,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",function(e){for(var i,n=e.target;n&&n!=o.dom;n=n.parentNode)if("LI"==n.nodeName&&(i=/-(\d+)$/.exec(n.id))&&+i[1]-1&&i.selected=this.range.to)&&(this.range=Ou(i.options.length,i.selected,this.view.state.facet(lu).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(i.options,t.id,this.range)),this.list.addEventListener("scroll",function(){e.info&&e.view.requestMeasure(e.placeInfoReq)})),this.updateSelectedOption(i.selected)){this.info&&(this.info.remove(),this.info=null);var o=i.options[i.selected].completion,n=o.info;if(!n)return;var r="string"==typeof n?document.createTextNode(n):n(o);if(!r)return;"then"in r?r.then(function(i){i&&e.view.state.field(e.stateField,!1)==t&&e.addInfoPane(i)}).catch(function(t){return So(e.view.state,t,"completion info")}):this.addInfoPane(r)}}},{key:"addInfoPane",value:function(e){var t=this.info=document.createElement("div");t.className="cm-tooltip cm-completionInfo",t.appendChild(e),this.dom.appendChild(t),this.view.requestMeasure(this.placeInfoReq)}},{key:"updateSelectedOption",value:function(e){for(var t=null,i=this.list.firstChild,o=this.range.from;i;i=i.nextSibling,o++)"LI"==i.nodeName&&i.id?o==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected"):o--;return t&&Cu(this.list,t),t}},{key:"measureInfo",value:function(){var e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;var t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),o=e.getBoundingClientRect(),n=this.space;if(!n){var r=this.dom.ownerDocument.defaultView||window;n={left:0,top:0,right:r.innerWidth,bottom:r.innerHeight}}return o.top>Math.min(n.bottom,t.bottom)-10||o.bottomi.from||0==i.from))if(n=c,"string"!=typeof p&&p.header)o.appendChild(p.header(p));else o.appendChild(document.createElement("completion-section")).textContent=c}var d=o.appendChild(document.createElement("li"));d.id=t+"-"+r,d.setAttribute("role","option");var f=this.optionClass(s);f&&(d.className=f);var h,u=b(this.optionContent);try{for(u.s();!(h=u.n()).done;){var y=(0,h.value)(s,this.view.state,l);y&&d.appendChild(y)}}catch(US){u.e(US)}finally{u.f()}}return i.from&&o.classList.add("cm-completionListIncompleteTop"),i.toi.bottom&&(e.scrollTop+=o.bottom-i.bottom)}function Pu(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function Du(e,t){var i,o=[],n=null,r=function(e){o.push(e);var t=e.completion.section;if(t){n||(n=[]);var i="string"==typeof t?t:t.name;n.some(function(e){return e.name==i})||n.push("string"==typeof t?{name:i}:t)}},a=b(e);try{for(a.s();!(i=a.n()).done;){var s=i.value;if(s.hasResult())if(!1===s.result.filter){var l,p=s.result.getMatch,c=b(s.result.options);try{for(c.s();!(l=c.n()).done;){var d=l.value,f=[1e9-o.length];if(p){var h,u=b(p(d));try{for(u.s();!(h=u.n()).done;){var y=h.value;f.push(y)}}catch(US){u.e(US)}finally{u.f()}}r(new Kh(d,s.source,f,f[0]))}}catch(US){c.e(US)}finally{c.f()}}else{var m,g=new su(t.sliceDoc(s.from,s.to)),v=void 0,w=b(s.result.options);try{for(w.s();!(m=w.n()).done;){var k=m.value;(v=g.match(k.label))&&r(new Kh(k,s.source,v,v[0]+(k.boost||0)))}}catch(US){w.e(US)}finally{w.f()}}}}catch(US){a.e(US)}finally{a.f()}if(n){var O,x=Object.create(null),S=0,C=b(n.sort(function(e,t){var i,o;return(null!==(i=e.rank)&&void 0!==i?i:1e9)-(null!==(o=t.rank)&&void 0!==o?o:1e9)||(e.namePu(E)&&(M[M.length-1]=B),E=B.completion}}catch(US){L.e(US)}finally{L.f()}return M}var Tu=function(){function e(t,i,o,n,r,a){R(this,e),this.options=t,this.attrs=i,this.tooltip=o,this.timestamp=n,this.selected=r,this.disabled=a}return E(e,[{key:"setSelected",value:function(t,i){return t==this.selected||t>=this.options.length?this:new e(this.options,Mu(i,t),this.tooltip,this.timestamp,t,this.disabled)}},{key:"map",value:function(t){return new e(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:t.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}],[{key:"build",value:function(t,i,o,n,r){var a=Du(t,i);if(!a.length)return n&&t.some(function(e){return 1==e.state})?new e(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;var s=i.facet(lu).selectOnOpen?0:-1;if(n&&n.selected!=s&&-1!=n.selected)for(var l=n.options[n.selected].completion,p=0;p-1&&(i["aria-activedescendant"]=e+"-"+t),i}var Eu=[];function Fu(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}var Lu=function(){function e(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;R(this,e),this.source=t,this.state=i,this.explicitPos=o}return E(e,[{key:"hasResult",value:function(){return!1}},{key:"update",value:function(t,i){var o=Fu(t),n=this;o?n=n.handleUserEvent(t,o,i):t.docChanged?n=n.handleChange(t):t.selection&&0!=n.state&&(n=new e(n.source,0));var r,a=b(t.effects);try{for(a.s();!(r=a.n()).done;){var s=r.value;if(s.is(ru))n=new e(n.source,1,s.value?Jh(t.state):-1);else if(s.is(au))n=new e(n.source,0);else if(s.is(Gu)){var l,p=b(s.value);try{for(p.s();!(l=p.n()).done;){var c=l.value;c.source==n.source&&(n=c)}}catch(US){p.e(US)}finally{p.f()}}}}catch(US){a.e(US)}finally{a.f()}return n}},{key:"handleUserEvent",value:function(t,i,o){return"delete"!=i&&o.activateOnTyping?new e(this.source,1):this.map(t.changes)}},{key:"handleChange",value:function(t){return t.changes.touchesRange(Jh(t.startState))?new e(this.source,0):this.map(t.changes)}},{key:"map",value:function(t){return t.empty||this.explicitPos<0?this:new e(this.source,this.state,t.mapPos(this.explicitPos))}}]),e}(),Bu=function(e){x(i,Lu);var t=C(i);function i(e,o,n,r,a){var s;return R(this,i),(s=t.call(this,e,2,o)).result=n,s.from=r,s.to=a,s}return E(i,[{key:"hasResult",value:function(){return!0}},{key:"handleUserEvent",value:function(e,t,o){var n,r=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),s=Jh(e.state);if((this.explicitPos<0?s<=r:sa||"delete"==t&&Jh(e.startState)==this.from)return new Lu(this.source,"input"==t&&o.activateOnTyping?1:0);var l,p=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return Iu(this.result.validFor,e.state,r,a)?new i(this.source,p,this.result,r,a):this.result.update&&(l=this.result.update(this.result,r,a,new Xh(e.state,s,p>=0)))?new i(this.source,p,l,l.from,null!==(n=l.to)&&void 0!==n?n:Jh(e.state)):new Lu(this.source,1,p)}},{key:"handleChange",value:function(e){return e.changes.touchesRange(this.from,this.to)?new Lu(this.source,0):this.map(e.changes)}},{key:"map",value:function(e){return e.empty?this:new i(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}]),i}();function Iu(e,t,i,o){if(!e)return!1;var n=t.sliceDoc(i,o);return"function"==typeof e?e(n,i,o,t):eu(e,!0).test(n)}var Gu=Xe.define({map:function(e,t){return e.map(function(e){return e.map(t)})}}),$u=Xe.define(),Vu=Pe.define({create:function(){return Qu.start()},update:function(e,t){return e.update(t)},provide:function(e){return[Os.from(e,function(e){return e.tooltip}),fa.contentAttributes.from(e,function(e){return e.attrs})]}}),zu=fa.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:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"".concat(400,"px"),boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"".concat(30,"px")},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"".concat(30,"px")},"&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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Nu=E(function e(t,i,o,n){R(this,e),this.field=t,this.line=i,this.from=o,this.to=n}),Wu=function(){function e(t,i,o){R(this,e),this.field=t,this.from=i,this.to=o}return E(e,[{key:"map",value:function(t){var i=t.mapPos(this.from,-1,ae.TrackDel),o=t.mapPos(this.to,1,ae.TrackDel);return null==i||null==o?null:new e(this.field,i,o)}}]),e}(),qu=function(){function e(t,i){R(this,e),this.lines=t,this.fieldPositions=i}return E(e,[{key:"instantiate",value:function(e,t){var i,o=[],n=[t],r=e.doc.lineAt(t),a=/^\s*/.exec(r.text)[0],s=b(this.lines);try{for(s.s();!(i=s.n()).done;){var l=i.value;if(o.length){for(var p=a,c=/^\t*/.exec(l)[0].length,d=0;d=f&&g.field++}}catch(US){m.e(US)}finally{m.f()}}a.push(new Nu(f,r.length,i.index,i.index+d.length)),p=p.slice(0,i.index)+d+p.slice(i.index+i[0].length)}for(;l=/\\([{}])/.exec(p);){p=p.slice(0,l.index)+l[1]+p.slice(l.index+l[0].length);var v,w=b(a);try{for(w.s();!(v=w.n()).done;){var k=v.value;k.line==r.length&&k.from>l.index&&(k.from--,k.to--)}}catch(US){w.e(US)}finally{w.f()}}r.push(p)}}catch(US){s.e(US)}finally{s.f()}return new e(r,a)}}]),e}(),ju=eo.widget({widget:new(function(e){x(i,Ki);var t=C(i);function i(){return R(this,i),t.apply(this,arguments)}return E(i,[{key:"toDOM",value:function(){var e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}},{key:"ignoreEvent",value:function(){return!1}}]),i}())}),_u=eo.mark({class:"cm-snippetField"}),Xu=function(){function e(t,i){R(this,e),this.ranges=t,this.active=i,this.deco=eo.set(t.map(function(e){return(e.from==e.to?ju:_u).range(e.from,e.to)}))}return E(e,[{key:"map",value:function(t){var i,o=[],n=b(this.ranges);try{for(n.s();!(i=n.n()).done;){var r=i.value.map(t);if(!r)return null;o.push(r)}}catch(US){n.e(US)}finally{n.f()}return new e(o,this.active)}},{key:"selectionInsideField",value:function(e){var t=this;return e.ranges.every(function(e){return t.ranges.some(function(i){return i.field==t.active&&i.from<=e.from&&i.to>=e.to})})}}]),e}(),Zu=Xe.define({map:function(e,t){return e&&e.map(t)}}),Uu=Xe.define(),Hu=Pe.define({create:function(){return null},update:function(e,t){var i,o=b(t.effects);try{for(o.s();!(i=o.n()).done;){var n=i.value;if(n.is(Zu))return n.value;if(n.is(Uu)&&e)return new Xu(e.ranges,n.value)}}catch(US){o.e(US)}finally{o.f()}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:function(e){return fa.decorations.from(e,function(e){return e?e.deco:eo.none})}});function Yu(e,t){return me.create(e.filter(function(e){return e.field==t}).map(function(e){return me.range(e.from,e.to)}))}function Ku(e){var t=qu.parse(e);return function(e,i,o,n){var r=t.instantiate(e.state,o),a=r.text,s=r.ranges,l={changes:{from:o,to:n,insert:B.of(a)},scrollIntoView:!0,annotations:i?tu.of(i):void 0};if(s.length&&(l.selection=Yu(s,0)),s.length>1){var p=new Xu(s,0),c=l.effects=[Zu.of(p)];void 0===e.state.field(Hu,!1)&&c.push(Xe.appendConfig.of([Hu,ry,sy,zu]))}e.dispatch(e.state.update(l))}}function Ju(e){return function(t){var i=t.state,o=t.dispatch,n=i.field(Hu,!1);if(!n||e<0&&0==n.active)return!1;var r=n.active+e,a=e>0&&!n.ranges.some(function(t){return t.field==r+e});return o(i.update({selection:Yu(n.ranges,r),effects:Zu.of(a?null:new Xu(n.ranges,r))})),!0}}var ey=function(e){var t=e.state,i=e.dispatch;return!!t.field(Hu,!1)&&(i(t.update({effects:Zu.of(null)})),!0)},ty=Ju(1),iy=Ju(-1),oy=[{key:"Tab",run:ty,shift:iy},{key:"Escape",run:ey}],ny=ve.define({combine:function(e){return e.length?e[0]:oy}}),ry=Qe.highest(ka.compute([ny],function(e){return e.facet(ny)}));function ay(e,t){return Object.assign(Object.assign({},t),{apply:Ku(e)})}var sy=fa.domEventHandlers({mousedown:function(e,t){var i,o=t.state.field(Hu,!1);if(!o||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;var n=o.ranges.find(function(e){return e.from<=i&&e.to>=i});return!(!n||n.field==o.active)&&(t.dispatch({selection:Yu(o.ranges,n.field),effects:Zu.of(o.ranges.some(function(e){return e.field>n.field})?new Xu(o.ranges,n.field):null)}),!0)}}),ly=new(function(e){x(i,ct);var t=C(i);function i(){return R(this,i),t.apply(this,arguments)}return E(i)}());function py(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[Vu,lu.of(e),vu,fy,zu]}ly.startSide=1,ly.endSide=-1;var cy,dy=[{key:"Ctrl-Space",run:hu},{key:"Escape",run:uu},{key:"ArrowDown",run:du(!0)},{key:"ArrowUp",run:du(!1)},{key:"PageDown",run:du(!0,"page")},{key:"PageUp",run:du(!1,"page")},{key:"Enter",run:fu}],fy=Qe.highest(ka.computeN([lu],function(e){return e.facet(lu).defaultKeymap?[dy]:[]})),hy=function(){return[rs(),Rd(),$a(),Oc(Cc,{fallback:!0}),ka.of([].concat(c(Fh),Hd))]}(),uy=function(){function e(t,i,o,n,r,a,s,l,p){var c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,d=arguments.length>10?arguments[10]:void 0;R(this,e),this.p=t,this.stack=i,this.state=o,this.reducePos=n,this.pos=r,this.score=a,this.buffer=s,this.bufferBase=l,this.curContext=p,this.lookAhead=c,this.parent=d}return E(e,[{key:"toString",value:function(){return"[".concat(this.stack.filter(function(e,t){return t%3==0}).concat(this.state),"]@").concat(this.pos).concat(this.score?"!"+this.score:"")}},{key:"context",get:function(){return this.curContext?this.curContext.context:null}},{key:"pushState",value:function(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}},{key:"reduce",value:function(e){var t,i=e>>19,o=65535&e,n=this.p.parser,r=n.dynamicPrecedence(o);if(r&&(this.score+=r),0==i)return this.pushState(n.getGoto(this.state,o,!0),this.reducePos),o=2e3&&!(null===(t=this.p.parser.nodeSet.types[o])||void 0===t?void 0:t.isAnonymous)&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(o,s)}},{key:"storeNode",value:function(e,t,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==r.buffer[a-4]&&r.buffer[a-1]>-1){if(t==i)return;if(r.buffer[a-2]>=t)return void(r.buffer[a-2]=i)}}if(n&&this.pos!=i){var s=this.buffer.length;if(s>0&&0!=this.buffer[s-4])for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=o}else this.buffer.push(e,t,i,o)}},{key:"shift",value:function(e,t,i){var o=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){var n=e,r=this.p.parser;(i>this.pos||t<=r.maxNode)&&(this.pos=i,r.stateFlag(n,1)||(this.reducePos=i)),this.pushState(n,o),this.shiftContext(t,o),t<=r.maxNode&&this.buffer.push(t,o,i,4)}else this.pos=i,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,i,4)}},{key:"apply",value:function(e,t,i){65536&e?this.reduce(e):this.shift(e,t,i)}},{key:"useNode",value:function(e,t){var i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);var o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(i,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}},{key:"split",value:function(){for(var t=this,i=t.buffer.length;i>0&&t.buffer[i-2]>t.reducePos;)i-=4;for(var o=t.buffer.slice(i),n=t.bufferBase+i;t&&n==t.bufferBase;)t=t.parent;return new e(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,o,n,this.curContext,this.lookAhead,t)}},{key:"recoverByDelete",value:function(e,t){var i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}},{key:"canShift",value:function(e){for(var t=new my(this);;){var i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))return!0;t.reduce(i)}}},{key:"recoverByInsert",value:function(e){if(this.stack.length>=300)return[];var t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){for(var i,o=[],n=0;n>19,o=65535&e,n=this.stack.length-3*i;if(n<0||t.getGoto(this.stack[n],o,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}},{key:"forceAll",value:function(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}},{key:"deadEnd",get:function(){if(3!=this.stack.length)return!1;var e=this.p.parser;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}},{key:"restart",value:function(){this.state=this.stack[0],this.stack.length=0}},{key:"sameState",value:function(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(var t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}},{key:"close",value:function(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}],[{key:"start",value:function(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=t.parser.context;return new e(t,[],i,o,o,0,[],0,n?new yy(n,n.start):null,0,null)}}]),e}(),yy=E(function e(t,i){R(this,e),this.tracker=t,this.context=i,this.hash=t.strict?t.hash(i):0});!function(e){e[e.Insert=200]="Insert",e[e.Delete=190]="Delete",e[e.Reduce=100]="Reduce",e[e.MaxNext=4]="MaxNext",e[e.MaxInsertStackDepth=300]="MaxInsertStackDepth",e[e.DampenInsertStackDepth=120]="DampenInsertStackDepth",e[e.MinBigReduction=2e3]="MinBigReduction"}(cy||(cy={}));var my=function(){function e(t){R(this,e),this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}return E(e,[{key:"reduce",value:function(e){var t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);var o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}}]),e}(),gy=function(){function e(t,i,o){R(this,e),this.stack=t,this.pos=i,this.index=o,this.buffer=t.buffer,0==this.index&&this.maybeNext()}return E(e,[{key:"maybeNext",value:function(){var e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}},{key:"id",get:function(){return this.buffer[this.index-4]}},{key:"start",get:function(){return this.buffer[this.index-3]}},{key:"end",get:function(){return this.buffer[this.index-2]}},{key:"size",get:function(){return this.buffer[this.index-1]}},{key:"next",value:function(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}},{key:"fork",value:function(){return new e(this.stack,this.pos,this.index)}}],[{key:"create",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.bufferBase+t.buffer.length;return new e(t,i,i-t.bufferBase)}}]),e}();function by(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Uint16Array;if("string"!=typeof e)return e;for(var i=null,o=0,n=0;o=92&&a--,a>=34&&a--;var l=a-32;if(l>=46&&(l-=46,s=!0),r+=l,s)break;r*=46}i?i[n++]=r:i=new t(r)}return i}var vy=E(function e(){R(this,e),this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}),wy=new vy,ky=function(){function e(t,i){R(this,e),this.input=t,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=wy,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}return E(e,[{key:"resolveOffset",value:function(e,t){for(var i=this.range,o=this.rangeIndex,n=this.pos+e;ni.to:n>=i.to;){if(o==this.ranges.length-1)return null;var a=this.ranges[++o];n+=a.from-i.to,i=a}return n}},{key:"clipPos",value:function(e){if(e>=this.range.from&&ee)return Math.max(e,o.from)}}catch(US){i.e(US)}finally{i.f()}return this.end}},{key:"peek",value:function(e){var t,i,o=this.chunkOff+e;if(o>=0&&o=this.chunk2Pos&&ta.to&&(this.chunk2=this.chunk2.slice(0,a.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}},{key:"acceptToken",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.range.to?i.slice(0,this.range.to-this.pos):i,this.chunkPos=this.pos,this.chunkOff=0}}},{key:"readNext",value:function(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}},{key:"advance",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]: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()}},{key:"setDone",value:function(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}},{key:"reset",value:function(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=wy,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);var i,o="",n=b(this.ranges);try{for(n.s();!(i=n.n()).done;){var r=i.value;if(r.from>=t)break;r.to>e&&(o+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}}catch(US){n.e(US)}finally{n.f()}return o}}]),e}(),Oy=function(){function e(t,i){R(this,e),this.data=t,this.id=i}return E(e,[{key:"token",value:function(e,t){var i=t.p.parser;Cy(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}]),e}();Oy.prototype.contextual=Oy.prototype.fallback=Oy.prototype.extend=!1;var xy=function(){function e(t,i,o){R(this,e),this.precTable=i,this.elseToken=o,this.data="string"==typeof t?by(t):t}return E(e,[{key:"token",value:function(e,t){for(var i=e.pos,o=0;Cy(this.data,e,t,0,this.data,this.precTable),!(e.token.value>-1);){if(null==this.elseToken)return;if(e.next<0)break;e.advance(),e.reset(e.pos,e.token),o++}o&&(e.reset(i,e.token),e.acceptToken(this.elseToken,o))}}]),e}();xy.prototype.contextual=Oy.prototype.fallback=Oy.prototype.extend=!1;var Sy=E(function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};R(this,e),this.token=t,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend});function Cy(e,t,i,o,n,r){var a=0,s=1<0){var d=e[c];if(l.allows(d)&&(-1==t.token.value||t.token.value==d||Dy(d,t.token.value,n,r))){t.acceptToken(d);break}}var f=t.next,h=0,u=e[a+2];if(!(t.next<0&&u>h&&65535==e[p+3*u-3]&&65535==e[p+3*u-3])){for(;h>1,m=p+y+(y<<1),g=e[m],b=e[m+1]||65536;if(f=b)){a=e[m+2],t.advance();continue e}h=y+1}}break}a=e[p+3*u-1]}}function Py(e,t,i){for(var o,n=t;65535!=(o=e[n]);n++)if(o==i)return n-t;return-1}function Dy(e,t,i,o){var n=Py(i,o,t);return n<0||Py(i,o,e)t)&&!o.type.isError)return i<0?Math.max(0,Math.min(o.to-1,t-25)):Math.min(e.length,Math.max(o.from+1,t+25));if(i<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return i<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(Ty||(Ty={}));var My,Ey=function(){function e(t,i){R(this,e),this.fragments=t,this.nodeSet=i,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}return E(e,[{key:"nextFragment",value:function(){var e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Ry(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Ry(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}},{key:"nodeAt",value:function(e){if(ee)return this.nextStart=r,null;if(n instanceof il){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+n.length}else this.trees.pop(),this.start.pop(),this.index.pop()}}}]),e}(),Fy=function(){function e(t,i){R(this,e),this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(function(e){return new vy})}return E(e,[{key:"getActions",value:function(e){for(var t=0,i=null,o=e.p.parser,n=o.tokenizers,r=o.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,s=0,l=0;lc.end+25&&(s=Math.max(c.lookAhead,s)),0!=c.value)){var d=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!p.extend&&(i=c,t>d))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),i||e.pos!=this.stream.end||((i=new vy).value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}},{key:"getMainToken",value:function(e){if(this.mainToken)return this.mainToken;var t=new vy,i=e.pos,o=e.p;return t.start=i,t.end=Math.min(i+1,o.stream.end),t.value=i==o.stream.end?o.parser.eofTerm:0,t}},{key:"updateCachedToken",value:function(e,t,i){var o=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(o,e),i),e.value>-1){for(var n=i.p.parser,r=0;r=0&&i.p.parser.dialect.allows(a>>1)){0==(1&a)?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}},{key:"putAction",value:function(e,t,i,o){for(var n=0;n4*t.bufferLength?new Ey(o,t.nodeSet):null}return E(e,[{key:"parsedPos",get:function(){return this.minStackPos}},{key:"advance",value:function(){var e,t,i=this.stacks,o=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){for(var r=u(i,1)[0];r.forceReduce()&&r.stack.length&&r.stack[r.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(var a=0;ao)n.push(s);else{if(this.advanceStack(s,n,i))continue;e||(e=[],t=[]),e.push(s);var l=this.tokens.getMainToken(s);t.push(l.value,l.end)}break}if(!n.length){var p=e&&Ny(e);if(p)return this.stackToTree(p);if(this.parser.strict)throw Qy&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+o);this.recovering||(this.recovering=5)}if(this.recovering&&e){var c=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,n);if(c)return this.stackToTree(c.forceAll())}if(this.recovering){var d=1==this.recovering?1:3*this.recovering;if(n.length>d)for(n.sort(function(e,t){return t.score-e.score});n.length>d;)n.pop();n.some(function(e){return e.reducePos>o})&&this.recovering--}else if(n.length>1){e:for(var f=0;f500&&m.buffer.length>500){if(!((h.score-m.score||h.buffer.length-m.buffer.length)>0)){n.splice(f--,1);continue e}n.splice(y--,1)}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(var g=1;g ":"";if(null!=this.stoppedAt&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments)for(var a=e.curContext&&e.curContext.tracker.strict,s=a?e.curContext.hash:0,l=this.fragments.nodeAt(o);l;){var p=this.parser.nodeSet.types[l.type.id]==l.type?n.getGoto(e.state,l.type.id):-1;if(p>-1&&l.length&&(!a||(l.prop(Zs.contextHash)||0)==s))return e.useNode(l,p),Qy&&console.log(r+this.stackID(e)+" (via reuse of ".concat(n.getName(l.type.id),")")),!0;if(!(l instanceof il)||0==l.children.length||l.positions[0]>0)break;var c=l.children[0];if(!(c instanceof il&&0==l.positions[0]))break;l=c}var d=n.stateSlot(e.state,4);if(d>0)return e.reduce(d),Qy&&console.log(r+this.stackID(e)+" (via always-reduce ".concat(n.getName(65535&d),")")),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););for(var f=this.tokens.getActions(e),h=0;ho?t.push(b):i.push(b)}return!1}},{key:"advanceFully",value:function(e,t){for(var i=e.pos;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return By(e,t),!0}}},{key:"runRecovery",value:function(e,t,i){for(var o=null,n=!1,r=0;r ":"";if(a.deadEnd){if(n)continue;if(n=!0,a.restart(),Qy&&console.log(p+this.stackID(a)+" (restarted)"),this.advanceFully(a,i))continue}for(var c=a.split(),d=p,f=0;c.forceReduce()&&f<10;f++){if(Qy&&console.log(d+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,i))break;Qy&&(d=this.stackID(c)+" -> ")}var h,u=b(a.recoverByInsert(s));try{for(u.s();!(h=u.n()).done;){var y=h.value;Qy&&console.log(p+this.stackID(y)+" (via recover-insert)"),this.advanceFully(y,i)}}catch(US){u.e(US)}finally{u.f()}this.stream.end>a.pos?(l==a.pos&&(l++,s=0),a.recoverByDelete(s,l),Qy&&console.log(p+this.stackID(a)+" (via recover-delete ".concat(this.parser.getName(s),")")),By(a,i)):(!o||o.score=0)d(g,y,u[m++]);else{for(var v=u[m+-g],w=-g;w>0;w--)d(u[m++],y,v);m++}}}}catch(US){h.e(US)}finally{h.f()}}n.nodeSet=new Js(r.map(function(t,i){return Ys.define({name:i>=n.minRepeatTerm?void 0:t,id:i,props:l[i],top:s.indexOf(i)>-1,error:0==i,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1})})),e.propSources&&(n.nodeSet=(o=n.nodeSet).extend.apply(o,c(e.propSources))),n.strict=!1,n.bufferLength=js;var k=by(e.tokenData);n.context=e.context,n.specializerSpecs=e.specialized||[],n.specialized=new Uint16Array(n.specializerSpecs.length);for(var O=0;O2&&void 0!==arguments[2]&&arguments[2],o=this.goto;if(t>=o[0])return-1;for(var n=o[t+1];;){var r=o[n++],a=1&r,s=o[n++];if(a&&i)return s;for(var l=n+(r>>1);n0}},{key:"validAction",value:function(e,t){if(t==this.stateSlot(e,4))return!0;for(var i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])return!1;i=zy(this.data,i+2)}if(t==zy(this.data,i+1))return!0}}},{key:"nextStates",value:function(e){for(var t=this,i=[],o=function(e){if(65535==t.data[e]){if(1!=t.data[e+1])return n=e,"break";e=zy(t.data,e+2)}if(0==(1&t.data[e+2])){var o=t.data[e+1];i.some(function(e,t){return 1&t&&e==o})||i.push(t.data[e],o)}n=e},n=this.stateSlot(e,1);;n+=3){if("break"===o(n))break}return i}},{key:"configure",value:function(e){var t,o=Object.assign(Object.create(i.prototype),this);if(e.props&&(o.nodeSet=(t=this.nodeSet).extend.apply(t,c(e.props))),e.top){var n=this.topRules[e.top];if(!n)throw new RangeError("Invalid top rule name ".concat(e.top));o.top=n}return e.tokenizers&&(o.tokenizers=this.tokenizers.map(function(t){var i=e.tokenizers.find(function(e){return e.from==t});return i?i.to:t})),e.specializers&&(o.specializers=this.specializers.slice(),o.specializerSpecs=this.specializerSpecs.map(function(t,i){var n=e.specializers.find(function(e){return e.from==t.external});if(!n)return t;var r=Object.assign(Object.assign({},t),{external:n.to});return o.specializers[i]=Wy(r),r})),e.contextTracker&&(o.context=e.contextTracker),e.dialect&&(o.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(o.strict=e.strict),e.wrap&&(o.wrappers=o.wrappers.concat(e.wrap)),null!=e.bufferLength&&(o.bufferLength=e.bufferLength),o}},{key:"hasWrappers",value:function(){return this.wrappers.length>0}},{key:"getName",value:function(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}},{key:"eofTerm",get:function(){return this.maxNode+1}},{key:"topNode",get:function(){return this.nodeSet.types[this.top[1]]}},{key:"dynamicPrecedence",value:function(e){var t=this.dynamicPrecedences;return null==t?0:t[e]||0}},{key:"parseDialect",value:function(e){var t=Object.keys(this.dialects),i=t.map(function(){return!1});if(e){var o,n=b(e.split(" "));try{for(n.s();!(o=n.n()).done;){var r=o.value,a=t.indexOf(r);a>=0&&(i[a]=!0)}}catch(US){n.e(US)}finally{n.f()}}for(var s=null,l=0;lr)&&n.p.parser.stateFlag(n.state,2)&&(!i||i.score-1||(o!=tm||(i=e.peek(1))!=tm&&i!=im)&&o!=Jy&&o!=em&&-1!=o&&!t.context&&t.canShift(qy)&&e.acceptToken(qy)},{contextual:!0}),lm=new Sy(function(e,t){var i=e.next;if((i==om||i==nm)&&(e.advance(),i==e.next)){e.advance();var o=!t.context&&t.canShift(jy);e.acceptToken(o?jy:_y)}},{contextual:!0}),pm=Nl({"get set async static":fp.modifier,"for while do if else switch try catch finally return throw break continue default case":fp.controlKeyword,"in of await yield void typeof delete instanceof":fp.operatorKeyword,"let var const function class extends":fp.definitionKeyword,"import export from":fp.moduleKeyword,"with debugger as new":fp.keyword,TemplateString:fp.special(fp.string),super:fp.atom,BooleanLiteral:fp.bool,this:fp.self,null:fp.null,Star:fp.modifier,VariableName:fp.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":fp.function(fp.variableName),VariableDefinition:fp.definition(fp.variableName),Label:fp.labelName,PropertyName:fp.propertyName,PrivatePropertyName:fp.special(fp.propertyName),"CallExpression/MemberExpression/PropertyName":fp.function(fp.propertyName),"FunctionDeclaration/VariableDefinition":fp.function(fp.definition(fp.variableName)),"ClassDeclaration/VariableDefinition":fp.definition(fp.className),PropertyDefinition:fp.definition(fp.propertyName),PrivatePropertyDefinition:fp.definition(fp.special(fp.propertyName)),UpdateOp:fp.updateOperator,LineComment:fp.lineComment,BlockComment:fp.blockComment,Number:fp.number,String:fp.string,Escape:fp.escape,ArithOp:fp.arithmeticOperator,LogicOp:fp.logicOperator,BitOp:fp.bitwiseOperator,CompareOp:fp.compareOperator,RegExp:fp.regexp,Equals:fp.definitionOperator,Arrow:fp.function(fp.punctuation),": Spread":fp.punctuation,"( )":fp.paren,"[ ]":fp.squareBracket,"{ }":fp.brace,"InterpolationStart InterpolationEnd":fp.special(fp.brace),".":fp.derefOperator,", ;":fp.separator,"@":fp.meta,TypeName:fp.typeName,TypeDefinition:fp.definition(fp.typeName),"type enum interface implements namespace module declare":fp.definitionKeyword,"abstract global Privacy readonly override":fp.modifier,"is keyof unique infer":fp.operatorKeyword,JSXAttributeValue:fp.attributeValue,JSXText:fp.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":fp.angleBracket,"JSXIdentifier JSXNameSpacedName":fp.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":fp.attributeName,"JSXBuiltin/JSXIdentifier":fp.standard(fp.tagName)}),cm={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,interface:417,enum:421,namespace:427,module:429,declare:433,global:437,for:456,of:465,while:468,with:472,do:476,if:480,else:482,switch:486,case:492,try:498,catch:502,finally:506,return:510,throw:514,break:518,continue:522,debugger:526},dm={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},fm={__proto__:null,"<":137},hm=Vy.deserialize({version:14,states:"$6[O`QUOOO%QQUOOO'TQWOOP(bOSOOO*pQ(CjO'#CfO*wOpO'#CgO+VO!bO'#CgO+eO07`O'#DZO-vQUO'#DaO.WQUO'#DlO%QQUO'#DvO0[QUO'#EOOOQ(CY'#EW'#EWO0uQSO'#ETOOQO'#Ei'#EiOOQO'#Ib'#IbO0}QSO'#GkO1YQSO'#EhO1_QSO'#EhO3aQ(CjO'#JcO6QQ(CjO'#JdO6nQSO'#FWO6sQ#tO'#FoOOQ(CY'#F`'#F`O7OO&jO'#F`O7^Q,UO'#FvO8tQSO'#FuOOQ(CY'#Jd'#JdOOQ(CW'#Jc'#JcOOQQ'#KO'#KOO8yQSO'#IOO9OQ(C[O'#IPOOQQ'#JP'#JPOOQQ'#IT'#ITQ`QUOOO%QQUO'#DnO9WQUO'#DzO%QQUO'#D|O9_QSO'#GkO9dQ,UO'#ClO9rQSO'#EgO9}QSO'#ErO:SQ,UO'#F_O:qQSO'#GkO:vQSO'#GoO;RQSO'#GoO;aQSO'#GrO;aQSO'#GsO;aQSO'#GuO9_QSO'#GxOQQSO'#HnO>VQ(C]O'#HtO%QQUO'#HvO>bQ(C]O'#HxO>mQ(C]O'#HzO9OQ(C[O'#H|O>xQ(CjO'#CfO?zQWO'#DfQOQSOOO@bQSO'#EPO9dQ,UO'#EgO@mQSO'#EgO@xQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jg'#JgO%QQUO'#JgOOQO'#Jk'#JkOOQO'#I_'#I_OAxQWO'#E`OOQ(CW'#E_'#E_OBtQ(C`O'#E`OCOQWO'#ESOOQO'#Jj'#JjOCdQWO'#JkODqQWO'#ESOCOQWO'#E`PEOO?MpO'#C`POOO)CDn)CDnOOOO'#IU'#IUOEZOpO,59ROOQ(CY,59R,59ROOOO'#IV'#IVOEiO!bO,59RO%QQUO'#D]OOOO'#IX'#IXOEwO07`O,59uOOQ(CY,59u,59uOFVQUO'#IYOFjQSO'#JeOHlQbO'#JeO+sQUO'#JeOHsQSO,59{OIZQSO'#EiOIhQSO'#JsOIsQSO'#JrOIsQSO'#JrOI{QSO,5;VOJQQSO'#JqOOQ(CY,5:W,5:WOJXQUO,5:WOLYQ(CjO,5:bOLyQSO,5:jOMdQ(C[O'#JpOMkQSO'#JoO:vQSO'#JoONPQSO'#JoONXQSO,5;UON^QSO'#JoO!!fQbO'#JdOOQ(CY'#Cf'#CfO%QQUO'#EOO!#UQ`O,5:oOOQO'#Jl'#JlOOQO-E<`-E<`O9_QSO,5=VO!#lQSO,5=VO!#qQUO,5;SO!%tQ,UO'#EdO!'XQSO,5;SO!(qQ,UO'#DpO!(xQUO'#DuO!)SQWO,5;]O!)[QWO,5;]O%QQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^OOQQ'#FU'#FUO!)jQUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!+mQSO,5;uOOQ(CY,5;v,5;vO%QQUO'#IfO!+uQ(C[O,5jOOQQ'#JX'#JXOOQQ,5>k,5>kOOQQ-ERQ(C[O'#JYO8tQSO'#JYO!>dQ(C[O,59WO!>oQWO,59WO!>wQ,UO,59WO9dQ,UO,59WO!?SQSO,5;SO!?[QSO'#HWO!?mQSO'#KSO%QQUO,5;wO!?uQWO,5;yO!?zQSO,5=qO!@PQSO,5=qO!@UQSO,5=qO9OQ(C[O,5=qO!@dQSO'#EkO!A^QWO'#ElOOQ(CW'#Jq'#JqO!AeQ(C[O'#KPO9OQ(C[O,5=ZO;aQSO,5=aOOQO'#Cr'#CrO!ApQWO,5=^O!AxQ,UO,5=_O!BTQSO,5=aO!BYQ`O,5=dO>QQSO'#G}O9_QSO'#HPO!BbQSO'#HPO9dQ,UO'#HRO!BgQSO'#HROOQQ,5=g,5=gO!BlQSO'#HSO!BtQSO'#ClO!ByQSO,58|O!CTQSO,58|O!E]QUO,58|OOQQ,58|,58|O!EjQ(C[O,58|O%QQUO,58|O!EuQUO'#HZOOQQ'#H['#H[OOQQ'#H]'#H]O`QUO,5=sO!FVQSO,5=sO`QUO,5=yO`QUO,5={O!F[QSO,5=}O`QUO,5>PO!FaQSO,5>SO!FfQUO,5>YOOQQ,5>`,5>`O%QQUO,5>`O9OQ(C[O,5>bOOQQ,5>d,5>dO!JmQSO,5>dOOQQ,5>f,5>fO!JmQSO,5>fOOQQ,5>h,5>hO!JrQWO'#DXO%QQUO'#JgO!KaQWO'#JgO!LOQWO'#DgO!LaQWO'#DgO!NrQUO'#DgO!NyQSO'#JfO# RQSO,5:QO# WQSO'#EmO# fQSO'#JtO# nQSO,5;WO# sQWO'#DgO#!QQWO'#EROOQ(CY,5:k,5:kO%QQUO,5:kO#!XQSO,5:kO>QQSO,5;RO!>oQWO,5;RO!>wQ,UO,5;RO9dQ,UO,5;RO#!aQSO,5@RO#!fQ!LQO,5:oOOQO-E<]-E<]O##lQ(C`O,5:zOCOQWO,5:nO##vQWO,5:nOCOQWO,5:zO!>dQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%QQUO,5:zO#$TQ(C[O,5:zO#$`Q(C[O,5:zO!>oQWO,5:nOOQO,5;Q,5;QO#$nQ(C[O,5:zPOOO'#IS'#ISP#%SO?MpO,58zPOOO,58z,58zOOOO-EtO+sQUO,5>tOOQO,5>z,5>zO#%nQUO'#IYOOQO-EdQ(C[O1G.rO!>oQWO1G.rO!>wQ,UO1G.rO$%YQSO1G0nO$%_QSO'#CfO$%jQSO'#KTO$%rQSO,5=rO$%wQSO'#KTO$%|QSO'#KTO$&XQSO'#IsO$&gQSO,5@nO$&oQbO1G1cOOQ(CY1G1e1G1eO9_QSO1G3]O?rQSO1G3]O$&vQSO1G3]O$&{QSO1G3]OOQQ1G3]1G3]O:vQSO'#JrO:vQSO'#EmO%QQUO'#EmO:vQSO'#ImO$'QQ(C[O,5@kOOQQ1G2u1G2uO!BTQSO1G2{O!%tQ,UO1G2xO$']QSO1G2xOOQQ1G2y1G2yO!%tQ,UO1G2yO$'bQSO1G2yO$'jQWO'#GwOOQQ1G2{1G2{O!3cQWO'#IoO!BYQ`O1G3OOOQQ1G3O1G3OOOQQ,5=i,5=iO$'rQ,UO,5=kO9_QSO,5=kO#K`QSO,5=mO8tQSO,5=mO!>oQWO,5=mO!>wQ,UO,5=mO9dQ,UO,5=mO$(QQSO'#KRO$(]QSO,5=nOOQQ1G.h1G.hO$(bQ(C[O1G.hO?rQSO1G.hO$(mQSO1G.hO9OQ(C[O1G.hO$*rQbO,5@pO$+SQSO,5@pO$+_QUO,5=uO$+fQSO,5=uO:vQSO,5@pOOQQ1G3_1G3_O`QUO1G3_OOQQ1G3e1G3eOOQQ1G3g1G3gO={QSO1G3iO$+kQUO1G3kO$/lQUO'#HjOOQQ1G3n1G3nO$/yQSO'#HpO>QQSO'#HrOOQQ1G3t1G3tO$0RQUO1G3tO9OQ(C[O1G3zOOQQ1G3|1G3|OOQ(CW'#GW'#GWO9OQ(C[O1G4OO9OQ(C[O1G4QO$4VQSO,5@RO!)jQUO,5;XO:vQSO,5;XO>QQSO,5:RO!)jQUO,5:RO!>oQWO,5:RO$4[Q$IUO,5:ROOQO,5;X,5;XO$4fQWO'#IZO$4|QSO,5@QOOQ(CY1G/l1G/lO$5UQWO'#IaO$5`QSO,5@`OOQ(CW1G0r1G0rO!LaQWO,5:ROOQO'#I^'#I^O$5hQWO,5:mOOQ(CY,5:m,5:mO#![QSO1G0VOOQ(CY1G0V1G0VO%QQUO1G0VOOQ(CY1G0m1G0mO>QQSO1G0mO!>oQWO1G0mO!>wQ,UO1G0mOOQ(CW1G5m1G5mO!>dQ(C[O1G0YOOQO1G0f1G0fO%QQUO1G0fO$5oQ(C[O1G0fO$5zQ(C[O1G0fO!>oQWO1G0YOCOQWO1G0YO$6YQ(C[O1G0fOOQO1G0Y1G0YO$6nQ(CjO1G0fPOOO-EtO$7[QSO1G5kO$7dQSO1G5xO$7lQbO1G5yO:vQSO,5>zO$7vQ(CjO1G5vO%QQUO1G5vO$8WQ(C[O1G5vO$8iQSO1G5uO$8iQSO1G5uO:vQSO1G5uO$8qQSO,5>}O:vQSO,5>}OOQO,5>},5>}O$9VQSO,5>}O$ mQSO,5>}OOQO-EcQ(CjO,5oQWO,5dQ(C[O7+$^O!>oQWO7+$^O!#qQUO7+&YO$NgQSO'#IrO$N{QSO,5@oOOQO1G3^1G3^O9_QSO,5@oO$N{QSO,5@oO% TQSO,5@oOOQO,5?_,5?_OOQO-EoQWO1G3XO!>wQ,UO1G3XO%$RQSO'#IqO%$^QSO,5@mO%$fQWO,5@mOOQ(CW1G3Y1G3YOOQQ7+$S7+$SO?rQSO7+$SO9OQ(C[O7+$SO%$qQSO7+$SO%QQUO1G6[O%QQUO1G6]O%$vQUO1G3aO%$}QSO1G3aO%%SQUO1G3aO%%ZQ(C[O1G6[OOQQ7+(y7+(yO9OQ(C[O7+)TO`QUO7+)VOOQQ'#KW'#KWOOQQ'#It'#ItO%%eQUO,5>UOOQQ,5>U,5>UO%QQUO'#HkO%%rQSO'#HmOOQQ,5>[,5>[O:vQSO,5>[OOQQ,5>^,5>^OOQQ7+)`7+)`OOQQ7+)f7+)fOOQQ7+)j7+)jOOQQ7+)l7+)lO%%wQWO1G5mO%&]Q$IUO1G0sO%&gQSO1G0sOOQO1G/m1G/mO%&rQ$IUO1G/mO>QQSO1G/mO!)jQUO'#DgOOQO,5>u,5>uOOQO-E{,5>{OOQO-E<_-E<_O!>oQWO1G/mOOQO-E<[-E<[OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#![QSO7+%qOOQ(CY7+&X7+&XO>QQSO7+&XO!>oQWO7+&XOOQO7+%t7+%tO$6nQ(CjO7+&QOOQO7+&Q7+&QO%QQUO7+&QO%&|Q(C[O7+&QO!>dQ(C[O7+%tO!>oQWO7+%tO%'XQ(C[O7+&QO%'gQ(CjO7++bO%QQUO7++bO%'wQSO7++aO%'wQSO7++aOOQO1G4i1G4iO:vQSO1G4iO%(PQSO1G4iOOQO7+%y7+%yO#![QSO<vOOQO-EwO%QQUO,5>wOOQO-ESQ(CjO<oQWO1G2bOBoQSO1G2cO%EsQSO1G2dO%E{QSO1G2cO!'^Q,UO7+*}OOQ(CY1G/[1G/[O%FWQSO1G/[OOQ(CY7+'n7+'nO%F]Q,UO7+'uO%FmQ(CjO<dQ(C[O<oQWO7+(sO%JhQSO,5?]OOQO-EVOOQQ,5>X,5>XO%KmQSO1G3vO:vQSO7+&_O!)jQUO7+&_OOQO7+%X7+%XO%KrQ$IUO1G5yO>QQSO7+%XOOQ(CY<QQSO<dQ(C[O<QQSO7+)bO&3ZQSO<zAN>zO%QQUOAN?WOOQO<OQ$IUO7+'uO&?tQ,UOG26{OOQO<QOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO#v:PO(RVO(b$WO(i#yO(j#zO~O#y.dO~P#@_O#X:UO#{:UO#y(WX!W(WX~PNlO^'Ya!V'Ya'k'Ya'i'Ya!g'Ya!S'Yao'Ya!X'Ya%a'Ya!a'Ya~P!6UOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(R#fi(b#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#)tO^#zi!V#zi'k#zi'i#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!6UO$W.iO$Y.iO~O$W.jO$Y.jO~O!a)YO#X.kO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.lO~O!X)]O$T.nO$W)[O$Y)[O$a.oO~O!V:QO!W(VX~P#@_O!W.pO~O!a)YO$a(kX~O$a.rO~Oq)lO(S)mO(T.uO~Ol.xO!S.yO'vTO'yUO~O!VcX!acX!gcX!g$sX(bcX~P!.xO!g/PO~P#)tO!V/QO!a#rO(b'bO!g(oX~O!g/VO~O!U)}O't%eO!g(oP~O#d/XO~O!S$sX!V$sX!a$zX~P!.xO!V/YO!S(pX~P#)tO!a/[O~O!S/^O~Ok/bO!a#rO!h%ZO'}%OO(b'bO~O't/dO~O!a*}O~O^%^O!V/hO'k%^O~O!W/jO~P!2vO!]/kO!^/kO'u!iO(U!jO~O|/mO(U!jO~O#T/nO~O't%|Od'_X!V'_X~O!V*gOd(Oa~Od/sO~Oy/tOz/tO|/uOgva(iva(jva!Vva#Xva~Odva#yva~P#L|Oy)qO|)rOg$la(i$la(j$la!V$la#X$la~Od$la#y$la~P#MrOy)qO|)rOg$na(i$na(j$na!V$na#X$na~Od$na#y$na~P#NeO#d/wO~Od$|a!V$|a#X$|a#y$|a~P!0RO!a#rO~O#d/zO~Oy#vOz#wO|#xO!f#tO!h#uO(RVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(b!ni(i!ni(j!ni~O^!ni'k!ni'i!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$ wOg.PO!X'QO%a.OO~Oi0RO't0QO~P!0sO!a*}O^'|a!X'|a'k'|a!V'|a~O#d0XO~OXYX!VcX!WcX~O!V0YO!W(wX~O!W0[O~OX0]O~O't+VO'vTO'yUO~O!X%nO't%eO]'gX!V'gX~O!V+[O](va~O!g0bO~P!6UOX0eO~O]0fO~O!V+hO^(sa'k(sa~O#X0lO~Og0oO!X$yO~O(U(oO!W(tP~Og0xO!X0uO%a0wO'}%OO~OX1SO!V1QO!W(uX~O!W1TO~O]1VO^%^O'k%^O~O't#jO'vTO'yUO~O#X$bO#{$bOP(WXX(WXk(WXy(WXz(WX|(WX!V(WX!e(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#q(WX#s(WX#u(WX#v(WX(R(WX(b(WX(i(WX(j(WX~O#o1YO&Q1ZO^(WX!f(WX~P$(xO#X$bO#o1YO&Q1ZO~O^1[O~P%QO^1^O~O&Z1bOP&XiQ&XiV&Xi^&Xia&Xib&Xii&Xik&Xil&Xim&Xis&Xiu&Xiw&Xi|&Xi!Q&Xi!R&Xi!X&Xi!c&Xi!h&Xi!k&Xi!l&Xi!m&Xi!o&Xi!q&Xi!t&Xi!x&Xi#p&Xi$Q&Xi$U&Xi%`&Xi%b&Xi%d&Xi%e&Xi%h&Xi%j&Xi%m&Xi%n&Xi%p&Xi%|&Xi&S&Xi&U&Xi&W&Xi&Y&Xi&]&Xi&c&Xi&i&Xi&k&Xi&m&Xi&o&Xi&q&Xi'i&Xi't&Xi'v&Xi'y&Xi(R&Xi(a&Xi(n&Xi!W&Xi_&Xi&`&Xi~O_1hO!W1fO&`1gO~P`O!XXO!h1jO~O&g,eOP&biQ&biV&bi^&bia&bib&bii&bik&bil&bim&bis&biu&biw&bi|&bi!Q&bi!R&bi!X&bi!c&bi!h&bi!k&bi!l&bi!m&bi!o&bi!q&bi!t&bi!x&bi#p&bi$Q&bi$U&bi%`&bi%b&bi%d&bi%e&bi%h&bi%j&bi%m&bi%n&bi%p&bi%|&bi&S&bi&U&bi&W&bi&Y&bi&]&bi&c&bi&i&bi&k&bi&m&bi&o&bi&q&bi'i&bi't&bi'v&bi'y&bi(R&bi(a&bi(n&bi!W&bi&Z&bi_&bi&`&bi~O!S1pO~O!V!Za!W!Za~P#@_Ol!kO|!lO!U1vO(U!jO!V&}X!W&}X~P?fO!V,uO!W(Ya~O!V'TX!W'TX~P!@xO!V,xO!W(ha~O!W1}O~P'TO^%^O#X2WO'k%^O~O^%^O!a#rO#X2WO'k%^O~O^%^O!a#rO!l2[O#X2WO'k%^O(b'bO~O^%^O'k%^O~P!6UO!V$^Oo$ka~O!S&|i!V&|i~P!6UO!V'vO!S(Xi~O!V'}O!S(fi~O!S(gi!V(gi~P!6UO!V(di!g(di^(di'k(di~P!6UO#X2^O!V(di!g(di^(di'k(di~O!V(ZO!g(ci~O|%vO!X%wO!x]O#b2cO#c2bO't%eO~O|%vO!X%wO#c2bO't%eO~Og2jO!X'QO%a2iO~Og2jO!X'QO%a2iO'}%OO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'kva(Rva(bva!gva!Sva'ivaova!Xva%ava!ava~P#L|O#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'k$la(R$la(b$la!g$la!S$la'i$lao$la!X$la%a$la!a$la~P#MrO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'k$na(R$na(b$na!g$na!S$na'i$nao$na!X$na%a$na!a$na~P#NeO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'k$|a(R$|a(b$|a!g$|a!S$|a'i$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#)tO^#[q!V#[q'k#[q'i#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!6UOd'OX!V'OX~P!'^O!V.YOd([a~O!U2rO!V'PX!g'PX~P%QO!V.]O!g(]a~O!V.]O!g(]a~P!6UO!S2uO~O#y!ja!W!ja~PJ`O#y!ba!V!ba!W!ba~P#@_O#y!na!W!na~P!8oO#y!pa!W!pa~P!;YO!X3XO$UfO$_3YO~O!W3^O~Oo3_O~P#)tO^$hq!V$hq'k$hq'i$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!6UO!S3`O~Ol.xO'vTO'yUO~Oy)qO|)rO(j)vOg%Xi(i%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$GeOy)qO|)rOg%Zi(i%Zi(j%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$HWO(b$WO~P#)tO!U3cO't%eO!V'ZX!g'ZX~O!V/QO!g(oa~O!V/QO!a#rO!g(oa~O!V/QO!a#rO(b'bO!g(oa~Od$ui!V$ui#X$ui#y$ui~P!0RO!U3kO't*SO!S']X!V']X~P!0pO!V/YO!S(pa~O!V/YO!S(pa~P#)tO!a#rO#o3sO~Ok3vO!a#rO(b'bO~Od(Pi!V(Pi~P!0RO#X3yOd(Pi!V(Pi~P!0RO!g3|O~O^$iq!V$iq'k$iq'i$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!6UO!V4QO!X(qX~P#)tO!f#tO~P3}O^$sX!X$sX%UYX'k$sX!V$sX~P!.xO%U4SO^hXghXyhX|hX!XhX'khX(ihX(jhX!VhX~O%U4SO~O%b4ZO't+VO'vTO'yUO!V'fX!W'fX~O!V0YO!W(wa~OX4_O~O]4`O~O!S4dO~O^%^O'k%^O~P#)tO!X$yO~P#)tO!V4iO#X4kO!W(tX~O!W4lO~Ol!kO|4mO![!uO!]!rO!^!rO!x9mO!|!mO!}!mO#O!mO#P!mO#Q!mO#T4rO#U!vO'u!iO'vTO'yUO(U!jO(a!pO~O!W4qO~P%!VOg4wO!X0uO%a4vO~Og4wO!X0uO%a4vO'}%OO~O't#jO!V'eX!W'eX~O!V1QO!W(ua~O'vTO'yUO(U5QO~O]5UO~O!g5XO~P%QO^5ZO~O^5ZO~P%QO#o5]O&Q5^O~PMOO_1hO!W5bO&`1gO~P`O!a5dO~O!a5fO!V(Zi!W(Zi!a(Zi!h(Zi'}(Zi~O!V#ai!W#ai~P#@_O#X5gO!V#ai!W#ai~O!V!Zi!W!Zi~P#@_O^%^O#X5pO'k%^O~O^%^O!a#rO#X5pO'k%^O~O!V(dq!g(dq^(dq'k(dq~P!6UO!V(ZO!g(cq~O|%vO!X%wO#c5wO't%eO~O!X'QO%a5zO~Og5}O!X'QO%a5zO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'k%Xi(R%Xi(b%Xi!g%Xi!S%Xi'i%Xio%Xi!X%Xi%a%Xi!a%Xi~P$GeO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'k%Zi(R%Zi(b%Zi!g%Zi!S%Zi'i%Zio%Zi!X%Zi%a%Zi!a%Zi~P$HWO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'k$ui(R$ui(b$ui!g$ui!S$ui'i$ui#X$uio$ui!X$ui%a$ui!a$ui~P#)tOd'Oa!V'Oa~P!0RO!V'Pa!g'Pa~P!6UO!V.]O!g(]i~O#y#[i!V#[i!W#[i~P#@_OP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(RVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~O#g#fi~P%0fO#g9uO~P%0fOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO(RVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~Ok#fi~P%2qOk9wO~P%2qOP$YOk9wOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO(RVO#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%4|OX:TO!e9yO#l9yO#m9yO#n:SO#o9yO~P%4|OP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO(RVO#s#fi#u#fi#v#fi#y#fi(b#fi(j#fi!V#fi!W#fi~O(i#fi~P%7hO(i#yO~P%7hOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O(RVO(i#yO#u#fi#v#fi#y#fi(b#fi!V#fi!W#fi~O(j#fi~P%9sO(j#zO~P%9sOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO(RVO(i#yO(j#zO~O#v#fi#y#fi(b#fi!V#fi!W#fi~P%vO!f#tOP(QXX(QXg(QXk(QXy(QXz(QX|(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX#y(QX(R(QX(b(QX(i(QX(j(QX!V(QX!W(QX~O#y#zi!V#zi!W#zi~P#@_O#y!ni!W!ni~P$ wO!W6ZO~O!V'Ya!W'Ya~P#@_O!a#rO(b'bO!V'Za!g'Za~O!V/QO!g(oi~O!V/QO!a#rO!g(oi~Od$uq!V$uq#X$uq#y$uq~P!0RO!S']a!V']a~P#)tO!a6bO~O!V/YO!S(pi~P#)tO!V/YO!S(pi~O!S6fO~O!a#rO#o6kO~Ok6lO!a#rO(b'bO~O!S6nO~Od$wq!V$wq#X$wq#y$wq~P!0RO^$iy!V$iy'k$iy'i$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!6UO!V4QO!X(qa~O^#[y!V#[y'k#[y'i#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!6UOX6sO~O!V0YO!W(wi~O]6yO~O!a5fO~O(U(oO!V'bX!W'bX~O!V4iO!W(ta~OikO't7QO~P._O!W7TO~P%!VOl!kO|7UO'vTO'yUO(U!jO(a!pO~O!X0uO~O!X0uO%a7WO~Og7ZO!X0uO%a7WO~OX7`O!V'ea!W'ea~O!V1QO!W(ui~O!g7dO~O!g7eO~O!g7fO~O!g7fO~P%QO^7hO~O!a7kO~O!g7lO~O!V(gi!W(gi~P#@_O^%^O#X7tO'k%^O~O!V(dy!g(dy^(dy'k(dy~P!6UO!V(ZO!g(cy~O!X'QO%a7wO~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'k$uq(R$uq(b$uq!g$uq!S$uq'i$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#)tO#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'k$wq(R$wq(b$wq!g$wq!S$wq'i$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#)tO!V'Pi!g'Pi~P!6UO#y#[q!V#[q!W#[q~P#@_Oy/tOz/tO|/uOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Rva(bva(iva(jva!Vva!Wva~Oy)qO|)rOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(R$la(b$la(i$la(j$la!V$la!W$la~Oy)qO|)rOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(R$na(b$na(i$na(j$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(R$|a(b$|a!V$|a!W$|a~P%>vO#y$hq!V$hq!W$hq~P#@_O#y$iq!V$iq!W$iq~P#@_O!W8RO~O#y8SO~P!0RO!a#rO!V'Zi!g'Zi~O!a#rO(b'bO!V'Zi!g'Zi~O!V/QO!g(oq~O!S']i!V']i~P#)tO!V/YO!S(pq~O!S8YO~P#)tO!S8YO~Od(Py!V(Py~P!0RO!V'`a!X'`a~P#)tO^%Tq!X%Tq'k%Tq!V%Tq~P#)tOX8_O~O!V0YO!W(wq~O#X8cO!V'ba!W'ba~O!V4iO!W(ti~P#@_OPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!a%RX#o%RX~P&/vO!X0uO%a8gO~O'vTO'yUO(U8lO~O!V1QO!W(uq~O!g8oO~O!g8oO~P%QO!g8qO~O!g8rO~O#X8tO!V#ay!W#ay~O!V#ay!W#ay~P#@_O!X'QO%a8yO~O#y#wy!V#wy!W#wy~P#@_OP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(R$ui(b$ui!V$ui!W$ui~P%>vOy)qO|)rO(j)vOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(R%Xi(b%Xi(i%Xi!V%Xi!W%Xi~Oy)qO|)rOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(R%Zi(b%Zi(i%Zi(j%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#@_O#y#[y!V#[y!W#[y~P#@_O!a#rO!V'Zq!g'Zq~O!V/QO!g(oy~O!S']q!V']q~P#)tO!S9QO~P#)tO!V0YO!W(wy~O!V4iO!W(tq~O!X0uO%a9XO~O!g9[O~O!X'QO%a9aO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(R$uq(b$uq!V$uq!W$uq~P%>vOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(R$wq(b$wq!V$wq!W$wq~P%>vOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0RO!V'bq!W'bq~P#@_O!V#a!Z!W#a!Z~P#@_O#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'k%]!Z(R%]!Z(b%]!Z!g%]!Z!S%]!Z'i%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#)tOP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(R%]!Z(b%]!Z!V%]!Z!W%]!Z~P%>vOo(VX~P1gO'u!iO~P!)jO!ScX!VcX#XcX~P&/vOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!acX!gYX!gcX(bcX~P&E^OP9lOQ9lOa;]Ob!fOikOk9lOlkOmkOskOu9lOw9lO|WO!QkO!RkO!XXO!c9oO!hZO!k9lO!l9lO!m9lO!o9pO!q9qO!t!eO$Q!hO$UfO't)PO'vTO'yUO(RVO(a[O(n;ZO~O!V:QO!W$ka~Oi%POk$qOl$pOm$pOs%QOu%ROw:WO|$xO!X$yO!c;bO!h$uO#c:^O$Q%VO$m:YO$o:[O$r%WO't(gO'vTO'yUO'}%OO(R$rO~O#p)WO~P&JSO!WYX!WcX~P&E^O#d9tO~O!a#rO#d9tO~O#X:UO~O#o9yO~O#X:`O!V(gX!W(gX~O#X:UO!V(eX!W(eX~O#d:aO~Od:cO~P!0RO#d:hO~O#d:iO~O!a#rO#d:jO~O!a#rO#d:aO~O#y:kO~P#@_O#d:lO~O#d:mO~O#d:nO~O#d:oO~O#d:pO~O#d:qO~O#y:rO~P!0RO#y:sO~P!0RO$U~!f!|!}#P#Q#T#b#c#n(n$m$o$r%U%`%a%b%h%j%m%n%p%r~'oR$U(n#h!R'm'u#il#g#jky'n(U'n't$W$Y$W~",goto:"$%Z({PPPP(|P)PP)aP*p.rPPPP5SPP5iP;d>iP>|P>|PPP>|P@lP>|P>|P>|P@pPP@uPA`PFUPPPFYPPPPFYIXPPPI_JYPFYPLgPPPPNuFYPPPFYPFYP!#TFYP!&g!'i!'rP!(e!(i!(ePPPPP!+r!'iPP!,`!-YP!/|FYFY!0R!3Z!7n!7n!;cPPP!;jFYPPPPPPPPPPP!>uP!@WPPFY!AePFYPFYFYFYFYPFY!BwPP!E}P!IPP!IT!I_!Ic!IcP!EzP!Ig!IgP!LiP!LmFYFY!Ls# t>|P>|P>|>|P##O>|>|#$x>|#'V>|#(y>|>|#)g#+c#+c#+g#+o#+c#+wP#+cP>|#,a>|#-i>|>|5SPPP#.tPP#/^#/^P#/^P#/s#/^PP#/yP#/pP#/p#0]#/p#0w#0}5P)P#1Q)PP#1X#1X#1XP)PP)PP)PP)PPP)PP#1_#1bP#1b)PP#1fP#1iP)PP)PP)PP)PP)PP)P)PPP#1o#1u#2P#2V#2]#2c#2i#2w#2}#3T#3_#3e#3o#4O#4U#4u#5X#5_#5e#5s#6Y#7j#7x#8O#8U#8[#8b#8l#8r#8x#9S#9f#9lPPPPPPPPPP#9rPPPPPPP#:f#=mP#>|#?T#?]PPPP#Cg#F]#Lr#Lu#Lx#Mq#Mt#Mw#NO#NWPP#N^#Nb$ Z$!Z$!_$!sPP$!w$!}$#RP$#U$#Y$#]$$R$$i$$n$$q$$t$$z$$}$%R$%VR!xRmpOXr!X#`%]&d&f&g&i,],b1b1eY!rQ'Q,}0u4pQ%ctQ%kwQ%rzQ&[!TS&x!c,uQ'W!fS'^!o!uS*Y$y*_Q+T%lQ+b%tQ+|&UQ,{'PQ-V'XQ-_'_Q/k*aQ1P+}R:_9p$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7tS#m]9m!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q*j%SQ+Y%nQ,O&XQ,V&aQ.S:VQ0O*{Q0S*}Q0_+ZQ1X,TQ2f.PQ4Y0YQ5O1QQ5|2jQ6S:WQ6u4ZR7z5}&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^t!kQ!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4r$Y$pi#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ%uzQ&v!cS&|%w,xQ+Y%nS.x)r.zQ/v*nQ0_+ZQ0d+aQ1W,SQ1X,TQ4Y0YQ4c0fQ5R1SQ5S1VQ6u4ZQ6x4`Q7c5UQ8b6yR8m7`pmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR,Q&]&r^OPXYrstux!X!^!g!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u'S'd'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;];^[#XWZ#S#V&y'tQ%fvQ%jwS%oz%t!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ&Q!RQ'T!eQ'V!fQ(b#oS)|$u*QS+S%k%lQ+W%nQ+w&SQ+{&US-U'W'XQ.R(cQ/U)}Q0W+TQ0^+ZQ0`+[Q0c+`Q0z+xS1O+|+}Q2S-VQ3b/QQ4X0YQ4]0]Q4b0eQ4}1PQ6_3cQ6t4ZQ6w4_Q8^6sR9S8_v$wi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!S%hw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uQ*|%fQ+m%}Q+p&OQ+z&UQ.Q(bQ0y+wU0}+{+|+}Q2k.RQ4x0zS4|1O1PQ7_4}!z;_#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg;`:S:T:Y:[:^:e:g:i:m:o:sW$|i%O*g;ZS%}!O&ZQ&O!PQ&P!QR+k%{$Z${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hT)m$r)nV*k%S:V:WU&|!c%w,xS(p#v#wQ+_%qS-z(^(_Q0p+qQ3z/tR6}4i&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^$i$]c#U#a%a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.e.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QT#PV#Q&ykOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q&z!cR1w,uv!kQ!c!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4rS*X$y*_S/c*Y*aQ/l*bQ0r+sQ3u/kR3x/nlpOXr!X#`%]&d&f&g&i,],b1b1eQ&k![Q'h!tS(d#q9tQ+Q%iQ+u&QQ+v&RQ-S'UQ-a'aS.W(i:aS/y*s:jQ0U+RQ0t+tQ1i,dQ1k,eQ1s,pQ2Q-TQ2T-XS4P/z:pQ4T0VS4W0X:qQ5h1uQ5l2RQ5q2YQ6r4UQ7o5jQ7p5mQ7s5rR8s7l$d$[c#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(a#l'ZU*d$z(h3US*w%a.eQ2g0OQ5y2fQ7y5|R8z7z$d$Zc#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(`#l'ZS(r#w$[S*v%a.eS-{(_(aQ.h)SQ/{*wR2d-|&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S#m]9mQ&f!VQ&g!WQ&i!YQ&j!ZR1a,`Q'R!eQ*y%fQ-Q'TS-}(b*|Q2O-PW2h.Q.R/}0PQ5k2PU5x2e2g2kS7v5y5{S8x7x7yS9_8w8zQ9g9`R9j9hU!sQ'Q,}T4n0u4p!O_OXZ`r!T!X#`#d%Z%]&Z&]&d&f&g&i(Z,],b-t1b1e]!mQ!o'Q,}0u4pT#m]9m%UyOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS(p#v#wS-z(^(_!s:w$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Y!qQ'Q,}0u4pQ']!oS'g!r!uS'i!v4rS-^'^'_Q-`'`R2Z-_Q'f!qS(V#c1_S-]']'iQ/T)|Q/a*XQ2[-`Q3g/US3p/b/lQ6^3bS6i3v3xQ8U6_R8]6lQ#sbQ'e!qS(U#c1_S(W#i*rQ*t%[Q+O%gQ+U%mU-[']'f'iQ-p(VQ/S)|Q/`*XQ/f*[Q0T+PQ0{+yS2X-]-`Q2a-xS3f/T/US3o/a/lQ3r/eQ3t/gQ4z0|Q5s2[Q6]3bQ6a3gS6e3p3xQ6j3wQ7]4{S8T6^6_Q8X6fQ8Z6iQ8j7^Q9O8UQ9P8YQ9R8]Q9Z8kQ9c9QQ:z:uQ;V;OR;W;PV!sQ'Q,}%UaOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS#sx!g!r:t$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:z;]%UbOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tQ%[j!S%gw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uS%mx!gQ+P%hQ+y&UW0|+z+{+|+}U4{0}1O1PS7^4|4}Q8k7_!r:u$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q;O;[R;P;]$xeOPXYrstu!X!^!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tY#^WZ#S#V't!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ,W&a!p:v$X$j)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:y&yS&}!c%wR1y,x$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7t!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q,V&aQ0O*{Q2f.PQ5|2jR7z5}!f$Rc#U%a's'y(e(l({(|(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!T9{)Q)c,s.e1q1t2v3O3P3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!b$Tc#U%a's'y(e(l(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!P9})Q)c,s.e1q1t2v3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!^$Xc#U%a's'y(e(l)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9nQ3a/Oz;^)Q)c,s.e1q1t2v3V3]5i6R6W6X7P7n7{8P8Q9U9];QQ;c;eR;d;f&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S$kh$lR3Y.k'PgOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$gf$mQ$efS)[$h)`R)h$mT$ff$mT)^$h)`'PhOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$kh$lQ$nhR)g$l%UjOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7t!s;[$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^#alOPXZr!X!^!l#O#`#k#x$j%]&]&`&a&d&f&g&i&m&u'S(q)e*{+g,X,],b-R.P.l/u0x1Y1Z1[1^1b1e1g2j3X4m4w5Z5]5^5}7U7Z7hv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hQ*o%WQ.w)qg3U:S:T:Y:[:^:e:g:i:m:o:sv$vi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;dQ*R$wS*[$y*_Q*p%XQ/g*]!z:|#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hf:}:S:T:Y:[:^:e:g:i:m:o:sQ;R;_Q;S;`Q;T;aR;U;bv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg3U:S:T:Y:[:^:e:g:i:m:o:slnOXr!X#`%]&d&f&g&i,],b1b1eQ*U$xQ,k&pQ,l&rR3j/Y$Y${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ+n&OQ0n+pQ4g0mR6|4hT*^$y*_S*^$y*_T4o0u4pS/e*Z4mT3w/m7UQ+O%gQ/f*[Q0T+PQ0{+yQ4z0|Q7]4{Q8j7^R9Z8kn)u$s(j*q/W/o/p2o3h3}6[6m8}:{;X;Y!W:d(f)V){*T.V.s/O/]/|0k0m2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f]:e3T6V7|8{8|9kp)w$s(j*q.|/W/o/p2o3h3}6[6m8}:{;X;Y!Y:f(f)V){*T.V.s/O/]/|0k0m2l2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f_:g3T6V7|7}8{8|9kpmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ&W!SR,X&apmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR&W!SQ+r&PR0j+kqmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ0v+wS4u0y0zU7V4s4t4xS8f7X7YS9V8e8hQ9d9WR9i9eQ&_!TR,R&ZR5R1SS%oz%tR0`+[Q&d!UR,]&eR,c&jT1c,b1eR,g&kQ,f&kR1l,gQ'k!wR-c'kQrOQ#`XT%`r#`Q!zTR'm!zQ!}UR'o!}Q)n$rR.t)nQ#QVR'q#QQ#TWU'w#T'x-jQ'x#UR-j'yQ,v&zR1x,vQ.Z(jR2p.ZQ.^(lS2s.^2tR2t._Q,}'QR1|,}Y!oQ'Q,}0u4pR'[!oS#ZW%vU(O#Z(P-kQ(P#[R-k'zQ,y&}R1z,yr`OXr!T!X#`%]&Z&]&d&f&g&i,],b1b1eS#dZ%ZU#n`#d-tR-t(ZQ([#fQ-q(WW-y([-q2_5uQ2_-rR5u2`Q)`$hR.m)`Q$lhR)f$lQ$_cU)U$_-f:RQ-f9nR:R)cQ/R)|W3d/R3e6`8VU3e/S/T/US6`3f3gR8V6a#m)s$s(f(j)V){*T*l*m*q.T.U.V.s.|.}/O/W/]/o/p/|0k0m2l2m2n2o3T3h3i3m3}4f4h6O6P6T6U6V6[6c6g6m6o6q7|7}8O8W8[8{8|8}9b9k:{;X;Y;e;fQ/Z*TU3l/Z3n6dQ3n/]R6d3mQ*_$yR/i*_Q*h$}R/r*hQ4R/|R6p4RQ+i%yR0i+iQ4j0pS7O4j8dR8d7PQ+t&QR0s+tQ4p0uR7S4pQ1R,OS5P1R7aR7a5RQ0Z+WW4[0Z4^6v8`Q4^0^Q6v4]R8`6wQ+]%oR0a+]Q1e,bR5a1eWqOXr#`Q&h!XQ*u%]Q,[&dQ,^&fQ,_&gQ,a&iQ1`,]S1c,b1eR5`1bQ%_oQ&l!]Q&o!_Q&q!`Q&s!aQ'c!qQ+Q%iQ+d%uQ+j%zQ,Q&_Q,i&nW-Y']'e'f'iQ-a'aQ/h*^Q0U+RS1U,R,UQ1m,hQ1n,kQ1o,lQ2T-XW2V-[-]-`-bQ4T0VQ4a0dQ4e0kQ4y0{Q5T1WQ5_1aU5n2U2X2[Q5q2YQ6r4UQ6z4cQ6{4fQ7R4oQ7[4zQ7b5SS7q5o5sQ7s5rQ8a6xQ8i7]Q8n7cQ8u7rQ9T8bQ9Y8jQ9^8vR9f9ZQ%iwQ'U!fQ'a!qU+R%j%k%lQ,p&wU-T'V'W'XS-X']'gQ/_*XS0V+S+TQ1u,rS2R-U-VQ2Y-^Q3q/cQ4U0WQ5j1{Q5m2SQ5r2ZR6h3uS$ti;ZR*i%OU$}i%O;ZR/q*gQ$siS(f#r*}Q(j#tS)V$`$aQ){$uQ*T$xQ*l%TQ*m%UQ*q%YQ.T:XQ.U:ZQ.V:]Q.s)lQ.|)uQ.})wQ/O)xQ/W*PQ/]*VQ/o*eQ/p*fh/|*z.O0w2i4v5z7W7w8g8y9X9aQ0k+lQ0m+oQ2l:dQ2m:fQ2n:hQ2o.YS3T:S:TQ3h/XQ3i/YQ3m/[Q3}/wQ4f0lQ4h0oQ6O:lQ6P:nQ6T:YQ6U:[Q6V:^Q6[3aQ6c3kQ6g3sQ6m3yQ6o4QQ6q4SQ7|:iQ7}:eQ8O:gQ8W6bQ8[6kQ8{:mQ8|:oQ8}8SQ9b:rQ9k:sQ:{;ZQ;X;cQ;Y;dQ;e;gR;f;hloOXr!X#`%]&d&f&g&i,],b1b1eQ!dPS#bZ#kQ&n!^U'Y!l4m7UQ'p#OQ(s#xQ)d$jS,U&]&`Q,Y&aQ,h&mQ,m&uQ-P'SQ.a(qQ.q)eQ0P*{Q0g+gQ1],XQ2P-RQ2g.PQ3[.lQ3{/uQ4t0xQ5V1YQ5W1ZQ5Y1[Q5[1^Q5c1gQ5y2jQ6Y3XQ7Y4wQ7g5ZQ7i5]Q7j5^Q7y5}Q8h7ZR8p7h#UcOPXZr!X!^!l#`#k#x%]&]&`&a&d&f&g&i&m&u'S(q*{+g,X,],b-R.P/u0x1Y1Z1[1^1b1e1g2j4m4w5Z5]5^5}7U7Z7hQ#UWQ#aYQ%asQ%btQ%duS's#S'vQ'y#VQ(e#qQ(l#uQ(t#{Q(u#|Q(v#}Q(w$OQ(x$PQ(y$QQ(z$RQ({$SQ(|$TQ(}$UQ)O$VQ)Q$XQ)T$^Q)X$bW)c$j)e.l3XQ*x%cQ+^%pS,s&y1vQ-b'dS-g't-iQ-l'|Q-n(TQ.X(iQ._(mQ.c9lQ.e9oQ.f9pQ.g9qQ.v)pQ/x*sQ1q,nQ1t,qQ2U-ZQ2]-oQ2q.]Q2v9tQ2w9uQ2x9vQ2y9wQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S.dQ3V:UQ3W:_Q3]:QQ4O/zQ4V0XQ5i:`Q5o2WQ5t2^Q6Q2rQ6R:aQ6W:cQ6X:jQ7P4kQ7n5gQ7r5pQ7{:kQ8P:pQ8Q:qQ8v7tQ9U8cQ9]8tQ9n#OR;Q;^R#WWR&{!cY!qQ'Q,}0u4pS&w!c,uQ']!oS'g!r!uS'i!v4rS,r&x'PS-^'^'_Q-`'`Q1{,{R2Z-_R(k#tR(n#uQ!dQT,|'Q,}]!nQ!o'Q,}0u4pQ#l]R'Z9mT#gZ%ZS#fZ%ZU%y|},ZU(W#d#e#hS-r(X(YQ-v(ZQ0h+hQ2`-sU2a-t-u-wS5v2b2cR7u5w`#YW#S#V%v't'}+e-mt#cZ|}#d#e#h%Z(X(Y(Z+h-s-t-u-w2b2c5wQ1_,ZQ1r,oQ5e1jQ7m5fT:x&y+fT#]W%vS#[W%vS'u#S'}S'z#V+eS,t&y+fT-h't-mT'O!c%wQ$hfR)j$mT)_$h)`R3Z.kT*O$u*QR*W$xQ/}*zQ2e.OQ4s0wQ5{2iQ7X4vQ7x5zQ8e7WQ8w7wQ9W8gQ9`8yQ9e9XR9h9alpOXr!X#`%]&d&f&g&i,],b1b1eQ&^!TR,Q&ZV%z|},ZR0q+qR,P&XQ%szR+c%tR+X%nT&b!U&eT&c!U&eT1d,b1e",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList 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 : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression 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 in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration 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:364,context:rm,nodeProps:[["group",-26,6,14,16,62,199,203,206,207,209,212,215,225,227,233,235,237,239,242,248,254,256,258,260,262,264,265,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[pm],skippedNodes:[0,3,4,268],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&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$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&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]$d&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%Z(CS+rq$d&j'wp'z!b'm(;dOX%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%Z(CS.ST'x#S$d&j'n(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'wp'z!b'n(;dOY%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%#`/x`$d&j!l$Ip'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%#S1V`#q$Id$d&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%#S2d_#q$Id$d&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$2b3l_'v$(n$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu`k$d&j'wp'z!b(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'wp'z!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'wp'z!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'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%DfETa(j%Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'wp'z!b'n(;d(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[sm,lm,2,3,4,5,6,7,8,9,10,11,12,13,am,new xy("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!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(T~~",141,326),new xy("j~RQYZXz{^~^O'q~~aP!P!Qd~iO'r~~",25,308)],topRules:{Script:[0,5],SingleExpression:[1,266],SingleClassItem:[2,267]},dialects:{jsx:12686,ts:12688},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:312,get:function(e){return cm[e]||-1}},{term:328,get:function(e){return dm[e]||-1}},{term:67,get:function(e){return fm[e]||-1}}],tokenPrec:12712}),um=[ay("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),ay("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),ay("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ay("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ay("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),ay("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),ay("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),ay("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),ay("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),ay('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ay('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],ym=new vl,mm=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function gm(e){return function(t,i){var o=t.node.getChild("VariableDefinition");return o&&i(o,e),!0}}var bm=["FunctionDeclaration"],vm={FunctionDeclaration:gm("function"),ClassDeclaration:gm("class"),ClassExpression:function(){return!0},EnumDeclaration:gm("constant"),TypeAliasDeclaration:gm("type"),NamespaceDeclaration:gm("namespace"),VariableDefinition:function(e,t){e.matchContext(bm)||t(e,"variable")},TypeDefinition:function(e,t){t(e,"type")},__proto__:null};function wm(e,t){var i=ym.get(t);if(i)return i;var o=[],n=!0;function r(t,i){var n=e.sliceString(t.from,t.to);o.push({label:n,type:i})}return t.cursor(Ks.IncludeAnonymous).iterate(function(t){if(n)n=!1;else if(t.name){var i=vm[t.name];if(i&&i(t,r)||mm.has(t.name))return!1}else if(t.to-t.from>8192){var a,s=b(wm(e,t.node));try{for(s.s();!(a=s.n()).done;){var l=a.value;o.push(l)}}catch(US){s.e(US)}finally{s.f()}return!1}}),ym.set(t,o),o}var km=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Om=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function xm(e){var t=vp(e.state).resolveInner(e.pos,-1);if(Om.indexOf(t.name)>-1)return null;var i="VariableName"==t.name||t.to-t.from<20&&km.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;for(var o=[],n=t;n;n=n.parent)mm.has(n.name)&&(o=o.concat(wm(e.state.doc,n)));return{options:o,from:i?t.from:e.pos,validFor:km}}var Sm=bp.define({name:"javascript",parser:hm.configure({props:[Ip.add({IfStatement:Up({except:/^\s*({|else\b)/}),TryStatement:Up({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Zp,SwitchBody:function(e){var t=e.textAfter,i=/^\s*\}/.test(t),o=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:o?1:2)*e.unit},Block:_p({closing:"}"}),ArrowFunction:function(e){return e.baseIndent+e.unit},"TemplateString BlockComment":function(){return null},"Statement Property":Up({except:/^{/}),JSXElement:function(e){var t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape:function(e){var t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":function(e){return e.column(e.node.from)+e.unit}}),Jp.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":ec,BlockComment:function(e){return{from:e.from+2,to:e.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Cm={test:function(e){return/^JSX/.test(e.name)},facet:up({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Pm=Sm.configure({dialect:"ts"},"typescript"),Dm=Sm.configure({dialect:"jsx",props:[yp.add(function(e){return e.isTop?[Cm]:void 0})]}),Tm=Sm.configure({dialect:"jsx ts",props:[yp.add(function(e){return e.isTop?[Cm]:void 0})]},"typescript"),Qm="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(function(e){return{label:e,type:"keyword"}});function Am(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.jsx?e.typescript?Tm:Dm:e.typescript?Pm:Sm;return new Qp(t,[Sm.data.of({autocomplete:Yh(Om,Hh(um.concat(Qm)))}),Sm.data.of({autocomplete:xm}),e.jsx?Lm:[]])}function Rm(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if(!e.parent)return null;e=e.parent}}function Mm(e,t){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,o=null==t?void 0:t.firstChild;o;o=o.nextSibling)if("JSXIdentifier"==o.name||"JSXBuiltin"==o.name||"JSXNamespacedName"==o.name||"JSXMemberExpression"==o.name)return e.sliceString(o.from,Math.min(o.to,i));return""}var Em,Fm="object"==("undefined"==typeof navigator?"undefined":A(navigator))&&/Android\b/.test(navigator.userAgent),Lm=fa.inputHandler.of(function(e,t,i,o){if((Fm?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=o&&"/"!=o||!Sm.isActiveAt(e.state,t,-1))return!1;var n=e.state,r=n.changeByRange(function(e){var t,i,r,a=e.head,s=vp(n).resolveInner(a,-1);if("JSXStartTag"==s.name&&(s=s.parent),">"==o&&"JSXFragmentTag"==s.name)return{range:me.cursor(a+1),changes:{from:a,insert:">"}};if("/"==o&&"JSXFragmentTag"==s.name){var l=s.parent,p=null==l?void 0:l.parent;if(l.from==a-1&&"JSXEndTag"!=(null===(t=p.lastChild)||void 0===t?void 0:t.name)&&(r=Mm(n.doc,null==p?void 0:p.firstChild,a))){var c="/".concat(r,">");return{range:me.cursor(a+c.length),changes:{from:a,insert:c}}}}else if(">"==o){var d=Rm(s);if(d&&"JSXEndTag"!=(null===(i=d.lastChild)||void 0===i?void 0:i.name)&&"")}}}return{range:e}});return!r.changes.empty&&(e.dispatch(r,{userEvent:"input.type",scrollIntoView:!0}),!0)}),Bm=function(){function e(t,i,o,n,r,a,s){R(this,e),this.type=t,this.value=i,this.from=o,this.hash=n,this.end=r,this.children=a,this.positions=s,this.hashProp=[[Zs.contextHash,n]]}return E(e,[{key:"addChild",value:function(e,t){e.prop(Zs.contextHash)!=this.hash&&(e=new il(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}},{key:"toTree",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.end,o=this.children.length-1;return o>=0&&(i=Math.max(i,this.positions[o]+this.children[o].length+this.from)),new il(e.types[this.type],this.children,this.positions,i-this.from).balance({makeTree:function(e,i,o){return new il(Ys.none,e,i,o,t.hashProp)}})}}],[{key:"create",value:function(t,i,o,n,r){return new e(t,i,o,n+(n<<8)+t+(i<<4)|0,r,[],[])}}]),e}();!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(Em||(Em={}));var Im=E(function e(t,i){R(this,e),this.start=t,this.content=i,this.marks=[],this.parsers=[]}),Gm=function(){function e(){R(this,e),this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}return E(e,[{key:"forward",value:function(){this.basePos>this.pos&&this.forwardInner()}},{key:"forwardInner",value:function(){var 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)}},{key:"skipSpace",value:function(e){return Nm(this.text,e)}},{key:"reset",value:function(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()}},{key:"moveBase",value:function(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}},{key:"moveBaseColumn",value:function(e){this.baseIndent=e,this.basePos=this.findColumn(e)}},{key:"addMarker",value:function(e){this.markers.push(e)}},{key:"countIndent",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t;o=t.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;var o=(e.type==Em.OrderedList?Um:Zm)(i,t,!1);return o>0&&(e.type!=Em.BulletList||_m(i,t,!1)<0)&&i.text.charCodeAt(i.pos+o-1)==e.value}var Vm=(p(t={},Em.Blockquote,function(e,t,i){return 62==i.next&&(i.markers.push(Cg(Em.QuoteMark,t.lineStart+i.pos,t.lineStart+i.pos+1)),i.moveBase(i.pos+(zm(i.text.charCodeAt(i.pos+1))?2:1)),e.end=t.lineStart+i.text.length,!0)}),p(t,Em.ListItem,function(e,t,i){return!(i.indent-1)&&(i.moveBaseColumn(i.baseIndent+e.value),!0)}),p(t,Em.OrderedList,$m),p(t,Em.BulletList,$m),p(t,Em.Document,function(){return!0}),t);function zm(e){return 32==e||9==e||10==e||13==e}function Nm(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;ti&&zm(e.charCodeAt(t-1));)t--;return t}function qm(e){if(96!=e.next&&126!=e.next)return-1;for(var t=e.pos+1;t-1&&e.depth==t.stack.length?-1:o<3?-1:1}function Xm(e,t){for(var i=e.stack.length-1;i>=0;i--)if(e.stack[i].type==t)return!0;return!1}function Zm(e,t,i){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!zm(e.text.charCodeAt(e.pos+1))||!(!i||Xm(t,Em.BulletList)||e.skipSpace(e.pos+2)=48&&n<=57;){if(++o==e.text.length)return-1;n=e.text.charCodeAt(o)}return o==e.pos||o>e.pos+9||46!=n&&41!=n||oe.pos+1||49!=e.next)?-1:o+1-e.pos}function Hm(e){if(35!=e.next)return-1;for(var t=e.pos+1;t6?-1:i}function Ym(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;for(var t=e.pos+1;t/,eg=/\?>/,tg=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(o);if(r)return e.append(Cg(Em.Comment,i,i+1+r[0].length));var a=/^\?[^]*?\?>/.exec(o);if(a)return e.append(Cg(Em.ProcessingInstruction,i,i+1+a[0].length));var s=/^(?:![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(o);return s?e.append(Cg(Em.HTMLTag,i,i+1+s[0].length)):-1},Emphasis:function(e,t,i){if(95!=t&&42!=t)return-1;for(var o=i+1;e.char(o)==t;)o++;var n=e.slice(i-1,i),r=e.slice(o,o+1),a=Mg.test(n),s=Mg.test(r),l=/\s|^$/.test(n),p=/\s|^$/.test(r),c=!p&&(!s||l||a),d=!l&&(!a||p||s),f=c&&(42==t||!d||a),h=d&&(42==t||!c||s);return e.append(new Ag(95==t?Pg:Dg,i,o,(f?1:0)|(h?2:0)))},HardBreak:function(e,t,i){if(92==t&&10==e.char(i+1))return e.append(Cg(Em.HardBreak,i,i+2));if(32==t){for(var o=i+1;32==e.char(o);)o++;if(10==e.char(o)&&o>=i+2)return e.append(Cg(Em.HardBreak,i,o+1))}return-1},Link:function(e,t,i){return 91==t?e.append(new Ag(Tg,i,i+1,1)):-1},Image:function(e,t,i){return 33==t&&91==e.char(i+1)?e.append(new Ag(Qg,i,i+2,1)):-1},LinkEnd:function(e,t,i){if(93!=t)return-1;for(var o=e.parts.length-1;o>=0;o--){var n=e.parts[o];if(n instanceof Ag&&(n.type==Tg||n.type==Qg)){if(!n.side||e.skipSpace(n.to)==i&&!/[(\[]/.test(e.slice(i+1,i+2)))return e.parts[o]=null,-1;var r=e.takeContent(o),a=e.parts[o]=Fg(e,r,n.type==Tg?Em.Link:Em.Image,n.from,i+1);if(n.type==Tg)for(var s=0;st?Cg(Em.URL,t+i,a+i):a==e.length&&null}function Bg(e,t,i){var o=e.charCodeAt(t);if(39!=o&&34!=o&&40!=o)return!1;for(var n=40==o?41:o,r=t+1,a=!1;r=this.end?-1:this.text.charCodeAt(e-this.offset)}},{key:"end",get:function(){return this.offset+this.text.length}},{key:"slice",value:function(e,t){return this.text.slice(e-this.offset,t-this.offset)}},{key:"append",value:function(e){return this.parts.push(e),e.to}},{key:"addDelimiter",value:function(e,t,i,o,n){return this.append(new Ag(e,t,i,(o?1:0)|(n?2:0)))}},{key:"addElement",value:function(e){return this.append(e)}},{key:"resolveMarkers",value:function(e){for(var t=e;t=e;a--){var s=this.parts[a];if(s instanceof Ag&&1&s.side&&s.type==i.type&&!(o&&(1&i.side||2&s.side)&&(s.to-s.from+n)%3==0&&((s.to-s.from)%3||n%3))){r=s;break}}if(r){var l=i.type.resolve,p=[],c=r.from,d=i.to;if(o){var f=Math.min(2,r.to-r.from,n);c=r.to-f,d=i.from+f,l=1==f?"Emphasis":"StrongEmphasis"}r.type.mark&&p.push(this.elt(r.type.mark,c,r.to));for(var h=a+1;h=0;t--){var i=this.parts[t];if(i instanceof Ag&&i.type==e)return t}return null}},{key:"takeContent",value:function(e){var t=this.resolveMarkers(e);return this.parts.length=e,t}},{key:"skipSpace",value:function(e){return Nm(this.text,e-this.offset)+this.offset}},{key:"elt",value:function(e,t,i,o){return"string"==typeof e?Cg(this.parser.getNodeType(e),t,i,o):new Sg(e,t)}}]),e}();function $g(e,t){if(!t.length)return e;if(!e.length)return t;var i,o=e.slice(),n=0,r=b(t);try{for(r.s();!(i=r.n()).done;){for(var a=i.value;n(e?e-1:0))return!1;if(this.fragmentEnd<0){for(var i=this.fragment.to;i>0&&"\n"!=this.input.read(i-1,i);)i--;this.fragmentEnd=i?i-1:0}var o=this.cursor;o||(o=this.cursor=this.fragment.tree.cursor()).firstChild();for(var n=e+this.fragment.offset;o.to<=n;)if(!o.parent())return!1;for(;;){if(o.from>=n)return this.fragment.from<=t;if(!o.childAfter(n))return!1}}},{key:"matches",value:function(e){var t=this.cursor.tree;return t&&t.prop(Zs.contextHash)==e}},{key:"takeNodes",value:function(e){for(var t=this.cursor,i=this.fragment.offset,o=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,r=n,a=e.block.children.length,s=r,l=a;;){if(t.to-i>o){if(t.type.isAnonymous&&t.firstChild())continue;break}if(e.dontInject.add(t.tree),e.addNode(t.tree,t.from-i),t.type.is("Block")&&(Vg.indexOf(t.type.id)<0?(r=t.to-i,a=e.block.children.length):(r=s,a=l,s=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return r-n}}]),e}(),Ng=Nl({"Blockquote/...":fp.quote,HorizontalRule:fp.contentSeparator,"ATXHeading1/... SetextHeading1/...":fp.heading1,"ATXHeading2/... SetextHeading2/...":fp.heading2,"ATXHeading3/...":fp.heading3,"ATXHeading4/...":fp.heading4,"ATXHeading5/...":fp.heading5,"ATXHeading6/...":fp.heading6,"Comment CommentBlock":fp.comment,Escape:fp.escape,Entity:fp.character,"Emphasis/...":fp.emphasis,"StrongEmphasis/...":fp.strong,"Link/... Image/...":fp.link,"OrderedList/... BulletList/...":fp.list,"BlockQuote/...":fp.quote,"InlineCode CodeText":fp.monospace,URL:fp.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":fp.processingInstruction,"CodeInfo LinkLabel":fp.labelName,LinkTitle:fp.string,Paragraph:fp.content}),Wg=new ug(new Js(vg).extend(Ng),Object.keys(rg).map(function(e){return rg[e]}),Object.keys(rg).map(function(e){return pg[e]}),Object.keys(rg),cg,Vm,Object.keys(Eg).map(function(e){return Eg[e]}),Object.keys(Eg),[]);function qg(e,t,i){for(var o=[],n=e.firstChild,r=t;;n=n.nextSibling){var a=n?n.from:i;if(a>r&&o.push({from:r,to:a}),!n)break;r=n.to}return o}function jg(e){var t=e.codeParser,i=e.htmlParser;return{wrap:xl(function(e,o){var n=e.type.id;if(!t||n!=Em.CodeBlock&&n!=Em.FencedCode){if(i&&(n==Em.HTMLBlock||n==Em.HTMLTag))return{parser:i,overlay:qg(e.node,e.from,e.to)}}else{var r="";if(n==Em.FencedCode){var a=e.node.getChild(Em.CodeInfo);a&&(r=o.read(a.from,a.to))}var s=t(r);if(s)return{parser:s,overlay:function(e){return e.type.id==Em.CodeText}}}return null})}}var _g={resolve:"Strikethrough",mark:"StrikethroughMark"},Xg={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":fp.strikethrough}},{name:"StrikethroughMark",style:fp.processingInstruction}],parseInline:[{name:"Strikethrough",parse:function(e,t,i){if(126!=t||126!=e.char(i+1)||126==e.char(i+2))return-1;var o=e.slice(i-1,i),n=e.slice(i+2,i+3),r=/\s|^$/.test(o),a=/\s|^$/.test(n),s=Mg.test(o),l=Mg.test(n);return e.addDelimiter(_g,i,i+2,!a&&(!l||r||s),!r&&(!s||a||l))},after:"Emphasis"}]};function Zg(e,t){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=0,a=!0,s=-1,l=-1,p=!1,c=function(){o.push(e.elt("TableCell",n+s,n+l,e.parser.parseInline(t.slice(s,l),n+s)))},d=i;d-1)&&r++,a=!1,o&&(s>-1&&c(),o.push(e.elt("TableDelimiter",d+n,d+n+1))),s=l=-1),p=!p&&92==f}return s>-1&&(r++,o&&c()),r}function Ug(e,t){for(var i=t;i=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Nb(e){return 9==e||10==e||13==e||32==e}var Wb=null,qb=null,jb=0;function _b(e,t){var i=e.pos+t;if(jb==i&&qb==e)return Wb;for(var o=e.peek(t);Nb(o);)o=e.peek(++t);for(var n="";zb(o);)n+=String.fromCharCode(o),o=e.peek(++t);return qb=e,jb=i,Wb=n?n.toLowerCase():o==Hb||o==Yb?void 0:null}var Xb=60,Zb=62,Ub=47,Hb=63,Yb=33,Kb=45;function Jb(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(var i=0;i-1?new Jb(_b(o,1)||"",e):e},reduce:function(e,t){return t==Cb&&e?e.parent:e},reuse:function(e,t,i,o){var n=t.type.id;return n==ub||n==Fb?new Jb(_b(o,1)||"",e):e},hash:function(e){return e?e.hash:0},strict:!1}),iv=new Sy(function(e,t){if(e.next==Xb){e.advance();var i=e.next==Ub;i&&e.advance();var o=_b(e,0);if(void 0!==o){if(!o)return e.acceptToken(i?xb:ub);var n=t.context?t.context.name:null;if(i){if(o==n)return e.acceptToken(vb);if(n&&$b[n])return e.acceptToken(Ob,-2);if(t.dialectEnabled(Bb))return e.acceptToken(wb);for(var r=t.context;r;r=r.parent)if(r.name==o)return;e.acceptToken(kb)}else{if("script"==o)return e.acceptToken(yb);if("style"==o)return e.acceptToken(mb);if("textarea"==o)return e.acceptToken(gb);if(Gb.hasOwnProperty(o))return e.acceptToken(bb);n&&Vb[n]&&Vb[n][o]?e.acceptToken(Ob,-1):e.acceptToken(ub)}}}else e.next<0&&t.context&&e.acceptToken(Ob)},{contextual:!0}),ov=new Sy(function(e){for(var t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(Sb);break}if(e.next==Kb)t++;else{if(e.next==Zb&&t>=2){i>3&&e.acceptToken(Sb,-2);break}t=0}e.advance()}});function nv(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}var rv=new Sy(function(e,t){if(e.next==Ub&&e.peek(1)==Zb){var i=t.dialectEnabled(Ib)||nv(t.context);e.acceptToken(i?hb:fb,2)}else e.next==Zb&&e.acceptToken(fb,1)});function av(e,t,i){var o=2+e.length;return new Sy(function(n){for(var r=0,a=0,s=0;;s++){if(n.next<0){s&&n.acceptToken(t);break}if(0==r&&n.next==Xb||1==r&&n.next==Ub||r>=2&&ra?n.acceptToken(t,-a):n.acceptToken(i,-(a-2));break}if((10==n.next||13==n.next)&&s){n.acceptToken(t,1);break}r=a=0}else a++;n.advance()}})}var sv=av("script",ab,sb),lv=av("style",lb,pb),pv=av("textarea",cb,db),cv=Nl({"Text RawText":fp.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":fp.angleBracket,TagName:fp.tagName,"MismatchedCloseTag/TagName":[fp.tagName,fp.invalid],AttributeName:fp.attributeName,"AttributeValue UnquotedAttributeValue":fp.attributeValue,Is:fp.definitionOperator,"EntityReference CharacterReference":fp.character,Comment:fp.blockComment,ProcessingInst:fp.processingInstruction,DoctypeDecl:fp.documentMeta}),dv=Vy.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag 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:67,context:tv,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[cv],skippedNodes:[0],repeatNodeCount:9,tokenData:"#%g!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs4ysv-_vw5iwxJ^x}-_}!OKP!O!P-_!P!Q$q!Q![-_![!]!!O!]!^-_!^!_!&W!_!`#$o!`!a&X!a!c-_!c!}!!O!}#R-_#R#S!!O#S#T3V#T#o!!O#o#s-_#s$f$q$f%W-_%W%o!!O%o%p-_%p&a!!O&a&b-_&b1p!!O1p4U-_4U4d!!O4d4e-_4e$IS!!O$IS$I`-_$I`$Ib!!O$Ib$Kh-_$Kh%#t!!O%#t&/x-_&/x&Et!!O&Et&FV-_&FV;'S!!O;'S;:j!&Q;:j;=`4s<%l?&r-_?&r?Ah!!O?Ah?BY$q?BY?Mn!!O?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/echSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0uXhSqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0pS1eP;=`<%l0p[1kP;=`<%l/^!U1wbhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!U3SP;=`<%l1n!V3bchS`P!a`!cpOq&Xqr3Vrs&}sv3Vvw0pwx(tx!P3V!P!Q&X!Q!^3V!^!_1n!_!a&X!a#s3V#s$f&X$f;'S3V;'S;=`4m<%l?Ah3V?Ah?BY&X?BY?Mn3V?MnO&X!V4pP;=`<%l3V!_4vP;=`<%l-_!Z5SV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_5rjhSkWc!ROX7dXZ8qZ[7d[^8q^p7dqr:crs8qst@Ttw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^/^!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!Z7ibkWOX7dXZ8qZ[7d[^8q^p7dqr7drs8qst+Ptw7dwx8qx!]7d!]!^9f!^!a8q!a#S7d#S#T8q#T;'S7d;'S;=`:]<%lO7d!R8tVOp8qqs8qt!]8q!]!^9Z!^;'S8q;'S;=`9`<%lO8q!R9`Oa!R!R9cP;=`<%l8q!Z9mYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z:`P;=`<%l7d!_:jjhSkWOX7dXZ8qZ[7d[^8q^p7dqr:crs8qst/^tw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^<[!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!_b#d#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!>kdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#V1n#V#W!?y#W#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!@SdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#h1n#h#i!Ab#i#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!AkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#m1n#m#n!By#n#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!CSdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#d1n#d#e!Db#e#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!DkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#X1n#X#Y!5]#Y#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!FSchS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!a!G_!a!b##T!b#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!R!GfY!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!a!G_!a!b!Lv!b;'S!G_;'S;=`!N]<%lO!G_q!HZV!cpOv!HUvx!Hpx!a!HU!a!b!Iq!b;'S!HU;'S;=`!Jp<%lO!HUP!HsTO!a!Hp!a!b!IS!b;'S!Hp;'S;=`!Ik<%lO!HpP!IVTO!`!Hp!`!a!If!a;'S!Hp;'S;=`!Ik<%lO!HpP!IkOxPP!InP;=`<%l!Hpq!IvV!cpOv!HUvx!Hpx!`!HU!`!a!J]!a;'S!HU;'S;=`!Jp<%lO!HUq!JdS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!JsP;=`<%l!HUa!J{X!a`Or!Jvrs!Hpsv!Jvvw!Hpw!a!Jv!a!b!Kh!b;'S!Jv;'S;=`!Lp<%lO!Jva!KmX!a`Or!Jvrs!Hpsv!Jvvw!Hpw!`!Jv!`!a!LY!a;'S!Jv;'S;=`!Lp<%lO!Jva!LaT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!LsP;=`<%l!Jv!R!L}Y!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!`!G_!`!a!Mm!a;'S!G_;'S;=`!N]<%lO!G_!R!MvV!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!N`P;=`<%l!G_T!NhbhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!a!Hp!a!b# p!b#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT# ubhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!`!Hp!`!a!If!a#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT##QP;=`<%l!Nc!V##^chS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!`!G_!`!a!Mm!a#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!V#$lP;=`<%l!Ey!V#$zXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[sv,lv,pv,rv,iv,ov,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function fv(e,t){var i,o=Object.create(null),n=b(e.getChildren(Db));try{for(n.s();!(i=n.n()).done;){var r=i.value,a=r.getChild(Tb),s=r.getChild(Qb)||r.getChild(Ab);a&&(o[t.read(a.from,a.to)]=s?s.type.id==Qb?t.read(s.from+1,s.to-1):t.read(s.from,s.to):"")}}catch(US){n.e(US)}finally{n.f()}return o}function hv(e,t){var i=e.getChild(Pb);return i?t.read(i.from,i.to):" "}function uv(e,t,i){var o,n,r=b(i);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(!a.attrs||a.attrs(o||(o=fv(e.node.parent.firstChild,t))))return{parser:a.parser}}}catch(US){r.e(US)}finally{r.f()}return null}function yv(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=[],n=[],r=[],a=[],s=b(t);try{for(s.s();!(e=s.n()).done;){var l=e.value;("script"==l.tag?o:"style"==l.tag?n:"textarea"==l.tag?r:a).push(l)}}catch(US){s.e(US)}finally{s.f()}var p,c=i.length?Object.create(null):null,d=b(i);try{for(d.s();!(p=d.n()).done;){var f=p.value;(c[f.name]||(c[f.name]=[])).push(f)}}catch(US){d.e(US)}finally{d.f()}return xl(function(e,t){var i=e.type.id;if(i==Rb)return uv(e,t,o);if(i==Mb)return uv(e,t,n);if(i==Eb)return uv(e,t,r);if(i==Cb&&a.length){var s,l=e.node,p=l.firstChild,d=p&&hv(p,t);if(d)for(var f=0,h=a;fS)return{parser:O.parser,overlay:[{from:S,to:P}]}}else if(x.type.id==Ab)return{parser:O.parser,overlay:[{from:x.from,to:x.to}]}}}}catch(US){k.e(US)}finally{k.f()}}}}return null})}var mv=94,gv=1,bv=95,vv=96,wv=2,kv=[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],Ov=58,xv=40,Sv=95,Cv=91,Pv=45,Dv=46,Tv=35,Qv=37;function Av(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function Rv(e){return e>=48&&e<=57}var Mv=new Sy(function(e,t){for(var i=!1,o=0,n=0;;n++){var r=e.next;if(!(Av(r)||r==Pv||r==Sv||i&&Rv(r))){i&&e.acceptToken(r==xv?bv:2==o&&t.canShift(wv)?wv:vv);break}!i&&(r!=Pv||n>0)&&(i=!0),o===n&&r==Pv&&o++,e.advance()}}),Ev=new Sy(function(e){if(kv.includes(e.peek(-1))){var t=e.next;(Av(t)||t==Sv||t==Tv||t==Dv||t==Cv||t==Ov||t==Pv)&&e.acceptToken(mv)}}),Fv=new Sy(function(e){if(!kv.includes(e.peek(-1))){var t=e.next;if(t==Qv&&(e.advance(),e.acceptToken(gv)),Av(t)){do{e.advance()}while(Av(e.next));e.acceptToken(gv)}}}),Lv=Nl({"AtKeyword import charset namespace keyframes media supports":fp.definitionKeyword,"from to selector":fp.keyword,NamespaceName:fp.namespace,KeyframeName:fp.labelName,TagName:fp.tagName,ClassName:fp.className,PseudoClassName:fp.constant(fp.className),IdName:fp.labelName,"FeatureName PropertyName":fp.propertyName,AttributeName:fp.attributeName,NumberLiteral:fp.number,KeywordQuery:fp.keyword,UnaryQueryOp:fp.operatorKeyword,"CallTag ValueName":fp.atom,VariableName:fp.variableName,Callee:fp.operatorKeyword,Unit:fp.unit,"UniversalSelector NestingSelector":fp.definitionOperator,MatchOp:fp.compareOperator,"ChildOp SiblingOp, LogicOp":fp.logicOperator,BinOp:fp.arithmeticOperator,Important:fp.modifier,Comment:fp.blockComment,ParenthesizedContent:fp.special(fp.name),ColorLiteral:fp.color,StringLiteral:fp.string,":":fp.punctuation,"PseudoOp #":fp.derefOperator,"; ,":fp.separator,"( )":fp.paren,"[ ]":fp.squareBracket,"{ }":fp.brace}),Bv={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},Iv={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},Gv={__proto__:null,not:128,only:128,from:158,to:160},$v=Vy.deserialize({version:14,states:"7WQYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ed'#EdO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&TQ[O'#EPO&cQ[O'#EROOQS'#Ec'#EcOOQS'#ET'#ETQYQ[OOO&jQXO'#CdO'_QWO'#DaO'dQWO'#EjO'oQ[O'#EjQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'yQ[O'#EWO(eQWO,58{O(mQ[O,59SO$lQ[O,59kO$qQ[O,59oO'yQ[O,59sO'yQ[O,59uO'yQ[O,59vO(xQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)PQWO,59SO)UQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)ZQ`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)cQvO'#CsO*pQtO,5:POOQO'#Cx'#CxO)UQWO'#CwO+UQWO'#CyOOQS'#Eg'#EgOOQO'#Dh'#DhO+ZQ[O'#DoO+iQWO'#EkO&TQ[O'#DmO+wQWO'#DpOOQO'#El'#ElO(hQWO,5:^O+|QpO,5:`OOQS'#Dx'#DxO,UQWO,5:bO,ZQ[O,5:bOOQO'#D{'#D{O,cQWO,5:eO,hQWO,5:kO,pQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,xQ[O'#EYO-VQWO,5;UO-VQWO,5;UOOQP1G.l1G.lO-|QXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)PQWO1G.nO)UQWO1G.nOOQP1G/V1G/VO.ZQ`O1G/ZO.tQXO1G/_O/[QXO1G/aO/rQXO1G/bO0YQWO,59zO0_Q[O'#DOO0fQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0mQpO,59]OOQS,59_,59_O$vQdO,59aO0uQWO1G/kOOQS,59c,59cO0zQ!bO,59eO1SQWO'#DhO1_QWO,5:TO1dQWO,5:ZO&TQ[O,5:VO&TQ[O'#EZO1lQWO,5;VO1wQWO,5:XO'yQ[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2YQWO1G/|O2_QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0pOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EiO3tQWO,59jO3yQtO'#EUO4nQdO'#EfO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsO(hQWO'#E[O5yQdO,5:hOOQS,5:h,5:hO6XQtO'#EXO$vQdO'#EXO7VQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7jQpO<T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#[UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^[[oW#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#XPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^XKeS!RPOy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",tokenizers:[Ev,Fv,Mv,0,1,2,3],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:95,get:function(e){return Bv[e]||-1}},{term:56,get:function(e){return Iv[e]||-1}},{term:96,get:function(e){return Gv[e]||-1}}],tokenPrec:1123}),Vv=null;function zv(){if(!Vv&&"object"==("undefined"==typeof document?"undefined":A(document))&&document.body){var e=document.body.style,t=[],i=new Set;for(var o in e)"cssText"!=o&&"cssFloat"!=o&&"string"==typeof e[o]&&(/[A-Z]/.test(o)&&(o=o.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()})),i.has(o)||(t.push(o),i.add(o)));Vv=t.sort().map(function(e){return{type:"property",label:e}})}return Vv||[]}var Nv=["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(function(e){return{type:"class",label:e}}),Wv=["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(function(e){return{type:"keyword",label:e}}).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(function(e){return{type:"constant",label:e}})),qv=["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(function(e){return{type:"type",label:e}}),jv=/^(\w[\w-]*|-\w[\w-]*|)$/,_v=/^-(-[\w-]*)?$/;function Xv(e,t){var i;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;var o=null===(i=e.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==o?void 0:o.name)&&"var"==t.sliceString(o.from,o.to)}var Zv=new vl,Uv=["Declaration"];function Hv(e){for(var t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function Yv(e,t,i){if(t.to-t.from>4096){var o=Zv.get(t);if(o)return o;var n=[],r=new Set,a=t.cursor(Ks.IncludeAnonymous);if(a.firstChild())do{var s,l=b(Yv(e,a.node,i));try{for(l.s();!(s=l.n()).done;){var p=s.value;r.has(p.label)||(r.add(p.label),n.push(p))}}catch(US){l.e(US)}finally{l.f()}}while(a.nextSibling());return Zv.set(t,n),n}var c=[],d=new Set;return t.cursor().iterate(function(t){var o;if(i(t)&&t.matchContext(Uv)&&":"==(null===(o=t.node.nextSibling)||void 0===o?void 0:o.name)){var n=e.sliceString(t.from,t.to);d.has(n)||(d.add(n),c.push({label:n,type:"variable"}))}}),c}var Kv=function(e){return function(t){var i=t.state,o=t.pos,n=vp(i).resolveInner(o,-1),r=n.type.isError&&n.from==n.to-1&&"-"==i.doc.sliceString(n.from,n.to);if("PropertyName"==n.name||(r||"TagName"==n.name)&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:zv(),validFor:jv};if("ValueName"==n.name)return{from:n.from,options:Wv,validFor:jv};if("PseudoClassName"==n.name)return{from:n.from,options:Nv,validFor:jv};if(e(n)||(t.explicit||r)&&Xv(n,i.doc))return{from:e(n)||r?n.from:o,options:Yv(i.doc,Hv(n),e),validFor:_v};if("TagName"==n.name){for(var a=n.parent;a;a=a.parent)if("Block"==a.name)return{from:n.from,options:zv(),validFor:jv};return{from:n.from,options:qv,validFor:jv}}if(!t.explicit)return null;var s=n.resolve(o),l=s.childBefore(o);return l&&":"==l.name&&"PseudoClassSelector"==s.name?{from:o,options:Nv,validFor:jv}:l&&":"==l.name&&"Declaration"==s.name||"ArgList"==s.name?{from:o,options:Wv,validFor:jv}:"Block"==s.name||"Styles"==s.name?{from:o,options:zv(),validFor:jv}:null}},Jv=Kv(function(e){return"VariableName"==e.name}),ew=bp.define({name:"css",parser:$v.configure({props:[Ip.add({Declaration:Up()}),Jp.add({"Block KeyframeList":ec})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function tw(){return new Qp(ew,ew.data.of({autocomplete:Jv}))}var iw,ow=["_blank","_self","_top","_parent"],nw=["ascii","utf-8","utf-16","latin1","latin1"],rw=["get","post","put","delete"],aw=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],sw=["true","false"],lw={},pw={a:{attrs:{href:null,ping:null,type:null,media:null,target:ow,hreflang:null}},abbr:lw,address:lw,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:lw,aside:lw,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:lw,base:{attrs:{href:null,target:ow}},bdi:lw,bdo:lw,blockquote:{attrs:{cite:null}},body:lw,br:lw,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:aw,formmethod:rw,formnovalidate:["novalidate"],formtarget:ow,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:lw,center:lw,cite:lw,code:lw,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:lw,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:lw,div:lw,dl:lw,dt:lw,em:lw,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:lw,figure:lw,footer:lw,form:{attrs:{action:null,name:null,"accept-charset":nw,autocomplete:["on","off"],enctype:aw,method:rw,novalidate:["novalidate"],target:ow}},h1:lw,h2:lw,h3:lw,h4:lw,h5:lw,h6:lw,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:lw,hgroup:lw,hr:lw,html:{attrs:{manifest:null}},i:lw,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:aw,formmethod:rw,formnovalidate:["novalidate"],formtarget:ow,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:lw,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:lw,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:lw,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:nw,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:lw,noscript:lw,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:lw,param:{attrs:{name:null,value:null}},pre:lw,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:lw,rt:lw,ruby:lw,samp:lw,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:nw}},section:lw,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:lw,source:{attrs:{src:null,type:null,media:null}},span:lw,strong:lw,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:lw,summary:lw,sup:lw,table:lw,tbody:lw,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:lw,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:lw,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:lw,time:{attrs:{datetime:null}},title:lw,tr:lw,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:lw,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:lw},cw={accesskey:null,class:null,contenteditable:sw,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:sw,autocorrect:sw,autocapitalize:sw,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":sw,"aria-autocomplete":["inline","list","both","none"],"aria-busy":sw,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":sw,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":sw,"aria-hidden":sw,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":sw,"aria-multiselectable":sw,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":sw,"aria-relevant":null,"aria-required":sw,"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},dw="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(function(e){return"on"+e}),fw=b(dw);try{for(fw.s();!(iw=fw.n()).done;){var hw=iw.value;cw[hw]=null}}catch(US){fw.e(US)}finally{fw.f()}var uw=E(function e(t,i){R(this,e),this.tags=Object.assign(Object.assign({},pw),t),this.globalAttrs=Object.assign(Object.assign({},cw),i),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)});function yw(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length;if(!t)return"";var o=t.firstChild,n=o&&o.getChild("TagName");return n?e.sliceString(n.from,Math.min(n.to,i)):""}function mw(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=e.parent;i;i=i.parent)if("Element"==i.name){if(!t)return i;t=!1}return null}function gw(e,t,i){var o=i.tags[yw(e,mw(t,!0))];return(null==o?void 0:o.children)||i.allTags}function bw(e,t){for(var i=[],o=t;o=mw(o);){var n=yw(e,o);if(n&&"CloseTag"==o.lastChild.name)break;n&&i.indexOf(n)<0&&("EndTag"==t.name||t.from>=o.firstChild.to)&&i.push(n)}return i}uw.default=new uw;var vw=/^[:\-\.\w\u00b7-\uffff]*$/;function ww(e,t,i,o,n){var r=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:o,to:n,options:gw(e.doc,i,t).map(function(e){return{label:e,type:"type"}}).concat(bw(e.doc,i).map(function(e,t){return{label:"/"+e,apply:"/"+e+r,type:"type",boost:99-t}})),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function kw(e,t,i,o){var n=/\s*>/.test(e.sliceDoc(o,o+5))?"":">";return{from:i,to:o,options:bw(e.doc,t).map(function(e,t){return{label:e,apply:e+n,type:"type",boost:99-t}}),validFor:vw}}function Ow(e,t,i,o){var n,r=[],a=0,s=b(gw(e.doc,i,t));try{for(s.s();!(n=s.n()).done;){var l=n.value;r.push({label:"<"+l,type:"type"})}}catch(US){s.e(US)}finally{s.f()}var p,c=b(bw(e.doc,i));try{for(c.s();!(p=c.n()).done;){var d=p.value;r.push({label:"",type:"type",boost:99-a++})}}catch(US){c.e(US)}finally{c.f()}return{from:o,to:o,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function xw(e,t,i,o,n){var r=mw(i),a=r?t.tags[yw(e.doc,r)]:null,s=a&&a.attrs?Object.keys(a.attrs):[];return{from:o,to:n,options:(a&&!1===a.globalAttrs?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map(function(e){return{label:e,type:"property"}}),validFor:vw}}function Sw(e,t,i,o,n){var r,a=null===(r=i.parent)||void 0===r?void 0:r.getChild("AttributeName"),s=[],l=void 0;if(a){var p=e.sliceDoc(a.from,a.to),c=t.globalAttrs[p];if(!c){var d=mw(i),f=d?t.tags[yw(e.doc,d)]:null;c=(null==f?void 0:f.attrs)&&f.attrs[p]}if(c){var h=e.sliceDoc(o,n).toLowerCase(),u='"',y='"';/^['"]/.test(h)?(l='"'==h[0]?/^[^"]*$/:/^[^']*$/,u="",y=e.sliceDoc(n,n+1)==h[0]?"":h[0],h=h.slice(1),o++):l=/^[^\s<>='"]*$/;var m,g=b(c);try{for(g.s();!(m=g.n()).done;){var v=m.value;s.push({label:v,apply:u+v+y,type:"constant"})}}catch(US){g.e(US)}finally{g.f()}}}return{from:o,to:n,options:s,validFor:l}}function Cw(e,t){for(var i,o=t.state,n=t.pos,r=vp(o).resolveInner(n),a=r.resolve(n,-1),s=n;r==a&&(i=a.childBefore(s));){var l=i.lastChild;if(!l||!l.type.isError||l.from0&&void 0!==arguments[0]?arguments[0]:{},i="";!1===t.matchClosingTags&&(i="noMatch"),!0===t.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(e=yv((t.nestedLanguages||[]).concat(Dw),(t.nestedAttributes||[]).concat(Tw)));var o=e||i?Qw.configure({dialect:i,wrap:e}):Qw;return new Qp(o,[Qw.data.of({autocomplete:Pw(t)}),!1!==t.autoCloseTags?Mw:[],Am().support,tw().support])}var Rw=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Mw=fa.inputHandler.of(function(e,t,i,o){if(e.composing||e.state.readOnly||t!=i||">"!=o&&"/"!=o||!Qw.isActiveAt(e.state,t,-1))return!1;var n=e.state,r=n.changeByRange(function(t){var i,r,a,s,l=t.head,p=vp(n).resolveInner(l,-1);if("TagName"!=p.name&&"StartTag"!=p.name||(p=p.parent),">"==o&&"OpenTag"==p.name){if("CloseTag"!=(null===(r=null===(i=p.parent)||void 0===i?void 0:i.lastChild)||void 0===r?void 0:r.name)&&(s=yw(n.doc,p.parent,l))&&!Rw.has(s)){var c=">"===e.state.doc.sliceString(l,l+1),d="".concat(c?"":">","");return{range:me.cursor(l+1),changes:{from:l+(c?1:0),insert:d}}}}else if("/"==o&&"OpenTag"==p.name){var f=p.parent,h=null==f?void 0:f.parent;if(f.from==l-1&&"CloseTag"!=(null===(a=h.lastChild)||void 0===a?void 0:a.name)&&(s=yw(n.doc,h,l))&&!Rw.has(s)){var u=">"===e.state.doc.sliceString(l,l+1),y="/".concat(s).concat(u?"":">"),m=l+y.length+(u?1:0);return{range:me.cursor(m),changes:{from:l,insert:y}}}}return{range:t}});return!r.changes.empty&&(e.dispatch(r,{userEvent:"input.type",scrollIntoView:!0}),!0)}),Ew=up({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),Fw=new Zs,Lw=Wg.configure({props:[Jp.add(function(e){return!e.is("Block")||e.is("Document")||null!=Bw(e)?void 0:function(e,t){return{from:t.doc.lineAt(e.from).to,to:e.to}}}),Fw.add(Bw),Ip.add({Document:function(){return null}}),hp.add({Document:Ew})]});function Bw(e){var t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Iw(e,t){for(var i=e;;){var o=i.nextSibling,n=void 0;if(!o||null!=(n=Bw(o.type))&&n<=t)break;i=o}return i.to}var Gw=Kp.of(function(e,t,i){for(var o=vp(e).resolveInner(i,-1);o&&!(o.fromi)return{from:i,to:r}}}return null});function $w(e){return new mp(Ew,e,[Gw],"markdown")}var Vw=$w(Lw),zw=Lw.configure([tb,nb,ob,rb]),Nw=$w(zw);function Ww(e,t){return function(i){if(i&&e){var o=null;if(i=/\S*/.exec(i)[0],(o="function"==typeof e?e(i):Ap.matchLanguageName(e,i,!0))instanceof Ap)return o.support?o.support.language.parser:Op.getSkippingParser(o.load());if(o)return o.parser}return t?t.parser:null}}var qw=function(){function e(t,i,o,n,r,a,s){R(this,e),this.node=t,this.from=i,this.to=o,this.spaceBefore=n,this.spaceAfter=r,this.type=a,this.item=s}return E(e,[{key:"blank",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;i.length0;o--)i+=" ";return i+(t?this.spaceAfter:"")}},{key:"marker",value:function(e,t){var i="OrderedList"==this.node.name?String(+_w(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}}]),e}();function jw(e,t){for(var i=[],o=e;o&&"Document"!=o.name;o=o.parent)"ListItem"!=o.name&&"Blockquote"!=o.name&&"FencedCode"!=o.name||i.push(o);for(var n=[],r=i.length-1;r>=0;r--){var a=i[r],s=void 0,l=t.lineAt(a.from),p=a.from-l.from;if("FencedCode"==a.name)n.push(new qw(a,p,p,"","","",null));else if("Blockquote"==a.name&&(s=/^[ \t]*>( ?)/.exec(l.text.slice(p))))n.push(new qw(a,p,p+s[0].length,"",s[1],">",null));else if("ListItem"==a.name&&"OrderedList"==a.parent.name&&(s=/^([ \t]*)\d+([.)])([ \t]*)/.exec(l.text.slice(p)))){var c=s[3],d=s[0].length;c.length>=4&&(c=c.slice(0,c.length-4),d-=4),n.push(new qw(a.parent,p,p+d,s[1],c,s[2],a))}else if("ListItem"==a.name&&"BulletList"==a.parent.name&&(s=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(l.text.slice(p)))){var f=s[4],h=s[0].length;f.length>4&&(f=f.slice(0,f.length-4),h-=4);var u=s[2];s[3]&&(u+=s[3].replace(/[xX]/," ")),n.push(new qw(a.parent,p,p+h,s[1],f,u,a))}}return n}function _w(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Xw(e,t,i){for(var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=-1,r=e;;){if("ListItem"==r.name){var a=_w(r,t),s=+a[2];if(n>=0){if(s!=n+1)return;i.push({from:r.from+a[1].length,to:r.from+a[0].length,insert:String(n+2+o)})}n=s}var l=r.nextSibling;if(!l)break;r=l}}var Zw=function(e){var t=e.state,i=e.dispatch,o=vp(t),n=t.doc,r=null,a=t.changeByRange(function(e){if(!e.empty||!Nw.isActiveAt(t,e.from))return r={range:e};for(var i=e.from,a=n.lineAt(i),s=jw(o.resolveInner(i,-1),n);s.length&&s[s.length-1].from>i-a.from;)s.pop();if(!s.length)return r={range:e};var l=s[s.length-1];if(l.to-l.spaceAfter.length>i-a.from)return r={range:e};var p=i>=l.to-l.spaceAfter.length&&!/\S/.test(a.text.slice(l.to));if(l.item&&p){if(l.node.firstChild.to>=i||a.from>0&&!/[^\s>]/.test(n.lineAt(a.from-1).text)){var c,d=s.length>1?s[s.length-2]:null,f="";d&&d.item?(c=a.from+d.from,f=d.marker(n,1)):c=a.from+(d?d.to:0);var h=[{from:c,to:i,insert:f}];return"OrderedList"==l.node.name&&Xw(l.item,n,h,-2),d&&"OrderedList"==d.node.name&&Xw(d.item,n,h),{range:me.cursor(c+f.length),changes:h}}for(var u="",y=0,m=s.length-2;y<=m;y++)u+=s[y].blank(y\s*$/.exec(g.text);if(b&&b.index==l.from){var v=t.changes([{from:g.from+b.index,to:g.to},{from:a.from+l.from,to:a.to}]);return{range:e.map(v),changes:v}}}var w=[];"OrderedList"==l.node.name&&Xw(l.item,n,w);var k=l.item&&l.item.from]*/.exec(a.text)[0].length>=l.to)for(var x=0,S=s.length-1;x<=S;x++)O+=x!=S||k?s[x].blank(xa.from&&/\s/.test(a.text.charAt(C-a.from-1));)C--;return O=t.lineBreak+O,w.push({from:C,to:i,insert:O}),{range:me.cursor(C+O.length),changes:w}});return!r&&(i(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)};function Uw(e){return"QuoteMark"==e.name||"ListMark"==e.name}function Hw(e,t){var i,o=e.resolveInner(t,-1),n=t;for(Uw(o)&&(n=o.from,o=o.parent);i=o.childBefore(n);)if(Uw(i))n=i.from;else{if("OrderedList"!=i.name&&"BulletList"!=i.name)break;n=(o=i.lastChild).to}return o}var Yw=function(e){var t=e.state,i=e.dispatch,o=vp(t),n=null,r=t.changeByRange(function(e){var i=e.from,r=t.doc;if(e.empty&&Nw.isActiveAt(t,e.from)){var a=r.lineAt(i),s=jw(Hw(o,i),r);if(s.length){var l=s[s.length-1],p=l.to-l.spaceAfter.length+(l.spaceAfter?1:0);if(i-a.from>p&&!/\S/.test(a.text.slice(p,i-a.from)))return{range:me.cursor(a.from+p),changes:{from:a.from+p,to:i}};if(i-a.from==p&&(!l.item||a.from<=l.item.from||!/\S/.test(a.text.slice(0,l.to)))){var c=a.from+l.from;if(l.item&&l.node.from0&&void 0!==arguments[0]?arguments[0]:{},t=e.codeLanguages,i=e.defaultCodeLanguage,o=e.addKeymap,n=void 0===o||o,r=e.base,a=(void 0===r?Vw:r).parser;if(!(a instanceof ug))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");var s,l=e.extensions?[e.extensions]:[],p=[Jw.support];i instanceof Qp?(p.push(i.support),s=i.language):i&&(s=i);var c=t||s?Ww(t,s):void 0;return l.push(jg({codeParser:c,htmlParser:Jw.language.parser})),n&&p.push(Qe.high(ka.of(Kw))),new Qp($w(a.configure(l)),p)}function tk(){return["red","orange","yellow","green","blue","indigo","violet"]}To.fromClass(function(){function e(t){R(this,e),p(this,"decorations",void 0),this.decorations=this.getBracketDecorations(t)}return E(e,[{key:"update",value:function(e){(e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.getBracketDecorations(e.view))}},{key:"getBracketDecorations",value:function(e){for(var t=e.state.doc,i=[],o=[],n=tk(),r=0;r act , lbl :> act , …}] represents an action menu with label name and with"},{label:"ActionMenuBox",type:"keyword",info:"System`ActionMenuBox"},{label:"ActionMenuBoxOptions",type:"keyword",info:"ActionMenuBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Action"},{label:"Activate",type:"keyword",info:"Activate[expr] replaces all instances of Inactive[f] in expr with f.Activate[expr, patt] replaces on"},{label:"Active",type:"keyword",info:"Active is an option for ButtonBox, Cell, and Notebook that specifies whether a button should be acti"},{label:"ActiveClassification",type:"keyword",info:"ActiveClassification[f, {conf , conf , …}] gives an object representing the result of active classif"},{label:"ActiveClassificationObject",type:"keyword",info:"ActiveClassificationObject[…] represents the result of an ActiveClassification process."},{label:"ActiveItem",type:"keyword",info:"System`ActiveItem"},{label:"ActivePrediction",type:"keyword",info:"ActivePrediction[f, {conf , conf , …}] gives an object representing the result of active prediction "},{label:"ActivePredictionObject",type:"keyword",info:"ActivePredictionObject[…] represents the result of an ActivePrediction process."},{label:"ActiveStyle",type:"keyword",info:"ActiveStyle is an option for Hyperlink and related constructs that specifies styles to add when the "},{label:"AcyclicGraphQ",type:"keyword",info:"AcyclicGraphQ[g] yields True if the graph g is an acyclic graph and False otherwise."},{label:"AddOnHelpPath",type:"keyword",info:"AddOnHelpPath is a global option that specifies which directories are searched for additional help f"},{label:"AddSides",type:"keyword",info:"AddSides[rel, x] adds x to each side of the equation or inequality rel.AddSides[rel , rel ] adds the"},{label:"AddTo",type:"keyword",info:"x += dx adds dx to x and returns the new value of x. "},{label:"AddToSearchIndex",type:"keyword",info:"AddToSearchIndex[obj, content] adds the specified content to the existing search index object obj. A"},{label:"AddUsers",type:"keyword",info:"AddUsers[group, {user , …}] adds the users user to the permissions group group. \n "},{label:"AdjacencyGraph",type:"keyword",info:"AdjacencyGraph[amat] gives the graph with adjacency matrix amat.AdjacencyGraph[{v , v , …}, amat] gi"},{label:"AdjacencyList",type:"keyword",info:"AdjacencyList[g, v] gives a list of vertices adjacent to vertex v.AdjacencyList[g, patt] gives a lis"},{label:"AdjacencyMatrix",type:"keyword",info:"AdjacencyMatrix[g] gives the vertex–vertex adjacency matrix of the graph g.AdjacencyMatrix[{v  w, …"},{label:"AdjacentMeshCells",type:"keyword",info:"AdjacentMeshCells[mr, cellspec, d] gives cells of dimension d adjacent to the cell specified by cell"},{label:"Adjugate",type:"keyword",info:"Adjugate[m] gives the adjugate of a square matrix m."},{label:"AdjustmentBox",type:"keyword",info:"AdjustmentBox[box, opts] is a low-level box construct which displays with the placement of box adjus"},{label:"AdjustmentBoxOptions",type:"keyword",info:"AdjustmentBoxOptions is an option that specifies settings for AdjustmentBox objects."},{label:"AdjustTimeSeriesForecast",type:"keyword",info:"AdjustTimeSeriesForecast[tproc, forecast, newdata] adjusts forecast using new observations newdata a"},{label:"AdministrativeDivisionData",type:"keyword",info:"AdministrativeDivisionData[entity, property] gives the value of the specified property for the admin"},{label:"AffineHalfSpace",type:"keyword",info:"AffineHalfSpace[{p , …, p }, w] represents AffineSpace[{p , …, p }] extended in the directio"},{label:"AffineSpace",type:"keyword",info:"AffineSpace[{p , …, p }] represents the affine space passing through the points p .AffineSpace[p"},{label:"AffineStateSpaceModel",type:"keyword",info:"AffineStateSpaceModel[{a, b, c, d}, x] represents the affine state-space model x ' (t) ï\\[PlusMinus] a(x(t)) + b"},{label:"AffineTransform",type:"keyword",info:"AffineTransform[m] gives a TransformationFunction that represents an affine transform that maps r to"},{label:"After",type:"keyword",info:"After is a symbol that represents the region after an object for purposes of placement."},{label:"AggregatedEntityClass",type:"keyword",info:'AggregatedEntityClass[class, "prop"  f] represents an entity class containing a single entity with '},{label:"AggregationLayer",type:"keyword",info:"AggregationLayer[f] represents a layer that aggregates an array of arbitrary rank into a vector, usi"},{label:"AircraftData",type:"keyword",info:"AircraftData[entity, property] gives the value of the specified property for the aircraft entity.Air"},{label:"AirportData",type:"keyword",info:"AirportData[entity, property] gives the value of the specified property for the airport entity.Airpo"},{label:"AirPressureData",type:"keyword",info:"AirPressureData[] gives the most recent measurement for air pressure near the current location.AirPr"},{label:"AirSoundAttenuation",type:"keyword",info:"AirSoundAttenuation[spec, frequency] returns the sound attenuation coefficient in moist air for the "},{label:"AirTemperatureData",type:"keyword",info:"AirTemperatureData[] gives the most recent measurement for air temperature near the current location"},{label:"AiryAi",type:"keyword",info:"AiryAi[z] gives the Airy function Ai(z). "},{label:"AiryAiPrime",type:"keyword",info:" â€.b2\nAiryAiPrime[z] gives the derivative of "},{label:"AiryAiZero",type:"keyword",info:" th "},{label:"AiryBi",type:"keyword",info:"AiryBi[z] gives the Airy function Bi(z). "},{label:"AiryBiPrime",type:"keyword",info:" â€.b2\nAiryBiPrime[z] gives the derivative of "},{label:"AiryBiZero",type:"keyword",info:" th "},{label:"AlgebraicIntegerQ",type:"keyword",info:"AlgebraicIntegerQ[a] yields True if a is an algebraic integer, and yields False otherwise."},{label:"AlgebraicNumber",type:"keyword",info:" "},{label:"AlgebraicNumberDenominator",type:"keyword",info:"AlgebraicNumberDenominator[a] gives the smallest positive integer n such that n a is an algebraic in"},{label:"AlgebraicNumberNorm",type:"keyword",info:"AlgebraicNumberNorm[a] gives the norm of the algebraic number a."},{label:"AlgebraicNumberPolynomial",type:"keyword",info:"AlgebraicNumberPolynomial[a, x] gives the polynomial in x corresponding to the AlgebraicNumber objec"},{label:"AlgebraicNumberTrace",type:"keyword",info:"AlgebraicNumberTrace[a] gives the trace of the algebraic number a."},{label:"AlgebraicRules",type:"keyword",info:"System`AlgebraicRules"},{label:"AlgebraicRulesData",type:"keyword",info:"AlgebraicRulesData is an object returned by AlgebraicRules. Its OutputForm appears to be a list of r"},{label:"Algebraics",type:"keyword",info:"Algebraics represents the domain of algebraic numbers, as in x ∈ Algebraics. "},{label:"AlgebraicUnitQ",type:"keyword",info:"AlgebraicUnitQ[a] yields True if a is an algebraic unit, and yields False otherwise."},{label:"Alignment",type:"keyword",info:"Alignment is an option which specifies how the contents of a displayed object should be aligned with"},{label:"AlignmentMarker",type:"keyword",info:"System`AlignmentMarker"},{label:"AlignmentPoint",type:"keyword",info:"AlignmentPoint is an option which specifies how objects should by default be aligned when they appea"},{label:"All",type:"keyword",info:"All is a setting used for certain options. In Part and related functions, All specifies all parts at"},{label:"AllowAdultContent",type:"keyword",info:"System`AllowAdultContent"},{label:"AllowedCloudExtraParameters",type:"keyword",info:"AllowedCloudExtraParameters is an option for APIFunction and related functions that specifies whethe"},{label:"AllowedCloudParameterExtensions",type:"keyword",info:"AllowedCloudParameterExtensions is an option for APIFunction and related functions that specifies wh"},{label:"AllowedDimensions",type:"keyword",info:"AllowedDimensions is an option for Grid and related functions that specifies the allowed minimum and"},{label:"AllowedFrequencyRange",type:"keyword",info:"AllowedFrequencyRange is an option for audio and signal processing functions that specifies the rang"},{label:"AllowedHeads",type:"keyword",info:"AllowedHeads is an option that specifies the heads of subexpressions into which a function may desce"},{label:"AllowGroupClose",type:"keyword",info:"AllowGroupClose is an option for Cell that specifies whether a cell group can be closed normally."},{label:"AllowIncomplete",type:"keyword",info:"System`AllowIncomplete"},{label:"AllowInlineCells",type:"keyword",info:"AllowInlineCells is an option for SelectedCells, Cell, and related constructs that specifies whether"},{label:"AllowKernelInitialization",type:"keyword",info:"System`AllowKernelInitialization"},{label:"AllowLooseGrammar",type:"keyword",info:"AllowLooseGrammar is an option for GrammarRules and related functions that specifies whether grammat"},{label:"AllowReverseGroupClose",type:"keyword",info:"AllowReverseGroupClose is an option for Cell that specifies whether a cell group can be reverse clos"},{label:"AllowScriptLevelChange",type:"keyword",info:"AllowScriptLevelChange is an option for fractions and grids that controls whether certain operators,"},{label:"AllowVersionUpdate",type:"keyword",info:"AllowVersionUpdate is an option for PacletInstall and PacletInstallSubmit that specifies whether a n"},{label:"AllTrue",type:"keyword",info:"AllTrue[{e , e , …}, test] yields True if test[e ] is True for all of the e .AllTrue[expr, test, lev"},{label:"Alphabet",type:"keyword",info:"Alphabet[] gives a list of the lowercase letters a through z in the English alphabet.Alphabet[type] "},{label:"AlphabeticOrder",type:"keyword",info:'AlphabeticOrder[string , string ] gives 1 if "string " appears before "string " in alphabetical orde'},{label:"AlphabeticSort",type:"keyword",info:"AlphabeticSort[list] sorts the elements of list into alphabetical order.AlphabeticSort[list, lang] s"},{label:"AlphaChannel",type:"keyword",info:"AlphaChannel[color] returns the opacity of color.AlphaChannel[image] returns the alpha channel of im"},{label:"AlternateImage",type:"keyword",info:"AlternateImage is an option to CDFInformation that specifies an image that should be used if the plu"},{label:"AlternatingFactorial",type:"keyword",info:"AlternatingFactorial[n] gives the alternating factorial a(n)."},{label:"AlternatingGroup",type:"keyword",info:"AlternatingGroup[n] represents the alternating group of degree n."},{label:"AlternativeHypothesis",type:"keyword",info:"AlternativeHypothesis is an option for hypothesis testing functions like LocationTest that specifies"},{label:"Alternatives",type:"keyword",info:"p | p | … is a pattern object that represents any of the patterns p . \n 1 2 "},{label:"AltitudeMethod",type:"keyword",info:"AltitudeMethod is an option for SunPosition, MoonPosition, and related functions that determines whe"},{label:"AmbientLight",type:"keyword",info:"AmbientLight[col] is a three-dimensional graphics directive that specifies the uniform ambient light"},{label:"AmbiguityFunction",type:"keyword",info:"AmbiguityFunction is an option for SemanticInterpretation, Interpreter, and related functions that s"},{label:"AmbiguityList",type:"keyword",info:"AmbiguityList[{expr , expr , …}] represents possible results derived from an ambiguous semantic inte"},{label:"Analytic",type:"keyword",info:"Analytic is an option for Limit and Series. With Analytic -> True, unrecognized functions are treate"},{label:"AnatomyData",type:"keyword",info:"AnatomyData[entity, property] gives the value of the specified property for the anatomical structure"},{label:"AnatomyForm",type:"keyword",info:"AnatomyForm[g] is a graphics directive used in AnatomyPlot3D that specifies how anatomy entity‐based"},{label:"AnatomyPlot3D",type:"keyword",info:"AnatomyPlot3D[primitives, options] represents a three-dimensional graphical image that works with an"},{label:"AnatomySkinStyle",type:"keyword",info:"AnatomySkinStyle is an option of AnatomyPlot3D that specifies what style to use for automatically in"},{label:"AnatomyStyling",type:"keyword",info:"AnatomyStyling[g] is a graphics directive used in AnatomyPlot3D that specifies how anatomy entity‐ba"},{label:"AnchoredSearch",type:"keyword",info:"AnchoredSearch is an option for Find and FindList that specifies whether the text searched for must "},{label:"And",type:"keyword",info:"e && e && … is the logical AND function. It evaluates its arguments in order, giving False immedia"},{label:"AndersonDarlingTest",type:"keyword",info:"AndersonDarlingTest[data] tests whether data is normally distributed using the Anderson–Darling test"},{label:"AngerJ",type:"keyword",info:" μ\nA"},{label:"AngleBisector",type:"keyword",info:"AngleBisector[{q , p, q }] gives the bisector of the interior angle at p formed by the triangle with"},{label:"AngleBracket",type:"keyword",info:"AngleBracket[x, y, …] displays as 〈 x, y, … 〉."},{label:"AnglePath",type:"keyword",info:"AnglePath[{θ , θ , θ , …}] gives the list of 2D coordinates corresponding to a path that starts at {"},{label:"AnglePath3D",type:"keyword",info:"AnglePath3D[{{Î\\[PlusMinus] , Î.b2 , Î.b3 }, {Î\\[PlusMinus] , Î.b2 , Î.b3 }, …}] gives the list of 3D coordinates of a path of an object"},{label:"AngleVector",type:"keyword",info:"AngleVector[θ] gives the list representing the 2D unit vector at angle θ relative to the x axis.Angl"},{label:"AngularGauge",type:"keyword",info:"AngularGauge[value] draws a gauge showing value in the range 0 to 1.AngularGauge[value, {min, max}] "},{label:"Animate",type:"keyword",info:"Animate[expr, {u, u , u }] generates an animation of expr in which u varies continuously from u "},{label:"AnimatedImage",type:"keyword",info:"AnimatedImage[{image , image , …}] generates an animation whose frames are the successive image . An"},{label:"AnimationCycleOffset",type:"keyword",info:"AnimationCycleOffset is an option for cells that specifies the relative position of the next graphic"},{label:"AnimationCycleRepetitions",type:"keyword",info:"AnimationCycleRepetitions is an option for cells that specifies the number of times a given animatio"},{label:"AnimationDirection",type:"keyword",info:"AnimationDirection is an option which specifies the direction to run an animation. "},{label:"AnimationDisplayTime",type:"keyword",info:"AnimationDisplayTime is an option for Cell that specifies the minimum time in seconds for which a ce"},{label:"AnimationRate",type:"keyword",info:"AnimationRate is an option for Animate and Animator that specifies at what rate an animation should "},{label:"AnimationRepetitions",type:"keyword",info:"AnimationRepetitions is an option to Animate and related functions that specifies how many times the"},{label:"AnimationRunning",type:"keyword",info:"AnimationRunning is an option to Animate and related functions that specifies whether the animation "},{label:"AnimationRunTime",type:"keyword",info:"AnimationRunTime is an option to Animator and related functions that indicates how long the animatio"},{label:"AnimationTimeIndex",type:"keyword",info:"AnimationTimeIndex is an option to Animator and related functions that specifies the current time in"},{label:"AnimationVideo",type:"keyword",info:"AnimationVideo[fexpr, {u, u , u }] generates a video of fexpr in which u varies from u to u "},{label:"Animator",type:"keyword",info:"Animator[u] represents an object that displays with the value of u being continually increased from "},{label:"AnimatorBox",type:"keyword",info:"System`AnimatorBox"},{label:"AnimatorBoxOptions",type:"keyword",info:"AnimatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Animator"},{label:"AnimatorElements",type:"keyword",info:"System`AnimatorElements"},{label:"Annotate",type:"keyword",info:"Annotate[obj, key  value] sets the annotation key  value for the object obj.Annotate[{obj, itemspe"},{label:"Annotation",type:"keyword",info:'Annotation[expr, data] represents an expression expr, with annotation data.Annotation[expr, data, "t'},{label:"AnnotationDelete",type:"keyword",info:"AnnotationDelete[obj] deletes all annotations of the object obj.AnnotationDelete[{obj, itemspec}] de"},{label:"AnnotationKeys",type:"keyword",info:"AnnotationKeys[obj] lists all annotation keys available for the object obj.AnnotationKeys[{obj, item"},{label:"AnnotationRules",type:"keyword",info:"AnnotationRules is an option that allows specification of annotations to objects and items in object"},{label:"AnnotationValue",type:"keyword",info:"AnnotationValue[obj, key] gives the annotation value associated with key for the object obj.Annotati"},{label:"Annuity",type:"keyword",info:"Annuity[p, t] represents an annuity of fixed payments p made over t periods.Annuity[p, t, q] represe"},{label:"AnnuityDue",type:"keyword",info:"AnnuityDue[p, t] represents an annuity due of fixed payments p made over t periods.AnnuityDue[p, t, "},{label:"Annulus",type:"keyword",info:"Annulus[{x, y}, {r , r }] represents an annulus centered at {x, y} with inner radius r "},{label:"AnomalyDetection",type:"keyword",info:"AnomalyDetection[{example , example , …}] generates an AnomalyDetectorFunction[…] based on the examp"},{label:"AnomalyDetector",type:"keyword",info:"AnomalyDetector is an option for functions such as Classify that specifies an anomaly detector for t"},{label:"AnomalyDetectorFunction",type:"keyword",info:"AnomalyDetectorFunction[…] represents a function generated by AnomalyDetection for detecting whether"},{label:"Anonymous",type:"keyword",info:"Anonymous represents an option or other value that indicates the absence of a name."},{label:"Antialiasing",type:"keyword",info:"Antialiasing is an option that specifies whether antialiasing should be done."},{label:"Antihermitian",type:"keyword",info:"Antihermitian[{1, 2}] represents the symmetry of an antihermitian matrix."},{label:"AntihermitianMatrixQ",type:"keyword",info:"AntihermitianMatrixQ[m] gives True if m is explicitly antihermitian, and False otherwise."},{label:"Antisymmetric",type:"keyword",info:"Antisymmetric[{s , …, s }] represents the symmetry of a tensor that is antisymmetric in the slots s "},{label:"AntisymmetricMatrixQ",type:"keyword",info:"AntisymmetricMatrixQ[m] gives True if m is explicitly antisymmetric, and False otherwise."},{label:"Antonyms",type:"keyword",info:'Antonyms["word"] returns the antonyms associated with the specified word.'},{label:"AnyOrder",type:"keyword",info:"AnyOrder[p , p , …] is a grammar rules pattern object that represents a sequence of elements matchin"},{label:"AnySubset",type:"keyword",info:"AnySubset[{c , c , …}] represents an element in an interpreter or form that accepts any subset of th"},{label:"AnyTrue",type:"keyword",info:"AnyTrue[{e , e , …}, test] yields True if test[e ] is True for any of the e .AnyTrue[expr, test, lev"},{label:"Apart",type:"keyword",info:"Apart[expr] rewrites a rational expression as a sum of terms with minimal denominators. Apart[expr, "},{label:"ApartSquareFree",type:"keyword",info:"ApartSquareFree[expr] rewrites a rational expression as a sum of terms whose denominators are powers"},{label:"APIFunction",type:"keyword",info:"APIFunction[{name  type , name  type , …}, fun] represents an API with parameters name that eva"},{label:"Appearance",type:"keyword",info:"Appearance is an option for displayed objects such as Button and Slider that specifies the general t"},{label:"AppearanceElements",type:"keyword",info:"AppearanceElements is an option for functions like Manipulate that specifies what elements should be"},{label:"AppearanceRules",type:"keyword",info:"AppearanceRules is an option for form and page generation functions that specifies the overall appea"},{label:"AppellF1",type:"keyword",info:"AppellF1[a, b , b , c, x, y] is the Appell hypergeometric function of two variables F (a ; b , b ;"},{label:"Append",type:"keyword",info:"Append[expr, elem] gives expr with elem appended. Append[elem] represents an operator form of Append"},{label:"AppendCheck",type:"keyword",info:"System`AppendCheck"},{label:"AppendLayer",type:"keyword",info:"AppendLayer[] represents a net layer that takes an input array and appends another array to it."},{label:"AppendTo",type:"keyword",info:"AppendTo[x, elem] appends elem to the value of x, and resets x to the result. "},{label:"Application",type:"keyword",info:"f ï”\\[Degree] g or Application[f, g] represents the formal application of f to g."},{label:"ApplicationIdentificationKey",type:"keyword",info:"System`ApplicationIdentificationKey"},{label:"Apply",type:"keyword",info:"f @@ expr or Apply[f, expr] replaces the head of expr by f. f@@@expr or Apply[f, expr, {1}] replaces"},{label:"ApplySides",type:"keyword",info:"ApplySides[f, rel] applies f to each side of the equation or inequality rel."},{label:"ApplyTo",type:"keyword",info:"ApplyTo[x, f] or x//= f computes f[x] and resets x to the result."},{label:"ArcCos",type:"keyword",info:" -1\nArcCos[z] gives the arc cosine cos (z) of the complex number z"},{label:"ArcCosh",type:"keyword",info:" -1\nArcCosh[z] gives the inverse hyperbolic cosine"},{label:"ArcCot",type:"keyword",info:" -1\nArcCot[z] gives the arc cotangent cot (z) of the complex nu"},{label:"ArcCoth",type:"keyword",info:" -1\nArcCoth[z] gives the inverse hyperbolic cot"},{label:"ArcCsc",type:"keyword",info:" -1\nArcCsc[z] gives the arc cosecant csc (z) of the complex numb"},{label:"ArcCsch",type:"keyword",info:" -1\nArcCsch[z] gives the inverse hyperbolic cose"},{label:"ArcCurvature",type:"keyword",info:"ArcCurvature[{x , …, x }, t] gives the curvature of the parametrized curve whose Cartesian coordinat"},{label:"ARCHProcess",type:"keyword",info:"ARCHProcess[κ, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }] represents an autoregressive conditionally heteroscedastic process of or"},{label:"ArcLength",type:"keyword",info:"ArcLength[reg] gives the length of the one-dimensional region reg.ArcLength[{x , …, x }, {t, t , t"},{label:"ArcSec",type:"keyword",info:" -1\nArcSec[z] gives the arc secant sec (z) of the complex number z"},{label:"ArcSech",type:"keyword",info:" -1\nArcSech[z] gives the inverse hyperbolic secant"},{label:"ArcSin",type:"keyword",info:" -1\nArcSin[z] gives the arc sine sin (z) of the complex number z. "},{label:"ArcSinDistribution",type:"keyword",info:"ArcSinDistribution[{x , x }] represents the arc sine distribution supported between x and x "},{label:"ArcSinh",type:"keyword",info:" -1\nArcSinh[z] gives the inverse hyperbolic sine sin"},{label:"ArcTan",type:"keyword",info:" -1 "},{label:"ArcTanh",type:"keyword",info:" -1\nArcTanh[z] gives the inverse hyperbolic tange"},{label:"Area",type:"keyword",info:"Area[reg] gives the area of the two-dimensional region reg.Area[{x , …, x }, {s, s , s }, {t, t "},{label:"Arg",type:"keyword",info:"Arg[z] gives the argument of the complex number z. "},{label:"ArgMax",type:"keyword",info:"ArgMax[f, x] gives a position x at which f is maximized.ArgMax[f, {x, y, …}] gives a position {x "},{label:"ArgMin",type:"keyword",info:"ArgMin[f, x] gives a position x at which f is minimized.ArgMin[f, {x, y, …}] gives a position {x "},{label:"ArgumentCountQ",type:"keyword",info:"ArgumentCountQ[head, len, min, max] tests whether the number len of arguments of a function head is "},{label:"ArgumentsOptions",type:"keyword",info:"ArgumentsOptions[f[args], n] tries to separate args into a list of n positional arguments followed b"},{label:"ARIMAProcess",type:"keyword",info:" "},{label:"ArithmeticGeometricMean",type:"keyword",info:"ArithmeticGeometricMean[a, b] gives the arithmetic‐geometric mean of a and b. "},{label:"ARMAProcess",type:"keyword",info:"ARMAProcess[{a , …, a }, {b , …, b }, v] represents a weakly stationary autoregressive moving-averag"},{label:"Around",type:"keyword",info:"Around[x, Î.b4] represents an approximate number or quantity with a value around x and an uncertainty Î.b4"},{label:"AroundReplace",type:"keyword",info:"AroundReplace[expr, {s  Around[x , Î.b4 ], s  Around[x , Î.b4 ], …}] propagates uncertainty in expr by"},{label:"ARProcess",type:"keyword",info:"ARProcess[{a , …, a }, v] represents a weakly stationary autoregressive process of order p with norm"},{label:"Array",type:"keyword",info:"Array[f, n] generates a list of length n, with elements f[i]. Array[f, n, r] generates a list using "},{label:"ArrayComponents",type:"keyword",info:"ArrayComponents[array] gives an array in which all identical elements of array are replaced by an in"},{label:"ArrayDepth",type:"keyword",info:"ArrayDepth[expr] gives the depth to which expr is a full array, with all the parts at a particular l"},{label:"ArrayFilter",type:"keyword",info:"ArrayFilter[f, array, r] applies f to all range-r blocks in the specified array.ArrayFilter[f, array"},{label:"ArrayFlatten",type:"keyword",info:"ArrayFlatten[{{m , m , …}, {m , m , …}, …}] creates a single flattened matrix from a matrix of m"},{label:"ArrayMesh",type:"keyword",info:"ArrayMesh[array] generates a mesh region from an array of rank d in which each cell has a geometric "},{label:"ArrayPad",type:"keyword",info:"ArrayPad[array, m] gives an array with m zeros of padding on every side. ArrayPad[array, m, padding]"},{label:"ArrayPlot",type:"keyword",info:"ArrayPlot[array] generates a plot in which the values in an array are shown in a discrete array of s"},{label:"ArrayPlot3D",type:"keyword",info:"ArrayPlot3D[array] generates a plot in which the values in an array are shown in a discrete array of"},{label:"ArrayQ",type:"keyword",info:"ArrayQ[expr] gives True if expr is a full array or a SparseArray object, and gives False otherwise. "},{label:"ArrayReduce",type:"keyword",info:"ArrayReduce[f, array, n] reduces dimension n of array by applying f.ArrayReduce[f, array, n ;; n ] "},{label:"ArrayResample",type:"keyword",info:"ArrayResample[array, {n , n , …}] resamples array to have dimensions {n , n , …}.ArrayResample[array"},{label:"ArrayReshape",type:"keyword",info:"ArrayReshape[list, dims] arranges the elements of list into a rectangular array with dimensions dims"},{label:"ArrayRules",type:"keyword",info:"ArrayRules[SparseArray[…]] gives the rules {pos  val , pos  val , …} specifying elements in a sp"},{label:"Arrays",type:"keyword",info:"Arrays[{d , …, d }] represents the domain of arrays of rank r and dimensions d .Arrays[{d , …, d }, "},{label:"Arrow",type:"keyword",info:"Arrow[{pt , pt }] is a graphics primitive that represents an arrow from pt to pt .Arrow[{pt , pt },"},{label:"Arrow3DBox",type:"keyword",info:"System`Arrow3DBox"},{label:"ArrowBox",type:"keyword",info:"System`ArrowBox"},{label:"Arrowheads",type:"keyword",info:"Arrowheads[spec] is a graphics directive specifying that arrows that follow should have arrowheads w"},{label:"ASATriangle",type:"keyword",info:"ASATriangle[Î\\[PlusMinus], c, Î.b2] returns a filled triangle with angles Î\\[PlusMinus] and Î.b2 and side length c, and c is adjac"},{label:"Ask",type:"keyword",info:'Ask["key"] is a construct for use inside AskFunction that gives the value associated with key, or in'},{label:"AskAppend",type:"keyword",info:'AskAppend["key"] is a construct for use inside AskFunction that asks for a new value, appends it to '},{label:"AskConfirm",type:"keyword",info:'AskConfirm["key"] is a construct for use inside AskFunction that asks for confirmation of the curren'},{label:"AskDisplay",type:"keyword",info:"AskDisplay[expr] is a construct for use inside AskFunction that displays the result of evaluating ex"},{label:"AskedQ",type:"keyword",info:'AskedQ["key"] is a construct for use inside AskFunction that gives True if a value is currently asso'},{label:"AskedValue",type:"keyword",info:'AskedValue["key"] is a construct for use inside AskFunction that gives the value associated with key'},{label:"AskFunction",type:"keyword",info:"AskFunction[body] evaluates body, interactively asking for values specified by Ask[…] and related co"},{label:"AskState",type:"keyword",info:"AskState[] is a construct for use inside AskFunction that returns an association of all values in th"},{label:"AskTemplateDisplay",type:"keyword",info:"AskTemplateDisplay[fun] is a construct for use inside AskFunction that displays the result of applyi"},{label:"AspectRatio",type:"keyword",info:"AspectRatio is an option for Graphics and related functions that specifies the ratio of height to wi"},{label:"AspectRatioFixed",type:"keyword",info:"AspectRatioFixed is an option for Cell that specifies whether graphics in the cell should be constra"},{label:"Assert",type:"keyword",info:"Assert[test] represents the assertion that test is True. If assertions have been enabled, test is ev"},{label:"AssessmentFunction",type:"keyword",info:"AssessmentFunction[key] represents a tool for assessing whether answers are correct according to the"},{label:"AssessmentResultObject",type:"keyword",info:"AssessmentResultObject[assoc] represents the results of an assessment.AssessmentResultObject[{aro , "},{label:"AssociateTo",type:"keyword",info:"AssociateTo[a, key  val] changes the association a by adding the key-value pair key  val.Associate"},{label:"Association",type:"keyword",info:"Association[key  val , key  val , …] or  key  val , key  val , …  represents an associatio"},{label:"AssociationFormat",type:"keyword",info:"AssociationFormat is an option to TextString and related functions that determines how associations "},{label:"AssociationMap",type:"keyword",info:"AssociationMap[f, {key , key , …}] creates the association  key  f[key ], key  f[key ], … .Ass"},{label:"AssociationQ",type:"keyword",info:"AssociationQ[expr] gives True if expr is a valid Association object, and False otherwise."},{label:"AssociationThread",type:"keyword",info:"AssociationThread[{key , key , …}  {val , val , …}] gives the association  key  val , key  val"},{label:"AssumeDeterministic",type:"keyword",info:"AssumeDeterministic is an option for functions such as BayesianMinimization that specifies whether o"},{label:"Assuming",type:"keyword",info:"Assuming[assum, expr] evaluates expr with assum appended to ECAssumptions, so that assum is included "},{label:"Assumptions",type:"keyword",info:"Assumptions is an option for functions such as Simplify, Refine, and Integrate that specifies defaul"},{label:"AstronomicalData",type:"keyword",info:'AstronomicalData["name", "property"] gives the value of the specified property of the astronomical o'},{label:"Asymptotic",type:"keyword",info:"Asymptotic[expr, x  x ] gives an asymptotic approximation for expr near x .Asymptotic[expr, {x, x ,"},{label:"AsymptoticDSolveValue",type:"keyword",info:"AsymptoticDSolveValue[eqn, f, x  x ] computes an asymptotic approximation to the differential equat"},{label:"AsymptoticEqual",type:"keyword",info:" * * "},{label:"AsymptoticEquivalent",type:"keyword",info:" * * "},{label:"AsymptoticExpectation",type:"keyword",info:"AsymptoticExpectation[expr, x  dist, a  a ] computes an asymptotic approximation for the expectati"},{label:"AsymptoticGreater",type:"keyword",info:" * * "},{label:"AsymptoticGreaterEqual",type:"keyword",info:" * * "},{label:"AsymptoticIntegrate",type:"keyword",info:" "},{label:"AsymptoticLess",type:"keyword",info:" * * "},{label:"AsymptoticLessEqual",type:"keyword",info:" * * "},{label:"AsymptoticOutputTracker",type:"keyword",info:"AsymptoticOutputTracker[sys, {f , …}, {p , …}] gives the state feedback control law that causes the "},{label:"AsymptoticProbability",type:"keyword",info:"AsymptoticProbability[pred, x  dist, a  a ] computes an asymptotic approximation for the probabili"},{label:"AsymptoticProduct",type:"keyword",info:" "},{label:"AsymptoticRSolveValue",type:"keyword",info:"AsymptoticRSolveValue[eqn, f, x  ∞] computes an asymptotic approximation to the difference equation"},{label:"AsymptoticSolve",type:"keyword",info:"AsymptoticSolve[eqn, y  b, x -> a] computes asymptotic approximations of solutions y[x] of the equa"},{label:"AsymptoticSum",type:"keyword",info:" "},{label:"Asynchronous",type:"keyword",info:"Asynchronous is an option for WolframAlpha that determines whether to use the asynchronous features "},{label:"AsynchronousTaskObject",type:"keyword",info:'AsynchronousTaskObject["name", id, sessionid] is an object that represents asynchronous evaluations '},{label:"AsynchronousTasks",type:"keyword",info:"AsynchronousTasks[] returns a list of running asynchronous tasks."},{label:"Atom",type:"keyword",info:'Atom["sym"] represents an atom with atomic symbol "sym".Atom["sym", name  value, …] represents an a'},{label:"AtomCoordinates",type:"keyword",info:"AtomCoordinates is an option for Molecule and related functions that specifies the three-dimensional"},{label:"AtomCount",type:"keyword",info:"AtomCount[mol] gives the number of atoms in the molecule represented by mol.AtomCount[mol, patt] giv"},{label:"AtomDiagramCoordinates",type:"keyword",info:"AtomDiagramCoordinates is an option for Molecule and related functions that specifies the two-dimens"},{label:"AtomLabels",type:"keyword",info:"AtomLabels is an option for MoleculePlot and MoleculePlot3D that specifies what labels and label pos"},{label:"AtomLabelStyle",type:"keyword",info:"AtomLabelStyle is an option for MoleculePlot and MoleculePlot3D that specifies the style to use for "},{label:"AtomList",type:"keyword",info:"AtomList[mol] gives the list of atoms in the molecule represented by mol.AtomList[mol, patt] gives t"},{label:"AtomQ",type:"keyword",info:"AtomQ[expr] yields True if expr is an expression which cannot be divided into subexpressions, and yi"},{label:"AttachCell",type:"keyword",info:"AttachCell[expr] makes expr a cell attached to the current cell being evaluated.AttachCell[obj, expr"},{label:"AttachedCell",type:"keyword",info:"AttachedCell is an option for Cells that indicates whether to find cells that created with AttachCel"},{label:"AttentionLayer",type:"keyword",info:"AttentionLayer[] represents a trainable net layer that learns to pay attention to certain portions o"},{label:"Attributes",type:"keyword",info:'Attributes[symbol] gives the list of attributes for a symbol. Attributes["symbol"] gives the attribu'},{label:"Audio",type:"keyword",info:"Audio[file] represents audio stored in the given file.Audio[url] represents audio stored in the give"},{label:"AudioAmplify",type:"keyword",info:"AudioAmplify[audio, s] multiplies all samples of audio by a factor s. "},{label:"AudioAnnotate",type:"keyword",info:"AudioAnnotate[audio, prop] computes the property prop and adds it as an annotation to audio.AudioAnn"},{label:"AudioAnnotationLookup",type:"keyword",info:"AudioAnnotationLookup[audio] gives all annotations associated to audio.AudioAnnotationLookup[audio, "},{label:"AudioBlockMap",type:"keyword",info:"AudioBlockMap[f, audio, dur] applies f to non-overlapping partitions of length dur in audio. AudioBl"},{label:"AudioCapture",type:"keyword",info:"AudioCapture[] creates a temporary interactive interface for capturing an audio signal.AudioCapture["},{label:"AudioChannelAssignment",type:"keyword",info:"AudioChannelAssignment is an option for Audio and related functions that specifies a mapping from au"},{label:"AudioChannelCombine",type:"keyword",info:"AudioChannelCombine[{audio , audio , …}] creates a multichannel audio object by combining the sequen"},{label:"AudioChannelMix",type:"keyword",info:"AudioChannelMix[audio] mixes channels of audio by averaging and returns a center-panned stereo audio"},{label:"AudioChannels",type:"keyword",info:"AudioChannels[audio] returns the number of channels in the Audio object audio.AudioChannels[video] r"},{label:"AudioChannelSeparate",type:"keyword",info:"AudioChannelSeparate[audio] gives a list of Audio objects, each of which represents one channel of a"},{label:"AudioData",type:"keyword",info:'AudioData[audio] gives an array of audio samples.AudioData[audio, "type"] gives an array of audio sa'},{label:"AudioDelay",type:"keyword",info:"AudioDelay[audio, delay] creates audio by adding repeated decaying echos to audio spaced by the spec"},{label:"AudioDelete",type:"keyword",info:"AudioDelete[audio, t] deletes the first t seconds of audio.AudioDelete[audio, -t] deletes the last t"},{label:"AudioDevice",type:"keyword",info:"AudioDevice is an option for Audio and related functions that specifies the device to use for playba"},{label:"AudioDistance",type:"keyword",info:"AudioDistance[audio , audio ] returns a distance measure between audio and audio .\n "},{label:"AudioEncoding",type:"keyword",info:"AudioEncoding is an option for Export and other functions that specifies the audio encoding to use w"},{label:"AudioFade",type:"keyword",info:"AudioFade[audio] returns audio in which the beginning and end of audio are faded.AudioFade[audio, t]"},{label:"AudioFrequencyShift",type:"keyword",info:"AudioFrequencyShift[audio, freq] gives audio by shifting the spectrum of audio by freq.AudioFrequenc"},{label:"AudioGenerator",type:"keyword",info:"AudioGenerator[model] generates one second of audio of a given model.AudioGenerator[model, t] genera"},{label:"AudioIdentify",type:"keyword",info:"AudioIdentify[audio] yields the result of attempting to identify what audio is a recording of.AudioI"},{label:"AudioInputDevice",type:"keyword",info:"AudioInputDevice is an option for AudioCapture that specifies the device to use for audio recording."},{label:"AudioInsert",type:"keyword",info:"AudioInsert[audio, t  new] inserts the audio signal new at time t.AudioInsert[audio, {t , t , …}  "},{label:"AudioInstanceQ",type:"keyword",info:"AudioInstanceQ[audio, obj] gives True if audio sounds to be an instance of the object obj, and gives"},{label:"AudioIntervals",type:"keyword",info:"AudioIntervals[audio] returns audible intervals of audio.AudioIntervals[audio, crit] returns interva"},{label:"AudioJoin",type:"keyword",info:"AudioJoin[audio , audio , …] or AudioJoin[{audio , audio , …}] concatenates all audio and returns a"},{label:"AudioLabel",type:"keyword",info:"AudioLabel is an option for an Audio object that specifies the label to show on the object."},{label:"AudioLength",type:"keyword",info:"AudioLength[audio] returns the number of samples in the Audio object audio."},{label:"AudioLocalMeasurements",type:"keyword",info:'AudioLocalMeasurements[audio, "prop"] computes the property "prop" locally for partitions of audio.A'},{label:"AudioLooping",type:"keyword",info:"AudioLooping is an option for AudioStream and related functions to specify the playback looping."},{label:"AudioLoudness",type:"keyword",info:"AudioLoudness[audio] computes the loudness of audio according to the EBU momentary definition.AudioL"},{label:"AudioMeasurements",type:"keyword",info:'AudioMeasurements[audio, "prop"] computes the property "prop" for the entire audio.AudioMeasurements'},{label:"AudioNormalize",type:"keyword",info:"AudioNormalize[audio] normalizes audio so that the maximum absolute value of its samples is 1.AudioN"},{label:"AudioOutputDevice",type:"keyword",info:"AudioOutputDevice is an option for Audio and related functions that specifies the device to use for "},{label:"AudioOverlay",type:"keyword",info:"AudioOverlay[{audio , audio , …}] returns an audio object by overlaying all audio .\n "},{label:"AudioPad",type:"keyword",info:"AudioPad[audio, t] adds t seconds of silence to the end of audio.AudioPad[audio, {t , t }] adds t s"},{label:"AudioPan",type:"keyword",info:"AudioPan[audio] returns a center-panned stereo audio object from a mono audio. AudioPan[audio, pan] "},{label:"AudioPartition",type:"keyword",info:"AudioPartition[audio, dur] partitions an audio object into non-overlapping segments of duration dur."},{label:"AudioPause",type:"keyword",info:"AudioPause[] pauses the playback of all AudioStream objects.AudioPause[astream] pauses the playback "},{label:"AudioPitchShift",type:"keyword",info:"AudioPitchShift[audio, r] applies pitch shifting to audio by the ratio r, shifting every frequency f"},{label:"AudioPlay",type:"keyword",info:"AudioPlay[audio] returns a new AudioStream object from audio and starts the playback.AudioPlay[astre"},{label:"AudioPlot",type:"keyword",info:"AudioPlot[audio] plots the waveform of audio.AudioPlot[{audio , audio , …}] plots waveforms of all a"},{label:"AudioQ",type:"keyword",info:"AudioQ[audio] yields True if audio has the form of a valid Audio object, and False otherwise."},{label:"AudioRecord",type:"keyword",info:"AudioRecord[] returns a new AudioStream object and starts to record from the default input audio dev"},{label:"AudioReplace",type:"keyword",info:"AudioReplace[audio, {t , t }  new] replaces the audio signal between t and t with the new signal "},{label:"AudioResample",type:"keyword",info:"AudioResample[audio, sr] resamples audio to have the sample rate of sr."},{label:"AudioReverb",type:"keyword",info:"AudioReverb[audio] adds reverberation to audio.AudioReverb[audio, model] adds reverberation followin"},{label:"AudioReverse",type:"keyword",info:"AudioReverse[audio] reverses audio so that the signal is played backward."},{label:"AudioSampleRate",type:"keyword",info:"AudioSampleRate[audio] returns the sample rate of the Audio object audio.AudioSampleRate[video] retu"},{label:"AudioSpectralMap",type:"keyword",info:"AudioSpectralMap[f, audio] transforms audio by applying the function f to its short-time Fourier tra"},{label:"AudioSpectralTransformation",type:"keyword",info:"AudioSpectralTransformation[f, audio] returns a modified version of audio by applying a time-frequen"},{label:"AudioSplit",type:"keyword",info:"AudioSplit[audio, t] splits audio at time t.AudioSplit[audio, {t , t , …}] splits audio at times t ."},{label:"AudioStop",type:"keyword",info:"AudioStop[] stops the playback of all AudioStream objects.AudioStop[astream] stops the playback of t"},{label:"AudioStream",type:"keyword",info:"AudioStream[source] creates a new AudioStream object from source.AudioStream[id] is an object that r"},{label:"AudioStreams",type:"keyword",info:"AudioStreams[] returns all existing streams.AudioStreams[audio] returns all existing streams that or"},{label:"AudioTimeStretch",type:"keyword",info:"AudioTimeStretch[audio, r] applies time stretching to audio by the specified factor r."},{label:"AudioTrackApply",type:"keyword",info:"AudioTrackApply[f, video] applies the function f to the first audio track of the Video object video."},{label:"AudioTrackSelection",type:"keyword",info:"AudioTrackSelection is an option that specifies the audio tracks of interest."},{label:"AudioTrim",type:"keyword",info:"AudioTrim[audio] trims silence from the beginning and end of audio.AudioTrim[audio, t] returns the f"},{label:"AudioType",type:"keyword",info:"AudioType[audio] returns the data type used to represent samples in the Audio object audio."},{label:"AugmentedPolyhedron",type:"keyword",info:"AugmentedPolyhedron[poly] gives the augmented polyhedron poly by replacing each face by a pyramid. A"},{label:"AugmentedSymmetricPolynomial",type:"keyword",info:"AugmentedSymmetricPolynomial[{r , r , …}] represents a formal augmented symmetric polynomial with ex"},{label:"Authenticate",type:"keyword",info:"System`Authenticate"},{label:"Authentication",type:"keyword",info:"Authentication is an option for cloud, web and SSH access functions that allows authentication param"},{label:"AuthenticationDialog",type:"keyword",info:"AuthenticationDialog[] initiates a standard dialog for entering username/password authentication inf"},{label:"AutoAction",type:"keyword",info:"AutoAction is an option for objects such as Slider, Locator, and Button that specifies whether they "},{label:"Autocomplete",type:"keyword",info:'Autocomplete[{string , string , …}, "string"] gives a list of the string that can complete string.A'},{label:"AutocompletionFunction",type:"keyword",info:"AutocompletionFunction[…] represents a function to be applied to a string to generate possible compl"},{label:"AutoCopy",type:"keyword",info:"AutoCopy is an option for notebooks and cloud objects that specifies whether to automatically make a"},{label:"AutocorrelationTest",type:"keyword",info:"AutocorrelationTest[data] tests whether the data is autocorrelated.AutocorrelationTest[data, k] test"},{label:"AutoDelete",type:"keyword",info:"AutoDelete is an option for boxes that specifies whether a box is automatically deleted when its con"},{label:"AutoEvaluateEvents",type:"keyword",info:"System`AutoEvaluateEvents"},{label:"AutoGeneratedPackage",type:"keyword",info:"AutoGeneratedPackage is an option for notebooks that specifies whether a package is automatically cr"},{label:"AutoIndent",type:"keyword",info:"AutoIndent is an option for Style and Cell that specifies what automatic indentation should be done "},{label:"AutoIndentSpacings",type:"keyword",info:"System`AutoIndentSpacings"},{label:"AutoItalicWords",type:"keyword",info:"AutoItalicWords is an option for Cell that gives a list of words that should automatically be put in"},{label:"AutoloadPath",type:"keyword",info:"AutoloadPath is a global option that specifies from which directories packages are automatically loa"},{label:"AutoMatch",type:"keyword",info:"System`AutoMatch"},{label:"Automatic",type:"keyword",info:"Automatic represents an option or other value that is to be chosen automatically by a built‐in funct"},{label:"AutomaticImageSize",type:"keyword",info:"System`AutomaticImageSize"},{label:"AutoMultiplicationSymbol",type:"keyword",info:"AutoMultiplicationSymbol is an option for objects such as Cell and Notebook that specifies when to a"},{label:"AutoNumberFormatting",type:"keyword",info:"System`AutoNumberFormatting"},{label:"AutoOpenNotebooks",type:"keyword",info:"AutoOpenNotebooks is a global option that specifies which notebooks should be automatically opened w"},{label:"AutoOpenPalettes",type:"keyword",info:"AutoOpenPalettes is a global option that specifies the palettes that are automatically opened when t"},{label:"AutoOperatorRenderings",type:"keyword",info:"AutoOperatorRenderings is an option for cells and notebooks that specifies automatic renderings to b"},{label:"AutoQuoteCharacters",type:"keyword",info:"System`AutoQuoteCharacters"},{label:"AutoRefreshed",type:"keyword",info:"AutoRefreshed[expr] represents an expression to be reevaluated every hour and made available in the "},{label:"AutoRemove",type:"keyword",info:"AutoRemove is an option specifying whether tasks, generators, cloud objects and related constructs s"},{label:"AutorunSequencing",type:"keyword",info:"AutorunSequencing is an option for Manipulate that specifies how autorun should use the controls pro"},{label:"AutoScaling",type:"keyword",info:"System`AutoScaling"},{label:"AutoScroll",type:"keyword",info:"AutoScroll is an option to SelectionMove and related functions that specifies whether a notebook sho"},{label:"AutoSpacing",type:"keyword",info:"AutoSpacing is an option for Style and Cell that specifies whether spaces between successive charact"},{label:"AutoStyleOptions",type:"keyword",info:"System`AutoStyleOptions"},{label:"AutoStyleWords",type:"keyword",info:"System`AutoStyleWords"},{label:"AutoSubmitting",type:"keyword",info:"AutoSubmitting[spec] represents an element of a form that automatically submits the whole form if it"},{label:"Axes",type:"keyword",info:"Axes is an option for graphics functions that specifies whether axes should be drawn. "},{label:"AxesEdge",type:"keyword",info:"AxesEdge is an option for three-dimensional graphics functions that specifies on which edges of the "},{label:"AxesLabel",type:"keyword",info:"AxesLabel is an option for graphics functions that specifies labels for axes. "},{label:"AxesOrigin",type:"keyword",info:"AxesOrigin is an option for graphics functions that specifies where any axes drawn should cross. "},{label:"AxesStyle",type:"keyword",info:"AxesStyle is an option for graphics functions that specifies how axes should be rendered. "},{label:"AxiomaticTheory",type:"keyword",info:'AxiomaticTheory["theory"] gives an axiomatic representation of the specified axiomatic theory.Axioma'},{label:"Axis",type:"keyword",info:"Axis is a symbol that represents the axis for purposes of alignment and positioning. "},{label:"Axis3DBox",type:"keyword",info:"System`Axis3DBox"},{label:"Axis3DBoxOptions",type:"keyword",info:"System`Axis3DBoxOptions"},{label:"AxisBox",type:"keyword",info:"System`AxisBox"},{label:"AxisBoxOptions",type:"keyword",info:"System`AxisBoxOptions"},{label:"AxisLabel",type:"keyword",info:"AxisLabel is an option for AxisObject that specifies a label for the axis."},{label:"AxisObject",type:"keyword",info:"AxisObject[path] is a Graphics primitive that represents an axis with a quantitative scale along the"},{label:"AxisStyle",type:"keyword",info:"AxisStyle is an option for AxisObject that specifies how to style the path of an axis."},{label:"BabyMonsterGroupB",type:"keyword",info:"BabyMonsterGroupB[] represents the sporadic simple baby monster group B."},{label:"Back",type:"keyword",info:"Back is a symbol that represents the back of a graphic for purposes of placement and alignment."},{label:"BackFaceColor",type:"keyword",info:"System`BackFaceColor"},{label:"BackFaceGlowColor",type:"keyword",info:"System`BackFaceGlowColor"},{label:"BackFaceOpacity",type:"keyword",info:"System`BackFaceOpacity"},{label:"BackFaceSpecularColor",type:"keyword",info:"System`BackFaceSpecularColor"},{label:"BackFaceSpecularExponent",type:"keyword",info:"System`BackFaceSpecularExponent"},{label:"BackFaceSurfaceAppearance",type:"keyword",info:"System`BackFaceSurfaceAppearance"},{label:"BackFaceTexture",type:"keyword",info:"System`BackFaceTexture"},{label:"Background",type:"keyword",info:"Background is an option that specifies what background color to use. "},{label:"BackgroundAppearance",type:"keyword",info:"System`BackgroundAppearance"},{label:"BackgroundTasksSettings",type:"keyword",info:"System`BackgroundTasksSettings"},{label:"Backslash",type:"keyword",info:"Backslash[x, y, …] displays as x ∖ y ∖ …."},{label:"Backsubstitution",type:"keyword",info:"System`Backsubstitution"},{label:"Backward",type:"keyword",info:"Backward is a symbol that represents the backward direction for purposes of motion and animation."},{label:"Ball",type:"keyword",info:"Ball[p] represents the unit ball centered at the point p.Ball[p, r] represents the ball of radius r "},{label:"Band",type:"keyword",info:"Band[{i, j}] represents the sequence of positions on the diagonal band that starts with {i, j} in a "},{label:"BandpassFilter",type:"keyword",info:"BandpassFilter[data, {ω , ω }] applies a bandpass filter with cutoff frequencies ω and ω to an arr"},{label:"BandstopFilter",type:"keyword",info:"BandstopFilter[data, {ω , ω }] applies a bandstop filter with cutoff frequencies ω and ω to an arr"},{label:"BarabasiAlbertGraphDistribution",type:"keyword",info:"BarabasiAlbertGraphDistribution[n, k] represents a Barabasi–Albert graph distribution for n-vertex g"},{label:"BarChart",type:"keyword",info:"BarChart[{y , y , …, y }] makes a bar chart with bar lengths y , y , ….BarChart[{…, w [y , …], …, w"},{label:"BarChart3D",type:"keyword",info:"BarChart3D[{y , y , …}] makes a 3D bar chart with bar lengths y , y , … .BarChart3D[{…, w [y , …], …"},{label:"BarcodeImage",type:"keyword",info:'BarcodeImage["string", format] generates a barcode image of "string" in the specified format.Barcode'},{label:"BarcodeRecognize",type:"keyword",info:"BarcodeRecognize[image] recognizes a barcode in image and returns it as a string.BarcodeRecognize[im"},{label:"BaringhausHenzeTest",type:"keyword",info:"BaringhausHenzeTest[data] tests whether data follows a MultinormalDistribution using the Baringhaus–"},{label:"BarLegend",type:"keyword",info:"BarLegend[cf] generates a legend that identifies colors from the color function cf with an automatic"},{label:"BarlowProschanImportance",type:"keyword",info:"BarlowProschanImportance[rdist] gives the Barlow–Proschan importances for all components in the Reli"},{label:"BarnesG",type:"keyword",info:"BarnesG[z] gives the Barnes G-function G(z)."},{label:"BarOrigin",type:"keyword",info:"BarOrigin is an option to BarChart and related functions that specifies the origin placement for bar"},{label:"BarSpacing",type:"keyword",info:"BarSpacing is an option to BarChart and related functions that controls the spacing between bars and"},{label:"BartlettHannWindow",type:"keyword",info:"BartlettHannWindow[x] represents a Bartlett–Hann window function of x."},{label:"BartlettWindow",type:"keyword",info:"BartlettWindow[x] represents a Bartlett window function of x."},{label:"BaseDecode",type:"keyword",info:'BaseDecode["string"] decodes the Base64 data contained in a string and returns the result as a byte '},{label:"BaseEncode",type:"keyword",info:'BaseEncode[ba] encodes the byte array ba as a Base64 string.BaseEncode[ba, "encoding"] encodes using'},{label:"BaseForm",type:"keyword",info:"BaseForm[expr, n] prints with the numbers in expr given in base n. "},{label:"Baseline",type:"keyword",info:"Baseline is a symbol that represents the baseline for purposes of alignment and positioning. "},{label:"BaselinePosition",type:"keyword",info:"BaselinePosition is an option that specifies where the baseline of an object is considered to be for"},{label:"BaseStyle",type:"keyword",info:"BaseStyle is an option for formatting and related constructs that specifies the base style to use fo"},{label:"BasicRecurrentLayer",type:"keyword",info:"BasicRecurrentLayer[n] represents a trainable recurrent layer that takes a sequence of vectors and p"},{label:"BatchNormalizationLayer",type:"keyword",info:"BatchNormalizationLayer[] represents a trainable net layer that normalizes its input data by learnin"},{label:"BatchSize",type:"keyword",info:"BatchSize is an option for NetTrain and related functions that specifies the size of a batch of exam"},{label:"BatesDistribution",type:"keyword",info:"BatesDistribution[n] represents the distribution of a mean of n random variables uniformly distribut"},{label:"BattleLemarieWavelet",type:"keyword",info:"BattleLemarieWavelet[] represents the Battle–Lemarié wavelet of order 3.BattleLemarieWavelet[n] repr"},{label:"BayesianMaximization",type:"keyword",info:"BayesianMaximization[f, {conf , conf , …}] gives an object representing the result of Bayesian maxim"},{label:"BayesianMaximizationObject",type:"keyword",info:"BayesianMaximizationObject[…] represents the result of a Bayesian maximization process."},{label:"BayesianMinimization",type:"keyword",info:"BayesianMinimization[f, {conf , conf , …}] gives an object representing the result of Bayesian minim"},{label:"BayesianMinimizationObject",type:"keyword",info:"BayesianMinimizationObject[…] represents the result of a Bayesian minimization process. "},{label:"Because",type:"keyword",info:"Because[x, y] displays as x âˆ\\[Micro] y."},{label:"BeckmannDistribution",type:"keyword",info:"BeckmannDistribution[μ , μ , σ , σ ] represents the Beckmann distribution with means μ and μ and s"},{label:"Beep",type:"keyword",info:"Beep[] generates an audible beep when evaluated. "},{label:"Before",type:"keyword",info:"Before is a symbol that represents the region before an object for purposes of placement."},{label:"Begin",type:"keyword",info:'Begin["context`"] resets the current context. '},{label:"BeginDialogPacket",type:"keyword",info:"BeginDialogPacket[integer] is a WSTP packet that indicates the start of the Dialog subsession refere"},{label:"BeginPackage",type:"keyword",info:'BeginPackage["context`"] makes context` and System` the only active contexts. BeginPackage["context`'},{label:"BellB",type:"keyword",info:"BellB[n] gives the Bell number B . BellB[n, x] gives the Bell polynomial B (x). \n "},{label:"BellY",type:"keyword",info:"BellY[n, k, {x , …, x }] gives the partial Bell polynomial Y (x , …, x ).BellY[n,"},{label:"Below",type:"keyword",info:"Below is a symbol that represents the region below an object for purposes of placement."},{label:"BenfordDistribution",type:"keyword",info:"BenfordDistribution[b] represents a Benford distribution with base parameter b."},{label:"BeniniDistribution",type:"keyword",info:"BeniniDistribution[Î\\[PlusMinus], Î.b2, σ] represents a Benini distribution with shape parameters Î\\[PlusMinus] and Î.b2 and scale"},{label:"BenktanderGibratDistribution",type:"keyword",info:"BenktanderGibratDistribution[a, b] represents a Benktander distribution of type I with parameters a "},{label:"BenktanderWeibullDistribution",type:"keyword",info:"BenktanderWeibullDistribution[a, b] represents a Benktander distribution of type II with parameters "},{label:"BernoulliB",type:"keyword",info:"BernoulliB[n] gives the Bernoulli number B . BernoulliB[n, x] gives the Bernoulli polynomial B (x). "},{label:"BernoulliDistribution",type:"keyword",info:"BernoulliDistribution[p] represents a Bernoulli distribution with probability parameter p."},{label:"BernoulliGraphDistribution",type:"keyword",info:"BernoulliGraphDistribution[n, p] represents a Bernoulli graph distribution for n-vertex graphs with "},{label:"BernoulliProcess",type:"keyword",info:"BernoulliProcess[p] represents a Bernoulli process with event probability p."},{label:"BernsteinBasis",type:"keyword",info:" th\nBernsteinBasis[d, n, x] represents the n Bernstein ba"},{label:"BesagL",type:"keyword",info:"BesagL[pdata, r] estimates Besag's L function L(r) for point data pdata at radius r.BesagL[pproc, r]"},{label:"BesselFilterModel",type:"keyword",info:"BesselFilterModel[n] designs a lowpass Bessel filter of order n and cutoff frequency 1.BesselFilterM"},{label:"BesselI",type:"keyword",info:"BesselI[n, z] gives the modified Bessel function of the first kind I (z). \n "},{label:"BesselJ",type:"keyword",info:"BesselJ[n, z] gives the Bessel function of the first kind J (z). \n "},{label:"BesselJZero",type:"keyword",info:" th "},{label:"BesselK",type:"keyword",info:"BesselK[n, z] gives the modified Bessel function of the second kind K (z). \n "},{label:"BesselY",type:"keyword",info:"BesselY[n, z] gives the Bessel function of the second kind Y (z). \n "},{label:"BesselYZero",type:"keyword",info:" th "},{label:"Beta",type:"keyword",info:"Beta[a, b] gives the Euler beta function Β(a, b). Beta[z, a, b] gives the incomplete beta function Β"},{label:"BetaBinomialDistribution",type:"keyword",info:"BetaBinomialDistribution[Î\\[PlusMinus], Î.b2, n] represents a beta binomial mixture distribution with beta distribu"},{label:"BetaDistribution",type:"keyword",info:"BetaDistribution[Î\\[PlusMinus], Î.b2] represents a continuous beta distribution with shape parameters Î\\[PlusMinus] and Î.b2."},{label:"BetaNegativeBinomialDistribution",type:"keyword",info:"BetaNegativeBinomialDistribution[Î\\[PlusMinus], Î.b2, n] represents a beta negative binomial mixture distribution w"},{label:"BetaPrimeDistribution",type:"keyword",info:"BetaPrimeDistribution[p, q] represents a beta prime distribution with shape parameters p and q. Beta"},{label:"BetaRegularized",type:"keyword",info:"BetaRegularized[z, a, b] gives the regularized incomplete beta function I (a, b). \n "},{label:"Between",type:"keyword",info:"Between[x, {min, max}] is equivalent to min ≤ x ≤ max.Between[x, {{min , max }, {min , max }, …}] is"},{label:"BetweennessCentrality",type:"keyword",info:"BetweennessCentrality[g] gives a list of betweenness centralities for the vertices in the graph g.Be"},{label:"Beveled",type:"keyword",info:"System`Beveled"},{label:"BeveledPolyhedron",type:"keyword",info:"BeveledPolyhedron[poly] gives the beveled polyhedron of poly, by beveling each edge. BeveledPolyhedr"},{label:"BezierCurve",type:"keyword",info:"BezierCurve[{pt , pt , …}] is a graphics primitive that represents a Bézier curve with control point"},{label:"BezierCurve3DBox",type:"keyword",info:"System`BezierCurve3DBox"},{label:"BezierCurve3DBoxOptions",type:"keyword",info:"BezierCurve3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Bez"},{label:"BezierCurveBox",type:"keyword",info:"System`BezierCurveBox"},{label:"BezierCurveBoxOptions",type:"keyword",info:"BezierCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Bezie"},{label:"BezierFunction",type:"keyword",info:"BezierFunction[{pt , pt , …}] represents a Bézier function for a curve defined by the control points"},{label:"BilateralFilter",type:"keyword",info:"BilateralFilter[data, σ, μ] applies a bilateral filter of spatial spread σ and pixel value spread μ "},{label:"BilateralLaplaceTransform",type:"keyword",info:"BilateralLaplaceTransform[expr, t, s] gives the bilateral Laplace transform of expr. BilateralLaplac"},{label:"BilateralZTransform",type:"keyword",info:"BilateralZTransform[expr, n, z] gives the bilateral Z transform of expr.BilateralZTransform[expr, {n"},{label:"Binarize",type:"keyword",info:"Binarize[image] creates a binary image from image by replacing all values above a globally determine"},{label:"BinaryDeserialize",type:"keyword",info:"BinaryDeserialize[ByteArray[…]] recovers an expression from a binary representation generated by Bin"},{label:"BinaryDistance",type:"keyword",info:"BinaryDistance[u, v] gives the binary distance between vectors u and v, equal to 0 if they are ident"},{label:"BinaryFormat",type:"keyword",info:"BinaryFormat is an option for OpenRead and related functions that specifies that a stream should be "},{label:"BinaryImageQ",type:"keyword",info:"BinaryImageQ[image] yields True if image has the form of a binary Image or Image3D object, and False"},{label:"BinaryRead",type:"keyword",info:"BinaryRead[stream] reads one byte of raw binary data from an input stream, and returns an integer fr"},{label:"BinaryReadList",type:"keyword",info:'BinaryReadList["file"] reads all remaining bytes from a file, and returns them as a list of integers'},{label:"BinarySerialize",type:"keyword",info:"BinarySerialize[expr] gives a binary representation of any expression expr as a ByteArray object."},{label:"BinaryWrite",type:"keyword",info:"BinaryWrite[channel, b] writes a byte of data, specified as an integer from 0 to 255. BinaryWrite[ch"},{label:"BinCounts",type:"keyword",info:"BinCounts[{x , x , …}] counts the number of elements x whose values lie in successive integer bins."},{label:"BinLists",type:"keyword",info:"BinLists[{x , x , …}] gives lists of the elements x whose values lie in successive integer bins.Bin"},{label:"BinnedVariogramList",type:"keyword",info:"BinnedVariogramList[{loc  val , loc  val , …}] computes a variogram using binned values. BinnedV"},{label:"Binomial",type:"keyword",info:"Binomial[n, m] gives the binomial coefficient (n).\n\n m"},{label:"BinomialDistribution",type:"keyword",info:"BinomialDistribution[n, p] represents a binomial distribution with n trials and success probability "},{label:"BinomialPointProcess",type:"keyword",info:"BinomialPointProcess[n, reg] represents a binomial point process with n points in the region reg."},{label:"BinomialProcess",type:"keyword",info:"BinomialProcess[p] represents a binomial process with event probability p."},{label:"BinormalDistribution",type:"keyword",info:" "},{label:"BiorthogonalSplineWavelet",type:"keyword",info:"BiorthogonalSplineWavelet[] represents a biorthogonal spline wavelet of order 4 and dual order 2.Bio"},{label:"BioSequence",type:"keyword",info:'BioSequence[type, "seq"] represents the biomolecular sequence of the given type corresponding to a s'},{label:"BioSequenceBackTranslateList",type:"keyword",info:"BioSequenceBackTranslateList[bioseq] gives the generalized back translations of a peptide sequence b"},{label:"BioSequenceComplement",type:"keyword",info:"BioSequenceComplement[bioseq] gives the biological complement of the sequence bioseq."},{label:"BioSequenceInstances",type:"keyword",info:"BioSequenceInstances[bioseq] expands the possibly degenerate sequence bioseq into all fully specifie"},{label:"BioSequenceModify",type:"keyword",info:'BioSequenceModify[seq, "mod"] gives the result of applying the modification "mod" to the sequence se'},{label:"BioSequencePlot",type:"keyword",info:"BioSequencePlot[bioseq] creates a two-dimensional schematic diagram of the biomolecular sequence bio"},{label:"BioSequenceQ",type:"keyword",info:"BioSequenceQ[bioseq] returns True if bioseq is a valid BioSequence expression, and False otherwise.B"},{label:"BioSequenceReverseComplement",type:"keyword",info:"BioSequenceReverseComplement[bioseq] biologically complements and reverses the sequence bioseq."},{label:"BioSequenceTranscribe",type:"keyword",info:"BioSequenceTranscribe[bioseq] transcribes DNA into RNA or inverts the transcription of RNA back to D"},{label:"BioSequenceTranslate",type:"keyword",info:"BioSequenceTranslate[bioseq] translates a DNA or RNA sequence bioseq to a peptide sequence.BioSequen"},{label:"BipartiteGraphQ",type:"keyword",info:"BipartiteGraphQ[g] yields True if the graph g is a bipartite graph and False otherwise."},{label:"BiquadraticFilterModel",type:"keyword",info:"BiquadraticFilterModel[{ω, q}] creates a lowpass biquadratic filter using the characteristic frequen"},{label:"BirnbaumImportance",type:"keyword",info:"BirnbaumImportance[rdist, t] gives the Birnbaum importances for all components in the ReliabilityDis"},{label:"BirnbaumSaundersDistribution",type:"keyword",info:"BirnbaumSaundersDistribution[Î\\[PlusMinus], λ] represents the Birnbaum–Saunders distribution with shape paramete"},{label:"BitAnd",type:"keyword",info:"BitAnd[n , n , …] gives the bitwise AND of the integers n . \n 1 2 "},{label:"BitClear",type:"keyword",info:" k\nBitClear[n, k] sets to 0 the"},{label:"BitGet",type:"keyword",info:" k\nBitGet[n, k] gets the bit correspon"},{label:"BitLength",type:"keyword",info:"BitLength[n] gives the number of binary bits necessary to represent the integer n. "},{label:"BitNot",type:"keyword",info:"BitNot[n] gives the bitwise NOT of the integer n. "},{label:"BitOr",type:"keyword",info:"BitOr[n , n , …] gives the bitwise OR of the integers n . \n 1 2 "},{label:"BitRate",type:"keyword",info:"BitRate is an option that specifies an approximate number of bits per second when creating video and"},{label:"BitSet",type:"keyword",info:" k\nBitSet[n, k] sets to 1 the bit"},{label:"BitShiftLeft",type:"keyword",info:"BitShiftLeft[n, k] shifts the binary bits in the integer n to the left by k places, padding with zer"},{label:"BitShiftRight",type:"keyword",info:"BitShiftRight[n, k] shifts the binary bits in the integer n to the right by k places, dropping bits "},{label:"BitXor",type:"keyword",info:"BitXor[n , n , …] gives the bitwise XOR of the integers n . \n 1 2 "},{label:"BiweightLocation",type:"keyword",info:"BiweightLocation[list] gives the value of the biweight location estimator of the elements in list.Bi"},{label:"BiweightMidvariance",type:"keyword",info:"BiweightMidvariance[list] gives the value of the biweight midvariance of the elements in list.Biweig"},{label:"Black",type:"keyword",info:"Black represents the color black in graphics or style specifications. "},{label:"BlackmanHarrisWindow",type:"keyword",info:"BlackmanHarrisWindow[x] represents a Blackman–Harris window function of x."},{label:"BlackmanNuttallWindow",type:"keyword",info:"BlackmanNuttallWindow[x] represents a Blackman–Nuttall window function of x."},{label:"BlackmanWindow",type:"keyword",info:"BlackmanWindow[x] represents a Blackman window function of x."},{label:"Blank",type:"keyword",info:"_ or Blank[] is a pattern object that can stand for any Wolfram Language expression. _h or Blank[h] "},{label:"BlankForm",type:"keyword",info:"BlankForm is an internal symbol used for formatting and printing."},{label:"BlankNullSequence",type:"keyword",info:"___ (three _ characters) or BlankNullSequence[] is a pattern object that can stand for any sequence "},{label:"BlankSequence",type:"keyword",info:"__ (two _ characters) or BlankSequence[] is a pattern object that can stand for any sequence of one "},{label:"Blend",type:"keyword",info:"Blend[{col , col }, x] gives a color obtained by blending a fraction 1 - x of color col and x of co"},{label:"Block",type:"keyword",info:"Block[{x, y, …}, expr] specifies that expr is to be evaluated with local values for the symbols x, y"},{label:"BlockchainAddressData",type:"keyword",info:'BlockchainAddressData["address"] gives available information connected with the specified address on'},{label:"BlockchainBase",type:"keyword",info:"BlockchainBase is an option for various blockchain functions that specifies which blockchain to use."},{label:"BlockchainBlockData",type:"keyword",info:'BlockchainBlockData["hash"] gives information about the block with the specified hash on the blockch'},{label:"BlockchainContractValue",type:"keyword",info:"BlockchainContractValue[caddr] gets the result obtained from a Wolfram expression contract at blockc"},{label:"BlockchainData",type:"keyword",info:"BlockchainData[] gives information about the blockchain specified by ECBlockchainBase.BlockchainData["},{label:"BlockchainGet",type:"keyword",info:"BlockchainGet[id] retrieves data from the Wolfram blockchain for the transaction with the specified "},{label:"BlockchainKeyEncode",type:"keyword",info:"BlockchainKeyEncode[key, form] encodes a private or public key in the specified blockchain format."},{label:"BlockchainPut",type:"keyword",info:"BlockchainPut[expr] adds expr to the Wolfram blockchain."},{label:"BlockchainTokenData",type:"keyword",info:'BlockchainTokenData["name"] gives information about the use of tokens with the specified name on a b'},{label:"BlockchainTransaction",type:"keyword",info:"BlockchainTransaction[assoc] represents a blockchain transaction built from the components in the as"},{label:"BlockchainTransactionData",type:"keyword",info:"BlockchainTransactionData[txid] gives information about the blockchain transaction with ID txid on t"},{label:"BlockchainTransactionSign",type:"keyword",info:"BlockchainTransactionSign[obj, key] digitally signs a blockchain transaction using the specified pri"},{label:"BlockchainTransactionSubmit",type:"keyword",info:"BlockchainTransactionSubmit[obj] submits the transaction specified in the BlockchainTransaction obje"},{label:"BlockMap",type:"keyword",info:"BlockMap[f, list, n] applies f to non-overlapping sublists of length n in list. BlockMap[f, list, n,"},{label:"BlockRandom",type:"keyword",info:"BlockRandom[expr] evaluates expr with all pseudorandom generators localized, so that uses of SeedRan"},{label:"BlomqvistBeta",type:"keyword",info:" "},{label:"BlomqvistBetaTest",type:"keyword",info:"BlomqvistBetaTest[v , v ] tests whether the vectors v and v are independent.BlomqvistBetaTest[m , "},{label:"Blue",type:"keyword",info:"Blue represents the color blue in graphics or style specifications. "},{label:"Blur",type:"keyword",info:"Blur[image] gives a blurred version of image.Blur[image, r] gives a version of image blurred over pi"},{label:"BodePlot",type:"keyword",info:"BodePlot[lsys] generates a Bode plot of a linear time-invariant system lsys.BodePlot[lsys, {ω , ω "},{label:"BohmanWindow",type:"keyword",info:"BohmanWindow[x] represents a Bohman window function of x."},{label:"Bold",type:"keyword",info:"Bold represents a bold font weight."},{label:"Bond",type:"keyword",info:"Bond[{id , id }] represents a single chemical bond between atoms with indices id and id .Bond[{id ,"},{label:"BondCount",type:"keyword",info:"BondCount[mol] gives the number of bonds in the molecule mol.BondCount[mol, patt] gives the number o"},{label:"BondLabels",type:"keyword",info:"BondLabels is an option for MoleculePlot and MoleculePlot3D that specifies what labels and label pos"},{label:"BondLabelStyle",type:"keyword",info:"BondLabelStyle is an option for MoleculePlot and MoleculePlot3D that specifies the style to use for "},{label:"BondList",type:"keyword",info:"BondList[mol] gives the list of bonds in the molecule mol.BondList[mol, patt] gives the list of bond"},{label:"BondQ",type:"keyword",info:"BondQ[m, bond] gives True if bond is a bond in the molecule m, and False otherwise."},{label:"Bookmarks",type:"keyword",info:"Bookmarks is an option for Manipulate and related functions that gives a list of bookmark settings."},{label:"Boole",type:"keyword",info:"Boole[expr] yields 1 if expr is True and 0 if it is False. "},{label:"BooleanConsecutiveFunction",type:"keyword",info:" "},{label:"BooleanConvert",type:"keyword",info:"BooleanConvert[expr] converts the Boolean expression expr to disjunctive normal form.BooleanConvert["},{label:"BooleanCountingFunction",type:"keyword",info:"BooleanCountingFunction[k , n] represents a Boolean function of n variables that gives True if at "},{label:"BooleanFunction",type:"keyword",info:" th\nBooleanFunction[k, n] represents the k Boolean function"},{label:"BooleanGraph",type:"keyword",info:"BooleanGraph[bfunc, g , …, g ] gives the Boolean graph defined by the Boolean function bfunc on the "},{label:"BooleanMaxterms",type:"keyword",info:" th\nBooleanMaxterms[k, n] represents the k maxterm in n var"},{label:"BooleanMinimize",type:"keyword",info:"BooleanMinimize[expr] finds a minimal-length disjunctive normal form representation of expr.BooleanM"},{label:"BooleanMinterms",type:"keyword",info:" th\nBooleanMinterms[k, n] represents the k minterm in n var"},{label:"BooleanQ",type:"keyword",info:"BooleanQ[expr] returns True if expr is either True or False."},{label:"BooleanRegion",type:"keyword",info:"BooleanRegion[bfunc, {reg , reg , …}] represents the Boolean combination bfunc of regions reg , reg "},{label:"Booleans",type:"keyword",info:"Booleans represents the domain of Booleans, as in x ∈ Booleans. "},{label:"BooleanStrings",type:"keyword",info:"BooleanStrings is an option to TextString and related functions that determines what strings corresp"},{label:"BooleanTable",type:"keyword",info:"BooleanTable[bf] gives a list of truth values for all possible combinations of variable values suppl"},{label:"BooleanVariables",type:"keyword",info:"BooleanVariables[expr] gives a list of the Boolean variables in the Boolean expression expr.BooleanV"},{label:"BorderDimensions",type:"keyword",info:"BorderDimensions[image] gives the pixel width of uniform borders of image in the form {{left, right}"},{label:"BorelTannerDistribution",type:"keyword",info:"BorelTannerDistribution[Î\\[PlusMinus], n] represents a Borel–Tanner distribution with shape parameters Î\\[PlusMinus] and n."},{label:"Bottom",type:"keyword",info:"Bottom is a symbol that represents the bottom for purposes of alignment and positioning. "},{label:"BottomHatTransform",type:"keyword",info:"BottomHatTransform[image, ker] gives the morphological bottom-hat transform of image with respect to"},{label:"BoundaryDiscretizeGraphics",type:"keyword",info:"BoundaryDiscretizeGraphics[g] discretizes a 2D or 3D graphic g into a BoundaryMeshRegion.BoundaryDis"},{label:"BoundaryDiscretizeRegion",type:"keyword",info:"BoundaryDiscretizeRegion[reg] discretizes the region reg into a BoundaryMeshRegion.BoundaryDiscretiz"},{label:"BoundaryMesh",type:"keyword",info:"BoundaryMesh[mreg] gives a BoundaryMeshRegion from a MeshRegion mreg. "},{label:"BoundaryMeshRegion",type:"keyword",info:"BoundaryMeshRegion[{p , p , …}, {bcell [{i , …}], bcell [{j , …}], …}] yields a mesh with boundary c"},{label:"BoundaryMeshRegionQ",type:"keyword",info:"BoundaryMeshRegionQ[reg] yields True if the region reg is a valid BoundaryMeshRegion object and Fals"},{label:"BoundaryStyle",type:"keyword",info:"BoundaryStyle is an option for plotting functions that specifies the style in which boundaries of re"},{label:"BoundedRegionQ",type:"keyword",info:"BoundedRegionQ[reg] gives True if reg is a bounded region and False otherwise. "},{label:"BoundingRegion",type:"keyword",info:"BoundingRegion[{pt , pt , …}] gives the minimal axis-aligned bounding box for the points pt , pt , …"},{label:"Bounds",type:"keyword",info:"System`Bounds"},{label:"Box",type:"keyword",info:"System`Box"},{label:"BoxBaselineShift",type:"keyword",info:"BoxBaselineShift is an option for AdjustmentBox that specifies how much the baseline of the box shou"},{label:"BoxData",type:"keyword",info:"BoxData[boxes] is a low-level representation of the contents of a typesetting cell."},{label:"BoxDimensions",type:"keyword",info:"System`BoxDimensions"},{label:"Boxed",type:"keyword",info:"Boxed is an option for Graphics3D that specifies whether to draw the edges of the bounding box in a "},{label:"Boxes",type:"keyword",info:"Boxes is a symbol that represents typeset boxes in InputField and related functions."},{label:"BoxForm",type:"keyword",info:"System`BoxForm"},{label:"BoxFormFormatTypes",type:"keyword",info:"BoxFormFormatTypes is a global option that specifies the list of typeset format types that are curre"},{label:"BoxFrame",type:"keyword",info:"BoxFrame is an option for FrameBox objects that specifies whether to draw a frame around the content"},{label:"BoxID",type:"keyword",info:"System`BoxID"},{label:"BoxMargins",type:"keyword",info:"BoxMargins is an option for AdjustmentBox objects that specifies the margins to leave around the con"},{label:"BoxMatrix",type:"keyword",info:"BoxMatrix[r] gives a (2 r + 1) × (2r + 1) matrix of 1s.BoxMatrix[r, w] gives a (2 r + 1) × (2r + 1) "},{label:"BoxObject",type:"keyword",info:"BoxObject[id] is an object that represents a box structure in an open notebook in the front end."},{label:"BoxRatios",type:"keyword",info:"BoxRatios is an option for Graphics3D that gives the ratios of side lengths for the bounding box of "},{label:"BoxRotation",type:"keyword",info:"System`BoxRotation"},{label:"BoxRotationPoint",type:"keyword",info:"System`BoxRotationPoint"},{label:"BoxStyle",type:"keyword",info:"BoxStyle is an option for three-dimensional graphics functions that specifies how the bounding box s"},{label:"BoxWhiskerChart",type:"keyword",info:"BoxWhiskerChart[{x , x , …}] makes a box‐and‐whisker chart for the values x .BoxWhiskerChart[{x , x "},{label:"Bra",type:"keyword",info:"System`Bra"},{label:"BracketingBar",type:"keyword",info:"BracketingBar[x, y, …] displays as  x, y, … ."},{label:"BraKet",type:"keyword",info:"System`BraKet"},{label:"BrayCurtisDistance",type:"keyword",info:"BrayCurtisDistance[u, v] gives the Bray–Curtis distance between vectors u and v."},{label:"BreadthFirstScan",type:"keyword",info:"BreadthFirstScan[g, s, {event  f , event  f , …}] performs a breadth-first scan (bfs) of the gra"},{label:"Break",type:"keyword",info:"Break[] exits the nearest enclosing Do, For, or While. "},{label:"BridgeData",type:"keyword",info:"BridgeData[entity, property] gives the value of the specified property for the bridge entity.BridgeD"},{label:"BrightnessEqualize",type:"keyword",info:"BrightnessEqualize[image] adjusts the brightness across image, correcting uneven illumination.Bright"},{label:"BroadcastStationData",type:"keyword",info:"BroadcastStationData[entity, property] gives the value of the specified property for the broadcast s"},{label:"Brown",type:"keyword",info:"Brown represents the color brown in graphics or style specifications. "},{label:"BrownForsytheTest",type:"keyword",info:" "},{label:"BrownianBridgeProcess",type:"keyword",info:"BrownianBridgeProcess[σ, {t , a}, {t , b}] represents the Brownian bridge process from value a at ti"},{label:"BrowserCategory",type:"keyword",info:"System`BrowserCategory"},{label:"BSplineBasis",type:"keyword",info:" "},{label:"BSplineCurve",type:"keyword",info:"BSplineCurve[{pt , pt , …}] is a graphics primitive that represents a nonuniform rational B-spline c"},{label:"BSplineCurve3DBox",type:"keyword",info:"System`BSplineCurve3DBox"},{label:"BSplineCurve3DBoxOptions",type:"keyword",info:"BSplineCurve3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for BS"},{label:"BSplineCurveBox",type:"keyword",info:"System`BSplineCurveBox"},{label:"BSplineCurveBoxOptions",type:"keyword",info:"BSplineCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for BSpl"},{label:"BSplineFunction",type:"keyword",info:"BSplineFunction[{pt , pt , …}] represents a B-spline function for a curve defined by the control poi"},{label:"BSplineSurface",type:"keyword",info:"BSplineSurface[array] is a graphics primitive that represents a nonuniform rational B-spline surface"},{label:"BSplineSurface3DBox",type:"keyword",info:"System`BSplineSurface3DBox"},{label:"BSplineSurface3DBoxOptions",type:"keyword",info:"BSplineSurface3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for "},{label:"BubbleChart",type:"keyword",info:"BubbleChart[{{x , y , z }, {x , y , z }, …}] makes a bubble chart with bubbles at positions {x , y }"},{label:"BubbleChart3D",type:"keyword",info:"BubbleChart3D[{{x , y , z , u }, {x , y , z , u }, …}] makes a 3D bubble chart with bubbles at posit"},{label:"BubbleScale",type:"keyword",info:"BubbleScale is an option to BubbleChart and related functions that specifies how the scale of each b"},{label:"BubbleSizes",type:"keyword",info:"BubbleSizes is an option to BubbleChart and related functions that specifies the range of sizes used"},{label:"BuildingData",type:"keyword",info:"BuildingData[entity, property] gives the value of the specified property for the building entity.Bui"},{label:"BulletGauge",type:"keyword",info:"BulletGauge[value, reference, {min, max}] draws a bullet gauge showing value and reference in a rang"},{label:"BusinessDayQ",type:"keyword",info:"BusinessDayQ[date] returns True if the date is a business day and returns False otherwise."},{label:"ButterflyGraph",type:"keyword",info:"ButterflyGraph[n] gives the order-n butterfly graph. ButterflyGraph[n, b] gives the base-b order-n b"},{label:"ButterworthFilterModel",type:"keyword",info:"ButterworthFilterModel[n] creates a lowpass Butterworth filter of order n and cutoff frequency of 1."},{label:"Button",type:"keyword",info:"Button[label, action] represents a button that is labeled with label, and evaluates action whenever "},{label:"ButtonBar",type:"keyword",info:"ButtonBar[{lbl :> act , lbl :> act , …}] represents a bar of buttons with labels lbl that perform"},{label:"ButtonBox",type:"keyword",info:"ButtonBox[boxes] is a low-level box construct that represents a button in a notebook expression."},{label:"ButtonBoxOptions",type:"keyword",info:"ButtonBoxOptions is an option that specifies settings for ButtonBox."},{label:"ButtonCell",type:"keyword",info:"System`ButtonCell"},{label:"ButtonContents",type:"keyword",info:"System`ButtonContents"},{label:"ButtonData",type:"keyword",info:"ButtonData is an option for the low-level function ButtonBox that specifies the second argument to g"},{label:"ButtonEvaluator",type:"keyword",info:"ButtonEvaluator is an option for the low-level function ButtonBox that specifies where the expressio"},{label:"ButtonExpandable",type:"keyword",info:"ButtonExpandable is an option for the low-level function ButtonBox that specifies whether the button"},{label:"ButtonFrame",type:"keyword",info:"ButtonFrame is an option for the low-level function ButtonBox that specifies the type of frame to di"},{label:"ButtonFunction",type:"keyword",info:"ButtonFunction is an option for the low-level function ButtonBox that specifies the function to exec"},{label:"ButtonMargins",type:"keyword",info:"ButtonMargins is an option for ButtonBox that specifies how much space in printer's points to leave "},{label:"ButtonMinHeight",type:"keyword",info:"ButtonMinHeight is an option for the low-level function ButtonBox that specifies the minimum total h"},{label:"ButtonNote",type:"keyword",info:"ButtonNote is an option for ButtonBox that specifies what should be displayed in the status line of "},{label:"ButtonNotebook",type:"keyword",info:"ButtonNotebook[] gives the notebook, if any, that contains the button which initiated the current ev"},{label:"ButtonSource",type:"keyword",info:"ButtonSource is an option for the low-level function ButtonBox that specifies the first argument to "},{label:"ButtonStyle",type:"keyword",info:"ButtonStyle is an option for ButtonBox that specifies the default properties for the button. "},{label:"ButtonStyleMenuListing",type:"keyword",info:"System`ButtonStyleMenuListing"},{label:"Byte",type:"keyword",info:"Byte represents a single byte of data in Read. "},{label:"ByteArray",type:"keyword",info:'ByteArray[{b , b , …}] constructs a ByteArray object containing the byte values b .ByteArray["string'},{label:"ByteArrayFormat",type:"keyword",info:"ByteArrayFormat[ba] attempts to determine what ImportByteArray format could be used to import the By"},{label:"ByteArrayFormatQ",type:"keyword",info:'ByteArrayFormatQ[ba, "fmt"] gives True if the ByteArray object ba might be imported as format "fmt" '},{label:"ByteArrayQ",type:"keyword",info:"ByteArrayQ[expr] gives True if expr is a valid ByteArray object, and False otherwise."},{label:"ByteArrayToString",type:"keyword",info:"ByteArrayToString[ba] returns a string by decoding the data in the byte array ba, assuming UTF-8 enc"},{label:"ByteCount",type:"keyword",info:"ByteCount[expr] gives the number of bytes used internally by the Wolfram System to store expr. "},{label:"ByteOrdering",type:"keyword",info:"ByteOrdering is an option for BinaryRead, BinaryWrite, and related functions that specifies what ord"},{label:"C",type:"keyword",info:" th\nC[i] is the default form for the i parameter or constant "},{label:"CachedValue",type:"keyword",info:"System`CachedValue"},{label:"CacheGraphics",type:"keyword",info:"System`CacheGraphics"},{label:"CachePersistence",type:"keyword",info:"CachePersistence is an option for CloudObject and related cloud functions that specifies the time du"},{label:"CalendarConvert",type:"keyword",info:"CalendarConvert[date, calendar] converts the date object date to the specified calendar type calenda"},{label:"CalendarData",type:"keyword",info:"CalendarData[cal] gives the default parameters associated with the date calendar cal.CalendarData[co"},{label:"CalendarType",type:"keyword",info:"CalendarType is an option that determines the calendar system in which all dates are to be interpret"},{label:"Callout",type:"keyword",info:"Callout[data, expr] displays expr in a plot as a callout pointing to data.Callout[data, expr, pos] d"},{label:"CalloutMarker",type:"keyword",info:"CalloutMarker is an option for Callout that specifies what marker to draw at the end of the leader i"},{label:"CalloutStyle",type:"keyword",info:"CalloutStyle is an option for Callout that specifies what style to use for callouts."},{label:"CallPacket",type:"keyword",info:"CallPacket[integer, list] is a WSTP packet encapsulating a request to invoke the external function n"},{label:"CanberraDistance",type:"keyword",info:"CanberraDistance[u, v] gives the Canberra distance between vectors u and v."},{label:"Cancel",type:"keyword",info:"Cancel[expr] cancels out common factors in the numerator and denominator of expr. "},{label:"CancelButton",type:"keyword",info:"CancelButton[] represents a Cancel button in a dialog that closes the dialog window when clicked.Can"},{label:"CandlestickChart",type:"keyword",info:"CandlestickChart[{{date , {open , high , low , close }}, …}] makes a chart with candles representing"},{label:"CanonicalGraph",type:"keyword",info:"CanonicalGraph[g] gives a canonical form of the graph g.CanonicalGraph[{v  w, …}] uses rules v  w "},{label:"CanonicalizePolygon",type:"keyword",info:"CanonicalizePolygon[poly] gives a canonical representation of the polygon poly with shared coordinat"},{label:"CanonicalizePolyhedron",type:"keyword",info:"CanonicalizePolyhedron[poly] gives a canonical representation of the polyhedron poly with shared coo"},{label:"CanonicalizeRegion",type:"keyword",info:"CanonicalizeRegion[reg] gives a canonical representation of the region reg."},{label:"CanonicalName",type:"keyword",info:"CanonicalName[entity] gives the canonical name for the entity specified by entity.CanonicalName[{ent"},{label:"CanonicalWarpingCorrespondence",type:"keyword",info:"CanonicalWarpingCorrespondence[s , s ] gives the canonical time warping (CTW) correspondence between"},{label:"CanonicalWarpingDistance",type:"keyword",info:"CanonicalWarpingDistance[s , s ] gives the canonical time warping (CTW) distance between sequences s"},{label:"CantorMesh",type:"keyword",info:" th "},{label:"CantorStaircase",type:"keyword",info:"CantorStaircase[x] gives the Cantor staircase function F (x).\n "},{label:"Canvas",type:"keyword",info:"Canvas[] represents an empty canvas in the current notebook in which you can do free-form drawing.Ca"},{label:"Cap",type:"keyword",info:"Cap[x, y, …] displays as x ⌢ y ⌢ …."},{label:"CapForm",type:"keyword",info:"CapForm[type] is a graphics primitive that specifies what type of caps should be used at the ends of"},{label:"CapitalDifferentialD",type:"keyword",info:"CapitalDifferentialD[x] displays as  x."},{label:"Capitalize",type:"keyword",info:"Capitalize[string] yields a string in which the first character has been made uppercase.Capitalize[s"},{label:"CapsuleShape",type:"keyword",info:"CapsuleShape[{{x , y , z }, {x , y , z }}, r] represents the filled capsule between points {x , y , "},{label:"CaptureRunning",type:"keyword",info:"CaptureRunning is an option for signal acquisition functions that specifies whether to immediately s"},{label:"CardinalBSplineBasis",type:"keyword",info:"System`CardinalBSplineBasis"},{label:"CarlemanLinearize",type:"keyword",info:"CarlemanLinearize[sys, spec] Carleman linearizes the nonlinear state-space model sys according to sp"},{label:"CarlsonRC",type:"keyword",info:"CarlsonRC[x, y] gives the Carlson's elliptic integral R (x, y).\n "},{label:"CarlsonRD",type:"keyword",info:"CarlsonRD[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n "},{label:"CarlsonRE",type:"keyword",info:"CarlsonRE[x, y] gives the Carlson's elliptic integral R (x, y).\n "},{label:"CarlsonRF",type:"keyword",info:"CarlsonRF[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n "},{label:"CarlsonRG",type:"keyword",info:"CarlsonRG[x, y, z] gives the Carlson's elliptic integral R (x, y, z).\n "},{label:"CarlsonRJ",type:"keyword",info:"CarlsonRJ[x, y, z, ρ] gives Carlson's elliptic integral R (x, y, z, ρ).\n "},{label:"CarlsonRK",type:"keyword",info:"CarlsonRK[x, y] gives the Carlson's elliptic integral R (x, y).\n "},{label:"CarlsonRM",type:"keyword",info:"CarlsonRM[x, y, ρ] gives Carlson's elliptic integral R (x, y, ρ).\n "},{label:"CarmichaelLambda",type:"keyword",info:"CarmichaelLambda[n] gives the Carmichael function λ(n)."},{label:"CaseOrdering",type:"keyword",info:"CaseOrdering is an option for AlphabeticSort and related functions that specifies how upper versus l"},{label:"Cases",type:"keyword",info:"Cases[{e , e , …}, pattern] gives a list of the e that match the pattern. Cases[{e , …}, pattern  "},{label:"CaseSensitive",type:"keyword",info:"CaseSensitive[patt] represents a string pattern that requires matching typographical case, even with"},{label:"Cashflow",type:"keyword",info:"Cashflow[{c , c , …, c }] represents a series of cash flows occurring at unit time intervals.Cashflo"},{label:"Casoratian",type:"keyword",info:"Casoratian[{y , y , …}, n] gives the Casoratian determinant for the sequences y , y , … depending on"},{label:"Catalan",type:"keyword",info:"Catalan is Catalan's constant, with numerical value ≃ 0.915966. "},{label:"CatalanNumber",type:"keyword",info:" th\nCatalanNumber[n] gives the n Catalan number C .\n "},{label:"Catch",type:"keyword",info:"Catch[expr] returns the argument of the first Throw generated in the evaluation of expr. Catch[expr,"},{label:"CategoricalDistribution",type:"keyword",info:"CategoricalDistribution[{c , c , …}] generates a uniform categorical distribution over classes c , c"},{label:"Catenate",type:"keyword",info:"Catenate[{list , list , …}] yields a single list with all elements from the list in order. Catenate"},{label:"CatenateLayer",type:"keyword",info:"CatenateLayer[] represents a net layer that takes a list of input arrays and catenates them.Catenate"},{label:"CauchyDistribution",type:"keyword",info:"CauchyDistribution[a, b] represents a Cauchy distribution with location parameter a and scale parame"},{label:"CauchyPointProcess",type:"keyword",info:" "},{label:"CauchyWindow",type:"keyword",info:"CauchyWindow[x] represents a Cauchy window function of x.CauchyWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"CayleyGraph",type:"keyword",info:"CayleyGraph[group] returns a Cayley graph representation of group."},{label:"CDF",type:"keyword",info:"CDF[dist, x] gives the cumulative distribution function for the distribution dist evaluated at x.CDF"},{label:"CDFDeploy",type:"keyword",info:'CDFDeploy["file.cdf", expr] deploys expr in a form that can be played by Wolfram Player.CDFDeploy["f'},{label:"CDFInformation",type:"keyword",info:"CDFInformation[expr] gives a list of properties relevant to a CDF deployed with the content expr.CDF"},{label:"CDFWavelet",type:"keyword",info:'CDFWavelet[] represents a Cohen–Daubechies–Feauveau wavelet of type "9/7". CDFWavelet["type"] repres'},{label:"Ceiling",type:"keyword",info:"Ceiling[x] gives the smallest integer greater than or equal to x. Ceiling[x, a] gives the smallest m"},{label:"CelestialSystem",type:"keyword",info:"CelestialSystem is an option for SunPosition, MoonPosition, and related functions that specifies the"},{label:"Cell",type:"keyword",info:"Cell[contents] is the low-level representation of a cell inside a Wolfram System notebook. Cell[cont"},{label:"CellAutoOverwrite",type:"keyword",info:"CellAutoOverwrite is an option for Cell which specifies whether an output cell should be overwritten"},{label:"CellBaseline",type:"keyword",info:"CellBaseline is an option for Cell which specifies where the baseline of the cell should be assumed "},{label:"CellBoundingBox",type:"keyword",info:"System`CellBoundingBox"},{label:"CellBracketOptions",type:"keyword",info:"CellBracketOptions is an option for cells that specifies settings for cell brackets."},{label:"CellChangeTimes",type:"keyword",info:"CellChangeTimes is an option to Cell that specifies when changes were made to the cell."},{label:"CellContents",type:"keyword",info:"System`CellContents"},{label:"CellContext",type:"keyword",info:"CellContext is an option for Cell which specifies the context to use for the evaluation of the conte"},{label:"CellDingbat",type:"keyword",info:"CellDingbat is an option for Cell which specifies what dingbat to use to emphasize a cell. "},{label:"CellDynamicExpression",type:"keyword",info:"CellDynamicExpression is an option for cells that specifies an expression to be dynamically updated "},{label:"CellEditDuplicate",type:"keyword",info:"CellEditDuplicate is an option for Cell which specifies whether the front end should make a copy of "},{label:"CellElementsBoundingBox",type:"keyword",info:"System`CellElementsBoundingBox"},{label:"CellElementSpacings",type:"keyword",info:"System`CellElementSpacings"},{label:"CellEpilog",type:"keyword",info:"CellEpilog is an option for Cell which gives an expression to evaluate after each ordinary evaluatio"},{label:"CellEvaluationDuplicate",type:"keyword",info:"CellEvaluationDuplicate is an option for Cell which specifies whether the front end should make a co"},{label:"CellEvaluationFunction",type:"keyword",info:"CellEvaluationFunction is an option for Cell that gives a function to be applied to every expression"},{label:"CellEvaluationLanguage",type:"keyword",info:"System`CellEvaluationLanguage"},{label:"CellEventActions",type:"keyword",info:"CellEventActions is an option for Cell that gives a list of actions to perform when specified events"},{label:"CellFrame",type:"keyword",info:"CellFrame is an option for Cell that specifies whether a frame should be drawn around a cell. "},{label:"CellFrameColor",type:"keyword",info:"CellFrameColor is an option that specifies the color of the frame around a cell."},{label:"CellFrameLabelMargins",type:"keyword",info:"CellFrameLabelMargins is an option for cells that specifies the absolute margins in printer's points"},{label:"CellFrameLabels",type:"keyword",info:"CellFrameLabels is an option that specifies the labels associated with the frame around a cell."},{label:"CellFrameMargins",type:"keyword",info:"CellFrameMargins is an option for Cell that specifies the absolute margins in printer’s points to le"},{label:"CellFrameStyle",type:"keyword",info:"System`CellFrameStyle"},{label:"CellGroup",type:"keyword",info:"CellGroup[{cell , cell , …}] gives an open group of cells that can appear in a Wolfram System notebo"},{label:"CellGroupData",type:"keyword",info:"CellGroupData[{cell , cell , …}] is a low-level construct that represents an open group of cells in "},{label:"CellGrouping",type:"keyword",info:"CellGrouping is a notebook option that specifies how cells in the notebook should be assembled into "},{label:"CellGroupingRules",type:"keyword",info:"CellGroupingRules is an option for cells that specifies the rules used for grouping a cell."},{label:"CellHorizontalScrolling",type:"keyword",info:"CellHorizontalScrolling is an option for cells that specifies whether the contents of a cell can be "},{label:"CellID",type:"keyword",info:"CellID is an option for Cell that specifies a unique ID number for a cell."},{label:"CellInsertionPointCell",type:"keyword",info:"System`CellInsertionPointCell"},{label:"CellLabel",type:"keyword",info:"CellLabel is an option for Cell which gives the label to use for a particular cell. "},{label:"CellLabelAutoDelete",type:"keyword",info:"CellLabelAutoDelete is an option for Cell which specifies whether a label for the cell should be aut"},{label:"CellLabelMargins",type:"keyword",info:"CellLabelMargins is an option for cells that specifies the absolute margins in printer's points arou"},{label:"CellLabelPositioning",type:"keyword",info:"CellLabelPositioning is an option for cells that specifies where the label for a cell is positioned."},{label:"CellLabelStyle",type:"keyword",info:"CellLabelStyle is an option for Cell that specifies the style to use in displaying cell labels marki"},{label:"CellLabelTemplate",type:"keyword",info:"System`CellLabelTemplate"},{label:"CellMargins",type:"keyword",info:"CellMargins is an option for Cell that specifies the absolute margins in printer's points to leave a"},{label:"CellObject",type:"keyword",info:"CellObject[id] is an object that represents a cell in an open notebook in the front end."},{label:"CellOpen",type:"keyword",info:"CellOpen is an option for Cell that specifies whether the contents of a cell should be explicitly di"},{label:"CellPrint",type:"keyword",info:"CellPrint[expr] inserts expr as a complete cell in the current notebook just below the cell being ev"},{label:"CellProlog",type:"keyword",info:"CellProlog is an option to Cell that gives an expression to evaluate before each ordinary evaluation"},{label:"Cells",type:"keyword",info:"Cells[] returns a list of CellObject expressions corresponding to cells in the current notebook.Cell"},{label:"CellSize",type:"keyword",info:"CellSize is an option for cells that specifies the width and height of an inline cell."},{label:"CellStyle",type:"keyword",info:"CellStyle is a setting for functions such as NotebookFind and Cells that specifies the name of a cel"},{label:"CellTags",type:"keyword",info:"CellTags is an option for Cell that gives a list of tags to associate with a cell. "},{label:"CellTrayWidgets",type:"keyword",info:"System`CellTrayWidgets"},{label:"CellularAutomaton",type:"keyword",info:"CellularAutomaton[rule, init, t] generates a list representing the evolution of the cellular automat"},{label:"CensoredDistribution",type:"keyword",info:"CensoredDistribution[{x , x }, dist] represents the distribution of values that come from dist a"},{label:"Censoring",type:"keyword",info:"Censoring[t, c] represents a censored event time t with censoring c.Censoring[{t , t , …}, c] repres"},{label:"Center",type:"keyword",info:"Center is a symbol that represents the center for purposes of alignment and positioning. "},{label:"CenterArray",type:"keyword",info:"CenterArray[a, n] creates a list of length n with the elements of a at the center and zeros elsewher"},{label:"CenterDot",type:"keyword",info:"CenterDot[x, y, …] displays as x Â\\[CenterDot] y Â\\[CenterDot] …."},{label:"CenteredInterval",type:"keyword",info:"CenteredInterval[x, dx] for real numbers x and dx gives a centered interval that contains the real i"},{label:"CentralFeature",type:"keyword",info:"CentralFeature[{x , x , …}] gives the central feature of the elements x .CentralFeature[{x  v , x "},{label:"CentralMoment",type:"keyword",info:" th "},{label:"CentralMomentGeneratingFunction",type:"keyword",info:"CentralMomentGeneratingFunction[dist, t] gives the central moment-generating function for the distri"},{label:"Cepstrogram",type:"keyword",info:"Cepstrogram[data] plots the array of power cepstra computed on each partition of data.Cepstrogram[da"},{label:"CepstrogramArray",type:"keyword",info:"CepstrogramArray[data] computes an array of cepstra on data.CepstrogramArray[data, n] uses partition"},{label:"CepstrumArray",type:"keyword",info:"CepstrumArray[data] computes the power cepstrum of data.CepstrumArray[data, type] computes the speci"},{label:"CForm",type:"keyword",info:"CForm[expr] prints as a C language version of expr. "},{label:"ChampernowneNumber",type:"keyword",info:"ChampernowneNumber[b] gives the base-b Champernowne number C .ChampernowneNumber[] gives the base-10"},{label:"ChangeOptions",type:"keyword",info:"System`ChangeOptions"},{label:"ChannelBase",type:"keyword",info:"ChannelBase is an option specifying the base URL of the server to use for brokering channel communic"},{label:"ChannelBrokerAction",type:"keyword",info:"ChannelBrokerAction is an option specifying the action to execute on the channel broker server in ad"},{label:"ChannelDatabin",type:"keyword",info:"System`ChannelDatabin"},{label:"ChannelHistoryLength",type:"keyword",info:"ChannelHistoryLength is an option to ChannelListen that specifies the maximum number of messages to "},{label:"ChannelListen",type:"keyword",info:"ChannelListen[channel] starts listening on the specified channel.ChannelListen[channel, func] applie"},{label:"ChannelListener",type:"keyword",info:"ChannelListener[…] represents a channel listener created by ChannelListen."},{label:"ChannelListeners",type:"keyword",info:"ChannelListeners[] gives a list of currently active channel listeners."},{label:"ChannelListenerWait",type:"keyword",info:"System`ChannelListenerWait"},{label:"ChannelObject",type:"keyword",info:'ChannelObject[] gives a new anonymous channel specification.\\!RowBox[{"ChannelObject", "[", ""mqtt'},{label:"ChannelPreSendFunction",type:"keyword",info:"System`ChannelPreSendFunction"},{label:"ChannelReceiverFunction",type:"keyword",info:"ChannelReceiverFunction[fun] represents a channel receiver function that applies fun to any channel "},{label:"ChannelSend",type:"keyword",info:"ChannelSend[channel, msg] sends the specified message msg to the specified channel."},{label:"ChannelSubscribers",type:"keyword",info:"ChannelSubscribers[channel] gives a list of users currently subscribed to the specified channel.Chan"},{label:"ChanVeseBinarize",type:"keyword",info:"ChanVeseBinarize[image] finds a two-level segmentation of image by computing optimal contours around"},{label:"Character",type:"keyword",info:"Character represents a single character in Read. "},{label:"CharacterCounts",type:"keyword",info:'CharacterCounts["string"] gives an association whose keys are the distinct characters in string, and'},{label:"CharacterEncoding",type:"keyword",info:"CharacterEncoding is an option for input and output functions which specifies what raw character enc"},{label:"CharacterEncodingsPath",type:"keyword",info:"CharacterEncodingsPath is a global option that specifies which directories are searched for characte"},{label:"CharacteristicFunction",type:"keyword",info:"CharacteristicFunction[dist, t] gives the characteristic function for the distribution dist as a fun"},{label:"CharacteristicPolynomial",type:"keyword",info:"CharacteristicPolynomial[m, x] gives the characteristic polynomial for the matrix m. CharacteristicP"},{label:"CharacterName",type:"keyword",info:'CharacterName["c"] gives the name of the character c.CharacterName[n] gives the name of the characte'},{label:"CharacterNormalize",type:"keyword",info:'CharacterNormalize["text", form] converts the characters in text to the specified normalization form'},{label:"CharacterRange",type:"keyword",info:'CharacterRange[c , c ] yields a list of the characters in the range from "c " to "c ". CharacterRang'},{label:"Characters",type:"keyword",info:'Characters["string"] gives a list of the characters in a string. '},{label:"ChartBaseStyle",type:"keyword",info:"ChartBaseStyle is an option for charting functions that specifies the base style for all chart eleme"},{label:"ChartElementData",type:"keyword",info:"System`ChartElementData"},{label:"ChartElementDataFunction",type:"keyword",info:"System`ChartElementDataFunction"},{label:"ChartElementFunction",type:"keyword",info:"ChartElementFunction is an option for charting functions such as BarChart that gives a function to u"},{label:"ChartElements",type:"keyword",info:"ChartElements is an option to charting functions such as BarChart that specifies the graphics to use"},{label:"ChartLabels",type:"keyword",info:"ChartLabels is an option for charting functions that specifies what labels should be used for chart "},{label:"ChartLayout",type:"keyword",info:"ChartLayout is an option to charting functions that specifies the overall layout to use."},{label:"ChartLegends",type:"keyword",info:"ChartLegends is an option for charting functions that specifies what legends should be used for char"},{label:"ChartStyle",type:"keyword",info:"ChartStyle is an option for charting functions that specifies styles in which chart elements should "},{label:"Chebyshev1FilterModel",type:"keyword",info:"Chebyshev1FilterModel[n] creates a lowpass Chebyshev type 1 filter of order n.Chebyshev1FilterModel["},{label:"Chebyshev2FilterModel",type:"keyword",info:"Chebyshev2FilterModel[n] creates a lowpass Chebyshev type 2 filter of order n.Chebyshev2FilterModel["},{label:"ChebyshevDistance",type:"keyword",info:"ChebyshevDistance[u, v] gives the Chebyshev or sup norm distance between vectors u and v."},{label:"ChebyshevT",type:"keyword",info:"ChebyshevT[n, x] gives the Chebyshev polynomial of the first kind T (x). \n "},{label:"ChebyshevU",type:"keyword",info:"ChebyshevU[n, x] gives the Chebyshev polynomial of the second kind U (x). \n "},{label:"Check",type:"keyword",info:"Check[expr, failexpr] evaluates expr, and returns the result, unless messages were generated, in whi"},{label:"CheckAbort",type:"keyword",info:"CheckAbort[expr, failexpr] evaluates expr, returning failexpr if an abort occurs. "},{label:"CheckAll",type:"keyword",info:"CheckAll[expr, f] evaluates expr and returns f[expr, HoldComplete[control , …]] where the control e"},{label:"CheckArguments",type:"keyword",info:"CheckArguments[f[args], n] gives True if args consists of exactly n positional arguments followed by"},{label:"Checkbox",type:"keyword",info:"Checkbox[x] represents a checkbox with setting x, displayed as CheckboxBox[True] when x is True and "},{label:"CheckboxBar",type:"keyword",info:"CheckboxBar[x, {val , val , …}] represents a checkbox bar with setting x and with checkboxes for val"},{label:"CheckboxBox",type:"keyword",info:"System`CheckboxBox"},{label:"CheckboxBoxOptions",type:"keyword",info:"CheckboxBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Checkbox"},{label:"ChemicalData",type:"keyword",info:'ChemicalData["name", "property"] gives the value of the specified property for the chemical "name".C'},{label:"ChemicalFormula",type:"keyword",info:"ChemicalFormula[ elem  n , elem  n , …|>] represents a chemical species with n atoms of the el"},{label:"ChemicalReaction",type:"keyword",info:"ChemicalReaction[reactants  products] represents a chemical reaction between the given reactants an"},{label:"ChessboardDistance",type:"keyword",info:"ChessboardDistance[u, v] gives the chessboard, Chebyshev, or sup norm distance between vectors u and"},{label:"ChiDistribution",type:"keyword",info:"ChiDistribution[ν] represents a χ distribution with ν degrees of freedom."},{label:"ChineseRemainder",type:"keyword",info:"ChineseRemainder[{r , r , …}, {m , m , …}] gives the smallest x with x ≥ 0 that satisfies all the in"},{label:"ChiSquareDistribution",type:"keyword",info:" 2\nChiSquareDistribution[ν] represents a χ distribution with "},{label:"ChoiceButtons",type:"keyword",info:"ChoiceButtons[] represents a pair of OK and Cancel buttons that close a dialog.ChoiceButtons[{act ,"},{label:"ChoiceDialog",type:"keyword",info:"ChoiceDialog[expr] puts up a standard choice dialog that displays expr together with OK and Cancel b"},{label:"CholeskyDecomposition",type:"keyword",info:"CholeskyDecomposition[m] gives the Cholesky decomposition of a matrix m. "},{label:"Chop",type:"keyword",info:"Chop[expr] replaces approximate real numbers in expr that are close to zero by the exact integer 0. "},{label:"ChromaticityPlot",type:"keyword",info:"ChromaticityPlot[colspace] plots a 2D slice of the color space colspace. ChromaticityPlot[color] plo"},{label:"ChromaticityPlot3D",type:"keyword",info:"ChromaticityPlot3D[colspace] returns a 3D gamut of the color space colspace.ChromaticityPlot3D[color"},{label:"ChromaticPolynomial",type:"keyword",info:"ChromaticPolynomial[g, k] gives the chromatic polynomial of the graph g.ChromaticPolynomial[{v  w, "},{label:"Circle",type:"keyword",info:"Circle[{x, y}, r] represents a circle of radius r centered at {x, y}.Circle[{x, y}] gives a circle o"},{label:"CircleBox",type:"keyword",info:"System`CircleBox"},{label:"CircleDot",type:"keyword",info:"CircleDot[x, y, …] displays as x ⊙ y ⊙ …."},{label:"CircleMinus",type:"keyword",info:"CircleMinus[x, y] displays as x ⊖ y. "},{label:"CirclePlus",type:"keyword",info:"CirclePlus[x, y, …] displays as x ⊕ y ⊕ …."},{label:"CirclePoints",type:"keyword",info:"CirclePoints[n] gives the positions of n points equally spaced around the unit circle.CirclePoints[r"},{label:"CircleThrough",type:"keyword",info:"CircleThrough[{p , p , …}] represents a circle passing through the points p .CircleThrough[{p , p , "},{label:"CircleTimes",type:"keyword",info:"CircleTimes[x] displays as ⊗ x.CircleTimes[x, y, …] displays as x ⊗ y ⊗ ….\n"},{label:"CirculantGraph",type:"keyword",info:"CirculantGraph[n, j] gives the circulant graph C (j) with n vertices and jump j.CirculantGraph[n, {j"},{label:"CircularOrthogonalMatrixDistribution",type:"keyword",info:"CircularOrthogonalMatrixDistribution[n] represents a circular orthogonal matrix distribution with ma"},{label:"CircularQuaternionMatrixDistribution",type:"keyword",info:"CircularQuaternionMatrixDistribution[n] represents a circular quaternion matrix distribution with ma"},{label:"CircularRealMatrixDistribution",type:"keyword",info:"CircularRealMatrixDistribution[n] represents a circular real matrix distribution with matrix dimensi"},{label:"CircularSymplecticMatrixDistribution",type:"keyword",info:"CircularSymplecticMatrixDistribution[n] represents a circular symplectic matrix distribution with ma"},{label:"CircularUnitaryMatrixDistribution",type:"keyword",info:"CircularUnitaryMatrixDistribution[n] represents a circular unitary matrix distribution with matrix d"},{label:"Circumsphere",type:"keyword",info:" n\nCircumsphere[{"},{label:"CityData",type:"keyword",info:'CityData[name, "property"] gives the value of the specified property for the city with the specified'},{label:"ClassifierFunction",type:"keyword",info:"ClassifierFunction[…] represents a function generated by Classify that classifies data into classes."},{label:"ClassifierInformation",type:"keyword",info:"ClassifierInformation[classifier] generates a report giving information on the classifier function c"},{label:"ClassifierMeasurements",type:"keyword",info:"ClassifierMeasurements[classifier, testset, prop] gives measurements associated with property prop w"},{label:"ClassifierMeasurementsObject",type:"keyword",info:"ClassifierMeasurementsObject[…] represents an object generated by ClassifierMeasurements that can be"},{label:"Classify",type:"keyword",info:"Classify[{example  class , example  class , …}] generates a ClassifierFunction[…] based on the e"},{label:"ClassPriors",type:"keyword",info:"ClassPriors is an option for Classify and related functions that specifies explicit prior probabilit"},{label:"Clear",type:"keyword",info:'Clear[symbol , symbol , …] clears values and definitions for the symbol . Clear["form ", "form ", …]'},{label:"ClearAll",type:"keyword",info:"ClearAll[symb , symb , …] clears all values, definitions, attributes, messages, and defaults associa"},{label:"ClearAttributes",type:"keyword",info:"ClearAttributes[symbol, attr] removes attr from the list of attributes of the symbol symbol. ClearAt"},{label:"ClearCookies",type:"keyword",info:"ClearCookies[domain] clears all persistent and session cookies associated with the specified domain."},{label:"ClearPermissions",type:"keyword",info:"ClearPermissions[obj, class] clears permissions for the specified class of users for the cloud objec"},{label:"ClearSystemCache",type:"keyword",info:"ClearSystemCache[] clears internal system caches of stored results.ClearSystemCache[type] clears onl"},{label:"ClebschGordan",type:"keyword",info:"ClebschGordan[{j , m }, {j , m }, {j, m}] gives the Clebsch–Gordan coefficient for the decomposition"},{label:"ClickPane",type:"keyword",info:"ClickPane[image, func] represents a clickable pane that displays as image and applies func to the x,"},{label:"ClickToCopy",type:"keyword",info:"ClickToCopy[expr] represents a button that copies expr whenever it is clicked.ClickToCopy[label, exp"},{label:"ClickToCopyEnabled",type:"keyword",info:"ClickToCopyEnabled is an option for Cell that specifies whether to show a click-to-copy overlay when"},{label:"Clip",type:"keyword",info:"Clip[x] gives x clipped to be between -1 and +1. Clip[x, {min, max}] gives x for min ≤ x ≤ max, min "},{label:"ClipboardNotebook",type:"keyword",info:"System`ClipboardNotebook"},{label:"ClipFill",type:"keyword",info:"ClipFill is an option for plotting functions that specifies what should be shown where curves or sur"},{label:"ClippingStyle",type:"keyword",info:"ClippingStyle is an option for plotting functions that specifies the style of what should be drawn w"},{label:"ClipPlanes",type:"keyword",info:"ClipPlanes is an option to Graphics3D that specifies a list of clipping planes that can cut away por"},{label:"ClipPlanesStyle",type:"keyword",info:"ClipPlanesStyle is an option to Graphics3D that specifies how clipping planes defined with the ClipP"},{label:"ClipRange",type:"keyword",info:"ClipRange is an option to Raster3D that specifies a rectangular region that is cut away from the res"},{label:"Clock",type:"keyword",info:"Clock[] represents a clock variable whose value cycles continuously from 0 to 1 once per second when"},{label:"ClockGauge",type:"keyword",info:"ClockGauge[] draws an analog clock face showing the local time with hours, minutes, and seconds.Cloc"},{label:"ClockwiseContourIntegral",type:"keyword",info:"System`ClockwiseContourIntegral"},{label:"Close",type:"keyword",info:"Close[obj] closes a stream or socket. "},{label:"Closed",type:"keyword",info:"System`Closed"},{label:"CloseKernels",type:"keyword",info:"CloseKernels[] terminates all parallel kernels from the list Kernels[].CloseKernels[k] terminates th"},{label:"ClosenessCentrality",type:"keyword",info:"ClosenessCentrality[g] gives a list of closeness centralities for the vertices in the graph g.Closen"},{label:"Closing",type:"keyword",info:"Closing[image, ker] gives the morphological closing of image with respect to the structuring element"},{label:"ClosingAutoSave",type:"keyword",info:"ClosingAutoSave is an option for notebooks that specifies whether a notebook is automatically saved "},{label:"ClosingEvent",type:"keyword",info:"System`ClosingEvent"},{label:"CloudAccountData",type:"keyword",info:"CloudAccountData[] gives data associated with the cloud account currently being used.CloudAccountDat"},{label:"CloudBase",type:"keyword",info:"CloudBase is an option specifying the base URI of the server to use for cloud operations."},{label:"CloudConnect",type:"keyword",info:"CloudConnect[userid, password] authenticates to the Wolfram Cloud using the specified cloud user ID "},{label:"CloudConnections",type:"keyword",info:"CloudConnections[] gives a list of cloud accounts that are authenticated."},{label:"CloudDeploy",type:"keyword",info:"CloudDeploy[expr] deploys expr to a new anonymous cloud object.CloudDeploy[expr, location] deploys e"},{label:"CloudDirectory",type:"keyword",info:"CloudDirectory[] gives a CloudObject representing the current working directory used for cloud objec"},{label:"CloudDisconnect",type:"keyword",info:"CloudDisconnect[] disconnects a non-cloud instance of the Wolfram Language from the Wolfram Cloud."},{label:"CloudEvaluate",type:"keyword",info:"CloudEvaluate[expr] evaluates expr in the cloud and returns the result.CloudEvaluate[expr, h] wraps "},{label:"CloudExport",type:"keyword",info:'CloudExport[expr, "format"] exports expr to a new anonymous cloud object in the specified format.Clo'},{label:"CloudExpression",type:"keyword",info:'CloudExpression["name"] represents an expression whose value is persistently stored in the cloud.htt'},{label:"CloudExpressions",type:"keyword",info:"CloudExpressions[] gives a list of named cloud expressions owned by you. CloudExpressions[None] give"},{label:"CloudFunction",type:"keyword",info:"CloudFunction[fun] represents a pure function that evaluates fun[args] in the cloud.CloudFunction[Cl"},{label:"CloudGet",type:"keyword",info:'CloudGet["uri"] reads in a cloud object at a given URI, evaluating each expression in it and returni'},{label:"CloudImport",type:"keyword",info:'CloudImport["uri"] imports from a cloud object at a given URI.CloudImport["uri", elements] imports t'},{label:"CloudLoggingData",type:"keyword",info:"CloudLoggingData[] gives summary logging data for all your cloud objects.CloudLoggingData[category] "},{label:"CloudObject",type:"keyword",info:'CloudObject[] represents a new anonymous cloud object.http://…"], CloudObject["https://…"] represent'},{label:"CloudObjectInformation",type:"keyword",info:"CloudObjectInformation[obj] gives information about a cloud object.\nCloudObjectInformation[{obj, ..."},{label:"CloudObjectInformationData",type:"keyword",info:"System`CloudObjectInformationData"},{label:"CloudObjectNameFormat",type:"keyword",info:"CloudObjectNameFormat is an option for CloudObject and related objects that determines how the name "},{label:"CloudObjects",type:"keyword",info:"CloudObjects[] gives a list of cloud objects in your current cloud directory.CloudObjects[dir] gives"},{label:"CloudObjectURLType",type:"keyword",info:"CloudObjectURLType is an option for CloudObject and related objects that specifies the base type of "},{label:"CloudPublish",type:"keyword",info:"CloudPublish[] makes a public copy in the cloud of the current document.CloudPublish[obj] makes a pu"},{label:"CloudPut",type:"keyword",info:'CloudPut[expr] writes expr to a new anonymous cloud object.CloudPut[expr, "uri"] writes expr to a cl'},{label:"CloudRenderingMethod",type:"keyword",info:"CloudRenderingMethod is an option for Cell and Notebook that specifies how to render cells in the cl"},{label:"CloudSave",type:"keyword",info:"CloudSave[symbol] saves definitions associated with the specified symbol to a new anonymous cloud ob"},{label:"CloudShare",type:"keyword",info:"CloudShare[user] shares the current cloud document with the specified user.CloudShare[{user , user ,"},{label:"CloudSubmit",type:"keyword",info:"CloudSubmit[expr] submits expr for immediate asynchronous cloud evaluation. CloudSubmit[ScheduledTas"},{label:"CloudSymbol",type:"keyword",info:'CloudSymbol["name"] represents a symbol whose value is persistently stored in the cloud.CloudSymbol['},{label:"CloudUnshare",type:"keyword",info:"CloudUnshare[obj] cancels sharing of the cloud object obj with everyone.CloudUnshare[obj, users] can"},{label:"CloudUsageData",type:"keyword",info:'CloudUsageData[] gives usage data for all of your cloud objects.\nCloudUsageData["Periods"] lists all'},{label:"CloudUserID",type:"keyword",info:"System`CloudUserID"},{label:"ClusterClassify",type:"keyword",info:"ClusterClassify[data] generates a ClassifierFunction[…] by partitioning data into clusters of simila"},{label:"ClusterDissimilarityFunction",type:"keyword",info:"ClusterDissimilarityFunction is an option for ClusteringTree and Dendrogram that specifies the inter"},{label:"ClusteringComponents",type:"keyword",info:"ClusteringComponents[array] gives an array in which each element at the lowest level of array is rep"},{label:"ClusteringTree",type:"keyword",info:"ClusteringTree[{e , e , …}] constructs a weighted tree from the hierarchical clustering of the eleme"},{label:"CMYKColor",type:"keyword",info:"CMYKColor[c, m, y, k] represents a color in the CMYK color space with cyan, magenta, yellow and blac"},{label:"Coarse",type:"keyword",info:"System`Coarse"},{label:"CodeAssistOptions",type:"keyword",info:"CodeAssistOptions is an option for cells that specifies settings for controlling code input assistan"},{label:"Coefficient",type:"keyword",info:"Coefficient[expr, form] gives the coefficient of form in the polynomial expr. Coefficient[expr, form"},{label:"CoefficientArrays",type:"keyword",info:"CoefficientArrays[polys, vars] gives the arrays of coefficients of the variables vars in the polynom"},{label:"CoefficientDomain",type:"keyword",info:"System`CoefficientDomain"},{label:"CoefficientList",type:"keyword",info:"CoefficientList[poly, var] gives a list of coefficients of powers of var in poly, starting with powe"},{label:"CoefficientRules",type:"keyword",info:"CoefficientRules[poly, {x , x , …}] gives the list {{e , e , …}  c , {e , …}  c , …} of exponen"},{label:"CoifletWavelet",type:"keyword",info:"CoifletWavelet[] represents a Coiflet wavelet of order 2.CoifletWavelet[n] represents a Coiflet wave"},{label:"Collect",type:"keyword",info:"Collect[expr, x] collects together terms involving the same powers of objects matching x. Collect[ex"},{label:"CollinearPoints",type:"keyword",info:"CollinearPoints[{p , p , p , …, p }] tests whether the points p , p , p , …, p are collinear.\n "},{label:"Colon",type:"keyword",info:"Colon[x, y, …] displays as x âˆ\\[Paragraph] y âˆ\\[Paragraph] …."},{label:"ColonForm",type:"keyword",info:"ColonForm[a, b] prints as a : b."},{label:"ColorBalance",type:"keyword",info:"ColorBalance[image] adjusts the colors in image to achieve a balance that simulates the effect of ne"},{label:"ColorCombine",type:"keyword",info:"ColorCombine[{image , image , …}] creates a multichannel image by combining the sequence of channels"},{label:"ColorConvert",type:"keyword",info:"ColorConvert[color, colspace] converts the color space of a color to the specified color space colsp"},{label:"ColorCoverage",type:"keyword",info:"ColorCoverage is an option for DominantColors that specifies the minimum image coverage that each co"},{label:"ColorData",type:"keyword",info:'ColorData["scheme"] gives a function that generates colors in the named color scheme when applied to'},{label:"ColorDataFunction",type:"keyword",info:"ColorDataFunction[range, …] is a function that represents a color scheme. "},{label:"ColorDetect",type:"keyword",info:"ColorDetect[image, cspec] returns a mask image representing regions in image with colors within the "},{label:"ColorDistance",type:"keyword",info:"ColorDistance[c , c ] gives the approximate perceptual distance between color directives c and c .C"},{label:"ColorFunction",type:"keyword",info:"ColorFunction is an option for graphics functions that specifies a function to apply to determine co"},{label:"ColorFunctionBinning",type:"keyword",info:"ColorFunctionBinning is an option for plotting functions that divides values into a limited set of b"},{label:"ColorFunctionScaling",type:"keyword",info:"ColorFunctionScaling is an option for graphics functions that specifies whether arguments supplied t"},{label:"Colorize",type:"keyword",info:"Colorize[m] generates an image from an integer matrix m, using colors for positive integers and blac"},{label:"ColorNegate",type:"keyword",info:"ColorNegate[color] gives the negative of a color.ColorNegate[image] gives the negative of image, in "},{label:"ColorOutput",type:"keyword",info:"ColorOutput is an option for graphics functions that specifies the type of color output to produce. "},{label:"ColorProfileData",type:"keyword",info:'ColorProfileData[<>, "Description"  "desc", "DeviceColorSpace"  "device", "IndependentColorSpace" '},{label:"ColorQ",type:"keyword",info:"ColorQ[color] yields True if color is a valid color directive and False otherwise."},{label:"ColorQuantize",type:"keyword",info:"ColorQuantize[image] gives an approximation to image by quantizing to distinct colors.ColorQuantize["},{label:"ColorReplace",type:"keyword",info:"ColorReplace[image, color] finds regions in image whose pixel values are similar to color and replac"},{label:"ColorRules",type:"keyword",info:"ColorRules is an option that specifies how colors of cells should be determined from values. "},{label:"ColorSelectorSettings",type:"keyword",info:"ColorSelectorSettings is a global option that specifies settings for the Color dialog box."},{label:"ColorSeparate",type:"keyword",info:"ColorSeparate[image] gives a list of single-channel images corresponding to each of the color channe"},{label:"ColorSetter",type:"keyword",info:"ColorSetter[color] represents a color setter which displays as a swatch of the specified color and w"},{label:"ColorSetterBox",type:"keyword",info:"System`ColorSetterBox"},{label:"ColorSetterBoxOptions",type:"keyword",info:"ColorSetterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Color"},{label:"ColorSlider",type:"keyword",info:"ColorSlider[color] represents a color slider currently set to the color corresponding to color.Color"},{label:"ColorsNear",type:"keyword",info:"ColorsNear[color] represents a region around color.ColorsNear[color, d] represents a region with max"},{label:"ColorSpace",type:"keyword",info:"ColorSpace is an option for Image and related functions that specifies the color space to which colo"},{label:"ColorToneMapping",type:"keyword",info:"ColorToneMapping[image] applies a tone mapping to color values in image so as to make variations of "},{label:"Column",type:"keyword",info:"Column[{expr , expr , …}] is an object that formats with the expr arranged in a column, with expr "},{label:"ColumnAlignments",type:"keyword",info:"ColumnAlignments is an option for the low-level function GridBox that specifies how entries in each "},{label:"ColumnBackgrounds",type:"keyword",info:"System`ColumnBackgrounds"},{label:"ColumnForm",type:"keyword",info:"ColumnForm[{e , e , …}] prints as a column with e above e , etc. ColumnForm[list, horiz] specifies "},{label:"ColumnLines",type:"keyword",info:"ColumnLines is an option for the low-level function GridBox which specifies whether lines should be "},{label:"ColumnsEqual",type:"keyword",info:"ColumnsEqual is an option for the low-level function GridBox which specifies whether all columns in "},{label:"ColumnSpacings",type:"keyword",info:"ColumnSpacings is an option for the low-level function GridBox which specifies the spaces in ems tha"},{label:"ColumnWidths",type:"keyword",info:"ColumnWidths is an option for the low-level function GridBox which specifies the widths to use for c"},{label:"CombinatorB",type:"keyword",info:"CombinatorB represents the B combinator."},{label:"CombinatorC",type:"keyword",info:"CombinatorC represents the C combinator."},{label:"CombinatorI",type:"keyword",info:"CombinatorI represents the I combinator."},{label:"CombinatorK",type:"keyword",info:"CombinatorK represents the K combinator."},{label:"CombinatorS",type:"keyword",info:"CombinatorS represents the S combinator."},{label:"CombinatorW",type:"keyword",info:"CombinatorW represents the W combinator."},{label:"CombinatorY",type:"keyword",info:"CombinatorY represents the Y combinator."},{label:"CombinedEntityClass",type:"keyword",info:"CombinedEntityClass[class , class , prop] represents a class of entities obtained by combining the p"},{label:"CombinerFunction",type:"keyword",info:"CombinerFunction is an option for template functions that specifies how fragments should be assemble"},{label:"CometData",type:"keyword",info:"CometData[entity, property] gives the value of the specified property for the comet entity.CometData"},{label:"CommonDefaultFormatTypes",type:"keyword",info:"CommonDefaultFormatTypes is an option that specifies default formats for newly created cells."},{label:"Commonest",type:"keyword",info:"Commonest[list] gives a list of the elements that are the most common in list.Commonest[list, n] giv"},{label:"CommonestFilter",type:"keyword",info:" "},{label:"CommonName",type:"keyword",info:"CommonName[entity] gives the common name for the entity specified by entity.CommonName[{entity , …, "},{label:"CommonUnits",type:"keyword",info:"CommonUnits[{quantity , quantity , …, quantity }] converts quantity through quantity to common uni"},{label:"CommunityBoundaryStyle",type:"keyword",info:"CommunityBoundaryStyle is an option to CommunityGraphPlot that specifies how to style community boun"},{label:"CommunityGraphPlot",type:"keyword",info:"CommunityGraphPlot[g] generates a plot showing the community structure of the graph g.CommunityGraph"},{label:"CommunityLabels",type:"keyword",info:"CommunityLabels is an option to CommunityGraphPlot that controls what labels and placement to use fo"},{label:"CommunityRegionStyle",type:"keyword",info:"CommunityRegionStyle is an option to CommunityGraphPlot that specifies how to style community region"},{label:"CompanyData",type:"keyword",info:"CompanyData[entity, property] gives the value of the specified property for the company entity.Compa"},{label:"CompatibleUnitQ",type:"keyword",info:"CompatibleUnitQ[quantity , quantity ] returns True if quantity and quantity have compatible units,"},{label:"CompilationOptions",type:"keyword",info:"CompilationOptions is an option for Compile that specifies settings for the compilation process. "},{label:"CompilationTarget",type:"keyword",info:"CompilationTarget is an option for Compile that specifies the target runtime for the compiled functi"},{label:"Compile",type:"keyword",info:"Compile[{x , x , …}, expr] creates a compiled function that evaluates expr assuming numerical values"},{label:"Compiled",type:"keyword",info:"Compiled is an option for various numerical and plotting functions which specifies whether the expre"},{label:"CompiledCodeFunction",type:"keyword",info:"CompiledCodeFunction[…] is a function created by FunctionCompile that contains compiled code that is"},{label:"CompiledFunction",type:"keyword",info:"CompiledFunction[args…] represents compiled code for evaluating a compiled function. "},{label:"CompiledLayer",type:"keyword",info:"CompiledLayer[func] represents a net layer whose computation is defined by the compilable function f"},{label:"CompilerEnvironment",type:"keyword",info:"CompilerEnvironment is an option for FunctionCompile and related functions that allows definitions t"},{label:"CompilerEnvironmentAppend",type:"keyword",info:"System`CompilerEnvironmentAppend"},{label:"CompilerEnvironmentAppendTo",type:"keyword",info:"CompilerEnvironmentAppendTo[{def , def , …}] appends declarations to ECCompilerEnvironment.CompilerEn"},{label:"CompilerEnvironmentObject",type:"keyword",info:"CompilerEnvironmentObject represents a collection of definitions that can be included in compilation"},{label:"CompilerOptions",type:"keyword",info:"CompilerOptions is an option for FunctionCompile and related functions that allows options for the c"},{label:"Complement",type:"keyword",info:"Complement[e , e , e , …] gives the elements in e that are not in any of the e . \n a"},{label:"ComplementedEntityClass",type:"keyword",info:"ComplementedEntityClass[class , class , …] represents an entity class containing all the entities "},{label:"CompleteGraph",type:"keyword",info:"CompleteGraph[n] gives the complete graph with n vertices K .CompleteGraph[{n , n , …, n }] gives th"},{label:"CompleteGraphQ",type:"keyword",info:"CompleteGraphQ[g] yields True if the graph g is a complete graph, and False otherwise.CompleteGraphQ"},{label:"CompleteIntegral",type:"keyword",info:"CompleteIntegral[pde, u, {x , …, x }] gives a complete integral u for the first-order partial differ"},{label:"CompleteKaryTree",type:"keyword",info:"CompleteKaryTree[n] gives the complete binary tree with n levels.CompleteKaryTree[n, k] gives the co"},{label:"CompletionsListPacket",type:"keyword",info:"System`CompletionsListPacket"},{label:"Complex",type:"keyword",info:"Complex is the head used for complex numbers. "},{label:"ComplexArrayPlot",type:"keyword",info:"ComplexArrayPlot[array] generates a plot in which complex values z in an array array are shown in "},{label:"ComplexContourPlot",type:"keyword",info:"ComplexContourPlot[f, {z, z , z }] generates a filled contour plot of f as a function of z. Comp"},{label:"Complexes",type:"keyword",info:"Complexes represents the domain of complex numbers, as in x ∈ Complexes. "},{label:"ComplexExpand",type:"keyword",info:"ComplexExpand[expr] expands expr assuming that all variables are real. ComplexExpand[expr, {x , x , "},{label:"ComplexInfinity",type:"keyword",info:"ComplexInfinity represents a quantity with infinite magnitude, but undetermined complex phase. "},{label:"ComplexityFunction",type:"keyword",info:"ComplexityFunction is an option for Simplify and other functions which gives a function to rank the "},{label:"ComplexListPlot",type:"keyword",info:"ComplexListPlot[{z , z , …}] plots complex numbers z , z , … as points in the complex plane.ComplexL"},{label:"ComplexPlot",type:"keyword",info:"ComplexPlot[f, {z, z , z }] generates a plot of Arg[f] over the complex rectangle with corners z"},{label:"ComplexPlot3D",type:"keyword",info:"ComplexPlot3D[f, {z, z , z }] generates a 3D plot of Abs[f] colored by Arg[f] over the complex r"},{label:"ComplexRegionPlot",type:"keyword",info:"ComplexRegionPlot[pred, {z, z , z }] makes a plot showing the region in the complex plane for wh"},{label:"ComplexStreamPlot",type:"keyword",info:"ComplexStreamPlot[f, {z, z , z }] generates a streamline plot of the vector field {Re[f], Im[f]}"},{label:"ComplexVectorPlot",type:"keyword",info:"ComplexVectorPlot[f, {z, z , z }] generates a vector plot of the vector field {Re[f], Im[f]} ove"},{label:"ComponentMeasurements",type:"keyword",info:'ComponentMeasurements[{image, lmat}, "prop"] computes the property "prop" for components of image in'},{label:"ComponentwiseContextMenu",type:"keyword",info:"System`ComponentwiseContextMenu"},{label:"Compose",type:"keyword",info:"System`Compose"},{label:"ComposeList",type:"keyword",info:"ComposeList[{f , f , …}, x] generates a list of the form {x, f [x], f [f [x]], …}. \n 1 "},{label:"ComposeSeries",type:"keyword",info:"ComposeSeries[series , series , …] composes several power series. \n 1 2"},{label:"CompositeQ",type:"keyword",info:"CompositeQ[n] yields True if n is a composite number, and yields False otherwise. "},{label:"Composition",type:"keyword",info:"Composition[f , f , f , …] represents a composition of the functions f , f , f , …. \n 1 "},{label:"CompoundElement",type:"keyword",info:"CompoundElement[{spec , spec , …}] represents a form or interpreter specification for a list of fiel"},{label:"CompoundExpression",type:"keyword",info:"expr ; expr ; … evaluates the expr in turn, giving the last one as the result. \n 1 2 "},{label:"CompoundPoissonDistribution",type:"keyword",info:"CompoundPoissonDistribution[λ, dist] represents a compound Poisson distribution with rate parameter "},{label:"CompoundPoissonProcess",type:"keyword",info:"CompoundPoissonProcess[λ, jdist] represents a compound Poisson process with rate parameter λ and jum"},{label:"CompoundRenewalProcess",type:"keyword",info:"CompoundRenewalProcess[rdist, jdist] represents a compound renewal process with renewal-time distrib"},{label:"Compress",type:"keyword",info:"Compress[expr] gives a compressed representation of expr as a string. "},{label:"CompressedData",type:"keyword",info:"System`CompressedData"},{label:"CompressionLevel",type:"keyword",info:"CompressionLevel is an option for Export and CreateArchive that specifies the amount of compression "},{label:"ComputeUncertainty",type:"keyword",info:"ComputeUncertainty is an option for ClassifierMeasurements, LearnedDistribution and other functions "},{label:"ConcaveHullMesh",type:"keyword",info:"ConcaveHullMesh[{p , p , …}] gives the concave hull mesh from the points p , p , ….ConcaveHullMesh[{"},{label:"Condition",type:"keyword",info:"patt/;test is a pattern which matches only if the evaluation of test yields True. lhs :> rhs/;test r"},{label:"ConditionalExpression",type:"keyword",info:"ConditionalExpression[expr, cond] is a symbolic construct that represents the expression expr when t"},{label:"Conditioned",type:"keyword",info:"Conditioned[expr, cond] or expr  cond represents expr conditioned by the predicate cond."},{label:"Cone",type:"keyword",info:"Cone[{{x , y , z }, {x , y , z }}, r] represents a cone with a base of radius r centered at (x , y ,"},{label:"ConeBox",type:"keyword",info:"System`ConeBox"},{label:"ConfidenceLevel",type:"keyword",info:"ConfidenceLevel is an option for LinearModelFit and other fitting functions that specifies the level"},{label:"ConfidenceRange",type:"keyword",info:"ConfidenceRange is an option for SurvivalModelFit and other functions that specifies the range over "},{label:"ConfidenceTransform",type:"keyword",info:"ConfidenceTransform is an option for functions such as SurvivalModelFit that specifies the transform"},{label:"ConfigurationPath",type:"keyword",info:"ConfigurationPath is a global option that specifies which directories are searched for systemwide co"},{label:"Confirm",type:"keyword",info:"Confirm[expr] confirms that expr is not considered a failure, otherwise throwing an error to the nea"},{label:"ConfirmAssert",type:"keyword",info:"ConfirmAssert[test] confirms that test is True, otherwise throwing an error to the nearest surroundi"},{label:"ConfirmBy",type:"keyword",info:"ConfirmBy[expr, f] confirms that f[expr] returns True, otherwise throwing an error to the nearest su"},{label:"ConfirmMatch",type:"keyword",info:"ConfirmMatch[expr, form] confirms that expr matches the pattern form, otherwise throwing an error to"},{label:"ConfirmQuiet",type:"keyword",info:"ConfirmQuiet[expr] confirms that no messages are generated during the evaluation of expr, otherwise "},{label:"ConformationMethod",type:"keyword",info:"ConformationMethod is an option for VideoJoin and others that specifies how to conform frames of dif"},{label:"ConformAudio",type:"keyword",info:"ConformAudio[{audio , audio , …}] returns a list of audio objects where all audio are made to have "},{label:"ConformImages",type:"keyword",info:"ConformImages[{image , image , …}] returns a list of images where all image are made to have confor"},{label:"Congruent",type:"keyword",info:"Congruent[x, y, …] displays as x ≡ y ≡ …."},{label:"ConicGradientFilling",type:"keyword",info:"ConicGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that "},{label:"ConicHullRegion",type:"keyword",info:"ConicHullRegion[{p , …, p }] represents the m-dimensional affine hull region passing through poi"},{label:"ConicHullRegion3DBox",type:"keyword",info:"System`ConicHullRegion3DBox"},{label:"ConicHullRegionBox",type:"keyword",info:"System`ConicHullRegionBox"},{label:"ConicOptimization",type:"keyword",info:"ConicOptimization[f, cons, vars] finds values of variables vars that minimize the linear objective f"},{label:"Conjugate",type:"keyword",info:"Conjugate[z] or z  gives the complex conjugate of the complex number z. "},{label:"ConjugateTranspose",type:"keyword",info:" \nConjugateTranspose[m] or m gives the conjugate transpose of m. "},{label:"Conjunction",type:"keyword",info:"Conjunction[expr, {a , a , …}] gives the conjunction of expr over all choices of the Boolean variabl"},{label:"Connect",type:"keyword",info:"Connect is a setting for the LinkMode option of LinkOpen. LinkMode->Connect causes a link to be cre"},{label:"ConnectedComponents",type:"keyword",info:"ConnectedComponents[g] gives the connected components of the graph g.ConnectedComponents[g, {v , v ,"},{label:"ConnectedGraphComponents",type:"keyword",info:"ConnectedGraphComponents[g] gives the connected components of the graph g.ConnectedGraphComponents[g"},{label:"ConnectedGraphQ",type:"keyword",info:"ConnectedGraphQ[g] yields True if the graph g is connected, and False otherwise."},{label:"ConnectedMeshComponents",type:"keyword",info:"ConnectedMeshComponents[mr] gives a list {c , c , …} of disjoint path connected meshed regions.\n "},{label:"ConnectedMoleculeComponents",type:"keyword",info:"ConnectedMoleculeComponents[mol] gives the connected components of the molecule mol."},{label:"ConnectedMoleculeQ",type:"keyword",info:"ConnectedMoleculeQ[mol] returns True if the atoms in mol form are connected by bonds, and False othe"},{label:"ConnectionSettings",type:"keyword",info:"ConnectionSettings is an option for URLRead and related functions to specify advanced connection set"},{label:"ConnectLibraryCallbackFunction",type:"keyword",info:"ConnectLibraryCallbackFunction[mname, cf] connects a CompiledFunction cf with the library callback m"},{label:"ConnectSystemModelComponents",type:"keyword",info:"ConnectSystemModelComponents[{c ∈ comp , …}, {c . a  c . b, …}] creates a system model by connec"},{label:"ConnectSystemModelController",type:"keyword",info:"ConnectSystemModelController[model, controller] connects the system model model with a controller ac"},{label:"ConnesWindow",type:"keyword",info:"ConnesWindow[x] represents a Connes window function of x.ConnesWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"ConoverTest",type:"keyword",info:" "},{label:"ConservativeConvectionPDETerm",type:"keyword",info:"ConservativeConvectionPDETerm[vars, Î\\[PlusMinus]] represents a conservative convection term ∇ Â\\[CenterDot] (-Î\\[PlusMinus] "},{label:"ConsoleMessage",type:"keyword",info:"ConsoleMessage[expr] prints expr as a message to the Messages window of the frontend."},{label:"ConsoleMessagePacket",type:"keyword",info:"System`ConsoleMessagePacket"},{label:"Constant",type:"keyword",info:"Constant is an attribute that indicates zero derivative of a symbol with respect to all parameters. "},{label:"ConstantArray",type:"keyword",info:"ConstantArray[c, n] generates a list of n copies of the element c.ConstantArray[c, {n , n , …}] gene"},{label:"ConstantArrayLayer",type:"keyword",info:"ConstantArrayLayer[] represents a layer that has no input and produces as output a constant array.Co"},{label:"ConstantImage",type:"keyword",info:"ConstantImage[val, size] gives an image of the specified size with constant pixel values of val.Cons"},{label:"ConstantPlusLayer",type:"keyword",info:"ConstantPlusLayer[] represents a layer that adds a learnable bias to its input.ConstantPlusLayer[opt"},{label:"ConstantRegionQ",type:"keyword",info:"ConstantRegionQ[reg] gives True if the reg is a constant region and False otherwise."},{label:"Constants",type:"keyword",info:"Constants is an option for Dt which gives a list of objects to be taken as constants. "},{label:"ConstantTimesLayer",type:"keyword",info:"ConstantTimesLayer[] represents a layer that multiplies its input by a learnable scaling array.Const"},{label:"ConstellationData",type:"keyword",info:"ConstellationData[entity, property] gives the value of the specified property for the constellation "},{label:"ConstrainedMax",type:"keyword",info:"System`ConstrainedMax"},{label:"ConstrainedMin",type:"keyword",info:"System`ConstrainedMin"},{label:"Construct",type:"keyword",info:"Construct[f, x] gives f[x].Construct[f, x , …, x ] gives f[x , …, x ].\n "},{label:"Containing",type:"keyword",info:'Containing["outer", "inner"] represents an object of type outer containing objects of type inner.'},{label:"ContainsAll",type:"keyword",info:"ContainsAll[e , e ] yields True if e contains all of the elements of e .ContainsAll[e ] is an opera"},{label:"ContainsAny",type:"keyword",info:"ContainsAny[e , e ] yields True if e contains any of the elements of e .ContainsAny[e ] is an opera"},{label:"ContainsExactly",type:"keyword",info:"ContainsExactly[e , e ] yields True if e contains exactly the same elements as e .ContainsExactly[e"},{label:"ContainsNone",type:"keyword",info:"ContainsNone[e , e ] yields True if e contains none of the elements in e .ContainsNone[e ] is an op"},{label:"ContainsOnly",type:"keyword",info:"ContainsOnly[e , e ] yields True if e contains only elements that appear in e .ContainsOnly[e ] is "},{label:"ContentDetectorFunction",type:"keyword",info:"ContentDetectorFunction[…] represents a function generated by TrainImageContentDetector or TrainText"},{label:"ContentFieldOptions",type:"keyword",info:"ContentFieldOptions is an option for CreateSearchIndex and related functions that allows options to "},{label:"ContentLocationFunction",type:"keyword",info:"ContentLocationFunction is an option to CreateSearchIndex and related functions that specifies how t"},{label:"ContentObject",type:"keyword",info:'ContentObject["string"] gives a content object whose content is string.ContentObject[File[…]] gives '},{label:"ContentPadding",type:"keyword",info:"ContentPadding is an option for objects that can be displayed with frames that specifies whether the"},{label:"ContentsBoundingBox",type:"keyword",info:"System`ContentsBoundingBox"},{label:"ContentSelectable",type:"keyword",info:"ContentSelectable is an option to constructs such as Inset, Graphics, and GraphicsGroup that specifi"},{label:"ContentSize",type:"keyword",info:"ContentSize is an option for Manipulate and other functions that specifies the size of the content a"},{label:"Context",type:"keyword",info:"Context[] gives the current context. Context[symbol] gives the context in which a symbol appears. Co"},{label:"ContextMenu",type:"keyword",info:"System`ContextMenu"},{label:"Contexts",type:"keyword",info:'Contexts[] gives a list of all contexts. Contexts["string"] gives a list of the contexts that match '},{label:"ContextToFileName",type:"keyword",info:'ContextToFileName["context"] gives the string specifying the file name that is by convention associa'},{label:"Continuation",type:"keyword",info:"System`Continuation"},{label:"Continue",type:"keyword",info:"Continue[] exits to the nearest enclosing Do, For, or While in a procedural program. "},{label:"ContinuedFraction",type:"keyword",info:"ContinuedFraction[x, n] generates a list of the first n terms in the continued fraction representati"},{label:"ContinuedFractionK",type:"keyword",info:" i "},{label:"ContinuousAction",type:"keyword",info:"ContinuousAction is an option for Manipulate, Slider, and related functions that specifies whether a"},{label:"ContinuousMarkovProcess",type:"keyword",info:"ContinuousMarkovProcess[i , q] represents a continuous-time finite-state Markov process with transit"},{label:"ContinuousTask",type:"keyword",info:"ContinuousTask[expr] represents a task in which expr is continuously reevaluated.ContinuousTask[expr"},{label:"ContinuousTimeModelQ",type:"keyword",info:"ContinuousTimeModelQ[lsys] gives True if lsys is a continuous-time systems model, and False otherwis"},{label:"ContinuousWaveletData",type:"keyword",info:"ContinuousWaveletData[{{oct , voc } -> coef , …}, wave] yields a continuous wavelet data object with"},{label:"ContinuousWaveletTransform",type:"keyword",info:"ContinuousWaveletTransform[{x , x , …}] gives the continuous wavelet transform of a list of values x"},{label:"ContourDetect",type:"keyword",info:"ContourDetect[image] gives a binary image in which white pixels correspond to the zeros and zero cro"},{label:"ContourGraphics",type:"keyword",info:"ContourGraphics[array] is a representation of a contour plot. "},{label:"ContourIntegral",type:"keyword",info:"System`ContourIntegral"},{label:"ContourLabels",type:"keyword",info:"ContourLabels is an option for contour plots that specifies how to label contours. "},{label:"ContourLines",type:"keyword",info:"ContourLines is an option for contour plots that specifies whether to draw explicit contour lines. "},{label:"ContourPlot",type:"keyword",info:"ContourPlot[f, {x, x , x }, {y, y , y }] generates a contour plot of f as a function of x an"},{label:"ContourPlot3D",type:"keyword",info:"ContourPlot3D[f, {x, x , x }, {y, y , y }, {z, z , z }] produces a three-dimensional con"},{label:"Contours",type:"keyword",info:"Contours is an option for contour plots that specifies the contours to draw. "},{label:"ContourShading",type:"keyword",info:"ContourShading is an option for contour plots that specifies how the regions between contour lines s"},{label:"ContourSmoothing",type:"keyword",info:"System`ContourSmoothing"},{label:"ContourStyle",type:"keyword",info:"ContourStyle is an option for contour plots that specifies the style in which contour lines or surfa"},{label:"ContraharmonicMean",type:"keyword",info:"ContraharmonicMean[list] gives the contraharmonic mean of the values in list.ContraharmonicMean[list"},{label:"ContrastiveLossLayer",type:"keyword",info:"ContrastiveLossLayer[] represents a loss layer that computes a loss based on a distance metric and a"},{label:"Control",type:"keyword",info:"Control[{u, dom}] represents an interactive control for the variable u in the domain dom, with the t"},{label:"ControlActive",type:"keyword",info:"ControlActive[act, norm] evaluates to act if a control that affects act is actively being used, and "},{label:"ControlAlignment",type:"keyword",info:"System`ControlAlignment"},{label:"ControlGroupContentsBox",type:"keyword",info:"System`ControlGroupContentsBox"},{label:"ControllabilityGramian",type:"keyword",info:"ControllabilityGramian[ssm] gives the controllability Gramian of the state-space model ssm."},{label:"ControllabilityMatrix",type:"keyword",info:"ControllabilityMatrix[ssm] gives the controllability matrix of the state-space model ssm."},{label:"ControllableDecomposition",type:"keyword",info:"ControllableDecomposition[sys] yields the controllable subsystem of the state-space model sys.Contro"},{label:"ControllableModelQ",type:"keyword",info:"ControllableModelQ[sys] yields True if the state-space model sys is controllable, and False otherwis"},{label:"ControllerDuration",type:"keyword",info:"System`ControllerDuration"},{label:"ControllerInformation",type:"keyword",info:"ControllerInformation[] gives dynamically updated information on currently connected controller devi"},{label:"ControllerInformationData",type:"keyword",info:"System`ControllerInformationData"},{label:"ControllerLinking",type:"keyword",info:"ControllerLinking is an option for Manipulate, Graphics3D, Plot3D, and related functions that specif"},{label:"ControllerManipulate",type:"keyword",info:"ControllerManipulate[expr, {u, u , u }] generates a version of expr set up to allow interactive "},{label:"ControllerMethod",type:"keyword",info:"ControllerMethod is an option for Manipulate, Graphics3D, Plot3D, and related functions that specifi"},{label:"ControllerPath",type:"keyword",info:"ControllerPath is an option that gives a list of external controllers or classes of controllers to t"},{label:"ControllerState",type:"keyword",info:'ControllerState["c"] gives the state of the control c for the first connected controller device on w'},{label:"ControlPlacement",type:"keyword",info:"ControlPlacement is an option for Manipulate, TabView, and other control objects that specifies wher"},{label:"ControlsRendering",type:"keyword",info:"ControlsRendering is a Style option that specifies how controls should be rendered."},{label:"ControlType",type:"keyword",info:"ControlType is an option for Manipulate and related functions that specifies what type of controls s"},{label:"ConvectionPDETerm",type:"keyword",info:"ConvectionPDETerm[vars, Î.b2] represents a convection term Î.b2 Â\\[CenterDot] ∇ u with convection coefficie"},{label:"Convergents",type:"keyword",info:"Convergents[list] gives a list of the convergents corresponding to the continued fraction terms list"},{label:"ConversionOptions",type:"keyword",info:"ConversionOptions is an option to Import and Export used to pass special options to a particular for"},{label:"ConversionRules",type:"keyword",info:"ConversionRules is an option for Cell that can be set to a list of rules specifying how the contents"},{label:"ConvertToBitmapPacket",type:"keyword",info:"System`ConvertToBitmapPacket"},{label:"ConvertToPostScript",type:"keyword",info:"System`ConvertToPostScript"},{label:"ConvertToPostScriptPacket",type:"keyword",info:"ConvertToPostScriptPacket is an internal symbol used for formatting."},{label:"ConvexHullMesh",type:"keyword",info:"ConvexHullMesh[{p , p , …}] gives a BoundaryMeshRegion representing the convex hull from the points "},{label:"ConvexHullRegion",type:"keyword",info:"ConvexHullRegion[{p , p , …}] gives the convex hull from the points p , p , ….ConvexHullRegion[reg] "},{label:"ConvexOptimization",type:"keyword",info:"ConvexOptimization[f, cons, vars] finds values of variables vars that minimize the convex objective "},{label:"ConvexPolygonQ",type:"keyword",info:"ConvexPolygonQ[poly] gives True if the polygon poly is convex, and False otherwise."},{label:"ConvexPolyhedronQ",type:"keyword",info:"ConvexPolyhedronQ[poly] gives True if the polyhedron poly is convex, and False otherwise."},{label:"ConvexRegionQ",type:"keyword",info:"ConvexRegionQ[reg] gives True if reg is a convex region and False otherwise. "},{label:"ConvolutionLayer",type:"keyword",info:"ConvolutionLayer[n, s] represents a trainable convolutional net layer having n output channels and u"},{label:"Convolve",type:"keyword",info:"Convolve[f, g, x, y] gives the convolution with respect to x of the expressions f and g.Convolve[f, "},{label:"ConwayGroupCo1",type:"keyword",info:"ConwayGroupCo1[] represents the sporadic simple Conway group Co .\n "},{label:"ConwayGroupCo2",type:"keyword",info:"ConwayGroupCo2[] represents the sporadic simple Conway group Co .\n "},{label:"ConwayGroupCo3",type:"keyword",info:"ConwayGroupCo3[] represents the sporadic simple Conway group Co .\n "},{label:"CookieFunction",type:"keyword",info:"CookieFunction is an option for URLRead, HTTPRequest, and related functions that gives a function to"},{label:"Cookies",type:"keyword",info:"System`Cookies"},{label:"CoordinateBoundingBox",type:"keyword",info:"CoordinateBoundingBox[coords] gives the corners {{x , y , …}, {x , y , …}} of the bounding b"},{label:"CoordinateBoundingBoxArray",type:"keyword",info:"CoordinateBoundingBoxArray[{{x , y , …}, {x , y , …}}] generates an array of {x, y, …} coord"},{label:"CoordinateBounds",type:"keyword",info:"CoordinateBounds[coords] gives a list {{x , x }, {y , y }, …} of the bounds in each dimensio"},{label:"CoordinateBoundsArray",type:"keyword",info:"CoordinateBoundsArray[{{x , x }, {y , y }, …}] generates an array of {x, y, …} coordinates w"},{label:"CoordinateChartData",type:"keyword",info:"CoordinateChartData[chart, property] gives the value of the specified property for chart.CoordinateC"},{label:"CoordinatesToolOptions",type:"keyword",info:"CoordinatesToolOptions is an option for Graphics that gives values of options associated with the Ge"},{label:"CoordinateTransform",type:"keyword",info:"CoordinateTransform[t, pt] performs the coordinate transformation t on the point pt.CoordinateTransf"},{label:"CoordinateTransformData",type:"keyword",info:"CoordinateTransformData[t, property] gives the value of the specified property for the coordinate tr"},{label:"CoplanarPoints",type:"keyword",info:"CoplanarPoints[{p , p , p , p , …, p }] tests whether the points p , p , p , p , …, p are coplanar."},{label:"CoprimeQ",type:"keyword",info:"CoprimeQ[n , n ] yields True if n and n are relatively prime, and yields False otherwise. CoprimeQ"},{label:"Coproduct",type:"keyword",info:"Coproduct[x, y, …] displays as x ∐ y ∐ …."},{label:"CopulaDistribution",type:"keyword",info:"CopulaDistribution[ker, {dist , dist , …}] represents a copula distribution with kernel distribution"},{label:"Copyable",type:"keyword",info:"Copyable is an option for Cell that specifies whether a cell can be copied interactively using the f"},{label:"CopyDatabin",type:"keyword",info:"CopyDatabin[bin] creates a copy of a databin.CopyDatabin[bin, options] creates a copy with the speci"},{label:"CopyDirectory",type:"keyword",info:"CopyDirectory[dir , dir ] copies the directory dir to dir . \n 1 2 "},{label:"CopyFile",type:"keyword",info:"CopyFile[file , file ] copies from the local, remote or cloud file file to the local, remote or clo"},{label:"CopyFunction",type:"keyword",info:"CopyFunction is an option for TemplateBox that specifies how the box is to be copied."},{label:"CopyTag",type:"keyword",info:"System`CopyTag"},{label:"CopyToClipboard",type:"keyword",info:"CopyToClipboard[expr] replaces the contents of the clipboard with expr."},{label:"CoreNilpotentDecomposition",type:"keyword",info:"CoreNilpotentDecomposition[m] yields the core-nilpotent decomposition of a square matrix m."},{label:"CornerFilter",type:"keyword",info:"CornerFilter[image] computes a measure for the presence of a corner for each pixel in image and retu"},{label:"CornerNeighbors",type:"keyword",info:"CornerNeighbors is an option for various array and image processing functions that specifies whether"},{label:"Correlation",type:"keyword",info:" "},{label:"CorrelationDistance",type:"keyword",info:"CorrelationDistance[u, v] gives the correlation coefficient distance between vectors u and v."},{label:"CorrelationFunction",type:"keyword",info:"CorrelationFunction[data, hspec] estimates the correlation function at lags hspec from data.Correlat"},{label:"CorrelationTest",type:"keyword",info:"CorrelationTest[{{x , y }, {x , y }, …}] tests whether the correlation coefficient for a bivariate p"},{label:"Cos",type:"keyword",info:"Cos[z] gives the cosine of z. "},{label:"Cosh",type:"keyword",info:"Cosh[z] gives the hyperbolic cosine of z. "},{label:"CoshIntegral",type:"keyword",info:"CoshIntegral[z] gives the hyperbolic cosine integral Chi(z)."},{label:"CosineDistance",type:"keyword",info:"CosineDistance[u, v] gives the angular cosine distance between vectors u and v."},{label:"CosineWindow",type:"keyword",info:"CosineWindow[x] represents a cosine window function of x.CosineWindow[x, Î\\[PlusMinus]] uses the exponent Î\\[PlusMinus].\n"},{label:"CosIntegral",type:"keyword",info:"CosIntegral[z] gives the cosine integral function Ci(z). "},{label:"Cot",type:"keyword",info:"Cot[z] gives the cotangent of z. "},{label:"Coth",type:"keyword",info:"Coth[z] gives the hyperbolic cotangent of z. "},{label:"CoulombF",type:"keyword",info:"CoulombF[l, Î\\[CenterDot], r] gives the regular Coulomb wavefunction F (Î\\[CenterDot], r).\n "},{label:"CoulombG",type:"keyword",info:"CoulombG[l, Î\\[CenterDot], r] gives the irregular Coulomb wavefunction G (Î\\[CenterDot], r).\n "},{label:"CoulombH1",type:"keyword",info:" (+)\nCoulombH1[l, Î\\[CenterDot], r] gives t"},{label:"CoulombH2",type:"keyword",info:" (-)\nCoulombH2[l, Î\\[CenterDot], r] gives t"},{label:"Count",type:"keyword",info:"Count[list, pattern] gives the number of elements in list that match pattern. Count[expr, pattern, l"},{label:"CountDistinct",type:"keyword",info:"CountDistinct[list] gives the number of distinct elements that appear in list."},{label:"CountDistinctBy",type:"keyword",info:"CountDistinctBy[{e , e , …}, f] gives the number of distinct values of f[e ] that occur.CountDistinc"},{label:"CounterAssignments",type:"keyword",info:"CounterAssignments is an option for selections that sets the value of a specified counter."},{label:"CounterBox",type:"keyword",info:"System`CounterBox"},{label:"CounterBoxOptions",type:"keyword",info:"CounterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for CounterBo"},{label:"CounterClockwiseContourIntegral",type:"keyword",info:"System`CounterClockwiseContourIntegral"},{label:"CounterEvaluator",type:"keyword",info:"System`CounterEvaluator"},{label:"CounterFunction",type:"keyword",info:"CounterFunction is an option for counters that specifies the symbols used to display the value of th"},{label:"CounterIncrements",type:"keyword",info:"CounterIncrements is an option for selections that specifies whether the value of a specified counte"},{label:"CounterStyle",type:"keyword",info:"System`CounterStyle"},{label:"CounterStyleMenuListing",type:"keyword",info:"CounterStyleMenuListing is an option for cells that specifies what counter styles are listed in the "},{label:"CountRoots",type:"keyword",info:"CountRoots[f, x] gives the number of real roots of the univariate function f in x.CountRoots[f, {x, "},{label:"CountryData",type:"keyword",info:'CountryData["tag", property] gives the value of the specified property for the country, country-like'},{label:"Counts",type:"keyword",info:"Counts[list] gives an association whose keys are the distinct elements of list, and whose values giv"},{label:"CountsBy",type:"keyword",info:"CountsBy[{e , e , …}, f] gives an association whose keys are the distinct values of the f[e ], and w"},{label:"Covariance",type:"keyword",info:" "},{label:"CovarianceEstimatorFunction",type:"keyword",info:"CovarianceEstimatorFunction is an option for generalized linear model fitting functions that specifi"},{label:"CovarianceFunction",type:"keyword",info:"CovarianceFunction[data, hspec] estimates the covariance function at lags hspec from data.Covariance"},{label:"CoxianDistribution",type:"keyword",info:"CoxianDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {λ , …, λ }] represent an m-phase Coxian distribution with phase"},{label:"CoxIngersollRossProcess",type:"keyword",info:"CoxIngersollRossProcess[μ, σ, θ, x ] represents a Cox–Ingersoll–Ross process with long‐term mean μ, "},{label:"CoxModel",type:"keyword",info:"CoxModel[…] represents the symbolic proportional hazards model obtained from CoxModelFit."},{label:"CoxModelFit",type:"keyword",info:"CoxModelFit[{e , …, e }] constructs a model of the baseline hazard h (t) for events times e .CoxMode"},{label:"CramerVonMisesTest",type:"keyword",info:"CramerVonMisesTest[data] tests whether data is normally distributed using the Cramér–von Mises test."},{label:"CreateArchive",type:"keyword",info:"CreateArchive[source] creates a compressed archive in the current directory from source.CreateArchiv"},{label:"CreateCellID",type:"keyword",info:"CreateCellID is an option for Notebook that specifies whether to assign a CellID to cells created in"},{label:"CreateChannel",type:"keyword",info:"CreateChannel[] creates a new channel for channel communication, with a generated name.CreateChannel"},{label:"CreateCloudExpression",type:"keyword",info:"CreateCloudExpression[value] creates a new anonymous cloud expression that stores the specified init"},{label:"CreateCompilerEnvironment",type:"keyword",info:"CreateCompilerEnvironment[] creates a compiler environment that can be used in FunctionCompile and r"},{label:"CreateDatabin",type:"keyword",info:"CreateDatabin[] creates a databin in the Wolfram Data Drop and returns the corresponding Databin obj"},{label:"CreateDataStructure",type:"keyword",info:'CreateDataStructure["type", arg , arg , …] creates a data structure with the specified type.\n '},{label:"CreateDataSystemModel",type:"keyword",info:"CreateDataSystemModel[{v , v , …}] creates a SystemModel generating a signal of values v . CreateDat"},{label:"CreateDialog",type:"keyword",info:"CreateDialog[expr] creates a dialog notebook containing expr and opens it in the front end.CreateDia"},{label:"CreateDirectory",type:"keyword",info:'CreateDirectory["dir"] creates a directory with name dir. CreateDirectory[] creates a directory in t'},{label:"CreateDocument",type:"keyword",info:"CreateDocument[] creates an empty document notebook and opens it in the front end.CreateDocument[exp"},{label:"CreateFile",type:"keyword",info:'CreateFile["file"] creates a file with name file. CreateFile[] creates a file in the default area fo'},{label:"CreateIntermediateDirectories",type:"keyword",info:"CreateIntermediateDirectories is an option for CreateDirectory and related functions that specifies "},{label:"CreateLicenseEntitlement",type:"keyword",info:"CreateLicenseEntitlement[settings] creates an on-demand license entitlement using settings.CreateLic"},{label:"CreateManagedLibraryExpression",type:"keyword",info:"CreateManagedLibraryExpression[mname, f] creates a managed library expression by applying f to a pos"},{label:"CreateNotebook",type:"keyword",info:'CreateNotebook[] creates a generic empty notebook and opens it in the front end.CreateNotebook["type'},{label:"CreatePacletArchive",type:"keyword",info:"CreatePacletArchive[source] creates a paclet archive file from source.CreatePacletArchive[source, de"},{label:"CreatePalette",type:"keyword",info:"CreatePalette[expr] creates a palette notebook containing expr, and opens it in the front end.Create"},{label:"CreatePalettePacket",type:"keyword",info:"System`CreatePalettePacket"},{label:"CreatePermissionsGroup",type:"keyword",info:'CreatePermissionsGroup["name"] creates a permissions group with the specified name.CreatePermissions'},{label:"CreateScheduledTask",type:"keyword",info:"CreateScheduledTask[expr] creates a local scheduled task that will repeatedly evaluate expr once per"},{label:"CreateSearchIndex",type:"keyword",info:"CreateSearchIndex[dir] creates a search index from all files in the directory dir and its subdirecto"},{label:"CreateSystemModel",type:"keyword",info:"CreateSystemModel[sys] creates a Modelica SystemModel from the systems model sys. CreateSystemModel["},{label:"CreateTemporary",type:"keyword",info:"CreateTemporary[] creates a temporary file with a unique name in the default temporary directory and"},{label:"CreateUUID",type:"keyword",info:'CreateUUID[] creates a random, universally unique UUID string.CreateUUID["base"] appends a UUID stri'},{label:"CreateWindow",type:"keyword",info:"CreateWindow[] creates an empty window in the front end.CreateWindow[expr] creates a window displayi"},{label:"CriterionFunction",type:"keyword",info:"CriterionFunction is an option in functions such as ClusterClassify that specifies the criterion to "},{label:"CriticalityFailureImportance",type:"keyword",info:"CriticalityFailureImportance[rdist, t] gives the criticality failure importances for all components "},{label:"CriticalitySuccessImportance",type:"keyword",info:"CriticalitySuccessImportance[rdist, t] gives the criticality success importances for all components "},{label:"CriticalSection",type:"keyword",info:"CriticalSection[var, expr] locks the variable var with respect to parallel computation, evaluates ex"},{label:"Cross",type:"keyword",info:"Cross[a, b] gives the vector cross product of a and b. "},{label:"CrossEntropyLossLayer",type:"keyword",info:'CrossEntropyLossLayer["Index"] represents a net layer that computes the cross-entropy loss by compar'},{label:"CrossingCount",type:"keyword",info:"CrossingCount[contour, p] gives a count of the number of times a ray starting from the point p cross"},{label:"CrossingDetect",type:"keyword",info:"CrossingDetect[image] gives a binary image in which white pixels correspond to the zero crossings in"},{label:"CrossingPolygon",type:"keyword",info:"CrossingPolygon[{p , p , …, p }] gives a Polygon representing all points for which a ray from the po"},{label:"CrossMatrix",type:"keyword",info:" "},{label:"Csc",type:"keyword",info:"Csc[z] gives the cosecant of z. "},{label:"Csch",type:"keyword",info:"Csch[z] gives the hyperbolic cosecant of z. "},{label:"CSGRegion",type:"keyword",info:'CSGRegion["op", {reg , reg , …}] represents the solid region corresponding to the Boolean combinatio'},{label:"CSGRegionQ",type:"keyword",info:"CSGRegionQ[reg] yields True if the region reg is a valid CSGRegion object and False otherwise."},{label:"CSGRegionTree",type:"keyword",info:"CSGRegionTree[reg] gives the tree expression representing the CSG region reg."},{label:"CTCLossLayer",type:"keyword",info:"CTCLossLayer[] represents a net layer that computes the connectionist temporal classification loss b"},{label:"Cube",type:"keyword",info:"Cube[] represents a regular cube centered at the origin with unit edge length.Cube[l] represents a c"},{label:"CubeRoot",type:"keyword",info:"CubeRoot[x] gives the real-valued cube root of x."},{label:"Cubics",type:"keyword",info:"Cubics is an option for functions that involve solving algebraic equations, that specifies whether e"},{label:"Cuboid",type:"keyword",info:"Cuboid[p ] represents a unit hypercube with its lower corner at p .Cuboid[p , p ] represents"},{label:"CuboidBox",type:"keyword",info:"System`CuboidBox"},{label:"Cumulant",type:"keyword",info:" th th "},{label:"CumulantGeneratingFunction",type:"keyword",info:"CumulantGeneratingFunction[dist, t] gives the cumulant-generating function for the distribution dist"},{label:"Cup",type:"keyword",info:"Cup[x, y, …] displays as x ⌣ y ⌣ …."},{label:"CupCap",type:"keyword",info:"CupCap[x, y, …] displays as x ≍ y ≍ …."},{label:"Curl",type:"keyword",info:"Curl[{f , f }, {x , x }] gives the curl ∂ f /∂ x - ∂ f /∂ x .Curl[{f , f , f }, {x , x , x }] gives"},{label:"CurlyDoubleQuote",type:"keyword",info:"System`CurlyDoubleQuote"},{label:"CurlyQuote",type:"keyword",info:"System`CurlyQuote"},{label:"CurrencyConvert",type:"keyword",info:"CurrencyConvert[quantity, target] attempts to convert the specified currency quantity to the specifi"},{label:"CurrentDate",type:"keyword",info:"CurrentDate[gran] gives the current date of the specified granularity type gran.CurrentDate[date, gr"},{label:"CurrentImage",type:"keyword",info:"CurrentImage[] returns the current image captured from a connected camera.CurrentImage[n] returns n "},{label:"CurrentlySpeakingPacket",type:"keyword",info:"System`CurrentlySpeakingPacket"},{label:"CurrentNotebookImage",type:"keyword",info:"CurrentNotebookImage[nb] returns an image captured from the portion of the notebook nb that appears "},{label:"CurrentScreenImage",type:"keyword",info:"CurrentScreenImage[] returns an image captured from all current display screens on your computer. Cu"},{label:"CurrentValue",type:"keyword",info:"CurrentValue[item] gives the current value of item at a location in the Wolfram System and interface"},{label:"Curry",type:"keyword",info:"Curry[f, n] represents an operator form of the function f of n arguments so that Curry[f, n][x ] …[x"},{label:"CurryApplied",type:"keyword",info:"CurryApplied[f, n] represents an operator form of the function f of n arguments so that CurryApplied"},{label:"CurvatureFlowFilter",type:"keyword",info:"CurvatureFlowFilter[image] applies a mean curvature flow filter to image.CurvatureFlowFilter[image, "},{label:"CurveClosed",type:"keyword",info:"CurveClosed is an option for JoinedCurve that specifies whether individual curve components should b"},{label:"Cyan",type:"keyword",info:"Cyan represents the color cyan in graphics or style specifications. "},{label:"CycleGraph",type:"keyword",info:"CycleGraph[n] gives the cycle graph with n vertices C .\n "},{label:"CycleIndexPolynomial",type:"keyword",info:"CycleIndexPolynomial[perm, {x , …, x }] constructs the cycle index monomial of the permutation perm "},{label:"Cycles",type:"keyword",info:"Cycles[{cyc , cyc , …}] represents a permutation with disjoint cycles cyc .\n 1 2 "},{label:"CyclicGroup",type:"keyword",info:"CyclicGroup[n] represents the cyclic group of degree n."},{label:"Cyclotomic",type:"keyword",info:" th\nCyclotomic[n, x] gives the n cyclotomic polynomial in x. "},{label:"Cylinder",type:"keyword",info:"Cylinder[{{x , y , z }, {x , y , z }}, r] represents a cylinder of radius r around the line from (x "},{label:"CylinderBox",type:"keyword",info:"System`CylinderBox"},{label:"CylindricalDecomposition",type:"keyword",info:"CylindricalDecomposition[expr, {x , x , …}] finds a decomposition of the region represented by the s"},{label:"CylindricalDecompositionFunction",type:"keyword",info:"CylindricalDecompositionFunction[data][x , x , …] represents a cylindrical algebraic formula in x , "},{label:"CEC",type:"keyword",info:"System`CEC"},{label:"D",type:"keyword",info:" n n "},{label:"DagumDistribution",type:"keyword",info:"DagumDistribution[p, a, b] represents a Dagum distribution with shape parameters p and a and scale p"},{label:"DamData",type:"keyword",info:"DamData[entity, property] gives the value of the specified property for the dam entity.DamData[{enti"},{label:"DamerauLevenshteinDistance",type:"keyword",info:"DamerauLevenshteinDistance[u, v] gives the Damerau–Levenshtein distance between strings or vectors u"},{label:"DampingFactor",type:"keyword",info:"DampingFactor is an option for FindRoot, which can be used to control convergence behavior. DampingF"},{label:"Darker",type:"keyword",info:"Darker[color] represents a darker version of the specified color. Darker[color, f] represents a vers"},{label:"Dashed",type:"keyword",info:"Dashed is a graphics directive specifying that lines that follow should be drawn dashed."},{label:"Dashing",type:"keyword",info:"Dashing[{r , r , …}] is a two-dimensional graphics directive specifying that lines that follow are t"},{label:"DatabaseConnect",type:"keyword",info:"DatabaseConnect[db] activates a connection to the database db."},{label:"DatabaseDisconnect",type:"keyword",info:"DatabaseDisconnect[db] deactivates a connection to the database db. "},{label:"DatabaseReference",type:"keyword",info:'DatabaseReference[File["filename"]] represents a reference to a local file-based SQL database.Databa'},{label:"Databin",type:"keyword",info:'Databin["id"] represents a databin in the Wolfram Data Drop.Databin["id", n] represents the first n '},{label:"DatabinAdd",type:"keyword",info:"DatabinAdd[bin, data] adds the specified data to a databin."},{label:"DatabinRemove",type:"keyword",info:" th\nDatabinRemove[bin, i] removes the i entry from a databin.Da"},{label:"Databins",type:"keyword",info:"Databins[] gives a list of databins associated with the currently connected user."},{label:"DatabinSubmit",type:"keyword",info:"DatabinSubmit[bin, data] submits the specified data to be added to the databin bin asynchronously."},{label:"DatabinUpload",type:"keyword",info:"DatabinUpload[bin, {entry , entry , …}] bulk uploads all the entries entry to a databin.DatabinUplo"},{label:"DataCompression",type:"keyword",info:"System`DataCompression"},{label:"DataDistribution",type:"keyword",info:"DataDistribution[ddist, …] represents a probability distribution of type ddist, estimated from a set"},{label:"DataRange",type:"keyword",info:"DataRange is an option for functions such as ListPlot and ListDensityPlot that specifies what range "},{label:"DataReversed",type:"keyword",info:"DataReversed is an option for ArrayPlot and related functions that specifies whether data should be "},{label:"Dataset",type:"keyword",info:"Dataset[data] represents a structured dataset based on a hierarchy of lists and associations."},{label:"DatasetDisplayPanel",type:"keyword",info:"System`DatasetDisplayPanel"},{label:"DatasetTheme",type:"keyword",info:"DatasetTheme is an option for Dataset that specifies an overall theme for a dataset and its elements"},{label:"DataStructure",type:"keyword",info:'DataStructure["type", data] represents a data structure.'},{label:"DataStructureQ",type:"keyword",info:"DataStructureQ[ds] yields True if ds is a valid data structure and False otherwise.DataStructureQ[ds"},{label:"Date",type:"keyword",info:"Date[] gives the current local date and time in the form {year, month, day, hour, minute, second}. "},{label:"DateBounds",type:"keyword",info:"DateBounds[{date , date , …}] gives the earliest and latest of the date .DateBounds[tseries] gives t"},{label:"Dated",type:"keyword",info:"Dated[obj, year] represents the object obj associated with a particular year.Dated[obj, date] repres"},{label:"DateDelimiters",type:"keyword",info:"System`DateDelimiters"},{label:"DateDifference",type:"keyword",info:"DateDifference[date , date ] gives the number of days from date to date .DateDifference[date , date"},{label:"DatedUnit",type:"keyword",info:"DatedUnit[unit, date] represents the specified unit at a specific date."},{label:"DateFormat",type:"keyword",info:"DateFormat is an option that determines the date formatting of dates."},{label:"DateFunction",type:"keyword",info:"DateFunction is an option for DateListPlot and TemporalData that specifies how dates given as input "},{label:"DateHistogram",type:"keyword",info:"DateHistogram[{date , date , …}] plots a histogram of the dates date .DateHistogram[{date , date , …"},{label:"DateInterval",type:"keyword",info:"DateInterval[{start, end}] represents the continuous interval of time between start and end.DateInte"},{label:"DateList",type:"keyword",info:"DateList[] gives the current local date and time in the form {year, month, day, hour, minute, second"},{label:"DateListLogPlot",type:"keyword",info:"DateListLogPlot[{{date , v }, {date , v }, …}] makes a log plot with values v at a sequence of date"},{label:"DateListPlot",type:"keyword",info:"DateListPlot[{{date , v }, {date , v }, …, {date , v }}] plots points with values v at a sequence o"},{label:"DateListStepPlot",type:"keyword",info:"DateListStepPlot[{{date , v }, {date , v }, …}] plots the values v in steps at a sequence of dates."},{label:"DateObject",type:"keyword",info:"DateObject[] gives the current local date.DateObject[date] gives a date object corresponding to the "},{label:"DateObjectQ",type:"keyword",info:"DateObjectQ[expr] gives True if expr is a DateObject with valid arguments, and False otherwise."},{label:"DateOverlapsQ",type:"keyword",info:"DateOverlapsQ[date , date ] returns True if the calendar dates date and date overlap, and False ot"},{label:"DatePattern",type:"keyword",info:'DatePattern[{"e ", "e ", …}] represents the characters of a date with elements of type "e " in Strin'},{label:"DatePlus",type:"keyword",info:"DatePlus[date, n] gives the date n days after date.DatePlus[date, {n, step}] gives the date n calend"},{label:"DateRange",type:"keyword",info:"DateRange[date , date ] gives all dates in the range from date to date .DateRange[date , date , inc"},{label:"DateReduction",type:"keyword",info:"DateReduction is an option for DateHistogram that specifies the length for cyclic periods of time."},{label:"DateScale",type:"keyword",info:"DateScale[] represents the canonical mapping of continuous dates and times to a quantitative scale."},{label:"DateSelect",type:"keyword",info:"DateSelect[list, crit] picks out all dates date of a list for which crit[date ] is True.DateSelect["},{label:"DateString",type:"keyword",info:"DateString[] gives a string representing the complete current local date and time. DateString[date] "},{label:"DateTicksFormat",type:"keyword",info:"DateTicksFormat is an option for DateListPlot which specifies how date tick labels should be formatt"},{label:"DateValue",type:"keyword",info:'DateValue["elem"] gives the specified element of the current date and time.DateValue[{elem , elem , '},{label:"DateWithinQ",type:"keyword",info:"DateWithinQ[date , date ] returns True if the calendar date date is entirely contained within date "},{label:"DaubechiesWavelet",type:"keyword",info:"DaubechiesWavelet[] represents a Daubechies wavelet of order 2. DaubechiesWavelet[n] represents a Da"},{label:"DavisDistribution",type:"keyword",info:"DavisDistribution[b, n, μ] represents a Davis distribution with scale parameter b, shape parameter n"},{label:"DawsonF",type:"keyword",info:"DawsonF[z] gives the Dawson integral F(z)."},{label:"DayCount",type:"keyword",info:"DayCount[date , date ] gives the number of days from date to date .DayCount[date , date , daytype] "},{label:"DayCountConvention",type:"keyword",info:"DayCountConvention is an option that specifies the day count convention used by DateDifference."},{label:"DayHemisphere",type:"keyword",info:"DayHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth tha"},{label:"DaylightQ",type:"keyword",info:"DaylightQ[] gives True if it is currently daylight from the user's location.DaylightQ[datespec] give"},{label:"DayMatchQ",type:"keyword",info:"DayMatchQ[date, daytype] returns True if the date matches the daytype specification and returns Fals"},{label:"DayName",type:"keyword",info:"DayName[] gives the current day of the week.DayName[date] gives the day of the week for the given da"},{label:"DayNightTerminator",type:"keyword",info:"DayNightTerminator[] is a one-dimensional GeoGraphics primitive that represents the separation line "},{label:"DayPlus",type:"keyword",info:"DayPlus[date, n] gives the date n days away from date.DayPlus[date, n, daytype] gives the date that "},{label:"DayRange",type:"keyword",info:"DayRange[date , date ] gives the dates in the range from date to date .DayRange[date , date , dayty"},{label:"DayRound",type:"keyword",info:"DayRound[date, daytype] rounds date to the nearest day of daytype, using the next-day rounding conve"},{label:"DeBruijnGraph",type:"keyword",info:"DeBruijnGraph[m, n] gives the n-dimensional De Bruijn graph with m symbols.DeBruijnGraph[m, n, type]"},{label:"DeBruijnSequence",type:"keyword",info:"DeBruijnSequence[list, n] gives a de Bruijn sequence on the elements in list taken n at a time.DeBru"},{label:"Debug",type:"keyword",info:"System`Debug"},{label:"DebugTag",type:"keyword",info:"System`DebugTag"},{label:"Decapitalize",type:"keyword",info:"Decapitalize[string] yields a string in which the first character has been made lowercase."},{label:"Decimal",type:"keyword",info:"Decimal is a setting for the ColumnAlignments option of GridBox which states that numbers should ali"},{label:"DecimalForm",type:"keyword",info:"DecimalForm[expr] prints with approximate real numbers in expr always given in decimal form, without"},{label:"DeclareKnownSymbols",type:"keyword",info:"System`DeclareKnownSymbols"},{label:"DeclarePackage",type:"keyword",info:'DeclarePackage["context`", {"name ", "name ", …}] declares that Needs["context`"] should automatical'},{label:"Decompose",type:"keyword",info:"Decompose[poly, x] decomposes a polynomial, if possible, into a composition of simpler polynomials. "},{label:"DeconvolutionLayer",type:"keyword",info:"DeconvolutionLayer[n, sz] represents a trainable deconvolutional net layer having n output channels "},{label:"Decrement",type:"keyword",info:"x -- decreases the value of x by 1, returning the old value of x. "},{label:"Decrypt",type:"keyword",info:'Decrypt["password", enc] attempts to decrypt the encrypted object enc using the specified password.D'},{label:"DecryptFile",type:"keyword",info:'DecryptFile["password", file] generates a decrypted version of a file, using the specified password.'},{label:"DedekindEta",type:"keyword",info:"DedekindEta[τ] gives the Dedekind eta modular elliptic function Î\\[CenterDot](τ)."},{label:"DeepSpaceProbeData",type:"keyword",info:"DeepSpaceProbeData[entity, property] gives the value of the specified property for the deep space pr"},{label:"Default",type:"keyword",info:" "},{label:"Default2DTool",type:"keyword",info:"System`Default2DTool"},{label:"Default3DTool",type:"keyword",info:"System`Default3DTool"},{label:"DefaultAttachedCellStyle",type:"keyword",info:"System`DefaultAttachedCellStyle"},{label:"DefaultAxesStyle",type:"keyword",info:"DefaultAxesStyle is a low-level option for graphics functions that specifies the default style to us"},{label:"DefaultBaseStyle",type:"keyword",info:"DefaultBaseStyle is a low-level option for formatting and related constructs that specifies a defaul"},{label:"DefaultBoxStyle",type:"keyword",info:"DefaultBoxStyle is a low-level option for three-dimensional graphics functions that specifies the de"},{label:"DefaultButton",type:"keyword",info:"DefaultButton[] represents an OK button that closes a dialog, and is the default when StyleBox[Dynam"},{label:"DefaultColor",type:"keyword",info:"DefaultColor is an option for graphics functions that specifies the default color to use for lines, "},{label:"DefaultControlPlacement",type:"keyword",info:"System`DefaultControlPlacement"},{label:"DefaultDockedCellStyle",type:"keyword",info:"System`DefaultDockedCellStyle"},{label:"DefaultDuplicateCellStyle",type:"keyword",info:"DefaultDuplicateCellStyle is a notebook option that specifies the default style to use for cells cre"},{label:"DefaultDuration",type:"keyword",info:"DefaultDuration is an option to Animate and related functions that specifies the default total durat"},{label:"DefaultElement",type:"keyword",info:"DefaultElement is an option for Grid and related constructs which specifies what to insert when a ne"},{label:"DefaultFaceGridsStyle",type:"keyword",info:"DefaultFaceGridsStyle is a low-level option for 3D graphics functions that specifies the default sty"},{label:"DefaultFieldHintStyle",type:"keyword",info:"DefaultFieldHintStyle is a low-level option for InputField that specifies the default style to use f"},{label:"DefaultFont",type:"keyword",info:"System`DefaultFont"},{label:"DefaultFontProperties",type:"keyword",info:"DefaultFontProperties is a global option that specifies various properties of a font family, such as"},{label:"DefaultFormatType",type:"keyword",info:"DefaultFormatType is an option for cells that specifies the format used for displaying expressions i"},{label:"DefaultFormatTypeForStyle",type:"keyword",info:"System`DefaultFormatTypeForStyle"},{label:"DefaultFrameStyle",type:"keyword",info:"DefaultFrameStyle is a low-level option for graphics and related constructs that specifies the defau"},{label:"DefaultFrameTicksStyle",type:"keyword",info:"DefaultFrameTicksStyle is a low-level option for 2D graphics functions that specifies the default st"},{label:"DefaultGridLinesStyle",type:"keyword",info:"DefaultGridLinesStyle is a low-level option for 2D graphics functions that specifies the default sty"},{label:"DefaultInlineFormatType",type:"keyword",info:"DefaultInlineFormatType is an option for cells that specifies the format used for displaying express"},{label:"DefaultInputFormatType",type:"keyword",info:"System`DefaultInputFormatType"},{label:"DefaultLabelStyle",type:"keyword",info:"DefaultLabelStyle is a low-level option for formatting and related constructs that specifies the def"},{label:"DefaultMenuStyle",type:"keyword",info:"DefaultMenuStyle is a low-level option for menu-generating constructs that specifies the default sty"},{label:"DefaultNaturalLanguage",type:"keyword",info:"DefaultNaturalLanguage is an option for character selections that specifies the language used when c"},{label:"DefaultNewCellStyle",type:"keyword",info:"DefaultNewCellStyle is a notebook option which specifies the default style to use for new cells crea"},{label:"DefaultNewInlineCellStyle",type:"keyword",info:"DefaultNewInlineCellStyle is an option for cells that specifies the default style to use for new inl"},{label:"DefaultNotebook",type:"keyword",info:"DefaultNotebook is a global option that specifies which notebook is used as a template for all new n"},{label:"DefaultOptions",type:"keyword",info:"DefaultOptions is a style option that allows default options to be specified for particular formatti"},{label:"DefaultOutputFormatType",type:"keyword",info:"System`DefaultOutputFormatType"},{label:"DefaultPrintPrecision",type:"keyword",info:"DefaultPrintPrecision is an option for NumberForm, DecimalForm and related functions that specifies "},{label:"DefaultStyle",type:"keyword",info:"System`DefaultStyle"},{label:"DefaultStyleDefinitions",type:"keyword",info:"DefaultStyleDefinitions is a global option that specifies the default stylesheet for all new noteboo"},{label:"DefaultTextFormatType",type:"keyword",info:"System`DefaultTextFormatType"},{label:"DefaultTextInlineFormatType",type:"keyword",info:"System`DefaultTextInlineFormatType"},{label:"DefaultTicksStyle",type:"keyword",info:"DefaultTicksStyle is a low-level option for graphics functions that specifies the default style to u"},{label:"DefaultTooltipStyle",type:"keyword",info:"DefaultTooltipStyle is a low-level option for tooltips that specifies the default style to use in di"},{label:"DefaultValue",type:"keyword",info:"System`DefaultValue"},{label:"DefaultValues",type:"keyword",info:"DefaultValues[f] gives a list of transformation rules corresponding to all default argument values ("},{label:"Defer",type:"keyword",info:"Defer[expr] yields an object that displays as the unevaluated form of expr, but that is evaluated if"},{label:"DefineExternal",type:"keyword",info:"System`DefineExternal"},{label:"DefineInputStreamMethod",type:"keyword",info:'DefineInputStreamMethod["name", {fname  function , fname  function , … }] defines a custom input'},{label:"DefineOutputStreamMethod",type:"keyword",info:'DefineOutputStreamMethod["name", {fname  function , fname  function , … }] defines a custom outp'},{label:"DefineResourceFunction",type:"keyword",info:"DefineResourceFunction[f] defines a resource function that can be applied to arguments to give the s"},{label:"Definition",type:"keyword",info:'Definition[symbol] prints as the definitions given for a symbol.Definition["symbol"] prints as the d'},{label:"Degree",type:"keyword",info:" π\nDegree gives the nu"},{label:"DegreeCentrality",type:"keyword",info:"DegreeCentrality[g] gives a list of vertex degrees for the vertices in the underlying simple graph o"},{label:"DegreeGraphDistribution",type:"keyword",info:"DegreeGraphDistribution[dlist] represents a degree graph distribution with vertex degree dlist."},{label:"DegreeLexicographic",type:"keyword",info:"System`DegreeLexicographic"},{label:"DegreeReverseLexicographic",type:"keyword",info:"System`DegreeReverseLexicographic"},{label:"DEigensystem",type:"keyword",info:"DEigensystem[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues and eige"},{label:"DEigenvalues",type:"keyword",info:"DEigenvalues[ℒ[u[x, y, …], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues for the l"},{label:"Deinitialization",type:"keyword",info:"Deinitialization is an option for Dynamic, DynamicModule, Manipulate, and related constructs that sp"},{label:"Del",type:"keyword",info:"Del[x] displays as ∇ x."},{label:"DelaunayMesh",type:"keyword",info:"DelaunayMesh[{p , p , …}] gives a MeshRegion representing the Delaunay mesh from the points p , p , "},{label:"Delayed",type:"keyword",info:"Delayed[expr] represents an expression whose evaluation is delayed until its value is externally req"},{label:"Deletable",type:"keyword",info:"Deletable is an option for Cell that specifies whether the cell can be deleted interactively using t"},{label:"Delete",type:"keyword",info:"Delete[expr, n] deletes the element at position n in expr. If n is negative, the position is counted"},{label:"DeleteAnomalies",type:"keyword",info:"DeleteAnomalies[{example , example , …}] gives a list in which example that are considered anomalou"},{label:"DeleteBorderComponents",type:"keyword",info:"DeleteBorderComponents[image] replaces connected components adjacent to the border in a binary image"},{label:"DeleteCases",type:"keyword",info:"DeleteCases[expr, pattern] removes all elements of expr that match pattern. DeleteCases[expr, patter"},{label:"DeleteChannel",type:"keyword",info:"DeleteChannel[channel] deletes the specified channel from the channel broker server.DeleteChannel[{c"},{label:"DeleteCloudExpression",type:"keyword",info:'DeleteCloudExpression["name"] deletes the cloud expression identified by "name".DeleteCloudExpressio'},{label:"DeleteContents",type:"keyword",info:"DeleteContents is an option for DeleteDirectory that specifies whether the contents of directories s"},{label:"DeleteDirectory",type:"keyword",info:'DeleteDirectory["dir"] deletes the specified directory. '},{label:"DeleteDuplicates",type:"keyword",info:"DeleteDuplicates[list] deletes all duplicates from list.DeleteDuplicates[list, test] applies test to"},{label:"DeleteDuplicatesBy",type:"keyword",info:"DeleteDuplicatesBy[{e , e , …}, f] deletes those e that yield duplicates in the list {f[e ], f[e ],"},{label:"DeleteFile",type:"keyword",info:'DeleteFile["file"] deletes a file. DeleteFile[{"file ", "file ", …}] deletes a list of files. \n '},{label:"DeleteMissing",type:"keyword",info:"DeleteMissing[list] drops elements with head Missing from a list.DeleteMissing[assoc] drops elements"},{label:"DeleteObject",type:"keyword",info:"DeleteObject[obj] deletes the object obj.DeleteObject[{obj , obj , …}] deletes all the obj .\n "},{label:"DeletePermissionsKey",type:"keyword",info:"DeletePermissionsKey[key] deletes a permissions key, rendering it invalid.DeletePermissionsKey[{key "},{label:"DeleteSearchIndex",type:"keyword",info:"DeleteSearchIndex[obj] deletes the search index represented by the search index object obj.DeleteSea"},{label:"DeleteSmallComponents",type:"keyword",info:"DeleteSmallComponents[image] replaces small connected components in a binary image image with backgr"},{label:"DeleteStopwords",type:"keyword",info:'DeleteStopwords[list] deletes stopwords from a list of words.DeleteStopwords["string"] deletes stopw'},{label:"DeleteWithContents",type:"keyword",info:"System`DeleteWithContents"},{label:"DeletionWarning",type:"keyword",info:"DeletionWarning is an option for InterpretationBox or TagBox objects that specifies whether a warnin"},{label:"DelimitedArray",type:"keyword",info:"System`DelimitedArray"},{label:"DelimitedSequence",type:"keyword",info:"DelimitedSequence[form] represents a delimited sequence of elements of the specified form in Interpr"},{label:"Delimiter",type:"keyword",info:"Delimiter represents a delimiter to be displayed in objects such as PopupMenu, Manipulate, and FormO"},{label:"DelimiterAutoMatching",type:"keyword",info:"DelimiterAutoMatching is an option for cells and notebooks that specifies whether matching delimiter"},{label:"DelimiterFlashTime",type:"keyword",info:"DelimiterFlashTime is an option for cells and notebooks that specifies how long in seconds a delimit"},{label:"DelimiterMatching",type:"keyword",info:"DelimiterMatching is an option for selections that specifies whether an opening delimiter will match"},{label:"Delimiters",type:"keyword",info:"Delimiters is an option to various functions that specifies what delimiters to use or look for."},{label:"DeliveryFunction",type:"keyword",info:"DeliveryFunction is an option that specifies how material such as documents generated by DocumentGen"},{label:"Dendrogram",type:"keyword",info:"Dendrogram[{e , e , …}] constructs a dendrogram from the hierarchical clustering of the elements e ,"},{label:"Denominator",type:"keyword",info:"Denominator[expr] gives the denominator of expr. "},{label:"DensityGraphics",type:"keyword",info:"DensityGraphics[array] is a representation of a density plot. "},{label:"DensityHistogram",type:"keyword",info:"DensityHistogram[{{x , y }, {x , y }, …}] plots a density histogram of the values {x , y }.DensityHi"},{label:"DensityPlot",type:"keyword",info:"DensityPlot[f, {x, x , x }, {y, y , y }] makes a density plot of f as a function of x and y."},{label:"DensityPlot3D",type:"keyword",info:"DensityPlot3D[f, {x, x , x }, {y, y , y }, {z, z , z }] makes a density plot of f as a f"},{label:"DependentVariables",type:"keyword",info:"DependentVariables is an option for NDSolve and other functions that specifies the list of all objec"},{label:"Deploy",type:"keyword",info:"Deploy[expr] yields a deployed version of expr in which elements such as Slider, InputField, Locator"},{label:"Deployed",type:"keyword",info:"Deployed is an option for displayed objects, cells, and notebooks that specifies whether their conte"},{label:"Depth",type:"keyword",info:"Depth[expr] gives the maximum number of indices needed to specify any part of expr, plus 1. "},{label:"DepthFirstScan",type:"keyword",info:"DepthFirstScan[g, s, {event  f , event  f , …}] performs a depth-first scan of the graph g start"},{label:"Derivative",type:"keyword",info:"f ' represents the derivative of a function f of one argument. Derivative[n , n , …][f] is the gener"},{label:"DerivativeFilter",type:"keyword",info:" th\nDerivativeFilter[data, {n , n , …}] computes "},{label:"DerivativePDETerm",type:"keyword",info:"DerivativePDETerm[vars, Î.b3] represents a load derivative term ∇ Â\\[CenterDot] (Î.b3) with load derivative"},{label:"DerivedKey",type:"keyword",info:"DerivedKey[assoc] represents a derived key generated by GenerateDerivedKey."},{label:"DescriptorStateSpace",type:"keyword",info:"DescriptorStateSpace is an option to StateSpaceModel and StateSpaceTransform that specifies whether "},{label:"DesignMatrix",type:"keyword",info:"DesignMatrix[{{x , x , …, y }, {x , x , …, y }, …}, {f , f , …}, {x , x , …}] constructs the des"},{label:"DestroyAfterEvaluation",type:"keyword",info:"System`DestroyAfterEvaluation"},{label:"Det",type:"keyword",info:"Det[m] gives the determinant of the square matrix m. "},{label:"DeviceClose",type:"keyword",info:"DeviceClose[device] closes the connection to a device and frees related resources."},{label:"DeviceConfigure",type:"keyword",info:"DeviceConfigure[device, config] configures the specified device according to config."},{label:"DeviceExecute",type:"keyword",info:'DeviceExecute[device, "command"] executes the specified command on a device.DeviceExecute[device, "c'},{label:"DeviceExecuteAsynchronous",type:"keyword",info:'DeviceExecuteAsynchronous[device, "command", fun] initiates asynchronous execution of the specified '},{label:"DeviceObject",type:"keyword",info:"DeviceObject[…] represents a device that can be accessed in a Wolfram Language session."},{label:"DeviceOpen",type:"keyword",info:'DeviceOpen["devclass"] opens a connection to the first available device in the class specified by "d'},{label:"DeviceOpenQ",type:"keyword",info:"System`DeviceOpenQ"},{label:"DeviceRead",type:"keyword",info:"DeviceRead[devobj] reads a single default item from the open device corresponding to the specified D"},{label:"DeviceReadBuffer",type:"keyword",info:"DeviceReadBuffer[device] reads the complete contents of the buffer on a device.DeviceReadBuffer[devi"},{label:"DeviceReadLatest",type:"keyword",info:"DeviceReadLatest[device] returns the most recently collected default item from a device.DeviceReadLa"},{label:"DeviceReadList",type:"keyword",info:"DeviceReadList[device, n] reads from the specified device n times, returning a list of the results.D"},{label:"DeviceReadTimeSeries",type:"keyword",info:"DeviceReadTimeSeries[device, {t, dt}] repeatedly reads default items from the specified device at in"},{label:"Devices",type:"keyword",info:"Devices[] gives a list of registered devices on a particular system.Devices[form] gives a list of de"},{label:"DeviceStreams",type:"keyword",info:"DeviceStreams[device] gives a list of all open streams associated with a device.DeviceStreams[device"},{label:"DeviceWrite",type:"keyword",info:"DeviceWrite[device, val] writes the value val to the specified device.DeviceWrite[device, {val , val"},{label:"DeviceWriteBuffer",type:"keyword",info:"DeviceWriteBuffer[device, vals] fills the buffer on a device with the values vals.DeviceWriteBuffer["},{label:"DGaussianWavelet",type:"keyword",info:"DGaussianWavelet[] represents a derivative of Gaussian wavelet of derivative order 2.DGaussianWavele"},{label:"DiacriticalPositioning",type:"keyword",info:"DiacriticalPositioning is an option for UnderscriptBox and related boxes that specifies how close di"},{label:"Diagonal",type:"keyword",info:" "},{label:"DiagonalizableMatrixQ",type:"keyword",info:"DiagonalizableMatrixQ[m] gives True if m is diagonalizable, and False otherwise. "},{label:"DiagonalMatrix",type:"keyword",info:" "},{label:"DiagonalMatrixQ",type:"keyword",info:" "},{label:"Dialog",type:"keyword",info:"Dialog[] initiates a dialog. Dialog[expr] initiates a dialog with expr as the current value of %. \n"},{label:"DialogIndent",type:"keyword",info:"System`DialogIndent"},{label:"DialogInput",type:"keyword",info:"DialogInput[expr] interactively puts up expr as a dialog notebook, waits until a DialogReturn[e] is "},{label:"DialogLevel",type:"keyword",info:"System`DialogLevel"},{label:"DialogNotebook",type:"keyword",info:"DialogNotebook[{cell , cell , …}] represents a dialog notebook that can be manipulated by the Wolfra"},{label:"DialogProlog",type:"keyword",info:"DialogProlog is an option for Dialog that can give an expression to evaluate before the dialog start"},{label:"DialogReturn",type:"keyword",info:"DialogReturn[expr] closes a dialog window, returning the expression expr from the dialog.DialogRetur"},{label:"DialogSymbols",type:"keyword",info:"DialogSymbols is an option for Dialog that gives a list of symbols whose values should be localized "},{label:"Diamond",type:"keyword",info:"Diamond[x, y, …] displays as x ⋄ y ⋄ …."},{label:"DiamondMatrix",type:"keyword",info:" "},{label:"DiceDissimilarity",type:"keyword",info:"DiceDissimilarity[x, y] gives the Dice dissimilarity between Boolean vectors x and y."},{label:"DictionaryLookup",type:"keyword",info:"DictionaryLookup[patt] finds all words in an English dictionary that match the string pattern patt.D"},{label:"DictionaryWordQ",type:"keyword",info:'DictionaryWordQ["word"] tests whether "word" is a recognized dictionary word.'},{label:"DifferenceDelta",type:"keyword",info:" "},{label:"DifferenceOrder",type:"keyword",info:"System`DifferenceOrder"},{label:"DifferenceQuotient",type:"keyword",info:"DifferenceQuotient[f, {x, h}] gives the difference quotient (f(x + h) - f(x))/h.DifferenceQuotient["},{label:"DifferenceRoot",type:"keyword",info:"DifferenceRoot[lde][k] gives the holonomic sequence h(k), specified by the linear difference equatio"},{label:"DifferenceRootReduce",type:"keyword",info:"DifferenceRootReduce[expr, n] attempts to reduce expr to a single DifferenceRoot object as a functio"},{label:"Differences",type:"keyword",info:" "},{label:"DifferentialD",type:"keyword",info:"DifferentialD[x] displays as  x."},{label:"DifferentialRoot",type:"keyword",info:"DifferentialRoot[lde][x] gives the holonomic function h(x), specified by the linear differential equ"},{label:"DifferentialRootReduce",type:"keyword",info:"DifferentialRootReduce[expr, x] attempts to reduce expr to a single DifferentialRoot object as a fun"},{label:"DifferentiatorFilter",type:"keyword",info:"DifferentiatorFilter[data, ω ] applies a differentiator filter with a cutoff frequency ω to an arra"},{label:"DiffusionPDETerm",type:"keyword",info:"DiffusionPDETerm[vars] represents a diffusion term ∇ Â\\[CenterDot] (-∇ u) with model varia"},{label:"DiggleGatesPointProcess",type:"keyword",info:" "},{label:"DiggleGrattonPointProcess",type:"keyword",info:" "},{label:"DigitalSignature",type:"keyword",info:"DigitalSignature[assoc] represents a digital signature object."},{label:"DigitBlock",type:"keyword",info:"DigitBlock is an option for NumberForm and related functions that specifies the maximum length of bl"},{label:"DigitBlockMinimum",type:"keyword",info:"System`DigitBlockMinimum"},{label:"DigitCharacter",type:"keyword",info:"DigitCharacter represents a digit character 0–9 in StringExpression. "},{label:"DigitCount",type:"keyword",info:"DigitCount[n, b, d] gives the number of d digits in the base-b representation of n. DigitCount[n, b]"},{label:"DigitQ",type:"keyword",info:"DigitQ[string] yields True if all the characters in the string are digits in the range 0 through 9, "},{label:"DihedralAngle",type:"keyword",info:"DihedralAngle[{p , p }, {v, w}] gives the angle between two half-planes bounded by the line through "},{label:"DihedralGroup",type:"keyword",info:"DihedralGroup[n] represents the dihedral group of order 2n."},{label:"Dilation",type:"keyword",info:"Dilation[image, ker] gives the morphological dilation of image with respect to the structuring eleme"},{label:"DimensionalCombinations",type:"keyword",info:"DimensionalCombinations[{pq , pq , …}] returns the possible combinations of the list of physical qua"},{label:"DimensionalMeshComponents",type:"keyword",info:"DimensionalMeshComponents[mr] gives a list {r , r , …} of regions such that r has dimension d for a"},{label:"DimensionReduce",type:"keyword",info:"DimensionReduce[{example , example , …}] projects the examples example to a lower-dimensional appro"},{label:"DimensionReducerFunction",type:"keyword",info:"DimensionReducerFunction[…] represents a function generated by DimensionReduction that projects data"},{label:"DimensionReduction",type:"keyword",info:"DimensionReduction[{example , example , …}] generates a DimensionReducerFunction[…] that projects fr"},{label:"Dimensions",type:"keyword",info:"Dimensions[expr] gives a list of the dimensions of expr. Dimensions[expr, n] gives a list of the dim"},{label:"DiracComb",type:"keyword",info:"DiracComb[x] represents the Dirac comb function (x) giving a delta function at every integer point."},{label:"DiracDelta",type:"keyword",info:"DiracDelta[x] represents the Dirac delta function Î.b4(x). DiracDelta[x , x , …] represents the multidi"},{label:"DirectedEdge",type:"keyword",info:" t\nDire"},{label:"DirectedEdges",type:"keyword",info:"DirectedEdges is an option for Graph, GraphPlot, and related functions that specifies whether edges "},{label:"DirectedGraph",type:"keyword",info:"DirectedGraph[g] gives a directed graph from the undirected graph g.DirectedGraph[g, conv] gives a d"},{label:"DirectedGraphQ",type:"keyword",info:"DirectedGraphQ[g] yields True if the graph g is a directed graph and False otherwise."},{label:"DirectedInfinity",type:"keyword",info:"DirectedInfinity[] represents an infinite numerical quantity whose direction in the complex plane is"},{label:"Direction",type:"keyword",info:"Direction is an option for Limit and related functions that specifies the direction in which the lim"},{label:"DirectionalLight",type:"keyword",info:"DirectionalLight[col, pt] is a three–dimensional graphics directive that specifies the directional l"},{label:"Directive",type:"keyword",info:"Directive[g , g , …] represents a single graphics directive composed of the directives g , g , ….\n "},{label:"Directory",type:"keyword",info:"Directory[] gives the current working directory. "},{label:"DirectoryName",type:"keyword",info:'DirectoryName["name"] extracts the directory name from the specification for a file. '},{label:"DirectoryQ",type:"keyword",info:'DirectoryQ["name"] gives True if the directory with the specified name exists, and gives False other'},{label:"DirectoryStack",type:"keyword",info:"DirectoryStack[] gives the directory stack that represents the sequence of current directories used."},{label:"DirichletBeta",type:"keyword",info:"DirichletBeta[s] gives the Dirichlet beta function Î.b2(s)."},{label:"DirichletCharacter",type:"keyword",info:"DirichletCharacter[k, j, n] gives the Dirichlet character χ (n) with modulus k and index j.\n "},{label:"DirichletCondition",type:"keyword",info:"DirichletCondition[beqn, pred] represents a Dirichlet boundary condition given by equation beqn, sat"},{label:"DirichletConvolve",type:"keyword",info:"DirichletConvolve[f, g, n, m] gives the Dirichlet convolution of the expressions f and g. "},{label:"DirichletDistribution",type:"keyword",info:"DirichletDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }] represents a Dirichlet distribution of dimension k with shape"},{label:"DirichletEta",type:"keyword",info:"DirichletEta[s] gives the Dirichlet eta function Î\\[CenterDot](s)."},{label:"DirichletL",type:"keyword",info:"DirichletL[k, j, s] gives the Dirichlet L-function L(χ, s) for the Dirichlet character χ(n) with mod"},{label:"DirichletLambda",type:"keyword",info:"DirichletLambda[s] gives the Dirichlet lambda function λ(s)."},{label:"DirichletTransform",type:"keyword",info:"DirichletTransform[expr, n, s] gives the Dirichlet transform of expr with respect to n."},{label:"DirichletWindow",type:"keyword",info:"DirichletWindow[x] represents a Dirichlet window function of x."},{label:"DisableConsolePrintPacket",type:"keyword",info:"System`DisableConsolePrintPacket"},{label:"DisableFormatting",type:"keyword",info:"DisableFormatting[expr] is a form that disables the formatting of expr when it appears inside held e"},{label:"DiscreteAsymptotic",type:"keyword",info:"DiscreteAsymptotic[expr, n  ∞] gives an asymptotic approximation for expr as n tends to infinity ov"},{label:"DiscreteChirpZTransform",type:"keyword",info:"DiscreteChirpZTransform[list] gives the chirp Z transform of list.DiscreteChirpZTransform[list, n] r"},{label:"DiscreteConvolve",type:"keyword",info:"DiscreteConvolve[f, g, n, m] gives the convolution with respect to n of the expressions f and g. Dis"},{label:"DiscreteDelta",type:"keyword",info:"DiscreteDelta[n , n , …] gives the discrete delta function Î.b4 (n , n , …), equal to 1 if all the n a"},{label:"DiscreteHadamardTransform",type:"keyword",info:"DiscreteHadamardTransform[list] gives the discrete Hadamard transform of list."},{label:"DiscreteIndicator",type:"keyword",info:"DiscreteIndicator[x, x , {u , u , …}] yields the discrete indicator function, equal to 1 if x = x a"},{label:"DiscreteLimit",type:"keyword",info:" "},{label:"DiscreteLQEstimatorGains",type:"keyword",info:"DiscreteLQEstimatorGains[ssm, {w, v}, τ] gives the optimal discrete-time estimator gain matrix with "},{label:"DiscreteLQRegulatorGains",type:"keyword",info:"DiscreteLQRegulatorGains[sspec, wts, τ] gives the discrete-time state feedback gains with sampling p"},{label:"DiscreteLyapunovSolve",type:"keyword",info:"DiscreteLyapunovSolve[a, c] finds the numeric solution x of the discrete matrix equation a . x . a "},{label:"DiscreteMarkovProcess",type:"keyword",info:"DiscreteMarkovProcess[i , m] represents a discrete-time, finite-state Markov process with transition"},{label:"DiscreteMaxLimit",type:"keyword",info:" "},{label:"DiscreteMinLimit",type:"keyword",info:" "},{label:"DiscretePlot",type:"keyword",info:"DiscretePlot[expr, {n, n }] generates a plot of the values of expr when n runs from 1 to n .Disc"},{label:"DiscretePlot3D",type:"keyword",info:"DiscretePlot3D[expr, {i, i , i }, {j, j , j }] generates a plot of the values of expr when i"},{label:"DiscreteRatio",type:"keyword",info:" f(i + 1)\nDiscreteRatio[f, i] gives the discrete ratio -"},{label:"DiscreteRiccatiSolve",type:"keyword",info:" "},{label:"DiscreteShift",type:"keyword",info:" "},{label:"DiscreteTimeModelQ",type:"keyword",info:"DiscreteTimeModelQ[lsys] gives True if lsys is a discrete-time systems model, and False otherwise."},{label:"DiscreteUniformDistribution",type:"keyword",info:"DiscreteUniformDistribution[{i , i }] represents a discrete uniform distribution over the intege"},{label:"DiscreteVariables",type:"keyword",info:"DiscreteVariables is an option for NDSolve and other functions that specifies variables that only ch"},{label:"DiscreteWaveletData",type:"keyword",info:"DiscreteWaveletData[{wind  coef , …}, wave, wtrans] yields a discrete wavelet data object with wav"},{label:"DiscreteWaveletPacketTransform",type:"keyword",info:"DiscreteWaveletPacketTransform[data] gives the discrete wavelet packet transform (DWPT) of an array "},{label:"DiscreteWaveletTransform",type:"keyword",info:"DiscreteWaveletTransform[data] gives the discrete wavelet transform (DWT) of an array of data.Discre"},{label:"DiscretizeGraphics",type:"keyword",info:"DiscretizeGraphics[g] discretizes a 2D or 3D graphic g into a MeshRegion.DiscretizeGraphics[g, patt]"},{label:"DiscretizeRegion",type:"keyword",info:"DiscretizeRegion[reg] discretizes a region reg into a MeshRegion.DiscretizeRegion[reg, {{x , x }"},{label:"Discriminant",type:"keyword",info:"Discriminant[poly, var] computes the discriminant of the polynomial poly with respect to the variabl"},{label:"DisjointQ",type:"keyword",info:"DisjointQ[list , list ] yields True if list and list do not share any common elements, and False o"},{label:"Disjunction",type:"keyword",info:"Disjunction[expr, {a , a , …}] gives the disjunction of expr over all choices of the Boolean variabl"},{label:"Disk",type:"keyword",info:"Disk[{x, y}, r] represents a disk of radius r centered at {x, y}.Disk[{x, y}] gives a disk of radius"},{label:"DiskBox",type:"keyword",info:"System`DiskBox"},{label:"DiskMatrix",type:"keyword",info:" "},{label:"DiskSegment",type:"keyword",info:"DiskSegment[{x, y}, r, {θ , θ }] represents the disk segment from angle θ to θ in a disk centered "},{label:"Dispatch",type:"keyword",info:"Dispatch[{lhs  rhs , lhs  rhs , …}] generates an optimized dispatch table representation of a li"},{label:"DispatchQ",type:"keyword",info:"System`DispatchQ"},{label:"DispersionEstimatorFunction",type:"keyword",info:"DispersionEstimatorFunction is an option for generalized linear model fitting functions that specifi"},{label:"Display",type:"keyword",info:"Display[channel, graphics] writes graphics or sound to the specified output channel in PostScript fo"},{label:"DisplayAllSteps",type:"keyword",info:"DisplayAllSteps is an option to Animate and related functions that specifies whether all frames shou"},{label:"DisplayEndPacket",type:"keyword",info:"DisplayEndPacket[] is a WSTP packet that indicates the end of a series of expressions relating to a "},{label:"DisplayFlushImagePacket",type:"keyword",info:"System`DisplayFlushImagePacket"},{label:"DisplayForm",type:"keyword",info:"DisplayForm[expr] prints with low-level boxes inside expr shown in explicit two-dimensional or other"},{label:"DisplayFunction",type:"keyword",info:"DisplayFunction is an option for graphics and sound functions that specifies a function to apply to "},{label:"DisplayPacket",type:"keyword",info:"DisplayPacket[] is a WSTP packet that indicates the beginning of a series of expressions related to "},{label:"DisplayRules",type:"keyword",info:"System`DisplayRules"},{label:"DisplaySetSizePacket",type:"keyword",info:"System`DisplaySetSizePacket"},{label:"DisplayString",type:"keyword",info:"DisplayString[graphics] generates a string giving graphics or sound in PostScript format. DisplayStr"},{label:"DisplayTemporary",type:"keyword",info:"System`DisplayTemporary"},{label:"DisplayWith",type:"keyword",info:"System`DisplayWith"},{label:"DisplayWithRef",type:"keyword",info:"System`DisplayWithRef"},{label:"DisplayWithVariable",type:"keyword",info:"System`DisplayWithVariable"},{label:"DistanceFunction",type:"keyword",info:"DistanceFunction is an option for functions such as Nearest that specifies the distance value to ass"},{label:"DistanceMatrix",type:"keyword",info:"DistanceMatrix[{u , u , …}] gives the matrix of distances between each pair of elements u , u . Dist"},{label:"DistanceTransform",type:"keyword",info:"DistanceTransform[image] gives the distance transform of image, in which the value of each pixel is "},{label:"Distribute",type:"keyword",info:"Distribute[f[x , x , …]] distributes f over Plus appearing in any of the x . Distribute[expr, g] dis"},{label:"Distributed",type:"keyword",info:"Distributed[x, dist] or x  dist asserts that the random variable x is distributed according to the "},{label:"DistributedContexts",type:"keyword",info:"DistributedContexts is an option for various parallel computing functions that specifies which defin"},{label:"DistributeDefinitions",type:"keyword",info:"DistributeDefinitions[s , s , …] distributes all definitions for the symbols s to all parallel kern"},{label:"DistributionChart",type:"keyword",info:"DistributionChart[{data , data , …}] makes a distribution chart with a distribution symbol for each "},{label:"DistributionDomain",type:"keyword",info:"System`DistributionDomain"},{label:"DistributionFitTest",type:"keyword",info:"DistributionFitTest[data] tests whether data is normally distributed. DistributionFitTest[data, dist"},{label:"DistributionParameterAssumptions",type:"keyword",info:"DistributionParameterAssumptions[dist] gives a logical expression for assumptions on parameters in t"},{label:"DistributionParameterQ",type:"keyword",info:"DistributionParameterQ[dist] yields True if dist is a valid distribution, and yields False otherwise"},{label:"Dithering",type:"keyword",info:"Dithering is an option for ColorQuantize that specifies whether or not to apply dithering while quan"},{label:"Div",type:"keyword",info:"Div[{f , …, f }, {x , …, x }] gives the divergence ∂ f /∂ x + … + ∂ f /∂ x .Div[{f , …, f }, {x , …"},{label:"Divergence",type:"keyword",info:"System`Divergence"},{label:"Divide",type:"keyword",info:"x/y or Divide[x, y] is equivalent to x y^-1. "},{label:"DivideBy",type:"keyword",info:"x/=c divides x by c and returns the new value of x. "},{label:"Dividers",type:"keyword",info:"Dividers is an option for Grid and related constructs that specifies where and how to draw divider l"},{label:"DivideSides",type:"keyword",info:"DivideSides[rel, x] divides each side of the equation or inequality rel by x.DivideSides[rel , rel ]"},{label:"Divisible",type:"keyword",info:"Divisible[n, m] yields True if n is divisible by m, and yields False if it is not. "},{label:"Divisors",type:"keyword",info:"Divisors[n] gives a list of the integers that divide n. "},{label:"DivisorSigma",type:"keyword",info:"DivisorSigma[k, n] gives the divisor function σ (n). \n "},{label:"DivisorSum",type:"keyword",info:"DivisorSum[n, form] represents the sum of form[i] for all i that divide n.DivisorSum[n, form, cond] "},{label:"DMSList",type:"keyword",info:"DMSList[θ] converts an angle θ given in decimal degrees to a DMS list {degree, minute, second}.DMSLi"},{label:"DMSString",type:"keyword",info:"DMSString[θ] converts an angle θ given in decimal degrees to a degrees-minutes-seconds string.DMSStr"},{label:"Do",type:"keyword",info:"Do[expr, n] evaluates expr n times. Do[expr, {i, i }] evaluates expr with the variable i successiv"},{label:"DockedCells",type:"keyword",info:'DockedCells is an option for notebooks that gives a list of cells that are to be displayed "docked" '},{label:"DocumentGenerator",type:"keyword",info:"DocumentGenerator[template, timespec] represents a document generator with template template to be e"},{label:"DocumentGeneratorInformation",type:"keyword",info:"DocumentGeneratorInformation[CloudObject] returns information about a generator.\nDocumentGeneratorIn"},{label:"DocumentGeneratorInformationData",type:"keyword",info:"System`DocumentGeneratorInformationData"},{label:"DocumentGenerators",type:"keyword",info:"DocumentGenerators[] returns a list of the user's document generators, as cloud objects."},{label:"DocumentNotebook",type:"keyword",info:"DocumentNotebook[{cell , cell , …}] represents a complete document notebook in the Wolfram System fr"},{label:"DocumentWeightingRules",type:"keyword",info:"DocumentWeightingRules is an option for TextSearch and related functions that allows the specificati"},{label:"Dodecahedron",type:"keyword",info:"Dodecahedron[] represents a regular dodecahedron centered at the origin with unit edge length.Dodeca"},{label:"DomainRegistrationInformation",type:"keyword",info:"System`DomainRegistrationInformation"},{label:"DominantColors",type:"keyword",info:"DominantColors[image] returns dominant colors in image.DominantColors[image, n] returns at most n do"},{label:"DominatorTreeGraph",type:"keyword",info:"DominatorTreeGraph[g, v] gives the dominator tree of the directed graph g from the root vertex v."},{label:"DominatorVertexList",type:"keyword",info:"DominatorVertexList[g, v] gives the list of immediate dominators of the directed graph g from the ro"},{label:"DOSTextFormat",type:"keyword",info:"DOSTextFormat is an option for OpenRead, OpenWrite, and OpenAppend that specifies whether files shou"},{label:"Dot",type:"keyword",info:"a . b . c or Dot[a, b, c] gives products of vectors, matrices, and tensors. "},{label:"DotDashed",type:"keyword",info:"DotDashed is a graphics directive specifying that lines that follow should be drawn dot-dashed."},{label:"DotEqual",type:"keyword",info:"DotEqual[x, y, …] displays as x ≐ y ≐ …."},{label:"DotLayer",type:"keyword",info:"DotLayer[] represents a net layer that takes the dot product of two or more arrays.DotLayer[{spec , "},{label:"DotPlusLayer",type:"keyword",info:"DotPlusLayer[n] is equivalent to LinearLayer[n] and should no longer be used. "},{label:"Dotted",type:"keyword",info:"Dotted is a graphics directive specifying that lines that follow should be drawn dotted."},{label:"DoubleBracketingBar",type:"keyword",info:"DoubleBracketingBar[x, y, …] displays as  x, y, … ."},{label:"DoubleContourIntegral",type:"keyword",info:"System`DoubleContourIntegral"},{label:"DoubleDownArrow",type:"keyword",info:"DoubleDownArrow[x, y, …] displays as x ⇓ y…."},{label:"DoubleLeftArrow",type:"keyword",info:"DoubleLeftArrow[x, y, …] displays as x ⇐ y ⇐ …."},{label:"DoubleLeftRightArrow",type:"keyword",info:"DoubleLeftRightArrow[x, y, …] displays as x ⇔ y ⇔ …."},{label:"DoubleLeftTee",type:"keyword",info:"DoubleLeftTee[x, y] displays as x ⫤ y."},{label:"DoubleLongLeftArrow",type:"keyword",info:"DoubleLongLeftArrow[x, y, …] displays as x ⟸ y ⟸ …."},{label:"DoubleLongLeftRightArrow",type:"keyword",info:"DoubleLongLeftRightArrow[x, y, …] displays as x ⟺ y ⟺ …."},{label:"DoubleLongRightArrow",type:"keyword",info:"DoubleLongRightArrow[x, y, …] displays as x ⟹ y ⟹ …."},{label:"DoubleRightArrow",type:"keyword",info:"DoubleRightArrow[x, y, …] displays as x ⇒ y ⇒ …."},{label:"DoubleRightTee",type:"keyword",info:"DoubleRightTee[x, y] displays as x ⊨ y."},{label:"DoubleUpArrow",type:"keyword",info:"DoubleUpArrow[x, y, …] displays as x ⇑ y ⇑ …."},{label:"DoubleUpDownArrow",type:"keyword",info:"DoubleUpDownArrow[x, y, …] displays as x ⇕ y ⇕ …."},{label:"DoubleVerticalBar",type:"keyword",info:"DoubleVerticalBar[x, y, …] displays as x ∥ y ∥ …."},{label:"DoublyInfinite",type:"keyword",info:"DoublyInfinite is an option for LerchPhi. With DoublyInfinite -> True, the summation is taken from -"},{label:"Down",type:"keyword",info:"System`Down"},{label:"DownArrow",type:"keyword",info:"DownArrow[x, y, …] displays as x ↓ y ↓ …."},{label:"DownArrowBar",type:"keyword",info:"DownArrowBar[x, y, …] displays as x ⤓ y ⤓ …."},{label:"DownArrowUpArrow",type:"keyword",info:"DownArrowUpArrow[x, y, …] displays as x â‡\\[Micro] y â‡\\[Micro] …."},{label:"DownLeftRightVector",type:"keyword",info:"DownLeftRightVector[x, y, …] displays as x ⥐ y ⥐ …."},{label:"DownLeftTeeVector",type:"keyword",info:"DownLeftTeeVector[x, y, …] displays as x ⥞ y ⥞ …."},{label:"DownLeftVector",type:"keyword",info:"DownLeftVector[x, y, …] displays as x ↽ y ↽ …."},{label:"DownLeftVectorBar",type:"keyword",info:"DownLeftVectorBar[x, y, …] displays as x ⥖ y ⥖ …."},{label:"DownRightTeeVector",type:"keyword",info:"DownRightTeeVector[x, y, …] displays as x ⥟ y ⥟ …."},{label:"DownRightVector",type:"keyword",info:"DownRightVector[x, y, …] displays as x ⇁ y ⇁ …."},{label:"DownRightVectorBar",type:"keyword",info:"DownRightVectorBar[x, y, …] displays as x ⥗ y ⥗ …."},{label:"Downsample",type:"keyword",info:" th\nDownsample[ar"},{label:"DownTee",type:"keyword",info:"DownTee[x, y] displays as x ⊤ y."},{label:"DownTeeArrow",type:"keyword",info:"DownTeeArrow[x, y, …] displays as x ↧ y ↧ …."},{label:"DownValues",type:"keyword",info:"DownValues[f] gives a list of transformation rules corresponding to all downvalues (values for f[…])"},{label:"DragAndDrop",type:"keyword",info:"DragAndDrop is a global front end option that specifies whether to allow drag‐and‐drop editing. "},{label:"DrawBackFaces",type:"keyword",info:"System`DrawBackFaces"},{label:"DrawEdges",type:"keyword",info:"System`DrawEdges"},{label:"DrawFrontFaces",type:"keyword",info:"System`DrawFrontFaces"},{label:"DrawHighlighted",type:"keyword",info:"System`DrawHighlighted"},{label:"DrazinInverse",type:"keyword",info:" D\nDrazinInverse[m] finds the Drazin generaliz"},{label:"Drop",type:"keyword",info:" "},{label:"DropoutLayer",type:"keyword",info:"DropoutLayer[] represents a net layer that sets its input elements to zero with probability 0.5 duri"},{label:"DSolve",type:"keyword",info:"DSolve[eqn, u, x] solves a differential equation for the function u, with independent variable x. DS"},{label:"DSolveValue",type:"keyword",info:"DSolveValue[eqn, expr, x] gives the value of expr determined by a symbolic solution to the ordinary "},{label:"Dt",type:"keyword",info:" "},{label:"DualLinearProgramming",type:"keyword",info:"System`DualLinearProgramming"},{label:"DualPlanarGraph",type:"keyword",info:"DualPlanarGraph[g] gives the dual of the planar graph g."},{label:"DualPolyhedron",type:"keyword",info:"DualPolyhedron[poly] gives the dual polyhedron of the polyhedron poly."},{label:"DualSystemsModel",type:"keyword",info:"DualSystemsModel[ssm] gives the dual of the state-space model ssm. "},{label:"DumpGet",type:"keyword",info:'DumpGet[ "filename"] reads in a file saved with DumpSave.'},{label:"DumpSave",type:"keyword",info:'DumpSave["file.mx", symbol] writes definitions associated with a symbol to a file in internal Wolfra'},{label:"DuplicateFreeQ",type:"keyword",info:"DuplicateFreeQ[list] gives True if list has no duplicates, and False otherwise.DuplicateFreeQ[list, "},{label:"Duration",type:"keyword",info:"Duration[expr] returns the duration of expr."},{label:"Dynamic",type:"keyword",info:"Dynamic[expr] represents an object that displays as the dynamically updated current value of expr. I"},{label:"DynamicBox",type:"keyword",info:"System`DynamicBox"},{label:"DynamicBoxOptions",type:"keyword",info:"DynamicBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for DynamicBo"},{label:"DynamicEvaluationTimeout",type:"keyword",info:"DynamicEvaluationTimeout is an option for displayed objects, cells, and notebooks that specifies the"},{label:"DynamicGeoGraphics",type:"keyword",info:"DynamicGeoGraphics[primitives, options] represents a dynamic, interactive, two-dimensional geographi"},{label:"DynamicImage",type:"keyword",info:"DynamicImage[image] displays a dynamic version of image, supporting panning, zooming, etc.DynamicIma"},{label:"DynamicLocation",type:"keyword",info:"System`DynamicLocation"},{label:"DynamicModule",type:"keyword",info:"DynamicModule[{x, y, …}, expr] represents an object which maintains the same local instance of the s"},{label:"DynamicModuleBox",type:"keyword",info:"System`DynamicModuleBox"},{label:"DynamicModuleBoxOptions",type:"keyword",info:"DynamicModuleBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Dyn"},{label:"DynamicModuleParent",type:"keyword",info:"System`DynamicModuleParent"},{label:"DynamicModuleValues",type:"keyword",info:"DynamicModuleValues is an option for DynamicModule that stores downvalues of local symbols."},{label:"DynamicName",type:"keyword",info:"System`DynamicName"},{label:"DynamicNamespace",type:"keyword",info:"System`DynamicNamespace"},{label:"DynamicReference",type:"keyword",info:"System`DynamicReference"},{label:"DynamicSetting",type:"keyword",info:"DynamicSetting[e] represents an object which displays as e, but is interpreted as the dynamically up"},{label:"DynamicUpdating",type:"keyword",info:"DynamicUpdating is an option for displayed objects, cells and notebooks that specifies whether dynam"},{label:"DynamicWrapper",type:"keyword",info:"DynamicWrapper[e, expr] represents an object that displays as e, but dynamically updates the express"},{label:"DynamicWrapperBox",type:"keyword",info:"System`DynamicWrapperBox"},{label:"DynamicWrapperBoxOptions",type:"keyword",info:"DynamicWrapperBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Dy"},{label:"DEC",type:"keyword",info:"System`DEC"},{label:"E",type:"keyword",info:"E is the exponential constant  (base of natural logarithms), with numerical value ≃ 2.71828."},{label:"EarthImpactData",type:"keyword",info:"EarthImpactData[entity, property] gives the value of the specified property for the earth impact cra"},{label:"EarthquakeData",type:"keyword",info:"EarthquakeData[loc] gives all earthquake properties for the location corresponding to loc.Earthquake"},{label:"EccentricityCentrality",type:"keyword",info:"EccentricityCentrality[g] gives a list of eccentricity centralities for the vertices in the graph g."},{label:"Echo",type:"keyword",info:"Echo[expr] prints expr and returns expr.Echo[expr, label] prints expr prepending label and returns e"},{label:"EchoEvaluation",type:"keyword",info:"EchoEvaluation[expr] prints expr before evaluation, then prints the result after evaluation and retu"},{label:"EchoFunction",type:"keyword",info:"EchoFunction[f][expr] prints f[expr] and returns expr.EchoFunction[label, f][expr] prints f[expr] pr"},{label:"EchoLabel",type:"keyword",info:"EchoLabel[label][expr] prints expr prepending label and returns expr."},{label:"EchoTiming",type:"keyword",info:"EchoTiming[expr] evaluates expr, prints the time in seconds used and returns the result of the evalu"},{label:"EclipseType",type:"keyword",info:"EclipseType is an option for SolarEclipse and LunarEclipse that specifies the type of eclipse being "},{label:"EdgeAdd",type:"keyword",info:"EdgeAdd[g, e] makes a graph by adding the edge e to the graph g.EdgeAdd[g, {e , e , …}] adds a colle"},{label:"EdgeBetweennessCentrality",type:"keyword",info:"EdgeBetweennessCentrality[g] gives a list of betweenness centralities for the edges in the graph g.E"},{label:"EdgeCapacity",type:"keyword",info:"EdgeCapacity is an option and annotation for Graph and related functions that specifies an edge capa"},{label:"EdgeCapForm",type:"keyword",info:"System`EdgeCapForm"},{label:"EdgeChromaticNumber",type:"keyword",info:"EdgeChromaticNumber[g] gives the chromatic number for the edges of the graph g."},{label:"EdgeColor",type:"keyword",info:"System`EdgeColor"},{label:"EdgeConnectivity",type:"keyword",info:"EdgeConnectivity[g] gives the edge connectivity of the graph g.EdgeConnectivity[g, s, t] gives the s"},{label:"EdgeContract",type:"keyword",info:"EdgeContract[g, e] contracts the edge e of the graph g.EdgeContract[g, {e , e , …}] contracts a coll"},{label:"EdgeCost",type:"keyword",info:"EdgeCost is an option and annotation for Graph and related functions that specifies an edge cost."},{label:"EdgeCount",type:"keyword",info:"EdgeCount[g] gives a count of the number of edges in the graph g.EdgeCount[g, patt] gives a count of"},{label:"EdgeCoverQ",type:"keyword",info:"EdgeCoverQ[g, elist] yields True if the edge list elist is an edge cover of the graph g and False ot"},{label:"EdgeCycleMatrix",type:"keyword",info:"EdgeCycleMatrix[g] gives the edge cycle matrix of a graph g.EdgeCycleMatrix[{v  w, …}] uses rules v"},{label:"EdgeDashing",type:"keyword",info:"System`EdgeDashing"},{label:"EdgeDelete",type:"keyword",info:"EdgeDelete[g, e] makes a graph by deleting the edge e from the graph g.EdgeDelete[g, {e , e , …}] de"},{label:"EdgeDetect",type:"keyword",info:"EdgeDetect[image] finds edges in image and returns the result as a binary image.EdgeDetect[image, r]"},{label:"EdgeForm",type:"keyword",info:"EdgeForm[g] is a graphics directive that specifies that edges of polygons and other filled graphics "},{label:"EdgeIndex",type:"keyword",info:"EdgeIndex[g, e] gives the integer index for the edge e in the graph g.EdgeIndex[{v  w, …}, …] uses "},{label:"EdgeJoinForm",type:"keyword",info:"System`EdgeJoinForm"},{label:"EdgeLabeling",type:"keyword",info:"EdgeLabeling is an option for GraphPlot and related functions that specifies whether labeling specif"},{label:"EdgeLabels",type:"keyword",info:"EdgeLabels is an option and annotation for Graph and related functions that specifies what labels an"},{label:"EdgeLabelStyle",type:"keyword",info:"EdgeLabelStyle is an option and property for Graph and related functions that specifies the style to"},{label:"EdgeList",type:"keyword",info:"EdgeList[g] gives the list of edges for the graph g.EdgeList[g, patt] gives a list of edges that mat"},{label:"EdgeOpacity",type:"keyword",info:"System`EdgeOpacity"},{label:"EdgeQ",type:"keyword",info:"EdgeQ[g, e] yields True if e is an edge in the graph g and False otherwise."},{label:"EdgeRenderingFunction",type:"keyword",info:"EdgeRenderingFunction is an option for GraphPlot and related functions that gives a function to gene"},{label:"EdgeRules",type:"keyword",info:"EdgeRules[g] gives the list of edge rules for the graph g.EdgeRules[{v  w, …}] uses rules v  w to "},{label:"EdgeShapeFunction",type:"keyword",info:"EdgeShapeFunction is an option and annotation for Graph and related functions that specifies a funct"},{label:"EdgeStyle",type:"keyword",info:"EdgeStyle is an option and annotation for Graph and related functions that specifies what style to u"},{label:"EdgeTaggedGraph",type:"keyword",info:"EdgeTaggedGraph[{e , e , …}] yields a graph with edges e tagged with unique tags.EdgeTaggedGraph[{e"},{label:"EdgeTaggedGraphQ",type:"keyword",info:"EdgeTaggedGraphQ[g] yields True if the graph g has edges tagged and False otherwise."},{label:"EdgeTags",type:"keyword",info:"EdgeTags[g] gives the list of tags for all edges in the graph g.EdgeTags[g, {u, v}] gives the list o"},{label:"EdgeThickness",type:"keyword",info:"System`EdgeThickness"},{label:"EdgeTransitiveGraphQ",type:"keyword",info:"EdgeTransitiveGraphQ[g] yields True if the graph g is a edge-transitive graph and False otherwise."},{label:"EdgeValueRange",type:"keyword",info:"EdgeValueRange is an option for GeoGraphValuePlot that specifies the range of edge values to include"},{label:"EdgeValueSizes",type:"keyword",info:"EdgeValueSizes is an option for GeoGraphValuePlot that specifies the thicknesses used to show edge v"},{label:"EdgeWeight",type:"keyword",info:"EdgeWeight is an option and annotation for Graph and related functions that specifies an edge weight"},{label:"EdgeWeightedGraphQ",type:"keyword",info:"EdgeWeightedGraphQ[g] yields True if the graph g is an edge-weighted graph and False otherwise."},{label:"Editable",type:"keyword",info:"Editable is an option for displayed objects, cells, and notebooks that specifies whether their conte"},{label:"EditButtonSettings",type:"keyword",info:"System`EditButtonSettings"},{label:"EditCellTagsSettings",type:"keyword",info:"EditCellTagsSettings is a global option that specifies settings for the Edit Cell Tags dialog box."},{label:"EditDistance",type:"keyword",info:"EditDistance[u, v] gives the edit or Levenshtein distance between strings or vectors u and v.EditDis"},{label:"EffectiveInterest",type:"keyword",info:"EffectiveInterest[r, q] gives the effective interest rate corresponding to interest specification r,"},{label:"Eigensystem",type:"keyword",info:"Eigensystem[m] gives a list {values, vectors} of the eigenvalues and eigenvectors of the square matr"},{label:"Eigenvalues",type:"keyword",info:"Eigenvalues[m] gives a list of the eigenvalues of the square matrix m. Eigenvalues[{m, a}] gives the"},{label:"EigenvectorCentrality",type:"keyword",info:"EigenvectorCentrality[g] gives a list of eigenvector centralities for the vertices in the graph g.Ei"},{label:"Eigenvectors",type:"keyword",info:"Eigenvectors[m] gives a list of the eigenvectors of the square matrix m. Eigenvectors[{m, a}] gives "},{label:"Element",type:"keyword",info:"Element[x, dom] or x ∈ dom asserts that x is an element of the domain dom. Element[x, reg] or x ∈ re"},{label:"ElementData",type:"keyword",info:" "},{label:"ElementwiseLayer",type:"keyword",info:"ElementwiseLayer[f] represents a net layer that applies a unary function f to every element of the i"},{label:"ElidedForms",type:"keyword",info:"ElidedForms is an option to TextString and related functions that specifies which expressions should"},{label:"Eliminate",type:"keyword",info:"Eliminate[eqns, vars] eliminates variables between a set of simultaneous equations. "},{label:"EliminationOrder",type:"keyword",info:"System`EliminationOrder"},{label:"Ellipsoid",type:"keyword",info:"Ellipsoid[p, {r , …}] represents an axis-aligned ellipsoid centered at the point p and with semiaxes"},{label:"EllipticE",type:"keyword",info:"EllipticE[m] gives the complete elliptic integral E(m). EllipticE[ϕ, m] gives the elliptic integral "},{label:"EllipticExp",type:"keyword",info:"EllipticExp[u, {a, b}] is the inverse for EllipticLog. It produces a list {x, y} such that u == Elli"},{label:"EllipticExpPrime",type:"keyword",info:"EllipticExpPrime[u, {a, b}] gives the derivative of EllipticExp[u, {a, b}] with respect to u."},{label:"EllipticF",type:"keyword",info:"EllipticF[ϕ, m] gives the elliptic integral of the first kind F(ϕ ï.b2 m). "},{label:"EllipticFilterModel",type:"keyword",info:"EllipticFilterModel[n] designs a lowpass elliptic filter of order n.EllipticFilterModel[{n, ω }] use"},{label:"EllipticK",type:"keyword",info:"EllipticK[m] gives the complete elliptic integral of the first kind K(m). "},{label:"EllipticLog",type:"keyword",info:" 2 "},{label:"EllipticNomeQ",type:"keyword",info:"EllipticNomeQ[m] gives the nome q corresponding to the parameter m in an elliptic function. "},{label:"EllipticPi",type:"keyword",info:"EllipticPi[n, m] gives the complete elliptic integral of the third kind Π (n ï.b2 m). EllipticPi[n, ϕ, "},{label:"EllipticReducedHalfPeriods",type:"keyword",info:"EllipticReducedHalfPeriods[{u, v}] gives a reduced pair of half periods {w, w '} corresponding to th"},{label:"EllipticTheta",type:"keyword",info:"EllipticTheta[a, u, q] gives the theta function ϑ (u, q) (a = 1, …, 4).EllipticTheta[a, q] gives the"},{label:"EllipticThetaPrime",type:"keyword",info:" "},{label:"EmbedCode",type:"keyword",info:'EmbedCode[obj] generates the code necessary to embed the object obj on a webpage.EmbedCode[obj, "des'},{label:"EmbeddedHTML",type:"keyword",info:'EmbeddedHTML["string"] is an object that formats as a web frame containing the HTML content "string"'},{label:"EmbeddedService",type:"keyword",info:"EmbeddedService[service] is an object that formats as a web frame containing content from the specif"},{label:"EmbeddedSQLEntityClass",type:"keyword",info:"EmbeddedSQLEntityClass[string, props] represents a verbatim SQL query to be interpreted as an entity"},{label:"EmbeddedSQLExpression",type:"keyword",info:"EmbeddedSQLExpression[string] represents an SQL expression to be evaluated verbatim within an Entity"},{label:"EmbeddingLayer",type:"keyword",info:"EmbeddingLayer[size, n] represents a trainable net layer that embeds integers between 1 and n into a"},{label:"EmbeddingObject",type:"keyword",info:"System`EmbeddingObject"},{label:"EmitSound",type:"keyword",info:"EmitSound[snd] emits the sound snd when evaluated. EmitSound[{snd , snd , …}] emits each of the soun"},{label:"EmphasizeSyntaxErrors",type:"keyword",info:"System`EmphasizeSyntaxErrors"},{label:"EmpiricalDistribution",type:"keyword",info:"EmpiricalDistribution[{x , x , …}] represents an empirical distribution based on the data values x ."},{label:"Empty",type:"keyword",info:"System`Empty"},{label:"EmptyGraphQ",type:"keyword",info:"EmptyGraphQ[g] yields True if g is an empty graph and False otherwise."},{label:"EmptyRegion",type:"keyword",info:" n\nEmptyRegion[n] represents the empty subset of ïž\\[Micro] . "},{label:"EmptySpaceF",type:"keyword",info:"EmptySpaceF[pdata, r] estimates the empty space function F(r) for point data pdata at radius r.Empty"},{label:"EnableConsolePrintPacket",type:"keyword",info:"System`EnableConsolePrintPacket"},{label:"Enabled",type:"keyword",info:"Enabled is an option for objects such as Slider that specifies whether the objects should be enabled"},{label:"Enclose",type:"keyword",info:"Enclose[expr] attempts to evaluate expr and return the result, but stops if it catches an error and "},{label:"Encode",type:"keyword",info:'Encode["source", "dest"] writes an encoded version of the file source to the file dest. << dest deco'},{label:"Encrypt",type:"keyword",info:'Encrypt["password", expr] encrypts expr using the specified password, to give an encrypted object.En'},{label:"EncryptedObject",type:"keyword",info:"EncryptedObject[assoc] represents encrypted data generated by Encrypt."},{label:"EncryptFile",type:"keyword",info:'EncryptFile["password", file] generates an encrypted version of a file, using the specified password'},{label:"End",type:"keyword",info:"End[] returns the present context, and reverts to the previous one. "},{label:"EndAdd",type:"keyword",info:"EndAdd[ ] returns the present context, and reverts to the previous one, prepending the present conte"},{label:"EndDialogPacket",type:"keyword",info:"EndDialogPacket[integer] is a WSTP packet indicating the end of the Dialog subsession referenced by "},{label:"EndOfBuffer",type:"keyword",info:"EndOfBuffer is a symbol that represents the end of currently available data in the buffer for a proc"},{label:"EndOfFile",type:"keyword",info:"EndOfFile is a symbol returned by Read when it reaches the end of a file. "},{label:"EndOfLine",type:"keyword",info:"EndOfLine represents the end of a line in a string for purposes of matching in StringExpression."},{label:"EndOfString",type:"keyword",info:"EndOfString represents the end of a string for purposes of matching in StringExpression."},{label:"EndPackage",type:"keyword",info:"EndPackage[] restores ECContext and ECContextPath to their values before the preceding BeginPackage, a"},{label:"EngineEnvironment",type:"keyword",info:"System`EngineEnvironment"},{label:"EngineeringForm",type:"keyword",info:"EngineeringForm[expr] prints with all real numbers in expr given in engineering notation. Engineerin"},{label:"Enter",type:"keyword",info:"System`Enter"},{label:"EnterExpressionPacket",type:"keyword",info:"EnterExpressionPacket[expr] is a WSTP packet that requests the evaluation of expr."},{label:"EnterTextPacket",type:"keyword",info:"EnterTextPacket[string] is a WSTP packet that requests the parsing and evaluation of string as an ex"},{label:"Entity",type:"keyword",info:'Entity["type", name] represents an entity of the specified type, identified by name.Entity[cspec, na'},{label:"EntityClass",type:"keyword",info:'EntityClass["type", name] represents a class of entities of the specified type identified by name.En'},{label:"EntityClassList",type:"keyword",info:'EntityClassList["type"] gives a list of entity classes for the specified type of entity.'},{label:"EntityCopies",type:"keyword",info:"EntityCopies[entity, n] represents n copies of entity."},{label:"EntityFunction",type:"keyword",info:"EntityFunction[x, body] is a function with a single formal parameter x, to be used in EntityValue an"},{label:"EntityGroup",type:"keyword",info:"EntityGroup[{entity , entity , …}] represents a group of entities.\n 1 2"},{label:"EntityInstance",type:"keyword",info:"EntityInstance[entity, qual  val] represents an entity whose qualifier qual has value val.EntityIns"},{label:"EntityList",type:"keyword",info:'EntityList[class] gives a list of entities in the specified entity class. EntityList["type"] gives a'},{label:"EntityPrefetch",type:"keyword",info:'EntityPrefetch["type"] fetches cacheable values associated with all entities of the specified type.E'},{label:"EntityProperties",type:"keyword",info:"EntityProperties[type] lists properties associated with entity type type."},{label:"EntityProperty",type:"keyword",info:"EntityProperty[type, pname] represents a property identified by pname for use in EntityValue.EntityP"},{label:"EntityPropertyClass",type:"keyword",info:"EntityPropertyClass[type, pcname] represents a class of properties identified by the name pcname."},{label:"EntityRegister",type:"keyword",info:"EntityRegister[estore] registers the entities in the entity store estore so that they can be accesse"},{label:"EntityStore",type:"keyword",info:'EntityStore["type"] represents an empty entity store for entities of type "type".EntityStore["type" '},{label:"EntityStores",type:"keyword",info:"EntityStores[] gives a list of all registered entity stores that are accessed when Entity is used."},{label:"EntityTypeName",type:"keyword",info:"EntityTypeName[entity] gives the name of the entity type of entity.EntityTypeName[{entity , …, entit"},{label:"EntityUnregister",type:"keyword",info:'EntityUnregister["type"] unregisters all entities in the first entity store that defines entities of'},{label:"EntityValue",type:"keyword",info:"EntityValue[entity, property] gives the value of the specified property for the given entity.EntityV"},{label:"Entropy",type:"keyword",info:"Entropy[list] gives the base  information entropy of the values in list.Entropy[k, list] gives the "},{label:"EntropyFilter",type:"keyword",info:" "},{label:"Environment",type:"keyword",info:'Environment["var"] gives the value of an operating system environment variable. '},{label:"Epilog",type:"keyword",info:"Epilog is an option for graphics functions that gives a list of graphics primitives to be rendered a"},{label:"EpilogFunction",type:"keyword",info:"EpilogFunction is an option for DocumentGenerator allowing arbitrary code to be executed after a doc"},{label:"Equal",type:"keyword",info:"lhs == rhs returns True if lhs and rhs are identical. "},{label:"EqualColumns",type:"keyword",info:"EqualColumns is an option to GridBox which specifies whether the size of the columns are all set to "},{label:"EqualRows",type:"keyword",info:"EqualRows is an option to GridBox which specifies whether the size of the rows are all set to the si"},{label:"EqualTilde",type:"keyword",info:"EqualTilde[x, y, …] displays as x ≂ y ≂ …."},{label:"EqualTo",type:"keyword",info:"EqualTo[y] is an operator form that yields x == y when applied to an expression x. "},{label:"EquatedTo",type:"keyword",info:"EquatedTo is an option for Roots, which specifies an expression to use in place of the variable in t"},{label:"Equilibrium",type:"keyword",info:"Equilibrium[x, y, …] displays as x ⇌ y ⇌ …."},{label:"EquirippleFilterKernel",type:"keyword",info:"EquirippleFilterKernel[{{{ω , ω }, {ω , ω }, …}, {a , a , …}}, n] creates a finite impulse respo"},{label:"Equivalent",type:"keyword",info:"Equivalent[e , e , …] represents the logical equivalence e ⇔ e ⇔ …, giving True when all of the e "},{label:"Erf",type:"keyword",info:"Erf[z] gives the error function erf(z). Erf[z , z ] gives the generalized error function erf(z ) - e"},{label:"Erfc",type:"keyword",info:"Erfc[z] gives the complementary error function erfc(z). "},{label:"Erfi",type:"keyword",info:"Erfi[z] gives the imaginary error function erf(iz)/i. "},{label:"ErlangB",type:"keyword",info:"ErlangB[c, a] computes the Erlang B loss probability for an M/M/c/c queue."},{label:"ErlangC",type:"keyword",info:"ErlangC[c, a] computes the Erlang C probability for nonzero waiting time in an M/M/c queue."},{label:"ErlangDistribution",type:"keyword",info:"ErlangDistribution[k, λ] represents the Erlang distribution with shape parameter k and rate λ."},{label:"Erosion",type:"keyword",info:"Erosion[image, ker] gives the morphological erosion of image with respect to the structuring element"},{label:"ErrorBox",type:"keyword",info:"ErrorBox[boxes] is a low-level box construct that represents boxes that cannot be interpreted in inp"},{label:"ErrorBoxOptions",type:"keyword",info:"System`ErrorBoxOptions"},{label:"ErrorNorm",type:"keyword",info:"System`ErrorNorm"},{label:"ErrorPacket",type:"keyword",info:"System`ErrorPacket"},{label:"ErrorsDialogSettings",type:"keyword",info:"System`ErrorsDialogSettings"},{label:"EscapeRadius",type:"keyword",info:"EscapeRadius is an option to MandelbrotSetPlot that specifies the criterion to use to decide that a "},{label:"EstimatedBackground",type:"keyword",info:"EstimatedBackground[data] estimates the background of data.EstimatedBackground[data, σ] tries to pre"},{label:"EstimatedDistribution",type:"keyword",info:"EstimatedDistribution[data, dist] estimates the parametric distribution dist from data.EstimatedDist"},{label:"EstimatedPointProcess",type:"keyword",info:"EstimatedPointProcess[pdata, pproc] estimates the parametric point process pproc from point data pda"},{label:"EstimatedProcess",type:"keyword",info:"EstimatedProcess[data, proc] estimates the parametric process proc from data.EstimatedProcess[data, "},{label:"EstimatedVariogramModel",type:"keyword",info:"EstimatedVariogramModel[{loc  val , loc  val , …}] estimates the best variogram function from va"},{label:"EstimatorGains",type:"keyword",info:"EstimatorGains[ssm, {p , p , …, p }] gives the estimator gain matrix for the StateSpaceModel ssm, su"},{label:"EstimatorRegulator",type:"keyword",info:"EstimatorRegulator[sspec, {l, κ}] gives the output feedback controller with estimator and regulator "},{label:"EuclideanDistance",type:"keyword",info:"EuclideanDistance[u, v] gives the Euclidean distance between vectors u and v."},{label:"EulerAngles",type:"keyword",info:"EulerAngles[r] gives Euler angles {Î\\[PlusMinus], Î.b2, Î.b3} corresponding to the rotation matrix r.EulerAngles[r, {a"},{label:"EulerCharacteristic",type:"keyword",info:"EulerCharacteristic[poly] gives the Euler characteristic of a poly."},{label:"EulerE",type:"keyword",info:"EulerE[n] gives the Euler number E . EulerE[n, x] gives the Euler polynomial E (x). \n "},{label:"EulerGamma",type:"keyword",info:"EulerGamma is Euler’s constant Î.b3, with numerical value ≃ 0.577216. "},{label:"EulerianGraphQ",type:"keyword",info:"EulerianGraphQ[g] yields True if the graph g is Eulerian, and False otherwise."},{label:"EulerMatrix",type:"keyword",info:"EulerMatrix[{Î\\[PlusMinus], Î.b2, Î.b3}] gives the Euler 3D rotation matrix formed by rotating by Î\\[PlusMinus] around the current"},{label:"EulerPhi",type:"keyword",info:"EulerPhi[n] gives the Euler totient function ϕ(n). "},{label:"Evaluatable",type:"keyword",info:"Evaluatable is an option for Cell that specifies whether a cell should be used as input to be evalua"},{label:"Evaluate",type:"keyword",info:"Evaluate[expr] causes expr to be evaluated even if it appears as the argument of a function whose at"},{label:"Evaluated",type:"keyword",info:"System`Evaluated"},{label:"EvaluatePacket",type:"keyword",info:"EvaluatePacket[expr] is a WSTP packet requesting evaluation of expr."},{label:"EvaluateScheduledTask",type:"keyword",info:"EvaluateScheduledTask[expr] triggers immediate local execution of the specified task object."},{label:"EvaluationBox",type:"keyword",info:"EvaluationBox[] returns a BoxObject corresponding to the box structure in which this function is bei"},{label:"EvaluationCell",type:"keyword",info:"EvaluationCell[] returns a CellObject corresponding to the cell in which this function is being eval"},{label:"EvaluationCompletionAction",type:"keyword",info:"EvaluationCompletionAction is an option for notebooks that specifies the action taken when an evalua"},{label:"EvaluationData",type:"keyword",info:"EvaluationData[expr] gives an association containing the result of evaluating expr and metadata abou"},{label:"EvaluationElements",type:"keyword",info:"EvaluationElements is an option for NotebookEvaluate that determines which cells to evaluate."},{label:"EvaluationEnvironment",type:"keyword",info:"EvaluationEnvironment is an option for functions such as InitializationValue and InitializationObjec"},{label:"EvaluationMode",type:"keyword",info:"System`EvaluationMode"},{label:"EvaluationMonitor",type:"keyword",info:"EvaluationMonitor is an option for various numerical computation and plotting functions that gives a"},{label:"EvaluationNotebook",type:"keyword",info:"EvaluationNotebook[] gives the notebook in which this function is being evaluated. "},{label:"EvaluationObject",type:"keyword",info:"EvaluationObject[n, expr, …] represents an expression submitted for evaluation on any available para"},{label:"EvaluationOrder",type:"keyword",info:"System`EvaluationOrder"},{label:"EvaluationPrivileges",type:"keyword",info:"EvaluationPrivileges is an option for CloudObject and related cloud functions that specifies what ot"},{label:"EvaluationRateLimit",type:"keyword",info:"System`EvaluationRateLimit"},{label:"Evaluator",type:"keyword",info:"Evaluator is an option for objects such as Button, Dynamic, and Cell that gives the name of the kern"},{label:"EvaluatorNames",type:"keyword",info:"EvaluatorNames is a global option that specifies the kernels that are currently configured to perfor"},{label:"EvenQ",type:"keyword",info:"EvenQ[expr] gives True if expr is an even integer, and False otherwise. "},{label:"EventSeries",type:"keyword",info:"EventSeries[{{t , v }, {t , v } …}] represents a series of events given as time-value pairs {t , v }"},{label:"ExactBlackmanWindow",type:"keyword",info:"ExactBlackmanWindow[x] represents an exact Blackman window function of x."},{label:"ExactNumberQ",type:"keyword",info:"ExactNumberQ[expr] returns True if expr is an exact real or complex number, and returns False otherw"},{label:"ExactRootIsolation",type:"keyword",info:"ExactRootIsolation is an option for Root, which specifies whether exact isolating intervals rather t"},{label:"ExampleData",type:"keyword",info:'ExampleData["type"] gives a list of names of examples of the specified type.ExampleData[{"type", "na'},{label:"Except",type:"keyword",info:"Except[c] is a pattern object which represents any expression except one that matches c. Except[c, p"},{label:"ExcludedContexts",type:"keyword",info:"ExcludedContexts is an option for FullDefinition, Manipulate and related symbols that gives contexts"},{label:"ExcludedForms",type:"keyword",info:"ExcludedForms is an option that gives a list of patterns for expressions that should be excluded fro"},{label:"ExcludedLines",type:"keyword",info:"ExcludedLines is an option for SemanticImport and related functions that specifies which lines shoul"},{label:"ExcludedPhysicalQuantities",type:"keyword",info:"ExcludedPhysicalQuantities is an option for FormulaLookup that specifies physical quantities that sh"},{label:"ExcludePods",type:"keyword",info:"ExcludePods is an option to WolframAlpha that specifies pod IDs to exclude from the results."},{label:"Exclusions",type:"keyword",info:"Exclusions is an option that specifies where to exclude in regions used by functions like Plot, Plot"},{label:"ExclusionsStyle",type:"keyword",info:"ExclusionsStyle is an option to plotting functions that specifies how to render subregions excluded "},{label:"Exists",type:"keyword",info:"Exists[x, expr] represents the statement that there exists a value of x for which expr is True. Exis"},{label:"Exit",type:"keyword",info:"Exit[] terminates a Wolfram Language kernel session. "},{label:"ExitDialog",type:"keyword",info:"System`ExitDialog"},{label:"ExoplanetData",type:"keyword",info:"ExoplanetData[entity, property] gives the value of the specified property for the exoplanet entity.E"},{label:"Exp",type:"keyword",info:"Exp[z] gives the exponential of z. "},{label:"Expand",type:"keyword",info:"Expand[expr] expands out products and positive integer powers in expr. Expand[expr, patt] leaves une"},{label:"ExpandAll",type:"keyword",info:"ExpandAll[expr] expands out all products and integer powers in any part of expr. ExpandAll[expr, pat"},{label:"ExpandDenominator",type:"keyword",info:"ExpandDenominator[expr] expands out products and powers that appear as denominators in expr. "},{label:"ExpandFileName",type:"keyword",info:'ExpandFileName["name"] textually expands name to have the form of an absolute file name for your ope'},{label:"ExpandNumerator",type:"keyword",info:"ExpandNumerator[expr] expands out products and powers that appear in the numerator of expr. "},{label:"Expectation",type:"keyword",info:"Expectation[expr, x  dist] gives the expectation of expr under the assumption that x follows the pr"},{label:"ExpectationE",type:"keyword",info:"System`ExpectationE"},{label:"ExpectedValue",type:"keyword",info:"ExpectedValue[f, list] gives the expected value of the pure function f with respect to the values in"},{label:"ExpGammaDistribution",type:"keyword",info:"ExpGammaDistribution[κ, θ, μ] represents an exp-gamma distribution with shape parameter κ, scale par"},{label:"ExpIntegralE",type:"keyword",info:"ExpIntegralE[n, z] gives the exponential integral function E (z).\n "},{label:"Offload",type:"keyword",info:"Use Offload[expr_] to keep expr from evaluation on Kernel"},{label:"ExpIntegralEi",type:"keyword",info:"ExpIntegralEi[z] gives the exponential integral function Ei(z). "},{label:"ExpirationDate",type:"keyword",info:"ExpirationDate is an option for various functions that specifies when a persistent value should be t"},{label:"Exponent",type:"keyword",info:"Exponent[expr, form] gives the maximum power with which form appears in the expanded form of expr. E"},{label:"ExponentFunction",type:"keyword",info:"ExponentFunction is an option for NumberForm and related functions that determines the exponent to u"},{label:"ExponentialDistribution",type:"keyword",info:"ExponentialDistribution[λ] represents an exponential distribution with scale inversely proportional "},{label:"ExponentialFamily",type:"keyword",info:"ExponentialFamily is an option for GeneralizedLinearModelFit that specifies the exponential family f"},{label:"ExponentialGeneratingFunction",type:"keyword",info:" "},{label:"ExponentialMovingAverage",type:"keyword",info:"ExponentialMovingAverage[list, Î\\[PlusMinus]] gives the exponential moving average of list with smoothing consta"},{label:"ExponentialPowerDistribution",type:"keyword",info:"ExponentialPowerDistribution[κ, μ, σ] represents an exponential power distribution with shape parame"},{label:"ExponentPosition",type:"keyword",info:"ExponentPosition is an option for RadicalBox that specifies the placement of the index outside a rad"},{label:"ExponentStep",type:"keyword",info:"ExponentStep is an option for NumberForm and related functions that determines in what steps exponen"},{label:"Export",type:"keyword",info:'Export["dest.ext", expr] exports data to a file, converting it to the format corresponding to the fi'},{label:"ExportAutoReplacements",type:"keyword",info:"ExportAutoReplacements is an option for cells that specifies which replacement rules the Wolfram Lan"},{label:"ExportByteArray",type:"keyword",info:'ExportByteArray[expr, "format"] generates a ByteArray object corresponding to expr exported in the s'},{label:"ExportForm",type:"keyword",info:'ExportForm[expr, "fmt"] specifies that expr should be exported in the specified format in functions '},{label:"ExportPacket",type:"keyword",info:"System`ExportPacket"},{label:"ExportString",type:"keyword",info:'ExportString[expr, "format"] generates a string corresponding to expr exported in the specified form'},{label:"Expression",type:"keyword",info:"Expression is a symbol that represents an ordinary Wolfram Language expression in Read and related f"},{label:"ExpressionCell",type:"keyword",info:"ExpressionCell[expr] gives an expression cell that can appear in a Wolfram System notebook.Expressio"},{label:"ExpressionGraph",type:"keyword",info:"ExpressionGraph[expr] gives the tree graph with different levels at different depths. ExpressionGrap"},{label:"ExpressionPacket",type:"keyword",info:"System`ExpressionPacket"},{label:"ExpressionTree",type:"keyword",info:"ExpressionTree[expr] gives a Tree object from the structure of the expression expr.ExpressionTree[ex"},{label:"ExpressionUUID",type:"keyword",info:"ExpressionUUID is an option for Cell and Notebook that holds the assigned unique UUID string."},{label:"ExpToTrig",type:"keyword",info:"ExpToTrig[expr] converts exponentials in expr to trigonometric functions. "},{label:"ExtendedEntityClass",type:"keyword",info:'ExtendedEntityClass[class, "name"  f] represents an entity class derived from class by adding a new'},{label:"ExtendedGCD",type:"keyword",info:"ExtendedGCD[n , n , …] gives the extended greatest common divisor of the integers n . \n "},{label:"Extension",type:"keyword",info:"Extension is an option for various polynomial and algebraic functions that specifies generators for "},{label:"ExtentElementFunction",type:"keyword",info:"ExtentElementFunction is an option to DiscretePlot and DiscretePlot3D that gives a function to use t"},{label:"ExtentMarkers",type:"keyword",info:"ExtentMarkers is an option to DiscretePlot and DiscretePlot3D that specifies markers to draw at exte"},{label:"ExtentSize",type:"keyword",info:"ExtentSize is an option to DiscretePlot and DiscretePlot3D that specifies how far to extend out from"},{label:"ExternalBundle",type:"keyword",info:"ExternalBundle[{name  obj , name  obj , …}] represents a bundle of resources to be externally de"},{label:"ExternalCall",type:"keyword",info:"System`ExternalCall"},{label:"ExternalDataCharacterEncoding",type:"keyword",info:"ExternalDataCharacterEncoding is a global option that specifies the character encoding used in readi"},{label:"ExternalEvaluate",type:"keyword",info:'ExternalEvaluate["sys", "cmd"] evaluates the command cmd in the external evaluator sys, returning an'},{label:"ExternalFunction",type:"keyword",info:'ExternalFunction[sys, "f"] represents an external function named "f" defined in the external evaluat'},{label:"ExternalFunctionName",type:"keyword",info:"System`ExternalFunctionName"},{label:"ExternalIdentifier",type:"keyword",info:'ExternalIdentifier["type", id] represents a resource identified by id in the external identifier sys'},{label:"ExternalObject",type:"keyword",info:"ExternalObject[…] represents an external object inside an ExternalSessionObject."},{label:"ExternalOptions",type:"keyword",info:"ExternalOptions is an option for EmbedCode and related functions that gives options specific to the "},{label:"ExternalSessionObject",type:"keyword",info:"ExternalSessionObject[…] represents an external session started by StartExternalSession for use with"},{label:"ExternalSessions",type:"keyword",info:"ExternalSessions[] gives the list of currently active external evaluator sessions.ExternalSessions[s"},{label:"ExternalStorageBase",type:"keyword",info:"ExternalStorageBase is an option for various external storage functions that specifies which externa"},{label:"ExternalStorageDownload",type:"keyword",info:"ExternalStorageDownload[location] downloads content from the specified location.ExternalStorageDownl"},{label:"ExternalStorageGet",type:"keyword",info:"ExternalStorageGet[ExternalStorageObject[…]] reads in an expression stored at an external storage sp"},{label:"ExternalStorageObject",type:"keyword",info:"ExternalStorageObject[location] represents a file stored in an external location.ExternalStorageObje"},{label:"ExternalStoragePut",type:"keyword",info:"ExternalStoragePut[expr] writes expr to an external storage specified by ECExternalStorageBase.Extern"},{label:"ExternalStorageUpload",type:"keyword",info:"ExternalStorageUpload[file] uploads file to an external storage specified by ECExternalStorageBase.Ex"},{label:"ExternalTypeSignature",type:"keyword",info:"ExternalTypeSignature is an option for EmbedCode that gives rules specifying the mapping to external"},{label:"ExternalValue",type:"keyword",info:'ExternalValue[sys, "sym"] gives the value of "sym" in external evaluator sys. ExternalValue[session,'},{label:"Extract",type:"keyword",info:"Extract[expr, pos] extracts the part of expr at the position specified by pos. Extract[expr, {pos , "},{label:"ExtractArchive",type:"keyword",info:"ExtractArchive[source] expands an archive file, saving its content into the current directory.Extrac"},{label:"ExtractLayer",type:"keyword",info:"ExtractLayer[] represents a net layer that takes an array and a position specification as inputs and"},{label:"ExtractPacletArchive",type:"keyword",info:"ExtractPacletArchive[file] extracts the contents of the paclet archive file into the directory in wh"},{label:"ExtremeValueDistribution",type:"keyword",info:"ExtremeValueDistribution[Î\\[PlusMinus], Î.b2] represents an extreme value distribution with location parameter Î\\[PlusMinus] an"},{label:"EEC",type:"keyword",info:"System`EEC"},{label:"FaceAlign",type:"keyword",info:"FaceAlign[image] attempts to find faces in image and align them.FaceAlign[image, fref] gives aligned"},{label:"FaceForm",type:"keyword",info:"FaceForm[g] is a graphics directive which specifies that faces of polygons and other filled graphics"},{label:"FaceGrids",type:"keyword",info:"FaceGrids is an option for three-dimensional graphics functions that specifies grid lines to draw on"},{label:"FaceGridsStyle",type:"keyword",info:"FaceGridsStyle is an option for 3D graphics functions that specifies how face grids should be render"},{label:"FaceRecognize",type:"keyword",info:"FaceRecognize[{example  name , example  name , …}] generates a ClassifierFunction[…] based on th"},{label:"FacialFeatures",type:"keyword",info:"FacialFeatures[image] returns a minimal summary of facial features for all detected faces in image.F"},{label:"Factor",type:"keyword",info:"Factor[poly] factors a polynomial over the integers. Factor[poly, Modulus  p] factors a polynomial "},{label:"FactorComplete",type:"keyword",info:"System`FactorComplete"},{label:"Factorial",type:"keyword",info:"n ! gives the factorial of n. "},{label:"Factorial2",type:"keyword",info:"n !! gives the double factorial of n. "},{label:"FactorialMoment",type:"keyword",info:" th "},{label:"FactorialMomentGeneratingFunction",type:"keyword",info:"FactorialMomentGeneratingFunction[dist, t] gives the factorial moment-generating function for the di"},{label:"FactorialPower",type:"keyword",info:" (n) "},{label:"FactorInteger",type:"keyword",info:"FactorInteger[n] gives a list of the prime factors of the integer n, together with their exponents. "},{label:"FactorList",type:"keyword",info:"FactorList[poly] gives a list of the factors of a polynomial, together with their exponents. "},{label:"FactorSquareFree",type:"keyword",info:"FactorSquareFree[poly] pulls out any multiple factors in a polynomial. "},{label:"FactorSquareFreeList",type:"keyword",info:"FactorSquareFreeList[poly] gives a list of square‐free factors of a polynomial, together with their "},{label:"FactorTerms",type:"keyword",info:"FactorTerms[poly] pulls out any overall numerical factor in poly. FactorTerms[poly, x] pulls out any"},{label:"FactorTermsList",type:"keyword",info:"FactorTermsList[poly] gives a list in which the first element is the overall numerical factor in pol"},{label:"Fail",type:"keyword",info:"System`Fail"},{label:"Failure",type:"keyword",info:'Failure["tag", assoc] represents a failure of a type indicated by tag, with details given by the ass'},{label:"FailureAction",type:"keyword",info:"FailureAction is an option to Query and related functions that determines what should happen when a "},{label:"FailureDistribution",type:"keyword",info:"FailureDistribution[bexpr, {{x , dist }, {x , dist }, …}] represents the failure distribution for a "},{label:"FailureQ",type:"keyword",info:"FailureQ[expr] gives True if expr has head Failure or is equal to ECFailed or ECAborted."},{label:"False",type:"keyword",info:"False is the symbol for the Boolean value false. "},{label:"FareySequence",type:"keyword",info:" th\nFareySeq"},{label:"FARIMAProcess",type:"keyword",info:" "},{label:"FeatureDistance",type:"keyword",info:"FeatureDistance[example , example , extractor] gives the distance between example and example in t"},{label:"FeatureExtract",type:"keyword",info:"FeatureExtract[{example , example , …}] extracts features for each of the example using a feature e"},{label:"FeatureExtraction",type:"keyword",info:"FeatureExtraction[{example , example , …}] generates a FeatureExtractorFunction[…] trained from the "},{label:"FeatureExtractor",type:"keyword",info:"FeatureExtractor is an option for functions such as Classify that specifies how features should be e"},{label:"FeatureExtractorFunction",type:"keyword",info:"FeatureExtractorFunction[…] represents a feature extractor function generated by FeatureExtraction."},{label:"FeatureNames",type:"keyword",info:"FeatureNames is an option for machine learning functions such as Classify or Predict that specifies "},{label:"FeatureNearest",type:"keyword",info:"FeatureNearest[{elem , elem , …}, x] gives the list of elem to which x is nearest in a computed fea"},{label:"FeatureSpacePlot",type:"keyword",info:"FeatureSpacePlot[{example , example , …}] plots features extracted from the example as a scatter pl"},{label:"FeatureSpacePlot3D",type:"keyword",info:"FeatureSpacePlot3D[{example , example , …}] plots features extracted from the example as a scatter "},{label:"FeatureTypes",type:"keyword",info:"FeatureTypes is an option for machine learning functions such as Classify or Predict that specifies "},{label:"FEDisableConsolePrintPacket",type:"keyword",info:"System`FEDisableConsolePrintPacket"},{label:"FeedbackLinearize",type:"keyword",info:"FeedbackLinearize[asys] input-output linearizes the AffineStateSpaceModel asys by state transformati"},{label:"FeedbackSector",type:"keyword",info:"FeedbackSector is an option to NyquistPlot that specifies the sector limits of the nonlinearity in t"},{label:"FeedbackSectorStyle",type:"keyword",info:"FeedbackSectorStyle is an option to NyquistPlot that specifies the style in which graphics of Feedba"},{label:"FeedbackType",type:"keyword",info:"FeedbackType is an option for some control system functions that specifies the feedback type."},{label:"FEEnableConsolePrintPacket",type:"keyword",info:"System`FEEnableConsolePrintPacket"},{label:"FetalGrowthData",type:"keyword",info:"FetalGrowthData[age] returns the values for all properties of fetal development for the specified ag"},{label:"Fibonacci",type:"keyword",info:"Fibonacci[n] gives the Fibonacci number F . Fibonacci[n, x] gives the Fibonacci polynomial F (x). \n "},{label:"Fibonorial",type:"keyword",info:"Fibonorial[n] gives the fibonorial n ! .\n F"},{label:"FieldCompletionFunction",type:"keyword",info:"FieldCompletionFunction is an option for InputField that specifies a function to apply to the input "},{label:"FieldHint",type:"keyword",info:"FieldHint is an option for InputField that specifies contents to display when the input field is emp"},{label:"FieldHintStyle",type:"keyword",info:"FieldHintStyle is an option for InputField that specifies the style to use for displaying the field "},{label:"FieldMasked",type:"keyword",info:"FieldMasked is an option to InputField that determines whether to mask user input."},{label:"FieldSize",type:"keyword",info:"FieldSize is an option for InputField, PopupMenu, and related functions that specifies the size of t"},{label:"File",type:"keyword",info:'File["path"] is a symbolic representation of a location in the local file system. '},{label:"FileBaseName",type:"keyword",info:'FileBaseName["file"] gives the base name for a file without its extension.'},{label:"FileByteCount",type:"keyword",info:"FileByteCount[file] gives the number of bytes in a file. "},{label:"FileConvert",type:"keyword",info:'FileConvert[source  "dest.ext"] converts the contents of source to the format defined by the extens'},{label:"FileDate",type:"keyword",info:'FileDate["file"] gives the date and time at which a file was last modified. FileDate["file", "type"]'},{label:"FileExistsQ",type:"keyword",info:'FileExistsQ["name"] gives True if the file with the specified name exists, and gives False otherwise'},{label:"FileExtension",type:"keyword",info:'FileExtension["file"] gives the file extension for a file name.'},{label:"FileFormat",type:"keyword",info:"FileFormat[source] attempts to determine what Import format could be used to import the file corresp"},{label:"FileFormatProperties",type:"keyword",info:'FileFormatProperties["fmt"] returns an association of properties for the specified format "fmt".File'},{label:"FileFormatQ",type:"keyword",info:'FileFormatQ[source, "fmt"] gives True if the file corresponding to source might be imported as forma'},{label:"FileHandler",type:"keyword",info:"System`FileHandler"},{label:"FileHash",type:"keyword",info:'FileHash[file] gives an integer hash code for the contents of the specified file.FileHash[file, "typ'},{label:"FileInformation",type:"keyword",info:"System`FileInformation"},{label:"FileName",type:"keyword",info:"System`FileName"},{label:"FileNameDepth",type:"keyword",info:'FileNameDepth["name"] gives the number of path elements in the file name "file".'},{label:"FileNameDialogSettings",type:"keyword",info:"FileNameDialogSettings is a global option that specifies settings for the Insert File Path dialog bo"},{label:"FileNameDrop",type:"keyword",info:'FileNameDrop["name", n] drops the first n path elements in the file name "name".FileNameDrop["name",'},{label:"FileNameForms",type:"keyword",info:"FileNameForms is an option that specifies the pattern for file names to be selected by a function."},{label:"FileNameJoin",type:"keyword",info:"FileNameJoin[{name , name , …}] joins the name together into a file name suitable for your current "},{label:"FileNames",type:"keyword",info:"FileNames[] lists all files in the current working directory. FileNames[form] lists all files in the"},{label:"FileNameSetter",type:"keyword",info:"FileNameSetter[name] represents a file name setter which displays as a Browse button and when clicke"},{label:"FileNameSplit",type:"keyword",info:'FileNameSplit["name"] splits a file name into a list of parts.'},{label:"FileNameTake",type:"keyword",info:'FileNameTake["name"] gives the last path element in the file name "name".FileNameTake["name", n] giv'},{label:"FileNameToFormatList",type:"keyword",info:"FileNameToFormatList[] returns lists of file formats corresponding to all registered file name patte"},{label:"FilePrint",type:"keyword",info:'FilePrint["file"] prints out the raw textual contents of file.FilePrint["file", n] prints out the fi'},{label:"FileSize",type:"keyword",info:"FileSize[file] gives the size of a file as a quantity."},{label:"FileSystemMap",type:"keyword",info:"FileSystemMap[f, root] gives an association whose keys are the names of files in root, and whose val"},{label:"FileSystemScan",type:"keyword",info:"FileSystemScan[f, root] evaluates f on all files contained in root.FileSystemScan[f, root, n] restri"},{label:"FileTemplate",type:"keyword",info:'FileTemplate["file"] yields a TemplateObject expression that represents a file template to be applie'},{label:"FileTemplateApply",type:"keyword",info:"FileTemplateApply[template] applies a template, evaluating all template elements it contains, and th"},{label:"FileType",type:"keyword",info:'FileType["file"] gives the type of a file, typically File, Directory, or None. '},{label:"FilledCurve",type:"keyword",info:"FilledCurve[{segment , segment , …}] represents a filled curve consisting of segment followed by se"},{label:"FilledCurveBox",type:"keyword",info:"System`FilledCurveBox"},{label:"FilledCurveBoxOptions",type:"keyword",info:"FilledCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Fille"},{label:"FilledTorus",type:"keyword",info:"FilledTorus[{x, y, z}, {r , r }] represents a filled torus centered at {x, y, z} with inner "},{label:"FillForm",type:"keyword",info:"System`FillForm"},{label:"Filling",type:"keyword",info:"Filling is an option for ListPlot, Plot, Plot3D, and related functions that specifies what filling t"},{label:"FillingStyle",type:"keyword",info:"FillingStyle is an option for ListPlot, Plot, Plot3D, and related functions that specifies the defau"},{label:"FillingTransform",type:"keyword",info:"FillingTransform[image] gives a version of image with all extended minima filled.FillingTransform[im"},{label:"FilteredEntityClass",type:"keyword",info:"FilteredEntityClass[class, f] represents a class of entities where only entities for which the Entit"},{label:"FilterRules",type:"keyword",info:"FilterRules[rules, patt] filters the list rules by picking out only those rules whose left-hand side"},{label:"FinancialBond",type:"keyword",info:"FinancialBond[params, ambientparams] gives the value of a financial bond instrument.FinancialBond[pa"},{label:"FinancialData",type:"keyword",info:'FinancialData["name"] gives the last known price or value for the financial entity specified by "nam'},{label:"FinancialDerivative",type:"keyword",info:"FinancialDerivative[instrument, params, ambientparams] gives the value of the specified financial in"},{label:"FinancialIndicator",type:"keyword",info:'FinancialIndicator["ind", par , par , …] represents a financial indicator "ind" with parameters par '},{label:"Find",type:"keyword",info:'Find[stream, "text"] finds the first line in an input stream that contains the specified string. Fin'},{label:"FindAnomalies",type:"keyword",info:"FindAnomalies[{example , example , …}] gives a list of the example that are considered anomalous wi"},{label:"FindArgMax",type:"keyword",info:"FindArgMax[f, x] gives the position x of a local maximum of f.FindArgMax[f, {x, x }] gives the po"},{label:"FindArgMin",type:"keyword",info:"FindArgMin[f, x] gives the position x of a local minimum of f.FindArgMin[f, {x, x }] gives the po"},{label:"FindChannels",type:"keyword",info:"FindChannels[] gives a list of channels in your home area on the channel broker server.FindChannels["},{label:"FindClique",type:"keyword",info:"FindClique[g] finds a largest clique in the graph g.FindClique[g, n] finds a clique containing at mo"},{label:"FindClusters",type:"keyword",info:"FindClusters[{e , e , …}] partitions the e into clusters of similar elements. FindClusters[{e  v "},{label:"FindCookies",type:"keyword",info:"FindCookies[] gives a list of all currently set cookies.FindCookies[domain] gives a list of cookies "},{label:"FindCurvePath",type:"keyword",info:"FindCurvePath[{{x , y }, {x , y }, …}] gives an ordering of the {x , y } that corresponds to one or "},{label:"FindCycle",type:"keyword",info:"FindCycle[g] finds a cycle in the graph g.FindCycle[g, k] finds a cycle of length at most k in the g"},{label:"FindDevices",type:"keyword",info:"FindDevices[] searches for available devices on your computer system.FindDevices[form] gives a list "},{label:"FindDistribution",type:"keyword",info:"FindDistribution[data] finds a simple functional form to fit the distribution of data.FindDistributi"},{label:"FindDistributionParameters",type:"keyword",info:"FindDistributionParameters[data, dist] finds the parameter estimates for the distribution dist from "},{label:"FindDivisions",type:"keyword",info:'FindDivisions[{x , x }, n] finds a list of about n "nice" numbers that divide the interval aroun'},{label:"FindEdgeColoring",type:"keyword",info:"FindEdgeColoring[g] finds a coloring with minimal size for the edges in the graph g.FindEdgeColoring"},{label:"FindEdgeCover",type:"keyword",info:"FindEdgeCover[g] finds an edge cover of the graph g with a minimum number of edges.FindEdgeCover[{v "},{label:"FindEdgeCut",type:"keyword",info:"FindEdgeCut[g] finds a smallest edge cut of the graph g.FindEdgeCut[g, s, t] finds a smallest s-t ed"},{label:"FindEdgeIndependentPaths",type:"keyword",info:"FindEdgeIndependentPaths[g, s, t, k] finds at most k edge-independent paths from vertex s to vertex "},{label:"FindEquationalProof",type:"keyword",info:"FindEquationalProof[thm, axms] tries to find an equational proof of the symbolic theorem thm using t"},{label:"FindEulerianCycle",type:"keyword",info:"FindEulerianCycle[g] finds an Eulerian cycle in the graph g.FindEulerianCycle[g, k] finds at most k "},{label:"FindExternalEvaluators",type:"keyword",info:"FindExternalEvaluators[] finds installed external evaluators that can be used with ExternalEvaluate,"},{label:"FindFaces",type:"keyword",info:"FindFaces[image] attempts to find human faces in image and returns a list of bounding boxes.FindFace"},{label:"FindFile",type:"keyword",info:"FindFile[name] finds the file with the specified name that would be loaded by Get[name] and related "},{label:"FindFit",type:"keyword",info:"FindFit[data, expr, pars, vars] finds numerical values of the parameters pars that make expr give a "},{label:"FindFormula",type:"keyword",info:"FindFormula[data] finds a pure function that approximates data.FindFormula[data, x] finds a symbolic"},{label:"FindFundamentalCycles",type:"keyword",info:"FindFundamentalCycles[g] finds fundamental cycles of the graph g."},{label:"FindGeneratingFunction",type:"keyword",info:" th"},{label:"FindGeoLocation",type:"keyword",info:'FindGeoLocation[] attempts to find the current geo location of your computer.FindGeoLocation["ip"] g'},{label:"FindGeometricConjectures",type:"keyword",info:"FindGeometricConjectures[scene] finds conjectures that appear to hold for the GeometricScene object "},{label:"FindGeometricTransform",type:"keyword",info:"FindGeometricTransform[pts , pts ] finds a geometric transformation that aligns positions specified "},{label:"FindGraphCommunities",type:"keyword",info:"FindGraphCommunities[g] finds communities in the graph g.FindGraphCommunities[{v  w, …}] uses rules"},{label:"FindGraphIsomorphism",type:"keyword",info:"FindGraphIsomorphism[g , g ] finds an isomorphism that maps the graph g to g by renaming vertices."},{label:"FindGraphPartition",type:"keyword",info:"FindGraphPartition[g] gives a partition of vertices of the graph g.FindGraphPartition[g, k] gives a "},{label:"FindHamiltonianCycle",type:"keyword",info:"FindHamiltonianCycle[g] finds a Hamiltonian cycle in the graph g.FindHamiltonianCycle[g, k] finds at"},{label:"FindHamiltonianPath",type:"keyword",info:"FindHamiltonianPath[g] finds a Hamiltonian path in the graph g with the smallest total length.FindHa"},{label:"FindHiddenMarkovStates",type:"keyword",info:"FindHiddenMarkovStates[data, hmm] finds the most likely hidden states of the HiddenMarkovProcess hmm"},{label:"FindImageText",type:"keyword",info:"FindImageText[image] detects text in image and returns a single bounding box.FindImageText[image, le"},{label:"FindIndependentEdgeSet",type:"keyword",info:"FindIndependentEdgeSet[g] finds an independent edge set of the graph g with a maximum number of edge"},{label:"FindIndependentVertexSet",type:"keyword",info:"FindIndependentVertexSet[g] finds an independent vertex set of the graph g with a maximum number of "},{label:"FindInstance",type:"keyword",info:"FindInstance[expr, vars] finds an instance of vars that makes the statement expr be True. FindInstan"},{label:"FindIntegerNullVector",type:"keyword",info:"FindIntegerNullVector[{x , x , …, x }] finds a list of integers a such that a x + a x + ⋯ + a "},{label:"FindIsomers",type:"keyword",info:"FindIsomers[chem] returns a list of molecules with the same chemical formula as chem.FindIsomers[che"},{label:"FindIsomorphicSubgraph",type:"keyword",info:"FindIsomorphicSubgraph[g , g ] finds a subgraph of g that is isomorphic to g .FindIsomorphicSubgrap"},{label:"FindKClan",type:"keyword",info:"FindKClan[g, k] finds a largest k-clan in the graph g.FindKClan[g, k, n] finds a k-clan containing a"},{label:"FindKClique",type:"keyword",info:"FindKClique[g, k] finds a largest k-clique in the graph g.FindKClique[g, k, n] finds a k-clique cont"},{label:"FindKClub",type:"keyword",info:"FindKClub[g, k] finds a largest k-club in the graph g."},{label:"FindKPlex",type:"keyword",info:"FindKPlex[g, k] finds a largest k-plex in the graph g.FindKPlex[g, k, n] finds a k-plex containing a"},{label:"FindLibrary",type:"keyword",info:"FindLibrary[lib] finds a dynamic library that can be loaded by LibraryFunctionLoad."},{label:"FindLinearRecurrence",type:"keyword",info:"FindLinearRecurrence[list] finds if possible the minimal linear recurrence that generates list.FindL"},{label:"FindList",type:"keyword",info:'FindList["file", "text"] gives a list of lines in the file that contain the specified string. FindLi'},{label:"FindMatchingColor",type:"keyword",info:"FindMatchingColor[image, color] returns a color similar to the color that is present in image.FindMa"},{label:"FindMaximum",type:"keyword",info:"FindMaximum[f, x] searches for a local maximum in f, starting from an automatically selected point.F"},{label:"FindMaximumCut",type:"keyword",info:"FindMaximumCut[g] gives the maximum cut of the graph g."},{label:"FindMaximumFlow",type:"keyword",info:"FindMaximumFlow[g, s, t] finds the maximum flow between source vertex s and target vertex t in a gra"},{label:"FindMaxValue",type:"keyword",info:"FindMaxValue[f, x] gives the value at a local maximum of f.FindMaxValue[f, {x, x }] gives the value "},{label:"FindMeshDefects",type:"keyword",info:"FindMeshDefects[mreg] finds defects in the mesh region mreg.FindMeshDefects[mreg, {def , …}] finds o"},{label:"FindMinimum",type:"keyword",info:"FindMinimum[f, x] searches for a local minimum in f, starting from an automatically selected point.F"},{label:"FindMinimumCostFlow",type:"keyword",info:"FindMinimumCostFlow[g, {sd , sd , …}] finds the minimum cost flow in the graph g with sd , sd , … ve"},{label:"FindMinimumCut",type:"keyword",info:"FindMinimumCut[g] gives the minimum cut of the graph g.FindMinimumCut[{v  w, …}] uses rules v  w t"},{label:"FindMinValue",type:"keyword",info:"FindMinValue[f, x] gives the value at a local minimum of f.FindMinValue[f, {x, x }] gives the value "},{label:"FindMoleculeSubstructure",type:"keyword",info:"FindMoleculeSubstructure[mol, patt] finds a mapping between the atom indices in mol and an occurrenc"},{label:"FindPath",type:"keyword",info:"FindPath[g, s, t] finds a path between vertex s and vertex t in the graph g.FindPath[g, s, t, k] fin"},{label:"FindPeaks",type:"keyword",info:"FindPeaks[list] gives positions and values of the detected peaks in list.FindPeaks[list, σ] finds pe"},{label:"FindPermutation",type:"keyword",info:"FindPermutation[expr] gives a permutation that produces expr by permuting Sort[expr].FindPermutation"},{label:"FindPlanarColoring",type:"keyword",info:"FindPlanarColoring[g] finds a coloring with minimal size for the faces of the planar graph g.FindPla"},{label:"FindPointProcessParameters",type:"keyword",info:"FindPointProcessParameters[pdata, pproc] estimates the parameters of the point process pproc from po"},{label:"FindPostmanTour",type:"keyword",info:"FindPostmanTour[g] finds a Chinese postman tour in the graph g of minimal length.FindPostmanTour[g, "},{label:"FindProcessParameters",type:"keyword",info:"FindProcessParameters[data, proc] finds the parameter estimates for the process proc from data.FindP"},{label:"FindRegionTransform",type:"keyword",info:"FindRegionTransform[reg , reg ] gives the transformation function that maps the region reg to the r"},{label:"FindRepeat",type:"keyword",info:"FindRepeat[list] finds the minimal sublist or subarray that repeats to give list.FindRepeat[list, n]"},{label:"FindRoot",type:"keyword",info:"FindRoot[f, {x, x }] searches for a numerical root of f, starting from the point x = x .FindRoot[lhs"},{label:"FindSequenceFunction",type:"keyword",info:"FindSequenceFunction[{a , a , a , …}] attempts to find a simple function that yields the sequence a "},{label:"FindSettings",type:"keyword",info:"FindSettings is a global option that specifies settings for the Find dialog box."},{label:"FindShortestPath",type:"keyword",info:"FindShortestPath[g, s, t] finds the shortest path from source vertex s to target vertex t in the gra"},{label:"FindShortestTour",type:"keyword",info:"FindShortestTour[{v , v , …}] attempts to find an ordering of the v that minimizes the total distan"},{label:"FindSpanningTree",type:"keyword",info:"FindSpanningTree[{v , v , …, v }] finds a spanning tree that minimizes the total distance between th"},{label:"FindSubgraphIsomorphism",type:"keyword",info:"FindSubgraphIsomorphism[g , g ] finds a subgraph isomorphism that maps the graph g to a subgraph of"},{label:"FindSystemModelEquilibrium",type:"keyword",info:"FindSystemModelEquilibrium[model] searches for an equilibrium to the model model.FindSystemModelEqui"},{label:"FindTextualAnswer",type:"keyword",info:'FindTextualAnswer[text, "question"] gives the substring of text that best appears to answer question'},{label:"FindThreshold",type:"keyword",info:"FindThreshold[image] finds a global threshold value that partitions the intensity values in image in"},{label:"FindTransientRepeat",type:"keyword",info:"FindTransientRepeat[list, n] returns a pair of lists {transient, repeat} where the elements of repea"},{label:"FindVertexColoring",type:"keyword",info:"FindVertexColoring[g] finds a coloring with minimal size for the vertices in the graph g. FindVertex"},{label:"FindVertexCover",type:"keyword",info:"FindVertexCover[g] finds a vertex cover of the graph g with a minimum number of vertices.FindVertexC"},{label:"FindVertexCut",type:"keyword",info:"FindVertexCut[g] finds a smallest vertex cut of the graph g.FindVertexCut[g, s, t] finds a smallest "},{label:"FindVertexIndependentPaths",type:"keyword",info:"FindVertexIndependentPaths[g, s, t, k] finds at most k vertex-independent paths from vertex s to ver"},{label:"Fine",type:"keyword",info:"System`Fine"},{label:"FinishDynamic",type:"keyword",info:"FinishDynamic[] finishes updating and displaying all currently visible Dynamic objects. "},{label:"FiniteAbelianGroupCount",type:"keyword",info:"FiniteAbelianGroupCount[n] gives the number of finite Abelian groups of order n."},{label:"FiniteGroupCount",type:"keyword",info:"FiniteGroupCount[n] gives the number of finite groups of order n."},{label:"FiniteGroupData",type:"keyword",info:'FiniteGroupData[name, "property"] gives the value of the specified property for the finite group spe'},{label:"First",type:"keyword",info:"First[expr] gives the first element in expr. First[expr, def] gives the first element if it exists, "},{label:"FirstCase",type:"keyword",info:'FirstCase[{e , e , …}, pattern] gives the first e to match pattern, or Missing["NotFound"] if none '},{label:"FirstPassageTimeDistribution",type:"keyword",info:"FirstPassageTimeDistribution[mproc, f] represents the distribution of times for the Markov process m"},{label:"FirstPosition",type:"keyword",info:"FirstPosition[expr, pattern] gives the position of the first element in expr that matches pattern, o"},{label:"FischerGroupFi22",type:"keyword",info:"FischerGroupFi22[] represents the sporadic simple Fischer group Fi .\n "},{label:"FischerGroupFi23",type:"keyword",info:"FischerGroupFi23[] represents the sporadic simple Fischer group Fi .\n "},{label:"FischerGroupFi24Prime",type:"keyword",info:" â€.b2\nFischerGroupFi24Prime[] rep"},{label:"FisherHypergeometricDistribution",type:"keyword",info:"FisherHypergeometricDistribution[n, n , n , w] represents a Fisher noncentral hypergeometric di"},{label:"FisherRatioTest",type:"keyword",info:" "},{label:"FisherZDistribution",type:"keyword",info:"FisherZDistribution[n, m] represents a Fisher z distribution with n numerator and m denominator degr"},{label:"Fit",type:"keyword",info:"Fit[data, {f , …, f }, {x, y, …}] finds a fit a ⁢ f + … + a ⁢ f to a list of data for functions "},{label:"FitAll",type:"keyword",info:"System`FitAll"},{label:"FitRegularization",type:"keyword",info:"FitRegularization is an option for Fit and FindFit that specifies a regularization for fitting a mod"},{label:"FittedModel",type:"keyword",info:"FittedModel[…] represents the symbolic fitted model obtained from functions like LinearModelFit."},{label:"FixedOrder",type:"keyword",info:"FixedOrder[p , p , …] is a grammar rules pattern object that represents a sequence of elements match"},{label:"FixedPoint",type:"keyword",info:"FixedPoint[f, expr] starts with expr, then applies f repeatedly until the result no longer changes. "},{label:"FixedPointList",type:"keyword",info:"FixedPointList[f, expr] generates a list giving the results of applying f repeatedly, starting with "},{label:"FlashSelection",type:"keyword",info:"System`FlashSelection"},{label:"Flat",type:"keyword",info:"Flat is an attribute that can be assigned to a symbol f to indicate that all expressions involving n"},{label:"Flatten",type:"keyword",info:"Flatten[list] flattens out nested lists. Flatten[list, n] flattens to level n. Flatten[list, n, h] f"},{label:"FlattenAt",type:"keyword",info:" th\nFlattenAt[list, n] flattens out a"},{label:"FlattenLayer",type:"keyword",info:"FlattenLayer[] represents a net layer that flattens any input array into a vector.FlattenLayer[n] re"},{label:"FlatTopWindow",type:"keyword",info:"FlatTopWindow[x] represents an exact flat top window function of x."},{label:"FlightData",type:"keyword",info:"FlightData[spec, options] returns a subset of properties for a flight or selection of flights with s"},{label:"FlipView",type:"keyword",info:"FlipView[{expr , expr }] represents an object which flips between displaying expr and expr each ti"},{label:"Floor",type:"keyword",info:"Floor[x] gives the greatest integer less than or equal to x. Floor[x, a] gives the greatest multiple"},{label:"FlowPolynomial",type:"keyword",info:"FlowPolynomial[g, k] gives the flow polynomial of the graph g.FlowPolynomial[{v  w, …}, …] uses rul"},{label:"FlushPrintOutputPacket",type:"keyword",info:"System`FlushPrintOutputPacket"},{label:"Fold",type:"keyword",info:"Fold[f, x, list] gives the last element of FoldList[f, x, list].Fold[f, list] is equivalent to Fold["},{label:"FoldList",type:"keyword",info:"FoldList[f, x, {a, b, …}] gives {x, f[x, a], f[f[x, a], b], …}. FoldList[f, {a, b, c, …}] gives {a, "},{label:"FoldPair",type:"keyword",info:"FoldPair[f, y , list] gives the last element of FoldPairList[f, y , list].FoldPair[f, y , list, g] g"},{label:"FoldPairList",type:"keyword",info:"FoldPairList[f, y , {a , a , …}] gives the list of successive x obtained by applying f to pairs of "},{label:"FoldWhile",type:"keyword",info:"FoldWhile[f, x, {a , a , …}, test] returns the first expression f[… f[f[x, a ], a ] …, a ] to which "},{label:"FoldWhileList",type:"keyword",info:"FoldWhileList[f, x, {a , a , …}, test] returns {x, f[x, a ], f[f[x, a ], a ], …}, repeatedly applyin"},{label:"FollowRedirects",type:"keyword",info:"FollowRedirects is an option for URLRead and related functions that specifies whether to follow HTTP"},{label:"Font",type:"keyword",info:"System`Font"},{label:"FontColor",type:"keyword",info:"FontColor is an option for Style, Cell, and related constructs that specifies the default color in w"},{label:"FontFamily",type:"keyword",info:"FontFamily is an option for Style and Cell that specifies the font family in which text should be re"},{label:"FontForm",type:"keyword",info:"System`FontForm"},{label:"FontName",type:"keyword",info:"System`FontName"},{label:"FontOpacity",type:"keyword",info:"System`FontOpacity"},{label:"FontPostScriptName",type:"keyword",info:"FontPostScriptName is an option to StyleBox which changes the current font. A sample specification i"},{label:"FontProperties",type:"keyword",info:"FontProperties specifies font properties."},{label:"FontReencoding",type:"keyword",info:"System`FontReencoding"},{label:"FontSize",type:"keyword",info:"FontSize is an option for Style and Cell that specifies the default size in printer's points of the "},{label:"FontSlant",type:"keyword",info:"FontSlant is an option for Style, Cell, and related constructs that specifies how slanted characters"},{label:"FontSubstitutions",type:"keyword",info:"FontSubstitutions is a global option that gives a list of substitutions to try for font family names"},{label:"FontTracking",type:"keyword",info:"FontTracking is an option for Style and Cell that specifies how condensed or expanded you want the f"},{label:"FontVariations",type:"keyword",info:"FontVariations is an option for Style, Cell, and related constructs that specifies what font variati"},{label:"FontWeight",type:"keyword",info:"FontWeight is an option for Style, Cell, and related constructs that specifies how heavy the charact"},{label:"For",type:"keyword",info:"For[start, test, incr, body] executes start, then repeatedly evaluates body and incr until test fail"},{label:"ForAll",type:"keyword",info:"ForAll[x, expr] represents the statement that expr is True for all values of x. ForAll[x, cond, expr"},{label:"ForceVersionInstall",type:"keyword",info:"ForceVersionInstall is an option to PacletInstall and PacletInstallSubmit that specifies whether an "},{label:"Format",type:"keyword",info:"Format[expr] prints as the formatted form of expr. Assigning values to Format[expr] defines print fo"},{label:"FormatRules",type:"keyword",info:"System`FormatRules"},{label:"FormatType",type:"keyword",info:"FormatType is an option for output streams, graphics, and functions such as Text that specifies the "},{label:"FormatTypeAutoConvert",type:"keyword",info:"FormatTypeAutoConvert is an option for cells that specifies whether the contents of a cell are autom"},{label:"FormatValues",type:"keyword",info:"FormatValues[f] gives a list of transformation rules corresponding to all printing formats (values f"},{label:"FormBox",type:"keyword",info:"FormBox[boxes, form] is a low-level box construct which displays as boxes but specifies that rules a"},{label:"FormBoxOptions",type:"keyword",info:"FormBoxOptions is an option for cells that specifies settings for FormBox objects within the cell."},{label:"FormControl",type:"keyword",info:"FormControl[assoc, struct] represents an editable form in a notebook, with structure specified by st"},{label:"FormFunction",type:"keyword",info:"FormFunction[formspec, func] represents an active form that, when submitted, applies func to the val"},{label:"FormLayoutFunction",type:"keyword",info:"FormLayoutFunction is an option for FormObject and FormFunction that can be used to specify how to l"},{label:"FormObject",type:"keyword",info:"FormObject[{name  type , name  type , …}] represents a form with fields having names name that "},{label:"FormPage",type:"keyword",info:"FormPage[formspec, func] represents an active page that takes input from a form and generates result"},{label:"FormProtectionMethod",type:"keyword",info:"FormProtectionMethod is an option for form generation functions that specifies what method to use fo"},{label:"FormTheme",type:"keyword",info:"FormTheme is an option for FormObject and related functions that specifies an overall theme for a fo"},{label:"FormulaData",type:"keyword",info:"FormulaData[name] gives the equations for the formula name.FormulaData[name, {var  quantity , var "},{label:"FormulaLookup",type:"keyword",info:'FormulaLookup["query"] gives a list of the full names of formulas whose names are consistent with "q'},{label:"FortranForm",type:"keyword",info:"FortranForm[expr] prints as a Fortran language version of expr. "},{label:"Forward",type:"keyword",info:"Forward is a symbol that represents the forward direction for purposes of motion and animation."},{label:"ForwardBackward",type:"keyword",info:"ForwardBackward is a symbol that represents alternate forward and backward motion or animation."},{label:"ForwardCloudCredentials",type:"keyword",info:"ForwardCloudCredentials is an option for remote evaluation and submission functions that specifies w"},{label:"Fourier",type:"keyword",info:"Fourier[list] finds the discrete Fourier transform of a list of complex numbers.Fourier[list, {p , p"},{label:"FourierCoefficient",type:"keyword",info:" th\nFourierCoefficient[expr, t, n] gives the n coeffici"},{label:"FourierCosCoefficient",type:"keyword",info:" th\nFourierCosCoefficient[expr, t, n] gives the n co"},{label:"FourierCosSeries",type:"keyword",info:" th\nFourierCosSeries[expr, t, n] gives the n -order Fourie"},{label:"FourierCosTransform",type:"keyword",info:"FourierCosTransform[expr, t, ω] gives the symbolic Fourier cosine transform of expr. FourierCosTrans"},{label:"FourierDCT",type:"keyword",info:"FourierDCT[list] finds the Fourier discrete cosine transform of a list of real numbers.FourierDCT[li"},{label:"FourierDCTFilter",type:"keyword",info:"FourierDCTFilter[image, t] reduces noise in image by locally thresholding the discrete cosine transf"},{label:"FourierDCTMatrix",type:"keyword",info:"FourierDCTMatrix[n] returns an n×n discrete cosine transform matrix of type 2.FourierDCTMatrix[n, m]"},{label:"FourierDST",type:"keyword",info:"FourierDST[list] finds the Fourier discrete sine transform of a list of real numbers.FourierDST[list"},{label:"FourierDSTMatrix",type:"keyword",info:"FourierDSTMatrix[n] returns an n×n discrete sine transform matrix of type 2.FourierDSTMatrix[n, m] r"},{label:"FourierMatrix",type:"keyword",info:"FourierMatrix[n] returns an n×n Fourier matrix."},{label:"FourierParameters",type:"keyword",info:"FourierParameters is an option to Fourier and related functions that specifies the conventions to us"},{label:"FourierSequenceTransform",type:"keyword",info:"FourierSequenceTransform[expr, n, ω] gives the Fourier sequence transform of expr.FourierSequenceTra"},{label:"FourierSeries",type:"keyword",info:" th\nFourierSeries[expr, t, n] gives the n -order Fourier seri"},{label:"FourierSinCoefficient",type:"keyword",info:" th\nFourierSinCoefficient[expr, t, n] gives the n co"},{label:"FourierSinSeries",type:"keyword",info:" th\nFourierSinSeries[expr, t, n] gives the n -order Fourie"},{label:"FourierSinTransform",type:"keyword",info:"FourierSinTransform[expr, t, ω] gives the symbolic Fourier sine transform of expr. FourierSinTransfo"},{label:"FourierTransform",type:"keyword",info:"FourierTransform[expr, t, ω] gives the symbolic Fourier transform of expr. FourierTransform[expr, {t"},{label:"FourierTrigSeries",type:"keyword",info:" th\nFourierTrigSeries[expr, t, n] gives the n -order Four"},{label:"FoxH",type:"keyword",info:" "},{label:"FoxHReduce",type:"keyword",info:"FoxHReduce[expr, x] attempts to reduce expr to a single FoxH object as a function of x."},{label:"FractionalBrownianMotionProcess",type:"keyword",info:"FractionalBrownianMotionProcess[μ, σ, h] represents fractional Brownian motion process with drift μ,"},{label:"FractionalGaussianNoiseProcess",type:"keyword",info:"FractionalGaussianNoiseProcess[μ, σ, h] represents a fractional Gaussian noise process with drift μ,"},{label:"FractionalPart",type:"keyword",info:"FractionalPart[x] gives the fractional part of x. "},{label:"FractionBox",type:"keyword",info:" x\nFractionBox[x, y] is a low-l"},{label:"FractionBoxOptions",type:"keyword",info:"FractionBoxOptions is an option that specifies settings for FractionBox objects."},{label:"FractionLine",type:"keyword",info:"FractionLine is an option for fractions that specifies the thickness of the line separating the nume"},{label:"Frame",type:"keyword",info:"Frame is an option for Graphics, Grid, and other constructs that specifies whether to include a fram"},{label:"FrameBox",type:"keyword",info:"FrameBox[box] is a low-level box construct that represents box with a frame drawn around it. "},{label:"FrameBoxOptions",type:"keyword",info:"FrameBoxOptions is an option that specifies default settings for FrameBox objects."},{label:"Framed",type:"keyword",info:"Framed[expr] displays a framed version of expr. "},{label:"FrameInset",type:"keyword",info:"System`FrameInset"},{label:"FrameLabel",type:"keyword",info:"FrameLabel is an option for Graphics, Manipulate, and related functions that specifies labels to be "},{label:"Frameless",type:"keyword",info:"System`Frameless"},{label:"FrameListVideo",type:"keyword",info:"FrameListVideo[{image , image , …}] generates a video containing frames image , image , etc.\n "},{label:"FrameMargins",type:"keyword",info:"FrameMargins is an option for objects that can be displayed with frames which specifies the absolute"},{label:"FrameRate",type:"keyword",info:"FrameRate is an option to specify the number of frames per second. "},{label:"FrameStyle",type:"keyword",info:"FrameStyle is an option for Graphics, Grid, and other constructs that specifies the style in which t"},{label:"FrameTicks",type:"keyword",info:"FrameTicks is an option for 2D graphics functions that specifies tick marks for the edges of a frame"},{label:"FrameTicksStyle",type:"keyword",info:"FrameTicksStyle is an option for 2D graphics functions that specifies how frame ticks should be rend"},{label:"FRatioDistribution",type:"keyword",info:"FRatioDistribution[n, m] represents an F-ratio distribution with n numerator and m denominator degre"},{label:"FrechetDistribution",type:"keyword",info:"FrechetDistribution[Î\\[PlusMinus], Î.b2] represents the Fréchet distribution with shape parameter Î\\[PlusMinus] and scale param"},{label:"FreeQ",type:"keyword",info:"FreeQ[expr, form] yields True if no subexpression in expr matches form, and yields False otherwise. "},{label:"FrenetSerretSystem",type:"keyword",info:"FrenetSerretSystem[{x , …, x }, t] gives the generalized curvatures and Frenet–Serret basis for the "},{label:"FrequencySamplingFilterKernel",type:"keyword",info:"FrequencySamplingFilterKernel[{a , …, a }] creates a finite impulse response (FIR) filter kernel usi"},{label:"FresnelC",type:"keyword",info:"FresnelC[z] gives the Fresnel integral C(z). "},{label:"FresnelF",type:"keyword",info:"FresnelF[z] gives the Fresnel auxiliary function F(z)."},{label:"FresnelG",type:"keyword",info:"FresnelG[z] gives the Fresnel auxiliary function G(z)."},{label:"FresnelS",type:"keyword",info:"FresnelS[z] gives the Fresnel integral S(z). "},{label:"Friday",type:"keyword",info:"Friday is a day of the week."},{label:"FrobeniusNumber",type:"keyword",info:"FrobeniusNumber[{a , …, a }] gives the Frobenius number of a , …, a .\n 1 n "},{label:"FrobeniusSolve",type:"keyword",info:"FrobeniusSolve[{a , …, a }, b] gives a list of all solutions of the Frobenius equation a x + … + a"},{label:"FromAbsoluteTime",type:"keyword",info:"FromAbsoluteTime[time] gives a date object corresponding to an absolute time specification as given "},{label:"FromCharacterCode",type:"keyword",info:"FromCharacterCode[n] gives a string consisting of the character with integer code n. FromCharacterCo"},{label:"FromCoefficientRules",type:"keyword",info:"FromCoefficientRules[list, {x , x , …}] constructs a polynomial from a list of rules for exponent ve"},{label:"FromContinuedFraction",type:"keyword",info:"FromContinuedFraction[list] reconstructs a number from the list of its continued fraction terms. "},{label:"FromDate",type:"keyword",info:"FromDate[date] converts a date of the form {y, m, d, h, m, s} to an absolute number of seconds since"},{label:"FromDateString",type:"keyword",info:'FromDateString["string"] gives a date object corresponding to the date represented by "string".FromD'},{label:"FromDigits",type:"keyword",info:"FromDigits[list] constructs an integer from the list of its decimal digits. FromDigits[list, b] take"},{label:"FromDMS",type:"keyword",info:'FromDMS[{d, m, s}] converts from degrees, minutes, and seconds to decimal degrees. FromDMS["dms"] co'},{label:"FromEntity",type:"keyword",info:"FromEntity[entity] returns a Wolfram Language object corresponding to an entity."},{label:"FromJulianDate",type:"keyword",info:'FromJulianDate[jd] gives a date object corresponding to the Julian date jd.FromJulianDate["type", jd'},{label:"FromLetterNumber",type:"keyword",info:"FromLetterNumber[n] gives the lowercase letter at position n in the English alphabet.FromLetterNumbe"},{label:"FromPolarCoordinates",type:"keyword",info:"FromPolarCoordinates[{r, θ}] gives the {x, y} Cartesian coordinates corresponding to the polar coord"},{label:"FromRomanNumeral",type:"keyword",info:'FromRomanNumeral["string"] gives the integer corresponding to the Roman numeral "string". '},{label:"FromSphericalCoordinates",type:"keyword",info:"FromSphericalCoordinates[{r, θ, ϕ}] gives the {x, y, z} Cartesian coordinates corresponding to the s"},{label:"FromUnixTime",type:"keyword",info:"FromUnixTime[time] gives a date object corresponding to a UnixTime specification."},{label:"Front",type:"keyword",info:"Front is a symbol that represents the front of a graphic for purposes of placement and alignment."},{label:"FrontFaceColor",type:"keyword",info:"System`FrontFaceColor"},{label:"FrontFaceGlowColor",type:"keyword",info:"System`FrontFaceGlowColor"},{label:"FrontFaceOpacity",type:"keyword",info:"System`FrontFaceOpacity"},{label:"FrontFaceSpecularColor",type:"keyword",info:"System`FrontFaceSpecularColor"},{label:"FrontFaceSpecularExponent",type:"keyword",info:"System`FrontFaceSpecularExponent"},{label:"FrontFaceSurfaceAppearance",type:"keyword",info:"System`FrontFaceSurfaceAppearance"},{label:"FrontFaceTexture",type:"keyword",info:"System`FrontFaceTexture"},{label:"Full",type:"keyword",info:"Full is a setting used for certain options, typically indicating that a full range of values should "},{label:"FullAxes",type:"keyword",info:"FullAxes[graphics] returns the axes options of a graphics object."},{label:"FullDefinition",type:"keyword",info:"FullDefinition[symbol] prints as the definitions given for symbol, and all symbols on which these de"},{label:"FullForm",type:"keyword",info:"FullForm[expr] prints as the full form of expr, with no special syntax. "},{label:"FullGraphics",type:"keyword",info:"FullGraphics[g] takes a graphics object, and generates a new one in which objects specified by graph"},{label:"FullInformationOutputRegulator",type:"keyword",info:"FullInformationOutputRegulator[sys, rspec] gives the full state information output regulator for sys"},{label:"FullOptions",type:"keyword",info:"System`FullOptions"},{label:"FullRegion",type:"keyword",info:" n\nFullRegion[n] represents the full region ïž\\[Micro] ."},{label:"FullSimplify",type:"keyword",info:"FullSimplify[expr] tries a wide range of transformations on expr involving elementary and special fu"},{label:"Function",type:"keyword",info:'body & or Function[body] is a pure (or "anonymous") function. The formal parameters are # (or #1), #'},{label:"FunctionAnalytic",type:"keyword",info:"FunctionAnalytic[f, x] tests whether f(x) is an analytic function for x ∈ Reals.FunctionAnalytic[f, "},{label:"FunctionBijective",type:"keyword",info:"FunctionBijective[f, x] tests whether f(x)  y has exactly one solution x ∈ Reals for each y ∈ Reals"},{label:"FunctionCompile",type:"keyword",info:"FunctionCompile[f] generates a compiled code function from a pure function.FunctionCompile[{f , f , "},{label:"FunctionCompileExport",type:"keyword",info:'FunctionCompileExport["file.ext", fspec] exports a compiled version of functions fspec in the format'},{label:"FunctionCompileExportByteArray",type:"keyword",info:"FunctionCompileExportByteArray[fspec] gives a byte array of binary LLVM code obtained by compiling t"},{label:"FunctionCompileExportLibrary",type:"keyword",info:"FunctionCompileExportLibrary[file, fspec] exports a compiled version of function specification fspec"},{label:"FunctionCompileExportString",type:"keyword",info:"FunctionCompileExportString[fspec] gives a string of textual LLVM code obtained by compiling the fun"},{label:"FunctionContinuous",type:"keyword",info:"FunctionContinuous[f, x] tests whether f(x) is a real-valued continuous function for x ∈ Reals.Funct"},{label:"FunctionConvexity",type:"keyword",info:"FunctionConvexity[f, {x , x , …}] finds the convexity of the function f with variables x , x , … ove"},{label:"FunctionDeclaration",type:"keyword",info:"FunctionDeclaration[name, typedfun] declares name to be a typed function suitable for use in a compi"},{label:"FunctionDiscontinuities",type:"keyword",info:"FunctionDiscontinuities[f, x] finds the discontinuities of f(x) for x ∈ Reals. FunctionDiscontinuiti"},{label:"FunctionDomain",type:"keyword",info:"FunctionDomain[f, x] finds the largest domain of definition of the real function f of the variable x"},{label:"FunctionExpand",type:"keyword",info:"FunctionExpand[expr] tries to expand out special and certain other functions in expr, when possible "},{label:"FunctionInjective",type:"keyword",info:"FunctionInjective[f, x] tests whether f(x)  y has at most one solution x ∈ Reals for each y.Functio"},{label:"FunctionInterpolation",type:"keyword",info:"FunctionInterpolation[expr, {x, x , x }] evaluates expr with x running from x to x and con"},{label:"FunctionLayer",type:"keyword",info:"FunctionLayer[f] represents a net layer that applies function f to its input."},{label:"FunctionMeromorphic",type:"keyword",info:"FunctionMeromorphic[f, x] test whether f(x) is a meromorphic function of x.FunctionMeromorphic[f, {x"},{label:"FunctionMonotonicity",type:"keyword",info:"FunctionMonotonicity[f, x] finds the monotonicity of the function f with the variable x over the rea"},{label:"FunctionPeriod",type:"keyword",info:"FunctionPeriod[f, x] gives a period p of the function f over the reals such that f(x + p)  f(x).Fun"},{label:"FunctionPoles",type:"keyword",info:"FunctionPoles[f, x] finds the poles of the meromorphic function f with the variable x.FunctionPoles["},{label:"FunctionRange",type:"keyword",info:"FunctionRange[f, x, y] finds the range of the real function f of the variable x returning the result"},{label:"FunctionSign",type:"keyword",info:"FunctionSign[f, {x , x , …}] finds the real sign of the function f with variables x , x , … over the"},{label:"FunctionSingularities",type:"keyword",info:"FunctionSingularities[f, x] finds the singularities of f(x) for x ∈ Reals. FunctionSingularities[f, "},{label:"FunctionSpace",type:"keyword",info:"FunctionSpace is an option for FindSequenceFunction and related functions that specifies the space o"},{label:"FunctionSurjective",type:"keyword",info:"FunctionSurjective[f, x] tests whether f(x)  y has at least one solution x ∈ ïž\\[Micro] for each y ∈ Reals.F"},{label:"FussellVeselyImportance",type:"keyword",info:"FussellVeselyImportance[rdist, t] gives the Fussell–Vesely importances for all components in the Rel"},{label:"GaborFilter",type:"keyword",info:"GaborFilter[data, r, k] filters data by convolving with a Gabor kernel of pixel radius r and wave ve"},{label:"GaborMatrix",type:"keyword",info:" "},{label:"GaborWavelet",type:"keyword",info:"GaborWavelet[] represents a Gabor wavelet of frequency 6.GaborWavelet[w] represents a Gabor wavelet "},{label:"GainMargins",type:"keyword",info:"GainMargins[lsys] gives the gain margins of the linear time-invariant system lsys."},{label:"GainPhaseMargins",type:"keyword",info:"GainPhaseMargins[lsys] gives the gain and phase margins of the linear time-invariant system lsys."},{label:"GalaxyData",type:"keyword",info:"GalaxyData[entity, property] gives the value of the specified property for the galaxy entity.GalaxyD"},{label:"GalleryView",type:"keyword",info:"GalleryView[{expr , expr , …}] represents an object in which the expr are displayed in a browsable "},{label:"Gamma",type:"keyword",info:"Gamma[z] is the Euler gamma function Γ(z). Gamma[a, z] is the incomplete gamma function Γ(a, z). Gam"},{label:"GammaDistribution",type:"keyword",info:"GammaDistribution[Î\\[PlusMinus], Î.b2] represents a gamma distribution with shape parameter Î\\[PlusMinus] and scale parameter Î.b2"},{label:"GammaRegularized",type:"keyword",info:"GammaRegularized[a, z] is the regularized incomplete gamma function Q(a, z). "},{label:"GapPenalty",type:"keyword",info:"GapPenalty is an option for SequenceAlignment and related functions that gives the additional cost a"},{label:"GARCHProcess",type:"keyword",info:"GARCHProcess[κ, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {Î.b2 , …, Î.b2 }] represents a generalized autoregressive conditionally hete"},{label:"GatedRecurrentLayer",type:"keyword",info:"GatedRecurrentLayer[n] represents a trainable recurrent layer that takes a sequence of vectors and p"},{label:"Gather",type:"keyword",info:"Gather[list] gathers the elements of list into sublists of identical elements.Gather[list, test] app"},{label:"GatherBy",type:"keyword",info:"GatherBy[list, f] gathers into sublists each set of elements in list that gives the same value when "},{label:"GaugeFaceElementFunction",type:"keyword",info:"GaugeFaceElementFunction is an option for gauge functions that gives a function to use to generate t"},{label:"GaugeFaceStyle",type:"keyword",info:"GaugeFaceStyle is an option for gauge functions that specifies the style in which the face is to be "},{label:"GaugeFrameElementFunction",type:"keyword",info:"GaugeFrameElementFunction is an option for gauge functions that gives a function to generate the pri"},{label:"GaugeFrameSize",type:"keyword",info:"GaugeFrameSize is an option for gauge functions that controls the size of the frame around the gauge"},{label:"GaugeFrameStyle",type:"keyword",info:"GaugeFrameStyle is an option for gauge functions that specifies the style in which the frame is to b"},{label:"GaugeLabels",type:"keyword",info:"GaugeLabels is an option for gauge functions that specifies labels to be placed on the gauge."},{label:"GaugeMarkers",type:"keyword",info:"GaugeMarkers is an option for gauge functions that specifies what markers to draw to mark the values"},{label:"GaugeStyle",type:"keyword",info:"GaugeStyle is an option for gauge functions that specifies styles in which the markers are to be dra"},{label:"GaussianFilter",type:"keyword",info:" "},{label:"GaussianIntegers",type:"keyword",info:"GaussianIntegers is an option for FactorInteger, PrimeQ, Factor, and related functions that specifie"},{label:"GaussianMatrix",type:"keyword",info:" "},{label:"GaussianOrthogonalMatrixDistribution",type:"keyword",info:"GaussianOrthogonalMatrixDistribution[σ, n] represents a Gaussian orthogonal matrix distribution with"},{label:"GaussianSymplecticMatrixDistribution",type:"keyword",info:"GaussianSymplecticMatrixDistribution[σ, n] represents a Gaussian symplectic matrix distribution with"},{label:"GaussianUnitaryMatrixDistribution",type:"keyword",info:"GaussianUnitaryMatrixDistribution[σ, n] represents a Gaussian unitary matrix distribution with matri"},{label:"GaussianWindow",type:"keyword",info:"GaussianWindow[x] represents a Gaussian window function of x.GaussianWindow[x, σ] uses standard devi"},{label:"GCD",type:"keyword",info:"GCD[n , n , …] gives the greatest common divisor of the n . \n 1 2 "},{label:"GegenbauerC",type:"keyword",info:" (m) "},{label:"General",type:"keyword",info:"General is a symbol to which general system messages are attached. "},{label:"GeneralizedLinearModelFit",type:"keyword",info:" "},{label:"GenerateAsymmetricKeyPair",type:"keyword",info:"GenerateAsymmetricKeyPair[] randomly generates a PrivateKey and corresponding PublicKey object for u"},{label:"GenerateConditions",type:"keyword",info:"GenerateConditions is an option for Integrate, Sum, and similar functions that specifies whether exp"},{label:"GeneratedAssetFormat",type:"keyword",info:"GeneratedAssetFormat is an option for functions like VideoGenerator that specifies the format of the"},{label:"GeneratedAssetLocation",type:"keyword",info:"GeneratedAssetLocation is an option for functions like VideoGenerator that specifies the location of"},{label:"GeneratedCell",type:"keyword",info:"GeneratedCell is an option for Cell that indicates whether the cell was generated from the kernel. "},{label:"GeneratedCellStyles",type:"keyword",info:"System`GeneratedCellStyles"},{label:"GeneratedDocumentBinding",type:"keyword",info:"GeneratedDocumentBinding is an option for supplying parameters to a DocumentGenerator during manual "},{label:"GenerateDerivedKey",type:"keyword",info:"GenerateDerivedKey[password] generates a DerivedKey object from the password given.GenerateDerivedKe"},{label:"GenerateDigitalSignature",type:"keyword",info:"GenerateDigitalSignature[expr, key] generates a digital signature for expr using the specified priva"},{label:"GenerateDocument",type:"keyword",info:"GenerateDocument[nb] generates a document by evaluating all template elements in the notebook nb.Gen"},{label:"GeneratedParameters",type:"keyword",info:"GeneratedParameters is an option that specifies how parameters generated to represent the results of"},{label:"GeneratedQuantityMagnitudes",type:"keyword",info:"GeneratedQuantityMagnitudes is an option that specifies how quantities generated to represent the qu"},{label:"GenerateFileSignature",type:"keyword",info:'GenerateFileSignature["file", key] generates a digital signature of file using the specified private'},{label:"GenerateHTTPResponse",type:"keyword",info:"GenerateHTTPResponse[expr] gives the HTTPResponse object that is generated when a cloud object conta"},{label:"GenerateSecuredAuthenticationKey",type:"keyword",info:"GenerateSecuredAuthenticationKey[] generates a new anonymous SecuredAuthenticationKey owned by the c"},{label:"GenerateSymmetricKey",type:"keyword",info:"GenerateSymmetricKey[] randomly generates a SymmetricKey object suitable for use with cryptographic "},{label:"GeneratingFunction",type:"keyword",info:" th\nGenera"},{label:"GeneratorDescription",type:"keyword",info:"GeneratorDescription is an option for providing a textual description for a DocumentGenerator."},{label:"GeneratorHistoryLength",type:"keyword",info:"GeneratorHistoryLength is an option for document generators controlling the number of runs archived "},{label:"GeneratorOutputType",type:"keyword",info:"GeneratorOutputType is an option controlling the file format of documents produced by a DocumentGene"},{label:"Generic",type:"keyword",info:"Generic is a setting for the Mode option of Solve and related functions."},{label:"GenericCylindricalDecomposition",type:"keyword",info:"GenericCylindricalDecomposition[ineqs, {x , x , …}] finds the full-dimensional part of the decomposi"},{label:"GenomeData",type:"keyword",info:'GenomeData["gene"] gives the DNA sequence for the specified gene on the reference human genome.Genom'},{label:"GenomeLookup",type:"keyword",info:'GenomeLookup["seq"] returns the positions of exact matches for the DNA sequence seq on the reference'},{label:"GeoAntipode",type:"keyword",info:"GeoAntipode[loc] gives the antipodal position of location loc.GeoAntipode[g] gives the antipodal pri"},{label:"GeoArea",type:"keyword",info:"GeoArea[g] gives the area of the geo region g."},{label:"GeoArraySize",type:"keyword",info:"GeoArraySize is an option for geographic data functions that determines the dimensions of the array "},{label:"GeoBackground",type:"keyword",info:"GeoBackground is an option that specifies the background style of a GeoGraphics object."},{label:"GeoBoundary",type:"keyword",info:"GeoBoundary[g] returns the boundary line of the geo region g."},{label:"GeoBoundingBox",type:"keyword",info:"GeoBoundingBox[g] gives the geo positions that define the bounding rectangle enclosing the geo regio"},{label:"GeoBounds",type:"keyword",info:"GeoBounds[g] gives the ranges of latitudes and longitudes in the geo region g.GeoBounds[g, Î.b4] pads r"},{label:"GeoBoundsRegion",type:"keyword",info:"GeoBoundsRegion[{{lat , lat }, {lon , lon }}] is a two-dimensional GeoGraphics primitive tha"},{label:"GeoBoundsRegionBoundary",type:"keyword",info:"GeoBoundsRegionBoundary[{{lat , lat }, {lon , lon }}] is a one-dimensional GeoGraphics primi"},{label:"GeoBubbleChart",type:"keyword",info:"GeoBubbleChart[{reg  val , reg  val , …}] makes a geo bubble chart with bubbles centered at the "},{label:"GeoCenter",type:"keyword",info:"GeoCenter is an option for GeoGraphics that specifies the coordinates of the point that should appea"},{label:"GeoCircle",type:"keyword",info:"GeoCircle[loc, r] is a two-dimensional GeoGraphics primitive that represents a circle of radius r ce"},{label:"GeoContourPlot",type:"keyword",info:"GeoContourPlot[{loc  val , loc  val , …}] makes a geo contour plot from values val defined at s"},{label:"GeoDensityPlot",type:"keyword",info:"GeoDensityPlot[{loc  val , loc  val , …}] makes a geo density plot with colors at the location l"},{label:"GeodesicClosing",type:"keyword",info:"GeodesicClosing[image, ker] gives the geodesic closing of image with respect to the structuring elem"},{label:"GeodesicDilation",type:"keyword",info:"GeodesicDilation[marker, mask] gives the fixed point of the geodesic dilation of the marker constrai"},{label:"GeodesicErosion",type:"keyword",info:"GeodesicErosion[marker, mask] gives the fixed point of the geodesic erosion of the marker constraine"},{label:"GeodesicOpening",type:"keyword",info:"GeodesicOpening[image, ker] gives the geodesic opening of image with respect to the structuring elem"},{label:"GeoDestination",type:"keyword",info:"GeoDestination[loc, {d, Î\\[PlusMinus]}] gives the end position of the geodesic of length d starting from loc wit"},{label:"GeodesyData",type:"keyword",info:'GeodesyData["name", "property"] gives the value of the specified property for a named geodetic datum'},{label:"GeoDirection",type:"keyword",info:"GeoDirection[{lat , lon }, {lat , lon }] gives the azimuthal direction from one latitude-longitude p"},{label:"GeoDisk",type:"keyword",info:"GeoDisk[loc, r] is a two-dimensional GeoGraphics primitive that represents a filled disk of radius "},{label:"GeoDisplacement",type:"keyword",info:"GeoDisplacement[{dist, Î\\[PlusMinus]}] represents a geodesic displacement of length dist and initial bearing Î\\[PlusMinus] f"},{label:"GeoDistance",type:"keyword",info:"GeoDistance[{lat , lon }, {lat , lon }] gives the geodesic distance between latitude-longitude posit"},{label:"GeoDistanceList",type:"keyword",info:"GeoDistanceList[{loc , loc , …, loc }] returns the list of geodesic distances between consecutive pa"},{label:"GeoElevationData",type:"keyword",info:"GeoElevationData[] gives the elevation above sea level at ECGeoLocation.GeoElevationData[loc] gives t"},{label:"GeoEntities",type:"keyword",info:"GeoEntities[reg, enttype] gives a list of the geographic entities of type enttype contained in the e"},{label:"GeoGraphics",type:"keyword",info:"GeoGraphics[primitives, options] represents a two-dimensional geographical image."},{label:"GeoGraphPlot",type:"keyword",info:"GeoGraphPlot[{e , e , …}] generates a plot of the geographic graph with edges e .GeoGraphPlot[{v , v"},{label:"GeoGraphValuePlot",type:"keyword",info:"GeoGraphValuePlot[{{src , dest , flow }, {src , dest , flow }, …, {src , dest , flow }}] plots the f"},{label:"GeogravityModelData",type:"keyword",info:"GeogravityModelData[] returns the gravitational field data for the current location.GeogravityModelD"},{label:"GeoGridDirectionDifference",type:"keyword",info:"GeoGridDirectionDifference[proj, loc, Î.b2] gives the difference between the angle from north to direct"},{label:"GeoGridLines",type:"keyword",info:"GeoGridLines is an option for GeoGraphics that specifies what parallels and meridians to show."},{label:"GeoGridLinesStyle",type:"keyword",info:"GeoGridLinesStyle is an option for GeoGraphics that specifies how parallels and meridians should be "},{label:"GeoGridPosition",type:"keyword",info:"GeoGridPosition[{x, y}, proj] represents a point {x, y} in a planimetric cartographic grid using the"},{label:"GeoGridRange",type:"keyword",info:"GeoGridRange is an option for geographic functions that specifies the range of projected coordinates"},{label:"GeoGridRangePadding",type:"keyword",info:"GeoGridRangePadding is an option for geographic functions that specifies how much to extend the proj"},{label:"GeoGridUnitArea",type:"keyword",info:"GeoGridUnitArea[proj, loc] gives the actual geo area corresponding to a unit area on the geo grid ob"},{label:"GeoGridUnitDistance",type:"keyword",info:"GeoGridUnitDistance[proj, loc, Î\\[PlusMinus]] gives the actual geo distance corresponding to a unit distance on "},{label:"GeoGridVector",type:"keyword",info:"GeoGridVector[loc  {v , v }, proj] represents a horizontal two-dimensional vector of components v ,"},{label:"GeoGroup",type:"keyword",info:"GeoGroup[geoobjects] represents a list of geographic objects to be treated as a single object for ce"},{label:"GeoHemisphere",type:"keyword",info:"GeoHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth cen"},{label:"GeoHemisphereBoundary",type:"keyword",info:"GeoHemisphereBoundary[] is a one-dimensional GeoGraphics primitive that represents the boundary line"},{label:"GeoHistogram",type:"keyword",info:"GeoHistogram[locs] plots a density histogram of the geographic locations locs.GeoHistogram[locs, bsp"},{label:"GeoIdentify",type:"keyword",info:"GeoIdentify[enttype] identifies the geographic entities of the type enttype in which the current geo"},{label:"GeoImage",type:"keyword",info:"GeoImage[reg] gives a satellite image of the geo region reg.GeoImage[reg, mapstyle] gives an image o"},{label:"GeoLabels",type:"keyword",info:"GeoLabels is an option for GeoListPlot and GeoRegionValuePlot that specifies whether and how to add "},{label:"GeoLength",type:"keyword",info:"GeoLength[g] gives the length of the geo path g."},{label:"GeoListPlot",type:"keyword",info:"GeoListPlot[{loc , loc , …}] generates a map on which the locations loc are indicated.GeoListPlot[{"},{label:"GeoLocation",type:"keyword",info:"GeoLocation is an option for Interpreter and related functions that specifies the location to assume"},{label:"GeologicalPeriodData",type:"keyword",info:"GeologicalPeriodData[entity, property] gives the value of the specified property for the geological "},{label:"GeomagneticModelData",type:"keyword",info:"GeomagneticModelData[] returns the current magnetic field data for the current location.GeomagneticM"},{label:"GeoMarker",type:"keyword",info:"GeoMarker[] is a GeoGraphics primitive that represents a marker at the current ECGeoLocation.GeoMarke"},{label:"GeometricAssertion",type:"keyword",info:"GeometricAssertion[obj, prop] represents the assertion that the geometric object obj satisfies prop."},{label:"GeometricBrownianMotionProcess",type:"keyword",info:"GeometricBrownianMotionProcess[μ, σ, x ] represents a geometric Brownian motion process with drift μ"},{label:"GeometricDistribution",type:"keyword",info:"GeometricDistribution[p] represents a geometric distribution with probability parameter p. "},{label:"GeometricMean",type:"keyword",info:"GeometricMean[list] gives the geometric mean of the values in list."},{label:"GeometricMeanFilter",type:"keyword",info:" "},{label:"GeometricOptimization",type:"keyword",info:" "},{label:"GeometricScene",type:"keyword",info:"GeometricScene[{p , p , …}, {hyp , hyp , …}] represents an abstract 2D geometric scene defined by th"},{label:"GeometricStep",type:"keyword",info:"GeometricStep[{hyp , hyp , …}] gives a symbolic representation of a step in the definition of a geom"},{label:"GeometricTest",type:"keyword",info:"GeometricTest[obj, prop] tests whether the geometric object obj satisfies prop.GeometricTest[{obj , "},{label:"GeometricTransformation",type:"keyword",info:"GeometricTransformation[g, tfun] represents the result of applying the transformation function tfun "},{label:"GeometricTransformation3DBox",type:"keyword",info:"System`GeometricTransformation3DBox"},{label:"GeometricTransformation3DBoxOptions",type:"keyword",info:"GeometricTransformation3DBoxOptions  {opt  val , opt  val , …} is an option that specifies sett"},{label:"GeometricTransformationBox",type:"keyword",info:"System`GeometricTransformationBox"},{label:"GeometricTransformationBoxOptions",type:"keyword",info:"GeometricTransformationBoxOptions  {opt  val , opt  val , …} is an option that specifies settin"},{label:"GeoModel",type:"keyword",info:"GeoModel is an option for GeoGraphics that specifies the reference body or model for it for the purp"},{label:"GeoNearest",type:"keyword",info:"GeoNearest[enttype, loc] returns the geographic entity of type enttype closest to the geo location l"},{label:"GeoOrientationData",type:"keyword",info:"GeoOrientationData[date, prop] gives the value of the property prop about the orientation of the Ear"},{label:"GeoPath",type:"keyword",info:"GeoPath[{loc , loc }, pathtype] is a GeoGraphics primitive that represents a path of type pathtype b"},{label:"GeoPolygon",type:"keyword",info:"GeoPolygon[{loc , …, loc }] is a GeoGraphics primitive that represents a filled polygon whose bounda"},{label:"GeoPosition",type:"keyword",info:"GeoPosition[{lat, lon}] represents a geodetic position with latitude lat and longitude lon.GeoPositi"},{label:"GeoPositionENU",type:"keyword",info:"GeoPositionENU[{east, north, up}, p] represents a position with local Cartesian coordinates {east, "},{label:"GeoPositionXYZ",type:"keyword",info:"GeoPositionXYZ[{x, y, z}] represents a position in a Cartesian geocentric coordinate system.GeoPosit"},{label:"GeoProjection",type:"keyword",info:"GeoProjection is an option for GeoGraphics that specifies the cartographic projection to use for the"},{label:"GeoProjectionData",type:"keyword",info:'GeoProjectionData["projection", "property"] gives the value of the specified property for the specif'},{label:"GeoRange",type:"keyword",info:"GeoRange is an option for geographic functions that specifies the range of latitude and longitude to"},{label:"GeoRangePadding",type:"keyword",info:"GeoRangePadding is an option for GeoGraphics that specifies what padding to use when extending beyon"},{label:"GeoRegionValuePlot",type:"keyword",info:"GeoRegionValuePlot[{reg  val , reg  val , …}] generates a plot in which the geographic regions r"},{label:"GeoResolution",type:"keyword",info:"GeoResolution is an option for geographic functions that specifies an average distance between neigh"},{label:"GeoScaleBar",type:"keyword",info:"GeoScaleBar is an option for GeoGraphics that determines what scale to show on the map."},{label:"GeoServer",type:"keyword",info:"GeoServer is an option for GeoGraphics, GeoStyling and GeoImage that specifies the URL address of a "},{label:"GeoSmoothHistogram",type:"keyword",info:"GeoSmoothHistogram[locs] plots a smooth kernel histogram of the geo locations locs.GeoSmoothHistogra"},{label:"GeoStreamPlot",type:"keyword",info:"GeoStreamPlot[vecs] generates a stream plot from the field of geo vectors vecs.GeoStreamPlot[{vecs ,"},{label:"GeoStyling",type:"keyword",info:"GeoStyling[mapstyle] displays faces of polygons and other filled geo objects using mapstyle.GeoStyli"},{label:"GeoStylingImageFunction",type:"keyword",info:"GeoStylingImageFunction is an option for specifying an image effect to apply to a geo style."},{label:"GeoVariant",type:"keyword",info:"GeoVariant[obj, qual] represents a geographic object obj with qualifier qual."},{label:"GeoVector",type:"keyword",info:"GeoVector[loc  {m, Î\\[PlusMinus]}] represents a horizontal two-dimensional vector of magnitude m and bearing Î\\[PlusMinus] "},{label:"GeoVectorENU",type:"keyword",info:"GeoVectorENU[loc  {v , v }] represents a horizontal two-dimensional vector of components v and v "},{label:"GeoVectorPlot",type:"keyword",info:"GeoVectorPlot[vecs] generates a vector plot from the field of geo vectors vecs.GeoVectorPlot[{vecs ,"},{label:"GeoVectorXYZ",type:"keyword",info:"GeoVectorXYZ[loc  {v , v , v }] represents a three-dimensional vector of Cartesian components v , v"},{label:"GeoVisibleRegion",type:"keyword",info:"GeoVisibleRegion[{lat, lon, h}] is a two-dimensional GeoGraphics primitive that represents the regio"},{label:"GeoVisibleRegionBoundary",type:"keyword",info:"GeoVisibleRegionBoundary[{lat, lon, h}] is a one-dimensional GeoGraphics primitive that represents t"},{label:"GeoWithinQ",type:"keyword",info:"GeoWithinQ[reg, loc] returns True if the location loc is contained within the region reg, and False "},{label:"GeoZoomLevel",type:"keyword",info:"GeoZoomLevel is an option for specifying the resolution at which to render a map."},{label:"GestureHandler",type:"keyword",info:"GestureHandler[expr, {gesture  fun , gesture  fun , …}] displays as expr, evaluating fun [value,"},{label:"GestureHandlerTag",type:"keyword",info:"System`GestureHandlerTag"},{label:"Get",type:"keyword",info:"<< name reads in a file, evaluating each expression in it and returning the last one. Get[stream] re"},{label:"GetBoundingBoxSizePacket",type:"keyword",info:"System`GetBoundingBoxSizePacket"},{label:"GetContext",type:"keyword",info:'GetContext["context`"] loads the file named by ContextToFileName["context`"], which gives the conven'},{label:"GetEnvironment",type:"keyword",info:'GetEnvironment["var"] gives the setting corresponding to the variable "var" in the operating system '},{label:"GetFileName",type:"keyword",info:"System`GetFileName"},{label:"GetLinebreakInformationPacket",type:"keyword",info:"System`GetLinebreakInformationPacket"},{label:"GetMenusPacket",type:"keyword",info:"System`GetMenusPacket"},{label:"GetPageBreakInformationPacket",type:"keyword",info:"System`GetPageBreakInformationPacket"},{label:"GibbsPointProcess",type:"keyword",info:" "},{label:"Glaisher",type:"keyword",info:"Glaisher is Glaisher's constant with numerical value ≃ 1.28243. "},{label:"GlobalClusteringCoefficient",type:"keyword",info:"GlobalClusteringCoefficient[g] gives the global clustering coefficient of the graph g.GlobalClusteri"},{label:"GlobalPreferences",type:"keyword",info:"System`GlobalPreferences"},{label:"GlobalSession",type:"keyword",info:"System`GlobalSession"},{label:"Glow",type:"keyword",info:"Glow[col] is a graphics directive which specifies that surfaces of 3D graphics objects that follow a"},{label:"GoldenAngle",type:"keyword",info:"GoldenAngle is the golden angle (3 - Sqrt[5]) π, with numerical value ≃ 137.5Â\\[Degree]."},{label:"GoldenRatio",type:"keyword",info:" 1\nGoldenRatio is the golden ratio ϕ  - (Sqrt[5] + 1), with nume"},{label:"GompertzMakehamDistribution",type:"keyword",info:"GompertzMakehamDistribution[λ, ξ] represents a Gompertz distribution with scale parameter λ and frai"},{label:"GoochShading",type:"keyword",info:"GoochShading[] is a three-dimensional graphics directive specifying that surfaces that follow are to"},{label:"GoodmanKruskalGamma",type:"keyword",info:" "},{label:"GoodmanKruskalGammaTest",type:"keyword",info:"GoodmanKruskalGammaTest[v , v ] tests whether the vectors v and v are independent.GoodmanKruskalGa"},{label:"Goto",type:"keyword",info:"Goto[tag] scans for Label[tag], and transfers control to that point. "},{label:"Grad",type:"keyword",info:"Grad[f, {x , …, x }] gives the gradient (∂ f/∂ x , …, ∂ f/∂ x ).Grad[f, {x , …, x }, chart] gives th"},{label:"Gradient",type:"keyword",info:"Gradient is an option for FindMinimum and related functions that specifies the gradient vector to as"},{label:"GradientFilter",type:"keyword",info:"GradientFilter[data, r] gives the magnitude of the gradient of data, computed using discrete derivat"},{label:"GradientFittedMesh",type:"keyword",info:"GradientFittedMesh[{p , p , …}] gives a MeshRegion whose gradient best fits the normals at points p "},{label:"GradientOrientationFilter",type:"keyword",info:"GradientOrientationFilter[data, r] gives the local orientation parallel to the gradient of data, com"},{label:"GrammarApply",type:"keyword",info:"GrammarApply[grammar, input] attempts to parse input according to the grammar defined by grammar."},{label:"GrammarRules",type:"keyword",info:"GrammarRules[rules] represents grammar rules to be deployed to a cloud object that implements the gr"},{label:"GrammarToken",type:"keyword",info:"GrammarToken[form] is a grammar rules pattern object that represents any input of the specified form"},{label:"Graph",type:"keyword",info:"Graph[{e , e , …}] yields a graph with edges e .Graph[{v , v , …}, {e , e , …}] yields the graph wit"},{label:"Graph3D",type:"keyword",info:"Graph3D[g] creates a graph with vertices and edges from the graph g and represented as a 3D plot.Gra"},{label:"GraphAssortativity",type:"keyword",info:"GraphAssortativity[g] gives the assortativity coefficient of a graph g using vertex degrees.GraphAss"},{label:"GraphAutomorphismGroup",type:"keyword",info:"GraphAutomorphismGroup[g] gives the automorphism group of a graph g.GraphAutomorphismGroup[{v  w, …"},{label:"GraphCenter",type:"keyword",info:"GraphCenter[g] gives the set of vertices with minimum eccentricity in the graph g.GraphCenter[{v  w"},{label:"GraphComplement",type:"keyword",info:"GraphComplement[g] gives the graph complement of the graph g.GraphComplement[{v  w, …}] uses rules "},{label:"GraphData",type:"keyword",info:"GraphData[name] gives a graph with the specified name.GraphData[entity] gives the graph correspondin"},{label:"GraphDensity",type:"keyword",info:"GraphDensity[g] gives the graph density of the graph g.GraphDensity[{v  w, …}] uses rules v  w to "},{label:"GraphDiameter",type:"keyword",info:"GraphDiameter[g] gives the greatest distance between any pair of vertices in the graph g.GraphDiamet"},{label:"GraphDifference",type:"keyword",info:"GraphDifference[g , g ] gives the graph difference of the graphs g and g .GraphDifference[{v  w, …"},{label:"GraphDisjointUnion",type:"keyword",info:"GraphDisjointUnion[g , g ] gives the graph disjoint union of the graphs g and g .GraphDisjointUnion"},{label:"GraphDistance",type:"keyword",info:"GraphDistance[g, s, t] gives the distance from source vertex s to target vertex t in the graph g.Gra"},{label:"GraphDistanceMatrix",type:"keyword",info:"GraphDistanceMatrix[g] gives the matrix of distances between vertices for the graph g.GraphDistanceM"},{label:"GraphElementData",type:"keyword",info:"System`GraphElementData"},{label:"GraphEmbedding",type:"keyword",info:'GraphEmbedding[g] gives coordinates of the vertices of the graph g.GraphEmbedding[g, "emb"] gives co'},{label:"GraphHighlight",type:"keyword",info:"GraphHighlight is an option to Graph and related objects that specifies graph elements to highlight."},{label:"GraphHighlightStyle",type:"keyword",info:"GraphHighlightStyle is an option to Graph and related objects that specifies styles to use for highl"},{label:"GraphHub",type:"keyword",info:"GraphHub[g] gives the set of vertices with maximum vertex degree in the underlying simple graph of g"},{label:"Graphics",type:"keyword",info:"Graphics[primitives, options] represents a two-dimensional graphical image. "},{label:"Graphics3D",type:"keyword",info:"Graphics3D[primitives, options] represents a three-dimensional graphical image. "},{label:"Graphics3DBox",type:"keyword",info:"System`Graphics3DBox"},{label:"Graphics3DBoxOptions",type:"keyword",info:"Graphics3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Graphi"},{label:"GraphicsArray",type:"keyword",info:"GraphicsArray[{g , g , …}] represents a row of graphics objects.GraphicsArray[{{g , g , …}, …}] re"},{label:"GraphicsBaseline",type:"keyword",info:"System`GraphicsBaseline"},{label:"GraphicsBox",type:"keyword",info:"System`GraphicsBox"},{label:"GraphicsBoxOptions",type:"keyword",info:"GraphicsBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Graphics"},{label:"GraphicsColor",type:"keyword",info:"System`GraphicsColor"},{label:"GraphicsColumn",type:"keyword",info:"GraphicsColumn[{g , g , …}] generates a graphic in which the g are laid out in a column, with g ab"},{label:"GraphicsComplex",type:"keyword",info:"GraphicsComplex[{pt , pt , …}, data] represents a graphics complex in which coordinates given as int"},{label:"GraphicsComplex3DBox",type:"keyword",info:"System`GraphicsComplex3DBox"},{label:"GraphicsComplex3DBoxOptions",type:"keyword",info:"GraphicsComplex3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for"},{label:"GraphicsComplexBox",type:"keyword",info:"System`GraphicsComplexBox"},{label:"GraphicsComplexBoxOptions",type:"keyword",info:"GraphicsComplexBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for G"},{label:"GraphicsContents",type:"keyword",info:"System`GraphicsContents"},{label:"GraphicsData",type:"keyword",info:"System`GraphicsData"},{label:"GraphicsGrid",type:"keyword",info:"GraphicsGrid[{{g , g , …}, …}] generates a graphic in which the g are laid out in a two-dimensio"},{label:"GraphicsGridBox",type:"keyword",info:"System`GraphicsGridBox"},{label:"GraphicsGroup",type:"keyword",info:"GraphicsGroup[{g , g , …}] represents a collection of graphics objects grouped together for purposes"},{label:"GraphicsGroup3DBox",type:"keyword",info:"System`GraphicsGroup3DBox"},{label:"GraphicsGroup3DBoxOptions",type:"keyword",info:"GraphicsGroup3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for G"},{label:"GraphicsGroupBox",type:"keyword",info:"System`GraphicsGroupBox"},{label:"GraphicsGroupBoxOptions",type:"keyword",info:"GraphicsGroupBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Gra"},{label:"GraphicsGrouping",type:"keyword",info:"System`GraphicsGrouping"},{label:"GraphicsHighlightColor",type:"keyword",info:"System`GraphicsHighlightColor"},{label:"GraphicsRow",type:"keyword",info:"GraphicsRow[{g , g , …}] generates a graphic in which the g are laid out in a row.GraphicsRow[list,"},{label:"GraphicsSpacing",type:"keyword",info:"GraphicsSpacing is an option for GraphicsArray that specifies the spacing between elements in the ar"},{label:"GraphicsStyle",type:"keyword",info:"System`GraphicsStyle"},{label:"GraphIntersection",type:"keyword",info:"GraphIntersection[g , g ] gives the graph intersection of the graphs g and g .GraphIntersection[g ,"},{label:"GraphLayerLabels",type:"keyword",info:"System`GraphLayerLabels"},{label:"GraphLayers",type:"keyword",info:"GraphLayers is an option for LayeredGraphPlot3D and related functions that specifies layers to draw "},{label:"GraphLayerStyle",type:"keyword",info:"GraphLayerStyle is an option for LayeredGraphPlot3D and related functions that specifies the style i"},{label:"GraphLayout",type:"keyword",info:"GraphLayout is an option to Graph and related functions that specifies what layout to use."},{label:"GraphLinkEfficiency",type:"keyword",info:"GraphLinkEfficiency[g] gives the link efficiency of the graph g.GraphLinkEfficiency[{v  w, …}] uses"},{label:"GraphPeriphery",type:"keyword",info:"GraphPeriphery[g] gives vertices that are maximally distant to at least one vertex in the graph g.Gr"},{label:"GraphPlot",type:"keyword",info:"GraphPlot[g] generates a plot of the graph g.GraphPlot[{e , e , …}] generates a plot of the graph wi"},{label:"GraphPlot3D",type:"keyword",info:"GraphPlot3D[g] generates a 3D plot of the graph g.GraphPlot3D[{e , e , …}] generates a 3D plot of th"},{label:"GraphPower",type:"keyword",info:" th\nGraphPower[g, n] gives the graph-n power of the graph g.Gra"},{label:"GraphPropertyDistribution",type:"keyword",info:"GraphPropertyDistribution[expr, x  gdist] represents the distribution of the property expr where th"},{label:"GraphQ",type:"keyword",info:"GraphQ[g] yields True if g is a valid Graph object and False otherwise."},{label:"GraphRadius",type:"keyword",info:"GraphRadius[g] gives the minimum eccentricity of the vertices in the graph g.GraphRadius[{v  w, …}]"},{label:"GraphReciprocity",type:"keyword",info:"GraphReciprocity[g] gives the reciprocity of a graph g.GraphReciprocity[{v  w, …}] uses rules v  w"},{label:"GraphRoot",type:"keyword",info:"System`GraphRoot"},{label:"GraphStyle",type:"keyword",info:"GraphStyle is an option to Graph and related objects that specifies styles to use for the different "},{label:"GraphTree",type:"keyword",info:"GraphTree[g] constructs a tree from the tree graph g.GraphTree[g, root] specifies what vertex to use"},{label:"GraphUnion",type:"keyword",info:"GraphUnion[g , g ] gives the graph union of the graphs g and g .GraphUnion[g , g , …] gives the gra"},{label:"Gray",type:"keyword",info:"Gray represents the color gray in graphics or style specifications. "},{label:"GrayLevel",type:"keyword",info:"GrayLevel[g] represents a color in the grayscale color space with gray level g.GrayLevel[g, a] speci"},{label:"Greater",type:"keyword",info:"x > y yields True if x is determined to be greater than y. x > x > x yields True if the x form a"},{label:"GreaterEqual",type:"keyword",info:"x >= y or x ≥ y yields True if x is determined to be greater than or equal to y. x ≥ x ≥ x yields"},{label:"GreaterEqualLess",type:"keyword",info:"GreaterEqualLess[x, y, …] displays as x ⋛ y ⋛ …."},{label:"GreaterEqualThan",type:"keyword",info:"GreaterEqualThan[y] is an operator form that yields x ≥ y when applied to an expression x."},{label:"GreaterFullEqual",type:"keyword",info:"GreaterFullEqual[x, y, …] displays as x ≧ y ≧ …."},{label:"GreaterGreater",type:"keyword",info:"GreaterGreater[x, y, …] displays as x ≫ y ≫ …."},{label:"GreaterLess",type:"keyword",info:"GreaterLess[x, y, …] displays as x â‰\\[CenterDot] y â‰\\[CenterDot] …."},{label:"GreaterSlantEqual",type:"keyword",info:"GreaterSlantEqual[x, y, …] displays as x ⩾ y ⩾ …."},{label:"GreaterThan",type:"keyword",info:"GreaterThan[y] is an operator form that yields x > y when applied to an expression x."},{label:"GreaterTilde",type:"keyword",info:"GreaterTilde[x, y, …] displays as x â‰.b3 y â‰.b3 …."},{label:"GreekStyle",type:"keyword",info:"System`GreekStyle"},{label:"Green",type:"keyword",info:"Green represents the color green in graphics or style specifications. "},{label:"GreenFunction",type:"keyword",info:"GreenFunction[{ℒ[u[x]], â„\\[Not][u[x]]}, u, {x, x , x }, y] gives a Green's function for the linear dif"},{label:"Grid",type:"keyword",info:"Grid[{{expr , expr , …}, {expr , expr , …}, …}] is an object that formats with the expr arrang"},{label:"GridBaseline",type:"keyword",info:"GridBaseline is an option for GridBox that specifies what place in the grid should be considered its"},{label:"GridBox",type:"keyword",info:"GridBox[{{box , box , …}, {box , box , …}, …}] is a low-level box construct that represents a tw"},{label:"GridBoxAlignment",type:"keyword",info:"System`GridBoxAlignment"},{label:"GridBoxBackground",type:"keyword",info:"System`GridBoxBackground"},{label:"GridBoxDividers",type:"keyword",info:"System`GridBoxDividers"},{label:"GridBoxFrame",type:"keyword",info:"System`GridBoxFrame"},{label:"GridBoxItemSize",type:"keyword",info:"System`GridBoxItemSize"},{label:"GridBoxItemStyle",type:"keyword",info:"System`GridBoxItemStyle"},{label:"GridBoxOptions",type:"keyword",info:"GridBoxOptions -> {opt -> val , opt -> val , …} is an option which specifies default settings for "},{label:"GridBoxSpacings",type:"keyword",info:"System`GridBoxSpacings"},{label:"GridCreationSettings",type:"keyword",info:"GridCreationSettings is a global option that specifies settings for the Create Table/Matrix dialog."},{label:"GridDefaultElement",type:"keyword",info:"GridDefaultElement is an option for the low-level function GridBox that specifies what to insert whe"},{label:"GridElementStyleOptions",type:"keyword",info:"System`GridElementStyleOptions"},{label:"GridFrame",type:"keyword",info:"GridFrame is an option for grids that specifies whether a surrounding frame is drawn."},{label:"GridFrameMargins",type:"keyword",info:"GridFrameMargins is an option for grids that specifies the spacing between the content of the grid a"},{label:"GridGraph",type:"keyword",info:"GridGraph[{m, n}] gives the grid graph with m × n vertices G .GridGraph[{n , n , …, n }] gives th"},{label:"GridLines",type:"keyword",info:"GridLines is an option for two-dimensional graphics functions that specifies grid lines. "},{label:"GridLinesStyle",type:"keyword",info:"GridLinesStyle is an option for 2D graphics functions that specifies how grid lines should be render"},{label:"GridVideo",type:"keyword",info:"GridVideo[{v , v , …}] creates a video in which each frame is a grid of frames of all v at the corr"},{label:"GroebnerBasis",type:"keyword",info:"GroebnerBasis[{poly , poly , …}, {x , x , …}] gives a list of polynomials that form a GrÃ\\[Paragraph]bner basis "},{label:"GroupActionBase",type:"keyword",info:"GroupActionBase is an option to specify a base for a group."},{label:"GroupBy",type:"keyword",info:"GroupBy[{elem , elem , …}, f] gives an association that groups the elem into lists associated with "},{label:"GroupCentralizer",type:"keyword",info:"GroupCentralizer[group, g] returns the centralizer of the element g in group."},{label:"GroupElementFromWord",type:"keyword",info:"GroupElementFromWord[group, w] returns the element of group determined by the word w in the generato"},{label:"GroupElementPosition",type:"keyword",info:"GroupElementPosition[group, g] returns the position of the element g in the list of elements of grou"},{label:"GroupElementQ",type:"keyword",info:"GroupElementQ[group, g] returns True if the object g is an element of group and False otherwise."},{label:"GroupElements",type:"keyword",info:"GroupElements[group] returns the list of all elements of group.GroupElements[group, {r , …, r }] ret"},{label:"GroupElementToWord",type:"keyword",info:"GroupElementToWord[group, g] decomposes the group element g as a product of generators of group."},{label:"GroupGenerators",type:"keyword",info:"GroupGenerators[group] returns a list of generators of group. "},{label:"Groupings",type:"keyword",info:"Groupings[n, k] gives a list of all possible groupings of 1, …, n taken k at a time. Groupings[{a , "},{label:"GroupMultiplicationTable",type:"keyword",info:"GroupMultiplicationTable[group] gives the multiplication table of group as an array."},{label:"GroupOpenerColor",type:"keyword",info:"System`GroupOpenerColor"},{label:"GroupOpenerInsideFrame",type:"keyword",info:"System`GroupOpenerInsideFrame"},{label:"GroupOrbits",type:"keyword",info:"GroupOrbits[group, {p , …}] returns the orbits of the points p under the action of the elements of "},{label:"GroupOrder",type:"keyword",info:"GroupOrder[group] returns the number of elements of group."},{label:"GroupPageBreakWithin",type:"keyword",info:"GroupPageBreakWithin is an option for Cell that specifies whether a page break should be allowed wit"},{label:"GroupSetwiseStabilizer",type:"keyword",info:"GroupSetwiseStabilizer[group, {p , …, p }] returns the subgroup of group for which the images of the"},{label:"GroupStabilizer",type:"keyword",info:"GroupStabilizer[group, {p , …, p }] returns the subgroup of elements of group that move none of the "},{label:"GroupStabilizerChain",type:"keyword",info:"GroupStabilizerChain[group] returns a list of successive stabilizers in group of the points in a bas"},{label:"GroupTogetherGrouping",type:"keyword",info:"System`GroupTogetherGrouping"},{label:"GroupTogetherNestedGrouping",type:"keyword",info:"System`GroupTogetherNestedGrouping"},{label:"GrowCutComponents",type:"keyword",info:"GrowCutComponents[image, {marker , marker , …}] creates a segmentation from image by growing each ma"},{label:"Gudermannian",type:"keyword",info:"Gudermannian[z] gives the Gudermannian function gd(z)."},{label:"GuidedFilter",type:"keyword",info:"GuidedFilter[image, guide, r, Ï\\[Micro]] filters image using the guide image guide over range-r neighborhood"},{label:"GumbelDistribution",type:"keyword",info:"GumbelDistribution[Î\\[PlusMinus], Î.b2] represents a Gumbel distribution with location parameter Î\\[PlusMinus] and scale parame"},{label:"HaarWavelet",type:"keyword",info:"HaarWavelet[] represents a Haar wavelet. "},{label:"HadamardMatrix",type:"keyword",info:"HadamardMatrix[n] returns an n×n Hadamard matrix."},{label:"HalfLine",type:"keyword",info:"HalfLine[{p , p }] represents the half-line from the point p through p . HalfLine[p, v] represents "},{label:"HalfNormalDistribution",type:"keyword",info:"HalfNormalDistribution[θ] represents a half-normal distribution with scale inversely proportional to"},{label:"HalfPlane",type:"keyword",info:"HalfPlane[{p , p }, w] represents the half-plane bounded by the line through p and p and extended "},{label:"HalfSpace",type:"keyword",info:"HalfSpace[n, p] represents the half-space of points x such that n . (x - p) ≤ 0.HalfSpace[n, c] repr"},{label:"HalftoneShading",type:"keyword",info:"HalftoneShading[] is a three-dimensional graphics directive specifying that surfaces that follow are"},{label:"HamiltonianGraphQ",type:"keyword",info:"HamiltonianGraphQ[g] yields True if the graph g is Hamiltonian, and False otherwise."},{label:"HammingDistance",type:"keyword",info:"HammingDistance[u, v] gives the Hamming distance between strings or vectors u and v.HammingDistance["},{label:"HammingWindow",type:"keyword",info:"HammingWindow[x] represents a Hamming window function of x."},{label:"HandlerFunctions",type:"keyword",info:"HandlerFunctions is an option for asynchronous operations that specifies functions to apply when eve"},{label:"HandlerFunctionsKeys",type:"keyword",info:"HandlerFunctionsKeys is an option for asynchronous operations that specifies the content of associat"},{label:"HankelH1",type:"keyword",info:" (1)\nHankelH1[n, z] gives the Hankel func"},{label:"HankelH2",type:"keyword",info:" (2)\nHankelH2[n, z] gives the Hankel fun"},{label:"HankelMatrix",type:"keyword",info:"HankelMatrix[n] gives the n×n Hankel matrix with first row and first column being successive integer"},{label:"HankelTransform",type:"keyword",info:"HankelTransform[expr, r, s] gives the Hankel transform of order 0 for expr.HankelTransform[expr, r, "},{label:"HannPoissonWindow",type:"keyword",info:"HannPoissonWindow[x] represents a Hann–Poisson window function of x.HannPoissonWindow[x, Î\\[PlusMinus]] uses the"},{label:"HannWindow",type:"keyword",info:"HannWindow[x] represents a Hann window function of x.HannWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"HaradaNortonGroupHN",type:"keyword",info:"HaradaNortonGroupHN[] represents the sporadic simple Harada–Norton group HN."},{label:"HararyGraph",type:"keyword",info:"HararyGraph[k, n] generates the minimal k-connected graph on n vertices H .\n "},{label:"HardcorePointProcess",type:"keyword",info:" "},{label:"HarmonicMean",type:"keyword",info:"HarmonicMean[list] gives the harmonic mean of the values in list."},{label:"HarmonicMeanFilter",type:"keyword",info:" "},{label:"HarmonicNumber",type:"keyword",info:" th "},{label:"Hash",type:"keyword",info:'Hash[expr] gives an integer hash code for the expression expr.Hash[expr, "type"] gives an integer ha'},{label:"HatchFilling",type:"keyword",info:"HatchFilling[] is a two-dimensional graphics directive that specifies that faces of polygons and oth"},{label:"HatchShading",type:"keyword",info:"HatchShading[] is a three-dimensional graphics directive specifying that objects that follow are to "},{label:"Haversine",type:"keyword",info:"Haversine[z] gives the haversine function hav(z)."},{label:"HazardFunction",type:"keyword",info:"HazardFunction[dist, x] gives the hazard function for the distribution dist evaluated at x.HazardFun"},{label:"Head",type:"keyword",info:"Head[expr] gives the head of expr. Head[expr, h] wraps the result with h.\n"},{label:"HeadCompose",type:"keyword",info:"HeadCompose[a, b, c, d] gives a[b][c][d]."},{label:"HeaderAlignment",type:"keyword",info:"HeaderAlignment is an option for Dataset that specifies how the contents of a header should be align"},{label:"HeaderBackground",type:"keyword",info:"HeaderBackground is an option for Dataset that specifies what background color to use for row and co"},{label:"HeaderDisplayFunction",type:"keyword",info:"HeaderDisplayFunction is an option for Dataset that specifies a function to apply to headers before "},{label:"HeaderLines",type:"keyword",info:"HeaderLines is an option for SemanticImport and related functions that specifies how many of the ini"},{label:"Headers",type:"keyword",info:"System`Headers"},{label:"HeaderSize",type:"keyword",info:"HeaderSize is an option for Dataset that specifies the widths and heights of headers."},{label:"HeaderStyle",type:"keyword",info:"HeaderStyle is an option for Dataset that specifies the style to use for headers."},{label:"Heads",type:"keyword",info:"Heads is an option for functions which use level specifications that specifies whether heads of expr"},{label:"HeatFluxValue",type:"keyword",info:"HeatFluxValue[pred, vars, pars] represents a thermal heat flux boundary condition for PDEs with pred"},{label:"HeatInsulationValue",type:"keyword",info:"HeatInsulationValue[pred, vars, pars] represents a thermal insulation boundary condition for PDEs wi"},{label:"HeatOutflowValue",type:"keyword",info:"HeatOutflowValue[pred, vars, pars] represents a thermal outflow boundary condition for PDEs with pre"},{label:"HeatRadiationValue",type:"keyword",info:"HeatRadiationValue[pred, vars, pars] represents a thermal radiation boundary condition for PDEs with"},{label:"HeatSymmetryValue",type:"keyword",info:"HeatSymmetryValue[pred, vars, pars] represents a thermal symmetry boundary condition for PDEs with p"},{label:"HeatTemperatureCondition",type:"keyword",info:"HeatTemperatureCondition[pred, vars, pars] represents a thermal surface boundary condition for PDEs "},{label:"HeatTransferPDEComponent",type:"keyword",info:"HeatTransferPDEComponent[vars, pars] yields a heat transfer PDE term with variables vars and paramet"},{label:"HeatTransferValue",type:"keyword",info:"HeatTransferValue[pred, vars, pars] represents a thermal transfer boundary condition for PDEs with p"},{label:"HeavisideLambda",type:"keyword",info:"HeavisideLambda[x] represents the triangle distribution Λ(x) which is nonzero for  x  < 1.Heavisid"},{label:"HeavisidePi",type:"keyword",info:" 1 1 "},{label:"HeavisideTheta",type:"keyword",info:"HeavisideTheta[x] represents the Heaviside theta function θ(x), equal to 0 for x < 0 and 1 for x > 0"},{label:"HeldGroupHe",type:"keyword",info:"HeldGroupHe[] represents the sporadic simple Held group He."},{label:"HeldPart",type:"keyword",info:"System`HeldPart"},{label:"HelmholtzPDEComponent",type:"keyword",info:" 2 2\nHelmholtzPDECompo"},{label:"HelpBrowserLookup",type:"keyword",info:"System`HelpBrowserLookup"},{label:"HelpBrowserNotebook",type:"keyword",info:"System`HelpBrowserNotebook"},{label:"HelpBrowserSettings",type:"keyword",info:"HelpBrowserSettings is a global option that specifies settings for the legacy Help Browser."},{label:"Here",type:"keyword",info:"Here represents the current deduced geo location."},{label:"HermiteDecomposition",type:"keyword",info:"HermiteDecomposition[m] gives the Hermite normal form decomposition of an integer matrix m."},{label:"HermiteH",type:"keyword",info:"HermiteH[n, x] gives the Hermite polynomial H (x). \n n"},{label:"Hermitian",type:"keyword",info:"Hermitian[{1, 2}] represents the symmetry of a Hermitian matrix."},{label:"HermitianMatrixQ",type:"keyword",info:"HermitianMatrixQ[m] gives True if m is explicitly Hermitian, and False otherwise. "},{label:"HessenbergDecomposition",type:"keyword",info:"HessenbergDecomposition[m] gives the Hessenberg decomposition of a numerical matrix m. "},{label:"Hessian",type:"keyword",info:"System`Hessian"},{label:"HeunB",type:"keyword",info:"HeunB[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the bi-confluent Heun function. "},{label:"HeunBPrime",type:"keyword",info:"HeunBPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunB function. "},{label:"HeunC",type:"keyword",info:"HeunC[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the confluent Heun function."},{label:"HeunCPrime",type:"keyword",info:"HeunCPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunC function. "},{label:"HeunD",type:"keyword",info:"HeunD[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the double-confluent Heun function. "},{label:"HeunDPrime",type:"keyword",info:"HeunDPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunD function. "},{label:"HeunG",type:"keyword",info:"HeunG[a, q, Î\\[PlusMinus], Î.b2, Î.b3, Î.b4, z] gives the general Heun function. "},{label:"HeunGPrime",type:"keyword",info:"HeunGPrime[a, q, Î\\[PlusMinus], Î.b2, Î.b3, Î.b4, z] gives the z-derivative of the HeunG function. "},{label:"HeunT",type:"keyword",info:"HeunT[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the tri-confluent Heun function. "},{label:"HeunTPrime",type:"keyword",info:"HeunTPrime[q, Î\\[PlusMinus], Î.b3, Î.b4, Ï\\[Micro], z] gives the z-derivative of the HeunT function. "},{label:"HexadecimalCharacter",type:"keyword",info:"HexadecimalCharacter represents a hexadecimal digit character 0–9, a–f, A–F in StringExpression."},{label:"Hexahedron",type:"keyword",info:"Hexahedron[{p , p , …, p }] represents a filled hexahedron with corners p , p , …, p .Hexahedron[{{p"},{label:"HexahedronBox",type:"keyword",info:"System`HexahedronBox"},{label:"HexahedronBoxOptions",type:"keyword",info:"System`HexahedronBoxOptions"},{label:"HiddenItems",type:"keyword",info:"HiddenItems is an option for Dataset that specifies which items to hide."},{label:"HiddenMarkovProcess",type:"keyword",info:"HiddenMarkovProcess[i , m, em] represents a discrete-time, finite-state hidden Markov process with t"},{label:"HiddenSurface",type:"keyword",info:"HiddenSurface is an option for SurfaceGraphics which specifies whether hidden surfaces are to be eli"},{label:"Highlighted",type:"keyword",info:"Highlighted[expr] displays a highlighted version of expr."},{label:"HighlightGraph",type:"keyword",info:"HighlightGraph[g, {a , a , …}] highlights the a that can be vertices, edges, or subgraphs of g.High"},{label:"HighlightImage",type:"keyword",info:"HighlightImage[image, roi] highlights the specified region of interest roi in image.HighlightImage[i"},{label:"HighlightMesh",type:"keyword",info:"HighlightMesh[mr, {cellspec , cellspec , …}] highlights the cells specified by cellspec in the mesh"},{label:"HighpassFilter",type:"keyword",info:"HighpassFilter[data, ω ] applies a highpass filter with a cutoff frequency ω to an array of data.Hi"},{label:"HigmanSimsGroupHS",type:"keyword",info:"HigmanSimsGroupHS[] represents the sporadic simple Higman–Sims group HS."},{label:"HilbertCurve",type:"keyword",info:" th "},{label:"HilbertFilter",type:"keyword",info:"HilbertFilter[data, ω ] applies a Hilbert filter with a cutoff frequency ω to an array of data.Hilb"},{label:"HilbertMatrix",type:"keyword",info:"HilbertMatrix[n] gives the n×n Hilbert matrix with elements of the form 1/(i + j - 1).HilbertMatrix["},{label:"Histogram",type:"keyword",info:"Histogram[{x , x , …}] plots a histogram of the values x .Histogram[{x , x , …}, bspec] plots a hist"},{label:"Histogram3D",type:"keyword",info:"Histogram3D[{{x , y }, {x , y }, …}] plots a 3D histogram of the values {x , y }.Histogram3D[{{x , y"},{label:"HistogramDistribution",type:"keyword",info:"HistogramDistribution[{x , x , …}] represents the probability distribution corresponding to a histog"},{label:"HistogramList",type:"keyword",info:"HistogramList[{x , x , …}] gives a list of bins and histogram heights of the values x .HistogramList"},{label:"HistogramPointDensity",type:"keyword",info:"HistogramPointDensity[pdata] estimates the histogram point density function μ(x) for point data pdat"},{label:"HistogramTransform",type:"keyword",info:"HistogramTransform[image] transforms pixel values of image so that its histogram is nearly flat.Hist"},{label:"HistogramTransformInterpolation",type:"keyword",info:"HistogramTransformInterpolation[{x , x , …}] finds a function f so that the transformed values f(x )"},{label:"HistoricalPeriodData",type:"keyword",info:"HistoricalPeriodData[entity, property] gives the value of the specified property for the historical "},{label:"HitMissTransform",type:"keyword",info:"HitMissTransform[image, ker] gives the hit-or-miss transform of image with respect to the composite "},{label:"HITSCentrality",type:"keyword",info:"HITSCentrality[g] gives a list of authority and hub centralities for the vertices in the graph g.HIT"},{label:"HjorthDistribution",type:"keyword",info:"HjorthDistribution[m, s, f] represents the Hjorth distribution with location parameter m, scale para"},{label:"HodgeDual",type:"keyword",info:"HodgeDual[tensor] gives the Hodge dual of the tensorHodgeDual[tensor, dim] dualizes tensor in the sl"},{label:"HoeffdingD",type:"keyword",info:" "},{label:"HoeffdingDTest",type:"keyword",info:'HoeffdingDTest[v , v ] tests whether the vectors v and v are independent.HoeffdingDTest[…, "proper'},{label:"Hold",type:"keyword",info:"Hold[expr] maintains expr in an unevaluated form. "},{label:"HoldAll",type:"keyword",info:"HoldAll is an attribute that specifies that all arguments to a function are to be maintained in an u"},{label:"HoldAllComplete",type:"keyword",info:"HoldAllComplete is an attribute which specifies that all arguments to a function are not to be modif"},{label:"HoldComplete",type:"keyword",info:"HoldComplete[expr] shields expr completely from the standard Wolfram Language evaluation process, pr"},{label:"HoldFirst",type:"keyword",info:"HoldFirst is an attribute that specifies that the first argument to a function is to be maintained i"},{label:"HoldForm",type:"keyword",info:"HoldForm[expr] prints as the expression expr, with expr maintained in an unevaluated form. "},{label:"HoldPattern",type:"keyword",info:"HoldPattern[expr] is equivalent to expr for pattern matching, but maintains expr in an unevaluated f"},{label:"HoldRest",type:"keyword",info:"HoldRest is an attribute which specifies that all but the first argument to a function are to be mai"},{label:"HolidayCalendar",type:"keyword",info:"HolidayCalendar is an option that specifies the holiday calendar schedule in business day functions."},{label:"HomeDirectory",type:"keyword",info:"System`HomeDirectory"},{label:"HomePage",type:"keyword",info:"System`HomePage"},{label:"Horizontal",type:"keyword",info:"System`Horizontal"},{label:"HorizontalForm",type:"keyword",info:"HorizontalForm is an internal symbol used for formatting and printing."},{label:"HorizontalGauge",type:"keyword",info:"HorizontalGauge[value] draws a linear gauge showing value in a range of 0 to 1.HorizontalGauge[value"},{label:"HorizontalScrollPosition",type:"keyword",info:"System`HorizontalScrollPosition"},{label:"HornerForm",type:"keyword",info:"HornerForm[poly] puts the polynomial poly in Horner form.HornerForm[poly, vars] puts poly in Horner "},{label:"HostLookup",type:"keyword",info:"HostLookup[name] gives the IP address for the host with the specified name.HostLookup[address] gives"},{label:"HotellingTSquareDistribution",type:"keyword",info:" 2\nHotellingTSquareDistribution[p, m] repr"},{label:"HoytDistribution",type:"keyword",info:"HoytDistribution[q, ω] represents a Hoyt distribution with shape parameter q and spread parameter ω."},{label:"HTMLSave",type:"keyword",info:'HTMLSave["file.html"] saves an HTML version of the current input notebook in the front end. HTMLSave'},{label:"HTTPErrorResponse",type:"keyword",info:"HTTPErrorResponse[code] is an object that represents an error response to an HTTP request, with spec"},{label:"HTTPRedirect",type:"keyword",info:"HTTPRedirect[uri] represents an HTTP redirect to the specified uri.HTTPRedirect[uri, metadata] repre"},{label:"HTTPRequest",type:"keyword",info:"HTTPRequest[url] represents an HTTP request for the specified URL.HTTPRequest[assoc] represents an H"},{label:"HTTPRequestData",type:"keyword",info:'HTTPRequestData["prop"] gives the value of the specified property of the current HTTP request.HTTPRe'},{label:"HTTPResponse",type:"keyword",info:"HTTPResponse[body] is an object that represents a successful response to an HTTP request, with the s"},{label:"Hue",type:"keyword",info:"Hue[h] represents a color in the HSB color space with hue h. Hue[h, s, b] specifies colors in terms "},{label:"HumanGrowthData",type:"keyword",info:"HumanGrowthData[spec] returns the range of values within one standard deviation of the mean for all "},{label:"HumpDownHump",type:"keyword",info:"HumpDownHump[x, y, …] displays as x ≎ y ≎ …."},{label:"HumpEqual",type:"keyword",info:"HumpEqual[x, y, …] displays as x ≏ y ≏ …."},{label:"HurwitzLerchPhi",type:"keyword",info:"HurwitzLerchPhi[z, s, a] gives the Hurwitz–Lerch transcendent Φ(z, s, a)."},{label:"HurwitzZeta",type:"keyword",info:"HurwitzZeta[s, a] gives the Hurwitz zeta function Î\\[Paragraph](s, a)."},{label:"HyperbolicDistribution",type:"keyword",info:"HyperbolicDistribution[Î\\[PlusMinus], Î.b2, Î.b4, μ] represents a hyperbolic distribution with location parameter μ, s"},{label:"HypercubeGraph",type:"keyword",info:"HypercubeGraph[n] gives the n-dimensional hypercube graph Q .\n "},{label:"HyperexponentialDistribution",type:"keyword",info:"HyperexponentialDistribution[{Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {λ , …, λ }] represents an m-phase hyperexponential distri"},{label:"Hyperfactorial",type:"keyword",info:"Hyperfactorial[n] gives the hyperfactorial function H(n)."},{label:"Hypergeometric0F1",type:"keyword",info:"Hypergeometric0F1[a, z] is the confluent hypergeometric function   F (; a ; z). \n "},{label:"Hypergeometric0F1Regularized",type:"keyword",info:"Hypergeometric0F1Regularized[a, z] is the regularized confluent hypergeometric function   F (a ;"},{label:"Hypergeometric1F1",type:"keyword",info:"Hypergeometric1F1[a, b, z] is the Kummer confluent hypergeometric function   F (a ; b ; z). \n "},{label:"Hypergeometric1F1Regularized",type:"keyword",info:"Hypergeometric1F1Regularized[a, b, z] is the regularized confluent hypergeometric function   F ("},{label:"Hypergeometric2F1",type:"keyword",info:"Hypergeometric2F1[a, b, c, z] is the hypergeometric function ïŽ.b3 F (a, b ; c ; z). \n "},{label:"Hypergeometric2F1Regularized",type:"keyword",info:"Hypergeometric2F1Regularized[a, b, c, z] is the regularized hypergeometric function   F (a, b ; "},{label:"HypergeometricDistribution",type:"keyword",info:"HypergeometricDistribution[n, n , n ] represents a hypergeometric distribution.\n "},{label:"HypergeometricPFQ",type:"keyword",info:"HypergeometricPFQ[{a , …, a }, {b , …, b }, z] is the generalized hypergeometric function   F (a"},{label:"HypergeometricPFQRegularized",type:"keyword",info:"HypergeometricPFQRegularized[{a , …, a }, {b , …, b }, z] is the regularized generalized hypergeomet"},{label:"HypergeometricU",type:"keyword",info:"HypergeometricU[a, b, z] is the confluent hypergeometric function U(a, b, z). "},{label:"Hyperlink",type:"keyword",info:"Hyperlink[uri] represents a hyperlink that jumps to the specified URI when clicked. Hyperlink[label,"},{label:"HyperlinkAction",type:"keyword",info:"HyperlinkAction is an option for Hyperlink that controls the behavior of following links in cloud no"},{label:"HyperlinkCreationSettings",type:"keyword",info:"System`HyperlinkCreationSettings"},{label:"Hyperplane",type:"keyword",info:"Hyperplane[n, p] represents the hyperplane with normal n passing through the point p.Hyperplane[n, c"},{label:"Hyphenation",type:"keyword",info:"Hyphenation is an option for Cell that specifies whether to allow hyphenation for words of text. "},{label:"HyphenationOptions",type:"keyword",info:"System`HyphenationOptions"},{label:"HypoexponentialDistribution",type:"keyword",info:"HypoexponentialDistribution[{λ , …, λ }] represents an m-phase hypoexponential distribution with rat"},{label:"HypothesisTestData",type:"keyword",info:"HypothesisTestData[…] represents hypothesis test data such as generated by DistributionFitTest, Ande"},{label:"I",type:"keyword",info:"I represents the imaginary unit Sqrt[-1]. "},{label:"IconData",type:"keyword",info:"IconData[type, value] generates an icon of the specified type assuming the value given. "},{label:"Iconize",type:"keyword",info:"Iconize[expr] gives an iconized form that can be used to stand in for expr in notebook input.Iconize"},{label:"IconizedObject",type:"keyword",info:"System`IconizedObject"},{label:"IconRules",type:"keyword",info:"IconRules is an option for CloudObject and related objects that specifies icons to use in different "},{label:"Icosahedron",type:"keyword",info:"Icosahedron[] represents a regular icosahedron centered at the origin with unit edge length.Icosahed"},{label:"Identity",type:"keyword",info:"Identity[expr] gives expr (the identity operation). "},{label:"IdentityMatrix",type:"keyword",info:"IdentityMatrix[n] gives the nn identity matrix. "},{label:"If",type:"keyword",info:"If[condition, t, f] gives t if condition evaluates to True, and f if it evaluates to False. If[condi"},{label:"IgnoreCase",type:"keyword",info:"IgnoreCase is an option for string manipulation and searching functions that specifies whether lower"},{label:"IgnoreDiacritics",type:"keyword",info:"IgnoreDiacritics is an option for string, grammar, and related functions that specifies whether diac"},{label:"IgnoreIsotopes",type:"keyword",info:"IgnoreIsotopes is an option for MoleculeMatchQ that determines whether isotopes should be ignored fo"},{label:"IgnorePunctuation",type:"keyword",info:"IgnorePunctuation is an option for AlphabeticSort and related functions that specifies whether to co"},{label:"IgnoreSpellCheck",type:"keyword",info:"System`IgnoreSpellCheck"},{label:"IgnoreStereochemistry",type:"keyword",info:"IgnoreStereochemistry is an option for MoleculeMatchQ that determines whether stereochemistry should"},{label:"IgnoringInactive",type:"keyword",info:"IgnoringInactive[patt] is a pattern object that, for purposes of pattern matching, ignores occurrenc"},{label:"Im",type:"keyword",info:"Im[z] gives the imaginary part of the complex number z. "},{label:"Image",type:"keyword",info:"Image[data] represents a raster image with pixel values given by the array data.Image[graphics] crea"},{label:"Image3D",type:"keyword",info:"Image3D[data] represents a 3D image with pixel values given by the array data.Image3D[{image , image"},{label:"Image3DProjection",type:"keyword",info:"Image3DProjection[image] takes a 3D image and returns a 2D image of maximum projection onto the x-y "},{label:"Image3DSlices",type:"keyword",info:" "},{label:"ImageAccumulate",type:"keyword",info:"ImageAccumulate[image] gives an image in which each pixel represents a sum of all pixels below and t"},{label:"ImageAdd",type:"keyword",info:"ImageAdd[image, x] adds an amount x to each channel value in image.ImageAdd[image , image ] gives an"},{label:"ImageAdjust",type:"keyword",info:"ImageAdjust[image] adjusts the levels in image, rescaling them to cover the range 0 to 1.ImageAdjust"},{label:"ImageAlign",type:"keyword",info:"ImageAlign[ref, image] returns a version of image that is aligned with the reference image ref.Image"},{label:"ImageApply",type:"keyword",info:"ImageApply[f, image] applies the function f to the list of channel values for each pixel in image.Im"},{label:"ImageApplyIndexed",type:"keyword",info:"ImageApplyIndexed[f, image] applies the function f to the list of channel values for each pixel in i"},{label:"ImageAspectRatio",type:"keyword",info:"ImageAspectRatio[image] gives the ratio of height to width for image.ImageAspectRatio[video] gives t"},{label:"ImageAssemble",type:"keyword",info:"ImageAssemble[{{im , …, im }, …, {im , …, im }}] assembles a single image from an array of image"},{label:"ImageAugmentationLayer",type:"keyword",info:"ImageAugmentationLayer[{h, w}] represents a net layer that applies random image transformations to p"},{label:"ImageBoundingBoxes",type:"keyword",info:"ImageBoundingBoxes[image] gives an association of lists of bounding boxes for each identified catego"},{label:"ImageCache",type:"keyword",info:"System`ImageCache"},{label:"ImageCacheValid",type:"keyword",info:"System`ImageCacheValid"},{label:"ImageCapture",type:"keyword",info:"ImageCapture[] opens a graphical user interface for capturing images from connected cameras."},{label:"ImageCaptureFunction",type:"keyword",info:"ImageCaptureFunction is an option for ImageCapture that specifies the function to apply to images ac"},{label:"ImageCases",type:"keyword",info:"ImageCases[image] gives an association of lists of subimages for each identified category of objects"},{label:"ImageChannels",type:"keyword",info:"ImageChannels[image] gives the number of channels present in the data for the Image or Image3D objec"},{label:"ImageClip",type:"keyword",info:"ImageClip[image] clips all channel values in image to lie in the default range.ImageClip[image, {min"},{label:"ImageCollage",type:"keyword",info:"ImageCollage[{image , image , …}] creates a collage of images image .ImageCollage[{w  image , w "},{label:"ImageColorSpace",type:"keyword",info:"ImageColorSpace[image] gives the name of the color space of image."},{label:"ImageCompose",type:"keyword",info:"ImageCompose[image, overlay] gives the result of overlaying overlay onto image. ImageCompose[image, "},{label:"ImageContainsQ",type:"keyword",info:"ImageContainsQ[image, category] returns True if an instance of the specified category is detected in"},{label:"ImageContents",type:"keyword",info:"ImageContents[image] gives a dataset of identified entities in image.ImageContents[image, category] "},{label:"ImageConvolve",type:"keyword",info:"ImageConvolve[image, ker] gives the convolution of image with kernel ker."},{label:"ImageCooccurrence",type:"keyword",info:"ImageCooccurrence[image, n] gives the n×n co-occurrence matrix for image.ImageCooccurrence[image, n,"},{label:"ImageCorners",type:"keyword",info:"ImageCorners[image] finds corners in image and returns their coordinates.ImageCorners[image, r] find"},{label:"ImageCorrelate",type:"keyword",info:"ImageCorrelate[image, ker] gives the correlation of image with kernel ker.ImageCorrelate[image, ker,"},{label:"ImageCorrespondingPoints",type:"keyword",info:"ImageCorrespondingPoints[image , image ] finds a set of matching interest points in image and image"},{label:"ImageCrop",type:"keyword",info:"ImageCrop[image] crops image by removing borders of uniform color. ImageCrop[image, size] crops imag"},{label:"ImageData",type:"keyword",info:"ImageData[image] gives the array of pixel values in an Image or Image3D object image.ImageData[image"},{label:"ImageDeconvolve",type:"keyword",info:"ImageDeconvolve[image, ker] gives a deconvolution of image using kernel ker."},{label:"ImageDemosaic",type:"keyword",info:"ImageDemosaic[image, cfa] reconstructs a color image using the specified color filter array cfa.Imag"},{label:"ImageDifference",type:"keyword",info:"ImageDifference[image , image ] gives an image in which each pixel is the absolute difference of the"},{label:"ImageDimensions",type:"keyword",info:"ImageDimensions[image] gives the pixel dimensions of an Image or Image3D object image.ImageDimension"},{label:"ImageDisplacements",type:"keyword",info:"ImageDisplacements[{image , image , …, image }] gives estimated horizontal and vertical displacement"},{label:"ImageDistance",type:"keyword",info:"ImageDistance[image , image ] returns a distance measure between image and image . ImageDistance[im"},{label:"ImageEditMode",type:"keyword",info:"System`ImageEditMode"},{label:"ImageEffect",type:"keyword",info:'ImageEffect[image, "effect"] applies the specified image effect to image.ImageEffect[image, {"effect'},{label:"ImageExposureCombine",type:"keyword",info:"ImageExposureCombine[{image , image , …}] combines differently exposed images image of the same sce"},{label:"ImageFeatureTrack",type:"keyword",info:"ImageFeatureTrack[{image , image , …, image }] tracks features from image through image .ImageFeatu"},{label:"ImageFileApply",type:"keyword",info:"ImageFileApply[f, inputfile, outputfile] applies the function f to the list of channel values for ea"},{label:"ImageFileFilter",type:"keyword",info:"ImageFileFilter[f, inputfile, r, outputfile] applies the function f to the range r neighborhood of e"},{label:"ImageFileScan",type:"keyword",info:"ImageFileScan[f, inputfile] applies the function f to the list of channel values for each pixel of t"},{label:"ImageFilter",type:"keyword",info:"ImageFilter[f, image, r] applies the function f to the range-r neighborhood of each pixel in each ch"},{label:"ImageFocusCombine",type:"keyword",info:"ImageFocusCombine[{image , image , …}] combines differently focused images image of the same scene "},{label:"ImageForestingComponents",type:"keyword",info:"ImageForestingComponents[image] finds a segmentation of image, returning an integer matrix in which "},{label:"ImageFormattingWidth",type:"keyword",info:"ImageFormattingWidth is an option that specifies the target width at which to wrap when formatting a"},{label:"ImageForwardTransformation",type:"keyword",info:"ImageForwardTransformation[image, f] gives an image in which each pixel at position f[{x, y}] corres"},{label:"ImageGraphics",type:"keyword",info:"ImageGraphics[image] returns the content of image in the form of scalable vector graphics.ImageGraph"},{label:"ImageHistogram",type:"keyword",info:"ImageHistogram[image] plots a histogram of the pixel levels for each channel in image.ImageHistogram"},{label:"ImageIdentify",type:"keyword",info:"ImageIdentify[image] yields the result of attempting to identify what image is a picture of. ImageId"},{label:"ImageInstanceQ",type:"keyword",info:"ImageInstanceQ[image, obj] gives True if image appears to be an instance of the object obj, and give"},{label:"ImageKeypoints",type:"keyword",info:"ImageKeypoints[image] finds key features in image and returns their coordinates.ImageKeypoints[image"},{label:"ImageLabels",type:"keyword",info:"ImageLabels is an option for image highlighting that specifies what labels to use for each highlight"},{label:"ImageLegends",type:"keyword",info:"ImageLegends is an option for image highlighting that specifies what legends to use."},{label:"ImageLevels",type:"keyword",info:"ImageLevels[image] gives a list of pixel values and counts for each channel in image. ImageLevels[im"},{label:"ImageLines",type:"keyword",info:"ImageLines[image] finds line segments in image and returns the coordinates of their endpoints.ImageL"},{label:"ImageMargins",type:"keyword",info:"ImageMargins is an option that specifies the absolute margins to leave around the image displayed fo"},{label:"ImageMarker",type:"keyword",info:"ImageMarker[pos] is a HighlightImage specification that represents a marker at position pos.ImageMar"},{label:"ImageMarkers",type:"keyword",info:"System`ImageMarkers"},{label:"ImageMeasurements",type:"keyword",info:'ImageMeasurements[image, "prop"] returns the value of property "prop" for the entire image.ImageMeas'},{label:"ImageMesh",type:"keyword",info:"ImageMesh[image] returns the foreground region in image as a BoundaryMeshRegion object."},{label:"ImageMultiply",type:"keyword",info:"ImageMultiply[image, x] multiplies each channel value in image by a factor x.ImageMultiply[image , i"},{label:"ImageOffset",type:"keyword",info:"System`ImageOffset"},{label:"ImagePad",type:"keyword",info:"ImagePad[image, m] pads image on all sides with m background pixels.ImagePad[image, m, padding] pads"},{label:"ImagePadding",type:"keyword",info:"ImagePadding is an option for graphics functions that specifies what absolute extra padding should b"},{label:"ImagePartition",type:"keyword",info:"ImagePartition[image, s] partitions an image into an array of ss-pixel subimages.ImagePartition[ima"},{label:"ImagePeriodogram",type:"keyword",info:"ImagePeriodogram[image] shows the squared magnitude of the discrete Fourier transform (power spectru"},{label:"ImagePerspectiveTransformation",type:"keyword",info:"ImagePerspectiveTransformation[image, m] applies a linear fractional transform specified by a matrix"},{label:"ImagePosition",type:"keyword",info:"ImagePosition[image] gives an association of image positions for each identified category of objects"},{label:"ImagePreviewFunction",type:"keyword",info:"ImagePreviewFunction is an option for CurrentImage and similar functions that specifies the function"},{label:"ImagePyramid",type:"keyword",info:"ImagePyramid[image] creates a Gaussian image pyramid formed from image.ImagePyramid[image, pyrtype] "},{label:"ImagePyramidApply",type:"keyword",info:"ImagePyramidApply[f, pyr] applies f to all images in the ImagePyramid object pyr.ImagePyramidApply[f"},{label:"ImageQ",type:"keyword",info:"ImageQ[image] yields True if image has the form of a valid Image or Image3D object, and False otherw"},{label:"ImageRangeCache",type:"keyword",info:"System`ImageRangeCache"},{label:"ImageRecolor",type:"keyword",info:"ImageRecolor[image, region  color] recolors pixels in image specified by region using the specified"},{label:"ImageReflect",type:"keyword",info:"ImageReflect[image] reverses image by top-bottom mirror reflection. ImageReflect[image, side] revers"},{label:"ImageRegion",type:"keyword",info:"ImageRegion is an option for cells that specifies the size and position of the bounding box within w"},{label:"ImageResize",type:"keyword",info:"ImageResize[image, width] gives a resized version of image that is width pixels wide.ImageResize[ima"},{label:"ImageResolution",type:"keyword",info:"ImageResolution is an option for Export, Rasterize, and related functions that specifies at what res"},{label:"ImageRestyle",type:"keyword",info:"ImageRestyle[image, sample] attempts to restyle image so as to follow the graphical style of sample."},{label:"ImageRotate",type:"keyword",info:"ImageRotate[image] rotates image by 90Â\\[Degree] about its center in the x-y plane. ImageRotate[image, θ] rot"},{label:"ImageRotated",type:"keyword",info:"ImageRotated is an option for Export that specifies whether images should be rotated into landscape "},{label:"ImageSaliencyFilter",type:"keyword",info:"ImageSaliencyFilter[image] returns a saliency map for image."},{label:"ImageScaled",type:"keyword",info:"ImageScaled[{x, y}] gives the position of a graphical object in terms of coordinates scaled to run f"},{label:"ImageScan",type:"keyword",info:"ImageScan[f, image] evaluates f applied to each pixel of image in turn."},{label:"ImageSize",type:"keyword",info:"ImageSize is an option that specifies the overall size of an image to display for an object. "},{label:"ImageSizeAction",type:"keyword",info:"ImageSizeAction is an option for Pane and related constructs that specifies what to do if the specif"},{label:"ImageSizeCache",type:"keyword",info:"System`ImageSizeCache"},{label:"ImageSizeMultipliers",type:"keyword",info:"ImageSizeMultipliers is an option that specifies how much smaller to render graphics that appear wit"},{label:"ImageSizeRaw",type:"keyword",info:"System`ImageSizeRaw"},{label:"ImageStitch",type:"keyword",info:"ImageStitch[{image , image , …}] gives a composed image from an unordered list of image .ImageStitch"},{label:"ImageSubtract",type:"keyword",info:"ImageSubtract[image, x] subtracts a constant amount x from each channel value in image.ImageSubtract"},{label:"ImageTake",type:"keyword",info:"ImageTake[image, n] gives an image consisting of the first n rows of image.ImageTake[image, -n] give"},{label:"ImageTransformation",type:"keyword",info:"ImageTransformation[image, f] gives an image in which each pixel at position p corresponds to the po"},{label:"ImageTrim",type:"keyword",info:"ImageTrim[image, roi] gives the smallest subimage of image that includes the specified region of int"},{label:"ImageType",type:"keyword",info:"ImageType[image] gives the underlying type of values used for each pixel element in the Image or Ima"},{label:"ImageValue",type:"keyword",info:"ImageValue[image, pos] gives the interpolated value of image at position pos.ImageValue[image, pos, "},{label:"ImageValuePositions",type:"keyword",info:"ImageValuePositions[image, val] returns a list of pixel positions in image that exactly match the va"},{label:"ImageVectorscopePlot",type:"keyword",info:"ImageVectorscopePlot[image] plots the chrominance of image."},{label:"ImageWaveformPlot",type:"keyword",info:"ImageWaveformPlot[image] plots the waveform of image.ImageWaveformPlot[image, colorspace] plots the "},{label:"ImagingDevice",type:"keyword",info:"ImagingDevice is an option to specify what device to use for capturing images."},{label:"ImplicitRegion",type:"keyword",info:" n "},{label:"Implies",type:"keyword",info:"Implies[p, q] represents the logical implication p ⇒ q. "},{label:"Import",type:"keyword",info:"Import[source] imports data from source, returning a Wolfram Language representation of it.Import[so"},{label:"ImportAutoReplacements",type:"keyword",info:"ImportAutoReplacements is an option for cells that specifies which replacement rules the Wolfram Lan"},{label:"ImportByteArray",type:"keyword",info:'ImportByteArray[ba, "format"] imports data in the specified format from a ByteArray object.ImportByt'},{label:"ImportedObject",type:"keyword",info:"ImportedObject[…] represents a piece of imported data that has no special representation in the Wolf"},{label:"ImportOptions",type:"keyword",info:"ImportOptions is an option for Interpreter and related functions that specifies what options should "},{label:"ImportString",type:"keyword",info:'ImportString["data", "format"] imports data in the specified format from a string. ImportString["dat'},{label:"ImprovementImportance",type:"keyword",info:"ImprovementImportance[rdist, t] gives the improvement importances for all components in the Reliabil"},{label:"In",type:"keyword",info:" th\nIn[n] is a global obje"},{label:"Inactivate",type:"keyword",info:"Inactivate[expr] replaces all instances of f with Inactive[f] for symbols f used as heads in expr.In"},{label:"Inactive",type:"keyword",info:"Inactive[f] is an inactive form of f."},{label:"IncidenceGraph",type:"keyword",info:"IncidenceGraph[m] gives the graph with incidence matrix m.IncidenceGraph[{v , v , …}, m] gives the g"},{label:"IncidenceList",type:"keyword",info:"IncidenceList[g, v] gives a list of edges incident to vertex v.IncidenceList[g, patt] gives a list o"},{label:"IncidenceMatrix",type:"keyword",info:"IncidenceMatrix[g] gives the vertex-edge incidence matrix of the graph g.IncidenceMatrix[{v  w, …}]"},{label:"IncludeAromaticBonds",type:"keyword",info:"IncludeAromaticBonds is an option for Molecule that specifies whether aromatic bonds should be detec"},{label:"IncludeConstantBasis",type:"keyword",info:"IncludeConstantBasis is an option for LinearModelFit and other fitting functions that specifies whet"},{label:"IncludedContexts",type:"keyword",info:"IncludedContexts is an option for FullDefinition, Manipulate and related symbols that gives contexts"},{label:"IncludeDefinitions",type:"keyword",info:"IncludeDefinitions is an option for cloud and other functions that specifies whether current definit"},{label:"IncludeDirectories",type:"keyword",info:"IncludeDirectories is an option that specifies whether directories are included in evaluations."},{label:"IncludeFileExtension",type:"keyword",info:'IncludeFileExtension is an option for notebooks that specifies whether the suffix ".nb" is automatic'},{label:"IncludeGeneratorTasks",type:"keyword",info:"IncludeGeneratorTasks is an option controlling the scope of scheduled task listings."},{label:"IncludeHydrogens",type:"keyword",info:"IncludeHydrogens is an option that specifies whether hydrogen atoms should be explicitly included in"},{label:"IncludeInflections",type:"keyword",info:"IncludeInflections is an option for linguistic functions that specifies whether inflected forms of w"},{label:"IncludeMetaInformation",type:"keyword",info:"IncludeMetaInformation is an option for Import, Thumbnail, and other functions to specify what types"},{label:"IncludePods",type:"keyword",info:"IncludePods is an option for WolframAlpha that determines specific pod IDs to include in the results"},{label:"IncludeQuantities",type:"keyword",info:"IncludeQuantities is an option for DimensionalCombinations for additional quantities to include in t"},{label:"IncludeRelatedTables",type:"keyword",info:"IncludeRelatedTables is an option for RelationalDatabase that specifies whether to include tables sp"},{label:"IncludeSingularTerm",type:"keyword",info:" "},{label:"IncludeWindowTimes",type:"keyword",info:"IncludeWindowTimes is an option to TimeSeriesWindow that specifies whether the endpoints in the time"},{label:"Increment",type:"keyword",info:"x ++ increases the value of x by 1, returning the old value of x. "},{label:"IndefiniteMatrixQ",type:"keyword",info:"IndefiniteMatrixQ[m] gives True if m is explicitly indefinite, and False otherwise. "},{label:"Indent",type:"keyword",info:"System`Indent"},{label:"IndentingNewlineSpacings",type:"keyword",info:"System`IndentingNewlineSpacings"},{label:"IndentMaxFraction",type:"keyword",info:"System`IndentMaxFraction"},{label:"IndependenceTest",type:"keyword",info:"IndependenceTest[v , v ] tests whether the vectors v and v are independent.IndependenceTest[m , m "},{label:"IndependentEdgeSetQ",type:"keyword",info:"IndependentEdgeSetQ[g, elist] yields True if the edge list elist is an independent edge set of the g"},{label:"IndependentPhysicalQuantity",type:"keyword",info:"IndependentPhysicalQuantity[string] represents a physical quantity string with no relationship to ot"},{label:"IndependentUnit",type:"keyword",info:"IndependentUnit[string] represents a unit string with no relationship to other units within a Quanti"},{label:"IndependentUnitDimension",type:"keyword",info:"IndependentUnitDimension[dim] represents the base dimension dim associated with an independent physi"},{label:"IndependentVertexSetQ",type:"keyword",info:"IndependentVertexSetQ[g, vlist] yields True if the vertex list vlist is an independent vertex set in"},{label:"Indeterminate",type:"keyword",info:"Indeterminate is a symbol that represents a numerical quantity whose magnitude cannot be determined."},{label:"IndeterminateThreshold",type:"keyword",info:"IndeterminateThreshold is an option for Classify, Predict, and related functions that specifies belo"},{label:"IndexCreationOptions",type:"keyword",info:"System`IndexCreationOptions"},{label:"Indexed",type:"keyword",info:"Indexed[expr, i] represents the component of expr with index i and formats as expr .Indexed[expr, {i"},{label:"IndexEdgeTaggedGraph",type:"keyword",info:"IndexEdgeTaggedGraph[g] sets tags of edges in the graph g to their edge indices.IndexEdgeTaggedGraph"},{label:"IndexGraph",type:"keyword",info:"IndexGraph[g] replaces the vertices of the graph g by its vertex indices.IndexGraph[g, r] replaces t"},{label:"IndexTag",type:"keyword",info:"System`IndexTag"},{label:"Inequality",type:"keyword",info:"Inequality represents a sequence of relational statements."},{label:"InexactNumberQ",type:"keyword",info:"InexactNumberQ[expr] returns True if expr is an inexact real or complex number, and returns False ot"},{label:"InexactNumbers",type:"keyword",info:"System`InexactNumbers"},{label:"InfiniteFuture",type:"keyword",info:"InfiniteFuture returns a DateObject expression representing infinite future in time."},{label:"InfiniteLine",type:"keyword",info:"InfiniteLine[{p , p }] represents the infinite straight line passing through the points p and p . I"},{label:"InfinitePast",type:"keyword",info:"InfinitePast returns a DateObject expression representing infinite past in time."},{label:"InfinitePlane",type:"keyword",info:"InfinitePlane[{p , p , p }] represents the plane passing through the points p , p , and p .InfiniteP"},{label:"Infinity",type:"keyword",info:"Infinity or ∞ is a symbol that represents a positive infinite quantity. "},{label:"Infix",type:"keyword",info:"Infix[f[e , e , …]] prints with f[e , e , …] given in default infix form: e ~ f ~ e ~ f ~ e …. In"},{label:"InflationAdjust",type:"keyword",info:"InflationAdjust[quantity, targetdate] attempts to adjust the specified quantity purchasing power to "},{label:"InflationMethod",type:"keyword",info:"InflationMethod is an option for InflationAdjust that specifies what time series data is to be used "},{label:"Information",type:"keyword",info:"Information[expr] gives information about the expression expr. Information[expr, prop] gives the val"},{label:"InformationData",type:"keyword",info:"InformationData[assoc] is generated by Information[expr] and handle typesetting and element extracti"},{label:"InformationDataGrid",type:"keyword",info:"System`InformationDataGrid"},{label:"Inherited",type:"keyword",info:"Inherited is an option to Methods and Fields (in J/Link) and NETTypeInfo (in .NET/Link). The default"},{label:"InheritScope",type:"keyword",info:"InheritScope is an option for DynamicModule that specifies whether to attempt to bind variables refe"},{label:"InhomogeneousPoissonPointProcess",type:"keyword",info:" "},{label:"InhomogeneousPoissonProcess",type:"keyword",info:"InhomogeneousPoissonProcess[λ[t], t] represents an inhomogeneous Poisson process with intensity λ[t]"},{label:"InitialEvaluationHistory",type:"keyword",info:"InitialEvaluationHistory is an option for functions such as BayesianMinimization that gives an initi"},{label:"Initialization",type:"keyword",info:"Initialization is an option for notebooks, cells, Dynamic, DynamicModule, Manipulate and related con"},{label:"InitializationCell",type:"keyword",info:"InitializationCell is an option for Cell that specifies whether the cell should be tagged to be eval"},{label:"InitializationCellEvaluation",type:"keyword",info:"InitializationCellEvaluation is an option for notebooks that specifies whether initialization cells "},{label:"InitializationCellWarning",type:"keyword",info:"InitializationCellWarning is an option for notebooks that specifies whether a warning should be give"},{label:"InitializationObject",type:"keyword",info:"InitializationObject[sym, loc] gives the persistent object where InitializationValue[sym, loc] is st"},{label:"InitializationObjects",type:"keyword",info:"InitializationObjects[] gives the list of all persistent initialization objects in all locations in "},{label:"InitializationValue",type:"keyword",info:"InitializationValue[sym] represents the settable persistent value with which the symbol sym will be "},{label:"Initialize",type:"keyword",info:"Initialize[sym] initializes the symbol sym from persistent values on the default persistence path.In"},{label:"InitialSeeding",type:"keyword",info:"InitialSeeding is an option for NDSolve and other functions that specifies equations that specify in"},{label:"InlineCounterAssignments",type:"keyword",info:"System`InlineCounterAssignments"},{label:"InlineCounterIncrements",type:"keyword",info:"System`InlineCounterIncrements"},{label:"InlineRules",type:"keyword",info:"System`InlineRules"},{label:"Inner",type:"keyword",info:"Inner[f, list , list , g] is a generalization of Dot in which f plays the role of multiplication and"},{label:"InnerPolygon",type:"keyword",info:"InnerPolygon[poly] gives the inner polygon of the polygon poly."},{label:"InnerPolyhedron",type:"keyword",info:"InnerPolyhedron[poly] gives the inner polyhedron of the polyhedron poly."},{label:"Inpaint",type:"keyword",info:"Inpaint[image, region] retouches parts of image that correspond to nonzero elements in region."},{label:"Input",type:"keyword",info:"Input[] interactively reads in one Wolfram Language expression. Input[prompt] requests input, displa"},{label:"InputAliases",type:"keyword",info:"InputAliases is an option for cells and notebooks which specifies additional Esc name Esc aliases to"},{label:"InputAssumptions",type:"keyword",info:"InputAssumptions is an option for WolframAlpha that specifies assumptions for current query input."},{label:"InputAutoReplacements",type:"keyword",info:"InputAutoReplacements is an option for cells and notebooks which specifies strings of characters tha"},{label:"InputField",type:"keyword",info:"InputField[] represents a blank editable input field. InputField[x] represents an editable input fie"},{label:"InputFieldBox",type:"keyword",info:"System`InputFieldBox"},{label:"InputFieldBoxOptions",type:"keyword",info:"InputFieldBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for InputF"},{label:"InputForm",type:"keyword",info:"InputForm[expr] prints as a version of expr suitable for input to the Wolfram Language. "},{label:"InputGrouping",type:"keyword",info:"System`InputGrouping"},{label:"InputNamePacket",type:"keyword",info:"InputNamePacket[string] is a WSTP packet that contains in string the name to be assigned to the next"},{label:"InputNotebook",type:"keyword",info:"InputNotebook[] gives the current notebook into which keyboard input in the front end will be direct"},{label:"InputPacket",type:"keyword",info:"InputPacket[] is a WSTP packet that indicates a prompt for input as generated by Input."},{label:"InputPorts",type:"keyword",info:"InputPorts is an option to specify the number, names or shapes of input ports for some neural net la"},{label:"InputSettings",type:"keyword",info:"System`InputSettings"},{label:"InputStream",type:"keyword",info:'InputStream["name", n] is an object that represents an input stream for functions such as Read and F'},{label:"InputString",type:"keyword",info:"InputString[] interactively reads in a character string. InputString[prompt] requests input, display"},{label:"InputStringPacket",type:"keyword",info:"InputStringPacket[] is a WSTP packet that requests input in string form."},{label:"InputToBoxFormPacket",type:"keyword",info:"InputToBoxFormPacket is an internal symbol used for formatting."},{label:"Insert",type:"keyword",info:"Insert[list, elem, n] inserts elem at position n in list. If n is negative, the position is counted "},{label:"InsertionFunction",type:"keyword",info:"InsertionFunction is an option for template functions that specifies how expressions are to be proce"},{label:"InsertionPointObject",type:"keyword",info:"System`InsertionPointObject"},{label:"InsertLinebreaks",type:"keyword",info:'InsertLinebreaks["string"] inserts newline characters into string to make a string in which no line '},{label:"InsertResults",type:"keyword",info:"InsertResults is an option for NotebookEvaluate that determines whether to place the results of eval"},{label:"Inset",type:"keyword",info:"Inset[obj] represents an object obj inset in a graphic. Inset[obj, pos] specifies that the inset sho"},{label:"Inset3DBox",type:"keyword",info:"System`Inset3DBox"},{label:"Inset3DBoxOptions",type:"keyword",info:"Inset3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Inset3DBo"},{label:"InsetBox",type:"keyword",info:"System`InsetBox"},{label:"InsetBoxOptions",type:"keyword",info:"InsetBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for InsetBox ob"},{label:"Insphere",type:"keyword",info:" "},{label:"Install",type:"keyword",info:'Install["name"] starts a WSTP-compatible external program and installs Wolfram Language definitions '},{label:"InstallService",type:"keyword",info:'InstallService["url"] installs the web service operations in the WSDL description at the URL given.I'},{label:"InstanceNormalizationLayer",type:"keyword",info:"InstanceNormalizationLayer[] is equivalent to NormalizationLayer[]."},{label:"InString",type:"keyword",info:" th\nInString[n] is a global o"},{label:"Integer",type:"keyword",info:"Integer is the head used for integers. "},{label:"IntegerDigits",type:"keyword",info:"IntegerDigits[n] gives a list of the decimal digits in the integer n. IntegerDigits[n, b] gives a li"},{label:"IntegerExponent",type:"keyword",info:"IntegerExponent[n, b] gives the highest power of b that divides n. "},{label:"IntegerLength",type:"keyword",info:"IntegerLength[n] gives the number of digits in the base 10 representation of the integer n.IntegerLe"},{label:"IntegerName",type:"keyword",info:"IntegerName[n] gives a string containing the full English name of the integer n.IntegerName[n, quali"},{label:"IntegerPart",type:"keyword",info:"IntegerPart[x] gives the integer part of x. "},{label:"IntegerPartitions",type:"keyword",info:"IntegerPartitions[n] gives a list of all possible ways to partition the integer n into smaller integ"},{label:"IntegerQ",type:"keyword",info:"IntegerQ[expr] gives True if expr is an integer, and False otherwise. "},{label:"IntegerReverse",type:"keyword",info:"IntegerReverse[n] gives the integer whose digits are reversed with respect to those of the integer n"},{label:"Integers",type:"keyword",info:"Integers represents the domain of integers, as in x ∈ Integers. "},{label:"IntegerString",type:"keyword",info:"IntegerString[n] gives a string consisting of the decimal digits in the integer n. IntegerString[n, "},{label:"Integral",type:"keyword",info:"System`Integral"},{label:"Integrate",type:"keyword",info:" "},{label:"Interactive",type:"keyword",info:"Interactive is an option that specifies whether a function should create a user prompt when mimickin"},{label:"InteractiveTradingChart",type:"keyword",info:"InteractiveTradingChart[{{date , {open , high , low , close , volume }}, …}] makes a chart showing p"},{label:"InterfaceSwitched",type:"keyword",info:"InterfaceSwitched[ size  expr , size  expr , …|>] is a construct that behaves as if it were exp"},{label:"Interlaced",type:"keyword",info:"System`Interlaced"},{label:"Interleaving",type:"keyword",info:"Interleaving is an option for Image and related functions that specifies whether data corresponding "},{label:"InternallyBalancedDecomposition",type:"keyword",info:"InternallyBalancedDecomposition[ssm] yields the internally balanced decomposition of the state-space"},{label:"InterpolatingFunction",type:"keyword",info:"InterpolatingFunction[domain, table] represents an approximate function whose values are found by in"},{label:"InterpolatingPolynomial",type:"keyword",info:"InterpolatingPolynomial[{f , f , …}, x] constructs an interpolating polynomial in x which reproduces"},{label:"Interpolation",type:"keyword",info:"Interpolation[{f , f , …}] constructs an interpolation of the function values f , assumed to corresp"},{label:"InterpolationOrder",type:"keyword",info:"InterpolationOrder is an option for Interpolation, as well as ListLinePlot, ListPlot3D, ListContourP"},{label:"InterpolationPoints",type:"keyword",info:"InterpolationPoints is an option to SmoothKernelDistribution and FunctionInterpolation that specifie"},{label:"InterpolationPrecision",type:"keyword",info:"System`InterpolationPrecision"},{label:"Interpretation",type:"keyword",info:"Interpretation[e, expr] represents an object that displays as e, but is interpreted as the unevaluat"},{label:"InterpretationBox",type:"keyword",info:"InterpretationBox[boxes, expr] is a low-level box construct that displays as boxes but is interprete"},{label:"InterpretationBoxOptions",type:"keyword",info:"InterpretationBoxOptions is an option for selections that specifies settings for InterpretationBox c"},{label:"InterpretationFunction",type:"keyword",info:"InterpretationFunction is an option for TemplateBox that specifies how the box is to be evaluated."},{label:"Interpreter",type:"keyword",info:"Interpreter[form] represents an interpreter object that can be applied to an input to try to interpr"},{label:"InterpretTemplate",type:"keyword",info:"InterpretTemplate is an experimental function used for interpreting Mathematica input."},{label:"InterquartileRange",type:"keyword",info:"InterquartileRange[list] gives the difference between the upper and lower quartiles for the elements"},{label:"Interrupt",type:"keyword",info:"Interrupt[] generates an interrupt. "},{label:"InterruptSettings",type:"keyword",info:"System`InterruptSettings"},{label:"IntersectedEntityClass",type:"keyword",info:"IntersectedEntityClass[class , class , …] represents an entity class containing all the entities com"},{label:"IntersectingQ",type:"keyword",info:"IntersectingQ[list , list ] yields True if list and list have at least one element in common, and "},{label:"Intersection",type:"keyword",info:"Intersection[list , list , …] gives a sorted list of the elements common to all the list . \n "},{label:"Interval",type:"keyword",info:"Interval[{min, max}] represents the range of values between min and max. Interval[{min , max }, {min"},{label:"IntervalIntersection",type:"keyword",info:"IntervalIntersection[interval , interval , …] gives the interval representing all points common to e"},{label:"IntervalMarkers",type:"keyword",info:"IntervalMarkers is an option for plotting functions such as ListPlot and BarChart that specifies how"},{label:"IntervalMarkersStyle",type:"keyword",info:"IntervalMarkersStyle is an option for plotting functions that specifies styles in which uncertainty"},{label:"IntervalMemberQ",type:"keyword",info:"IntervalMemberQ[interval, x] gives True if the number x lies within the specified interval, and Fals"},{label:"IntervalSlider",type:"keyword",info:"IntervalSlider[{xmin, xmax}] represents a slider with setting {xmin, xmax} in the range 0 to 1.Inter"},{label:"IntervalUnion",type:"keyword",info:"IntervalUnion[interval , interval , …] gives an interval containing the set of all points in any of "},{label:"Into",type:"keyword",info:"System`Into"},{label:"Inverse",type:"keyword",info:"Inverse[m] gives the inverse of a square matrix m. "},{label:"InverseBetaRegularized",type:"keyword",info:"InverseBetaRegularized[s, a, b] gives the inverse of the regularized incomplete beta function. "},{label:"InverseBilateralLaplaceTransform",type:"keyword",info:"InverseBilateralLaplaceTransform[expr, s, t] gives the inverse bilateral Laplace transform of expr. "},{label:"InverseBilateralZTransform",type:"keyword",info:"InverseBilateralZTransform[expr, z, n] gives the inverse bilateral Z transform of expr.InverseBilate"},{label:"InverseCDF",type:"keyword",info:"InverseCDF[dist, q] gives the inverse of the cumulative distribution function for the distribution d"},{label:"InverseChiSquareDistribution",type:"keyword",info:" 2 "},{label:"InverseContinuousWaveletTransform",type:"keyword",info:"InverseContinuousWaveletTransform[cwd] gives the inverse continuous wavelet transform of a Continuou"},{label:"InverseDistanceTransform",type:"keyword",info:"InverseDistanceTransform[image] gives the inverse distance transform of image, returning the result "},{label:"InverseEllipticNomeQ",type:"keyword",info:"InverseEllipticNomeQ[q] gives the parameter m corresponding to the nome q in an elliptic function. "},{label:"InverseErf",type:"keyword",info:"InverseErf[s] gives the inverse error function obtained as the solution for z in s = erf(z). "},{label:"InverseErfc",type:"keyword",info:"InverseErfc[s] gives the inverse complementary error function obtained as the solution for z in s = "},{label:"InverseFourier",type:"keyword",info:"InverseFourier[list] finds the discrete inverse Fourier transform of a list of complex numbers.Inver"},{label:"InverseFourierCosTransform",type:"keyword",info:"InverseFourierCosTransform[expr, ω, t] gives the symbolic inverse Fourier cosine transform of expr. "},{label:"InverseFourierSequenceTransform",type:"keyword",info:"InverseFourierSequenceTransform[expr, ω, n] gives the inverse discrete-time Fourier transform of exp"},{label:"InverseFourierSinTransform",type:"keyword",info:"InverseFourierSinTransform[expr, ω, t] gives the symbolic inverse Fourier sine transform of expr. In"},{label:"InverseFourierTransform",type:"keyword",info:"InverseFourierTransform[expr, ω, t] gives the symbolic inverse Fourier transform of expr. InverseFou"},{label:"InverseFunction",type:"keyword",info:" "},{label:"InverseFunctions",type:"keyword",info:"InverseFunctions is an option for Solve and related functions that specifies whether inverse functio"},{label:"InverseGammaDistribution",type:"keyword",info:"InverseGammaDistribution[Î\\[PlusMinus], Î.b2] represents an inverse gamma distribution with shape parameter Î\\[PlusMinus] and s"},{label:"InverseGammaRegularized",type:"keyword",info:"InverseGammaRegularized[a, s] gives the inverse of the regularized incomplete gamma function. "},{label:"InverseGaussianDistribution",type:"keyword",info:"InverseGaussianDistribution[μ, λ] represents an inverse Gaussian distribution with mean μ and scale "},{label:"InverseGudermannian",type:"keyword",info:" -1\nInverseGudermannian[z] gives the"},{label:"InverseHankelTransform",type:"keyword",info:"InverseHankelTransform[expr, s, r] gives the inverse Hankel transform of order 0 for expr.InverseHan"},{label:"InverseHaversine",type:"keyword",info:" -1\nInverseHaversine[z] gives the inverse"},{label:"InverseImagePyramid",type:"keyword",info:"InverseImagePyramid[pyr] reconstructs an image from an ImagePyramid object pyr.InverseImagePyramid[p"},{label:"InverseJacobiCD",type:"keyword",info:" -1\nInverseJacobiCD[v, m] gives th"},{label:"InverseJacobiCN",type:"keyword",info:" -1\nInverseJacobiCN[v, m] gives th"},{label:"InverseJacobiCS",type:"keyword",info:" -1\nInverseJacobiCS[v, m] gives th"},{label:"InverseJacobiDC",type:"keyword",info:" -1\nInverseJacobiDC[v, m] gives th"},{label:"InverseJacobiDN",type:"keyword",info:" -1\nInverseJacobiDN[v, m] gives th"},{label:"InverseJacobiDS",type:"keyword",info:" -1\nInverseJacobiDS[v, m] gives th"},{label:"InverseJacobiNC",type:"keyword",info:" -1\nInverseJacobiNC[v, m] gives th"},{label:"InverseJacobiND",type:"keyword",info:" -1\nInverseJacobiND[v, m] gives th"},{label:"InverseJacobiNS",type:"keyword",info:" -1\nInverseJacobiNS[v, m] gives th"},{label:"InverseJacobiSC",type:"keyword",info:" -1\nInverseJacobiSC[v, m] gives th"},{label:"InverseJacobiSD",type:"keyword",info:" -1\nInverseJacobiSD[v, m] gives th"},{label:"InverseJacobiSN",type:"keyword",info:" -1\nInverseJacobiSN[v, m] gives th"},{label:"InverseLaplaceTransform",type:"keyword",info:" "},{label:"InverseMellinTransform",type:"keyword",info:"InverseMellinTransform[expr, s, x] gives the inverse Mellin transform of expr. "},{label:"InversePermutation",type:"keyword",info:"InversePermutation[perm] returns the inverse of permutation perm."},{label:"InverseRadon",type:"keyword",info:"InverseRadon[image] gives the inverse discrete Radon transform of image.InverseRadon[image, {w, h}] "},{label:"InverseRadonTransform",type:"keyword",info:"InverseRadonTransform[expr, {p, ϕ}, {x, y}] gives the inverse Radon transform of expr."},{label:"InverseSeries",type:"keyword",info:"InverseSeries[s] takes the series s, and gives a series for the inverse of the function represented "},{label:"InverseShortTimeFourier",type:"keyword",info:"InverseShortTimeFourier[input] reconstructs the signal from short-time Fourier data.InverseShortTime"},{label:"InverseSpectrogram",type:"keyword",info:"InverseSpectrogram[data] reconstructs the signal from the magnitude spectrogram data.InverseSpectrog"},{label:"InverseSurvivalFunction",type:"keyword",info:"InverseSurvivalFunction[dist, q] gives the inverse of the survival function for the distribution dis"},{label:"InverseTransformedRegion",type:"keyword",info:" n\nInverseTransfo"},{label:"InverseWaveletTransform",type:"keyword",info:"InverseWaveletTransform[dwd] gives the inverse wavelet transform of a DiscreteWaveletData object dwd"},{label:"InverseWeierstrassP",type:"keyword",info:"InverseWeierstrassP[p, {g , g }] gives a value of u for which the Weierstrass function ℘ (u ; g , g "},{label:"InverseWishartMatrixDistribution",type:"keyword",info:"InverseWishartMatrixDistribution[ν, Σ] represents an inverse Wishart matrix distribution with ν degr"},{label:"InverseZTransform",type:"keyword",info:"InverseZTransform[expr, z, n] gives the inverse Z transform of expr. InverseZTransform[expr, {z , z "},{label:"Invisible",type:"keyword",info:"Invisible[expr] displays as space that is the same size as the formatted version of expr."},{label:"InvisibleApplication",type:"keyword",info:"System`InvisibleApplication"},{label:"InvisibleTimes",type:"keyword",info:"System`InvisibleTimes"},{label:"IPAddress",type:"keyword",info:'IPAddress["address"] is a symbolic representation of an IPv4 or IPv6 IP address.'},{label:"IrreduciblePolynomialQ",type:"keyword",info:"IrreduciblePolynomialQ[poly] tests whether poly is an irreducible polynomial over the rationals.Irre"},{label:"IslandData",type:"keyword",info:"IslandData[entity, property] gives the value of the specified property for the island entity.IslandD"},{label:"IsolatingInterval",type:"keyword",info:"IsolatingInterval[a] gives a rational isolating interval for the algebraic number a.IsolatingInterva"},{label:"IsomorphicGraphQ",type:"keyword",info:"IsomorphicGraphQ[g , g ] yields True if the graphs g and g are isomorphic, and False otherwise.\n "},{label:"IsomorphicSubgraphQ",type:"keyword",info:"IsomorphicSubgraphQ[g , g ] yields True if the graph g is isomorphic to a subgraph of the graph g ."},{label:"IsotopeData",type:"keyword",info:'IsotopeData[{Z, A}, "property"] gives the value of the specified property for the isotope with atomi'},{label:"Italic",type:"keyword",info:"Italic represents an italic font slant."},{label:"Item",type:"keyword",info:"Item[expr, options] represents an item within constructs such as Grid, Overlay, and Manipulate that "},{label:"ItemAspectRatio",type:"keyword",info:"ItemAspectRatio is an option for GraphicsGrid which specifies the ratio of height to width for the r"},{label:"ItemBox",type:"keyword",info:"System`ItemBox"},{label:"ItemBoxOptions",type:"keyword",info:"ItemBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for ItemBox obje"},{label:"ItemDisplayFunction",type:"keyword",info:"ItemDisplayFunction is an option for Dataset that specifies a function to apply to items before disp"},{label:"ItemSize",type:"keyword",info:"ItemSize is an option for Grid, Column, and related constructs that specifies the sizes to allow for"},{label:"ItemStyle",type:"keyword",info:"ItemStyle is an option for Dataset, Grid and related constructs that specifies styles to use for ite"},{label:"ItoProcess",type:"keyword",info:"ItoProcess[{a, b}, x, t] represents an Ito process x(t), where  x(t)  a(t, x(t))  t + b(t, x(t)) "},{label:"JaccardDissimilarity",type:"keyword",info:"JaccardDissimilarity[u, v] gives the Jaccard dissimilarity between Boolean vectors u and v."},{label:"JacobiAmplitude",type:"keyword",info:"JacobiAmplitude[u, m] gives the amplitude am(u ï.b2 m) for Jacobi elliptic functions. "},{label:"Jacobian",type:"keyword",info:"Jacobian is an option for FindRoot. Jacobian -> Automatic attempts symbolic computation of the Jacob"},{label:"JacobiCD",type:"keyword",info:"JacobiCD[u, m] gives the Jacobi elliptic function cd(u | m)."},{label:"JacobiCN",type:"keyword",info:"JacobiCN[u, m] gives the Jacobi elliptic function cn(u | m)."},{label:"JacobiCS",type:"keyword",info:"JacobiCS[u, m] gives the Jacobi elliptic function cs(u | m)."},{label:"JacobiDC",type:"keyword",info:"JacobiDC[u, m] gives the Jacobi elliptic function dc(u | m)."},{label:"JacobiDN",type:"keyword",info:"JacobiDN[u, m] gives the Jacobi elliptic function dn(u | m)."},{label:"JacobiDS",type:"keyword",info:"JacobiDS[u, m] gives the Jacobi elliptic function ds(u | m)."},{label:"JacobiEpsilon",type:"keyword",info:"JacobiEpsilon[u, m] gives the Jacobi epsilon function â„\\[Degree](u | m)."},{label:"JacobiNC",type:"keyword",info:"JacobiNC[u, m] gives the Jacobi elliptic function nc(u | m)."},{label:"JacobiND",type:"keyword",info:"JacobiND[u, m] gives the Jacobi elliptic function nd(u | m)."},{label:"JacobiNS",type:"keyword",info:"JacobiNS[u, m] gives the Jacobi elliptic function ns(u | m)."},{label:"JacobiP",type:"keyword",info:" (a, b)\nJacobiP[n, a, b, x] gives the Jacobi polynom"},{label:"JacobiSC",type:"keyword",info:"JacobiSC[u, m] gives the Jacobi elliptic function sc(u | m)."},{label:"JacobiSD",type:"keyword",info:"JacobiSD[u, m] gives the Jacobi elliptic function sd(u | m)."},{label:"JacobiSN",type:"keyword",info:"JacobiSN[u, m] gives the Jacobi elliptic function sn(u | m)."},{label:"JacobiSymbol",type:"keyword",info:" n\nJacobiSymbol[n, m] gives the Jacobi symbol (-). \n "},{label:"JacobiZeta",type:"keyword",info:"JacobiZeta[ϕ, m] gives the Jacobi zeta function Z(ϕ ï.b2 m). "},{label:"JacobiZN",type:"keyword",info:"JacobiZN[u, m] gives the Jacobi zeta function zn(u | m)."},{label:"JankoGroupJ1",type:"keyword",info:"JankoGroupJ1[] represents the sporadic simple Janko group J .\n "},{label:"JankoGroupJ2",type:"keyword",info:"JankoGroupJ2[] represents the sporadic simple Janko group J .\n "},{label:"JankoGroupJ3",type:"keyword",info:"JankoGroupJ3[] represents the sporadic simple Janko group J .\n "},{label:"JankoGroupJ4",type:"keyword",info:"JankoGroupJ4[] represents the sporadic simple Janko group J .\n "},{label:"JarqueBeraALMTest",type:"keyword",info:"JarqueBeraALMTest[data] tests whether data is normally distributed using the Jarque–Bera ALM test.Ja"},{label:"JohnsonDistribution",type:"keyword",info:'JohnsonDistribution["SB", Î.b3, Î.b4, μ, σ] represents a bounded Johnson distribution with shape parameter'},{label:"Join",type:"keyword",info:"Join[list , list , …] concatenates lists or other expressions that share the same head.Join[list , l"},{label:"JoinAcross",type:"keyword",info:"JoinAcross[{a , a , …}, {b , b , …}, key] gives a list of associations obtained by joining those pai"},{label:"Joined",type:"keyword",info:"Joined is an option for ListPlot and related functions that specifies whether points in each dataset"},{label:"JoinedCurve",type:"keyword",info:"JoinedCurve[{segment , segment , …}] represents a curve consisting of segment followed by segment "},{label:"JoinedCurveBox",type:"keyword",info:"System`JoinedCurveBox"},{label:"JoinedCurveBoxOptions",type:"keyword",info:"JoinedCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Joine"},{label:"JoinForm",type:"keyword",info:"JoinForm[type] is a graphics directive that specifies what type of joins should be used to connect s"},{label:"JordanDecomposition",type:"keyword",info:"JordanDecomposition[m] yields the Jordan decomposition of a square matrix m. The result is a list {s"},{label:"JordanModelDecomposition",type:"keyword",info:"JordanModelDecomposition[ssm] yields the Jordan decomposition of the state-space model ssm. "},{label:"JulianDate",type:"keyword",info:"JulianDate[] gives the current number of days since noon on November 24, 4714 BCE in the GMT time zo"},{label:"JuliaSetBoettcher",type:"keyword",info:"JuliaSetBoettcher[c, z] gives the BÃ\\[Paragraph]ttcher coordinate of z with respect to the quadratic Julia set J"},{label:"JuliaSetIterationCount",type:"keyword",info:" "},{label:"JuliaSetPlot",type:"keyword",info:" "},{label:"JuliaSetPoints",type:"keyword",info:" "},{label:"K",type:"keyword",info:"K is a default generic name for a summation index in a symbolic sum."},{label:"KagiChart",type:"keyword",info:"KagiChart[{{date , p }, {date , p }, …}] makes a Kagi chart with prices p at date date .KagiChart[{"},{label:"KaiserBesselWindow",type:"keyword",info:"KaiserBesselWindow[x] represents a Kaiser–Bessel window function of x."},{label:"KaiserWindow",type:"keyword",info:"KaiserWindow[x] represents a Kaiser window function of x.KaiserWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"KalmanEstimator",type:"keyword",info:"KalmanEstimator[ssm, {w, v}] constructs the Kalman estimator for the StateSpaceModel ssm with proces"},{label:"KalmanFilter",type:"keyword",info:"KalmanFilter[tproc, data] filters data using the time series model given by tproc."},{label:"KarhunenLoeveDecomposition",type:"keyword",info:"KarhunenLoeveDecomposition[{a , a , …}] gives the Karhunen–Loeve transform {{b , b , …}, m} of the n"},{label:"KaryTree",type:"keyword",info:"KaryTree[n] gives a binary tree with n vertices.KaryTree[n, k] gives a k-ary tree with n vertices.\n"},{label:"KatzCentrality",type:"keyword",info:"KatzCentrality[g, Î\\[PlusMinus]] gives a list of Katz centralities for the vertices in the graph g and weight Î\\[PlusMinus]."},{label:"KCoreComponents",type:"keyword",info:"KCoreComponents[g, k] gives the k-core components of the underlying simple graph of g.KCoreComponent"},{label:"KDistribution",type:"keyword",info:"KDistribution[ν, w] represents a K distribution with shape parameters ν and w."},{label:"KEdgeConnectedComponents",type:"keyword",info:"KEdgeConnectedComponents[g, k] gives the k-edge-connected components of the graph g.KEdgeConnectedCo"},{label:"KEdgeConnectedGraphQ",type:"keyword",info:"KEdgeConnectedGraphQ[g, k] yields True if the graph g is k-edge-connected and False otherwise."},{label:"KeepExistingVersion",type:"keyword",info:"KeepExistingVersion is an option for PacletInstall and PacletInstallSubmit that specifies whether an"},{label:"KelvinBei",type:"keyword",info:"KelvinBei[z] gives the Kelvin function bei(z).KelvinBei[n, z] gives the Kelvin function bei (z). \n "},{label:"KelvinBer",type:"keyword",info:"KelvinBer[z] gives the Kelvin function ber(z).KelvinBer[n, z] gives the Kelvin function ber (z). \n "},{label:"KelvinKei",type:"keyword",info:"KelvinKei[z] gives the Kelvin function kei(z).KelvinKei[n, z] gives the Kelvin function kei (z). \n "},{label:"KelvinKer",type:"keyword",info:"KelvinKer[z] gives the Kelvin function ker(z).KelvinKer[n, z] gives the Kelvin function ker (z). \n "},{label:"KendallTau",type:"keyword",info:" "},{label:"KendallTauTest",type:"keyword",info:"KendallTauTest[v , v ] tests whether the vectors v and v are independent.KendallTauTest[m , m ] te"},{label:"KernelExecute",type:"keyword",info:"System`KernelExecute"},{label:"KernelFunction",type:"keyword",info:"KernelFunction[f] represents a function to be evaluated in the Wolfram Engine kernel, even when it i"},{label:"KernelMixtureDistribution",type:"keyword",info:"KernelMixtureDistribution[{x , x , …}] represents a kernel mixture distribution based on the data va"},{label:"KernelObject",type:"keyword",info:"KernelObject[n, name, …] represents a kernel available for parallel computing."},{label:"Kernels",type:"keyword",info:"Kernels[] gives the list of running kernels available for parallel computing."},{label:"Ket",type:"keyword",info:"System`Ket"},{label:"Key",type:"keyword",info:"Key[key] represents a key used to access a value in an association.Key[key][assoc] extracts the valu"},{label:"KeyCollisionFunction",type:"keyword",info:"KeyCollisionFunction is an option for JoinAcross that specifies how to handle pairs of elements that"},{label:"KeyComplement",type:"keyword",info:"KeyComplement[{assoc , assoc , assoc , …}] generates an association in which only elements whose k"},{label:"KeyDrop",type:"keyword",info:"KeyDrop[assoc, {key , key , …}] yields an association from which elements with keys key have been d"},{label:"KeyDropFrom",type:"keyword",info:"KeyDropFrom[a, key] changes the association a by dropping the element with the specified key.KeyDrop"},{label:"KeyExistsQ",type:"keyword",info:"KeyExistsQ[assoc, key] returns True if the specified key exists in the association assoc, and False "},{label:"KeyFreeQ",type:"keyword",info:"KeyFreeQ[assoc, form] yields True if no key in the association assoc matches form, and yields False "},{label:"KeyIntersection",type:"keyword",info:"KeyIntersection[{assoc , assoc , …}] generates a list of associations in which only elements whose k"},{label:"KeyMap",type:"keyword",info:"KeyMap[f,  key  val , key  val , … ] maps f over the keys in an association, giving  f[key ] "},{label:"KeyMemberQ",type:"keyword",info:"KeyMemberQ[assoc, form] yields True if a key in the association assoc matches form, and False otherw"},{label:"KeypointStrength",type:"keyword",info:"KeypointStrength is an option for ImageKeypoints and related functions to specify a minimum strength"},{label:"Keys",type:"keyword",info:"Keys[ key  val , key  val , … ] gives a list of the keys key in an association.Keys[{key  v"},{label:"KeySelect",type:"keyword",info:"KeySelect[assoc, crit] selects elements in the association assoc for which crit applied to their key"},{label:"KeySort",type:"keyword",info:"KeySort[assoc] orders the elements of an association by sorting its keys.KeySort[assoc, p] orders th"},{label:"KeySortBy",type:"keyword",info:"KeySortBy[assoc, f] sorts the elements of an association in the order defined by applying f to each "},{label:"KeyTake",type:"keyword",info:"KeyTake[assoc, {key , key , …}] yields an association containing only the elements with keys key .Ke"},{label:"KeyUnion",type:"keyword",info:"KeyUnion[{assoc , assoc , …}] generates a list of associations in which each association has the uni"},{label:"KeyValueMap",type:"keyword",info:"KeyValueMap[f,  key  val , key  val , … ] gives the list {f[key , val ], f[key , val ], …}.Key"},{label:"KeyValuePattern",type:"keyword",info:"KeyValuePattern[{patt , …}] is a pattern object that represents an association or list of rules that"},{label:"Khinchin",type:"keyword",info:"Khinchin is Khinchin's constant, with numerical value ≃ 2.68545. "},{label:"KillProcess",type:"keyword",info:"KillProcess[proc] kills the external process represented by the ProcessObject proc."},{label:"KirchhoffGraph",type:"keyword",info:"KirchhoffGraph[kmat] gives the graph with Kirchhoff matrix kmat.KirchhoffGraph[{v , v , …}, kmat] gi"},{label:"KirchhoffMatrix",type:"keyword",info:"KirchhoffMatrix[g] gives the Kirchhoff matrix of the graph g.KirchhoffMatrix[{v  w, …}] uses rules "},{label:"KleinInvariantJ",type:"keyword",info:"KleinInvariantJ[τ] gives the Klein invariant modular elliptic function J(τ). "},{label:"KnapsackSolve",type:"keyword",info:"KnapsackSolve[{cost , cost , …}, maxtotalcost] solves the knapsack problem of finding the maximum nu"},{label:"KnightTourGraph",type:"keyword",info:"KnightTourGraph[m, n] gives a Knight's tour graph on an mn chessboard."},{label:"KnotData",type:"keyword",info:'KnotData[knot, "property"] gives the specified property for a knot.KnotData[knot] gives an image of '},{label:"KnownUnitQ",type:"keyword",info:"KnownUnitQ[expr] returns True if expr is a canonical unit, and False otherwise."},{label:"KochCurve",type:"keyword",info:" th\nKochCurve[n] gives the line segments repr"},{label:"KolmogorovSmirnovTest",type:"keyword",info:"KolmogorovSmirnovTest[data] tests whether data is normally distributed using the Kolmogorov–Smirnov "},{label:"KroneckerDelta",type:"keyword",info:"KroneckerDelta[n , n , …] gives the Kronecker delta Î.b4 , equal to 1 if all the n are equal, an"},{label:"KroneckerModelDecomposition",type:"keyword",info:"KroneckerModelDecomposition[ssm] yields the Kronecker decomposition of a descriptor state-space mode"},{label:"KroneckerProduct",type:"keyword",info:"KroneckerProduct[m , m , …] constructs the Kronecker product of the arrays m .\n 1 "},{label:"KroneckerSymbol",type:"keyword",info:" n\nKroneckerSymbol[n, m] gives the Kronecker symbol"},{label:"KuiperTest",type:"keyword",info:"KuiperTest[data] tests whether data is normally distributed using the Kuiper test.KuiperTest[data, d"},{label:"KumaraswamyDistribution",type:"keyword",info:"KumaraswamyDistribution[Î\\[PlusMinus], Î.b2] represents a Kumaraswamy distribution with shape parameters Î\\[PlusMinus] and Î.b2."},{label:"Kurtosis",type:"keyword",info:"Kurtosis[list] gives the coefficient of kurtosis for the elements in list.Kurtosis[dist] gives the c"},{label:"KuwaharaFilter",type:"keyword",info:"KuwaharaFilter[data, r] computes for each element p in data the variance of the values in the four ("},{label:"KVertexConnectedComponents",type:"keyword",info:"KVertexConnectedComponents[g, k] gives the k-vertex-connected components of the graph g.KVertexConne"},{label:"KVertexConnectedGraphQ",type:"keyword",info:"KVertexConnectedGraphQ[g, k] yields True if the graph g is k-vertex-connected and False otherwise."},{label:"LABColor",type:"keyword",info:"LABColor[l, a, b] represents a color in the Lab color space with lightness l and color components a "},{label:"Label",type:"keyword",info:"Label[tag] represents a point in a compound expression to which control can be transferred using Got"},{label:"Labeled",type:"keyword",info:"Labeled[expr, lbl] displays expr labeled with lbl. Labeled[expr, lbl, pos] places lbl at a position "},{label:"LabeledSlider",type:"keyword",info:"System`LabeledSlider"},{label:"LabelingFunction",type:"keyword",info:"LabelingFunction is an option for data visualization functions to automatically label elements of a "},{label:"LabelingSize",type:"keyword",info:"LabelingSize is an option to visualization functions that specifies the size to be used for labels a"},{label:"LabelStyle",type:"keyword",info:"LabelStyle is an option for formatting and related constructs that specifies the style to use in dis"},{label:"LabelVisibility",type:"keyword",info:"LabelVisibility is an option for Callout and Labeled in plotting functions that determines which lab"},{label:"LaguerreL",type:"keyword",info:" "},{label:"LakeData",type:"keyword",info:"LakeData[entity, property] gives the value of the specified property for the lake entity.LakeData[{e"},{label:"LambdaComponents",type:"keyword",info:"LambdaComponents[g] gives the lambda components of the graph g.LambdaComponents[g, {v , v , …}] give"},{label:"LambertW",type:"keyword",info:"System`LambertW"},{label:"LameC",type:"keyword",info:" th j\nLameC[ν, j, z, m] gives the j Lamé function Ec"},{label:"LameCPrime",type:"keyword",info:" th j\nLameCPrime[ν, j, z, m] g"},{label:"LameEigenvalueA",type:"keyword",info:" th j\nLameEigenvalueA[ν, j, m] gives the j L"},{label:"LameEigenvalueB",type:"keyword",info:" th j\nLameEigenvalueB[ν, j, m] gives the j L"},{label:"LameS",type:"keyword",info:" th j\nLameS[ν, j, z, m] gives the j Lamé function Es"},{label:"LameSPrime",type:"keyword",info:" th j\nLameSPrime[ν, j, z, m] g"},{label:"LaminaData",type:"keyword",info:"LaminaData[entity, property] gives the value of the specified property for the lamina entity.LaminaD"},{label:"LanczosWindow",type:"keyword",info:"LanczosWindow[x] represents a Lanczos window function of x."},{label:"LandauDistribution",type:"keyword",info:"LandauDistribution[μ, σ] represents a Landau distribution with location parameter μ and scale parame"},{label:"Language",type:"keyword",info:"Language is an option that specifies the language to use."},{label:"LanguageCategory",type:"keyword",info:"LanguageCategory is an option for Cell that determines in what category of language the contents of "},{label:"LanguageData",type:"keyword",info:"LanguageData[entity, property] gives the value of the specified property for the language entity.Lan"},{label:"LanguageIdentify",type:"keyword",info:'LanguageIdentify["string"] attempts to determine what human language text in string is in, predomina'},{label:"LanguageOptions",type:"keyword",info:"System`LanguageOptions"},{label:"LaplaceDistribution",type:"keyword",info:"LaplaceDistribution[μ, Î.b2] represents a Laplace double-exponential distribution with mean μ and scale"},{label:"LaplaceTransform",type:"keyword",info:" "},{label:"Laplacian",type:"keyword",info:" 2 2 2 2\nLaplacian[f, {x , …, x }] "},{label:"LaplacianFilter",type:"keyword",info:"LaplacianFilter[data, r] convolves data with a radius-r Laplacian kernel.LaplacianFilter[data, {r , "},{label:"LaplacianGaussianFilter",type:"keyword",info:"LaplacianGaussianFilter[data, r] convolves data with a Laplacian of Gaussian kernel of pixel radius "},{label:"LaplacianPDETerm",type:"keyword",info:" 2\nLaplacianPDETerm[vars] represents a Laplacian "},{label:"Large",type:"keyword",info:"Large is a style or option setting that specifies that objects should be large."},{label:"Larger",type:"keyword",info:"Larger is a style or option setting that specifies that objects should be larger."},{label:"Last",type:"keyword",info:"Last[expr] gives the last element in expr. Last[expr, def] gives the last element if there are any e"},{label:"Latitude",type:"keyword",info:"Latitude[pos] gives the latitude in degrees of a geographic position specified by pos.Latitude[pos, "},{label:"LatitudeLongitude",type:"keyword",info:"LatitudeLongitude[pos] gives a list of the latitude and longitude in degrees of a geographic positio"},{label:"LatticeData",type:"keyword",info:'LatticeData[lattice, "property"] gives the specified property for a lattice.LatticeData[n] gives a l'},{label:"LatticeReduce",type:"keyword",info:"LatticeReduce[{v , v , …}] gives a reduced basis for the set of vectors v . \n 1 2 "},{label:"Launch",type:"keyword",info:"Launch is a setting for the LinkMode option of LinkOpen. LinkMode->Launch causes a link to be creat"},{label:"LaunchKernels",type:"keyword",info:"LaunchKernels[] launches all currently configured parallel subkernels.LaunchKernels[n] launches n lo"},{label:"LayeredGraphPlot",type:"keyword",info:"LayeredGraphPlot[g] generates a layered plot of the graph g.LayeredGraphPlot[{e , e , …}] generates "},{label:"LayeredGraphPlot3D",type:"keyword",info:"LayeredGraphPlot3D[g] generates a 3D layered plot of the graph g.LayeredGraphPlot3D[{e , e , …}] gen"},{label:"LayerSizeFunction",type:"keyword",info:"LayerSizeFunction is an option for TreePlot that gives a function to specify the relative height to "},{label:"LayoutInformation",type:"keyword",info:"System`LayoutInformation"},{label:"LCHColor",type:"keyword",info:"LCHColor[l, c, h] represents a color in the LCH color space with lightness l, chroma c and hue h.LCH"},{label:"LCM",type:"keyword",info:"LCM[n , n , …] gives the least common multiple of the n . \n 1 2 "},{label:"LeaderSize",type:"keyword",info:"LeaderSize is an option for Callout that specifies what sizes to use for leader lines."},{label:"LeafCount",type:"keyword",info:"LeafCount[expr] gives the total number of indivisible subexpressions in expr. "},{label:"LeapVariant",type:"keyword",info:"LeapVariant[n] represents a repeated calendar element caused by a leap period."},{label:"LeapYearQ",type:"keyword",info:"LeapYearQ[date] returns True if the year corresponding to date is a leap year."},{label:"LearnDistribution",type:"keyword",info:"LearnDistribution[{example , example , …}] generates a LearnedDistribution[…] that attempts to repre"},{label:"LearnedDistribution",type:"keyword",info:"LearnedDistribution[…] represents a distribution generated by LearnDistribution."},{label:"LearningRate",type:"keyword",info:"LearningRate is an option for NetTrain that specifies the rate at which to adjust neural net weights"},{label:"LearningRateMultipliers",type:"keyword",info:"LearningRateMultipliers is an option for net layers and for NetTrain, NetChain, NetGraph that specif"},{label:"LeastSquares",type:"keyword",info:"LeastSquares[m, b] finds an x that solves the linear least-squares problem for the matrix equation m"},{label:"LeastSquaresFilterKernel",type:"keyword",info:"LeastSquaresFilterKernel[{{ω , …, ω }, {a , …, a }}, n] creates a k-band finite impulse response"},{label:"Left",type:"keyword",info:"Left is a symbol that represents the left-hand side for purposes of alignment and positioning. "},{label:"LeftArrow",type:"keyword",info:"LeftArrow[x, y, …] displays as x ← y ← …."},{label:"LeftArrowBar",type:"keyword",info:"LeftArrowBar[x, y, …] displays as x ⇤ y ⇤ …."},{label:"LeftArrowRightArrow",type:"keyword",info:"LeftArrowRightArrow[x, y, …] displays as x ⇆ y ⇆ …."},{label:"LeftDownTeeVector",type:"keyword",info:"LeftDownTeeVector[x, y, …] displays as x ⥡ y ⥡ …."},{label:"LeftDownVector",type:"keyword",info:"LeftDownVector[x, y, …] displays as x ⇃ y ⇃ …."},{label:"LeftDownVectorBar",type:"keyword",info:"LeftDownVectorBar[x, y, …] displays as x ⥙ y ⥙ …."},{label:"LeftRightArrow",type:"keyword",info:"LeftRightArrow[x, y, …] displays as x ↔ y ↔ …."},{label:"LeftRightVector",type:"keyword",info:"LeftRightVector[x, y, …] displays as x ⥎ y ⥎ …."},{label:"LeftTee",type:"keyword",info:"LeftTee[x, y] displays as x ⊣ y."},{label:"LeftTeeArrow",type:"keyword",info:"LeftTeeArrow[x, y, …] displays as x ↤ y ↤ …."},{label:"LeftTeeVector",type:"keyword",info:"LeftTeeVector[x, y, …] displays as x ⥚ y ⥚ …."},{label:"LeftTriangle",type:"keyword",info:"LeftTriangle[x, y, …] displays as x âŠ.b2 y âŠ.b2 …."},{label:"LeftTriangleBar",type:"keyword",info:"LeftTriangleBar[x, y, …] displays as x ⧏ y ⧏ …."},{label:"LeftTriangleEqual",type:"keyword",info:"LeftTriangleEqual[x, y, …] displays as x âŠ.b4 y âŠ.b4 …."},{label:"LeftUpDownVector",type:"keyword",info:"LeftUpDownVector[x, y, …] displays as x ⥑ y ⥑ …."},{label:"LeftUpTeeVector",type:"keyword",info:"LeftUpTeeVector[x, y, …] displays as x ⥠ y ⥠ …."},{label:"LeftUpVector",type:"keyword",info:"LeftUpVector[x, y, …] displays as x ↿ y ↿ …."},{label:"LeftUpVectorBar",type:"keyword",info:"LeftUpVectorBar[x, y, …] displays as x ⥘ y ⥘ …."},{label:"LeftVector",type:"keyword",info:"LeftVector[x, y, …] displays as x ↼ y ↼ …."},{label:"LeftVectorBar",type:"keyword",info:"LeftVectorBar[x, y, …] displays as x ⥒ y ⥒ …."},{label:"LegendAppearance",type:"keyword",info:"LegendAppearance is an option for charting functions that specifies the appearance of any legends th"},{label:"Legended",type:"keyword",info:"Legended[expr, leg] displays expr with legend leg. Legended[expr, lbl] indicates in plotting and cha"},{label:"LegendFunction",type:"keyword",info:"LegendFunction is an option for legends that specifies an overall function to apply to the generated"},{label:"LegendLabel",type:"keyword",info:"LegendLabel is an option for legends that specifies an overall label for a legend."},{label:"LegendLayout",type:"keyword",info:"LegendLayout is an option for legends that specifies how to format the legend content."},{label:"LegendMargins",type:"keyword",info:"LegendMargins is an option for legends that specifies the margins to leave around the legend."},{label:"LegendMarkers",type:"keyword",info:"LegendMarkers is an option for legends such as PointLegend that specifies markers for each element."},{label:"LegendMarkerSize",type:"keyword",info:"LegendMarkerSize is an option for legends such as PointLegend that specifies the size of marker regi"},{label:"LegendreP",type:"keyword",info:" "},{label:"LegendreQ",type:"keyword",info:" "},{label:"LegendreType",type:"keyword",info:"System`LegendreType"},{label:"Length",type:"keyword",info:"Length[expr] gives the number of elements in expr. "},{label:"LengthWhile",type:"keyword",info:"LengthWhile[list, crit] gives the number of contiguous elements e starting at the beginning of list"},{label:"LerchPhi",type:"keyword",info:"LerchPhi[z, s, a] gives the Lerch transcendent Φ (z, s, a). "},{label:"Less",type:"keyword",info:"x < y yields True if x is determined to be less than y. x < x < x yields True if the x form a st"},{label:"LessEqual",type:"keyword",info:"x <= y or x ≤ y yields True if x is determined to be less than or equal to y.x ≤ x ≤ x yields Tru"},{label:"LessEqualGreater",type:"keyword",info:"LessEqualGreater[x, y, …] displays as x ⋚ y ⋚ …."},{label:"LessEqualThan",type:"keyword",info:"LessEqualThan[y] is an operator form that yields x ≤ y when applied to an expression x."},{label:"LessFullEqual",type:"keyword",info:"LessFullEqual[x, y, …] displays as x ≦ y ≦ …."},{label:"LessGreater",type:"keyword",info:"LessGreater[x, y, …] displays as x â‰\\[Paragraph] y â‰\\[Paragraph] …."},{label:"LessLess",type:"keyword",info:"LessLess[x, y, …] displays as x ≪ y ≪ …."},{label:"LessSlantEqual",type:"keyword",info:"LessSlantEqual[x, y, …] displays as x ⩽ y ⩽ …."},{label:"LessThan",type:"keyword",info:"LessThan[y] is an operator form that yields x < y when applied to an expression x."},{label:"LessTilde",type:"keyword",info:"LessTilde[x, y, …] displays as x â‰.b2 y â‰.b2 …."},{label:"LetterCharacter",type:"keyword",info:"LetterCharacter represents a letter character in StringExpression."},{label:"LetterCounts",type:"keyword",info:'LetterCounts["string"] gives an association whose keys are the distinct letters in string, and whose'},{label:"LetterNumber",type:"keyword",info:'LetterNumber["c"] gives the position of the character c in the English alphabet.LetterNumber["c", al'},{label:"LetterQ",type:"keyword",info:"LetterQ[string] yields True if all the characters in the string are letters, and yields False otherw"},{label:"Level",type:"keyword",info:"Level[expr, levelspec] gives a list of all subexpressions of expr on levels specified by levelspec. "},{label:"LeveneTest",type:"keyword",info:" "},{label:"LeviCivitaTensor",type:"keyword",info:"LeviCivitaTensor[d] gives the d-dimensional Levi-Civita totally antisymmetric tensor."},{label:"LevyDistribution",type:"keyword",info:"LevyDistribution[μ, σ] represents a Lévy distribution with location parameter μ and dispersion param"},{label:"Lexicographic",type:"keyword",info:"System`Lexicographic"},{label:"LexicographicOrder",type:"keyword",info:"LexicographicOrder[{a , a , …}, {b , b , …}] gives Order[a , b ] for the first non-coinciding pair a"},{label:"LexicographicSort",type:"keyword",info:"LexicographicSort[{e , e , …}] sorts the list of expressions e in lexicographic order.Lexicographic"},{label:"LibraryDataType",type:"keyword",info:"LibraryDataType[datatype] specifies the data type for a LibraryFunction argument or result to be dat"},{label:"LibraryFunction",type:"keyword",info:"LibraryFunction[ args] represents a function that has been loaded from a Wolfram Library."},{label:"LibraryFunctionError",type:"keyword",info:"LibraryFunctionError[name, code] represents an error returned from a LibraryFunction."},{label:"LibraryFunctionInformation",type:"keyword",info:"LibraryFunctionInformation[fun] returns information about a LibraryFunction."},{label:"LibraryFunctionLoad",type:"keyword",info:"LibraryFunctionLoad[lib, fun, argtype, rettype] loads Wolfram Library lib and makes the library func"},{label:"LibraryFunctionUnload",type:"keyword",info:"LibraryFunctionUnload[fun] unloads a LibraryFunction so that it cannot be used."},{label:"LibraryLoad",type:"keyword",info:"LibraryLoad[lib] loads the dynamic library lib into the Wolfram System runtime."},{label:"LibraryUnload",type:"keyword",info:"LibraryUnload[lib] unloads all functions that have been loaded from a Wolfram Library, then it unloa"},{label:"LicenseEntitlementObject",type:"keyword",info:"LicenseEntitlementObject[…] represents an on-demand license entitlement.LicenseEntitlementObject[id]"},{label:"LicenseEntitlements",type:"keyword",info:"LicenseEntitlements[] gives a list of on-demand license entitlements owned by you."},{label:"LicenseID",type:"keyword",info:"LicenseID is an option to Encode which specifies the required value of ECLicenseID on the computer th"},{label:"LicensingSettings",type:"keyword",info:"LicensingSettings is an option for RemoteBatchSubmit and related functions to configure licensing fo"},{label:"LiftingFilterData",type:"keyword",info:"LiftingFilterData[…] represents lifting-filter data used to compute forward and inverse lifting wave"},{label:"LiftingWaveletTransform",type:"keyword",info:"LiftingWaveletTransform[data] gives the lifting wavelet transform (LWT) of an array of data.LiftingW"},{label:"LightBlue",type:"keyword",info:"LightBlue represents a light blue color in graphics or style specifications."},{label:"LightBrown",type:"keyword",info:"LightBrown represents a light brown color in graphics or style specifications."},{label:"LightCyan",type:"keyword",info:"LightCyan represents a light cyan color in graphics or style specifications."},{label:"Lighter",type:"keyword",info:"Lighter[color] represents a lighter version of the specified color. Lighter[color, f] represents a v"},{label:"LightGray",type:"keyword",info:"LightGray represents a light gray color in graphics or style specifications."},{label:"LightGreen",type:"keyword",info:"LightGreen represents a light green color in graphics or style specifications."},{label:"Lighting",type:"keyword",info:"Lighting is an option for Graphics3D and related functions that specifies what simulated lighting to"},{label:"LightingAngle",type:"keyword",info:"LightingAngle is an option for ReliefPlot and related functions that specifies the angle from which "},{label:"LightMagenta",type:"keyword",info:"LightMagenta represents a light magenta color in graphics or style specifications."},{label:"LightOrange",type:"keyword",info:"LightOrange represents a light orange color in graphics or style specifications."},{label:"LightPink",type:"keyword",info:"LightPink represents a light pink color in graphics or style specifications."},{label:"LightPurple",type:"keyword",info:"LightPurple represents a light purple color in graphics or style specifications."},{label:"LightRed",type:"keyword",info:"LightRed represents a light red color in graphics or style specifications."},{label:"LightSources",type:"keyword",info:"LightSources is an option for Graphics3D and related functions that specifies the properties of poin"},{label:"LightYellow",type:"keyword",info:"LightYellow represents a light yellow color in graphics or style specifications."},{label:"Likelihood",type:"keyword",info:"Likelihood[dist, {x , x , …}] gives the likelihood function for observations x , x , … from the dist"},{label:"Limit",type:"keyword",info:" * * * "},{label:"LimitsPositioning",type:"keyword",info:"LimitsPositioning is an option for UnderoverscriptBox and related boxes that specifies whether to ch"},{label:"LimitsPositioningTokens",type:"keyword",info:"LimitsPositioningTokens is an option for selections that specifies a set of characters for which the"},{label:"LindleyDistribution",type:"keyword",info:"LindleyDistribution[Î.b4] represents a Lindley distribution with shape parameter Î.b4."},{label:"Line",type:"keyword",info:"Line[{p , p , …}] represents the line segments joining a sequence for points p .Line[{{p , p , …},"},{label:"Line3DBox",type:"keyword",info:"System`Line3DBox"},{label:"Line3DBoxOptions",type:"keyword",info:"Line3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Line3DBox "},{label:"LinearFilter",type:"keyword",info:"System`LinearFilter"},{label:"LinearFractionalOptimization",type:"keyword",info:"LinearFractionalOptimization[f, cons, vars] finds values of variables vars that minimize the linear "},{label:"LinearFractionalTransform",type:"keyword",info:"LinearFractionalTransform[m] gives a TransformationFunction that represents a linear fractional tran"},{label:"LinearGradientFilling",type:"keyword",info:"LinearGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that"},{label:"LinearGradientImage",type:"keyword",info:"LinearGradientImage[gcol] returns an image with values linearly changing from left to right based on"},{label:"LinearizingTransformationData",type:"keyword",info:"LinearizingTransformationData[…] represents data of an AffineStateSpaceModel linearized by functions"},{label:"LinearLayer",type:"keyword",info:"LinearLayer[n] represents a trainable, fully connected net layer that computes w . x + b with output"},{label:"LinearModelFit",type:"keyword",info:"LinearModelFit[{y , y , …}, {f , f , …}, x] constructs a linear model of the form Î.b2 + Î.b2 f + Î.b2 f "},{label:"LinearOffsetFunction",type:"keyword",info:"LinearOffsetFunction is an option for linear and generalized linear model fitting functions that spe"},{label:"LinearOptimization",type:"keyword",info:"LinearOptimization[f, cons, vars] finds values of variables vars that minimize the linear objective "},{label:"LinearProgramming",type:"keyword",info:"LinearProgramming[c, m, b] finds a vector x that minimizes the quantity c . x subject to the constra"},{label:"LinearRecurrence",type:"keyword",info:" "},{label:"LinearSolve",type:"keyword",info:"LinearSolve[m, b] finds an x that solves the matrix equation m . x == b. LinearSolve[m] generates a "},{label:"LinearSolveFunction",type:"keyword",info:"LinearSolveFunction[dimensions, data] represents a function for providing solutions to a matrix equa"},{label:"LineBox",type:"keyword",info:"System`LineBox"},{label:"LineBoxOptions",type:"keyword",info:"LineBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for LineBox obje"},{label:"LineBreak",type:"keyword",info:"System`LineBreak"},{label:"LinebreakAdjustments",type:"keyword",info:"LinebreakAdjustments is an option for selections that sets parameters used for calculating where aut"},{label:"LineBreakChart",type:"keyword",info:"LineBreakChart[{{date , p }, {date , p }, …}] makes a line break chart with prices p at date date ."},{label:"LinebreakSemicolonWeighting",type:"keyword",info:"System`LinebreakSemicolonWeighting"},{label:"LineBreakWithin",type:"keyword",info:"LineBreakWithin is an option for selections that specifies whether line breaks occur automatically w"},{label:"LineColor",type:"keyword",info:"System`LineColor"},{label:"LineGraph",type:"keyword",info:"LineGraph[g] gives the line graph of the graph g.LineGraph[{v  w, …}] uses rules v  w to specify t"},{label:"LineIndent",type:"keyword",info:"LineIndent is an option for Style and Cell that specifies how many ems of indentation to add at the "},{label:"LineIndentMaxFraction",type:"keyword",info:"LineIndentMaxFraction is an option for Cell, StyleBox, and Style that specifies the maximum fraction"},{label:"LineIntegralConvolutionPlot",type:"keyword",info:"LineIntegralConvolutionPlot[{{v , v }, image}, {x, x , x }, {y, y , y }] generates a line in"},{label:"LineIntegralConvolutionScale",type:"keyword",info:"LineIntegralConvolutionScale is an option to LineIntegralConvolutionPlot and related functions that "},{label:"LineLegend",type:"keyword",info:"LineLegend[{col , …}, {lbl , …}] generates a legend that associates color col with label lbl .LineL"},{label:"LineOpacity",type:"keyword",info:"System`LineOpacity"},{label:"LineSpacing",type:"keyword",info:"LineSpacing is an option for Style and Cell that specifies the spacing between successive lines of t"},{label:"LineWrapParts",type:"keyword",info:"System`LineWrapParts"},{label:"LinkActivate",type:"keyword",info:"LinkActivate[lnk] activates a WSTP connection, waiting for the program at the other end to respond."},{label:"LinkClose",type:"keyword",info:"LinkClose[link] closes an open WSTP connection. "},{label:"LinkConnect",type:"keyword",info:'LinkConnect["name"] connects to a WSTP link created by another program. '},{label:"LinkConnectedQ",type:"keyword",info:"System`LinkConnectedQ"},{label:"LinkCreate",type:"keyword",info:'LinkCreate["name"] creates a WSTP link with the specified name for another program to connect to. Li'},{label:"LinkError",type:"keyword",info:"LinkError[link] returns error information for link in the form { errorNumber, errorExplanation }."},{label:"LinkFlush",type:"keyword",info:"LinkFlush[link] transmits immediately any locally buffered outgoing expressions."},{label:"LinkFunction",type:"keyword",info:"LinkFunction is an option for GeneralizedLinearModelFit that specifies the link function for the gen"},{label:"LinkHost",type:"keyword",info:"LinkHost is an option for LinkOpen that specifies on what computer a program should be launched or o"},{label:"LinkInterrupt",type:"keyword",info:"LinkInterrupt[link] sends an interrupt to the program at the other end of the specified WSTP connect"},{label:"LinkLaunch",type:"keyword",info:'LinkLaunch["prog"] starts the external program prog and opens a WSTP connection to it. '},{label:"LinkMode",type:"keyword",info:"LinkMode is an option for LinkOpen that specifies how the link is to be established and connected. "},{label:"LinkObject",type:"keyword",info:'LinkObject["name", n , n ] is an object that represents an active WSTP connection for functions such'},{label:"LinkOpen",type:"keyword",info:'LinkOpen["prog"] starts the external program prog and opens a MathLink connection to it.'},{label:"LinkOptions",type:"keyword",info:"System`LinkOptions"},{label:"LinkPatterns",type:"keyword",info:"LinkPatterns[link] gives a list of the patterns for which definitions were set up when the external "},{label:"LinkProtocol",type:"keyword",info:"LinkProtocol is an option to LinkLaunch, Install, and related functions that specifies the underlyin"},{label:"LinkRankCentrality",type:"keyword",info:"LinkRankCentrality[g, Î\\[PlusMinus]] gives the link-rank centralities for edges in the graph g and weight Î\\[PlusMinus].Link"},{label:"LinkRead",type:"keyword",info:"LinkRead[link] reads one expression from the specified WSTP connection. LinkRead[link, h] wraps h ar"},{label:"LinkReadHeld",type:"keyword",info:"LinkReadHeld[link] reads an expression via WSTP from link and returns it wrapped in Hold."},{label:"LinkReadyQ",type:"keyword",info:"LinkReadyQ[link] tests whether there is an expression ready to read from the specified WSTP connecti"},{label:"Links",type:"keyword",info:"Links[] gives a list of all WSTP connections that are currently open. Links[patt] lists only links w"},{label:"LinkService",type:"keyword",info:'LinkService["service", l] is an object that represents an active connection to the WSTP service.'},{label:"LinkWrite",type:"keyword",info:"LinkWrite[link, expr] writes expr to the specified WSTP connection. "},{label:"LinkWriteHeld",type:"keyword",info:"LinkWriteHeld[link, Hold[expr], (flush : True)] writes expr (without the Hold) via WSTP to link (syn"},{label:"LiouvilleLambda",type:"keyword",info:"LiouvilleLambda[n] gives the Liouville function λ(n)."},{label:"List",type:"keyword",info:"{e , e , …} is a list of elements. \n 1 2"},{label:"Listable",type:"keyword",info:"Listable is an attribute that can be assigned to a symbol f to indicate that the function f should a"},{label:"ListAnimate",type:"keyword",info:"ListAnimate[{expr , expr , …}] generates an animation whose frames are the successive expr . ListAni"},{label:"ListContourPlot",type:"keyword",info:"ListContourPlot[{{f , …, f }, …, {f , …, f }}] generates a contour plot from an array of values "},{label:"ListContourPlot3D",type:"keyword",info:"ListContourPlot3D[array] generates a contour plot from a three-dimensional array of values. ListCont"},{label:"ListConvolve",type:"keyword",info:" "},{label:"ListCorrelate",type:"keyword",info:" "},{label:"ListCurvePathPlot",type:"keyword",info:"ListCurvePathPlot[{{x , y }, {x , y }, …}] plots a curve that corresponds to a smooth path through t"},{label:"ListDeconvolve",type:"keyword",info:"ListDeconvolve[ker, list] gives a deconvolution of list using kernel ker."},{label:"ListDensityPlot",type:"keyword",info:"ListDensityPlot[{{f , …, f }, …, {f , …, f }}] generates a smooth density plot from an array of "},{label:"ListDensityPlot3D",type:"keyword",info:"ListDensityPlot3D[array] generates a smooth density plot from an array of values. ListDensityPlot3D["},{label:"Listen",type:"keyword",info:"Listen is a setting for the LinkMode option of LinkOpen. LinkMode->Listen causes a link to be creat"},{label:"ListFormat",type:"keyword",info:"ListFormat is an option to TextString and related functions that determines how lists are formatted."},{label:"ListFourierSequenceTransform",type:"keyword",info:"ListFourierSequenceTransform[list, ω] gives the discrete-time Fourier transform (DTFT) of a list as "},{label:"ListInterpolation",type:"keyword",info:"ListInterpolation[array] constructs an InterpolatingFunction object that represents an approximate f"},{label:"ListLineIntegralConvolutionPlot",type:"keyword",info:"ListLineIntegralConvolutionPlot[{array, image}] generates a line integral convolution plot of image "},{label:"ListLinePlot",type:"keyword",info:"ListLinePlot[{y , y , …}] plots a line through the points {1, y }, {2, y }, ….ListLinePlot[{{x , y }"},{label:"ListLinePlot3D",type:"keyword",info:"ListLinePlot3D[{{x , y , z }, {x , y , z }, …, {x , y , z }}] plots a curve through the 3D points {x"},{label:"ListLogLinearPlot",type:"keyword",info:"ListLogLinearPlot[{y , y , …}] makes a log-linear plot of the y , assumed to correspond to x coordin"},{label:"ListLogLogPlot",type:"keyword",info:"ListLogLogPlot[{y , y , …}] makes a log-log plot of the y , assumed to correspond to x coordinates 1"},{label:"ListLogPlot",type:"keyword",info:"ListLogPlot[{y , y , …}] makes a log plot of the y , assumed to correspond to x coordinates 1, 2, …."},{label:"ListPicker",type:"keyword",info:"ListPicker[list, {val , val , …}] represents a list pane with setting list that can contain possible"},{label:"ListPickerBox",type:"keyword",info:"ListPickerBox[list, {val  lbl , val  lbl , …}] is a low-level box structure that represents a li"},{label:"ListPickerBoxBackground",type:"keyword",info:"System`ListPickerBoxBackground"},{label:"ListPickerBoxOptions",type:"keyword",info:"ListPickerBoxOptions is an option that specifies settings for ListPickerBox objects."},{label:"ListPlay",type:"keyword",info:"ListPlay[{a , a , …}] creates an object that plays as a sound whose amplitude is given by the sequen"},{label:"ListPlot",type:"keyword",info:"ListPlot[{y , …, y }] plots points {1, y }, {2, y }, …. ListPlot[{{x , y }, …, {x , y }}] generates "},{label:"ListPlot3D",type:"keyword",info:"ListPlot3D[{{f , …, f }, …, {f , …, f }}] generates a surface representing an array of height va"},{label:"ListPointPlot3D",type:"keyword",info:"ListPointPlot3D[{{x , y , z }, {x , y , z }, …}] generates a 3D scatter plot of points with coordina"},{label:"ListPolarPlot",type:"keyword",info:"ListPolarPlot[{r , r , …}] plots points equally spaced in angle at radii r .ListPolarPlot[{{θ , r },"},{label:"ListQ",type:"keyword",info:"ListQ[expr] gives True if the head of expr is List, and False otherwise."},{label:"ListSliceContourPlot3D",type:"keyword",info:"ListSliceContourPlot3D[array, surf] generates a contour plot of the three-dimensional array of value"},{label:"ListSliceDensityPlot3D",type:"keyword",info:"ListSliceDensityPlot3D[array, surf] generates a density plot of the three-dimensional array of value"},{label:"ListSliceVectorPlot3D",type:"keyword",info:"ListSliceVectorPlot3D[array, surf] generates a vector plot from a 3D array of vector field values ov"},{label:"ListStepPlot",type:"keyword",info:"ListStepPlot[{y , y , …}] plots the values y , y , … in steps at points 1, 2, ….ListStepPlot[{{x , y"},{label:"ListStreamDensityPlot",type:"keyword",info:"ListStreamDensityPlot[array] generates a stream density plot from a 2D array of vector and scalar fi"},{label:"ListStreamPlot",type:"keyword",info:"ListStreamPlot[array] generates a stream plot from an array of vector field values.ListStreamPlot[{{"},{label:"ListStreamPlot3D",type:"keyword",info:"ListStreamPlot3D[array] plots streamlines for the vector field given as an array of vectors."},{label:"ListSurfacePlot3D",type:"keyword",info:"ListSurfacePlot3D[{{x , y , z }, {x , y , z }, …}] plots a three-dimensional surface constructed to "},{label:"ListVectorDensityPlot",type:"keyword",info:"ListVectorDensityPlot[array] generates a vector plot from a 2D array of vector and scalar field valu"},{label:"ListVectorDisplacementPlot",type:"keyword",info:"ListVectorDisplacementPlot[{{{vx , vy }, …, {vx , vy }}, …, {{vx , vy }, …, {vx , vy }}}] ge"},{label:"ListVectorDisplacementPlot3D",type:"keyword",info:"ListVectorDisplacementPlot3D[{{{vx , vy , vz }, …, {vx , vy , vz }}, …, {{vx , vy , vz }, …"},{label:"ListVectorPlot",type:"keyword",info:"ListVectorPlot[array] generates a vector plot from an array of vector field values.ListVectorPlot[{{"},{label:"ListVectorPlot3D",type:"keyword",info:"ListVectorPlot3D[array] generates a 3D vector plot from a 3D array of vector field values.ListVector"},{label:"ListZTransform",type:"keyword",info:"ListZTransform[list, z] gives the Z transform of list as a function of z.ListZTransform[list, z, k] "},{label:"Literal",type:"keyword",info:"System`Literal"},{label:"LiteralSearch",type:"keyword",info:"System`LiteralSearch"},{label:"LocalAdaptiveBinarize",type:"keyword",info:"LocalAdaptiveBinarize[image, r] creates a binary image from image by replacing values above the mean"},{label:"LocalCache",type:"keyword",info:"LocalCache[CloudObject[uri]] caches a cloud object in a local object.LocalCache[URL[url]] caches the"},{label:"LocalClusteringCoefficient",type:"keyword",info:"LocalClusteringCoefficient[g] gives the list of local clustering coefficients of all vertices in the"},{label:"LocalizeDefinitions",type:"keyword",info:"System`LocalizeDefinitions"},{label:"LocalizeVariables",type:"keyword",info:"LocalizeVariables is an option to Manipulate that determines whether the values of variables associa"},{label:"LocalObject",type:"keyword",info:'LocalObject[] represents a new anonymous local object.LocalObject["file :///…"] represents a local o'},{label:"LocalObjects",type:"keyword",info:"LocalObjects[] gives a list of local objects in your current local base directory.LocalObjects[dir] "},{label:"LocalResponseNormalizationLayer",type:"keyword",info:"LocalResponseNormalizationLayer[] represents a net layer that normalizes its input by averaging acro"},{label:"LocalSubmit",type:"keyword",info:"LocalSubmit[expr] submits a task to evaluate expr in a separate kernel.LocalSubmit[ScheduledTask[exp"},{label:"LocalSymbol",type:"keyword",info:'LocalSymbol["name"] represents a symbol whose value is persistently stored in the local file system.'},{label:"LocalTime",type:"keyword",info:"LocalTime[] gives a DateObject corresponding to the current local time at the current geo location.L"},{label:"LocalTimeZone",type:"keyword",info:"LocalTimeZone[] gives the current time zone for the current geo location.LocalTimeZone[loc] gives th"},{label:"LocationEquivalenceTest",type:"keyword",info:"LocationEquivalenceTest[{data , data , …}] tests whether the means or medians of the data are equal"},{label:"LocationTest",type:"keyword",info:"LocationTest[data] tests whether the mean or median of the data is zero. LocationTest[{data , data }"},{label:"Locator",type:"keyword",info:"Locator[{x, y}] represents a locator object at position {x, y} in a graphic. Locator[Dynamic[pos]] t"},{label:"LocatorAutoCreate",type:"keyword",info:"LocatorAutoCreate is an option for LocatorPane, Manipulate, and related functions that specifies whe"},{label:"LocatorBox",type:"keyword",info:"System`LocatorBox"},{label:"LocatorBoxOptions",type:"keyword",info:"LocatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for LocatorBo"},{label:"LocatorCentering",type:"keyword",info:"System`LocatorCentering"},{label:"LocatorPane",type:"keyword",info:"LocatorPane[{x, y}, back] represents a pane with a locator at position {x, y} and background back.Lo"},{label:"LocatorPaneBox",type:"keyword",info:"System`LocatorPaneBox"},{label:"LocatorPaneBoxOptions",type:"keyword",info:"LocatorPaneBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Locat"},{label:"LocatorRegion",type:"keyword",info:"LocatorRegion is an option for Locator that specifies where the locator object should by default be "},{label:"Locked",type:"keyword",info:"Locked is an attribute that, once assigned, prevents modification of any attributes of a symbol. "},{label:"Log",type:"keyword",info:"Log[z] gives the natural logarithm of z (logarithm to base e). Log[b, z] gives the logarithm to base"},{label:"Log10",type:"keyword",info:"Log10[x] gives the base-10 logarithm of x."},{label:"Log2",type:"keyword",info:"Log2[x] gives the base-2 logarithm of x."},{label:"LogBarnesG",type:"keyword",info:"LogBarnesG[z] gives the logarithm of the Barnes G-function logG(z)."},{label:"LogGamma",type:"keyword",info:"LogGamma[z] gives the logarithm of the gamma function log Γ(z). "},{label:"LogGammaDistribution",type:"keyword",info:"LogGammaDistribution[Î\\[PlusMinus], Î.b2, μ] represents a log-gamma distribution with shape parameters Î\\[PlusMinus] and Î.b2 and "},{label:"LogicalExpand",type:"keyword",info:"LogicalExpand[expr] expands out logical combinations of equations, inequalities, and other functions"},{label:"LogIntegral",type:"keyword",info:"LogIntegral[z] is the logarithmic integral function li(z). "},{label:"LogisticDistribution",type:"keyword",info:"LogisticDistribution[μ, Î.b2] represents a logistic distribution with mean μ and scale parameter Î.b2.Logi"},{label:"LogisticSigmoid",type:"keyword",info:"LogisticSigmoid[z] gives the logistic sigmoid function."},{label:"LogitModelFit",type:"keyword",info:" "},{label:"LogLikelihood",type:"keyword",info:"LogLikelihood[dist, {x , x , …}] gives the log‐likelihood function for observations x , x , … from t"},{label:"LogLinearPlot",type:"keyword",info:"LogLinearPlot[f, {x, x , x }] generates a log-linear plot of f as a function of x from x to x"},{label:"LogLogisticDistribution",type:"keyword",info:"LogLogisticDistribution[Î.b3, σ] represents a log-logistic distribution with shape parameter Î.b3 and scal"},{label:"LogLogPlot",type:"keyword",info:"LogLogPlot[f, {x, x , x }] generates a log-log plot of f as a function of x from x to x . L"},{label:"LogMultinormalDistribution",type:"keyword",info:"LogMultinormalDistribution[μ, Σ] represents a log-multinormal distribution with parameters μ and Σ."},{label:"LogNormalDistribution",type:"keyword",info:"LogNormalDistribution[μ, σ] represents a lognormal distribution derived from a normal distribution w"},{label:"LogPlot",type:"keyword",info:"LogPlot[f, {x, x , x }] generates a log plot of f as a function of x from x to x . LogPlot["},{label:"LogRankTest",type:"keyword",info:"LogRankTest[{data , data , …}] tests for equal hazard rates among the data using a log-rank type te"},{label:"LogSeriesDistribution",type:"keyword",info:"LogSeriesDistribution[θ] represents a logarithmic series distribution with parameter θ."},{label:"LongEqual",type:"keyword",info:"System`LongEqual"},{label:"Longest",type:"keyword",info:"Longest[p] is a pattern object that matches the longest sequence consistent with the pattern p. "},{label:"LongestCommonSequence",type:"keyword",info:"LongestCommonSequence[s , s ] finds the longest sequence of contiguous or disjoint elements common t"},{label:"LongestCommonSequencePositions",type:"keyword",info:"LongestCommonSequencePositions[s , s ] finds the longest sequence of contiguous or disjoint elements"},{label:"LongestCommonSubsequence",type:"keyword",info:"LongestCommonSubsequence[s , s ] finds the longest contiguous subsequence of elements common to the "},{label:"LongestCommonSubsequencePositions",type:"keyword",info:"LongestCommonSubsequencePositions[s , s ] finds the longest contiguous subsequence of elements commo"},{label:"LongestMatch",type:"keyword",info:"LongestMatch[p] is a string pattern object matching the longest sequence of characters consistent wi"},{label:"LongestOrderedSequence",type:"keyword",info:"LongestOrderedSequence[list] finds the longest ordered sequence of contiguous or disjoint elements i"},{label:"LongForm",type:"keyword",info:"LongForm is an option for Information. With LongForm -> True, the full information of a symbol is pr"},{label:"Longitude",type:"keyword",info:"Longitude[pos] gives the longitude in degrees of a geographic position specified by pos.Longitude[po"},{label:"LongLeftArrow",type:"keyword",info:"LongLeftArrow[x, y, …] displays as x âŸ\\[Micro] y âŸ\\[Micro] …."},{label:"LongLeftRightArrow",type:"keyword",info:"LongLeftRightArrow[x, y, …] displays as x âŸ\\[CenterDot] y âŸ\\[CenterDot] …."},{label:"LongRightArrow",type:"keyword",info:"LongRightArrow[x, y, …] displays as x âŸ\\[Paragraph] y âŸ\\[Paragraph] …."},{label:"LongShortTermMemoryLayer",type:"keyword",info:"LongShortTermMemoryLayer[n] represents a trainable recurrent layer that takes a sequence of vectors "},{label:"Lookup",type:"keyword",info:"Lookup[assoc, key] looks up the value associated with key in the association assoc; if the key is no"},{label:"Loopback",type:"keyword",info:"Loopback is a setting for the LinkMode option of LinkOpen. LinkMode->Loopback causes a link to be c"},{label:"LoopFreeGraphQ",type:"keyword",info:"LoopFreeGraphQ[g] yields True if the graph g has no self-loops, and False otherwise."},{label:"Looping",type:"keyword",info:"Looping is an option for VideoStream, AudioStream and related functions to specify the playback loop"},{label:"LossFunction",type:"keyword",info:"LossFunction is an option for NetTrain that specifies how to compare actual and requested outputs fr"},{label:"LowerCaseQ",type:"keyword",info:"LowerCaseQ[string] yields True if all the characters in the string are lowercase letters, and yields"},{label:"LowerLeftArrow",type:"keyword",info:"LowerLeftArrow[x, y, …] displays as x ↙ y ↙ …."},{label:"LowerRightArrow",type:"keyword",info:"LowerRightArrow[x, y, …] displays as x ↘ y ↘ …."},{label:"LowerTriangularize",type:"keyword",info:" "},{label:"LowerTriangularMatrixQ",type:"keyword",info:" "},{label:"LowpassFilter",type:"keyword",info:"LowpassFilter[data, ω ] applies a lowpass filter with a cutoff frequency ω to an array of data.Lowp"},{label:"LQEstimatorGains",type:"keyword",info:"LQEstimatorGains[ssm, {w, v}] gives the optimal estimator gain matrix for the StateSpaceModel ssm, w"},{label:"LQGRegulator",type:"keyword",info:"LQGRegulator[sspec, cvs, wts] gives the optimal output feedback controller for the stochastic system"},{label:"LQOutputRegulatorGains",type:"keyword",info:"LQOutputRegulatorGains[sspec, wts] gives the state feedback gains for the system specification sspec"},{label:"LQRegulatorGains",type:"keyword",info:"LQRegulatorGains[spsec, wts] gives the state feedback gains for the system specification sspec that "},{label:"LUBackSubstitution",type:"keyword",info:"System`LUBackSubstitution"},{label:"LucasL",type:"keyword",info:"LucasL[n] gives the Lucas number L .LucasL[n, x] gives the Lucas polynomial L (x).\n "},{label:"LuccioSamiComponents",type:"keyword",info:"LuccioSamiComponents[g] gives the Luccio–Sami components of the graph g.LuccioSamiComponents[g, {v ,"},{label:"LUDecomposition",type:"keyword",info:"LUDecomposition[m] generates a representation of the LU decomposition of a square matrix m. "},{label:"LunarEclipse",type:"keyword",info:"LunarEclipse[] gives the time of the next lunar eclipse.LunarEclipse[datespec] gives the time for th"},{label:"LUVColor",type:"keyword",info:"LUVColor[l, u, v] represents a color in the LUV color space with lightness l and color components u "},{label:"LyapunovSolve",type:"keyword",info:"LyapunovSolve[a, c] finds a solution x of the matrix Lyapunov equation a . x + x . a   c.LyapunovS"},{label:"LyonsGroupLy",type:"keyword",info:"LyonsGroupLy[] represents the sporadic simple Lyons group Ly."},{label:"MachineID",type:"keyword",info:"MachineID is an option to Encode which specifies the required value of ECMachineID on the computer th"},{label:"MachineName",type:"keyword",info:"MachineName is an option to Encode which specifies the required value of ECMachineName on the compute"},{label:"MachineNumberQ",type:"keyword",info:"MachineNumberQ[expr] returns True if expr is a machine‐precision real or complex number, and returns"},{label:"MachinePrecision",type:"keyword",info:"MachinePrecision is a symbol used to indicate machine‐number precision. "},{label:"MacintoshSystemPageSetup",type:"keyword",info:"System`MacintoshSystemPageSetup"},{label:"Magenta",type:"keyword",info:"Magenta represents the color magenta in graphics or style specifications. "},{label:"Magnification",type:"keyword",info:"Magnification is an option for Style and Cell that specifies what magnification to use for display. "},{label:"Magnify",type:"keyword",info:"Magnify[expr, r] represents an object to be displayed with magnification r. Magnify[expr] displays w"},{label:"MailAddressValidation",type:"keyword",info:"MailAddressValidation is an option for SendMail that specifies whether and how to validate email add"},{label:"MailExecute",type:"keyword",info:"MailExecute[cmd, target] executes the mail command cmd on the target mail server connection, folder,"},{label:"MailFolder",type:"keyword",info:"MailFolder[…] represents a mail folder associated with an active mail server connection."},{label:"MailItem",type:"keyword",info:"MailItem[…] represents an item of mail associated with an active mail server connection."},{label:"MailReceiverFunction",type:"keyword",info:"MailReceiverFunction[fun] represents a mail receiver function that applies fun to any mail message i"},{label:"MailResponseFunction",type:"keyword",info:"MailResponseFunction is an option for MailReceiverFunction that specifies what function to apply to "},{label:"MailSearch",type:"keyword",info:"MailSearch[folder, assoc] searches the specified mail folder for messages with properties matching e"},{label:"MailServerConnect",type:"keyword",info:'MailServerConnect[] connects to your default incoming mail server.MailServerConnect["server"] connec'},{label:"MailServerConnection",type:"keyword",info:"MailServerConnection[…] is a symbolic representation of a connection to an incoming mail server."},{label:"MailSettings",type:"keyword",info:"MailSettings is an option for SendMail and MailServerConnect to specify mail settings."},{label:"MainSolve",type:"keyword",info:"MainSolve[eqns] is the underlying function for transforming systems of equations. Solve and Eliminat"},{label:"MaintainDynamicCaches",type:"keyword",info:"System`MaintainDynamicCaches"},{label:"Majority",type:"keyword",info:"Majority[e , e , …] gives True if the majority of the e are True, and False if the majority are Fal"},{label:"MakeBoxes",type:"keyword",info:"MakeBoxes[expr, form] is the low‐level function used in Wolfram System sessions to convert expressio"},{label:"MakeExpression",type:"keyword",info:"MakeExpression[boxes, form] is the low‐level function used in Wolfram System sessions to construct e"},{label:"MakeRules",type:"keyword",info:"MakeRules is an option to Solve and related functions. With MakeRules -> True, the result is present"},{label:"ManagedLibraryExpressionID",type:"keyword",info:"ManagedLibraryExpressionID[expr] returns the positive integer ID associated with expr if it is a man"},{label:"ManagedLibraryExpressionQ",type:"keyword",info:"ManagedLibraryExpressionQ[expr] returns True if expr is a managed library expression and False other"},{label:"MandelbrotSetBoettcher",type:"keyword",info:"MandelbrotSetBoettcher[z] gives the BÃ\\[Paragraph]ttcher coordinate of z with respect to the Mandelbrot set."},{label:"MandelbrotSetDistance",type:"keyword",info:"MandelbrotSetDistance[c] estimates the distance from c to the nearest point in the Mandelbrot set.Ma"},{label:"MandelbrotSetIterationCount",type:"keyword",info:" 2\nMandelbrot"},{label:"MandelbrotSetMemberQ",type:"keyword",info:"MandelbrotSetMemberQ[z] returns True if z is in the Mandelbrot set, and False otherwise."},{label:"MandelbrotSetPlot",type:"keyword",info:"MandelbrotSetPlot[{z , z }] plots the portion of the Mandelbrot set inside the rectangle with co"},{label:"MangoldtLambda",type:"keyword",info:"MangoldtLambda[n] gives the von Mangoldt function Λ(n)."},{label:"ManhattanDistance",type:"keyword",info:'ManhattanDistance[u, v] gives the Manhattan or "city block" distance between vectors u and v.'},{label:"Manipulate",type:"keyword",info:"Manipulate[expr, {u, u , u }] generates a version of expr with controls added to allow interacti"},{label:"Manipulator",type:"keyword",info:"Manipulator[x] represents a manipulator with setting x in the range 0 to 1. Manipulator[Dynamic[x]] "},{label:"MannedSpaceMissionData",type:"keyword",info:"MannedSpaceMissionData[entity, property] gives the value of the specified property for the manned sp"},{label:"MannWhitneyTest",type:"keyword",info:"MannWhitneyTest[{data , data }] tests whether the medians of data and data are equal.MannWhitneyTe"},{label:"MantissaExponent",type:"keyword",info:"MantissaExponent[x] gives a list containing the mantissa and exponent of a number x. MantissaExponen"},{label:"Manual",type:"keyword",info:"Manual represents an option or other value that is to be selected manually, usually by some form of "},{label:"Map",type:"keyword",info:"Map[f, expr] or f/@expr applies f to each element on the first level in expr. Map[f, expr, levelspec"},{label:"MapAll",type:"keyword",info:"MapAll[f, expr] or f//@expr applies f to every subexpression in expr. "},{label:"MapAt",type:"keyword",info:"MapAt[f, expr, n] applies f to the element at position n in expr. If n is negative, the position is "},{label:"MapIndexed",type:"keyword",info:"MapIndexed[f, expr] applies f to the elements of expr, giving the part specification of each element"},{label:"MAProcess",type:"keyword",info:"MAProcess[{b , …, b }, v] represents a moving-average process of order q with normal white noise var"},{label:"MapThread",type:"keyword",info:"MapThread[f, {{a , a , …}, {b , b , …}, …}] gives {f[a , b , …], f[a , b , …], …}. MapThread[f, {exp"},{label:"MarchenkoPasturDistribution",type:"keyword",info:"MarchenkoPasturDistribution[λ, σ] represents a Marchenko–Pastur distribution with asymptotic ratio λ"},{label:"MarcumQ",type:"keyword",info:"MarcumQ[m, a, b] gives Marcum's Q function Q (a, b).MarcumQ[m, a, b , b ] gives Marcum's Q function "},{label:"MardiaCombinedTest",type:"keyword",info:"MardiaCombinedTest[data] tests whether data follows a MultinormalDistribution using the Mardia combi"},{label:"MardiaKurtosisTest",type:"keyword",info:"MardiaKurtosisTest[data] tests whether data follows a MultinormalDistribution using the Mardia kurto"},{label:"MardiaSkewnessTest",type:"keyword",info:"MardiaSkewnessTest[data] tests whether data follows a MultinormalDistribution using the Mardia skewn"},{label:"MarginalDistribution",type:"keyword",info:" th\nMarginalDist"},{label:"MarkovProcessProperties",type:"keyword",info:"MarkovProcessProperties[mproc] gives a summary of properties for the finite state Markov process mpr"},{label:"Masking",type:"keyword",info:"Masking is an option for various image and signal processing functions that specifies on which regio"},{label:"MassConcentrationCondition",type:"keyword",info:"MassConcentrationCondition[pred, vars, pars] represents a mass concentration boundary condition for "},{label:"MassFluxValue",type:"keyword",info:"MassFluxValue[pred, vars, pars] represents a mass flux boundary condition for PDEs with predicate pr"},{label:"MassImpermeableBoundaryValue",type:"keyword",info:"MassImpermeableBoundaryValue[pred, vars, pars] represents a mass impermeable boundary condition for "},{label:"MassOutflowValue",type:"keyword",info:"MassOutflowValue[pred, vars, pars] represents a mass outflow boundary condition for PDEs with predic"},{label:"MassSymmetryValue",type:"keyword",info:"MassSymmetryValue[pred, vars, pars] represents a mass symmetry boundary condition for PDEs with pred"},{label:"MassTransferValue",type:"keyword",info:"MassTransferValue[pred, vars, pars] represents a mass transfer boundary condition for PDEs with pred"},{label:"MassTransportPDEComponent",type:"keyword",info:"MassTransportPDEComponent[vars, pars] yields a mass transport PDE term with variables vars and param"},{label:"MatchingDissimilarity",type:"keyword",info:"MatchingDissimilarity[u, v] gives the matching dissimilarity between Boolean vectors u and v."},{label:"MatchLocalNameQ",type:"keyword",info:"MatchLocalNameQ is an internal symbol."},{label:"MatchLocalNames",type:"keyword",info:"MatchLocalNames is an option for Trace and related functions that specifies whether symbols such as "},{label:"MatchQ",type:"keyword",info:"MatchQ[expr, form] returns True if the pattern form matches expr, and returns False otherwise.MatchQ"},{label:"Material",type:"keyword",info:"System`Material"},{label:"MaterialShading",type:"keyword",info:'MaterialShading["material"] is a three-dimensional graphics directive specifying that surfaces that '},{label:"MaternPointProcess",type:"keyword",info:" "},{label:"MathematicalFunctionData",type:"keyword",info:"MathematicalFunctionData[entity, property] gives data corresponding to property for the mathematical"},{label:"MathematicaNotation",type:"keyword",info:"System`MathematicaNotation"},{label:"MathieuC",type:"keyword",info:"MathieuC[a, q, z] gives the even Mathieu function with characteristic value a and parameter q. "},{label:"MathieuCharacteristicA",type:"keyword",info:"MathieuCharacteristicA[r, q] gives the characteristic value a for even Mathieu functions with chara"},{label:"MathieuCharacteristicB",type:"keyword",info:"MathieuCharacteristicB[r, q] gives the characteristic value b for odd Mathieu functions with charac"},{label:"MathieuCharacteristicExponent",type:"keyword",info:"MathieuCharacteristicExponent[a, q] gives the characteristic exponent r for Mathieu functions with c"},{label:"MathieuCPrime",type:"keyword",info:"MathieuCPrime[a, q, z] gives the derivative with respect to z of the even Mathieu function with char"},{label:"MathieuGroupM11",type:"keyword",info:"MathieuGroupM11[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM12",type:"keyword",info:"MathieuGroupM12[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM22",type:"keyword",info:"MathieuGroupM22[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM23",type:"keyword",info:"MathieuGroupM23[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuGroupM24",type:"keyword",info:"MathieuGroupM24[] represents the sporadic simple Mathieu group M .\n "},{label:"MathieuS",type:"keyword",info:"MathieuS[a, q, z] gives the odd Mathieu function with characteristic value a and parameter q. "},{label:"MathieuSPrime",type:"keyword",info:"MathieuSPrime[a, q, z] gives the derivative with respect to z of the odd Mathieu function with chara"},{label:"MathMLForm",type:"keyword",info:"MathMLForm[expr] prints as a MathML form of expr. "},{label:"MathMLText",type:"keyword",info:"System`MathMLText"},{label:"Matrices",type:"keyword",info:"Matrices[{d , d }] represents the domain of matrices of dimensions d ×d .Matrices[{d , d }, dom] rep"},{label:"MatrixExp",type:"keyword",info:"MatrixExp[m] gives the matrix exponential of m. MatrixExp[m, v] gives the matrix exponential of m ap"},{label:"MatrixForm",type:"keyword",info:"MatrixForm[list] prints with the elements of list arranged in a regular array. "},{label:"MatrixFunction",type:"keyword",info:"MatrixFunction[f, m] gives the matrix generated by the scalar function f at the matrix argument m."},{label:"MatrixLog",type:"keyword",info:"MatrixLog[m] gives the matrix logarithm of a matrix m."},{label:"MatrixNormalDistribution",type:"keyword",info:"MatrixNormalDistribution[Σ , Σ ] represents zero mean matrix normal distribution with row covari"},{label:"MatrixPlot",type:"keyword",info:"MatrixPlot[m] generates a plot that gives a visual representation of the values of elements in a mat"},{label:"MatrixPower",type:"keyword",info:" th th\n"},{label:"MatrixPropertyDistribution",type:"keyword",info:"MatrixPropertyDistribution[expr, x  mdist] represents the distribution of the matrix property expr "},{label:"MatrixQ",type:"keyword",info:"MatrixQ[expr] gives True if expr is a list of lists or a two-dimensional SparseArray object that can"},{label:"MatrixRank",type:"keyword",info:"MatrixRank[m] gives the rank of the matrix m. "},{label:"MatrixTDistribution",type:"keyword",info:"MatrixTDistribution[Σ , Σ , ν] represents zero mean matrix t distribution with row covariance ma"},{label:"Max",type:"keyword",info:"Max[x , x , …] yields the numerically largest of the x . Max[{x , x , …}, {y , …}, …] yields the lar"},{label:"MaxBend",type:"keyword",info:"System`MaxBend"},{label:"MaxCellMeasure",type:"keyword",info:"MaxCellMeasure is an option for DiscretizeRegion and related functions that specifies the maximum ce"},{label:"MaxColorDistance",type:"keyword",info:"MaxColorDistance is an option to specify the maximum distance allowed between colors."},{label:"MaxDate",type:"keyword",info:"MaxDate[{date , date , …}] gives the latest date of the date .MaxDate[interval] gives the endpoint o"},{label:"MaxDetect",type:"keyword",info:"MaxDetect[image] gives a binary image in which white pixels correspond to constant extended maxima i"},{label:"MaxDuration",type:"keyword",info:"MaxDuration is an option that specifies the maximum duration for audio playback or capture."},{label:"MaxExtraBandwidths",type:"keyword",info:"MaxExtraBandwidths is an option to SmoothKernelDistribution that controls the behavior outside that "},{label:"MaxExtraConditions",type:"keyword",info:"MaxExtraConditions is an option to Solve and related functions that specifies how many extra equatio"},{label:"MaxFeatureDisplacement",type:"keyword",info:"MaxFeatureDisplacement is an option that specifies the maximum displacement allowed for any feature."},{label:"MaxFeatures",type:"keyword",info:"MaxFeatures is an option that specifies the maximum number of features that will be returned from fe"},{label:"MaxFilter",type:"keyword",info:" "},{label:"MaximalBy",type:"keyword",info:"MaximalBy[{e , e , …}, f] returns a list of the e for which the value of f[e ] is maximal.MaximalBy"},{label:"Maximize",type:"keyword",info:"Maximize[f, x] maximizes f exactly with respect to x.Maximize[f, {x, y, …}] maximizes f exactly with"},{label:"MaxItems",type:"keyword",info:"MaxItems is an option that specifies the maximum number of items to be used or shown."},{label:"MaxIterations",type:"keyword",info:"MaxIterations is an option that specifies the maximum number of iterations that should be tried in v"},{label:"MaxLimit",type:"keyword",info:" * * * "},{label:"MaxMemoryUsed",type:"keyword",info:"MaxMemoryUsed[] gives the maximum number of bytes used to store all data for the current Wolfram Sys"},{label:"MaxMixtureKernels",type:"keyword",info:"MaxMixtureKernels is an option for SmoothKernelDistribution and related functions that specifies the"},{label:"MaxOverlapFraction",type:"keyword",info:"MaxOverlapFraction is an option that specifies the maximum acceptable overlap between different iden"},{label:"MaxPlotPoints",type:"keyword",info:"MaxPlotPoints is an option for plotting functions like ArrayPlot and ListPlot3D that specifies the m"},{label:"MaxPoints",type:"keyword",info:"MaxPoints is an option for NIntegrate specifying the maximum total number of times to sample the int"},{label:"MaxRecursion",type:"keyword",info:"MaxRecursion is an option for functions like NIntegrate and Plot that specifies how many recursive s"},{label:"MaxStableDistribution",type:"keyword",info:"MaxStableDistribution[μ, σ, ξ] represents a generalized maximum extreme value distribution with loca"},{label:"MaxStepFraction",type:"keyword",info:"MaxStepFraction is an option to functions like NDSolve that specifies the maximum fraction of the to"},{label:"MaxSteps",type:"keyword",info:"MaxSteps is an option to functions like NDSolve that specifies the maximum number of steps to take i"},{label:"MaxStepSize",type:"keyword",info:"MaxStepSize is an option to functions like NDSolve that specifies the maximum size of a single step "},{label:"MaxTrainingRounds",type:"keyword",info:"MaxTrainingRounds is an option for NetTrain and related functions that specifies the maximum number "},{label:"MaxValue",type:"keyword",info:"MaxValue[f, x] gives the maximum value of f with respect to x.MaxValue[f, {x, y, …}] gives the maxim"},{label:"MaxwellDistribution",type:"keyword",info:"MaxwellDistribution[σ] represents a Maxwell distribution with scale parameter σ."},{label:"MaxWordGap",type:"keyword",info:"MaxWordGap is an option for SearchAdjustment that specifies the number of words that can occur betwe"},{label:"McLaughlinGroupMcL",type:"keyword",info:"McLaughlinGroupMcL[] represents the sporadic simple McLaughlin group McL."},{label:"Mean",type:"keyword",info:"Mean[list] gives the statistical mean of the elements in list. Mean[dist] gives the mean of the dist"},{label:"MeanAbsoluteLossLayer",type:"keyword",info:'MeanAbsoluteLossLayer[] represents a loss layer that computes the mean absolute loss between the "In'},{label:"MeanAround",type:"keyword",info:"MeanAround[{x , x , x , …}] gives an Around object describing the mean of the x and its uncertainty"},{label:"MeanClusteringCoefficient",type:"keyword",info:"MeanClusteringCoefficient[g] gives the mean clustering coefficient of the graph g.MeanClusteringCoef"},{label:"MeanDegreeConnectivity",type:"keyword",info:"MeanDegreeConnectivity[g] gives a list of k-mean degree connectivity for the graph g for successive "},{label:"MeanDeviation",type:"keyword",info:"MeanDeviation[list] gives the mean absolute deviation from the mean of the elements in list."},{label:"MeanFilter",type:"keyword",info:" "},{label:"MeanGraphDistance",type:"keyword",info:"MeanGraphDistance[g] gives the mean distance between all pairs of vertices in the graph g.MeanGraphD"},{label:"MeanNeighborDegree",type:"keyword",info:"MeanNeighborDegree[g] gives a list of mean neighbor degrees of vertices for the graph g.MeanNeighbor"},{label:"MeanPointDensity",type:"keyword",info:"MeanPointDensity[pdata] estimates the mean point density λ from point data pdata in the observation "},{label:"MeanShift",type:"keyword",info:"MeanShift[list, d] replaces each element in list by the mean of the values of all elements that diff"},{label:"MeanShiftFilter",type:"keyword",info:" "},{label:"MeanSquaredLossLayer",type:"keyword",info:'MeanSquaredLossLayer[] represents a loss layer that computes the mean squared loss between its "Inpu'},{label:"Median",type:"keyword",info:"Median[list] gives the median of the elements in list. Median[dist] gives the median of the distribu"},{label:"MedianDeviation",type:"keyword",info:"MedianDeviation[list] gives the median absolute deviation from the median of the elements in list."},{label:"MedianFilter",type:"keyword",info:" "},{label:"MedicalTestData",type:"keyword",info:"MedicalTestData[entity, property] gives the value of the specified property for the medical test ent"},{label:"Medium",type:"keyword",info:"Medium is a style or option setting that specifies that objects should be medium sized."},{label:"MeijerG",type:"keyword",info:" "},{label:"MeijerGReduce",type:"keyword",info:"MeijerGReduce[expr, x] attempts to reduce expr to a single MeijerG object as a function of x."},{label:"MeixnerDistribution",type:"keyword",info:"MeixnerDistribution[a, b, m, d] represents a Meixner distribution with location parameter m, scale p"},{label:"MellinConvolve",type:"keyword",info:"MellinConvolve[f, g, x, y] gives the Mellin convolution with respect to x of the expressions f and g"},{label:"MellinTransform",type:"keyword",info:"MellinTransform[expr, x, s] gives the Mellin transform of expr.MellinTransform[expr, {x , x , …}, {s"},{label:"MemberQ",type:"keyword",info:"MemberQ[list, form] returns True if an element of list matches form, and False otherwise. MemberQ[li"},{label:"MemoryAvailable",type:"keyword",info:"MemoryAvailable[] gives the estimated number of bytes readily available for storing additional data "},{label:"MemoryConstrained",type:"keyword",info:"MemoryConstrained[expr, b] evaluates expr, stopping if more than b bytes of memory are requested. Me"},{label:"MemoryConstraint",type:"keyword",info:"MemoryConstraint is an option for TestReport and VerificationTest that specifies how much memory (in"},{label:"MemoryInUse",type:"keyword",info:"MemoryInUse[] gives the number of bytes currently being used to store all data in the current Wolfra"},{label:"MengerMesh",type:"keyword",info:" th "},{label:"Menu",type:"keyword",info:"System`Menu"},{label:"MenuAppearance",type:"keyword",info:"System`MenuAppearance"},{label:"MenuCommandKey",type:"keyword",info:"MenuCommandKey is an option for cells that specifies the keyboard shortcut to be associated with a s"},{label:"MenuEvaluator",type:"keyword",info:"System`MenuEvaluator"},{label:"MenuItem",type:"keyword",info:"System`MenuItem"},{label:"MenuList",type:"keyword",info:"System`MenuList"},{label:"MenuPacket",type:"keyword",info:"MenuPacket[integer, string] is a WSTP packet indicating a menu request with title string."},{label:"MenuSortingValue",type:"keyword",info:"MenuSortingValue is an option for cells and notebooks that specifies where a cell style, stylesheet,"},{label:"MenuStyle",type:"keyword",info:"MenuStyle is an option for menu-generating constructs that specifies the style to use in displaying "},{label:"MenuView",type:"keyword",info:" "},{label:"Merge",type:"keyword",info:"Merge[{assoc , assoc , …}, f] merges the associations assoc , using the function f to combine values"},{label:"MergeDifferences",type:"keyword",info:"System`MergeDifferences"},{label:"MergingFunction",type:"keyword",info:"MergingFunction is an option for functions such as PersistentSymbol that specifies a function to app"},{label:"MersennePrimeExponent",type:"keyword",info:" th\nMersennePrimeExponent[n] gives the n Mersenne prime expon"},{label:"MersennePrimeExponentQ",type:"keyword",info:"MersennePrimeExponentQ[n] returns True if n is a Mersenne prime exponent, and False otherwise."},{label:"Mesh",type:"keyword",info:"Mesh is an option for Plot3D, DensityPlot, and other plotting functions that specifies what mesh sho"},{label:"MeshCellCentroid",type:"keyword",info:"MeshCellCentroid is an annotation of MeshRegion and BoundaryMeshRegion objects that gives the centro"},{label:"MeshCellCount",type:"keyword",info:"MeshCellCount[mreg] gives a list {c , c , …} of counts c of cells of dimension d in the mesh region"},{label:"MeshCellHighlight",type:"keyword",info:"MeshCellHighlight is an option and annotation of MeshRegion, BoundaryMeshRegion, and related functio"},{label:"MeshCellIndex",type:"keyword",info:"MeshCellIndex[mreg, d] gives the cell indices for cells of dimension d in the mesh region mreg.MeshC"},{label:"MeshCellLabel",type:"keyword",info:"MeshCellLabel is an option to MeshRegion, BoundaryMeshRegion and related functions that specifies la"},{label:"MeshCellMarker",type:"keyword",info:"MeshCellMarker is an option to MeshRegion and BoundaryMeshRegion that specifies integer markers to a"},{label:"MeshCellMeasure",type:"keyword",info:"MeshCellMeasure is an annotation of MeshRegion and BoundaryMeshRegion objects that gives the measure"},{label:"MeshCellQuality",type:"keyword",info:"MeshCellQuality is an annotation of MeshRegion and BoundaryMeshRegion objects that gives a quality m"},{label:"MeshCells",type:"keyword",info:"MeshCells[mreg, d] gives the cells of dimension d in the mesh region mreg.MeshCells[mreg, cellspec] "},{label:"MeshCellShapeFunction",type:"keyword",info:"MeshCellShapeFunction is an option and annotation for MeshRegion, BoundaryMeshRegion, and related fu"},{label:"MeshCellStyle",type:"keyword",info:"MeshCellStyle is an option and annotation of MeshRegion, BoundaryMeshRegion, and related functions t"},{label:"MeshConnectivityGraph",type:"keyword",info:"MeshConnectivityGraph[mr, 0] gives a graph of points connected by lines.MeshConnectivityGraph[mr, d]"},{label:"MeshCoordinates",type:"keyword",info:"MeshCoordinates[mreg] gives a list of coordinates in the mesh region mreg."},{label:"MeshFunctions",type:"keyword",info:"MeshFunctions is an option for plotting functions that specifies functions to use to determine the p"},{label:"MeshPrimitives",type:"keyword",info:"MeshPrimitives[mreg, d] gives the graphics primitives for cells of dimension d in the mesh region mr"},{label:"MeshQualityGoal",type:"keyword",info:"MeshQualityGoal is an option for DiscretizeRegion and related functions that specifies a mesh cell q"},{label:"MeshRange",type:"keyword",info:"System`MeshRange"},{label:"MeshRefinementFunction",type:"keyword",info:"MeshRefinementFunction is an option for DiscretizeRegion and related functions that specifies a func"},{label:"MeshRegion",type:"keyword",info:"MeshRegion[{p , p , …}, {mcell [{i , …}], mcell [{j , …}], …}] yields a mesh with cells mcell , wher"},{label:"MeshRegionQ",type:"keyword",info:"MeshRegionQ[reg] yields True if the region reg is a valid MeshRegion object and False otherwise."},{label:"MeshShading",type:"keyword",info:"MeshShading is an option for plotting functions that gives lists of colors to use for regions betwee"},{label:"MeshStyle",type:"keyword",info:"MeshStyle is an option for Plot3D, DensityPlot, and other plotting functions that specifies the styl"},{label:"Message",type:"keyword",info:"Message[symbol :: tag] prints the message symbol :: tag unless it has been switched off. Message[sym"},{label:"MessageDialog",type:"keyword",info:"MessageDialog[expr] puts up a standard message dialog that displays expr together with an OK button."},{label:"MessageList",type:"keyword",info:" "},{label:"MessageName",type:"keyword",info:"symbol :: tag is a name for a message. "},{label:"MessageObject",type:"keyword",info:"System`MessageObject"},{label:"MessageOptions",type:"keyword",info:"System`MessageOptions"},{label:"MessagePacket",type:"keyword",info:"MessagePacket[symbol, string] is a WSTP packet containing a Wolfram Language message identifier of t"},{label:"Messages",type:"keyword",info:"Messages[symbol] gives all the messages assigned to a particular symbol. "},{label:"MessagesNotebook",type:"keyword",info:"System`MessagesNotebook"},{label:"MetaCharacters",type:"keyword",info:"MetaCharacters is an option to StringPosition. With MetaCharacters -> None, no strings have special "},{label:"MetaInformation",type:"keyword",info:"MetaInformation is an option giving meta-information for Image, CloudObject, and other objects."},{label:"MeteorShowerData",type:"keyword",info:"MeteorShowerData[entity, property] gives the value of the specified property for the meteor shower e"},{label:"Method",type:"keyword",info:"Method is an option for various algorithm-intensive functions that specifies what internal methods t"},{label:"MethodOptions",type:"keyword",info:"System`MethodOptions"},{label:"MexicanHatWavelet",type:"keyword",info:"MexicanHatWavelet[] represents the Mexican hat wavelet of width 1.MexicanHatWavelet[σ] represents th"},{label:"MeyerWavelet",type:"keyword",info:"MeyerWavelet[] represents the Meyer wavelet of order 3.MeyerWavelet[n] represents the Meyer wavelet "},{label:"Midpoint",type:"keyword",info:"Midpoint[{p , p }] gives the midpoint of the line segment connecting the points p and p .Midpoint[L"},{label:"MIMETypeToFormatList",type:"keyword",info:"MIMETypeToFormatList[] returns lists of file formats corresponding to all registered MIME types.MIME"},{label:"Min",type:"keyword",info:"Min[x , x , …] yields the numerically smallest of the x . Min[{x , x , …}, {y , …}, …] yields the sm"},{label:"MinColorDistance",type:"keyword",info:"MinColorDistance is an option for DominantColors that specifies the minimum distance between returne"},{label:"MinDate",type:"keyword",info:"MinDate[{date , date , …}] gives the earliest date of the date .MinDate[interval] gives the beginnin"},{label:"MinDetect",type:"keyword",info:"MinDetect[image] gives a binary image in which white pixels correspond to constant extended minima i"},{label:"MineralData",type:"keyword",info:"MineralData[entity, property] gives the value of the specified property for the mineral entity.Miner"},{label:"MinFilter",type:"keyword",info:" "},{label:"MinimalBy",type:"keyword",info:"MinimalBy[{e , e , …}, f] returns a list of the e for which the value of f[e ] is minimal.MinimalBy"},{label:"MinimalPolynomial",type:"keyword",info:"MinimalPolynomial[s, x] gives the minimal polynomial in x for which the algebraic number s is a root"},{label:"MinimalStateSpaceModel",type:"keyword",info:"MinimalStateSpaceModel[sys] gives the minimal state-space model of the state-space model sys.Minimal"},{label:"Minimize",type:"keyword",info:"Minimize[f, x] minimizes f exactly with respect to x.Minimize[f, {x, y, …}] minimizes f exactly with"},{label:"MinimumTimeIncrement",type:"keyword",info:"MinimumTimeIncrement[tseries] gives the minimum time increment in the time series tseries."},{label:"MinIntervalSize",type:"keyword",info:"MinIntervalSize is an option for IntervalSlider that specifies the minimum size of the interval duri"},{label:"MinkowskiQuestionMark",type:"keyword",info:"MinkowskiQuestionMark[x] gives Minkowski's question mark function ? (x)."},{label:"MinLimit",type:"keyword",info:" * * * "},{label:"MinMax",type:"keyword",info:"MinMax[list] gives the list {Min[list], Max[list]}.MinMax[list, Î.b4] gives {Min[list] - Î.b4, Max[list] +"},{label:"MinorPlanetData",type:"keyword",info:"MinorPlanetData[entity, property] gives the value of the specified property for the minor planet ent"},{label:"Minors",type:"keyword",info:" th\nMinors[m] gives the minors of"},{label:"MinPointSeparation",type:"keyword",info:"MinPointSeparation is an option for GeoGraphValuePlot that determines when to merge nearby vertices "},{label:"MinRecursion",type:"keyword",info:"MinRecursion is an option for NIntegrate and other numerical functions that use a recursive algorith"},{label:"MinSize",type:"keyword",info:"MinSize is an option of certain BoxForm primitives."},{label:"MinStableDistribution",type:"keyword",info:"MinStableDistribution[μ, σ, ξ] represents a generalized minimum extreme value distribution with loca"},{label:"Minus",type:"keyword",info:"-x is the arithmetic negation of x. "},{label:"MinusPlus",type:"keyword",info:"MinusPlus[x] displays as ∓ x.MinusPlus[x, y, …] displays as x ∓ y ∓ ….\n"},{label:"MinValue",type:"keyword",info:"MinValue[f, x] gives the minimum value of f with respect to x.MinValue[f, {x, y, …}] gives the exact"},{label:"Missing",type:"keyword",info:'Missing[] represents data that is missing.Missing["reason"] specifies a reason for the data\'s being '},{label:"MissingBehavior",type:"keyword",info:"MissingBehavior is an option to Query and related functions that specifies how expressions with head"},{label:"MissingDataMethod",type:"keyword",info:"MissingDataMethod is an option to TemporalData and other functions that controls how to process miss"},{label:"MissingDataRules",type:"keyword",info:"MissingDataRules is an option for SemanticImport and related functions that specifies what should be"},{label:"MissingQ",type:"keyword",info:"MissingQ[expr] gives True if expr has head Missing."},{label:"MissingString",type:"keyword",info:"MissingString is an option for TextString and related functions that indicates how an expression wit"},{label:"MissingStyle",type:"keyword",info:"MissingStyle is an option for GeoRegionValuePlot that specifies how locations with missing data shou"},{label:"MissingValuePattern",type:"keyword",info:"MissingValuePattern is an option for SynthesizeMissingValues to specify which elements are considere"},{label:"MissingValueSynthesis",type:"keyword",info:"MissingValueSynthesis is an option for functions such as Classify that specifies how missing values "},{label:"MittagLefflerE",type:"keyword",info:"MittagLefflerE[Î\\[PlusMinus], z] gives the Mittag–Leffler function E (z).MittagLefflerE[Î\\[PlusMinus], Î.b2, z] gives the gener"},{label:"MixedFractionParts",type:"keyword",info:"MixedFractionParts[expr] gives the list {IntegerPart[expr], FractionalPart[expr]}."},{label:"MixedGraphQ",type:"keyword",info:"MixedGraphQ[g] yields True if the graph g is a mixed graph and False otherwise. "},{label:"MixedMagnitude",type:"keyword",info:"MixedMagnitude[{val , val , …, val }] represents a mixed-magnitude expression consisting of values v"},{label:"MixedRadix",type:"keyword",info:"MixedRadix[{b , …, b }] represents the list of bases of a numerical system in which different digits"},{label:"MixedRadixQuantity",type:"keyword",info:"MixedRadixQuantity[{value , …, value }, {unit , …, unit }] yields a single Quantity expression repre"},{label:"MixedUnit",type:"keyword",info:"MixedUnit[{unit , unit , …, unit }] represents a mixed-unit expression consisting of units unit thr"},{label:"MixtureDistribution",type:"keyword",info:"MixtureDistribution[{w , …, w }, {dist , …, dist }] represents a mixture distribution whose CDF is g"},{label:"Mod",type:"keyword",info:"Mod[m, n] gives the remainder on division of m by n. Mod[m, n, d] uses an offset d. \n"},{label:"Modal",type:"keyword",info:"Modal is an option to functions such as CreateDialog that specifies whether the dialog that is creat"},{label:"Mode",type:"keyword",info:"Mode is an option to Eliminate and related functions that specifies in what sense the equations are "},{label:"Modular",type:"keyword",info:"Modular is a setting for the option Mode in Solve and related functions, which specifies that equati"},{label:"ModularInverse",type:"keyword",info:"ModularInverse[k, n] gives the modular inverse of k modulo n."},{label:"ModularLambda",type:"keyword",info:"ModularLambda[τ] gives the modular lambda elliptic function λ(τ). "},{label:"Module",type:"keyword",info:"Module[{x, y, …}, expr] specifies that occurrences of the symbols x, y, … in expr should be treated "},{label:"Modulus",type:"keyword",info:"Modulus  n is an option that can be given in certain algebraic functions to specify that integers s"},{label:"MoebiusMu",type:"keyword",info:"MoebiusMu[n] gives the MÃ\\[Paragraph]bius function μ(n). "},{label:"Molecule",type:"keyword",info:"Molecule[{atom , atom , …}, {bond , bond , …}] represents a molecule with atoms atom and bonds bond"},{label:"MoleculeAlign",type:"keyword",info:"MoleculeAlign[ref, mol] returns a version of mol that is aligned with reference molecule ref.Molecul"},{label:"MoleculeContainsQ",type:"keyword",info:"MoleculeContainsQ[molecule, patt] returns True if patt is a substructure of molecule, and False othe"},{label:"MoleculeDraw",type:"keyword",info:"MoleculeDraw[] displays a window with interactive tools for drawing a Molecule, and returns the resu"},{label:"MoleculeEquivalentQ",type:"keyword",info:"MoleculeEquivalentQ[mol , mol ] gives True if mol and mol represent equivalent molecules and gives"},{label:"MoleculeFreeQ",type:"keyword",info:"MoleculeFreeQ[molecule, patt] returns True if patt is not a substructure of molecule, and False othe"},{label:"MoleculeGraph",type:"keyword",info:"MoleculeGraph[mol] returns a graph constructed from the molecule mol."},{label:"MoleculeMatchQ",type:"keyword",info:"MoleculeMatchQ[mol, patt] returns True if the Molecule matches the given pattern.MoleculeMatchQ[patt"},{label:"MoleculeMaximumCommonSubstructure",type:"keyword",info:"MoleculeMaximumCommonSubstructure[{mol , mol , …}] returns a molecule pattern representing the large"},{label:"MoleculeModify",type:"keyword",info:'MoleculeModify[mol, "mod"] gives a molecule or list of molecules derived from the molecule mol by ap'},{label:"MoleculeName",type:"keyword",info:"MoleculeName[mol] attempts to return the systematic chemical name for the given molecule.MoleculeNam"},{label:"MoleculePattern",type:"keyword",info:"MoleculePattern[{atom , atom , … }, { bond , bond , … }] represents a molecule pattern with atoms at"},{label:"MoleculePlot",type:"keyword",info:"MoleculePlot[mol] creates a two-dimensional structure diagram of the molecule mol.MoleculePlot[mol, "},{label:"MoleculePlot3D",type:"keyword",info:"MoleculePlot3D[mol] creates a three-dimensional model of the molecule mol.MoleculePlot3D[mol, patt] "},{label:"MoleculeProperty",type:"keyword",info:"MoleculeProperty[pname] represents a property identified by pname for use in MoleculeValue.MoleculeP"},{label:"MoleculeQ",type:"keyword",info:"MoleculeQ[mol] returns True if mol is a valid Molecule expression, and False otherwise."},{label:"MoleculeRecognize",type:"keyword",info:"MoleculeRecognize[image] recognizes a molecule in image and returns it as a Molecule object."},{label:"MoleculeSubstructureCount",type:"keyword",info:"MoleculeSubstructureCount[mol, patt] gives a count of the number of times patt appears as a substruc"},{label:"MoleculeValue",type:"keyword",info:"MoleculeValue[molecule, property] gives the value of the specified property for the given molecule.M"},{label:"Moment",type:"keyword",info:" th th "},{label:"MomentConvert",type:"keyword",info:"MomentConvert[mexpr, form] converts the moment expression mexpr to the specified form. "},{label:"MomentEvaluate",type:"keyword",info:"MomentEvaluate[mexpr, dist] evaluates formal moments in the moment expression mexpr on the distribut"},{label:"MomentGeneratingFunction",type:"keyword",info:"MomentGeneratingFunction[dist, t] gives the moment-generating function for the distribution dist as "},{label:"MomentOfInertia",type:"keyword",info:"MomentOfInertia[reg, pt, v] computes the moment of inertia for the region reg rotating around an axi"},{label:"Monday",type:"keyword",info:"Monday is a day of the week."},{label:"Monitor",type:"keyword",info:"Monitor[expr, mon] generates a temporary monitor cell in which the continually updated current value"},{label:"MonomialList",type:"keyword",info:"MonomialList[poly] gives the list of all monomials in the polynomial poly.MonomialList[poly, {x , x "},{label:"MonomialOrder",type:"keyword",info:"System`MonomialOrder"},{label:"MonsterGroupM",type:"keyword",info:"MonsterGroupM[] represents the sporadic simple monster group M."},{label:"MoonPhase",type:"keyword",info:"MoonPhase[] gives moon phase fraction of illumination for the current date.MoonPhase[datespec] gives"},{label:"MoonPosition",type:"keyword",info:"MoonPosition[] gives the position of the Moon for the current date and location.MoonPosition[datespe"},{label:"MorletWavelet",type:"keyword",info:"MorletWavelet[] represents a Morlet wavelet. "},{label:"MorphologicalBinarize",type:"keyword",info:"MorphologicalBinarize[image, {t , t }] creates a binary image from image by replacing all values abo"},{label:"MorphologicalBranchPoints",type:"keyword",info:"MorphologicalBranchPoints[image] gives a version of a binary image image in which white pixels repre"},{label:"MorphologicalComponents",type:"keyword",info:"MorphologicalComponents[image] gives an array in which each pixel of image is replaced by an integer"},{label:"MorphologicalEulerNumber",type:"keyword",info:"MorphologicalEulerNumber[image] computes the morphological Euler number of regions in a binary image"},{label:"MorphologicalGraph",type:"keyword",info:"MorphologicalGraph[image] gives a graph object that represents the connectivity of the morphological"},{label:"MorphologicalPerimeter",type:"keyword",info:"MorphologicalPerimeter[image] picks out the morphological perimeter of regions of foreground in imag"},{label:"MorphologicalTransform",type:"keyword",info:"MorphologicalTransform[image, f] applies the function f to the 3×3 neighborhood of each pixel in a b"},{label:"MortalityData",type:"keyword",info:"MortalityData[spec] gives the values of all properties for the specified demographic.MortalityData[s"},{label:"Most",type:"keyword",info:"Most[expr] gives expr with the last element removed. "},{label:"MountainData",type:"keyword",info:"MountainData[entity, property] gives the value of the specified property for the mountain entity.Mou"},{label:"MouseAnnotation",type:"keyword",info:"MouseAnnotation[] gives any mouse annotation associated with the expression at the current mouse pos"},{label:"MouseAppearance",type:"keyword",info:"MouseAppearance[expr, graphic] changes the mouse cursor to appear as graphic when the mouse pointer "},{label:"MouseAppearanceTag",type:"keyword",info:"System`MouseAppearanceTag"},{label:"MouseButtons",type:"keyword",info:"MouseButtons[] gives a list of the mouse buttons currently being pressed."},{label:"Mouseover",type:"keyword",info:"Mouseover[expr, over] represents an object that displays as over when the mouse pointer is over it, "},{label:"MousePointerNote",type:"keyword",info:"System`MousePointerNote"},{label:"MousePosition",type:"keyword",info:'MousePosition[] gives the current mouse position in the notebook front end. MousePosition["coords"] '},{label:"MovieData",type:"keyword",info:"MovieData[entity, property] gives the value of the specified property for the movie entity.MovieData"},{label:"MovingAverage",type:"keyword",info:"MovingAverage[list, r] gives the moving average of list, computed by averaging runs of r elements.Mo"},{label:"MovingMap",type:"keyword",info:"MovingMap[f, data, w] applies f to size w windows in the specified data.MovingMap[f, data, wspec] us"},{label:"MovingMedian",type:"keyword",info:"MovingMedian[list, r] gives the moving median of list, computed using spans of r elements."},{label:"MoyalDistribution",type:"keyword",info:"MoyalDistribution[μ, σ] represents a Moyal distribution with location parameter μ and scale paramete"},{label:"MultiaxisArrangement",type:"keyword",info:"MultiaxisArrangement is an option to plotting functions that specifies how multiple axes are arrange"},{label:"Multicolumn",type:"keyword",info:"Multicolumn[list, cols] is an object that formats with the elements of list arranged in a grid with "},{label:"MultiedgeStyle",type:"keyword",info:"MultiedgeStyle is an option for GraphPlot and related functions that specifies how to draw multiple "},{label:"MultigraphQ",type:"keyword",info:"MultigraphQ[g] yields True if the graph g is a multigraph and False otherwise."},{label:"MultilaunchWarning",type:"keyword",info:"MultilaunchWarning is a global option that specifies whether a warning is given when you try to modi"},{label:"MultiLetterItalics",type:"keyword",info:"System`MultiLetterItalics"},{label:"MultiLetterStyle",type:"keyword",info:"System`MultiLetterStyle"},{label:"MultilineFunction",type:"keyword",info:"MultilineFunction is an option for UnderscriptBox and related box objects that specifies what to do "},{label:"Multinomial",type:"keyword",info:"Multinomial[n , n , …] gives the multinomial coefficient (n + n + …) !/(n ! n ! …). \n "},{label:"MultinomialDistribution",type:"keyword",info:"MultinomialDistribution[n, {p , p , …, p }] represents a multinomial distribution with n trials and "},{label:"MultinormalDistribution",type:"keyword",info:"MultinormalDistribution[μ, Σ] represents a multivariate normal (Gaussian) distribution with mean vec"},{label:"MultiplicativeOrder",type:"keyword",info:" "},{label:"Multiplicity",type:"keyword",info:"Multiplicity is an option to Roots. Multiplicity -> n specifies that the multiplicity of each of the"},{label:"MultiplySides",type:"keyword",info:"MultiplySides[rel, x] multiplies each side of the equation or inequality rel by x.MultiplySides[rel "},{label:"Multiselection",type:"keyword",info:"Multiselection is an option to ListPicker that specifies whether multiple values may be selected."},{label:"MultivariateHypergeometricDistribution",type:"keyword",info:"MultivariateHypergeometricDistribution[n, {m , m , …, m }] represents a multivariate hypergeometric "},{label:"MultivariatePoissonDistribution",type:"keyword",info:"MultivariatePoissonDistribution[μ , {μ , μ , …}] represents a multivariate Poisson distribution with"},{label:"MultivariateTDistribution",type:"keyword",info:"MultivariateTDistribution[Σ, ν] represents the multivariate Student t distribution with scale matrix"},{label:"N",type:"keyword",info:"N[expr] gives the numerical value of expr. N[expr, n] attempts to give a result with n‐digit precisi"},{label:"NakagamiDistribution",type:"keyword",info:"NakagamiDistribution[μ, ω] represents a Nakagami distribution with shape parameter μ and spread para"},{label:"NameQ",type:"keyword",info:'NameQ["string"] yields True if there are any symbols whose names match the string pattern given, and'},{label:"Names",type:"keyword",info:'Names["string"] gives a list of the names of symbols that match the string. Names[patt] gives a list'},{label:"NamespaceBox",type:"keyword",info:"System`NamespaceBox"},{label:"NamespaceBoxOptions",type:"keyword",info:"System`NamespaceBoxOptions"},{label:"Nand",type:"keyword",info:"Nand[e , e , …] is the logical NAND function. It evaluates its arguments in order, giving True immed"},{label:"NArgMax",type:"keyword",info:"NArgMax[f, x] gives a position x at which f is numerically maximized.NArgMax[f, {x, y, …}] gives "},{label:"NArgMin",type:"keyword",info:"NArgMin[f, x] gives a position x at which f is numerically minimized.NArgMin[f, {x, y, …}] gives "},{label:"NBernoulliB",type:"keyword",info:" th\nNBernoulliB[n] gives the numerical value of the"},{label:"NBodySimulation",type:"keyword",info:"NBodySimulation[law, {state , …, state }, t] generates a simulation of the motion of a system of n b"},{label:"NBodySimulationData",type:"keyword",info:"NBodySimulationData[data…] represents the result of an n-body simulation."},{label:"NCache",type:"keyword",info:"NCache[x, xn] represents a numeric cache object for a quantity with exact value x and approximate nu"},{label:"NDEigensystem",type:"keyword",info:"NDEigensystem[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues and eig"},{label:"NDEigenvalues",type:"keyword",info:"NDEigenvalues[ℒ[u[x, y, …]], u, {x, y, …} ∈ Ω, n] gives the n smallest magnitude eigenvalues for the"},{label:"NDSolve",type:"keyword",info:"NDSolve[eqns, u, {x, x , x }] finds a numerical solution to the ordinary differential equations "},{label:"NDSolveValue",type:"keyword",info:"NDSolveValue[eqns, expr, {x, x , x }] gives the value of expr with functions determined by a num"},{label:"Nearest",type:"keyword",info:"Nearest[{elem , elem , …}, x] gives the list of elem to which x is nearest. Nearest[{elem  v , el"},{label:"NearestFunction",type:"keyword",info:"NearestFunction[data] represents a function whose values give the elements closest to an element tha"},{label:"NearestMeshCells",type:"keyword",info:"NearestMeshCells[mr, pt] gives the indices for the cells to which the point pt is nearest in the mes"},{label:"NearestNeighborG",type:"keyword",info:"NearestNeighborG[pdata, r] estimates the nearest neighbor function G(r) at radius r in the point dat"},{label:"NearestNeighborGraph",type:"keyword",info:"NearestNeighborGraph[{elem , elem , …}] gives a graph with vertices elem , elem , … and edges connec"},{label:"NearestTo",type:"keyword",info:"NearestTo[x] is an operator form that yields Nearest[elems, x] when applied to a list elems.NearestT"},{label:"NebulaData",type:"keyword",info:"NebulaData[entity, property] gives the value of the specified property for the nebula entity.NebulaD"},{label:"NeedlemanWunschSimilarity",type:"keyword",info:"NeedlemanWunschSimilarity[u, v] gives a number representing the Needleman–Wunsch similarity between "},{label:"Needs",type:"keyword",info:'Needs["context`"] loads an appropriate file if the specified context is not already in ECPackages. Ne'},{label:"Negative",type:"keyword",info:"Negative[x] gives True if x is a negative number. "},{label:"NegativeBinomialDistribution",type:"keyword",info:"NegativeBinomialDistribution[n, p] represents a negative binomial distribution with parameters n and"},{label:"NegativeDefiniteMatrixQ",type:"keyword",info:"NegativeDefiniteMatrixQ[m] gives True if m is explicitly negative definite, and False otherwise."},{label:"NegativeIntegers",type:"keyword",info:"NegativeIntegers represents the domain of strictly negative integers, as in x ∈ NegativeIntegers. "},{label:"NegativelyOrientedPoints",type:"keyword",info:"NegativelyOrientedPoints[{p , p , p , …, p }] tests whether the sequence of points p , p , p , …, p "},{label:"NegativeMultinomialDistribution",type:"keyword",info:"NegativeMultinomialDistribution[n, p] represents a negative multinomial distribution with parameter "},{label:"NegativeRationals",type:"keyword",info:"NegativeRationals represents the domain of strictly negative rational numbers, as in x ∈ NegativeRat"},{label:"NegativeReals",type:"keyword",info:"NegativeReals represents the domain of strictly negative real numbers."},{label:"NegativeSemidefiniteMatrixQ",type:"keyword",info:"NegativeSemidefiniteMatrixQ[m] gives True if m is explicitly negative semidefinite, and False otherw"},{label:"NeighborhoodData",type:"keyword",info:"NeighborhoodData[entity, property] gives the value of the specified property for the neighborhood en"},{label:"NeighborhoodGraph",type:"keyword",info:"NeighborhoodGraph[g, v] gives the graph neighborhood of a vertex v in the graph g.NeighborhoodGraph["},{label:"Nest",type:"keyword",info:"Nest[f, expr, n] gives an expression with f applied n times to expr. "},{label:"NestedGreaterGreater",type:"keyword",info:"NestedGreaterGreater[x, y, …] displays as x ⪢ y ⪢ …."},{label:"NestedLessLess",type:"keyword",info:"NestedLessLess[x, y, …] displays as x ⪡ y ⪡ …."},{label:"NestedScriptRules",type:"keyword",info:"System`NestedScriptRules"},{label:"NestGraph",type:"keyword",info:"NestGraph[f, expr, n] gives the graph obtained by starting with expr and applying f successively n t"},{label:"NestList",type:"keyword",info:"NestList[f, expr, n] gives a list of the results of applying f to expr 0 through n times. "},{label:"NestTree",type:"keyword",info:"NestTree[f, tree] gives the tree obtained by applying f to the data in the leaves of tree and extend"},{label:"NestWhile",type:"keyword",info:"NestWhile[f, expr, test] starts with expr, then repeatedly applies f until applying test to the resu"},{label:"NestWhileList",type:"keyword",info:"NestWhileList[f, expr, test] generates a list of the results of applying f repeatedly, starting with"},{label:"NetAppend",type:"keyword",info:"NetAppend[net, layer] appends a layer or a net onto a NetChain, a layer or a NetGraph with one outpu"},{label:"NetArray",type:"keyword",info:'NetArray[] represents an array in a net.NetArray["name"] uses "name" as an identifier to share the a'},{label:"NetArrayLayer",type:"keyword",info:"NetArrayLayer[] represents a layer that has no input and produces as output a constant array.NetArra"},{label:"NetBidirectionalOperator",type:"keyword",info:"NetBidirectionalOperator[net] represents a net that applies net to a sequence and to its reverse, co"},{label:"NetChain",type:"keyword",info:"NetChain[{layer , layer , …}] specifies a neural net in which the output of layer is connected to t"},{label:"NetDecoder",type:"keyword",info:'NetDecoder["name"] represents a decoder that takes a net representation and decodes it into an expre'},{label:"NetDelete",type:"keyword",info:" th\nNetDelete[net, n] deletes the n layer from a NetChain or NetGr"},{label:"NetDrop",type:"keyword",info:"NetDrop[chain, n] removes the first n layers from a NetChain.NetDrop[chain, -n] removes the last n l"},{label:"NetEncoder",type:"keyword",info:'NetEncoder["name"] represents an encoder that takes a given form of input and encodes it as an array'},{label:"NetEvaluationMode",type:"keyword",info:"NetEvaluationMode is an option that can be given when applying neural net functions to input data, s"},{label:"NetExtract",type:"keyword",info:'NetExtract[layer, "param"] extracts the value of a parameter for the specified net layer.NetExtract['},{label:"NetFlatten",type:"keyword",info:"NetFlatten[net] collapses nested NetChain and NetGraph objects within net.NetFlatten[net, n] collaps"},{label:"NetFoldOperator",type:"keyword",info:"NetFoldOperator[net] represents a net in which net is folded over a sequence of inputs, maintaining "},{label:"NetGANOperator",type:"keyword",info:"NetGANOperator[{generator, discriminator}] represents a network to perform generative adversarial ne"},{label:"NetGraph",type:"keyword",info:"NetGraph[{layer , layer , …}, {m  n , m  n , …}] specifies a neural net defined by a graph in wh"},{label:"NetInformation",type:"keyword",info:'NetInformation[net] gives a report about the neural network net.NetInformation[net, "prop"] gives th'},{label:"NetInitialize",type:"keyword",info:"NetInitialize[net] gives a net in which all uninitialized learnable parameters in net have been give"},{label:"NetInsert",type:"keyword",info:"NetInsert[chain, layer, i] inserts a layer into a NetChain before the layer at position i.NetInsert["},{label:"NetInsertSharedArrays",type:"keyword",info:"NetInsertSharedArrays[net] converts all ordinary arrays in net into NetSharedArray objects.NetInsert"},{label:"NetJoin",type:"keyword",info:"NetJoin[net , net , …] connects a series of NetChain or NetGraph objects to form a single NetChain o"},{label:"NetMapOperator",type:"keyword",info:"NetMapOperator[net] represents a net in which net is mapped over a sequence of inputs to give a sequ"},{label:"NetMapThreadOperator",type:"keyword",info:"NetMapThreadOperator[mapnet] represents a net in which mapnet is mapped over one or more inputs to g"},{label:"NetMeasurements",type:"keyword",info:"NetMeasurements[net, data, measurement] computes the requested measurement for the net evaluated on "},{label:"NetModel",type:"keyword",info:'NetModel["name"] obtains a neural net model with the specified name from the Neural Net Repository. '},{label:"NetNestOperator",type:"keyword",info:"NetNestOperator[net, n] represents a net in which net is applied n times to the input."},{label:"NetPairEmbeddingOperator",type:"keyword",info:"NetPairEmbeddingOperator[net] represents a net that takes a pair of arrays, embeds them into a vecto"},{label:"NetPort",type:"keyword",info:'NetPort["port"] represents the specified input or output port for a complete net.NetPort[{n, "port"}'},{label:"NetPortGradient",type:"keyword",info:'NetPortGradient["port"] represents the gradient of the output of a net with respect to the value of '},{label:"NetPrepend",type:"keyword",info:"NetPrepend[net, layer] prepends a layer or a net onto a NetChain, a layer or a NetGraph with one inp"},{label:"NetRename",type:"keyword",info:'NetRename[net, "old"  "new"] gives a net in which the name old for a layer is replaced with new.Net'},{label:"NetReplace",type:"keyword",info:"NetReplace[net, patt  layer] gives a net in which all layers matching patt are replaced with layer."},{label:"NetReplacePart",type:"keyword",info:'NetReplacePart[layer, "array"  value] replaces an array within a layer, returning a new layer.NetRe'},{label:"NetSharedArray",type:"keyword",info:'NetSharedArray["name"] represents an array in a net that is shared by more than one layer.'},{label:"NetStateObject",type:"keyword",info:"NetStateObject[net] creates an object derived from net that represents a neural net with additional "},{label:"NetTake",type:"keyword",info:"NetTake[net, end] takes only those layers up to end in a NetChain or NetGraph.NetTake[net, {start, e"},{label:"NetTrain",type:"keyword",info:"NetTrain[net, {input  output , input  output , …}] trains the specified neural net by giving the"},{label:"NetTrainResultsObject",type:"keyword",info:"NetTrainResultsObject[…] represents an object generated by NetTrain that contains the trained net an"},{label:"NetUnfold",type:"keyword",info:"NetUnfold[fnet] produces the elementary net of the folded net fnet, exposing the recurrent states."},{label:"NetworkPacketCapture",type:"keyword",info:"NetworkPacketCapture[] creates a temporary interactive interface for capturing information on networ"},{label:"NetworkPacketRecording",type:"keyword",info:"NetworkPacketRecording[t] records information on network packets transmitted or received through all"},{label:"NetworkPacketRecordingDuring",type:"keyword",info:"System`NetworkPacketRecordingDuring"},{label:"NetworkPacketTrace",type:"keyword",info:"NetworkPacketTrace[expr] evaluates expr and returns information on network packets transmitted or re"},{label:"NeumannValue",type:"keyword",info:"NeumannValue[val, pred] represents a Neumann boundary value val, specified on the part of the bounda"},{label:"NevilleThetaC",type:"keyword",info:"NevilleThetaC[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NevilleThetaD",type:"keyword",info:"NevilleThetaD[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NevilleThetaN",type:"keyword",info:"NevilleThetaN[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NevilleThetaS",type:"keyword",info:"NevilleThetaS[z, m] gives the Neville theta function ϑ (z ï.b2 m). \n "},{label:"NewPrimitiveStyle",type:"keyword",info:"System`NewPrimitiveStyle"},{label:"NExpectation",type:"keyword",info:"NExpectation[expr, x  dist] gives the numerical expectation of expr under the assumption that x fol"},{label:"Next",type:"keyword",info:"System`Next"},{label:"NextCell",type:"keyword",info:"NextCell[] returns the CellObject corresponding to the cell directly below the currently evaluating "},{label:"NextDate",type:"keyword",info:"NextDate[gran] gives the next occurring date of the specified granularity type gran.NextDate[daytype"},{label:"NextPrime",type:"keyword",info:" th\nNextPrime[x] gives the "},{label:"NextScheduledTaskTime",type:"keyword",info:"NextScheduledTaskTime[obj] gives the next execution time of the scheduled task represented by obj."},{label:"NeymanScottPointProcess",type:"keyword",info:" "},{label:"NHoldAll",type:"keyword",info:"NHoldAll is an attribute which specifies that none of the arguments to a function should be affected"},{label:"NHoldFirst",type:"keyword",info:"NHoldFirst is an attribute which specifies that the first argument to a function should not be affec"},{label:"NHoldRest",type:"keyword",info:"NHoldRest is an attribute which specifies that all but the first argument to a function should not b"},{label:"NicholsGridLines",type:"keyword",info:"NicholsGridLines is an option to NicholsPlot that specifies contours of constant magnitude and const"},{label:"NicholsPlot",type:"keyword",info:"NicholsPlot[lsys] generates a Nichols plot of the transfer function for the system lsys.NicholsPlot["},{label:"NightHemisphere",type:"keyword",info:"NightHemisphere[] is a two-dimensional GeoGraphics primitive that represents the half of the Earth c"},{label:"NIntegrate",type:"keyword",info:" x "},{label:"NMaximize",type:"keyword",info:"NMaximize[f, x] maximizes f numerically with respect to x.NMaximize[f, {x, y, …}] maximizes f numeri"},{label:"NMaxValue",type:"keyword",info:"NMaxValue[f, x] gives the maximum value of f with respect to x.NMaxValue[f, {x, y, …}] gives the max"},{label:"NMinimize",type:"keyword",info:"NMinimize[f, x] minimizes f numerically with respect to x.NMinimize[f, {x, y, …}] minimizes f numeri"},{label:"NMinValue",type:"keyword",info:"NMinValue[f, x] gives the minimum value of f with respect to x.NMinValue[f, {x, y, …}] gives the min"},{label:"NominalVariables",type:"keyword",info:"NominalVariables is an option for statistical functions such as LinearModelFit that specifies which "},{label:"NonAssociative",type:"keyword",info:"NonAssociative is a symbol that represents a non-associative operator in formatting functions."},{label:"NoncentralBetaDistribution",type:"keyword",info:"NoncentralBetaDistribution[Î\\[PlusMinus], Î.b2, Î.b4] represents a noncentral beta distribution with shape parameters "},{label:"NoncentralChiSquareDistribution",type:"keyword",info:" 2\nNoncentralChiSquareDistribution[ν, "},{label:"NoncentralFRatioDistribution",type:"keyword",info:"NoncentralFRatioDistribution[n, m, λ] represents a noncentral F-ratio distribution with n numerator "},{label:"NoncentralStudentTDistribution",type:"keyword",info:"NoncentralStudentTDistribution[ν, Î.b4] represents a noncentral Student t distribution with ν degrees o"},{label:"NonCommutativeMultiply",type:"keyword",info:"a ** b ** c is a general associative, but non‐commutative, form of multiplication. "},{label:"NonConstants",type:"keyword",info:"NonConstants is an option for D which gives a list of objects to be taken to depend implicitly on th"},{label:"NondimensionalizationTransform",type:"keyword",info:"NondimensionalizationTransform[eq, ovars, fvars] nondimensionalizes eq, replacing original variables"},{label:"None",type:"keyword",info:"None is a setting used for certain options. "},{label:"NoneTrue",type:"keyword",info:"NoneTrue[{e , e , …}, test] yields True if test[e ] is False for all of the e .NoneTrue[expr, test, "},{label:"NonlinearModelFit",type:"keyword",info:"NonlinearModelFit[{y , y , …}, form, {Î.b2 , …}, x] constructs a nonlinear model with structure form th"},{label:"NonlinearStateSpaceModel",type:"keyword",info:"NonlinearStateSpaceModel[{f, g}, x, u] represents the model x ' (t) ï\\[PlusMinus] f(x(t), u(t)), y(t) ï\\[PlusMinus] g(x(t), "},{label:"NonlocalMeansFilter",type:"keyword",info:"NonlocalMeansFilter[image, r] applies a nonlocal means filter to image by comparing a range r neighb"},{label:"NonNegative",type:"keyword",info:"NonNegative[x] gives True if x is a non‐negative number. "},{label:"NonNegativeIntegers",type:"keyword",info:"NonNegativeIntegers represents the domain of non-negative integers, as in x ∈ NonNegativeIntegers. "},{label:"NonNegativeRationals",type:"keyword",info:"NonNegativeRationals represents the domain of non-negative rational numbers, as in x ∈ NonNegativeRa"},{label:"NonNegativeReals",type:"keyword",info:"NonNegativeReals represents the domain of non-negative real numbers."},{label:"NonPositive",type:"keyword",info:"NonPositive[x] gives True if x is a non‐positive number. "},{label:"NonPositiveIntegers",type:"keyword",info:"NonPositiveIntegers represents the domain of non-positive integers, as in x ∈ NonPositiveIntegers. "},{label:"NonPositiveRationals",type:"keyword",info:"NonPositiveRationals represents the domain of non-positive rational numbers, as in x ∈ NonPositiveRa"},{label:"NonPositiveReals",type:"keyword",info:"NonPositiveReals represents the domain of non-positive real numbers."},{label:"Nor",type:"keyword",info:"Nor[e , e , …] is the logical NOR function. It evaluates its arguments in order, giving False immedi"},{label:"NorlundB",type:"keyword",info:" (a) "},{label:"Norm",type:"keyword",info:"Norm[expr] gives the norm of a number, vector, or matrix. Norm[expr, p] gives the p‐norm. \n"},{label:"Normal",type:"keyword",info:"Normal[expr] converts expr to a normal expression from a variety of special forms. Normal[expr, h] c"},{label:"NormalDistribution",type:"keyword",info:"NormalDistribution[μ, σ] represents a normal (Gaussian) distribution with mean μ and standard deviat"},{label:"NormalGrouping",type:"keyword",info:"System`NormalGrouping"},{label:"NormalizationLayer",type:"keyword",info:"NormalizationLayer[] represents a trainable net layer that normalizes its input data across the seco"},{label:"Normalize",type:"keyword",info:"Normalize[v] gives the normalized form of a vector v. Normalize[z] gives the normalized form of a co"},{label:"Normalized",type:"keyword",info:"Normalized is an option that determines whether to test if matrix rows are normalized."},{label:"NormalizedSquaredEuclideanDistance",type:"keyword",info:"NormalizedSquaredEuclideanDistance[u, v] gives the normalized squared Euclidean distance between vec"},{label:"NormalMatrixQ",type:"keyword",info:"NormalMatrixQ[m] gives True if m is an explicitly normal matrix, and False otherwise."},{label:"NormalsFunction",type:"keyword",info:"NormalsFunction is an option for Plot3D and related functions that specifies a function to apply to "},{label:"NormFunction",type:"keyword",info:"NormFunction is an option for functions such as FindFit and NDSolve which gives a function to be min"},{label:"Not",type:"keyword",info:"! expr is the logical NOT function. It gives False if expr is True, and True if it is False. "},{label:"NotCongruent",type:"keyword",info:"NotCongruent[x, y, …] displays as x ≢ y ≢ …."},{label:"NotCupCap",type:"keyword",info:"NotCupCap[x, y, …] displays as x ≭ y ≭ …."},{label:"NotDoubleVerticalBar",type:"keyword",info:"NotDoubleVerticalBar[x, y, …] displays as x ∦ y ∦ …."},{label:"Notebook",type:"keyword",info:"Notebook[{cell , cell , …}] is the low‐level construct that represents a notebook manipulated by the"},{label:"NotebookApply",type:"keyword",info:"NotebookApply[notebook, data] writes data into a notebook at the current selection, replacing the fi"},{label:"NotebookAutoSave",type:"keyword",info:"NotebookAutoSave is a notebook option that specifies whether the notebook should automatically be sa"},{label:"NotebookBrowseDirectory",type:"keyword",info:"NotebookBrowseDirectory is a global option that determines the current working directory."},{label:"NotebookClose",type:"keyword",info:"NotebookClose[notebook] closes the notebook corresponding to the specified notebook object. Notebook"},{label:"NotebookConvertSettings",type:"keyword",info:"NotebookConvertSettings is a global option that specifies settings for converting imported legacy no"},{label:"NotebookCreate",type:"keyword",info:"NotebookCreate[] creates a new open notebook in the front end. NotebookCreate[options] sets up the s"},{label:"NotebookCreateReturnObject",type:"keyword",info:"System`NotebookCreateReturnObject"},{label:"NotebookDefault",type:"keyword",info:"System`NotebookDefault"},{label:"NotebookDelete",type:"keyword",info:"NotebookDelete[notebook] deletes the current selection in the notebook corresponding to the specifie"},{label:"NotebookDirectory",type:"keyword",info:"NotebookDirectory[] gives the directory of the current evaluation notebook. NotebookDirectory[nb] gi"},{label:"NotebookDynamicExpression",type:"keyword",info:"NotebookDynamicExpression is an option for notebooks that specifies an expression to be dynamically "},{label:"NotebookEvaluate",type:"keyword",info:"NotebookEvaluate[notebook] evaluates all the evaluatable cells in notebook."},{label:"NotebookEventActions",type:"keyword",info:"NotebookEventActions is a notebook option that gives a list of actions to perform when specified eve"},{label:"NotebookFileName",type:"keyword",info:"NotebookFileName[] gives the file name of the current evaluation notebook. NotebookFileName[nb] give"},{label:"NotebookFind",type:"keyword",info:"NotebookFind[obj, data] sets the current selection in the specified notebook object to be the next o"},{label:"NotebookFindReturnObject",type:"keyword",info:"System`NotebookFindReturnObject"},{label:"NotebookGet",type:"keyword",info:"NotebookGet[obj] gets the raw expression corresponding to the notebook represented by the notebook o"},{label:"NotebookGetLayoutInformationPacket",type:"keyword",info:"System`NotebookGetLayoutInformationPacket"},{label:"NotebookGetMisspellingsPacket",type:"keyword",info:"System`NotebookGetMisspellingsPacket"},{label:"NotebookImport",type:"keyword",info:"NotebookImport[notebook, style] imports cells with the given cell style from the specified notebook."},{label:"NotebookInformation",type:"keyword",info:"NotebookInformation[] gives a list of properties of the current evaluation notebook.NotebookInformat"},{label:"NotebookInterfaceObject",type:"keyword",info:"System`NotebookInterfaceObject"},{label:"NotebookLocate",type:"keyword",info:'NotebookLocate["tag"] locates all cells with the specified tag in your current input notebook, selec'},{label:"NotebookObject",type:"keyword",info:"NotebookObject[id] is an object that represents an open notebook in the front end. "},{label:"NotebookOpen",type:"keyword",info:'NotebookOpen["name"] opens an existing notebook with the specified name, returning the corresponding'},{label:"NotebookOpenReturnObject",type:"keyword",info:"System`NotebookOpenReturnObject"},{label:"NotebookPath",type:"keyword",info:"NotebookPath is a global option that determines which directories are searched when a specified note"},{label:"NotebookPrint",type:"keyword",info:"NotebookPrint[expr] sends a notebook containing expr to your default printer.NotebookPrint[notebook]"},{label:"NotebookPut",type:"keyword",info:"NotebookPut[expr] creates a notebook corresponding to expr and makes it the currently selected noteb"},{label:"NotebookPutReturnObject",type:"keyword",info:"System`NotebookPutReturnObject"},{label:"NotebookRead",type:"keyword",info:"NotebookRead[notebook] gives the expression corresponding to the current selection in the specified "},{label:"NotebookResetGeneratedCells",type:"keyword",info:"System`NotebookResetGeneratedCells"},{label:"Notebooks",type:"keyword",info:"Notebooks[] gives a list of notebooks currently open in the front end."},{label:"NotebookSave",type:"keyword",info:'NotebookSave[notebook] saves the current version of the specified notebook. NotebookSave[notebook, "'},{label:"NotebookSaveAs",type:"keyword",info:"System`NotebookSaveAs"},{label:"NotebookSelection",type:"keyword",info:"NotebookSelection[] represents the current selection in the current evaluation notebook in the front"},{label:"NotebookSetupLayoutInformationPacket",type:"keyword",info:"System`NotebookSetupLayoutInformationPacket"},{label:"NotebooksMenu",type:"keyword",info:"NotebooksMenu is a global option that specifies which recently opened notebooks are listed under the"},{label:"NotebookTemplate",type:"keyword",info:"NotebookTemplate[nb] yields a TemplateObject that represents a notebook template to be applied using"},{label:"NotebookWrite",type:"keyword",info:"NotebookWrite[notebook, data] writes data into a notebook at the current selection, setting the curr"},{label:"NotElement",type:"keyword",info:"NotElement[x, dom] or x ∉ dom asserts that x is not an element of the domain dom.NotElement[x | … |"},{label:"NotEqualTilde",type:"keyword",info:"NotEqualTilde[x, y, …] displays as x  y  …."},{label:"NotExists",type:"keyword",info:"NotExists[x, y] displays as ∄ y.\n x"},{label:"NotGreater",type:"keyword",info:"NotGreater[x, y, …] displays as x ≯ y ≯ …."},{label:"NotGreaterEqual",type:"keyword",info:"NotGreaterEqual[x, y, …] displays as x â‰\\[PlusMinus] y â‰\\[PlusMinus] …."},{label:"NotGreaterFullEqual",type:"keyword",info:"NotGreaterFullEqual[x, y, …] displays as x ≩ y ≩ …."},{label:"NotGreaterGreater",type:"keyword",info:"NotGreaterGreater[x, y, …] displays as x  y  …."},{label:"NotGreaterLess",type:"keyword",info:"NotGreaterLess[x, y, …] displays as x ≹ y ≹ …."},{label:"NotGreaterSlantEqual",type:"keyword",info:"NotGreaterSlantEqual[x, y, …] displays as x  y  …."},{label:"NotGreaterTilde",type:"keyword",info:"NotGreaterTilde[x, y, …] displays as x â‰\\[Micro] y â‰\\[Micro] …."},{label:"Nothing",type:"keyword",info:"Nothing represents an element of a list that will automatically be removed. Nothing[…] gives Nothing"},{label:"NotHumpDownHump",type:"keyword",info:"NotHumpDownHump[x, y, …] displays as x  y  …."},{label:"NotHumpEqual",type:"keyword",info:"NotHumpEqual[x, y, …] displays as x  y  …."},{label:"NotificationFunction",type:"keyword",info:"NotificationFunction is an option that specifies how notifications should be sent from background ta"},{label:"NotLeftTriangle",type:"keyword",info:"NotLeftTriangle[x, y, …] displays as x ⋪ y ⋪ …."},{label:"NotLeftTriangleBar",type:"keyword",info:"NotLeftTriangleBar[x, y, …] displays as x  y  …."},{label:"NotLeftTriangleEqual",type:"keyword",info:"NotLeftTriangleEqual[x, y, …] displays as x â‹\\[Not] y â‹\\[Not] …."},{label:"NotLess",type:"keyword",info:"NotLess[x, y, …] displays as x ≮ y ≮ …."},{label:"NotLessEqual",type:"keyword",info:"NotLessEqual[x, y, …] displays as x â‰\\[Degree] y â‰\\[Degree] …."},{label:"NotLessFullEqual",type:"keyword",info:"NotLessFullEqual[x, y, …] displays as x ≨ y ≨ …."},{label:"NotLessGreater",type:"keyword",info:"NotLessGreater[x, y, …] displays as x ≸ y ≸ …."},{label:"NotLessLess",type:"keyword",info:"NotLessLess[x, y, …] displays as x  y  …."},{label:"NotLessSlantEqual",type:"keyword",info:"NotLessSlantEqual[x, y, …] displays as x  y  …."},{label:"NotLessTilde",type:"keyword",info:"NotLessTilde[x, y, …] displays as x â‰.b4 y â‰.b4 …."},{label:"NotNestedGreaterGreater",type:"keyword",info:"NotNestedGreaterGreater[x, y, …] displays as x  y  …."},{label:"NotNestedLessLess",type:"keyword",info:"NotNestedLessLess[x, y, …] displays as x  y  …."},{label:"NotPrecedes",type:"keyword",info:"NotPrecedes[x, y, …] displays as x ⊀ y ⊀ …."},{label:"NotPrecedesEqual",type:"keyword",info:"NotPrecedesEqual[x, y, …] displays as x  y  …."},{label:"NotPrecedesSlantEqual",type:"keyword",info:"NotPrecedesSlantEqual[x, y, …] displays as x ⋠ y ⋠ …."},{label:"NotPrecedesTilde",type:"keyword",info:"NotPrecedesTilde[x, y, …] displays as x ⋨ y ⋨ …."},{label:"NotReverseElement",type:"keyword",info:"NotReverseElement[x, y, …] displays as x ∌ y ∌ …."},{label:"NotRightTriangle",type:"keyword",info:"NotRightTriangle[x, y, …] displays as x ⋫ y ⋫ …."},{label:"NotRightTriangleBar",type:"keyword",info:"NotRightTriangleBar[x, y, …] displays as x  y  …."},{label:"NotRightTriangleEqual",type:"keyword",info:"NotRightTriangleEqual[x, y, …] displays as x ⋭ y ⋭ …."},{label:"NotSquareSubset",type:"keyword",info:"NotSquareSubset[x, y, …] displays as x  y  …."},{label:"NotSquareSubsetEqual",type:"keyword",info:"NotSquareSubsetEqual[x, y, …] displays as x ⋢ y ⋢ …."},{label:"NotSquareSuperset",type:"keyword",info:"NotSquareSuperset[x, y, …] displays as x  y  …."},{label:"NotSquareSupersetEqual",type:"keyword",info:"NotSquareSupersetEqual[x, y, …] displays as x ⋣ y ⋣ …."},{label:"NotSubset",type:"keyword",info:"NotSubset[x, y, …] displays as x ⊄ y ⊄ …."},{label:"NotSubsetEqual",type:"keyword",info:"NotSubsetEqual[x, y, …] displays as x ⊈ y ⊈ …."},{label:"NotSucceeds",type:"keyword",info:"NotSucceeds[x, y, …] displays as x ⊁ y ⊁ …."},{label:"NotSucceedsEqual",type:"keyword",info:"NotSucceedsEqual[x, y, …] displays as x  y  …."},{label:"NotSucceedsSlantEqual",type:"keyword",info:"NotSucceedsSlantEqual[x, y, …] displays as x ⋡ y ⋡ …."},{label:"NotSucceedsTilde",type:"keyword",info:"NotSucceedsTilde[x, y, …] displays as x ⋩ y ⋩ …."},{label:"NotSuperset",type:"keyword",info:"NotSuperset[x, y, …] displays as x ⊅ y ⊅ …."},{label:"NotSupersetEqual",type:"keyword",info:"NotSupersetEqual[x, y, …] displays as x ⊉ y ⊉ …."},{label:"NotTilde",type:"keyword",info:"NotTilde[x, y, …] displays as x ≁ y ≁ …."},{label:"NotTildeEqual",type:"keyword",info:"NotTildeEqual[x, y, …] displays as x ≄ y ≄ …."},{label:"NotTildeFullEqual",type:"keyword",info:"NotTildeFullEqual[x, y, …] displays as x ≇ y ≇ …."},{label:"NotTildeTilde",type:"keyword",info:"NotTildeTilde[x, y, …] displays as x ≉ y ≉ …."},{label:"NotVerticalBar",type:"keyword",info:"NotVerticalBar[x, y, …] displays as x  y  …."},{label:"Now",type:"keyword",info:"Now gives a DateObject representing the current moment in time."},{label:"NoWhitespace",type:"keyword",info:"NoWhitespace represents the absence of whitespace between elements in a grammar rules pattern."},{label:"NProbability",type:"keyword",info:"NProbability[pred, x  dist] gives the numerical probability for an event that satisfies the predica"},{label:"NProduct",type:"keyword",info:" i\n "},{label:"NProductFactors",type:"keyword",info:"NProductFactors is an option for NProduct. NProductFactors -> n explicitly includes n factors in the"},{label:"NRoots",type:"keyword",info:"NRoots[lhs == rhs, var] yields a disjunction of equations which represent numerical approximations t"},{label:"NSolve",type:"keyword",info:"NSolve[expr, vars] attempts to find numerical approximations to the solutions of the system expr of "},{label:"NSolveValues",type:"keyword",info:"NSolveValues[expr, vars] attempts to find numerical approximations to the values of vars determined "},{label:"NSum",type:"keyword",info:" i\n "},{label:"NSumTerms",type:"keyword",info:"NSumTerms is an option for NSum. NSumTerms -> n explicitly includes n terms in the sum before extrap"},{label:"NuclearExplosionData",type:"keyword",info:"NuclearExplosionData[entity, property] gives the value of the specified property for the nuclear exp"},{label:"NuclearReactorData",type:"keyword",info:"NuclearReactorData[entity, property] gives the value of the specified property for the nuclear react"},{label:"Null",type:"keyword",info:"Null is a symbol used to indicate the absence of an expression or a result. It is not displayed in o"},{label:"NullRecords",type:"keyword",info:"NullRecords is an option for Read and related functions which specifies whether null records should "},{label:"NullSpace",type:"keyword",info:"NullSpace[m] gives a list of vectors that forms a basis for the null space of the matrix m. "},{label:"NullWords",type:"keyword",info:"NullWords is an option for Read and related functions which specifies whether null words should be t"},{label:"Number",type:"keyword",info:"Number represents an exact integer or an approximate real number in Read. "},{label:"NumberCompose",type:"keyword",info:"NumberCompose[{c , …, c }, {u , …, u }] returns the quantity c u + … + c u .\n 1 "},{label:"NumberDecompose",type:"keyword",info:"NumberDecompose[x, {u , …, u }] returns a list of coefficients {c , …, c } of a decomposition of the"},{label:"NumberDigit",type:"keyword",info:" n "},{label:"NumberExpand",type:"keyword",info:"NumberExpand[x] gives a list of the decimal digits of x multiplied by their corresponding powers of "},{label:"NumberFieldClassNumber",type:"keyword",info:"NumberFieldClassNumber[θ] gives the class number for the algebraic number field ïž.b4[θ] generated by θ."},{label:"NumberFieldDiscriminant",type:"keyword",info:"NumberFieldDiscriminant[a] gives the discriminant of the field ïž.b4[a] generated by the algebraic numbe"},{label:"NumberFieldFundamentalUnits",type:"keyword",info:"NumberFieldFundamentalUnits[a] gives a list of fundamental units for the field ïž.b4[a] generated by the"},{label:"NumberFieldIntegralBasis",type:"keyword",info:"NumberFieldIntegralBasis[a] gives an integral basis for the field ïž.b4[a] generated by the algebraic nu"},{label:"NumberFieldNormRepresentatives",type:"keyword",info:"NumberFieldNormRepresentatives[a, m] gives a list of representatives of classes of algebraic integer"},{label:"NumberFieldRegulator",type:"keyword",info:"NumberFieldRegulator[a] gives the regulator of the field ïž.b4[a] generated by the algebraic number a."},{label:"NumberFieldRootsOfUnity",type:"keyword",info:"NumberFieldRootsOfUnity[a] gives the roots of unity for the field ïž.b4[a] generated by the algebraic nu"},{label:"NumberFieldSignature",type:"keyword",info:"NumberFieldSignature[a] gives the signature of the field ïž.b4[a] generated by the algebraic number a."},{label:"NumberForm",type:"keyword",info:"NumberForm[expr, n] prints with approximate real numbers in expr given to n‐digit precision. NumberF"},{label:"NumberFormat",type:"keyword",info:"NumberFormat is an option for NumberForm and related functions that specifies how the mantissa, base"},{label:"NumberLinePlot",type:"keyword",info:"NumberLinePlot[{v , v , …}] plots the values v on a number line.NumberLinePlot[pred, x] plots a num"},{label:"NumberMarks",type:"keyword",info:"NumberMarks is an option for InputForm and related functions that specifies whether ` marks should b"},{label:"NumberMultiplier",type:"keyword",info:"NumberMultiplier is an option for NumberForm and related functions which gives the string to use as "},{label:"NumberPadding",type:"keyword",info:"NumberPadding is an option for NumberForm and related functions which gives strings to use as paddin"},{label:"NumberPoint",type:"keyword",info:"NumberPoint is an option for NumberForm and related functions that gives the string to use as a deci"},{label:"NumberQ",type:"keyword",info:"NumberQ[expr] gives True if expr is a number, and False otherwise. "},{label:"NumberSeparator",type:"keyword",info:"NumberSeparator is an option for NumberForm and related functions that gives the string to insert at"},{label:"NumberSigns",type:"keyword",info:"NumberSigns is an option for NumberForm and related functions which gives strings to use as signs fo"},{label:"NumberString",type:"keyword",info:"NumberString represents the characters of a number in StringExpression."},{label:"Numerator",type:"keyword",info:"Numerator[expr] gives the numerator of expr. "},{label:"NumeratorDenominator",type:"keyword",info:"NumeratorDenominator[expr] gives the list {Numerator[expr], Denominator[expr]} of expr."},{label:"NumericalOrder",type:"keyword",info:"NumericalOrder[e , e ] gives 1 if e < e , -1 if e > e , 0 if e and e are identical or numericall"},{label:"NumericalSort",type:"keyword",info:"NumericalSort[list] sorts the elements of list into numerical order."},{label:"NumericArray",type:"keyword",info:"NumericArray[array, type] creates a numeric array of the specified type.NumericArray[array, type, me"},{label:"NumericArrayQ",type:"keyword",info:"NumericArrayQ[expr] gives True if expr is a valid NumericArray object, and False otherwise.NumericAr"},{label:"NumericArrayType",type:"keyword",info:"NumericArrayType[array] gives the underlying type of values used for each element in the NumericArra"},{label:"NumericFunction",type:"keyword",info:"NumericFunction is an attribute that can be assigned to a symbol f to indicate that f[arg , arg , …]"},{label:"NumericQ",type:"keyword",info:"NumericQ[expr] gives True if expr is a numeric quantity, and False otherwise. "},{label:"NuttallWindow",type:"keyword",info:"NuttallWindow[x] represents a Nuttall window function of x."},{label:"NValues",type:"keyword",info:"NValues[f] gives a list of transformation rules corresponding to all numerical values (values for N["},{label:"NyquistGridLines",type:"keyword",info:"NyquistGridLines is an option to NyquistPlot that specifies contours of constant magnitude and phase"},{label:"NyquistPlot",type:"keyword",info:"NyquistPlot[lsys] generates a Nyquist plot of the transfer function for the system lsys.NyquistPlot["},{label:"O",type:"keyword",info:" n "},{label:"ObjectExistsQ",type:"keyword",info:"ObjectExistsQ gives True if the object exists and False otherwise."},{label:"ObservabilityGramian",type:"keyword",info:"ObservabilityGramian[ssm] gives the observability Gramian of the state-space model ssm."},{label:"ObservabilityMatrix",type:"keyword",info:"ObservabilityMatrix[ssm] gives the observability matrix of the state-space model ssm."},{label:"ObservableDecomposition",type:"keyword",info:"ObservableDecomposition[sys] yields the observable subsystem of the system sys.ObservableDecompositi"},{label:"ObservableModelQ",type:"keyword",info:"ObservableModelQ[sys] gives True if the system sys is observable, and False otherwise.ObservableMode"},{label:"OceanData",type:"keyword",info:"OceanData[entity, property] gives the value of the specified property for the ocean entity.OceanData"},{label:"Octahedron",type:"keyword",info:"Octahedron[] represents a regular octahedron centered at the origin with unit edge length.Octahedron"},{label:"OddQ",type:"keyword",info:"OddQ[expr] gives True if expr is an odd integer, and False otherwise. "},{label:"Off",type:"keyword",info:'Off[symbol :: tag] switches off a message, so that it is no longer printed. Off["name"] switches off'},{label:"Offset",type:"keyword",info:"Offset[{dx, dy}, position] gives the position of a graphical object obtained by starting at the spec"},{label:"OLEData",type:"keyword",info:"System`OLEData"},{label:"On",type:"keyword",info:'On[symbol :: tag] switches on a message, so that it can be printed. On["name"] switches on a named g'},{label:"ONanGroupON",type:"keyword",info:"ONanGroupON[] represents the sporadic simple O'Nan group O ' N."},{label:"Once",type:"keyword",info:"Once[expr] evaluates expr once in each Wolfram Language session, always returning the result from th"},{label:"OneIdentity",type:"keyword",info:"OneIdentity is an attribute that can be assigned to a symbol f to indicate that f[x], f[f[x]], etc. "},{label:"Opacity",type:"keyword",info:"Opacity[a] is a graphics directive that specifies that graphical objects that follow are to be displ"},{label:"OpacityFunction",type:"keyword",info:"OpacityFunction is an option for graphics functions that specifies a function to apply to determine "},{label:"OpacityFunctionScaling",type:"keyword",info:"OpacityFunctionScaling is an option to visualization functions such as DensityPlot3D that specifies "},{label:"Open",type:"keyword",info:"System`Open"},{label:"OpenAppend",type:"keyword",info:'OpenAppend["file"] opens a file to append output to it, and returns an OutputStream object. '},{label:"Opener",type:"keyword",info:"Opener[x] represents an opener with setting x, displayed as OpenerBox[True] when x is True and Opene"},{label:"OpenerBox",type:"keyword",info:"System`OpenerBox"},{label:"OpenerBoxOptions",type:"keyword",info:"OpenerBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for OpenerBox "},{label:"OpenerView",type:"keyword",info:"OpenerView[{expr , expr }] represents an object which displays as an opener, together with expr if "},{label:"OpenFunctionInspectorPacket",type:"keyword",info:"System`OpenFunctionInspectorPacket"},{label:"Opening",type:"keyword",info:"Opening[image, ker] gives the morphological opening of image with respect to the structuring element"},{label:"OpenRead",type:"keyword",info:'OpenRead["file"] opens a file to read data from, and returns an InputStream object.'},{label:"OpenSpecialOptions",type:"keyword",info:"System`OpenSpecialOptions"},{label:"OpenTemporary",type:"keyword",info:"OpenTemporary[] opens a temporary file to which output can be written, and returns an OutputStream o"},{label:"OpenWrite",type:"keyword",info:'OpenWrite["file"] opens a file to write output to it, and returns an OutputStream object. OpenWrite['},{label:"Operate",type:"keyword",info:"Operate[p, f[x, y]] gives p[f][x, y]. Operate[p, expr, n] applies p at level n in the head of expr. "},{label:"OperatingSystem",type:"keyword",info:"OperatingSystem is an option for file and related operations that specifies the type of operating sy"},{label:"OperatorApplied",type:"keyword",info:"OperatorApplied[f, n] represents an operator form of the function f of n arguments so that OperatorA"},{label:"OptimumFlowData",type:"keyword",info:"OptimumFlowData[…] represents flow data such as generated by FindMaximumFlow, FindMinimumCostFlow, e"},{label:"Optional",type:"keyword",info:"patt : def or Optional[patt, def] is a pattern object that represents an expression of the form patt"},{label:"OptionalElement",type:"keyword",info:"OptionalElement[patt] is a grammar rules pattern object that represents 0 or 1 instances of patt.Opt"},{label:"OptionInspectorSettings",type:"keyword",info:"OptionInspectorSettings is a global option that specifies the display of options in the Option Inspe"},{label:"OptionQ",type:"keyword",info:"OptionQ[e] returns True if e can be considered an option or list of options, and False otherwise."},{label:"Options",type:"keyword",info:"Options[symbol] gives the list of default options assigned to a symbol. Options[expr] gives the opti"},{label:"OptionsPacket",type:"keyword",info:"System`OptionsPacket"},{label:"OptionsPattern",type:"keyword",info:"OptionsPattern[] is a pattern object that represents a collection of options given as rules, where t"},{label:"OptionValue",type:"keyword",info:"OptionValue[name] gives the value of name in options matched by OptionsPattern. OptionValue[f, name]"},{label:"OptionValueBox",type:"keyword",info:"System`OptionValueBox"},{label:"OptionValueBoxOptions",type:"keyword",info:"OptionValueBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Optio"},{label:"Or",type:"keyword",info:"e || e || … is the logical OR function. It evaluates its arguments in order, giving True immediate"},{label:"Orange",type:"keyword",info:"Orange represents the color orange in graphics or style specifications. "},{label:"Order",type:"keyword",info:"Order[expr , expr ] gives 1 if expr is before expr in canonical order, and -1 if expr is after ex"},{label:"OrderDistribution",type:"keyword",info:" th "},{label:"OrderedQ",type:"keyword",info:"OrderedQ[h[e , e , …]] gives True if the e are in canonical order, and False otherwise.OrderedQ[h[e"},{label:"Ordering",type:"keyword",info:"Ordering[list] gives the positions in list at which each successive element of Sort[list] appears. O"},{label:"OrderingBy",type:"keyword",info:"OrderingBy[list, f] gives the positions in list at which each successive element of SortBy[list, f] "},{label:"OrderingLayer",type:"keyword",info:"OrderingLayer[] represents a net layer that effectively applies Ordering to its input. OrderingLayer"},{label:"Orderless",type:"keyword",info:"Orderless is an attribute that can be assigned to a symbol f to indicate that the elements e in exp"},{label:"OrderlessPatternSequence",type:"keyword",info:"OrderlessPatternSequence[p , p , …] is a pattern object that represents a sequence of arguments matc"},{label:"OrnsteinUhlenbeckProcess",type:"keyword",info:"OrnsteinUhlenbeckProcess[μ, σ, θ] represents a stationary Ornstein–Uhlenbeck process with long-term "},{label:"Orthogonalize",type:"keyword",info:"Orthogonalize[{v , v , …}] gives an orthonormal basis found by orthogonalizing the vectors v .Orthog"},{label:"OrthogonalMatrixQ",type:"keyword",info:"OrthogonalMatrixQ[m] gives True if m is an explicitly orthogonal matrix, and False otherwise."},{label:"Out",type:"keyword",info:" th "},{label:"Outer",type:"keyword",info:"Outer[f, list , list , …] gives the generalized outer product of the list , forming all possible com"},{label:"OuterPolygon",type:"keyword",info:"OuterPolygon[poly] gives the outer polygon of the polygon poly."},{label:"OuterPolyhedron",type:"keyword",info:"OuterPolyhedron[poly] gives the outer polyhedron of the polyhedron poly."},{label:"OutputAutoOverwrite",type:"keyword",info:"OutputAutoOverwrite is an option for notebooks that specifies whether the output of a command should"},{label:"OutputControllabilityMatrix",type:"keyword",info:"OutputControllabilityMatrix[ssm] gives the output controllability matrix of the state-space model ss"},{label:"OutputControllableModelQ",type:"keyword",info:"OutputControllableModelQ[ssm] gives True if the state-space model ssm is output controllable, and Fa"},{label:"OutputForm",type:"keyword",info:"OutputForm[expr] prints as a two-dimensional representation of expr using only keyboard characters. "},{label:"OutputFormData",type:"keyword",info:"System`OutputFormData"},{label:"OutputGrouping",type:"keyword",info:"System`OutputGrouping"},{label:"OutputMathEditExpression",type:"keyword",info:"OutputMathEditExpression is an internal symbol used for formatting."},{label:"OutputNamePacket",type:"keyword",info:"OutputNamePacket[string] is a WSTP packet that contains in string the name assigned to the next outp"},{label:"OutputPorts",type:"keyword",info:"OutputPorts is an option to specify the number, names or shapes of output ports for some neural net "},{label:"OutputResponse",type:"keyword",info:"OutputResponse[sys, u, {t, t , t }] gives the numeric output response of systems model sys to th"},{label:"OutputSizeLimit",type:"keyword",info:"OutputSizeLimit is an option for notebooks that specifies the maximum size in bytes of expressions t"},{label:"OutputStream",type:"keyword",info:'OutputStream["name", n] is an object that represents an output stream for functions such as Write. '},{label:"Over",type:"keyword",info:"System`Over"},{label:"OverBar",type:"keyword",info:"OverBar[expr] displays with a bar over expr."},{label:"OverDot",type:"keyword",info:"OverDot[expr] displays with a dot over expr."},{label:"Overflow",type:"keyword",info:"Overflow[] represents a number too large to represent explicitly on your computer system."},{label:"OverHat",type:"keyword",info:"OverHat[expr] displays with a hat over expr."},{label:"Overlaps",type:"keyword",info:"Overlaps is an option to string and sequence functions that specifies how to treat overlapping subst"},{label:"Overlay",type:"keyword",info:"Overlay[{expr , expr , …}] displays as an overlay of all the expr .Overlay[{expr , expr , …}, {i, j,"},{label:"OverlayBox",type:"keyword",info:"System`OverlayBox"},{label:"OverlayBoxOptions",type:"keyword",info:"OverlayBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for OverlayBo"},{label:"OverlayVideo",type:"keyword",info:"OverlayVideo[background, o] gives the result of overlaying o onto a background video or image backgr"},{label:"Overscript",type:"keyword",info:" y\nOverscript[x, y] is an object that formats as x. "},{label:"OverscriptBox",type:"keyword",info:" y\nOverscriptBox[x, y] is the low‐level b"},{label:"OverscriptBoxOptions",type:"keyword",info:"OverscriptBoxOptions is an option that specifies the style and display of OverscriptBox constructs."},{label:"OverTilde",type:"keyword",info:"OverTilde[expr] displays with a tilde over expr."},{label:"OverVector",type:"keyword",info:"OverVector[expr] displays with a right vector over expr."},{label:"OverwriteTarget",type:"keyword",info:"OverwriteTarget is an option for functions like CopyFile that specifies whether to overwrite if targ"},{label:"OwenT",type:"keyword",info:"OwenT[x, a] gives Owen's T function T(x, a)."},{label:"OwnValues",type:"keyword",info:"OwnValues[x] gives a list of transformation rules corresponding to all ownvalues defined for the sym"},{label:"Package",type:"keyword",info:"System`Package"},{label:"PackingMethod",type:"keyword",info:"PackingMethod is an option for GraphPlot and related functions that specifies how disconnected compo"},{label:"PackPaclet",type:"keyword",info:"The experimental function PackPaclet is now obsolete and is superseded by CreatePacletArchive."},{label:"PacletDataRebuild",type:"keyword",info:"PacletDataRebuild[] rescans all the installed paclets to rebuild the internal cache of paclet data."},{label:"PacletDirectoryAdd",type:"keyword",info:"The experimental function PacletDirectoryAdd is now obsolete and is superseded by PacletDirectoryLoa"},{label:"PacletDirectoryLoad",type:"keyword",info:"PacletDirectoryLoad[dir] makes paclets in dir visible in the current session.PacletDirectoryLoad[{di"},{label:"PacletDirectoryRemove",type:"keyword",info:"StringTemplate[The experimental function `1` is now obsolete and is superseded by `2`., PacletDirect"},{label:"PacletDirectoryUnload",type:"keyword",info:"PacletDirectoryUnload[dir] makes paclets in dir no longer visible in the current session.PacletDirec"},{label:"PacletDisable",type:"keyword",info:"PacletDisable[paclet] disables an installed paclet."},{label:"PacletEnable",type:"keyword",info:"PacletEnable[paclet] enables a previously disabled paclet."},{label:"PacletFind",type:"keyword",info:'PacletFind["name"] gives a list of installed paclets that match "name".PacletFind["name"  "version"'},{label:"PacletFindRemote",type:"keyword",info:'PacletFindRemote["name"] gives a list of paclets that match "name" available on known paclet sites.P'},{label:"PacletInformation",type:"keyword",info:'The experimental function PacletInformation is now obsolete. Use Information[PacletObject["pacletnam'},{label:"PacletInstall",type:"keyword",info:"PacletInstall[paclet] installs or updates paclet.PacletInstall[task] waits for completion of the tas"},{label:"PacletInstallSubmit",type:"keyword",info:"PacletInstallSubmit[paclet] asynchronously installs or updates paclet."},{label:"PacletNewerQ",type:"keyword",info:"PacletNewerQ[paclet , paclet ] returns True if paclet has a higher version number than paclet , and"},{label:"PacletObject",type:"keyword",info:"PacletObject[...] is the representation of a paclet in the Wolfram Language."},{label:"PacletObjectQ",type:"keyword",info:"PacletObjectQ[expr] returns True or False depending on whether its argument is a PacletObject expres"},{label:"PacletSite",type:"keyword",info:"PacletSite is an option for PacletInstall and PacletInstallSubmit that specifies the URL of a paclet"},{label:"PacletSiteObject",type:"keyword",info:"PacletSiteObject[assoc] represents a site from which paclets can be automatically downloaded."},{label:"PacletSiteRegister",type:"keyword",info:"PacletSiteRegister[url] registers url as a known paclet site.PacletSiteRegister[url, name] registers"},{label:"PacletSites",type:"keyword",info:"PacletSites[] gives the list of all paclet sites known to your system."},{label:"PacletSiteUnregister",type:"keyword",info:"PacletSiteUnregister[url] removes url from the list of registered paclet sites.PacletSiteUnregister["},{label:"PacletSiteUpdate",type:"keyword",info:"PacletSiteUpdate[site] acquires and caches current information about the available paclets on the gi"},{label:"PacletSymbol",type:"keyword",info:'PacletSymbol[paclet, "sym"] gives the symbol named "sym" in the primary context of paclet.PacletSymb'},{label:"PacletUninstall",type:"keyword",info:"PacletUninstall[paclet] uninstalls a paclet."},{label:"PacletUpdate",type:"keyword",info:"The experimental function PacletUpdate is now obsolete and is superseded by PacletInstall."},{label:"PaddedForm",type:"keyword",info:"PaddedForm[expr, n] prints with all numbers in expr padded to leave room for a total of n digits. Pa"},{label:"Padding",type:"keyword",info:"Padding is an option to various array and image operations that specifies what padding to use when e"},{label:"PaddingLayer",type:"keyword",info:"PaddingLayer[{{m , n }, {m , n }, …}] represents a net layer that pads an input array with m elemen"},{label:"PaddingSize",type:"keyword",info:"PaddingSize is an option in AudioDelay and other functions that specifies the amount of padding."},{label:"PadeApproximant",type:"keyword",info:"PadeApproximant[expr, {x, x , {m, n}}] gives the Padé approximant to expr about the point x = x , wi"},{label:"PadLeft",type:"keyword",info:"PadLeft[list, n] makes a list of length n by padding list with zeros on the left. PadLeft[list, n, x"},{label:"PadRight",type:"keyword",info:"PadRight[list, n] makes a list of length n by padding list with zeros on the right. PadRight[list, n"},{label:"PageBreakAbove",type:"keyword",info:"PageBreakAbove is an option for Cell which specifies whether a page break should be made immediately"},{label:"PageBreakBelow",type:"keyword",info:"PageBreakBelow is an option for Cell which specifies whether a page break should be made immediately"},{label:"PageBreakWithin",type:"keyword",info:"PageBreakWithin is an option for Cell which specifies whether a page break should be allowed within "},{label:"PageFooterLines",type:"keyword",info:"PageFooterLines is an option for notebooks that specifies whether a horizontal line is inserted at t"},{label:"PageFooters",type:"keyword",info:"PageFooters is an option for notebooks that specifies what should be inserted as the footer of each "},{label:"PageHeaderLines",type:"keyword",info:"PageHeaderLines is an option for notebooks that specifies whether a horizontal line is inserted at t"},{label:"PageHeaders",type:"keyword",info:"PageHeaders is an option for notebooks that specifies what should be inserted as the header of each "},{label:"PageHeight",type:"keyword",info:"System`PageHeight"},{label:"PageRankCentrality",type:"keyword",info:"PageRankCentrality[g, Î\\[PlusMinus]] gives a list of page-rank centralities for the vertices in the graph g and "},{label:"PageTheme",type:"keyword",info:"PageTheme is an option for FormObject, GalleryView, and related functions that specifies an overall "},{label:"PageWidth",type:"keyword",info:"PageWidth is an option for output streams and for cells that specifies how wide each line of text is"},{label:"Pagination",type:"keyword",info:"Pagination is an option for GalleryView and related functions that specifies how pagination should b"},{label:"PairCorrelationG",type:"keyword",info:"PairCorrelationG[pdata, r] estimates the pair correlation function g(r) for point data pdata at radi"},{label:"PairedBarChart",type:"keyword",info:"PairedBarChart[{y , y , …}, {z , z , …}] makes a paired bar chart with bar lengths y , y , … and z "},{label:"PairedHistogram",type:"keyword",info:"PairedHistogram[{x , x , …}, {y , y , …}] plots a paired histogram of the values x and y .PairedHis"},{label:"PairedSmoothHistogram",type:"keyword",info:"PairedSmoothHistogram[{x , x , …}, {y , y , …}] plots a paired smooth histogram of the values x and"},{label:"PairedTTest",type:"keyword",info:"PairedTTest[data] tests whether the mean of data is zero. PairedTTest[{data , data }] tests whether "},{label:"PairedZTest",type:"keyword",info:"PairedZTest[data] tests whether the mean of the data is zero. PairedZTest[{data , data }] tests whet"},{label:"PaletteNotebook",type:"keyword",info:"PaletteNotebook[{cell , cell , …}] represents a palette notebook that can be manipulated by the Wolf"},{label:"PalettePath",type:"keyword",info:"PalettePath is a global option that specifies which directories the Wolfram System searches for pale"},{label:"PalindromeQ",type:"keyword",info:"PalindromeQ[list] returns True if the given list is identical to Reverse[list], and False otherwise."},{label:"Pane",type:"keyword",info:"Pane[expr] displays as a pane containing expr. Pane[expr, w] makes the pane be w printer's points wi"},{label:"PaneBox",type:"keyword",info:"System`PaneBox"},{label:"PaneBoxOptions",type:"keyword",info:"PaneBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PaneBox obje"},{label:"Panel",type:"keyword",info:"Panel[expr] displays as a panel containing expr. Panel[expr, title] gives the panel the specified ti"},{label:"PanelBox",type:"keyword",info:"System`PanelBox"},{label:"PanelBoxOptions",type:"keyword",info:"PanelBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PanelBox ob"},{label:"Paneled",type:"keyword",info:"Paneled is an option for Manipulate and related functions that specifies whether to give the output "},{label:"PaneSelector",type:"keyword",info:"PaneSelector[{val  expr , val  expr , …}, x] represents an object that displays as a pane contai"},{label:"PaneSelectorBox",type:"keyword",info:"System`PaneSelectorBox"},{label:"PaneSelectorBoxOptions",type:"keyword",info:"PaneSelectorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Pane"},{label:"PaperWidth",type:"keyword",info:"System`PaperWidth"},{label:"ParabolicCylinderD",type:"keyword",info:"ParabolicCylinderD[ν, z] gives the parabolic cylinder function D (z). \n "},{label:"ParagraphIndent",type:"keyword",info:"ParagraphIndent is an option for Cell which specifies how far in printer's points to indent the firs"},{label:"ParagraphSpacing",type:"keyword",info:"ParagraphSpacing is an option for Cell, StyleBox, and Style that specifies how much extra space to l"},{label:"ParallelArray",type:"keyword",info:"ParallelArray[f, n] generates in parallel a list of length n, with elements f[i], evaluated.Parallel"},{label:"ParallelAxisPlot",type:"keyword",info:"ParallelAxisPlot[{{y , …, y }, …, {y , …, y }}] generates a parallel axis plot for the points {y"},{label:"ParallelCombine",type:"keyword",info:"ParallelCombine[f, h[e , e , …], comb] evaluates f[h[e , e , …]] in parallel by distributing parts o"},{label:"ParallelDo",type:"keyword",info:"ParallelDo[expr, {i }] evaluates expr in parallel i times. ParallelDo[expr, {i, i }] evaluate"},{label:"Parallelepiped",type:"keyword",info:"Parallelepiped[p, {v , …, v }] represents a parallelepiped with origin p and directions v .\n "},{label:"ParallelEvaluate",type:"keyword",info:"ParallelEvaluate[expr] evaluates the expression expr on all available parallel kernels and returns t"},{label:"Parallelization",type:"keyword",info:"Parallelization is an option for Compile that specifies whether it should create a compiled function"},{label:"Parallelize",type:"keyword",info:"Parallelize[expr] evaluates expr using automatic parallelization."},{label:"ParallelMap",type:"keyword",info:"ParallelMap[f, expr] applies f in parallel to each element on the first level in expr.ParallelMap[f,"},{label:"ParallelNeeds",type:"keyword",info:'ParallelNeeds["context`"] evaluates Needs["context`"] on all available parallel kernels.'},{label:"Parallelogram",type:"keyword",info:"Parallelogram[p, {v , v }] represents a parallelogram with origin p and directions v and v .\n "},{label:"ParallelProduct",type:"keyword",info:" "},{label:"ParallelSubmit",type:"keyword",info:"ParallelSubmit[expr] submits expr for evaluation on the next available parallel kernel and returns a"},{label:"ParallelSum",type:"keyword",info:" "},{label:"ParallelTable",type:"keyword",info:"ParallelTable[expr, {i }] generates in parallel a list of i copies of expr.ParallelTable[expr, "},{label:"ParallelTry",type:"keyword",info:"ParallelTry[f, {arg , arg , …}] evaluates f[arg ] in parallel, returning the first result received.P"},{label:"Parameter",type:"keyword",info:"System`Parameter"},{label:"ParameterEstimator",type:"keyword",info:"ParameterEstimator is an option to EstimatedDistribution and FindDistributionParameters that specifi"},{label:"ParameterMixtureDistribution",type:"keyword",info:"ParameterMixtureDistribution[dist[θ], θ  wdist] represents a parameter mixture distribution where t"},{label:"ParameterVariables",type:"keyword",info:"ParameterVariables is an option for GroebnerBasis and PolynomialReduce. These variables will always "},{label:"ParametricConvexOptimization",type:"keyword",info:"ParametricConvexOptimization[f, cons, vars, pars] gives a ParametricFunction object that finds value"},{label:"ParametricFunction",type:"keyword",info:"ParametricFunction[pars, …] represents a function that computes a solution when evaluated with numer"},{label:"ParametricNDSolve",type:"keyword",info:"ParametricNDSolve[eqns, u, {x, x , x }, pars] finds a numerical solution to the ordinary differe"},{label:"ParametricNDSolveValue",type:"keyword",info:"ParametricNDSolveValue[eqns, expr, {x, x , x }, pars] gives the value of expr with functions det"},{label:"ParametricPlot",type:"keyword",info:"ParametricPlot[{f , f }, {u, u , u }] generates a parametric plot of a curve with x and y coordi"},{label:"ParametricPlot3D",type:"keyword",info:"ParametricPlot3D[{f , f , f }, {u, u , u }] produces a three-dimensional space curve parametrize"},{label:"ParametricRampLayer",type:"keyword",info:"ParametricRampLayer[] represents a net layer that computes a leaky ReLU activation with a slope that"},{label:"ParametricRegion",type:"keyword",info:" n\nParametricRegion[{f , …, f }, {"},{label:"ParentBox",type:"keyword",info:"ParentBox[obj] returns the BoxObject that contains obj."},{label:"ParentCell",type:"keyword",info:"ParentCell[obj] returns the CellObject that contains obj."},{label:"ParentConnect",type:"keyword",info:"System`ParentConnect"},{label:"ParentDirectory",type:"keyword",info:'ParentDirectory[] gives the parent of the current working directory. ParentDirectory["dir"] gives th'},{label:"ParentForm",type:"keyword",info:"ParentForm sets the parent form for a boxes format."},{label:"Parenthesize",type:"keyword",info:"Parenthesize[ expr, fmt, prec, group] or Parenthesize[ expr, fmt, {prec, group}] will represent expr"},{label:"ParentList",type:"keyword",info:"System`ParentList"},{label:"ParentNotebook",type:"keyword",info:"ParentNotebook[obj] returns the NotebookObject that contains obj."},{label:"ParetoDistribution",type:"keyword",info:"ParetoDistribution[k, Î\\[PlusMinus]] represents a Pareto distribution with minimum value parameter k and shape p"},{label:"ParetoPickandsDistribution",type:"keyword",info:"ParetoPickandsDistribution[μ, σ, ξ] gives a Pareto–Pickands distribution with location parameter μ, "},{label:"ParkData",type:"keyword",info:"ParkData[entity, property] gives the value of the specified property for the park entity.ParkData[{e"},{label:"Part",type:"keyword",info:" th\nexpr[[i]] or Part[expr, i] gives the i part of expr. ex"},{label:"PartBehavior",type:"keyword",info:"PartBehavior is an option to Query and related functions that specifies how nonexistent parts should"},{label:"PartialCorrelationFunction",type:"keyword",info:"PartialCorrelationFunction[data, hspec] estimates the partial correlation function at lags hspec fro"},{label:"PartialD",type:"keyword",info:"System`PartialD"},{label:"ParticleAcceleratorData",type:"keyword",info:"ParticleAcceleratorData[entity, property] gives the value of the specified property for the particle"},{label:"ParticleData",type:"keyword",info:'ParticleData[name, "property"] gives the specified property for a subatomic particle or family of pa'},{label:"Partition",type:"keyword",info:"Partition[list, n] partitions list into nonoverlapping sublists of length n. Partition[list, n, d] g"},{label:"PartitionGranularity",type:"keyword",info:"PartitionGranularity is an option for audio analysis functions that specifies the partitioning of th"},{label:"PartitionsP",type:"keyword",info:"PartitionsP[n] gives the number p (n) of unrestricted partitions of the integer n. "},{label:"PartitionsQ",type:"keyword",info:"PartitionsQ[n] gives the number q (n) of partitions of the integer n into distinct parts. "},{label:"PartLayer",type:"keyword",info:" th\nPartLayer[i] represents a net layer that giv"},{label:"PartOfSpeech",type:"keyword",info:'PartOfSpeech["word"] returns the possible parts of speech for the specified word.'},{label:"PartProtection",type:"keyword",info:"PartProtection is an option for cloud expressions that controls which parts of their structure can b"},{label:"ParzenWindow",type:"keyword",info:"ParzenWindow[x] represents a Parzen window function of x."},{label:"PascalDistribution",type:"keyword",info:"PascalDistribution[n, p] represents a Pascal distribution with parameters n and p."},{label:"EventHandler",type:"keyword",info:"EventHandler[ev_String | _EventObject, {handlers___Rule | handlers___RuleDelayed}] ev_ binds an event object represented as a string or EventObject or anything compatible with this type to a single or multiple handling functions (multiple - only if patterns do not intersect). Returns an original event-object ev"},{label:"PassEventsDown",type:"keyword",info:"PassEventsDown is an option to EventHandler which specifies whether events handled by a particular e"},{label:"PassEventsUp",type:"keyword",info:"PassEventsUp is an option to EventHandler that specifies whether events handled by a particular even"},{label:"Paste",type:"keyword",info:"Paste[expr] pastes expr at the current insertion point in the input notebook. Paste[notebook, expr] "},{label:"PasteAutoQuoteCharacters",type:"keyword",info:"System`PasteAutoQuoteCharacters"},{label:"PasteBoxFormInlineCells",type:"keyword",info:"PasteBoxFormInlineCells is an option for cells that specifies whether a new inline cell is created w"},{label:"PasteButton",type:"keyword",info:"PasteButton[expr] represents a button that pastes expr whenever it is pressed. PasteButton[label, ex"},{label:"Path",type:"keyword",info:"Path is an option for Get and related functions which gives a list of directories to search in attem"},{label:"PathGraph",type:"keyword",info:"PathGraph[{v , v , …}] yields a path with vertices v and edges between v and v .PathGraph[{e"},{label:"PathGraphQ",type:"keyword",info:"PathGraphQ[g] yields True if the graph g is a path and False otherwise."},{label:"Pattern",type:"keyword",info:"sym : obj or Pattern[sym, obj] represents the pattern object obj, assigned the name sym. "},{label:"PatternFilling",type:"keyword",info:"PatternFilling[obj] is a two-dimensional graphics directive specifying that obj should be used to fi"},{label:"PatternSequence",type:"keyword",info:"PatternSequence[p , p , …] is a pattern object that represents a sequence of arguments matching p , "},{label:"PatternTest",type:"keyword",info:"p ? test is a pattern object that stands for any expression that matches p, and on which the applica"},{label:"PauliMatrix",type:"keyword",info:" th\nPauliMatrix[k] gives the k Pauli spin matrix σ .\n "},{label:"PaulWavelet",type:"keyword",info:"PaulWavelet[] represents a Paul wavelet of order 4.PaulWavelet[n] represents a Paul wavelet of order"},{label:"Pause",type:"keyword",info:"Pause[n] pauses for at least n seconds. "},{label:"PausedTime",type:"keyword",info:"System`PausedTime"},{label:"PDF",type:"keyword",info:"PDF[dist, x] gives the probability density function for the distribution dist evaluated at x.PDF[dis"},{label:"PeakDetect",type:"keyword",info:"PeakDetect[list] gives a binary list in which 1s correspond to peak positions in list.PeakDetect[lis"},{label:"PeanoCurve",type:"keyword",info:" th\nPeanoCurve[n] gives the line segments re"},{label:"PearsonChiSquareTest",type:"keyword",info:" 2 "},{label:"PearsonCorrelationTest",type:"keyword",info:"PearsonCorrelationTest[v , v ] tests whether the vectors v and v are linearly independent.PearsonC"},{label:"PearsonDistribution",type:"keyword",info:"PearsonDistribution[a , a , b , b , b ] represents a distribution of the Pearson family with paramet"},{label:"PenttinenPointProcess",type:"keyword",info:" "},{label:"PercentForm",type:"keyword",info:"PercentForm[expr] prints with numbers in expr given as percentages.PercentForm[expr, n] prints with "},{label:"PerfectNumber",type:"keyword",info:" th\nPerfectNumber[n] gives the n perfect number."},{label:"PerfectNumberQ",type:"keyword",info:"PerfectNumberQ[n] returns True if n is a perfect number, and False otherwise."},{label:"PerformanceGoal",type:"keyword",info:"PerformanceGoal is an option for various algorithmic and presentational functions that specifies wha"},{label:"Perimeter",type:"keyword",info:"Perimeter[reg] gives the perimeter of the two-dimensional region reg.Perimeter[{x , x }, {s, s , s"},{label:"PeriodicBoundaryCondition",type:"keyword",info:"PeriodicBoundaryCondition[u[x , …], pred, f] represents a periodic boundary condition = u(x ) ="},{label:"PeriodicInterpolation",type:"keyword",info:"System`PeriodicInterpolation"},{label:"Periodogram",type:"keyword",info:"Periodogram[list] plots the squared magnitude of the discrete Fourier transform (power spectrum) of "},{label:"PeriodogramArray",type:"keyword",info:"PeriodogramArray[list] returns the squared magnitude of the discrete Fourier transform (power spectr"},{label:"Permanent",type:"keyword",info:"Permanent[m] gives the permanent of the square matrix m. "},{label:"Permissions",type:"keyword",info:"Permissions is an option for CloudObject and related cloud functions that specifies permissions for "},{label:"PermissionsGroup",type:"keyword",info:'PermissionsGroup["name"] represents a permissions group with the specified name, owned by the curren'},{label:"PermissionsGroupMemberQ",type:"keyword",info:"PermissionsGroupMemberQ[group, user] returns True if user is a member of the permissions group group"},{label:"PermissionsGroups",type:"keyword",info:"PermissionsGroups[] gives a list of permissions groups belonging to the current user."},{label:"PermissionsKey",type:"keyword",info:'PermissionsKey["key"] represents a permissions key that can be used to authorize access to cloud res'},{label:"PermissionsKeys",type:"keyword",info:"PermissionsKeys[] gives a list of all valid permissions keys created by the currently authenticated "},{label:"PermutationCycles",type:"keyword",info:"PermutationCycles[perm] gives a disjoint cycle representation of permutation perm."},{label:"PermutationCyclesQ",type:"keyword",info:"PermutationCyclesQ[expr] returns True if expr is a permutation in disjoint cyclic form, and False ot"},{label:"PermutationGroup",type:"keyword",info:"PermutationGroup[{perm , …, perm }] represents the group generated by multiplication of the permutat"},{label:"PermutationLength",type:"keyword",info:"PermutationLength[perm] returns the number of integers moved by the permutation perm."},{label:"PermutationList",type:"keyword",info:"PermutationList[perm] returns a permutation list representation of permutation perm.PermutationList["},{label:"PermutationListQ",type:"keyword",info:"PermutationListQ[expr] returns True if expr is a valid permutation list and False otherwise."},{label:"PermutationMax",type:"keyword",info:"PermutationMax[perm] returns the largest integer moved by the permutation perm."},{label:"PermutationMin",type:"keyword",info:"PermutationMin[perm] returns the smallest integer moved by the permutation perm."},{label:"PermutationOrder",type:"keyword",info:"PermutationOrder[perm] gives the order of permutation perm."},{label:"PermutationPower",type:"keyword",info:" th\nPermutationPower[perm, n] gives the n permutation power "},{label:"PermutationProduct",type:"keyword",info:"PermutationProduct[a, b, c] gives the product of permutations a, b, c."},{label:"PermutationReplace",type:"keyword",info:"PermutationReplace[expr, perm] replaces each part in expr by its image under the permutation perm.Pe"},{label:"Permutations",type:"keyword",info:"Permutations[list] generates a list of all possible permutations of the elements in list. Permutatio"},{label:"PermutationSupport",type:"keyword",info:"PermutationSupport[perm] returns the support of the permutation perm."},{label:"Permute",type:"keyword",info:"Permute[expr, perm] permutes the positions of the elements of expr according to the permutation perm"},{label:"PeronaMalikFilter",type:"keyword",info:"PeronaMalikFilter[image] applies a Perona–Malik diffusion filter to image.PeronaMalikFilter[image, t"},{label:"Perpendicular",type:"keyword",info:"System`Perpendicular"},{label:"PerpendicularBisector",type:"keyword",info:"PerpendicularBisector[{p , p }] gives the perpendicular bisector of the line segment connecting p a"},{label:"PersistenceLocation",type:"keyword",info:'PersistenceLocation["type"] represents a persistence location of the given type.PersistenceLocation['},{label:"PersistenceTime",type:"keyword",info:"PersistenceTime is an option for various functions that specifies when a persistent value should be "},{label:"PersistentObject",type:"keyword",info:'PersistentObject["name", loc] represents a persistent object stored at persistence location loc.'},{label:"PersistentObjects",type:"keyword",info:"PersistentObjects[] gives all persistent objects in all locations in ECPersistencePath.PersistentObje"},{label:"PersistentSymbol",type:"keyword",info:'PersistentSymbol["name"] represents the persistent symbol associated with the key "name".PersistentS'},{label:"PersistentValue",type:"keyword",info:'PersistentValue["name"] represents the persistent value associated with the key "name".PersistentVal'},{label:"PersonData",type:"keyword",info:"PersonData[entity, property] gives the value of the specified property for the person entity.PersonD"},{label:"PERTDistribution",type:"keyword",info:"PERTDistribution[{min, max}, c] represents a PERT distribution with range min to max and mode at c.P"},{label:"PetersenGraph",type:"keyword",info:"PetersenGraph[n, k] gives the generalized Petersen graph P .\n "},{label:"PhaseMargins",type:"keyword",info:"PhaseMargins[lsys] gives the phase margins of the linear time-invariant system lsys."},{label:"PhaseRange",type:"keyword",info:"PhaseRange is an option to BodePlot and NicholsPlot that specifies the phase range."},{label:"PhysicalSystemData",type:"keyword",info:"PhysicalSystemData[entity, property] gives the value of the specified property for the physical syst"},{label:"Pi",type:"keyword",info:"Pi is π, with numerical value ≃ 3.14159. "},{label:"Pick",type:"keyword",info:"Pick[list, sel] picks out those elements of list for which the corresponding element of sel is True."},{label:"PickedElements",type:"keyword",info:"System`PickedElements"},{label:"PickMode",type:"keyword",info:"System`PickMode"},{label:"PIDData",type:"keyword",info:"PIDData[…] represents PID data generated by PIDTune function."},{label:"PIDDerivativeFilter",type:"keyword",info:"PIDDerivativeFilter is an option to PIDTune that controls the filtering used for derivative terms."},{label:"PIDFeedforward",type:"keyword",info:"PIDFeedforward is an option to PIDTune that controls the reference weights used for the feedforward "},{label:"PIDTune",type:"keyword",info:'PIDTune[sys] gives a feedback PID controller for the system sys. PIDTune[sys, "carch"] gives a contr'},{label:"Piecewise",type:"keyword",info:"Piecewise[{{val , cond }, {val , cond }, …}] represents a piecewise function with values val in the"},{label:"PiecewiseExpand",type:"keyword",info:"PiecewiseExpand[expr] expands nested piecewise functions in expr to give a single piecewise function"},{label:"PieChart",type:"keyword",info:"PieChart[{y , y , …, y }] makes a pie chart with sector angle proportional to y , y , ….PieChart[{…,"},{label:"PieChart3D",type:"keyword",info:"PieChart3D[{y , y , …}] makes a 3D pie chart with sector angle proportional to y , y , … .PieChart3D"},{label:"PillaiTrace",type:"keyword",info:"PillaiTrace[m , m ] gives Pillai's trace for the matrices m and m .\n 1 2 "},{label:"PillaiTraceTest",type:"keyword",info:'PillaiTraceTest[m , m ] tests whether the matrices m and m are independent.PillaiTraceTest[…, "pro'},{label:"PingTime",type:"keyword",info:"PingTime[host] gives the round-trip ping time for the specified network host.PingTime[host, n] gives"},{label:"Pink",type:"keyword",info:"Pink represents the color pink in graphics or style specifications. "},{label:"PitchRecognize",type:"keyword",info:"PitchRecognize[audio] recognizes the main pitch in audio, returning it as a TimeSeries object. Pitch"},{label:"Pivoting",type:"keyword",info:"Pivoting is an option to certain matrix decomposition functions. With Pivoting -> False, no pivoting"},{label:"PixelConstrained",type:"keyword",info:"PixelConstrained is an option for ArrayPlot that specifies how to constrain cells to align with disp"},{label:"PixelValue",type:"keyword",info:'PixelValue[image, ppos] gives the pixel value of image at position pos.PixelValue[image, ppos, "type'},{label:"PixelValuePositions",type:"keyword",info:"PixelValuePositions[image, val] returns a list of pixel positions in image that exactly match the va"},{label:"Placed",type:"keyword",info:"Placed[expr, pos] represents an expression expr placed at relative position pos in a chart or other "},{label:"Placeholder",type:"keyword",info:"Placeholder[name] represents a placeholder labeled with name that indicates a place to type.Placehol"},{label:"PlaceholderLayer",type:"keyword",info:'PlaceholderLayer[] represents a net layer whose operation is undefined.PlaceholderLayer["tag", assoc'},{label:"PlaceholderReplace",type:"keyword",info:"PlaceholderReplace is an option to Paste that determines whether to replace a selection placeholder "},{label:"Plain",type:"keyword",info:"Plain represents a font that is not bold, italic, or underlined."},{label:"PlanarAngle",type:"keyword",info:"PlanarAngle[p  {q , q }] gives the angle between the half‐lines from p through q and q .PlanarAngl"},{label:"PlanarFaceList",type:"keyword",info:"PlanarFaceList[g] gives the list of faces of the planar graph g."},{label:"PlanarGraph",type:"keyword",info:"PlanarGraph[{e , e , …}] yields a planar graph with edges e .PlanarGraph[{v , v , …}, {e , e , …}] y"},{label:"PlanarGraphQ",type:"keyword",info:"PlanarGraphQ[g] yields True if g is a planar graph and False otherwise."},{label:"PlanckRadiationLaw",type:"keyword",info:"PlanckRadiationLaw[temperature, λ] returns the spectral radiance for the specified temperature and w"},{label:"PlaneCurveData",type:"keyword",info:"PlaneCurveData[entity, property] gives the value of the specified property for the plane curve entit"},{label:"PlanetaryMoonData",type:"keyword",info:"PlanetaryMoonData[entity, property] gives the value of the specified property for the moon entity of"},{label:"PlanetData",type:"keyword",info:"PlanetData[entity, property] gives the value of the specified property for the planet entity.PlanetD"},{label:"PlantData",type:"keyword",info:"PlantData[entity, property] gives the value of the specified property for the plant entity.PlantData"},{label:"Play",type:"keyword",info:"Play[f, {t, t , t }] creates an object that plays as a sound whose amplitude is given by f as a "},{label:"PlayRange",type:"keyword",info:"PlayRange is an option for Play and related functions which specifies what range of sound amplitude "},{label:"Plot",type:"keyword",info:"Plot[f, {x, x , x }] generates a plot of f as a function of x from x to x . Plot[{f , f , …"},{label:"Plot3D",type:"keyword",info:"Plot3D[f, {x, x , x }, {y, y , y }] generates a three-dimensional plot of f as a function of"},{label:"Plot3Matrix",type:"keyword",info:"System`Plot3Matrix"},{label:"PlotDivision",type:"keyword",info:"PlotDivision is an option for Plot that specifies the maximum amount of subdivision to be used."},{label:"PlotJoined",type:"keyword",info:"PlotJoined is an option for ListPlot that specifies whether the points plotted should be joined by a"},{label:"PlotLabel",type:"keyword",info:"PlotLabel is an option for graphics functions that specifies an overall label for a plot. "},{label:"PlotLabels",type:"keyword",info:"PlotLabels is an option for visualization functions that specifies what labels to use for each data "},{label:"PlotLayout",type:"keyword",info:"PlotLayout is an option for plotting functions that specifies the layout of multiple components in a"},{label:"PlotLegends",type:"keyword",info:"PlotLegends is an option for plot functions that specifies what legends to use. "},{label:"PlotMarkers",type:"keyword",info:"PlotMarkers is an option for graphics functions like ListPlot and ListLinePlot that specifies what m"},{label:"PlotPoints",type:"keyword",info:"PlotPoints is an option for plotting functions that specifies how many initial sample points to use."},{label:"PlotRange",type:"keyword",info:"PlotRange is an option for graphics functions that specifies what range of coordinates to include in"},{label:"PlotRangeClipping",type:"keyword",info:"PlotRangeClipping is an option for graphics functions that specifies whether graphics objects should"},{label:"PlotRangeClipPlanesStyle",type:"keyword",info:"System`PlotRangeClipPlanesStyle"},{label:"PlotRangePadding",type:"keyword",info:"PlotRangePadding is an option for graphics functions that specifies how much further axes etc. shoul"},{label:"PlotRegion",type:"keyword",info:"PlotRegion is an option for graphics functions that specifies what region of the final display area "},{label:"PlotStyle",type:"keyword",info:"PlotStyle is an option for plotting and related functions that specifies styles in which objects are"},{label:"PlotTheme",type:"keyword",info:"PlotTheme is an option for plotting and related functions that specifies an overall theme for visual"},{label:"Pluralize",type:"keyword",info:'Pluralize["noun"] gives the plural form of the English word "noun".Pluralize["noun", n] gives the in'},{label:"Plus",type:"keyword",info:"x + y + z represents a sum of terms. "},{label:"PlusMinus",type:"keyword",info:"PlusMinus[x] displays as Â\\[PlusMinus] x.PlusMinus[x, y, …] displays as x Â\\[PlusMinus] y Â\\[PlusMinus] ….\n"},{label:"Pochhammer",type:"keyword",info:"Pochhammer[a, n] gives the Pochhammer symbol (a) . \n "},{label:"PodStates",type:"keyword",info:"PodStates is an option for WolframAlpha that determines information about the states of the pods."},{label:"PodWidth",type:"keyword",info:"PodWidth is an option for WolframAlpha that determines the width parameters of the content returned "},{label:"Point",type:"keyword",info:"Point[p] is a graphics and geometry primitive that represents a point at p. Point[{p , p , …}] repre"},{label:"Point3DBox",type:"keyword",info:"System`Point3DBox"},{label:"Point3DBoxOptions",type:"keyword",info:"Point3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Point3DBo"},{label:"PointBox",type:"keyword",info:"System`PointBox"},{label:"PointBoxOptions",type:"keyword",info:"PointBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PointBox ob"},{label:"PointCountDistribution",type:"keyword",info:"PointCountDistribution[pproc, reg] represents the distribution of point counts for the point process"},{label:"PointDensity",type:"keyword",info:"PointDensity[pdata] estimates the point density function μ(x) from point data pdata.PointDensity[pda"},{label:"PointDensityFunction",type:"keyword",info:"PointDensityFunction[…] represents a function whose values give the density at a given location."},{label:"PointFigureChart",type:"keyword",info:"PointFigureChart[{{date , p }, {date , p }, …}] makes a point and figure chart with prices p at dat"},{label:"PointLegend",type:"keyword",info:"PointLegend[{col , …}, {lbl , …}] generates a legend that associates points of colors col with labe"},{label:"PointLight",type:"keyword",info:"PointLight[col, pt] is a three-dimensional graphics directive that specifies the point light of colo"},{label:"PointProcessEstimator",type:"keyword",info:"PointProcessEstimator[] is an option to EstimatedPointProcess and FindPointProcessParameters that sp"},{label:"PointProcessFitTest",type:"keyword",info:"PointProcessFitTest[pdata] tests whether the point collection pdata could be modeled by a Poisson po"},{label:"PointProcessParameterAssumptions",type:"keyword",info:"PointProcessParameterAssumptions[proc] gives a logical expression for assumptions on parameters in t"},{label:"PointProcessParameterQ",type:"keyword",info:"PointProcessParameterQ[proc] yields True if proc is a valid random point process, and yields False o"},{label:"PointSize",type:"keyword",info:"PointSize[d] is a graphics directive which specifies that points which follow are to be shown if pos"},{label:"PointStatisticFunction",type:"keyword",info:"PointStatisticFunction[…] represents a function whose values give the statistic of a points collecti"},{label:"PointValuePlot",type:"keyword",info:"PointValuePlot[{pt  val , pt  val , …}] plots the points pt styled according to the values val "},{label:"PoissonConsulDistribution",type:"keyword",info:"PoissonConsulDistribution[μ, λ] represents a Poisson–Consul distribution with parameters μ and λ."},{label:"PoissonDistribution",type:"keyword",info:"PoissonDistribution[μ] represents a Poisson distribution with mean μ."},{label:"PoissonPDEComponent",type:"keyword",info:" 2\nPoissonPDEComponent[vars, pars] yields "},{label:"PoissonPointProcess",type:"keyword",info:" "},{label:"PoissonProcess",type:"keyword",info:"PoissonProcess[μ] represents a Poisson process with rate μ."},{label:"PoissonWindow",type:"keyword",info:"PoissonWindow[x] represents a Poisson window function of x.PoissonWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus]."},{label:"PolarAxes",type:"keyword",info:"PolarAxes is an option for sector charts and polar plots that specifies whether polar axes should be"},{label:"PolarAxesOrigin",type:"keyword",info:"PolarAxesOrigin is an option for sector charts and polar plots that specifies where polar axes shoul"},{label:"PolarGridLines",type:"keyword",info:"PolarGridLines is an option for sector charts and polar plots that specifies polar grid lines."},{label:"PolarPlot",type:"keyword",info:"PolarPlot[r, {θ, θ , θ }] generates a polar plot of a curve with radius r as a function of angle"},{label:"PolarTicks",type:"keyword",info:"PolarTicks is an option for sector charts and polar plots that specifies tick marks for polar axes."},{label:"PoleZeroMarkers",type:"keyword",info:"PoleZeroMarkers is an option for RootLocusPlot that specifies the markers to be drawn on the complex"},{label:"PolyaAeppliDistribution",type:"keyword",info:"PolyaAeppliDistribution[θ, p] represents a PÃ.b3lya–Aeppli distribution with shape parameters θ and p. "},{label:"PolyGamma",type:"keyword",info:" th "},{label:"Polygon",type:"keyword",info:"Polygon[{p , …, p }] represents a filled polygon with points p .Polygon[{p , …, p }  {{q , …, q }, "},{label:"Polygon3DBox",type:"keyword",info:"System`Polygon3DBox"},{label:"Polygon3DBoxOptions",type:"keyword",info:"Polygon3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Polygon"},{label:"PolygonalNumber",type:"keyword",info:" th th "},{label:"PolygonAngle",type:"keyword",info:"PolygonAngle[poly] gives a list of angles at the vertex points of poly.PolygonAngle[poly, p] gives t"},{label:"PolygonBox",type:"keyword",info:"System`PolygonBox"},{label:"PolygonBoxOptions",type:"keyword",info:"PolygonBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PolygonBo"},{label:"PolygonCoordinates",type:"keyword",info:"PolygonCoordinates[poly] gives a list of coordinates in the polygon poly."},{label:"PolygonDecomposition",type:"keyword",info:"PolygonDecomposition[poly] decomposes the polygon poly into a disjoint union of simpler polygons.Pol"},{label:"PolygonHoleScale",type:"keyword",info:"System`PolygonHoleScale"},{label:"PolygonIntersections",type:"keyword",info:"PolygonIntersections is an option for Graphics3D which specifies whether intersecting polygons shoul"},{label:"PolygonScale",type:"keyword",info:"System`PolygonScale"},{label:"Polyhedron",type:"keyword",info:"Polyhedron[{f , …, f }] represents a filled polyhedron inside the closed surfaces with polygon faces"},{label:"PolyhedronAngle",type:"keyword",info:"PolyhedronAngle[poly, p] gives the solid angle at the point p and spanned by edges with common point"},{label:"PolyhedronBox",type:"keyword",info:"System`PolyhedronBox"},{label:"PolyhedronCoordinates",type:"keyword",info:"PolyhedronCoordinates[poly] gives a list of coordinates in the polyhedron poly."},{label:"PolyhedronData",type:"keyword",info:'PolyhedronData[poly, "property"] gives the value of the specified property for the polyhedron named '},{label:"PolyhedronDecomposition",type:"keyword",info:"PolyhedronDecomposition[poly] decomposes the polyhedron poly into a union of simpler polyhedra."},{label:"PolyhedronGenus",type:"keyword",info:"PolyhedronGenus[poly] gives the genus of the polyhedron poly."},{label:"PolyLog",type:"keyword",info:"PolyLog[n, z] gives the polylogarithm function Li (z).PolyLog[n, p, z] gives the Nielsen generalized"},{label:"PolynomialExpressionQ",type:"keyword",info:"PolynomialExpressionQ[expr, x] gives True if expr is structurally a polynomial expression in x, and "},{label:"PolynomialExtendedGCD",type:"keyword",info:"PolynomialExtendedGCD[poly , poly , x] gives the extended GCD of poly and poly treated as univaria"},{label:"PolynomialForm",type:"keyword",info:"System`PolynomialForm"},{label:"PolynomialGCD",type:"keyword",info:"PolynomialGCD[poly , poly , …] gives the greatest common divisor of the polynomials poly . Polynomia"},{label:"PolynomialLCM",type:"keyword",info:"PolynomialLCM[poly , poly , …] gives the least common multiple of the polynomials poly . PolynomialL"},{label:"PolynomialMod",type:"keyword",info:"PolynomialMod[poly, m] gives the polynomial poly reduced modulo m. PolynomialMod[poly, {m , m , …}] "},{label:"PolynomialQ",type:"keyword",info:"PolynomialQ[expr, var] yields True if expr is a polynomial in var, and yields False otherwise. Polyn"},{label:"PolynomialQuotient",type:"keyword",info:"PolynomialQuotient[p, q, x] gives the quotient of p and q, treated as polynomials in x, with any rem"},{label:"PolynomialQuotientRemainder",type:"keyword",info:"PolynomialQuotientRemainder[p, q, x] gives a list of the quotient and remainder of p and q, treated "},{label:"PolynomialReduce",type:"keyword",info:"PolynomialReduce[poly, {poly , poly , …}, {x , x , …}] yields a list representing a reduction of pol"},{label:"PolynomialRemainder",type:"keyword",info:"PolynomialRemainder[p, q, x] gives the remainder from dividing p by q, treated as polynomials in x. "},{label:"Polynomials",type:"keyword",info:"System`Polynomials"},{label:"PolynomialSumOfSquaresList",type:"keyword",info:" "},{label:"PoolingLayer",type:"keyword",info:"PoolingLayer[sz] represents a pooling net layer using kernels of size sz.PoolingLayer[{w}] represent"},{label:"PopupMenu",type:"keyword",info:"PopupMenu[x, {val , val , …}] represents a popup menu with setting x and possible values val . Popup"},{label:"PopupMenuBox",type:"keyword",info:"System`PopupMenuBox"},{label:"PopupMenuBoxOptions",type:"keyword",info:"PopupMenuBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for PopupMe"},{label:"PopupView",type:"keyword",info:" "},{label:"PopupWindow",type:"keyword",info:"PopupWindow[expr, contents] displays as expr, but pops up a window containing contents when clicked."},{label:"Position",type:"keyword",info:"Position[expr, pattern] gives a list of the positions at which objects matching pattern appear in ex"},{label:"PositionIndex",type:"keyword",info:"PositionIndex[list] gives an association between unique elements in list and the positions at which "},{label:"Positive",type:"keyword",info:"Positive[x] gives True if x is a positive number. "},{label:"PositiveDefiniteMatrixQ",type:"keyword",info:"PositiveDefiniteMatrixQ[m] gives True if m is explicitly positive definite, and False otherwise. "},{label:"PositiveIntegers",type:"keyword",info:"PositiveIntegers represents the domain of strictly positive integers, as in x ∈ PositiveIntegers. "},{label:"PositivelyOrientedPoints",type:"keyword",info:"PositivelyOrientedPoints[{p , p , p , …, p }] tests whether the sequence of points p , p , p , …"},{label:"PositiveRationals",type:"keyword",info:"PositiveRationals represents the domain of strictly positive rational numbers, as in x ∈ PositiveRat"},{label:"PositiveReals",type:"keyword",info:"PositiveReals represents the domain of strictly positive real numbers."},{label:"PositiveSemidefiniteMatrixQ",type:"keyword",info:"PositiveSemidefiniteMatrixQ[m] gives True if m is explicitly positive semidefinite, and False otherw"},{label:"PossibleZeroQ",type:"keyword",info:"PossibleZeroQ[expr] gives True if basic symbolic and numerical methods suggest that expr has value z"},{label:"Postfix",type:"keyword",info:"Postfix[f[expr]] prints with f[expr] given in default postfix form: expr//f. Postfix[f[expr], h] pri"},{label:"PostScript",type:"keyword",info:"System`PostScript"},{label:"Power",type:"keyword",info:"x^y gives x to the power y."},{label:"PowerDistribution",type:"keyword",info:"PowerDistribution[k, a] represents a power distribution with domain parameter k and shape parameter "},{label:"PowerExpand",type:"keyword",info:"PowerExpand[expr] expands all powers of products and powers. PowerExpand[expr, {x , x , …}] expands "},{label:"PowerMod",type:"keyword",info:" b "},{label:"PowerModList",type:"keyword",info:" r s\nPowerModList[a, s/r, m] giv"},{label:"PowerRange",type:"keyword",info:"PowerRange[b] generates the list {1, 10, 100, …, max}, where max is the largest power of 10 that doe"},{label:"PowerSpectralDensity",type:"keyword",info:"PowerSpectralDensity[data, ω] estimates the power spectral density for data.PowerSpectralDensity[dat"},{label:"PowersRepresentations",type:"keyword",info:" "},{label:"PowerSymmetricPolynomial",type:"keyword",info:"PowerSymmetricPolynomial[r] represents a formal power symmetric polynomial with exponent r.PowerSymm"},{label:"Precedence",type:"keyword",info:"Precedence[sym] returns the precedence of the output operator associated to the symbol sym.Precedenc"},{label:"PrecedenceForm",type:"keyword",info:"PrecedenceForm[expr, prec] prints with expr parenthesized as it would be if it contained an operator"},{label:"Precedes",type:"keyword",info:"Precedes[x, y, …] displays as x ≺ y ≺ …."},{label:"PrecedesEqual",type:"keyword",info:"PrecedesEqual[x, y, …] displays as x ⪯ y ⪯ …."},{label:"PrecedesSlantEqual",type:"keyword",info:"PrecedesSlantEqual[x, y, …] displays as x ≼ y ≼ …."},{label:"PrecedesTilde",type:"keyword",info:"PrecedesTilde[x, y, …] displays as x ≾ y ≾ …."},{label:"Precision",type:"keyword",info:"Precision[x] gives the effective number of digits of precision in the number x. "},{label:"PrecisionGoal",type:"keyword",info:"PrecisionGoal is an option for various numerical operations which specifies how many effective digit"},{label:"PreDecrement",type:"keyword",info:"--x decreases the value of x by 1, returning the new value of x. "},{label:"Predict",type:"keyword",info:"Predict[{in  out , in  out , …}] generates a PredictorFunction[…] based on the example input-out"},{label:"PredictionRoot",type:"keyword",info:"System`PredictionRoot"},{label:"PredictorFunction",type:"keyword",info:"PredictorFunction[…] represents a function generated by Predict that predicts numerical values from "},{label:"PredictorInformation",type:"keyword",info:"PredictorInformation[predictor] generates a report giving information on the predictor function pred"},{label:"PredictorMeasurements",type:"keyword",info:"PredictorMeasurements[predictor, testset, prop] gives measurements associated with the property prop"},{label:"PredictorMeasurementsObject",type:"keyword",info:"PredictorMeasurementsObject[…] represents an object generated by PredictorMeasurements that can be a"},{label:"PreemptProtect",type:"keyword",info:"PreemptProtect[expr] evaluates expr, without any interruption from preemptive evaluations."},{label:"PreferencesPath",type:"keyword",info:"PreferencesPath is a global option that specifies which directories are searched for user-specific s"},{label:"Prefix",type:"keyword",info:"Prefix[f[expr]] prints with f[expr] given in default prefix form: f @ expr. Prefix[f[expr], h] print"},{label:"PreIncrement",type:"keyword",info:"++x increases the value of x by 1, returning the new value of x. "},{label:"Prepend",type:"keyword",info:"Prepend[expr, elem] gives expr with elem prepended. Prepend[elem] represents an operator form of Pre"},{label:"PrependLayer",type:"keyword",info:"PrependLayer[] represents a net layer that takes an input array and prepends another array to it."},{label:"PrependTo",type:"keyword",info:"PrependTo[x, elem] prepends elem to the value of x, and resets x to the result. "},{label:"PreprocessingRules",type:"keyword",info:"PreprocessingRules is an option that specifies how the input should be preprocessed."},{label:"PreserveColor",type:"keyword",info:"PreserveColor is an option for ImageRestyle and related functions that specifies whether to preserve"},{label:"PreserveImageOptions",type:"keyword",info:"PreserveImageOptions is an option to graphics and related functions that specifies whether image siz"},{label:"Previous",type:"keyword",info:"System`Previous"},{label:"PreviousCell",type:"keyword",info:"PreviousCell[] returns the CellObject corresponding to the cell directly above the currently evaluat"},{label:"PreviousDate",type:"keyword",info:"PreviousDate[gran] gives the previously occurring date of the specified granularity type gran.Previo"},{label:"PriceGraphDistribution",type:"keyword",info:"PriceGraphDistribution[n, k, a] represents a de Solla Price graph distribution for n-vertex graphs w"},{label:"PrimaryPlaceholder",type:"keyword",info:"System`PrimaryPlaceholder"},{label:"Prime",type:"keyword",info:" th\nPrime[n] gives the n prime number p .\n "},{label:"PrimeNu",type:"keyword",info:"PrimeNu[n] gives the number of distinct primes ν(n) in n."},{label:"PrimeOmega",type:"keyword",info:"PrimeOmega[n] gives the number of prime factors counting multiplicities Ω(n) in n."},{label:"PrimePi",type:"keyword",info:"PrimePi[x] gives the number of primes π(x) less than or equal to x."},{label:"PrimePowerQ",type:"keyword",info:"PrimePowerQ[expr] yields True if expr is a power of a prime number, and yields False otherwise. "},{label:"PrimeQ",type:"keyword",info:"PrimeQ[n] yields True if n is a prime number, and yields False otherwise. "},{label:"Primes",type:"keyword",info:"Primes represents the domain of prime numbers, as in x ∈ Primes. "},{label:"PrimeZetaP",type:"keyword",info:"PrimeZetaP[s] gives prime zeta function P(s)."},{label:"PrimitivePolynomialQ",type:"keyword",info:"PrimitivePolynomialQ[poly, p] tests whether poly is a primitive polynomial modulo a prime p."},{label:"PrimitiveRoot",type:"keyword",info:"PrimitiveRoot[n] gives a primitive root of n.PrimitiveRoot[n, k] gives the smallest primitive root o"},{label:"PrimitiveRootList",type:"keyword",info:"PrimitiveRootList[n] gives a list of primitive roots of n."},{label:"PrincipalComponents",type:"keyword",info:"PrincipalComponents[matrix] transforms elements of matrix into unscaled principal components."},{label:"PrincipalValue",type:"keyword",info:"PrincipalValue is an option for Integrate that specifies whether the Cauchy principal value should b"},{label:"Print",type:"keyword",info:"Print[expr] prints expr as output. "},{label:"PrintableASCIIQ",type:"keyword",info:"PrintableASCIIQ[string] yields True if the string contains only printable ASCII characters, and yiel"},{label:"PrintAction",type:"keyword",info:"PrintAction is an option for notebooks that specifies the action taken when a Print[] command is eva"},{label:"PrintForm",type:"keyword",info:"System`PrintForm"},{label:"PrintingCopies",type:"keyword",info:"PrintingCopies is an option for notebooks that specifies the number of copies of a notebook printed "},{label:"PrintingOptions",type:"keyword",info:"PrintingOptions is an option that specifies settings for printing."},{label:"PrintingPageRange",type:"keyword",info:"PrintingPageRange is an option for notebooks that specifies the range of pages of a notebook to be p"},{label:"PrintingStartingPageNumber",type:"keyword",info:"PrintingStartingPageNumber is an option for notebooks that specifies what number to assign to the fi"},{label:"PrintingStyleEnvironment",type:"keyword",info:"PrintingStyleEnvironment is an option for notebooks that specifies the style environment to be used "},{label:"Printout3D",type:"keyword",info:"Printout3D[model] prints out the 3D model using a 3D print previewer.Printout3D[model, service] prin"},{label:"Printout3DPreviewer",type:"keyword",info:"Printout3DPreviewer is an option for Printout3D that specifies a previewer for generating outputs to"},{label:"PrintPrecision",type:"keyword",info:"PrintPrecision is an option for selections that specifies the maximum number of digits used for disp"},{label:"PrintTemporary",type:"keyword",info:"PrintTemporary[expr] prints expr as a temporary cell in a notebook, removing it when the evaluation "},{label:"Prism",type:"keyword",info:"Prism[{p , …, p }] represents a filled prism connecting the triangles {p , p , p } and {p , p , p }."},{label:"PrismBox",type:"keyword",info:"System`PrismBox"},{label:"PrismBoxOptions",type:"keyword",info:"System`PrismBoxOptions"},{label:"PrivateCellOptions",type:"keyword",info:"PrivateCellOptions is an option for cells that specifies various low-level cell settings."},{label:"PrivateEvaluationOptions",type:"keyword",info:"PrivateEvaluationOptions is an option for selections that specifies settings for evaluation-related "},{label:"PrivateFontOptions",type:"keyword",info:"PrivateFontOptions is an option for selections that specifies settings for various font suboptions."},{label:"PrivateKey",type:"keyword",info:"PrivateKey[assoc] represents the private part of a key pair for a public-key cryptographic system."},{label:"PrivateNotebookOptions",type:"keyword",info:"PrivateNotebookOptions is an option for notebooks that specifies various low-level notebook settings"},{label:"PrivatePaths",type:"keyword",info:"PrivatePaths is a global option that specifies settings for paths private to the notebook front end."},{label:"Probability",type:"keyword",info:"Probability[pred, x  dist] gives the probability for an event that satisfies the predicate pred und"},{label:"ProbabilityDistribution",type:"keyword",info:"ProbabilityDistribution[pdf, {x, x , x }] represents the continuous distribution with PDF pdf in"},{label:"ProbabilityPlot",type:"keyword",info:"ProbabilityPlot[list] generates a plot of the CDF of list against the CDF of a normal distribution.P"},{label:"ProbabilityPr",type:"keyword",info:"System`ProbabilityPr"},{label:"ProbabilityScalePlot",type:"keyword",info:"ProbabilityScalePlot[{x , x , …}] generates a normal probability plot of the samples x . Probability"},{label:"ProbitModelFit",type:"keyword",info:" "},{label:"ProcessConnection",type:"keyword",info:'ProcessConnection[proc, "stream"] returns the stream object for a given stream.'},{label:"ProcessDirectory",type:"keyword",info:"ProcessDirectory is an option specifying the initial working directory to use when executing a proce"},{label:"ProcessEnvironment",type:"keyword",info:"ProcessEnvironment is an option specifying the initial settings of environment variables to use when"},{label:"Processes",type:"keyword",info:"Processes[] returns a list of currently running external processes, started in this Wolfram Language"},{label:"ProcessEstimator",type:"keyword",info:"ProcessEstimator is an option to EstimatedProcess and FindProcessParameters that specifies what proc"},{label:"ProcessInformation",type:"keyword",info:"ProcessInformation[proc] gives information about an external process proc.\nProcessInformation[proc, "},{label:"ProcessObject",type:"keyword",info:"ProcessObject[...] is an object that represents a runnable external process."},{label:"ProcessParameterAssumptions",type:"keyword",info:"ProcessParameterAssumptions[proc] gives a logical expression for assumptions on parameters in the ra"},{label:"ProcessParameterQ",type:"keyword",info:"ProcessParameterQ[proc] yields True if proc is a valid random process, and yields False otherwise."},{label:"ProcessStateDomain",type:"keyword",info:"System`ProcessStateDomain"},{label:"ProcessStatus",type:"keyword",info:"ProcessStatus[proc] gives the current status of the external process represented by the ProcessObjec"},{label:"ProcessTimeDomain",type:"keyword",info:"System`ProcessTimeDomain"},{label:"Product",type:"keyword",info:" "},{label:"ProductDistribution",type:"keyword",info:"ProductDistribution[dist , dist , …] represents the joint distribution with independent component di"},{label:"ProductLog",type:"keyword",info:" w th\nProdu"},{label:"ProgressIndicator",type:"keyword",info:"ProgressIndicator[x] represents a progress indicator with setting x in the range 0 to 1. ProgressInd"},{label:"ProgressIndicatorBox",type:"keyword",info:"System`ProgressIndicatorBox"},{label:"ProgressIndicatorBoxOptions",type:"keyword",info:"ProgressIndicatorBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for"},{label:"ProgressReporting",type:"keyword",info:"ProgressReporting is an option for various algorithmic functions that specifies whether to report th"},{label:"Projection",type:"keyword",info:"Projection[u, v] finds the projection of the vector u onto the vector v.Projection[u, v, f] finds pr"},{label:"Prolog",type:"keyword",info:"Prolog is an option for graphics functions which gives a list of graphics primitives to be rendered "},{label:"PromptForm",type:"keyword",info:"PromptForm[prompt, expr] prints as an output prompt and expression."},{label:"ProofObject",type:"keyword",info:"ProofObject[…] represents a proof object generated by FindEquationalProof."},{label:"Properties",type:"keyword",info:"Properties is an option that allows specification of properties to objects and items of objects."},{label:"Property",type:"keyword",info:"Property[item, name  value] associates the property name  value with item."},{label:"PropertyList",type:"keyword",info:"PropertyList[{obj, itemspec}] lists the properties available for itemspec in obj."},{label:"PropertyValue",type:"keyword",info:"PropertyValue[{obj, item}, name] gives the property value associated with name for item in obj.Prope"},{label:"Proportion",type:"keyword",info:"Proportion[x, y, …] displays as x âˆ\\[CenterDot] y âˆ\\[CenterDot] …."},{label:"Proportional",type:"keyword",info:"Proportional[x, y, …] displays as x ∝ y ∝ …."},{label:"Protect",type:"keyword",info:'Protect[s , s , …] sets the attribute Protected for the symbols s . Protect["form ", "form ", …] pro'},{label:"Protected",type:"keyword",info:"Protected is an attribute that prevents any values associated with a symbol from being modified. "},{label:"ProteinData",type:"keyword",info:"ProteinData[entity] gives the reference amino acid sequence for the protein entity.ProteinData[entit"},{label:"Pruning",type:"keyword",info:"Pruning[image] removes the outermost branches of thin objects in image by setting their values to bl"},{label:"PseudoInverse",type:"keyword",info:"PseudoInverse[m] finds the pseudoinverse of a rectangular matrix. "},{label:"PsychrometricPropertyData",type:"keyword",info:"PsychrometricPropertyData[spec] returns the psychrometric properties of moist air for the specified "},{label:"PublicKey",type:"keyword",info:"PublicKey[assoc] represents the public part of a key pair for a public-key cryptographic system.Publ"},{label:"PublisherID",type:"keyword",info:"PublisherID is an option for ResourceSubmit that specifies the ID used to submit a resource for publ"},{label:"PulsarData",type:"keyword",info:"PulsarData[entity, property] gives the value of the specified property for the pulsar entity.PulsarD"},{label:"PunctuationCharacter",type:"keyword",info:"PunctuationCharacter represents a punctuation character in StringExpression."},{label:"Purple",type:"keyword",info:"Purple represents the color purple in graphics or style specifications. "},{label:"Put",type:"keyword",info:'expr >> filename writes expr to a file. Put[expr , expr , …, "filename"] writes a sequence of expres'},{label:"PutAppend",type:"keyword",info:'expr >>> filename appends expr to a file. PutAppend[expr , expr , …, "filename"] appends a sequence '},{label:"Pyramid",type:"keyword",info:"Pyramid[{p , …, p }] represents a filled pyramid with base {p , …, p } and top p .\n 1 "},{label:"PyramidBox",type:"keyword",info:"System`PyramidBox"},{label:"PyramidBoxOptions",type:"keyword",info:"System`PyramidBoxOptions"},{label:"QBinomial",type:"keyword",info:"QBinomial[n, m, q] gives the q-binomial coefficient (n) .\n "},{label:"QFactorial",type:"keyword",info:"QFactorial[n, q] gives the q-factorial [n] !.\n q"},{label:"QGamma",type:"keyword",info:"QGamma[z, q] gives the q-gamma function Γ (z).\n q"},{label:"QHypergeometricPFQ",type:"keyword",info:"QHypergeometricPFQ[{a , …, a }, {b , …, b }, q, z] gives the basic hypergeometric series   ϕ (a "},{label:"QnDispersion",type:"keyword",info:"QnDispersion[list] gives the Q statistic of the elements in list.QnDispersion[list, c] gives the Q "},{label:"QPochhammer",type:"keyword",info:"QPochhammer[a, q, n] gives the q-Pochhammer symbol (a ; q) .QPochhammer[a, q] gives the q-Pochhamme"},{label:"QPolyGamma",type:"keyword",info:" th "},{label:"QRDecomposition",type:"keyword",info:"QRDecomposition[m] yields the QR decomposition for a numerical matrix m. The result is a list {q, r}"},{label:"QuadraticIrrationalQ",type:"keyword",info:"QuadraticIrrationalQ[x] gives True if x is a quadratic irrational and False otherwise."},{label:"QuadraticOptimization",type:"keyword",info:"QuadraticOptimization[f, cons, vars] finds values of variables vars that minimize the quadratic obje"},{label:"Quantile",type:"keyword",info:" th\nQuantile[list, q] gives the q quantile of list. Quantile[list,"},{label:"QuantilePlot",type:"keyword",info:"QuantilePlot[list] generates a plot of quantiles of list against the quantiles of a normal distribut"},{label:"Quantity",type:"keyword",info:"Quantity[magnitude, unit] represents a quantity with size magnitude and unit specified by unit.Quant"},{label:"QuantityArray",type:"keyword",info:"QuantityArray[mags, unit] represents an array of quantities with magnitudes mags and common unit.Qua"},{label:"QuantityDistribution",type:"keyword",info:"QuantityDistribution[dist, unit] represents a distribution dist of quantities with unit specified by"},{label:"QuantityForm",type:"keyword",info:"QuantityForm[expr, form] prints expr with all Quantity expressions using the specified unit display "},{label:"QuantityMagnitude",type:"keyword",info:"QuantityMagnitude[quantity] gives the amount of the specified quantity.QuantityMagnitude[quantity, u"},{label:"QuantityQ",type:"keyword",info:"QuantityQ[expr] gives True if expr is a Quantity with valid arguments, and False otherwise."},{label:"QuantityUnit",type:"keyword",info:"QuantityUnit[quantity] returns the unit associated with the specified quantity."},{label:"QuantityVariable",type:"keyword",info:'QuantityVariable[var, "pq"] represents a variable with the label var and the corresponding physical '},{label:"QuantityVariableCanonicalUnit",type:"keyword",info:"QuantityVariableCanonicalUnit[quantityvariable] returns the canonical unit associated with the speci"},{label:"QuantityVariableDimensions",type:"keyword",info:"QuantityVariableDimensions[quantityvariable] returns a list of base dimensions associated with the s"},{label:"QuantityVariableIdentifier",type:"keyword",info:"QuantityVariableIdentifier[quantityvariable] returns the identifier associated with the specified qu"},{label:"QuantityVariablePhysicalQuantity",type:"keyword",info:"QuantityVariablePhysicalQuantity[var] returns the physical quantity associated with the quantity var"},{label:"Quartics",type:"keyword",info:"Quartics is an option for functions that involve solving algebraic equations that specifies whether "},{label:"QuartileDeviation",type:"keyword",info:"QuartileDeviation[list] gives the quartile deviation or semi-interquartile range of the elements in "},{label:"Quartiles",type:"keyword",info:"Quartiles[list] gives a list of the 1/4, 1/2 and 3/4 quantiles of the elements in list.Quartiles[dis"},{label:"QuartileSkewness",type:"keyword",info:"QuartileSkewness[list] gives the coefficient of quartile skewness for the elements in list.QuartileS"},{label:"Query",type:"keyword",info:"Query[operator , operator , …] represents a query that can be applied to a Dataset object, in which "},{label:"QuestionInterface",type:"keyword",info:"QuestionInterface[type,  p  s , p  s , …|>] defines an interface for a QuestionObject using the"},{label:"QuestionObject",type:"keyword",info:"QuestionObject[q, assess] represents the question q and the corresponding assessment assess.Question"},{label:"QueueingNetworkProcess",type:"keyword",info:"QueueingNetworkProcess[Î.b3, r, μ, c] represents an open (Jackson) queueing network process with arriva"},{label:"QueueingProcess",type:"keyword",info:"QueueingProcess[λ, μ] represents an M/M/1 queue with arrival rate λ and service rate μ.QueueingProce"},{label:"QueueProperties",type:"keyword",info:" "},{label:"Quiet",type:"keyword",info:'Quiet[expr] evaluates expr "quietly", without actually outputting any messages generated.Quiet[expr,'},{label:"QuietEcho",type:"keyword",info:"QuietEcho[expr] evaluates expr without letting Echo and related functions inside expr print any resu"},{label:"Quit",type:"keyword",info:"Quit[] terminates a Wolfram Language kernel session. "},{label:"Quotient",type:"keyword",info:"Quotient[m, n] gives the integer quotient of m and n. Quotient[m, n, d] uses an offset d. \n"},{label:"QuotientRemainder",type:"keyword",info:"QuotientRemainder[m, n] gives a list of the quotient and remainder from division of m by n."},{label:"RadialAxisPlot",type:"keyword",info:"RadialAxisPlot[{y , y , …, y }] generates a radial axis plot where the y are displayed on radial ax"},{label:"RadialGradientFilling",type:"keyword",info:"RadialGradientFilling[{col , col , …, col }] is a two-dimensional graphics directive specifying that"},{label:"RadialGradientImage",type:"keyword",info:"RadialGradientImage[gcol] returns an image with values radially changing from center to corners base"},{label:"RadialityCentrality",type:"keyword",info:"RadialityCentrality[g] gives a list of radiality centralities for the vertices in the graph g.Radial"},{label:"RadicalBox",type:"keyword",info:" 1/n\nRadicalBox[x"},{label:"RadicalBoxOptions",type:"keyword",info:"RadicalBoxOptions is an option for selections that specifies settings for RadicalBox objects."},{label:"RadioButton",type:"keyword",info:"RadioButton[x, val] represents a radio button whose setting x is set to val when the button is click"},{label:"RadioButtonBar",type:"keyword",info:"RadioButtonBar[x, {val , val , …}] represents a radio button bar with setting x and with labeled rad"},{label:"RadioButtonBox",type:"keyword",info:"System`RadioButtonBox"},{label:"RadioButtonBoxOptions",type:"keyword",info:"RadioButtonBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Radio"},{label:"Radon",type:"keyword",info:"Radon[image] gives an image representing the discrete Radon transform of image.Radon[image, {w, h}] "},{label:"RadonTransform",type:"keyword",info:"RadonTransform[expr, {x, y}, {p, ϕ}] gives the Radon transform of expr."},{label:"RamanujanTau",type:"keyword",info:"RamanujanTau[n] gives the Ramanujan τ function τ(n)."},{label:"RamanujanTauL",type:"keyword",info:"RamanujanTauL[s] gives the Ramanujan tau Dirichlet L-function L(s)."},{label:"RamanujanTauTheta",type:"keyword",info:"RamanujanTauTheta[t] gives the Ramanujan tau theta function θ(t)."},{label:"RamanujanTauZ",type:"keyword",info:"RamanujanTauZ[t] gives the Ramanujan tau Z-function Z(t)."},{label:"Ramp",type:"keyword",info:"Ramp[x] gives x if x ≥ 0 and 0 otherwise."},{label:"Random",type:"keyword",info:"Random[] gives a uniformly distributed pseudorandom Real in the range 0 to 1. Random[type, range] gi"},{label:"RandomArrayLayer",type:"keyword",info:"RandomArrayLayer[dist] represents a net layer that has no input and produces a random array from the"},{label:"RandomChoice",type:"keyword",info:"RandomChoice[{e , e , …}] gives a pseudorandom choice of one of the e . RandomChoice[list, n] gives "},{label:"RandomColor",type:"keyword",info:"RandomColor[] gives a pseudorandom color directive in the RGBColor space.RandomColor[n] gives n pseu"},{label:"RandomComplex",type:"keyword",info:"RandomComplex[] gives a pseudorandom complex number with real and imaginary parts in the range 0 to "},{label:"RandomEntity",type:"keyword",info:"RandomEntity[spec] gives a pseudorandom entity with a type determined by the specification spec.Rand"},{label:"RandomFunction",type:"keyword",info:"RandomFunction[proc, {t , t }] generates a pseudorandom function from the process proc from t "},{label:"RandomGeneratorState",type:"keyword",info:"RandomGeneratorState[…] gives a representation of the internal state of a pseudorandom generator."},{label:"RandomGeoPosition",type:"keyword",info:"RandomGeoPosition[] gives a pseudorandom geo position uniformly distributed on the surface of the Ea"},{label:"RandomGraph",type:"keyword",info:"RandomGraph[{n, m}] gives a pseudorandom graph with n vertices and m edges.RandomGraph[{n, m}, k] gi"},{label:"RandomImage",type:"keyword",info:"RandomImage[max] gives an image with pseudorandom pixel values in the range 0 to max.RandomImage[{mi"},{label:"RandomInstance",type:"keyword",info:"RandomInstance[expr] finds a random instance of an expression such as a geometric scene.RandomInstan"},{label:"RandomInteger",type:"keyword",info:"RandomInteger[{i , i }] gives a pseudorandom integer in the range {i , i }. RandomInteger[i "},{label:"RandomPermutation",type:"keyword",info:"RandomPermutation[gr] gives a pseudorandom permutation in the permutation group gr.RandomPermutation"},{label:"RandomPoint",type:"keyword",info:"RandomPoint[reg] gives a pseudorandom point uniformly distributed in the region reg.RandomPoint[reg,"},{label:"RandomPointConfiguration",type:"keyword",info:"RandomPointConfiguration[pproc, reg] generates a pseudorandom spatial point configuration from the s"},{label:"RandomPolygon",type:"keyword",info:"RandomPolygon[n] gives a pseudorandom simple polygon with n vertex points.RandomPolygon[spec] gives "},{label:"RandomPolyhedron",type:"keyword",info:"RandomPolyhedron[spec] gives a pseudorandom polyhedron with the specified specification spec.RandomP"},{label:"RandomPrime",type:"keyword",info:"RandomPrime[{i , i }] gives a pseudorandom prime number in the range i to i .RandomPrime[i "},{label:"RandomReal",type:"keyword",info:"RandomReal[] gives a pseudorandom real number in the range 0 to 1. RandomReal[{x , x }] gives a "},{label:"RandomSample",type:"keyword",info:"RandomSample[{e , e , …}, n] gives a pseudorandom sample of n of the e .RandomSample[{w , w , …}  {"},{label:"RandomSeed",type:"keyword",info:"System`RandomSeed"},{label:"RandomSeeding",type:"keyword",info:"RandomSeeding is an option that specifies what seeding of pseudorandom generators should be done ins"},{label:"RandomTree",type:"keyword",info:"RandomTree[n] gives a pseudorandom tree with n nodes.RandomTree[n, k] gives a list of k pseudorandom"},{label:"RandomVariate",type:"keyword",info:"RandomVariate[dist] gives a pseudorandom variate from the symbolic distribution dist.RandomVariate[d"},{label:"RandomWalkProcess",type:"keyword",info:"RandomWalkProcess[p] represents a random walk on a line with the probability of a positive unit step"},{label:"RandomWord",type:"keyword",info:"RandomWord[] gives a pseudorandom commonly used word.RandomWord[n] gives a list of n pseudorandom wo"},{label:"Range",type:"keyword",info:"Range[i ] generates the list {1, 2, …, i }. Range[i , i ] generates the list {i , …, i }"},{label:"RangeFilter",type:"keyword",info:" "},{label:"RangeSpecification",type:"keyword",info:"System`RangeSpecification"},{label:"RankedMax",type:"keyword",info:" th th\nRankedM"},{label:"RankedMin",type:"keyword",info:" th th\nRanked"},{label:"RarerProbability",type:"keyword",info:"RarerProbability[dist, example] computes the probability for distribution dist to generate a sample "},{label:"Raster",type:"keyword",info:"Raster[{{a , a , …}, …}] is a two-dimensional graphics primitive which represents a rectangular ar"},{label:"Raster3D",type:"keyword",info:"Raster3D[{{{a , a , …}, …}, …}] is a three-dimensional graphics primitive that represents a cubica"},{label:"Raster3DBox",type:"keyword",info:"System`Raster3DBox"},{label:"Raster3DBoxOptions",type:"keyword",info:"Raster3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Raster3D"},{label:"RasterArray",type:"keyword",info:"RasterArray[{{g , g , …}, …}] is a two-dimensional graphics primitive that represents a rectangula"},{label:"RasterBox",type:"keyword",info:"System`RasterBox"},{label:"RasterBoxOptions",type:"keyword",info:"RasterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for RasterBox "},{label:"Rasterize",type:"keyword",info:"Rasterize[expr] returns a rasterized version of the displayed form of expr.Rasterize[expr, elem] giv"},{label:"RasterSize",type:"keyword",info:"RasterSize is an option for Rasterize and related functions that determines the absolute pixel size "},{label:"Rational",type:"keyword",info:"Rational is the head used for rational numbers. "},{label:"RationalExpressionQ",type:"keyword",info:"RationalExpressionQ[expr, x] gives True if expr is structurally a rational expression in x, and Fals"},{label:"RationalFunctions",type:"keyword",info:"System`RationalFunctions"},{label:"Rationalize",type:"keyword",info:"Rationalize[x] converts an approximate number x to a nearby rational with small denominator. Rationa"},{label:"Rationals",type:"keyword",info:"Rationals represents the domain of rational numbers, as in x ∈ Rationals. "},{label:"Ratios",type:"keyword",info:" th "},{label:"RawArray",type:"keyword",info:"System`RawArray"},{label:"RawBoxes",type:"keyword",info:"RawBoxes[boxes] is a low-level construct which is formatted as boxes without further interpretation."},{label:"RawData",type:"keyword",info:"RawData[data] is a low-level representation of the contents of a cell in which Show Cell Expression "},{label:"RawMedium",type:"keyword",info:"RawMedium is an internal symbol."},{label:"RayleighDistribution",type:"keyword",info:"RayleighDistribution[σ] represents the Rayleigh distribution with scale parameter σ."},{label:"Re",type:"keyword",info:"Re[z] gives the real part of the complex number z. "},{label:"ReactionBalance",type:"keyword",info:"ReactionBalance[rxn] returns a version of the reaction rxn in which the stoichiometric coefficients "},{label:"ReactionBalancedQ",type:"keyword",info:"ReactionBalancedQ[rxn] returns True if the given chemical reaction is balanced, and False otherwise."},{label:"ReactionPDETerm",type:"keyword",info:"ReactionPDETerm[vars, a] represents a reaction term a u with reaction coefficient a and with model v"},{label:"Read",type:"keyword",info:"Read[stream] reads one expression from an input stream and returns the expression. Read[stream, type"},{label:"ReadByteArray",type:"keyword",info:"ReadByteArray[src] gives the contents of src as a ByteArray object.ReadByteArray[src, n] reads the f"},{label:"ReadLine",type:"keyword",info:"ReadLine[stream] reads a line of text from a stream and returns it as a string.\nReadLine[proc] reads"},{label:"ReadList",type:"keyword",info:'ReadList["file"] reads all the remaining expressions in a file and returns a list of them. ReadList['},{label:"ReadProtected",type:"keyword",info:"ReadProtected is an attribute that prevents values associated with a symbol from being seen. "},{label:"ReadString",type:"keyword",info:'ReadString["file"] reads the complete contents of a file and returns it as a string.\nReadString[stre'},{label:"Real",type:"keyword",info:"Real is the head used for real (floating‐point) numbers. "},{label:"RealAbs",type:"keyword",info:"RealAbs[x] gives the absolute value of the real number x. "},{label:"RealBlockDiagonalForm",type:"keyword",info:"RealBlockDiagonalForm is an option for SchurDecomposition and related functions which specifies whet"},{label:"RealDigits",type:"keyword",info:" "},{label:"RealExponent",type:"keyword",info:"RealExponent[x] gives log ( x ).RealExponent[x, b] gives log ( x ).\n 10"},{label:"Reals",type:"keyword",info:"Reals represents the domain of real numbers, as in x ∈ Reals. "},{label:"RealSign",type:"keyword",info:"RealSign[x] gives -1, 0 or 1 depending on whether x is negative, zero or positive. "},{label:"Reap",type:"keyword",info:"Reap[expr] gives the value of expr together with all expressions to which Sow has been applied durin"},{label:"RebuildPacletData",type:"keyword",info:"The experimental function RebuildPacletData is now obsolete and is superseded by PacletDataRebuild."},{label:"RecalibrationFunction",type:"keyword",info:"RecalibrationFunction is an option for Classify, Predict and related functions that specifies how to"},{label:"RecognitionPrior",type:"keyword",info:"RecognitionPrior is an option for recognition functions that specifies the prior probability or clas"},{label:"RecognitionThreshold",type:"keyword",info:"RecognitionThreshold is an option for ImageInstanceQ and related functions that specifies the minimu"},{label:"Record",type:"keyword",info:"Record represents a record in Read, Find, and related functions. "},{label:"RecordLists",type:"keyword",info:"RecordLists is an option for ReadList that specifies whether objects from separate records should be"},{label:"RecordSeparators",type:"keyword",info:"RecordSeparators is an option for Read, Find, and related functions that specifies the list of strin"},{label:"Rectangle",type:"keyword",info:"Rectangle[{x , y }, {x , y }] represents an axis-aligned filled rectangle from {x , y } "},{label:"RectangleBox",type:"keyword",info:"System`RectangleBox"},{label:"RectangleBoxOptions",type:"keyword",info:"RectangleBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Rectang"},{label:"RectangleChart",type:"keyword",info:"RectangleChart[{{x , y }, {x , y }, …}] makes a rectangle chart with bars of width x and height y ."},{label:"RectangleChart3D",type:"keyword",info:"RectangleChart3D[{{x , y , z }, {x , y , z }, …}] makes a 3D rectangle chart with bars of width x , "},{label:"RectangularRepeatingElement",type:"keyword",info:"RectangularRepeatingElement[elem] represents a rectangular array of elements of type spec in an inte"},{label:"RecurrenceFilter",type:"keyword",info:"RecurrenceFilter[{Î\\[PlusMinus], Î.b2}, x] filters x using a linear recurrence equation with coefficients Î\\[PlusMinus] and Î.b2.R"},{label:"RecurrenceTable",type:"keyword",info:"RecurrenceTable[eqns, expr, {n, n }] generates a list of values of expr for successive n based on "},{label:"RecurringDigitsForm",type:"keyword",info:"System`RecurringDigitsForm"},{label:"Red",type:"keyword",info:"Red represents the color red in graphics or style specifications. "},{label:"Reduce",type:"keyword",info:"Reduce[expr, vars] reduces the statement expr by solving equations or inequalities for vars and elim"},{label:"RefBox",type:"keyword",info:"System`RefBox"},{label:"ReferenceLineStyle",type:"keyword",info:"ReferenceLineStyle is an option for QuantilePlot and similar functions that specifies the style used"},{label:"ReferenceMarkers",type:"keyword",info:"System`ReferenceMarkers"},{label:"ReferenceMarkerStyle",type:"keyword",info:"System`ReferenceMarkerStyle"},{label:"Refine",type:"keyword",info:"Refine[expr, assum] gives the form of expr that would be obtained if symbols in it were replaced by "},{label:"ReflectionMatrix",type:"keyword",info:"ReflectionMatrix[v] gives the matrix that represents reflection of points in a mirror normal to the "},{label:"ReflectionTransform",type:"keyword",info:"ReflectionTransform[v] gives a TransformationFunction that represents a reflection in a mirror throu"},{label:"Refresh",type:"keyword",info:"Refresh[expr, opts] represents an object whose value in a Dynamic should be refreshed at times speci"},{label:"RefreshRate",type:"keyword",info:"RefreshRate is an option to Animate and related functions which specifies the refresh rate for frame"},{label:"Region",type:"keyword",info:"Region[reg] represents a geometric region.Region[reg, options] gives a region that uses the specifie"},{label:"RegionBinarize",type:"keyword",info:"RegionBinarize[image, marker, d] gives a binary version of image that includes the foreground pixels"},{label:"RegionBoundary",type:"keyword",info:"RegionBoundary[reg] represents the boundary of the region reg."},{label:"RegionBoundaryStyle",type:"keyword",info:"RegionBoundaryStyle is an option for plotting functions that specifies the boundary style for the re"},{label:"RegionBounds",type:"keyword",info:'RegionBounds[reg] gives the bounds for the region reg.RegionBounds[reg, "type"] gives region bounds '},{label:"RegionCentroid",type:"keyword",info:"RegionCentroid[reg] gives the centroid of the region reg."},{label:"RegionCongruent",type:"keyword",info:"RegionCongruent[reg , reg ] tests whether the regions reg and reg are congruent.\n "},{label:"RegionConvert",type:"keyword",info:"RegionConvert[reg, form] converts the region representation reg to the specified form."},{label:"RegionDifference",type:"keyword",info:"RegionDifference[reg , reg ] gives the difference of the regions reg and reg .\n "},{label:"RegionDilation",type:"keyword",info:"RegionDilation[reg, r] gives the dilation of the region reg by a disk of radius r centered at the or"},{label:"RegionDimension",type:"keyword",info:"RegionDimension[reg] gives the geometric dimension of the region reg. "},{label:"RegionDisjoint",type:"keyword",info:"RegionDisjoint[reg , reg ] returns True if the regions reg and reg are disjoint. RegionDisjoint[re"},{label:"RegionDistance",type:"keyword",info:"RegionDistance[reg, p] gives the minimum distance from the point p to the region reg.RegionDistance["},{label:"RegionDistanceFunction",type:"keyword",info:"RegionDistanceFunction[reg, …] represents a function whose values give the distance from a point to"},{label:"RegionEmbeddingDimension",type:"keyword",info:"RegionEmbeddingDimension[reg] gives the dimension of the space in which the region reg is embedded. "},{label:"RegionEqual",type:"keyword",info:"RegionEqual[reg , reg ] returns True if the regions reg and reg are equal.RegionEqual[reg , reg , "},{label:"RegionErosion",type:"keyword",info:"RegionErosion[reg, r] gives the erosion of the region reg by a disk of radius r centered at the orig"},{label:"RegionFillingStyle",type:"keyword",info:"RegionFillingStyle is an option for plotting functions that specifies the style for the filled regio"},{label:"RegionFit",type:"keyword",info:'RegionFit[{p , p , …}, "model"] finds a geometric region "model" that best fits the points p , p , …'},{label:"RegionFunction",type:"keyword",info:"RegionFunction is an option for plotting functions that specifies the region to include in the plot "},{label:"RegionImage",type:"keyword",info:"RegionImage[reg] returns a rasterized grayscale 2D or 3D image of reg.RegionImage[reg, {{x , x }"},{label:"RegionIntersection",type:"keyword",info:"RegionIntersection[reg , reg , …] gives the intersection of the regions reg , reg , ….\n "},{label:"RegionMeasure",type:"keyword",info:"RegionMeasure[reg] gives the measure of the region reg.RegionMeasure[reg, d] gives the d-dimensional"},{label:"RegionMember",type:"keyword",info:"RegionMember[reg, {x, y, …}] gives True if the numeric point {x, y, …} is a member of the constant r"},{label:"RegionMemberFunction",type:"keyword",info:"RegionMemberFunction[reg, …] represents a function whose values give whether a point is in a region"},{label:"RegionMoment",type:"keyword",info:" i i i\nRegionMoment"},{label:"RegionNearest",type:"keyword",info:"RegionNearest[reg, p] gives a point in the region reg that is nearest the point p. RegionNearest[reg"},{label:"RegionNearestFunction",type:"keyword",info:"RegionNearestFunction[reg, …] represents a function whose values give the nearest point in the regi"},{label:"RegionPlot",type:"keyword",info:"RegionPlot[pred, {x, x , x }, {y, y , y }] makes a plot showing the region in which pred is "},{label:"RegionPlot3D",type:"keyword",info:"RegionPlot3D[pred, {x, x , x }, {y, y , y }, {z, z , z }] makes a plot showing the three"},{label:"RegionProduct",type:"keyword",info:"RegionProduct[reg , reg ] represents the Cartesian product of the regions reg and reg .RegionProduc"},{label:"RegionQ",type:"keyword",info:"RegionQ[reg] gives True if reg is a valid region and False otherwise. "},{label:"RegionResize",type:"keyword",info:"RegionResize[reg, l] resize the region reg to have the first side length l preserving side length ra"},{label:"RegionSimilar",type:"keyword",info:"RegionSimilar[reg , reg ] tests whether the regions reg and reg are similar.\n 1 "},{label:"RegionSize",type:"keyword",info:"RegionSize is an option used by Printout3D to specify the overall size of an object to print for a r"},{label:"RegionSymmetricDifference",type:"keyword",info:"RegionSymmetricDifference[reg , reg , …] represents the symmetric difference of the regions reg , re"},{label:"RegionUnion",type:"keyword",info:"RegionUnion[reg , reg , …] gives the union of the regions reg , reg , ….\n 1 2 "},{label:"RegionWithin",type:"keyword",info:"RegionWithin[reg , reg ] returns True if reg is contained within reg .\n 1 2 "},{label:"RegisterExternalEvaluator",type:"keyword",info:"RegisterExternalEvaluator[sys, target] registers the target for use as an external evaluator with th"},{label:"RegularExpression",type:"keyword",info:'RegularExpression["regex"] represents the generalized regular expression specified by the string "re'},{label:"Regularization",type:"keyword",info:"Regularization is an option for Sum and Product that specifies what type of regularization to use."},{label:"RegularlySampledQ",type:"keyword",info:"RegularlySampledQ[tseries] gives True if tseries is a regular time series, and False otherwise."},{label:"RegularPolygon",type:"keyword",info:"RegularPolygon[n] gives the regular polygon with n vertices equally spaced around the unit circle.Re"},{label:"ReIm",type:"keyword",info:"ReIm[z] gives the list {Re[z], Im[z]} of the number z."},{label:"ReImLabels",type:"keyword",info:"ReImLabels is an option for ReImPlot that specifies labels to use for the real and imaginary compone"},{label:"ReImPlot",type:"keyword",info:"ReImPlot[f, {x, x , x }] generates a plot of Re[f] and Im[f] as functions of x ∈ ïž\\[Micro] from x to "},{label:"ReImStyle",type:"keyword",info:"ReImStyle is an option for ReImPlot that specifies styles to use for the real and imaginary componen"},{label:"Reinstall",type:"keyword",info:"Reinstall[link] un-installs the specified external package and installs it again."},{label:"RelationalDatabase",type:"keyword",info:"RelationalDatabase[…] represents schema information about a relational database.RelationalDatabase[d"},{label:"RelationGraph",type:"keyword",info:"RelationGraph[f, {v , v , …}] gives the graph with vertices v and edges from v to v whenever f[v "},{label:"Release",type:"keyword",info:"System`Release"},{label:"ReleaseHold",type:"keyword",info:"ReleaseHold[expr] removes Hold, HoldForm, HoldPattern, and HoldComplete in expr. "},{label:"ReliabilityDistribution",type:"keyword",info:"ReliabilityDistribution[bexpr, {{x , dist }, {x , dist }, …}] represents the reliability distributio"},{label:"ReliefImage",type:"keyword",info:"ReliefImage[array] generates a relief image of an array of height values. "},{label:"ReliefPlot",type:"keyword",info:"ReliefPlot[array] generates a relief plot of an array of height values. "},{label:"RemoteAuthorizationCaching",type:"keyword",info:"RemoteAuthorizationCaching is an option for RemoteConnect and related functions that determines whet"},{label:"RemoteBatchJobAbort",type:"keyword",info:"RemoteBatchJobAbort[job] aborts a remote batch job."},{label:"RemoteBatchJobObject",type:"keyword",info:"RemoteBatchJobObject[…] represents a remote batch job submitted by RemoteBatchSubmit or RemoteBatchM"},{label:"RemoteBatchJobs",type:"keyword",info:"RemoteBatchJobs[env] gives a list of RemoteBatchJobObject expressions representing batch jobs submit"},{label:"RemoteBatchMapSubmit",type:"keyword",info:"RemoteBatchMapSubmit[env, f, list] submits an array batch job in which f is applied to each element "},{label:"RemoteBatchSubmissionEnvironment",type:"keyword",info:'RemoteBatchSubmissionEnvironment["provider", assoc] represents a remote batch job submission environ'},{label:"RemoteBatchSubmit",type:"keyword",info:"RemoteBatchSubmit[env, expr] submits expr for evaluation using the remote batch submission environme"},{label:"RemoteConnect",type:"keyword",info:'RemoteConnect["host"] connects to the specified remote host.RemoteConnect[IPAddress["address"]] conn'},{label:"RemoteConnectionObject",type:"keyword",info:"RemoteConnectionObject[…] is an object that represents a remote connection."},{label:"RemoteEvaluate",type:"keyword",info:"RemoteEvaluate[expr] gives the result of evaluating expr using your current default remote Wolfram L"},{label:"RemoteFile",type:"keyword",info:'RemoteFile[URL["uri"]] is a symbolic representation of a file on a remote machine.'},{label:"RemoteInputFiles",type:"keyword",info:"RemoteInputFiles is an option for RemoteBatchSubmit and RemoteBatchMapSubmit that specifies local fi"},{label:"RemoteKernelObject",type:"keyword",info:"RemoteKernelObject[spec] specifies a remote kernel that can be used for RemoteEvaluate or LaunchKern"},{label:"RemoteProviderSettings",type:"keyword",info:"RemoteProviderSettings is an option for RemoteBatchSubmit and RemoteBatchMapSubmit that specifies pr"},{label:"RemoteRun",type:"keyword",info:'RemoteRun["host", "command"] runs the specified operating system command on the remote host, returni'},{label:"RemoteRunProcess",type:"keyword",info:'RemoteRunProcess["host", "command"] runs the specified system command on the remote host, returning '},{label:"RemovalConditions",type:"keyword",info:"RemovalConditions is an option for AttachCell that specifies conditions under which to remove the at"},{label:"Remove",type:"keyword",info:"Remove[symbol , …] removes symbols completely, so that their names are no longer recognized by the W"},{label:"RemoveAlphaChannel",type:"keyword",info:"RemoveAlphaChannel[color] removes opacity from color.RemoveAlphaChannel[color, bg] removes opacity b"},{label:"RemoveAsynchronousTask",type:"keyword",info:"RemoveAsynchronousTask[asyncTask] stops asynchronous evaluations and removes asyncTask from the syst"},{label:"RemoveAudioStream",type:"keyword",info:"RemoveAudioStream[] deletes all AudioStream objects.RemoveAudioStream[stream] deletes the AudioStrea"},{label:"RemoveBackground",type:"keyword",info:"RemoveBackground[image] returns an image with an alpha channel where the background is transparent. "},{label:"RemoveChannelListener",type:"keyword",info:"RemoveChannelListener[obj] removes obj from the list of currently active channel listeners.RemoveCha"},{label:"RemoveChannelSubscribers",type:"keyword",info:"RemoveChannelSubscribers[channel] removes all subscribers from the specified channel.RemoveChannelSu"},{label:"Removed",type:"keyword",info:"Removed[string] is printed to indicate a symbol that has been removed."},{label:"RemoveDiacritics",type:"keyword",info:"RemoveDiacritics[string] replaces characters in string that have diacritics by their base ASCII char"},{label:"RemoveInputStreamMethod",type:"keyword",info:'RemoveInputStreamMethod["name"] removes a custom input stream method.'},{label:"RemoveOutputStreamMethod",type:"keyword",info:'RemoveOutputStreamMethod["name"] removes a custom output stream method.'},{label:"RemoveProperty",type:"keyword",info:"RemoveProperty[{obj, itemspec}] removes all properties associated with itemspec in obj.RemovePropert"},{label:"RemoveScheduledTask",type:"keyword",info:"RemoveScheduledTask[obj] removes obj from the list of currently scheduled local or cloud tasks."},{label:"RemoveUsers",type:"keyword",info:"RemoveUsers[group, {user , …}] removes the users user from the permissions group group.\n "},{label:"RemoveVideoStream",type:"keyword",info:"RemoveVideoStream[] deletes all VideoStream objects.RemoveVideoStream[stream] deletes the VideoStrea"},{label:"RenameDirectory",type:"keyword",info:"RenameDirectory[dir , dir ] renames the directory dir to dir . \n 1 2 "},{label:"RenameFile",type:"keyword",info:"RenameFile[file , file ] renames file to file . \n 1 2 1 2"},{label:"RenderAll",type:"keyword",info:"RenderAll is an option for Graphics3D that specifies whether or not PostScript should be generated f"},{label:"RenderingOptions",type:"keyword",info:"RenderingOptions is an option for Style, Cell and related constructs that specifies options related "},{label:"RenewalProcess",type:"keyword",info:"RenewalProcess[rdist] represents a renewal process with interarrival times distributed according to "},{label:"RenkoChart",type:"keyword",info:"RenkoChart[{{date , p }, {date , p }, …}] makes a Renko chart with prices p at date date .RenkoChar"},{label:"RepairMesh",type:"keyword",info:"RepairMesh[mreg] repairs defects in the mesh region mreg.RepairMesh[mreg, {def , …}] repairs only th"},{label:"Repeated",type:"keyword",info:"p .. or Repeated[p] is a pattern object that represents a sequence of one or more expressions, each "},{label:"RepeatedNull",type:"keyword",info:"p ... or RepeatedNull[p] is a pattern object that represents a sequence of zero or more expressions,"},{label:"RepeatedString",type:"keyword",info:"RepeatedString is an internal symbol used for formatting and printing."},{label:"RepeatedTiming",type:"keyword",info:"RepeatedTiming[expr] evaluates expr repeatedly and returns a list of the average time in seconds use"},{label:"RepeatingElement",type:"keyword",info:"RepeatingElement[spec] represents an arbitrarily repeated type of element in an interpreter, API or "},{label:"Replace",type:"keyword",info:"Replace[expr, rules] applies a rule or list of rules in an attempt to transform the entire expressio"},{label:"ReplaceAll",type:"keyword",info:"expr/.rules or ReplaceAll[expr, rules] applies a rule or list of rules in an attempt to transform ea"},{label:"ReplaceHeldPart",type:"keyword",info:"System`ReplaceHeldPart"},{label:"ReplaceImageValue",type:"keyword",info:"ReplaceImageValue[image, pos  val] changes the pixel values at position pos in image to val.Replace"},{label:"ReplaceList",type:"keyword",info:"ReplaceList[expr, rules] attempts to transform the entire expression expr by applying a rule or list"},{label:"ReplacePart",type:"keyword",info:" th\nReplacePart[expr, i  new] yields"},{label:"ReplacePixelValue",type:"keyword",info:"ReplacePixelValue[image, ppos  val] changes the pixel values at pixel position ppos in image to val"},{label:"ReplaceRepeated",type:"keyword",info:"expr//.rules repeatedly performs replacements until expr no longer changes. ReplaceRepeated[rules] r"},{label:"ReplicateLayer",type:"keyword",info:"ReplicateLayer[n] represents a net layer that takes an input of dimensions {d , d , …} and replicate"},{label:"RequiredPhysicalQuantities",type:"keyword",info:"RequiredPhysicalQuantities is an option for FormulaLookup that specifies physical quantities that mu"},{label:"Resampling",type:"keyword",info:"Resampling is an option that specifies the method to be used for resampling images or arrays."},{label:"ResamplingAlgorithmData",type:"keyword",info:'ResamplingAlgorithmData[rs, "prop"] gives the specified property "prop" for the resampling rs.'},{label:"ResamplingMethod",type:"keyword",info:"ResamplingMethod is an option for functions such as TemporalData and MovingMap that specifies how va"},{label:"Rescale",type:"keyword",info:"Rescale[x, {min, max}] gives x rescaled to run from 0 to 1 over the range min to max. Rescale[x, {mi"},{label:"RescalingTransform",type:"keyword",info:"RescalingTransform[{{x , x }, {y , y }, …}, {{xp , xp }, …}] gives a TransformationFunct"},{label:"ResetDirectory",type:"keyword",info:"ResetDirectory[] resets the current working directory to its previous value. "},{label:"ResetMenusPacket",type:"keyword",info:"System`ResetMenusPacket"},{label:"ResetScheduledTask",type:"keyword",info:"ResetScheduledTask[obj, timespec] resets the timing for a scheduled task to timespec.ResetScheduled"},{label:"ReshapeLayer",type:"keyword",info:"ReshapeLayer[dims] represents a net layer that reinterprets the input to be an array of dimensions d"},{label:"Residue",type:"keyword",info:"Residue[expr, {z, z }] finds the residue of expr at the point z = z . \n 0 "},{label:"ResizeLayer",type:"keyword",info:"ResizeLayer[{d}] represents a layer performing one-dimensional resizing of a two-dimensional array.R"},{label:"Resolve",type:"keyword",info:"Resolve[expr] attempts to resolve expr into a form that eliminates ForAll and Exists quantifiers. Re"},{label:"ResolveContextAliases",type:"keyword",info:"ResolveContextAliases is an option for Names, Contexts and related functions to control whether to r"},{label:"ResourceAcquire",type:"keyword",info:"System`ResourceAcquire"},{label:"ResourceData",type:"keyword",info:"ResourceData[resource] gives the primary content of the specified resource.ResourceData[resource, el"},{label:"ResourceFunction",type:"keyword",info:"ResourceFunction[resource] represents the function associated with the specified resource.ResourceFu"},{label:"ResourceObject",type:"keyword",info:'ResourceObject["name"] represents a resource with the specified name.ResourceObject["uuid"] represen'},{label:"ResourceRegister",type:"keyword",info:"ResourceRegister[resource] creates a persistent cache of a resource object that can be referenced by"},{label:"ResourceRemove",type:"keyword",info:"ResourceRemove[resource] removes the specified resource from the system on which it is run."},{label:"ResourceSearch",type:"keyword",info:"ResourceSearch[form] gives a dataset of resources that contain text matching form.ResourceSearch[for"},{label:"ResourceSubmissionObject",type:"keyword",info:"System`ResourceSubmissionObject"},{label:"ResourceSubmit",type:"keyword",info:"ResourceSubmit[resource] submits the specified resource object to be reviewed for publication.Resour"},{label:"ResourceSystemBase",type:"keyword",info:"ResourceSystemBase is an option for ResourceObject, ResourceSearch and related functions specifying "},{label:"ResourceSystemPath",type:"keyword",info:"ResourceSystemPath is an option for ResourceObject, ResourceSearch and related functions for specify"},{label:"ResourceUpdate",type:"keyword",info:"ResourceUpdate[resource] updates to the latest version of the specified resource object.ResourceUpda"},{label:"ResourceVersion",type:"keyword",info:"ResourceVersion is an option for ResourceObject, ResourceFunction and related functions for specifyi"},{label:"ResponseForm",type:"keyword",info:'ResponseForm[expr, "fmt"] represents a response record to be given in a specified format when reques'},{label:"Rest",type:"keyword",info:"Rest[expr] gives expr with the first element removed. "},{label:"RestartInterval",type:"keyword",info:"RestartInterval is an option controlling the restart behavior of functions such as ContinuousTask."},{label:"Restricted",type:"keyword",info:"Restricted[form, cond, …] represents a form for Interpreter and related functions restricted accordi"},{label:"Resultant",type:"keyword",info:"Resultant[poly , poly , var] computes the resultant of the polynomials poly and poly with respect "},{label:"ResumePacket",type:"keyword",info:"ResumePacket[] is a WSTP packet used for synchronization with the Wolfram Language kernel."},{label:"Return",type:"keyword",info:"Return[expr] returns the value expr from a function. Return[] returns the value Null. \n"},{label:"ReturnCreatesNewCell",type:"keyword",info:"System`ReturnCreatesNewCell"},{label:"ReturnEntersInput",type:"keyword",info:"System`ReturnEntersInput"},{label:"ReturnExpressionPacket",type:"keyword",info:"ReturnExpressionPacket[expr] is a WSTP packet that contains the expression expr, the result of an En"},{label:"ReturnInputFormPacket",type:"keyword",info:"ReturnInputFormPacket is an internal symbol used for formatting."},{label:"ReturnPacket",type:"keyword",info:"ReturnPacket[expr] is a WSTP packet that contains the expression expr, the result of an EvaluatePack"},{label:"ReturnReceiptFunction",type:"keyword",info:"ReturnReceiptFunction is an option for MailReceiverFunction that specifies what function to apply if"},{label:"ReturnTextPacket",type:"keyword",info:"ReturnTextPacket[string] is a WSTP packet containing string, the result of an EnterTextPacket evalua"},{label:"Reverse",type:"keyword",info:"Reverse[expr] reverses the order of the elements in expr. Reverse[expr, n] reverses elements at leve"},{label:"ReverseApplied",type:"keyword",info:"ReverseApplied[f] represents a form of f that takes arguments in reverse order so that ReverseApplie"},{label:"ReverseBiorthogonalSplineWavelet",type:"keyword",info:"ReverseBiorthogonalSplineWavelet[] represents a reverse biorthogonal spline wavelet of order 4 and d"},{label:"ReverseElement",type:"keyword",info:"ReverseElement[x, y, …] displays as x ∋ y ∋ …."},{label:"ReverseEquilibrium",type:"keyword",info:"ReverseEquilibrium[x, y, …] displays as x ⇋ y ⇋ …."},{label:"ReverseGraph",type:"keyword",info:"ReverseGraph[g] gives the reverse graph of the directed graph g.ReverseGraph[{v  w, …}] uses rules "},{label:"ReverseSort",type:"keyword",info:"ReverseSort[list] sorts the elements of list into reverse canonical order. ReverseSort[list, p] sort"},{label:"ReverseSortBy",type:"keyword",info:"ReverseSortBy[list, f] sorts the elements of list using the reverse canonical order defined by apply"},{label:"ReverseUpEquilibrium",type:"keyword",info:"ReverseUpEquilibrium[x, y, …] displays as x ⥯ y ⥯ …."},{label:"RevolutionAxis",type:"keyword",info:"RevolutionAxis is an option for RevolutionPlot3D which specifies the revolution axis around which th"},{label:"RevolutionPlot3D",type:"keyword",info:"RevolutionPlot3D[f , {t, t , t }] generates a plot of the surface of revolution with height f a"},{label:"RGBColor",type:"keyword",info:"RGBColor[r, g, b] represents a color in the RGB color space with red, blue and green components. RGB"},{label:"RiccatiSolve",type:"keyword",info:" "},{label:"RiceDistribution",type:"keyword",info:"RiceDistribution[Î\\[PlusMinus], Î.b2] represents a Rice distribution with shape parameters Î\\[PlusMinus] and Î.b2.RiceDistribution"},{label:"RidgeFilter",type:"keyword",info:"RidgeFilter[data] computes a measure for the presence of a ridge at every position of data.RidgeFilt"},{label:"RiemannR",type:"keyword",info:"RiemannR[x] gives the Riemann prime counting function R(x)."},{label:"RiemannSiegelTheta",type:"keyword",info:"RiemannSiegelTheta[t] gives the Riemann–Siegel function ϑ(t). "},{label:"RiemannSiegelZ",type:"keyword",info:"RiemannSiegelZ[t] gives the Riemann–Siegel function Z(t). "},{label:"RiemannXi",type:"keyword",info:"RiemannXi[s] gives the Riemann xi function ξ(s)."},{label:"Riffle",type:"keyword",info:" "},{label:"Right",type:"keyword",info:"Right is a symbol that represents the right-hand side for purposes of alignment and positioning. "},{label:"RightArrow",type:"keyword",info:"RightArrow[x, y, …] displays as x → y → …."},{label:"RightArrowBar",type:"keyword",info:"RightArrowBar[x, y, …] displays as x ⇥ y ⇥ …."},{label:"RightArrowLeftArrow",type:"keyword",info:"RightArrowLeftArrow[x, y, …] displays as x ⇄ y ⇄ …."},{label:"RightComposition",type:"keyword",info:"RightComposition[f , f , f , …] represents a composition on the right of the functions f , f , f , …"},{label:"RightCosetRepresentative",type:"keyword",info:"RightCosetRepresentative[group, g] returns the smallest element in the right coset of products of th"},{label:"RightDownTeeVector",type:"keyword",info:"RightDownTeeVector[x, y, …] displays as x ⥝ y ⥝ …."},{label:"RightDownVector",type:"keyword",info:"RightDownVector[x, y, …] displays as x ⇂ y ⇂ …."},{label:"RightDownVectorBar",type:"keyword",info:"RightDownVectorBar[x, y, …] displays as x ⥕ y ⥕ …."},{label:"RightTee",type:"keyword",info:"RightTee[x, y] displays as x ⊢ y."},{label:"RightTeeArrow",type:"keyword",info:"RightTeeArrow[x, y, …] displays as x ↦ y ↦ …."},{label:"RightTeeVector",type:"keyword",info:"RightTeeVector[x, y, …] displays as x ⥛ y ⥛ …."},{label:"RightTriangle",type:"keyword",info:"RightTriangle[x, y, …] displays as x âŠ.b3 y âŠ.b3 …."},{label:"RightTriangleBar",type:"keyword",info:"RightTriangleBar[x, y, …] displays as x ⧐ y ⧐ …."},{label:"RightTriangleEqual",type:"keyword",info:"RightTriangleEqual[x, y, …] displays as x âŠ\\[Micro] y âŠ\\[Micro] …."},{label:"RightUpDownVector",type:"keyword",info:"RightUpDownVector[x, y, …] displays as x ⥏ y ⥏ …."},{label:"RightUpTeeVector",type:"keyword",info:"RightUpTeeVector[x, y, …] displays as x ⥜ y ⥜ …."},{label:"RightUpVector",type:"keyword",info:"RightUpVector[x, y, …] displays as x ↾ y ↾ …."},{label:"RightUpVectorBar",type:"keyword",info:"RightUpVectorBar[x, y, …] displays as x ⥔ y ⥔ …."},{label:"RightVector",type:"keyword",info:"RightVector[x, y, …] displays as x ⇀ y ⇀ …."},{label:"RightVectorBar",type:"keyword",info:"RightVectorBar[x, y, …] displays as x ⥓ y ⥓ …."},{label:"RipleyK",type:"keyword",info:"RipleyK[pdata, r] estimates Ripley's K function K(r) at radius r for point data pdata.RipleyK[pproc,"},{label:"RipleyRassonRegion",type:"keyword",info:"RipleyRassonRegion[pdata] gives an estimated observation based on the point data pdata. "},{label:"RiskAchievementImportance",type:"keyword",info:"RiskAchievementImportance[rdist, t] gives the risk achievement importances for all components in the"},{label:"RiskReductionImportance",type:"keyword",info:"RiskReductionImportance[rdist, t] gives the risk reduction importances for all components in the Rel"},{label:"RobustConvexOptimization",type:"keyword",info:"RobustConvexOptimization[f, ForAll[pars, pcons, vcons], vars] finds values of vars that give the min"},{label:"RogersTanimotoDissimilarity",type:"keyword",info:"RogersTanimotoDissimilarity[u, v] gives the Rogers–Tanimoto dissimilarity between Boolean vectors u "},{label:"RollPitchYawAngles",type:"keyword",info:"RollPitchYawAngles[r] gives the roll-pitch-yaw angles {Î\\[PlusMinus], Î.b2, Î.b3} corresponding to the rotation matrix"},{label:"RollPitchYawMatrix",type:"keyword",info:"RollPitchYawMatrix[{Î\\[PlusMinus], Î.b2, Î.b3}] gives the 3D rotation matrix formed by rotating by Î\\[PlusMinus] around the initia"},{label:"RomanNumeral",type:"keyword",info:"RomanNumeral[n] gives a string corresponding to the Roman numeral form of the integer n."},{label:"Root",type:"keyword",info:" "},{label:"RootApproximant",type:"keyword",info:'RootApproximant[x] converts the number x to one of the "simplest" algebraic numbers that approximate'},{label:"RootIntervals",type:"keyword",info:"RootIntervals[{poly , poly , …}] gives a list of isolating intervals for the real roots of any of th"},{label:"RootLocusPlot",type:"keyword",info:"RootLocusPlot[lsys, {k, k , k }] generates a root locus plot of a linear time-invariant system l"},{label:"RootMeanSquare",type:"keyword",info:"RootMeanSquare[list] gives the root mean square of values in list.RootMeanSquare[dist] gives the roo"},{label:"RootOfUnityQ",type:"keyword",info:"RootOfUnityQ[a] yields True if a is a root of unity, and yields False otherwise."},{label:"RootReduce",type:"keyword",info:"RootReduce[expr] attempts to reduce expr to a single Root object. "},{label:"Roots",type:"keyword",info:"Roots[lhs == rhs, var] yields a disjunction of equations which represent the roots of a polynomial e"},{label:"RootSum",type:"keyword",info:"RootSum[f, form] represents the sum of form[x] for all x that satisfy the polynomial equation f[x] ="},{label:"Rotate",type:"keyword",info:"Rotate[g, θ] represents 2D graphics primitives or any other objects g rotated counterclockwise by θ "},{label:"RotateLabel",type:"keyword",info:"RotateLabel is an option for graphics and related functions that specifies whether labels on vertica"},{label:"RotateLeft",type:"keyword",info:"RotateLeft[expr, n] cycles the elements in expr n positions to the left. RotateLeft[expr] cycles one"},{label:"RotateRight",type:"keyword",info:"RotateRight[expr, n] cycles the elements in expr n positions to the right. RotateRight[expr] cycles "},{label:"RotationAction",type:"keyword",info:"RotationAction is an option for three-dimensional graphics functions that specifies how to render 3D"},{label:"RotationBox",type:"keyword",info:"System`RotationBox"},{label:"RotationBoxOptions",type:"keyword",info:"RotationBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Rotation"},{label:"RotationMatrix",type:"keyword",info:"RotationMatrix[θ] gives the 2D rotation matrix that rotates 2D vectors counterclockwise by θ radians"},{label:"RotationTransform",type:"keyword",info:"RotationTransform[θ] gives a TransformationFunction that represents a rotation in 2D by θ radians ab"},{label:"Round",type:"keyword",info:"Round[x] gives the integer closest to x. Round[x, a] rounds to the nearest multiple of a. \n"},{label:"RoundImplies",type:"keyword",info:"System`RoundImplies"},{label:"RoundingRadius",type:"keyword",info:"RoundingRadius is an option for Rectangle, Framed, and related functions that specifies the radius o"},{label:"Row",type:"keyword",info:"Row[{expr , expr , …}] is an object that formats with the expr arranged in a row, potentially exten"},{label:"RowAlignments",type:"keyword",info:"RowAlignments is an option for the low-level function GridBox that specifies how entries in each row"},{label:"RowBackgrounds",type:"keyword",info:"System`RowBackgrounds"},{label:"RowBox",type:"keyword",info:"RowBox[{box , box , …}] is a low-level box construct that represents a row of boxes or strings in a "},{label:"RowHeights",type:"keyword",info:"System`RowHeights"},{label:"RowLines",type:"keyword",info:"RowLines is an option for the low-level function GridBox that specifies whether lines should be draw"},{label:"RowMinHeight",type:"keyword",info:"RowMinHeight is an option for the low-level function GridBox that specifies the minimum total height"},{label:"RowReduce",type:"keyword",info:"RowReduce[m] gives the row‐reduced form of the matrix m. "},{label:"RowsEqual",type:"keyword",info:"RowsEqual is an option for the low-level function GridBox that specifies whether all rows in the gri"},{label:"RowSpacings",type:"keyword",info:"RowSpacings is an option for the low-level function GridBox that specifies the spaces in x heights t"},{label:"RSolve",type:"keyword",info:"RSolve[eqn, a[n], n] solves a recurrence equation for a[n]. RSolve[{eqn , eqn , …}, {a [n], a [n], …"},{label:"RSolveValue",type:"keyword",info:"RSolveValue[eqn, expr, n] gives the value of expr determined by a symbolic solution to the ordinary "},{label:"RudinShapiro",type:"keyword",info:" th\nRudinShapiro[n] gives the n term in the Rudin–Shapiro sequence."},{label:"RudvalisGroupRu",type:"keyword",info:"RudvalisGroupRu[] represents the sporadic simple Rudvalis group Ru."},{label:"Rule",type:"keyword",info:"lhs -> rhs or lhs  rhs represents a rule that transforms lhs to rhs. "},{label:"RuleCondition",type:"keyword",info:"RuleCondition is an internal symbol."},{label:"RuleDelayed",type:"keyword",info:"lhs :> rhs or lhs  rhs represents a rule that transforms lhs to rhs, evaluating rhs only after the "},{label:"RuleForm",type:"keyword",info:"RuleForm is an internal symbol used for formatting and printing."},{label:"RulePlot",type:"keyword",info:"RulePlot[sys] generates a plot representing the rule for the computational system sys.RulePlot[sys, "},{label:"RulerUnits",type:"keyword",info:"RulerUnits is an option for notebooks that specifies the units in the ruler toolbar."},{label:"RulesTree",type:"keyword",info:"RulesTree[data  {rule , rule , …}] gives a tree whose root contains data and that has children spec"},{label:"Run",type:"keyword",info:'Run["command"] runs command as an external operating system command, returning the exit code obtaine'},{label:"RunProcess",type:"keyword",info:'RunProcess["command"] runs the specified external command, returning information on the outcome.\nRun'},{label:"RunScheduledTask",type:"keyword",info:"RunScheduledTask[expr] schedules and starts a local scheduled task that will repeatedly evaluate exp"},{label:"RunThrough",type:"keyword",info:'RunThrough["command", expr] executes an external command, giving the printed form of expr as input a'},{label:"RuntimeAttributes",type:"keyword",info:"RuntimeAttributes is an option for Compile that specifies attributes for the compiled function it cr"},{label:"RuntimeOptions",type:"keyword",info:"RuntimeOptions is an option for Compile that specifies runtime settings for the compiled function it"},{label:"RussellRaoDissimilarity",type:"keyword",info:"RussellRaoDissimilarity[u, v] gives the Russell–Rao dissimilarity between Boolean vectors u and v."},{label:"SameQ",type:"keyword",info:"lhs === rhs yields True if the expression lhs is identical to rhs, and yields False otherwise. "},{label:"SameTest",type:"keyword",info:"SameTest is an option whose setting gives a pairwise comparison function to determine whether expres"},{label:"SameTestProperties",type:"keyword",info:"SameTestProperties is an option for set operations on entity classes whose setting gives the propert"},{label:"SampledEntityClass",type:"keyword",info:"SampledEntityClass[class, n] represents an entity class containing n entities from class.SampledEnti"},{label:"SampleDepth",type:"keyword",info:"SampleDepth is an option for sound primitives that specifies how many bits should be used to encode "},{label:"SampledSoundFunction",type:"keyword",info:"SampledSoundFunction[f, n, r] is a sound primitive that represents a sound whose amplitude sampled r"},{label:"SampledSoundList",type:"keyword",info:"SampledSoundList[{a , a , …}, r] is a sound primitive that represents a sound whose amplitude has le"},{label:"SampleRate",type:"keyword",info:"SampleRate is an option that specifies the number of samples per second for sound and signal process"},{label:"SamplingPeriod",type:"keyword",info:"SamplingPeriod is an option to StateSpaceModel etc. that specifies the sampling period."},{label:"SARIMAProcess",type:"keyword",info:"SARIMAProcess[{a , …, a }, d, {b , …, b }, {s, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, Î.b4, {Î.b2 , …, Î.b2 }}, v] represents a seasona"},{label:"SARMAProcess",type:"keyword",info:"SARMAProcess[{a , …, a }, {b , …, b }, {s, {Î\\[PlusMinus] , …, Î\\[PlusMinus] }, {Î.b2 , …, Î.b2 }}, v] represents a weakly station"},{label:"SASTriangle",type:"keyword",info:"SASTriangle[a, Î.b3, b] returns a filled triangle with sides of length a and b and angle Î.b3 between them"},{label:"SatelliteData",type:"keyword",info:"SatelliteData[entity, property] gives the value of the specified property for the satellite entity.S"},{label:"SatisfiabilityCount",type:"keyword",info:"SatisfiabilityCount[bf] counts the number of possible combinations of variable values that yield Tru"},{label:"SatisfiabilityInstances",type:"keyword",info:"SatisfiabilityInstances[bf] attempts to find a choice of variables that makes the Boolean function b"},{label:"SatisfiableQ",type:"keyword",info:"SatisfiableQ[bf] gives True if a combination of values of variables exists that makes the Boolean fu"},{label:"Saturday",type:"keyword",info:"Saturday is a day of the week."},{label:"Save",type:"keyword",info:'Save["filename", symbol] appends definitions associated with the specified symbol to a file. Save["f'},{label:"Saveable",type:"keyword",info:"Saveable is an option for notebooks that specifies whether a notebook can be saved."},{label:"SaveAutoDelete",type:"keyword",info:"System`SaveAutoDelete"},{label:"SaveConnection",type:"keyword",info:"SaveConnection is an option for ServiceConnect that determines whether the connection should be save"},{label:"SaveDefinitions",type:"keyword",info:"SaveDefinitions is an option to Manipulate and related functions that specifies whether current defi"},{label:"SavitzkyGolayMatrix",type:"keyword",info:" "},{label:"SawtoothWave",type:"keyword",info:"SawtoothWave[x] gives a sawtooth wave that varies from 0 to 1 with unit period.SawtoothWave[{min, ma"},{label:"Scale",type:"keyword",info:"Scale[g, s] represents graphics primitives g scaled by a factor s. Scale[g, s, {x, y, …}] scales wit"},{label:"Scaled",type:"keyword",info:"Scaled[{x, y, …}] gives the position of a graphical object in terms of coordinates scaled to run fro"},{label:"ScaleDivisions",type:"keyword",info:"ScaleDivisions is an option for gauge functions that specifies how many tick marks should be drawn o"},{label:"ScaledMousePosition",type:"keyword",info:"System`ScaledMousePosition"},{label:"ScaleOrigin",type:"keyword",info:"ScaleOrigin is an option for gauge functions that describes how to position the scale on the gauge."},{label:"ScalePadding",type:"keyword",info:"ScalePadding is an option for gauge functions that specifies how much space to leave around the scal"},{label:"ScaleRanges",type:"keyword",info:"ScaleRanges is an option for gauge functions that describes how to draw sections of the scale."},{label:"ScaleRangeStyle",type:"keyword",info:"ScaleRangeStyle is an option for gauge functions to describe how to style different sections of the "},{label:"ScalingFunctions",type:"keyword",info:"ScalingFunctions is an option for ListPlot, BarChart, Histogram, and other plotting functions that s"},{label:"ScalingMatrix",type:"keyword",info:"ScalingMatrix[{s , s , …}] gives the matrix corresponding to scaling by a factor s along each coord"},{label:"ScalingTransform",type:"keyword",info:"ScalingTransform[{s , s , …}] gives a TransformationFunction that represents scaling by a factor s "},{label:"Scan",type:"keyword",info:"Scan[f, expr] evaluates f applied to each element of expr in turn. Scan[f, expr, levelspec] applies "},{label:"ScheduledTask",type:"keyword",info:"ScheduledTask[expr, timespec] represents a scheduled task to be evaluated on the schedule defined by"},{label:"ScheduledTaskActiveQ",type:"keyword",info:"ScheduledTaskActiveQ[obj] yields True if obj represents an active task, and False otherwise."},{label:"ScheduledTaskInformation",type:"keyword",info:"ScheduledTaskInformation[CloudObject] returns information about a task.\nScheduledTaskInformation[Clo"},{label:"ScheduledTaskInformationData",type:"keyword",info:"System`ScheduledTaskInformationData"},{label:"ScheduledTaskObject",type:"keyword",info:"ScheduledTaskObject[id, expr, spec, …] is a task object specifying future evaluation of expr accordi"},{label:"ScheduledTasks",type:"keyword",info:"ScheduledTasks[] returns a list of ScheduledTaskObject and CloudObject expressions that represent cu"},{label:"SchurDecomposition",type:"keyword",info:"SchurDecomposition[m] yields the Schur decomposition for a numerical matrix m, given as a list {q, t"},{label:"ScientificForm",type:"keyword",info:"ScientificForm[expr] prints with all real numbers in expr given in scientific notation. ScientificFo"},{label:"ScientificNotationThreshold",type:"keyword",info:"ScientificNotationThreshold is an option for NumberForm and related functions that specifies the thr"},{label:"ScorerGi",type:"keyword",info:"ScorerGi[z] gives the Scorer function Gi(z)."},{label:"ScorerGiPrime",type:"keyword",info:" â€.b2\nScorerGiPrime[z] gives the derivati"},{label:"ScorerHi",type:"keyword",info:"ScorerHi[z] gives the Scorer function Hi(z)."},{label:"ScorerHiPrime",type:"keyword",info:" â€.b2\nScorerHiPrime[z] gives the derivati"},{label:"ScreenRectangle",type:"keyword",info:"ScreenRectangle is a global option that specifies the position of the primary screen by giving the c"},{label:"ScreenStyleEnvironment",type:"keyword",info:"ScreenStyleEnvironment is an option for notebooks that specifies the style environment to be used in"},{label:"ScriptBaselineShifts",type:"keyword",info:"ScriptBaselineShifts is an option for Style that specifies the minimum distance in x‐heights to shif"},{label:"ScriptForm",type:"keyword",info:"System`ScriptForm"},{label:"ScriptLevel",type:"keyword",info:"ScriptLevel is an option for selections that is used in determining the font size of modifiers such "},{label:"ScriptMinSize",type:"keyword",info:"ScriptMinSize is an option for Style which specifies the minimum font size to use in rendering subsc"},{label:"ScriptRules",type:"keyword",info:"System`ScriptRules"},{label:"ScriptSizeMultipliers",type:"keyword",info:"ScriptSizeMultipliers is an option for Style that specifies how much smaller to render each successi"},{label:"Scrollbars",type:"keyword",info:"Scrollbars is an option for Pane that specifies whether scrollbars should be displayed."},{label:"ScrollingOptions",type:"keyword",info:"ScrollingOptions is an option for notebooks that specifies settings for scrolling."},{label:"ScrollPosition",type:"keyword",info:"ScrollPosition is an option for Pane that specifies the scroll position of the contents of the pane."},{label:"SearchAdjustment",type:"keyword",info:"SearchAdjustment[query, w] represents a component of a search query that is to be treated as having "},{label:"SearchIndexObject",type:"keyword",info:"SearchIndexObject[loc] represents a search index object, as created by CreateSearchIndex.SearchIndex"},{label:"SearchIndices",type:"keyword",info:"SearchIndices[] returns a list with all the locally stored instances of SearchIndexObject."},{label:"SearchQueryString",type:"keyword",info:'SearchQueryString["query"] represents a search engine-style query in TextSearch and related function'},{label:"SearchResultObject",type:"keyword",info:"SearchResultObject[…] represents a result from TextSearch[…] and related functions."},{label:"Sec",type:"keyword",info:"Sec[z] gives the secant of z. "},{label:"Sech",type:"keyword",info:"Sech[z] gives the hyperbolic secant of z. "},{label:"SechDistribution",type:"keyword",info:"SechDistribution[μ, σ] represents the hyperbolic secant distribution with location parameter μ and s"},{label:"SecondOrderConeOptimization",type:"keyword",info:"SecondOrderConeOptimization[f, cons, vars] finds values of variables vars that minimize the linear o"},{label:"SectionGrouping",type:"keyword",info:"System`SectionGrouping"},{label:"SectorChart",type:"keyword",info:"SectorChart[{{x , y }, {x , y }, …}] makes a sector chart with sector angles proportional to x and "},{label:"SectorChart3D",type:"keyword",info:"SectorChart3D[{{x , y , z }, {x , y , z }, …}] makes a 3D sector chart with sector angle proportiona"},{label:"SectorOrigin",type:"keyword",info:"SectorOrigin is an option to PieChart and related functions that specifies where sectors should star"},{label:"SectorSpacing",type:"keyword",info:"SectorSpacing is an option to PieChart and related functions that specifies radial spacing of sector"},{label:"SecuredAuthenticationKey",type:"keyword",info:"SecuredAuthenticationKey[assoc] represents a secured authentication key with credentials and detail"},{label:"SecuredAuthenticationKeys",type:"keyword",info:"SecuredAuthenticationKeys[] retrieves a list of all instances of SecuredAuthenticationKey owned by t"},{label:"SecurityCertificate",type:"keyword",info:"SecurityCertificate[assoc] represents the security certificate issued for a public key."},{label:"SeedRandom",type:"keyword",info:"SeedRandom[s] resets the pseudorandom generator, using s as a seed. SeedRandom[] resets the generato"},{label:"Select",type:"keyword",info:"Select[list, crit] picks out all elements e of list for which crit[e ] is True. Select[list, crit, "},{label:"Selectable",type:"keyword",info:"Selectable is an option for displayed objects, cells, and notebooks that specifies whether their con"},{label:"SelectComponents",type:"keyword",info:"SelectComponents[{image, lmat}, crit] selects components of image indicated by the label matrix lmat"},{label:"SelectedCells",type:"keyword",info:"SelectedCells[notebook] returns a list of CellObject expressions corresponding to the currently sele"},{label:"SelectedNotebook",type:"keyword",info:"SelectedNotebook[] gives the currently selected notebook in the front end. "},{label:"SelectFirst",type:"keyword",info:'SelectFirst[{e , e , …}, crit] gives the first e for which crit[e ] is True, or Missing["NotFound"]'},{label:"Selection",type:"keyword",info:"System`Selection"},{label:"SelectionAnimate",type:"keyword",info:"SelectionAnimate[notebook] animates graphics in the current selection in a notebook. SelectionAnimat"},{label:"SelectionCell",type:"keyword",info:"System`SelectionCell"},{label:"SelectionCellCreateCell",type:"keyword",info:"System`SelectionCellCreateCell"},{label:"SelectionCellDefaultStyle",type:"keyword",info:"System`SelectionCellDefaultStyle"},{label:"SelectionCellParentStyle",type:"keyword",info:"System`SelectionCellParentStyle"},{label:"SelectionCreateCell",type:"keyword",info:"SelectionCreateCell[notebook] copies the contents of the current selection in a notebook into a new "},{label:"SelectionDebuggerTag",type:"keyword",info:"System`SelectionDebuggerTag"},{label:"SelectionDuplicateCell",type:"keyword",info:"System`SelectionDuplicateCell"},{label:"SelectionEvaluate",type:"keyword",info:"SelectionEvaluate[notebook] replaces the current selection in a notebook with the result obtained by"},{label:"SelectionEvaluateCreateCell",type:"keyword",info:"SelectionEvaluateCreateCell[notebook] takes the current selection in a notebook and creates a new ce"},{label:"SelectionMove",type:"keyword",info:"SelectionMove[obj, dir, unit] moves the current selection in an open notebook in the front end in th"},{label:"SelectionPlaceholder",type:"keyword",info:"System`SelectionPlaceholder"},{label:"SelectionSetStyle",type:"keyword",info:"System`SelectionSetStyle"},{label:"SelectWithContents",type:"keyword",info:"System`SelectWithContents"},{label:"SelfLoops",type:"keyword",info:"System`SelfLoops"},{label:"SelfLoopStyle",type:"keyword",info:"SelfLoopStyle is an option for GraphPlot and related functions that specifies how to draw self-loops"},{label:"SemanticImport",type:"keyword",info:"SemanticImport[file] attempts to import a file semantically to give a Dataset object.SemanticImport["},{label:"SemanticImportString",type:"keyword",info:'SemanticImportString["string"] attempts to import a string semantically to give a Dataset object.Sem'},{label:"SemanticInterpretation",type:"keyword",info:'SemanticInterpretation["string"] attempts to give the best semantic interpretation of the specified '},{label:"SemialgebraicComponentInstances",type:"keyword",info:"SemialgebraicComponentInstances[ineqs, {x , x , …}] gives at least one sample point in each connecte"},{label:"SemidefiniteOptimization",type:"keyword",info:" "},{label:"SendMail",type:"keyword",info:'SendMail[body] sends mail consisting of body to the address specified by ECCloudUserID.SendMail[{"sub'},{label:"SendMessage",type:"keyword",info:"SendMessage[channel, message] sends a message to the specified channel.SendMessage[channel  dest, m"},{label:"Sequence",type:"keyword",info:"Sequence[expr , expr , …] represents a sequence of arguments to be spliced automatically into any fu"},{label:"SequenceAlignment",type:"keyword",info:"SequenceAlignment[s , s ] finds an optimal alignment of sequences of elements in the strings or list"},{label:"SequenceAttentionLayer",type:"keyword",info:'SequenceAttentionLayer[] is equivalent to AttentionLayer[] with a single "Input" port instead of por'},{label:"SequenceCases",type:"keyword",info:"SequenceCases[list, patt] gives a list of the sublists in list that match the sequence pattern patt."},{label:"SequenceCount",type:"keyword",info:"SequenceCount[list, sub] gives a count of the number of times sub appears as a sublist of list.Seque"},{label:"SequenceFold",type:"keyword",info:"SequenceFold[f, {x , …, x }, {a , a , …}] gives the last element of SequenceFoldList[f, {x , …, x },"},{label:"SequenceFoldList",type:"keyword",info:"SequenceFoldList[f, {x , …, x }, {a , a , …}] gives {x , …, x , f[x , …, x , a ], f[x , …, x , f[x ,"},{label:"SequenceForm",type:"keyword",info:"SequenceForm[expr , expr , …] prints as the textual concatenation of the printed forms of the expr ."},{label:"SequenceHold",type:"keyword",info:"SequenceHold is an attribute that specifies that Sequence objects appearing in the arguments of a fu"},{label:"SequenceIndicesLayer",type:"keyword",info:"SequenceIndicesLayer[] represents a net layer that produces a list of indices for an input sequence."},{label:"SequenceLastLayer",type:"keyword",info:"SequenceLastLayer[] represents a net that takes a sequence of inputs and returns the last element of"},{label:"SequenceMostLayer",type:"keyword",info:"SequenceMostLayer[] represents a net that takes a sequence of inputs and removes its last element."},{label:"SequencePosition",type:"keyword",info:"SequencePosition[list, sublist] gives a list of the starting and ending positions at which sublist a"},{label:"SequencePredict",type:"keyword",info:"SequencePredict[{seq , seq , …}] generates a SequencePredictorFunction[…] based on the sequences giv"},{label:"SequencePredictorFunction",type:"keyword",info:"SequencePredictorFunction[…] represents a function generated by SequencePredict that predicts the ne"},{label:"SequenceReplace",type:"keyword",info:"SequenceReplace[list, rules] replaces sequences in list according to the specified rule or list of r"},{label:"SequenceRestLayer",type:"keyword",info:"SequenceRestLayer[] represents a net that takes a sequence of inputs and removes its first element."},{label:"SequenceReverseLayer",type:"keyword",info:"SequenceReverseLayer[] represents a net that reverses the order of an input sequence."},{label:"SequenceSplit",type:"keyword",info:"SequenceSplit[list, patt] splits list into sublists separated by sequences that match the sequence p"},{label:"Series",type:"keyword",info:" "},{label:"SeriesCoefficient",type:"keyword",info:" th "},{label:"SeriesData",type:"keyword",info:"SeriesData[x, x , {a , a , …}, n , n , den] represents a power series in the variable x about th"},{label:"SeriesTermGoal",type:"keyword",info:"SeriesTermGoal is an option for Asymptotic, DiscreteAsymptotic and similar functions that specifies "},{label:"ServiceConnect",type:"keyword",info:'ServiceConnect["service"] creates a connection to an external service.ServiceConnect["service", id] '},{label:"ServiceDisconnect",type:"keyword",info:"ServiceDisconnect[service] disconnects from an external service specified by a ServiceObject."},{label:"ServiceExecute",type:"keyword",info:'ServiceExecute[service, "req"] executes "req" on an external service.ServiceExecute[service, "req", '},{label:"ServiceObject",type:"keyword",info:'ServiceObject["service", …] represents an open connection to an external service.'},{label:"ServiceRequest",type:"keyword",info:'ServiceRequest[service, "req"] represents a service request built from service, which might be a con'},{label:"ServiceResponse",type:"keyword",info:"System`ServiceResponse"},{label:"ServiceSubmit",type:"keyword",info:"ServiceSubmit[ServiceRequest[assoc]] submits a request to be executed by an external service specifi"},{label:"SessionSubmit",type:"keyword",info:"SessionSubmit[expr] submits an asynchronous task to evaluate expr in the current session.SessionSubm"},{label:"SessionTime",type:"keyword",info:"SessionTime[] gives the total number of seconds of real time that have elapsed since the beginning o"},{label:"Set",type:"keyword",info:"lhs = rhs evaluates rhs and assigns the result to be the value of lhs. From then on, lhs is replaced"},{label:"SetAccuracy",type:"keyword",info:"SetAccuracy[expr, a] yields a version of expr in which all numbers have been set to have accuracy a."},{label:"SetAlphaChannel",type:"keyword",info:"SetAlphaChannel[color] adds full opacity to color.SetAlphaChannel[color, a] adds opacity a to color."},{label:"SetAttributes",type:"keyword",info:"SetAttributes[symbol, attr] adds attr to the list of attributes of the symbol symbol. SetAttributes["},{label:"Setbacks",type:"keyword",info:"System`Setbacks"},{label:"SetBoxFormNamesPacket",type:"keyword",info:"System`SetBoxFormNamesPacket"},{label:"SetCloudDirectory",type:"keyword",info:"SetCloudDirectory[dir] sets the current working directory used for cloud objects to dir.SetCloudDire"},{label:"SetCookies",type:"keyword",info:"SetCookies[assoc] sets cookies with attributes specified by the association assoc, to be used by fun"},{label:"SetDelayed",type:"keyword",info:"lhs := rhs assigns rhs to be the delayed value of lhs. rhs is maintained in an unevaluated form. Whe"},{label:"SetDirectory",type:"keyword",info:'SetDirectory["dir"] sets the current working directory to dir. SetDirectory[] sets the current worki'},{label:"SetEnvironment",type:"keyword",info:'SetEnvironment["var"  value] sets the value of an operating system environment variable.SetEnvironm'},{label:"SetEvaluationNotebook",type:"keyword",info:"System`SetEvaluationNotebook"},{label:"SetFileDate",type:"keyword",info:'SetFileDate["file"] sets the modification and access dates for a file to be the current date. '},{label:"SetFileFormatProperties",type:"keyword",info:'SetFileFormatProperties["fmt", "prop"  val] sets the value of a property "prop" for the specified f'},{label:"SetFileLoadingContext",type:"keyword",info:"System`SetFileLoadingContext"},{label:"SetNotebookStatusLine",type:"keyword",info:"System`SetNotebookStatusLine"},{label:"SetOptions",type:"keyword",info:"SetOptions[s, name  value , name  value , …] sets the specified default options for a symbol s. "},{label:"SetOptionsPacket",type:"keyword",info:"System`SetOptionsPacket"},{label:"SetPermissions",type:"keyword",info:'SetPermissions[obj, "pstring"] sets permissions for the cloud object obj to be as specified by the s'},{label:"SetPrecision",type:"keyword",info:"SetPrecision[expr, p] yields a version of expr in which all numbers have been set to have precision "},{label:"SetProperty",type:"keyword",info:"SetProperty[{obj, itemspec}, name  value] sets the property name  value for itemspec in obj."},{label:"SetSecuredAuthenticationKey",type:"keyword",info:"System`SetSecuredAuthenticationKey"},{label:"SetSelectedNotebook",type:"keyword",info:"SetSelectedNotebook[obj] makes the notebook corresponding to obj be the currently selected one in th"},{label:"SetSharedFunction",type:"keyword",info:"SetSharedFunction[f , f , …] declares the symbols f as shared functions whose downvalues are synchr"},{label:"SetSharedVariable",type:"keyword",info:"SetSharedVariable[s , s , …] declares the symbols s as shared variables whose values are synchroniz"},{label:"SetSpeechParametersPacket",type:"keyword",info:"System`SetSpeechParametersPacket"},{label:"SetStreamPosition",type:"keyword",info:"SetStreamPosition[stream, n] sets the current point in an open stream. "},{label:"SetSystemModel",type:"keyword",info:"SetSystemModel[model, spec] changes model parameters, initializations or other properties in place."},{label:"SetSystemOptions",type:"keyword",info:'SetSystemOptions["name"  value] resets the value for the internal system option with the specified '},{label:"Setter",type:"keyword",info:"Setter[x, val] represents a setter button whose setting x is set to val when the button is clicked. "},{label:"SetterBar",type:"keyword",info:"SetterBar[x, {val , val , …}] represents a setter bar with setting x and with setter buttons for val"},{label:"SetterBox",type:"keyword",info:"System`SetterBox"},{label:"SetterBoxOptions",type:"keyword",info:"SetterBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for SetterBox "},{label:"Setting",type:"keyword",info:"Setting[expr] replaces forms and control objects such as sliders or popup menus in expr by their set"},{label:"SetUsers",type:"keyword",info:"SetUsers[group, {user , …}] sets the members of the permissions group group to be {user , …}.\n "},{label:"SetValue",type:"keyword",info:"System`SetValue"},{label:"Shading",type:"keyword",info:"Shading is an option for SurfaceGraphics that specifies whether the surfaces should be shaded. "},{label:"Shallow",type:"keyword",info:"Shallow[expr] prints as a shallow form of expr. Shallow[expr, depth] prints with all parts of expr b"},{label:"ShannonWavelet",type:"keyword",info:"ShannonWavelet[] represents the Shannon wavelet evaluated on the equally spaced interval {-10, 10}. "},{label:"ShapiroWilkTest",type:"keyword",info:"ShapiroWilkTest[data] tests whether data is normally distributed using the Shapiro–Wilk test.Shapiro"},{label:"Share",type:"keyword",info:"Share[expr] changes the way expr is stored internally, to try and minimize the amount of memory used"},{label:"SharingList",type:"keyword",info:"SharingList is an option for CloudObject and related constructs that specifies with whom the object "},{label:"Sharpen",type:"keyword",info:"Sharpen[image] gives a sharpened version of image.Sharpen[image, r] gives a version of image sharpen"},{label:"ShearingMatrix",type:"keyword",info:"ShearingMatrix[θ, v, n] gives the matrix corresponding to shearing by θ radians along the direction "},{label:"ShearingTransform",type:"keyword",info:"ShearingTransform[θ, v, n] gives a TransformationFunction that represents a shear by θ radians along"},{label:"ShellRegion",type:"keyword",info:"ShellRegion[reg] gives a solid shell of a 3D region reg.ShellRegion[reg, t] gives a solid shell of r"},{label:"ShenCastanMatrix",type:"keyword",info:" "},{label:"ShiftedGompertzDistribution",type:"keyword",info:"ShiftedGompertzDistribution[λ, ξ] represents a shifted Gompertz distribution with scale parameter λ "},{label:"ShiftRegisterSequence",type:"keyword",info:"ShiftRegisterSequence[n] gives a complete maximum-length sequence for a size n linear-feedback shift"},{label:"Short",type:"keyword",info:"Short[expr] prints as a short form of expr, less than about one line long. Short[expr, n] prints as "},{label:"ShortDownArrow",type:"keyword",info:"ShortDownArrow[x, y, …] displays as x  y  …."},{label:"Shortest",type:"keyword",info:"Shortest[p] is a pattern object that matches the shortest sequence consistent with the pattern p. "},{label:"ShortestMatch",type:"keyword",info:"ShortestMatch[p] is a string pattern object matching the shortest sequence of characters consistent "},{label:"ShortestPathFunction",type:"keyword",info:"ShortestPathFunction[type, data] represents a function that gives the shortest path from a source ve"},{label:"ShortLeftArrow",type:"keyword",info:"ShortLeftArrow[x, y, …] displays as x  y  …."},{label:"ShortRightArrow",type:"keyword",info:"ShortRightArrow[x, y, …] displays as x  y  …."},{label:"ShortTimeFourier",type:"keyword",info:"ShortTimeFourier[data] returns the short-time Fourier transform (STFT) of data as a ShortTimeFourier"},{label:"ShortTimeFourierData",type:"keyword",info:"ShortTimeFourierData[assoc] represents the result and properties of a short-time Fourier transform ("},{label:"ShortUpArrow",type:"keyword",info:"ShortUpArrow[x, y, …] displays as x  y  …."},{label:"Show",type:"keyword",info:"Show[graphics, options] shows graphics with the specified options added. Show[g , g , …] shows sever"},{label:"ShowAutoConvert",type:"keyword",info:"System`ShowAutoConvert"},{label:"ShowAutoSpellCheck",type:"keyword",info:"ShowAutoSpellCheck is an option for Cell that specifies whether to highlight misspelled words."},{label:"ShowAutoStyles",type:"keyword",info:"ShowAutoStyles is an option for Cell that specifies whether styles that are specified to be automati"},{label:"ShowCellBracket",type:"keyword",info:"ShowCellBracket is an option for Cell that specifies whether to display the bracket that indicates t"},{label:"ShowCellLabel",type:"keyword",info:"ShowCellLabel is an option for Cell that specifies whether to display the label for a cell. "},{label:"ShowCellTags",type:"keyword",info:"ShowCellTags is an option for Cell that specifies whether to display tags for a cell. "},{label:"ShowClosedCellArea",type:"keyword",info:"ShowClosedCellArea is an option for cells that specifies whether a rectangular bar is displayed next"},{label:"ShowCodeAssist",type:"keyword",info:"System`ShowCodeAssist"},{label:"ShowContents",type:"keyword",info:"ShowContents is an option for selections that specifies whether an object represented by a StyleBox "},{label:"ShowControls",type:"keyword",info:"System`ShowControls"},{label:"ShowCursorTracker",type:"keyword",info:"ShowCursorTracker is an option for Cell that specifies whether an elliptical spot should appear mome"},{label:"ShowGroupOpenCloseIcon",type:"keyword",info:"ShowGroupOpenCloseIcon is an option for cells that specifies whether a triangular icon is displayed "},{label:"ShowGroupOpener",type:"keyword",info:"ShowGroupOpener is an option for cells that specifies whether an opener icon is displayed next to th"},{label:"ShowInvisibleCharacters",type:"keyword",info:"System`ShowInvisibleCharacters"},{label:"ShowPageBreaks",type:"keyword",info:"ShowPageBreaks is a notebook option that specifies whether to indicate in the on‐screen display of a"},{label:"ShowPredictiveInterface",type:"keyword",info:"System`ShowPredictiveInterface"},{label:"ShowSelection",type:"keyword",info:"ShowSelection is an option to Notebook, Cell, and Style that specifies whether to show the current s"},{label:"ShowShortBoxForm",type:"keyword",info:"ShowShortBoxForm is an option for cells that specifies whether box expressions, which are used to re"},{label:"ShowSpecialCharacters",type:"keyword",info:"ShowSpecialCharacters is an option for Style and Cell that specifies whether to replace \\[Name], \\:n"},{label:"ShowStringCharacters",type:"keyword",info:'ShowStringCharacters is an option for Cell that specifies whether to display " when a string is ente'},{label:"ShowSyntaxStyles",type:"keyword",info:"System`ShowSyntaxStyles"},{label:"ShrinkingDelay",type:"keyword",info:"ShrinkingDelay is an option for dynamic objects that specifies how long to delay before shrinking th"},{label:"ShrinkWrapBoundingBox",type:"keyword",info:"System`ShrinkWrapBoundingBox"},{label:"SiderealTime",type:"keyword",info:"SiderealTime[] gives the right ascension of the local meridian for the current date and location.Sid"},{label:"SiegelTheta",type:"keyword",info:"SiegelTheta[Ω, s] gives the Siegel theta function Θ (Ω, s) with Riemann modular matrix Ω and vector "},{label:"SiegelTukeyTest",type:"keyword",info:" "},{label:"SierpinskiCurve",type:"keyword",info:" th\nSierpinskiCurve[n] gives the line s"},{label:"SierpinskiMesh",type:"keyword",info:" th "},{label:"Sign",type:"keyword",info:"Sign[x] gives -1, 0, or 1 depending on whether x is negative, zero, or positive. "},{label:"Signature",type:"keyword",info:"Signature[list] gives the signature of the permutation needed to place the elements of list in canon"},{label:"SignedRankTest",type:"keyword",info:"SignedRankTest[data] tests whether the median of data is zero. SignedRankTest[{data , data }] tests "},{label:"SignedRegionDistance",type:"keyword",info:"SignedRegionDistance[reg, p] gives the minimum distance from the point p to the region reg if p is o"},{label:"SignificanceLevel",type:"keyword",info:"SignificanceLevel is an option to VarianceTest and similar functions that controls cutoffs for diagn"},{label:"SignPadding",type:"keyword",info:"SignPadding is an option for NumberForm and related functions that specifies whether padding should "},{label:"SignTest",type:"keyword",info:"SignTest[data] tests whether the median of data is zero. SignTest[{data , data }] tests whether the "},{label:"SimilarityRules",type:"keyword",info:"SimilarityRules is an option for functions such as SequenceAlignment that gives a list of rules for "},{label:"SimpleGraph",type:"keyword",info:"SimpleGraph[g] gives the underlying simple graph from the graph g.SimpleGraph[{v  w, …}] uses rules"},{label:"SimpleGraphQ",type:"keyword",info:"SimpleGraphQ[g] yields True if the graph g is a simple graph and False otherwise."},{label:"SimplePolygonQ",type:"keyword",info:"SimplePolygonQ[poly] gives True if the polygon poly is simple and False otherwise."},{label:"SimplePolyhedronQ",type:"keyword",info:"SimplePolyhedronQ[poly] gives True if the polyhedron poly is simple and False otherwise."},{label:"Simplex",type:"keyword",info:"Simplex[{p , …, p }] represents the simplex spanned by points p .\n 1 k "},{label:"Simplify",type:"keyword",info:"Simplify[expr] performs a sequence of algebraic and other transformations on expr and returns the si"},{label:"Sin",type:"keyword",info:"Sin[z] gives the sine of z. "},{label:"Sinc",type:"keyword",info:"Sinc[z] gives sinc(z). "},{label:"SinghMaddalaDistribution",type:"keyword",info:"SinghMaddalaDistribution[q, a, b] represents the Singh–Maddala distribution with shape parameters q "},{label:"SingleEvaluation",type:"keyword",info:"System`SingleEvaluation"},{label:"SingleLetterItalics",type:"keyword",info:"SingleLetterItalics is an option for Cell that specifies whether single‐letter names should be displ"},{label:"SingleLetterStyle",type:"keyword",info:"System`SingleLetterStyle"},{label:"SingularValueDecomposition",type:"keyword",info:"SingularValueDecomposition[m] gives the singular value decomposition for a numerical matrix m as a l"},{label:"SingularValueList",type:"keyword",info:"SingularValueList[m] gives a list of the nonzero singular values of a matrix m. SingularValueList[{m"},{label:"SingularValuePlot",type:"keyword",info:"SingularValuePlot[lsys] generates a plot of the singular values of the transfer function for the sys"},{label:"SingularValues",type:"keyword",info:"SingularValues[m] gives the singular value decomposition for a numerical matrix m. The result is a l"},{label:"Sinh",type:"keyword",info:"Sinh[z] gives the hyperbolic sine of z. "},{label:"SinhIntegral",type:"keyword",info:"SinhIntegral[z] gives the hyperbolic sine integral function Shi(z). "},{label:"SinIntegral",type:"keyword",info:"SinIntegral[z] gives the sine integral function Si (z). "},{label:"SixJSymbol",type:"keyword",info:"SixJSymbol[{j , j , j }, {j , j , j }] gives the values of the Racah 6‐j symbol. \n 1 2"},{label:"Skeleton",type:"keyword",info:"Skeleton[n] represents a sequence of n omitted elements in an expression printed with Short or Shall"},{label:"SkeletonTransform",type:"keyword",info:"SkeletonTransform[image] gives the skeleton transform of image, in which the value of each skeleton "},{label:"SkellamDistribution",type:"keyword",info:"SkellamDistribution[μ , μ ] represents a Skellam distribution with shape parameters μ and μ .\n "},{label:"Skewness",type:"keyword",info:"Skewness[list] gives the coefficient of skewness for the elements in list.Skewness[dist] gives the c"},{label:"SkewNormalDistribution",type:"keyword",info:"SkewNormalDistribution[μ, σ, Î\\[PlusMinus]] represents a skew-normal distribution with shape parameter Î\\[PlusMinus], locati"},{label:"SkinStyle",type:"keyword",info:"SkinStyle is an option of AnatomyPlot3D that specifies what style to use for automatically included "},{label:"Skip",type:"keyword",info:"Skip[stream, type] skips one object of the specified type in an input stream. Skip[stream, type, n] "},{label:"SliceContourPlot3D",type:"keyword",info:"SliceContourPlot3D[f, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a contour p"},{label:"SliceDensityPlot3D",type:"keyword",info:"SliceDensityPlot3D[f, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a density p"},{label:"SliceDistribution",type:"keyword",info:"SliceDistribution[proc, t] represents the distribution of the process state at time t.SliceDistribut"},{label:"SliceVectorPlot3D",type:"keyword",info:"SliceVectorPlot3D[{v , v , v }, surf, {x, x , x }, {y, y , y }, {z, z , z }] generates a"},{label:"Slider",type:"keyword",info:"Slider[x] represents a slider with setting x in the range 0 to 1. Slider[Dynamic[x]] takes the setti"},{label:"Slider2D",type:"keyword",info:"Slider2D[{x, y}] represents a 2D slider with settings x and y in the range 0 to 1. Slider2D[Dynamic["},{label:"Slider2DBox",type:"keyword",info:"System`Slider2DBox"},{label:"Slider2DBoxOptions",type:"keyword",info:"Slider2DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Slider2D"},{label:"SliderBox",type:"keyword",info:"System`SliderBox"},{label:"SliderBoxOptions",type:"keyword",info:"SliderBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for SliderBox "},{label:"SlideShowVideo",type:"keyword",info:"SlideShowVideo[{image , image , …}] generates a video iterating through all image .SlideShowVideo[{i"},{label:"SlideView",type:"keyword",info:" "},{label:"Slot",type:"keyword",info:" th\n# represents th"},{label:"SlotSequence",type:"keyword",info:" "},{label:"Small",type:"keyword",info:"Small is a style or option setting that specifies that objects should be small."},{label:"SmallCircle",type:"keyword",info:"SmallCircle[x, y, …] displays as x ∘ y ∘ …."},{label:"Smaller",type:"keyword",info:"Smaller is a style or option setting that specifies that objects should be smaller."},{label:"SmithDecomposition",type:"keyword",info:"SmithDecomposition[m] gives the Smith normal form decomposition of an integer matrix m."},{label:"SmithDelayCompensator",type:"keyword",info:"SmithDelayCompensator[sys, con] gives the Smith compensator for the time-delay system sys and the de"},{label:"SmithWatermanSimilarity",type:"keyword",info:"SmithWatermanSimilarity[u, v] gives a number representing the Smith–Waterman similarity between stri"},{label:"SmoothDensityHistogram",type:"keyword",info:"SmoothDensityHistogram[{{x , y }, {x , y }, …}] plots a smooth kernel histogram of the values {x , y"},{label:"SmoothHistogram",type:"keyword",info:"SmoothHistogram[{x , x , …}] plots a smooth kernel histogram for the PDF of the values x .SmoothHist"},{label:"SmoothHistogram3D",type:"keyword",info:"SmoothHistogram3D[{{x , y }, {x , y }, …}] plots a 3D smooth kernel histogram of the values {x , y }"},{label:"SmoothKernelDistribution",type:"keyword",info:"SmoothKernelDistribution[{x , x , …}] represents a smooth kernel distribution based on the data valu"},{label:"SmoothPointDensity",type:"keyword",info:"SmoothPointDensity[pdata] estimates the point density function μ(x) for point data pdata.SmoothPoint"},{label:"SnDispersion",type:"keyword",info:"SnDispersion[list] gives the S statistic of the elements in list.SnDispersion[list, c] gives the S "},{label:"Snippet",type:"keyword",info:"Snippet[doc] gives a snippet of text from a document or other content object.Snippet[doc, n] gives a"},{label:"SnippetsVideo",type:"keyword",info:"SnippetsVideo[video, n] returns a summary video based on n snippets from video.SnippetsVideo[video, "},{label:"SnubPolyhedron",type:"keyword",info:"SnubPolyhedron[poly] gives the snub polyhedron of poly by truncating some corners."},{label:"SocialMediaData",type:"keyword",info:'SocialMediaData["name"] gives information about the social media entity "name".SocialMediaData["name'},{label:"Socket",type:"keyword",info:"Socket is a possible value returned by FileType and related functions."},{label:"SocketConnect",type:"keyword",info:"SocketConnect[address] makes a socket connection to the TCP host at the specified address and return"},{label:"SocketListen",type:"keyword",info:"SocketListen[socket, fun] starts listening on the specified socket, asynchronously applying fun when"},{label:"SocketListener",type:"keyword",info:"SocketListener[…] represents a socket listener created by SocketListen."},{label:"SocketObject",type:"keyword",info:"SocketObject[…] represents a network socket connection."},{label:"SocketOpen",type:"keyword",info:"SocketOpen[port] opens a socket that accepts TCP connections to localhost:port and returns a SocketO"},{label:"SocketReadMessage",type:"keyword",info:"SocketReadMessage[socket] reads the next available message on the specified socket, returning it as "},{label:"SocketReadyQ",type:"keyword",info:"SocketReadyQ[socket] tests if there is any data immediately available to read from the specified soc"},{label:"Sockets",type:"keyword",info:"Sockets[] returns all active socket connections initiated by your current Wolfram Language session.S"},{label:"SocketWaitAll",type:"keyword",info:"SocketWaitAll[{socket , socket , …}] waits until there is data ready to read on all of the socket .\n"},{label:"SocketWaitNext",type:"keyword",info:"SocketWaitNext[{socket , socket , …}] waits until there is data ready to read on any of the socket ,"},{label:"SoftmaxLayer",type:"keyword",info:"SoftmaxLayer[] represents a softmax net layer.SoftmaxLayer[n] represents a softmax net layer that us"},{label:"SokalSneathDissimilarity",type:"keyword",info:"SokalSneathDissimilarity[u, v] gives the Sokal–Sneath dissimilarity between Boolean vectors u and v."},{label:"SolarEclipse",type:"keyword",info:"SolarEclipse[] gives the time of the next solar eclipse.SolarEclipse[datespec] gives the time for th"},{label:"SolarSystemFeatureData",type:"keyword",info:"SolarSystemFeatureData[entity, property] gives the value of the specified property for the solar sys"},{label:"SolarTime",type:"keyword",info:"SolarTime[] gives the angle on the celestial equator between the Sun and the local antimeridian for "},{label:"SolidAngle",type:"keyword",info:"SolidAngle[p, {u , …, u }] gives the solid angle at the point p and spanned by the vectors u , …, u "},{label:"SolidBoundaryLoadValue",type:"keyword",info:"SolidBoundaryLoadValue[pred, vars, pars] represents a boundary load condition for PDEs with predicat"},{label:"SolidData",type:"keyword",info:"SolidData[entity, property] gives the value of the specified property for the solid entity.SolidData"},{label:"SolidDisplacementCondition",type:"keyword",info:"SolidDisplacementCondition[pred, vars, pars] represents a prescribed displacement on a solid boundar"},{label:"SolidFixedCondition",type:"keyword",info:"SolidFixedCondition[pred, vars, pars] represents a fully constrained solid boundary for PDEs with pr"},{label:"SolidMechanicsPDEComponent",type:"keyword",info:"SolidMechanicsPDEComponent[vars, pars] yields solid mechanics PDE terms with variables vars and para"},{label:"SolidMechanicsStrain",type:"keyword",info:"SolidMechanicsStrain[vars, pars, displ] yields solid mechanics strain with variables vars, parameter"},{label:"SolidMechanicsStress",type:"keyword",info:"SolidMechanicsStress[vars, pars, strain] yields solid mechanics stress with variables vars, paramete"},{label:"SolidRegionQ",type:"keyword",info:"SolidRegionQ[reg] gives True if the 3D region reg is a solid region and False otherwise."},{label:"Solve",type:"keyword",info:"Solve[expr, vars] attempts to solve the system expr of equations or inequalities for the variables v"},{label:"SolveAlways",type:"keyword",info:"SolveAlways[eqns, vars] gives the values of parameters that make the equations eqns valid for all va"},{label:"SolveDelayed",type:"keyword",info:"SolveDelayed is an option to NDSolve. SolveDelayed -> False causes the derivatives to be solved for "},{label:"SolveValues",type:"keyword",info:"SolveValues[expr, vars] gives the values of vars determined by the solutions of the system expr.Solv"},{label:"Sort",type:"keyword",info:"Sort[list] sorts the elements of list into canonical order. Sort[list, p] sorts using the ordering f"},{label:"SortBy",type:"keyword",info:"SortBy[list, f] sorts the elements of list in the order defined by applying f to each of them. SortB"},{label:"SortedBy",type:"keyword",info:"SortedBy is an option that specifies a function by which to sort the results of a computation."},{label:"SortedEntityClass",type:"keyword",info:"SortedEntityClass[class, prop] represents an entity class derived from class by sorting according to"},{label:"Sound",type:"keyword",info:"Sound[primitives] represents a sound. Sound[primitives, t] specifies that the sound should have dura"},{label:"SoundAndGraphics",type:"keyword",info:"System`SoundAndGraphics"},{label:"SoundNote",type:"keyword",info:"SoundNote[pitch] represents a music-like sound note with the specified pitch.SoundNote[pitch, t] tak"},{label:"SoundVolume",type:"keyword",info:"SoundVolume is an option to Sound and SoundNote and related functions that specifies the relative vo"},{label:"SourceLink",type:"keyword",info:"SourceLink is an option for CloudObject and related cloud functions that specifies the source of the"},{label:"SourcePDETerm",type:"keyword",info:"SourcePDETerm[vars, f] represents a source term f with source coefficient f and model variables vars"},{label:"Sow",type:"keyword",info:"Sow[e] specifies that e should be collected by the nearest enclosing Reap. Sow[e, tag] specifies tha"},{label:"Space",type:"keyword",info:"System`Space"},{label:"SpaceCurveData",type:"keyword",info:"SpaceCurveData[entity, property] gives the value of the specified property for the space curve entit"},{label:"SpaceForm",type:"keyword",info:"SpaceForm[n] prints as n spaces."},{label:"Spacer",type:"keyword",info:"Spacer[w] displays as a spacer w printer's points wide.Spacer[{w, h}] displays as a spacer w points "},{label:"Spacings",type:"keyword",info:"Spacings is an option to Grid and related constructs that specifies the spacings to leave between su"},{label:"Span",type:"keyword",info:"i;;j represents a span of elements i through j.i;; represents a span from i to the end.;;j represent"},{label:"SpanAdjustments",type:"keyword",info:"SpanAdjustments is an option for selections that specifies the height and width of spanning characte"},{label:"SpanCharacterRounding",type:"keyword",info:"SpanCharacterRounding is an option for selections that specifies the method used for rounding a span"},{label:"SpanFromAbove",type:"keyword",info:"SpanFromAbove is a symbol that can appear at a particular position in a Grid or related construct to"},{label:"SpanFromBoth",type:"keyword",info:"SpanFromBoth is a symbol that can appear at a particular position in a Grid or related construct to "},{label:"SpanFromLeft",type:"keyword",info:"SpanFromLeft is a symbol that can appear at a particular position in a Grid or related construct to "},{label:"SpanLineThickness",type:"keyword",info:"SpanLineThickness is an option for selections that specifies the thickness in printer's points of li"},{label:"SpanMaxSize",type:"keyword",info:"SpanMaxSize is an option for selections that specifies the maximum size of spanning characters such "},{label:"SpanMinSize",type:"keyword",info:"SpanMinSize is an option for selections that specifies the minimum size of spanning characters such "},{label:"SpanningCharacters",type:"keyword",info:"System`SpanningCharacters"},{label:"SpanSymmetric",type:"keyword",info:"SpanSymmetric is an option for selections that specifies whether vertically expandable characters ar"},{label:"SparseArray",type:"keyword",info:"SparseArray[{pos  v , pos  v , …}] yields a sparse array with all elements zero except for value"},{label:"SparseArrayQ",type:"keyword",info:"SparseArrayQ[s] yields True if s is a valid SparseArray object and False otherwise."},{label:"SpatialBinnedPointData",type:"keyword",info:"SpatialBinnedPointData[{reg  val , reg  val , …}] represents values val associated with disjoin"},{label:"SpatialBoundaryCorrection",type:"keyword",info:"SpatialBoundaryCorrection is an option to various spatial statistics functions that control how to c"},{label:"SpatialEstimate",type:"keyword",info:"SpatialEstimate[{loc  val , loc  val , …}] creates a spatial prediction from values val given a"},{label:"SpatialEstimatorFunction",type:"keyword",info:"SpatialEstimatorFunction[] represents a function generated by SpatialEstimate and predicts spatial f"},{label:"SpatialGraphDistribution",type:"keyword",info:"SpatialGraphDistribution[n, r] represents a spatial distribution for graphs with n vertices uniforml"},{label:"SpatialJ",type:"keyword",info:"SpatialJ[pdata, r] estimates the J function J(r) for point data pdata at radius r.SpatialJ[pproc, r]"},{label:"SpatialMedian",type:"keyword",info:"SpatialMedian[{x , x , …}] gives the spatial median of the elements x .SpatialMedian[data] gives the"},{label:"SpatialNoiseLevel",type:"keyword",info:"SpatialNoiseLevel is an option to SpatialEstimate and other spatial functions that gives the noise v"},{label:"SpatialObservationRegionQ",type:"keyword",info:"SpatialObservationRegionQ[reg] tests whether the geometric or geographic region reg can be an observ"},{label:"SpatialPointData",type:"keyword",info:"SpatialPointData[points] represents a collection of spatial locations points.SpatialPointData[points"},{label:"SpatialPointSelect",type:"keyword",info:"SpatialPointSelect[spdata, crit] selects a subset of the SpatialPointData spdata according to crit."},{label:"SpatialRandomnessTest",type:"keyword",info:"SpatialRandomnessTest[pdata] tests whether the point collection pdata is distributed uniformly over "},{label:"SpatialTransformationLayer",type:"keyword",info:"SpatialTransformationLayer[{h, w}] represents a net layer that applies an affine transformation to a"},{label:"SpatialTrendFunction",type:"keyword",info:"SpatialTrendFunction is an option to SpatialEstimate that specifies what global trend model to use f"},{label:"Speak",type:"keyword",info:"Speak[expr] speaks a spoken representation of the expression expr."},{label:"SpeakerMatchQ",type:"keyword",info:"SpeakerMatchQ[audio, ref] gives True if speaker features in audio match the one from reference ref a"},{label:"SpeakTextPacket",type:"keyword",info:"System`SpeakTextPacket"},{label:"SpearmanRankTest",type:"keyword",info:"SpearmanRankTest[v , v ] tests whether the vectors v and v are independent.SpearmanRankTest[m , m "},{label:"SpearmanRho",type:"keyword",info:" "},{label:"SpeciesData",type:"keyword",info:"SpeciesData[name, property] gives the value of the specified property for the species entity.Species"},{label:"SpecificityGoal",type:"keyword",info:"SpecificityGoal is an option for ImageIdentify and related functions that defines what specificity o"},{label:"SpectralLineData",type:"keyword",info:"SpectralLineData[entity] gives the values of all known properties for an atomic state or state trans"},{label:"Spectrogram",type:"keyword",info:"Spectrogram[list] plots the spectrogram of list.Spectrogram[list, n] uses partitions of length n.Spe"},{label:"SpectrogramArray",type:"keyword",info:"SpectrogramArray[list] returns the spectrogram data of list.SpectrogramArray[list, n] uses partition"},{label:"Specularity",type:"keyword",info:"Specularity[s] is a graphics directive which specifies that surfaces of 3D graphics objects which fo"},{label:"SpeechCases",type:"keyword",info:"SpeechCases[audio, form] gives a list of cases of text identified as being of type form that appear "},{label:"SpeechInterpreter",type:"keyword",info:"SpeechInterpreter[form] represents an interpreter object that can be applied to a speech input to tr"},{label:"SpeechRecognize",type:"keyword",info:"SpeechRecognize[audio] recognizes speech in audio and returns it as a string."},{label:"SpeechSynthesize",type:"keyword",info:"SpeechSynthesize[expr] synthesizes the contents of expr as an Audio object. SpeechSynthesize[expr, v"},{label:"SpellingCorrection",type:"keyword",info:"SpellingCorrection is an option for StringMatchQ, Names, and related functions that specifies whethe"},{label:"SpellingCorrectionList",type:"keyword",info:'SpellingCorrectionList["word"] gives a list of possible spelling corrections for "word".'},{label:"SpellingDictionaries",type:"keyword",info:"SpellingDictionaries is a global option that specifies settings for spell checking."},{label:"SpellingDictionariesPath",type:"keyword",info:"SpellingDictionariesPath is a global option that specifies which directories are searched for spelli"},{label:"SpellingOptions",type:"keyword",info:"SpellingOptions is an option for notebooks that specifies settings for spellchecking."},{label:"SpellingSuggestionsPacket",type:"keyword",info:"System`SpellingSuggestionsPacket"},{label:"Sphere",type:"keyword",info:"Sphere[p] represents a unit sphere centered at the point p.Sphere[p, r] represents a sphere of radiu"},{label:"SphereBox",type:"keyword",info:"System`SphereBox"},{label:"SpherePoints",type:"keyword",info:"SpherePoints[n] gives the positions of n uniformly distributed points on the surface of a unit spher"},{label:"SphericalBesselJ",type:"keyword",info:"SphericalBesselJ[n, z] gives the spherical Bessel function of the first kind j (z). \n "},{label:"SphericalBesselY",type:"keyword",info:"SphericalBesselY[n, z] gives the spherical Bessel function of the second kind y (z). \n "},{label:"SphericalHankelH1",type:"keyword",info:" (1)\nSphericalHankelH1"},{label:"SphericalHankelH2",type:"keyword",info:" (2)\nSphericalHankelH"},{label:"SphericalHarmonicY",type:"keyword",info:" m\nSphericalHarmonicY[l, m, θ, ϕ] gives "},{label:"SphericalPlot3D",type:"keyword",info:"SphericalPlot3D[r, θ, ϕ] generates a 3D plot with a spherical radius r as a function of spherical co"},{label:"SphericalRegion",type:"keyword",info:"SphericalRegion is an option for three-dimensional graphics functions that specifies whether the fin"},{label:"SphericalShell",type:"keyword",info:"SphericalShell[c, {r , r }] represents a filled spherical shell centered at c with inner rad"},{label:"SpheroidalEigenvalue",type:"keyword",info:"SpheroidalEigenvalue[n, m, Î.b3] gives the spheroidal eigenvalue with degree n and order m."},{label:"SpheroidalJoiningFactor",type:"keyword",info:"SpheroidalJoiningFactor[n, m, Î.b3] gives the spheroidal joining factor with degree n and order m."},{label:"SpheroidalPS",type:"keyword",info:"SpheroidalPS[n, m, Î.b3, z] gives the angular spheroidal function PS (Î.b3, z) of the first kind.\n "},{label:"SpheroidalPSPrime",type:"keyword",info:"SpheroidalPSPrime[n, m, Î.b3, z] gives the derivative with respect to z of the angular spheroidal funct"},{label:"SpheroidalQS",type:"keyword",info:"SpheroidalQS[n, m, Î.b3, z] gives the angular spheroidal function QS (Î.b3, z) of the second kind.\n "},{label:"SpheroidalQSPrime",type:"keyword",info:"SpheroidalQSPrime[n, m, Î.b3, z] gives the derivative with respect to z of the angular spheroidal funct"},{label:"SpheroidalRadialFactor",type:"keyword",info:"SpheroidalRadialFactor[n, m, c] gives the spheroidal radial factor with degree n and order m."},{label:"SpheroidalS1",type:"keyword",info:" (1)\nSpheroidalS1[n, m, Î.b3, z] gives th"},{label:"SpheroidalS1Prime",type:"keyword",info:" "},{label:"SpheroidalS2",type:"keyword",info:" (2)\nSpheroidalS2[n, m, Î.b3, z] gives th"},{label:"SpheroidalS2Prime",type:"keyword",info:" "},{label:"Splice",type:"keyword",info:"Splice[{e , e , …}] represents an expression that will automatically be spliced into any list in whi"},{label:"SplicedDistribution",type:"keyword",info:"SplicedDistribution[{w , w , …, w }, {c , c , …, c }, {dist dist , …, dist }] represents the distr"},{label:"SplineClosed",type:"keyword",info:"SplineClosed is an option for B-spline functions and graphics primitives that specifies whether spli"},{label:"SplineDegree",type:"keyword",info:"SplineDegree is an option for spline functions and graphics primitives that specifies the degree of "},{label:"SplineKnots",type:"keyword",info:"SplineKnots is an option for B-spline functions and graphics primitives that specifies the positions"},{label:"SplineWeights",type:"keyword",info:"SplineWeights is an option for B-spline functions and graphics primitives that specifies weights of "},{label:"Split",type:"keyword",info:"Split[list] splits list into sublists consisting of runs of identical elements. Split[list, test] tr"},{label:"SplitBy",type:"keyword",info:"SplitBy[list, f] splits list into sublists consisting of runs of successive elements that give the s"},{label:"SpokenString",type:"keyword",info:"SpokenString[expr] gives a string of text corresponding to a spoken representation of the expression"},{label:"SpotLight",type:"keyword",info:"SpotLight[col, pt, Î\\[PlusMinus]] is a three-dimensional graphics directive to use in coloring 3D surfaces that "},{label:"Sqrt",type:"keyword",info:"Sqrt[z] or Sqrt[z] gives the square root of z. "},{label:"SqrtBox",type:"keyword",info:"SqrtBox[x] is a low-level box construct that represents the displayed object Sqrt[x] in notebook exp"},{label:"SqrtBoxOptions",type:"keyword",info:"SqrtBoxOptions is an option that specifies settings for SqrtBox objects."},{label:"Square",type:"keyword",info:"Square[x] displays as  x."},{label:"SquaredEuclideanDistance",type:"keyword",info:"SquaredEuclideanDistance[u, v] gives the squared Euclidean distance between vectors u and v."},{label:"SquareFreeQ",type:"keyword",info:"SquareFreeQ[expr] gives True if expr is a square-free polynomial or number, and False otherwise.Squa"},{label:"SquareIntersection",type:"keyword",info:"SquareIntersection[x, y, …] displays as x ⊓ y ⊓ …."},{label:"SquareMatrixQ",type:"keyword",info:"SquareMatrixQ[m] gives True if m is a square matrix, and False otherwise."},{label:"SquareRepeatingElement",type:"keyword",info:"SquareRepeatingElement[spec] represents a square array of elements of type spec in an interpreter, A"},{label:"SquaresR",type:"keyword",info:"SquaresR[d, n] gives the number of ways r (n) to represent the integer n as a sum of d squares.\n "},{label:"SquareSubset",type:"keyword",info:"SquareSubset[x, y, …] displays as x ⊏ y ⊏ …."},{label:"SquareSubsetEqual",type:"keyword",info:"SquareSubsetEqual[x, y, …] displays as x ⊑ y ⊑ …."},{label:"SquareSuperset",type:"keyword",info:"SquareSuperset[x, y, …] displays as x ⊐ y ⊐ …."},{label:"SquareSupersetEqual",type:"keyword",info:"SquareSupersetEqual[x, y, …] displays as x ⊒ y ⊒ …."},{label:"SquareUnion",type:"keyword",info:"SquareUnion[x, y, …] displays as x ⊔ y ⊔ …."},{label:"SquareWave",type:"keyword",info:"SquareWave[x] gives a square wave that alternates between +1 and -1 with unit period.SquareWave[{y ,"},{label:"SSSTriangle",type:"keyword",info:"SSSTriangle[a, b, c] returns a filled triangle with sides of lengths a, b, and c."},{label:"StabilityMargins",type:"keyword",info:"StabilityMargins is an option to frequency response plots such as BodePlot, NyquistPlot, and Nichols"},{label:"StabilityMarginsStyle",type:"keyword",info:"StabilityMarginsStyle is an option to frequency response plots such as BodePlot, NyquistPlot, and Ni"},{label:"StableDistribution",type:"keyword",info:"StableDistribution[type, Î\\[PlusMinus], Î.b2, μ, σ] represents the stable distribution S with index of stabilit"},{label:"Stack",type:"keyword",info:"Stack[] shows the current evaluation stack, giving a list of the tags associated with evaluations th"},{label:"StackBegin",type:"keyword",info:"StackBegin[expr] evaluates expr, starting a fresh evaluation stack. "},{label:"StackComplete",type:"keyword",info:"StackComplete[expr] evaluates expr with intermediate expressions in evaluation chains included on th"},{label:"StackedDateListPlot",type:"keyword",info:"StackedDateListPlot[{{date , v }, {date , v }, …}] plots points with values v at a sequence of date"},{label:"StackedListPlot",type:"keyword",info:" th\nStackedListPlot["},{label:"StackInhibit",type:"keyword",info:"StackInhibit[expr] evaluates expr without modifying the evaluation stack. "},{label:"StadiumShape",type:"keyword",info:"StadiumShape[{{x , y }, {x , y }}, r] represents a stadium of radius r between the points {x , y } a"},{label:"StandardAtmosphereData",type:"keyword",info:"StandardAtmosphereData[altitude, property] returns the value of the property at the specified geomet"},{label:"StandardDeviation",type:"keyword",info:"StandardDeviation[list] gives the sample standard deviation of the elements in list. StandardDeviati"},{label:"StandardDeviationFilter",type:"keyword",info:" "},{label:"StandardForm",type:"keyword",info:"StandardForm[expr] prints as the standard Wolfram Language two-dimensional representation of expr. "},{label:"Standardize",type:"keyword",info:"Standardize[list] shifts and rescales the elements of list to have zero mean and unit sample varianc"},{label:"Standardized",type:"keyword",info:"Standardized is an option that determines whether to standardize the data."},{label:"StandardOceanData",type:"keyword",info:"StandardOceanData[spec] returns the thermodynamic properties of seawater for the specified parameter"},{label:"StandbyDistribution",type:"keyword",info:" "},{label:"Star",type:"keyword",info:"Star[x, y, …] displays as x ⋆ y ⋆ …."},{label:"StarClusterData",type:"keyword",info:"StarClusterData[entity, property] gives the value of the specified property for the star cluster ent"},{label:"StarData",type:"keyword",info:"StarData[entity, property] gives the value of the specified property for the star entity.StarData[{e"},{label:"StarGraph",type:"keyword",info:"StarGraph[n] gives the star graph with n vertices S .\n "},{label:"StartAsynchronousTask",type:"keyword",info:"StartAsynchronousTask[task] allows asynchronous evaluations from task after it has been stopped."},{label:"StartExternalSession",type:"keyword",info:'StartExternalSession["sys"] starts an external session using the external evaluator sys, returning a'},{label:"StartingStepSize",type:"keyword",info:"StartingStepSize is an option to NDSolve and related functions that specifies the initial step size "},{label:"StartOfLine",type:"keyword",info:"StartOfLine represents the start of a line in a string for purposes of matching in StringExpression."},{label:"StartOfString",type:"keyword",info:"StartOfString represents the start of a string for purposes of matching in StringExpression."},{label:"StartProcess",type:"keyword",info:'StartProcess["executable"] executes an external program, yielding a ProcessObject to represent the r'},{label:"StartScheduledTask",type:"keyword",info:"StartScheduledTask[obj] starts the local or cloud scheduled task represented by obj."},{label:"StartupSound",type:"keyword",info:"System`StartupSound"},{label:"StartWebSession",type:"keyword",info:'StartWebSession[] starts a web session and returns a web session object.StartWebSession["browser"] s'},{label:"StateDimensions",type:"keyword",info:"StateDimensions is an option to TemporalData that specifies the dimensions of the state space. "},{label:"StateFeedbackGains",type:"keyword",info:"StateFeedbackGains[sspec, {p , …, p }] gives the state feedback gains for the system specification s"},{label:"StateOutputEstimator",type:"keyword",info:"StateOutputEstimator[ssm, l] constructs an estimator for the StateSpaceModel ssm, with estimator gai"},{label:"StateResponse",type:"keyword",info:"StateResponse[sys, u, {t, t , t }] gives the numeric state response of the state-space model sys"},{label:"StateSpaceModel",type:"keyword",info:"StateSpaceModel[{a, b, c, d}] represents the standard state-space model with state matrix a, input m"},{label:"StateSpaceRealization",type:"keyword",info:"StateSpaceRealization is an option to StateSpaceModel that specifies its canonical representation."},{label:"StateSpaceTransform",type:"keyword",info:"StateSpaceTransform[sys, {p, q}] transforms the state-space model sys using the matrices p and q. St"},{label:"StateTransformationLinearize",type:"keyword",info:"StateTransformationLinearize[asys] linearizes the AffineStateSpaceModel asys by state transformation"},{label:"StationaryDistribution",type:"keyword",info:"StationaryDistribution[proc] represents the stationary distribution of the process proc, when it exi"},{label:"StationaryWaveletPacketTransform",type:"keyword",info:"StationaryWaveletPacketTransform[data] gives the stationary wavelet packet transform (SWPT) of an ar"},{label:"StationaryWaveletTransform",type:"keyword",info:"StationaryWaveletTransform[data] gives the stationary wavelet transform (SWT) of an array of data.St"},{label:"StatusArea",type:"keyword",info:"StatusArea[expr, string] displays string in the status area of the current notebook when the mouse p"},{label:"StatusCentrality",type:"keyword",info:"StatusCentrality[g] gives a list of status centralities for the vertices in the graph g.StatusCentra"},{label:"StepMonitor",type:"keyword",info:"StepMonitor is an option for iterative numerical computation functions that gives an expression to e"},{label:"StereochemistryElements",type:"keyword",info:"StereochemistryElements is an option for Molecule that specifies the local stereochemical arrangemen"},{label:"StieltjesGamma",type:"keyword",info:"StieltjesGamma[n] gives the Stieltjes constant Î.b3 . StieltjesGamma[n, a] gives the generalized Stielt"},{label:"StippleShading",type:"keyword",info:"StippleShading[] is a three-dimensional graphics directive specifying that objects that follow are t"},{label:"StirlingS1",type:"keyword",info:" (m)\nStirlingS1[n, m] gives the Stirlin"},{label:"StirlingS2",type:"keyword",info:" (m)\nStirlingS2[n, m] gives the Stirli"},{label:"StopAsynchronousTask",type:"keyword",info:"StopAsynchronousTask[task] stops asynchronous evaluations from task."},{label:"StoppingPowerData",type:"keyword",info:'StoppingPowerData[entity, {"Particle"  particle, "Energy"  quantity}, property] gives the value of'},{label:"StopScheduledTask",type:"keyword",info:"StopScheduledTask[obj] deactivates the local or cloud scheduled task represented by obj."},{label:"StrataVariables",type:"keyword",info:"StrataVariables is an option for fitting functions such as CoxModelFit that specify the variables on"},{label:"StratonovichProcess",type:"keyword",info:"StratonovichProcess[{a, b}, x, t] represents a Stratonovich process x(t), where  x(t)  a(t, x(t)) "},{label:"StraussHardcorePointProcess",type:"keyword",info:" "},{label:"StraussPointProcess",type:"keyword",info:" "},{label:"StreamColorFunction",type:"keyword",info:"StreamColorFunction is an option for StreamPlot and related functions that specifies a function to a"},{label:"StreamColorFunctionScaling",type:"keyword",info:"StreamColorFunctionScaling is an option for graphics functions that specifies whether arguments supp"},{label:"StreamDensityPlot",type:"keyword",info:"StreamDensityPlot[{{v , v }, s}, {x, x , x }, {y, y , y }] generates a stream plot of the ve"},{label:"StreamMarkers",type:"keyword",info:"StreamMarkers is an option for StreamPlot, ListStreamPlot and related functions that specifies what "},{label:"StreamPlot",type:"keyword",info:"StreamPlot[{v , v }, {x, x , x }, {y, y , y }] generates a stream plot of the vector field {"},{label:"StreamPlot3D",type:"keyword",info:"StreamPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] plots streamlines for "},{label:"StreamPoints",type:"keyword",info:"StreamPoints is an option to StreamPlot, ListStreamPlot, and related functions that determines how m"},{label:"StreamPosition",type:"keyword",info:"StreamPosition[stream] returns an integer that specifies the position of the current point in an ope"},{label:"Streams",type:"keyword",info:'Streams[] gives a list of all streams that are currently open. Streams["name"] lists only streams wi'},{label:"StreamScale",type:"keyword",info:"StreamScale is an option to StreamPlot, ListStreamPlot, and related functions that determines the le"},{label:"StreamStyle",type:"keyword",info:"StreamStyle is an option to StreamPlot, StreamDensityPlot, and related functions that determines the"},{label:"StrictInequalities",type:"keyword",info:"StrictInequalities is an option to FunctionSign and FunctionMonotonicity, etc. that determines wheth"},{label:"String",type:"keyword",info:'String is the head of a character string "text". '},{label:"StringBreak",type:"keyword",info:"System`StringBreak"},{label:"StringByteCount",type:"keyword",info:'StringByteCount["string"] gives the total number of bytes used to store the characters in a string.'},{label:"StringCases",type:"keyword",info:'StringCases["string", patt] gives a list of the substrings in "string" that match the string express'},{label:"StringContainsQ",type:"keyword",info:'StringContainsQ["string", patt] yields True if any part of string matches the string pattern patt, a'},{label:"StringCount",type:"keyword",info:'StringCount["string", "sub"] gives a count of the number of times "sub" appears as a substring of "s'},{label:"StringDelete",type:"keyword",info:'StringDelete["string", patt] yields the string obtained by deleting from string all occurrences of a'},{label:"StringDrop",type:"keyword",info:" "},{label:"StringEndsQ",type:"keyword",info:'StringEndsQ["string", patt] yields True if the end of string matches the string pattern patt, and yi'},{label:"StringExpression",type:"keyword",info:"s ~~ s ~~ … or StringExpression[s , s , …] represents a sequence of strings and symbolic string ob"},{label:"StringExtract",type:"keyword",info:' th\nStringExtract["string", n] extracts the n block of c'},{label:"StringForm",type:"keyword",info:'StringForm["controlstring", expr , …] prints as the text of the controlstring, with the printed form'},{label:"StringFormat",type:"keyword",info:'StringFormat["string"] attempts to determine what ImportString format could be used to import the st'},{label:"StringFormatQ",type:"keyword",info:'StringFormatQ["string", "fmt"] gives True if the string "string" might be imported as format "fmt" a'},{label:"StringFreeQ",type:"keyword",info:'StringFreeQ["string", patt] yields True if no substring in "string" matches the string expression pa'},{label:"StringInsert",type:"keyword",info:'StringInsert["string", "snew", n] yields a string with "snew" inserted starting at position n in "st'},{label:"StringJoin",type:"keyword",info:'"s " <> "s " <> …, StringJoin["s ", "s ", …], or StringJoin[{"s ", "s ", …}] yields a string consist'},{label:"StringLength",type:"keyword",info:'StringLength["string"] gives the number of characters in a string. '},{label:"StringMatchQ",type:"keyword",info:'StringMatchQ["string", patt] tests whether "string" matches the string pattern patt. StringMatchQ["s'},{label:"StringPadLeft",type:"keyword",info:'StringPadLeft["string", n] makes string be of length n, padding it on the left with spaces or trunca'},{label:"StringPadRight",type:"keyword",info:'StringPadRight["string", n] makes string be of length n, padding it on the right with spaces or trun'},{label:"StringPart",type:"keyword",info:" th "},{label:"StringPartition",type:"keyword",info:'StringPartition["string", n] partitions string into nonoverlapping substrings of length n.StringPart'},{label:"StringPosition",type:"keyword",info:'StringPosition["string", "sub"] gives a list of the starting and ending character positions at which'},{label:"StringQ",type:"keyword",info:"StringQ[expr] gives True if expr is a string, and False otherwise."},{label:"StringRepeat",type:"keyword",info:'StringRepeat["str", n] creates a string consisting of "str" repeated n times.StringRepeat["str", n, '},{label:"StringReplace",type:"keyword",info:'StringReplace["string", s  sp] replaces the string expression s by sp wherever it appears in "strin'},{label:"StringReplaceList",type:"keyword",info:'StringReplaceList["string", s  sp] or StringReplaceList["string", {s  sp , s  sp , …}] gives a '},{label:"StringReplacePart",type:"keyword",info:'StringReplacePart["string", "snew", {m, n}] replaces the characters at positions m through n in "str'},{label:"StringReverse",type:"keyword",info:'StringReverse["string"] reverses the order of the characters in "string".'},{label:"StringRiffle",type:"keyword",info:"StringRiffle[{s , s , s , …}] creates a string by concatenating all the s , with spaces inserted bet"},{label:"StringRotateLeft",type:"keyword",info:"StringRotateLeft[string, n] cycles the characters in string n positions to the left.StringRotateLeft"},{label:"StringRotateRight",type:"keyword",info:"StringRotateRight[string, n] cycles the characters in string n positions to the right.StringRotateRi"},{label:"StringSkeleton",type:"keyword",info:"StringSkeleton[n] represents a sequence of n omitted characters in a string printed with Short. The "},{label:"StringSplit",type:"keyword",info:'StringSplit["string"] splits "string" into a list of substrings separated by whitespace. StringSplit'},{label:"StringStartsQ",type:"keyword",info:'StringStartsQ["string", patt] yields True if the beginning of string matches the string pattern patt'},{label:"StringTake",type:"keyword",info:" "},{label:"StringTakeDrop",type:"keyword",info:'StringTakeDrop["string", n] gives a pair of strings containing the first n characters in "string" an'},{label:"StringTemplate",type:"keyword",info:'StringTemplate["string"] yields a TemplateObject expression that represents a string template to be '},{label:"StringToByteArray",type:"keyword",info:'StringToByteArray["string"] returns a byte array corresponding to the UTF-8 encoding of the specifie'},{label:"StringToStream",type:"keyword",info:'StringToStream["string"] opens an input stream for reading from a string. '},{label:"StringTrim",type:"keyword",info:'StringTrim["string"] trims whitespace from the beginning and end of "string".StringTrim["string", pa'},{label:"StripBoxes",type:"keyword",info:"StripBoxes[expr] will strip out unnecessary boxes, spaces, and styles from a format expression."},{label:"StripOnInput",type:"keyword",info:"StripOnInput is an option for certain boxes that determines whether the box should be stripped on ev"},{label:"StripStyleOnPaste",type:"keyword",info:"System`StripStyleOnPaste"},{label:"StripWrapperBoxes",type:"keyword",info:"StripWrapperBoxes is an option to TagBox that controls how boxes are stripped upon evaluation."},{label:"StrokeForm",type:"keyword",info:"System`StrokeForm"},{label:"StructuralImportance",type:"keyword",info:"StructuralImportance[rdist] gives the structural importances for all components in the ReliabilityDi"},{label:"StructuredArray",type:"keyword",info:"StructuredArray[st, {d , d , …}, data] represents a d ×d ×… array with structure type st and specifi"},{label:"StructuredArrayHeadQ",type:"keyword",info:"System`StructuredArrayHeadQ"},{label:"StructuredSelection",type:"keyword",info:"StructuredSelection is an option for Cell that specifies whether to allow only complete subexpressio"},{label:"StruveH",type:"keyword",info:"StruveH[n, z] gives the Struve function H (z). \n n"},{label:"StruveL",type:"keyword",info:"StruveL[n, z] gives the modified Struve function L (z). \n "},{label:"Stub",type:"keyword",info:"Stub is an attribute which specifies that if a symbol is ever used, Needs should automatically be ca"},{label:"StudentTDistribution",type:"keyword",info:"StudentTDistribution[ν] represents a Student t distribution with ν degrees of freedom.StudentTDistri"},{label:"Style",type:"keyword",info:'Style[expr, options] displays with expr formatted using the specified option settings. Style[expr, "'},{label:"StyleBox",type:"keyword",info:"StyleBox[boxes, options] is a low-level representation of boxes to be shown with the specified optio"},{label:"StyleBoxAutoDelete",type:"keyword",info:"StyleBoxAutoDelete is an option for selections that specifies whether a StyleBox wrapped around them"},{label:"StyleData",type:"keyword",info:'StyleData["style"] is a low-level representation of the contents of a style definition cell.StyleDat'},{label:"StyleDefinitions",type:"keyword",info:"StyleDefinitions is an option for notebooks that gives definitions for the styles that can be used i"},{label:"StyleForm",type:"keyword",info:'StyleForm[expr, options] prints using the specified style options. StyleForm[expr, "style"] prints u'},{label:"StyleHints",type:"keyword",info:"StyleHints is an option for cells and notebooks that specifies an association containing hints used "},{label:"StyleKeyMapping",type:"keyword",info:"System`StyleKeyMapping"},{label:"StyleMenuListing",type:"keyword",info:"StyleMenuListing is an option for cells that specifies whether a given cell style is listed in the F"},{label:"StyleNameDialogSettings",type:"keyword",info:"StyleNameDialogSettings is a global option that specifies the cell style displayed in the Custom Sty"},{label:"StyleNames",type:"keyword",info:"System`StyleNames"},{label:"StylePrint",type:"keyword",info:'StylePrint[expr, "style"] creates a new cell in the current notebook with the specified style, and p'},{label:"StyleSheetPath",type:"keyword",info:"StyleSheetPath is a global option that specifies which directories the Wolfram System searches to fi"},{label:"Subdivide",type:"keyword",info:"Subdivide[n] generates the list {0, 1/n, 2/n, …, 1}.Subdivide[x , n] generates the list of values "},{label:"Subfactorial",type:"keyword",info:"Subfactorial[n] gives the number of permutations of n objects that leave no object fixed."},{label:"Subgraph",type:"keyword",info:"Subgraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices v .Subgraph[g, "},{label:"SubMinus",type:"keyword",info:"SubMinus[expr] displays as expr .\n -"},{label:"SubPlus",type:"keyword",info:"SubPlus[expr] displays as expr .\n +"},{label:"SubresultantPolynomialRemainders",type:"keyword",info:"SubresultantPolynomialRemainders[poly , poly , var] gives the subresultant polynomial remainder sequ"},{label:"SubresultantPolynomials",type:"keyword",info:"SubresultantPolynomials[poly , poly , var] generates a list of subresultant polynomials of the polyn"},{label:"Subresultants",type:"keyword",info:"Subresultants[poly , poly , var] generates a list of the principal subresultant coefficients of the "},{label:"Subscript",type:"keyword",info:"Subscript[x, y] is an object that formats as x . Subscript[x, y , y , …] formats as x .\n "},{label:"SubscriptBox",type:"keyword",info:"SubscriptBox[x, y] is the low‐level box representation for x in notebook expressions. \n "},{label:"SubscriptBoxOptions",type:"keyword",info:"SubscriptBoxOptions is an option for selections that specifies settings for SubscriptBox objects."},{label:"Subscripted",type:"keyword",info:"System`Subscripted"},{label:"Subsequences",type:"keyword",info:" "},{label:"Subset",type:"keyword",info:"Subset[x, y, …] displays as x ⊂ y ⊂ …."},{label:"SubsetCases",type:"keyword",info:"SubsetCases[list, patt] gives a list of the sublists in list that match the pattern patt in any orde"},{label:"SubsetCount",type:"keyword",info:"SubsetCount[list, sub] gives a count of the number of times sub appears in any order as a sublist of"},{label:"SubsetEqual",type:"keyword",info:"SubsetEqual[x, y, …] displays as x ⊆ y ⊆ …."},{label:"SubsetMap",type:"keyword",info:"SubsetMap[f, {e , e , …}, {i, j, …}] yields an expression in which the elements e , e , … in the lis"},{label:"SubsetPosition",type:"keyword",info:"SubsetPosition[list, sublist] gives a list of positions at which sublist appears in list in any orde"},{label:"SubsetQ",type:"keyword",info:"SubsetQ[list , list ] yields True if list is a subset of list , and False otherwise.\n 1 "},{label:"SubsetReplace",type:"keyword",info:"SubsetReplace[list, rules] replaces sublists in list according to the specified rule or list of rule"},{label:"Subsets",type:"keyword",info:" "},{label:"SubStar",type:"keyword",info:"SubStar[expr] displays as expr .\n *"},{label:"SubstitutionSystem",type:"keyword",info:"SubstitutionSystem[rule, init, t] generates a list representing the evolution of the substitution sy"},{label:"Subsuperscript",type:"keyword",info:" z\nSubsuperscript[x, y, z] is an object that fo"},{label:"SubsuperscriptBox",type:"keyword",info:" z\nSubsuperscriptBox[x, y, z] is "},{label:"SubsuperscriptBoxOptions",type:"keyword",info:"SubsuperscriptBoxOptions is an option for selections that specifies settings for SubsuperscriptBox o"},{label:"SubtitleEncoding",type:"keyword",info:"SubtitleEncoding is an option for Export and other functions that specifies the subtitle encoding to"},{label:"SubtitleTrackSelection",type:"keyword",info:"SubtitleTrackSelection is an option that specifies the subtitle tracks of interest."},{label:"Subtract",type:"keyword",info:"x - y is equivalent to x + (-1 * y). "},{label:"SubtractFrom",type:"keyword",info:"x -= dx subtracts dx from x and returns the new value of x. "},{label:"SubtractSides",type:"keyword",info:"SubtractSides[rel, x] subtracts x from each side of the equation or inequality rel.SubtractSides[rel"},{label:"SubValues",type:"keyword",info:"SubValues[f] gives a list of transformation rules corresponding to all subvalues (values for f[…][…]"},{label:"Succeeds",type:"keyword",info:"Succeeds[x, y, …] displays as x ≻ y ≻ …."},{label:"SucceedsEqual",type:"keyword",info:"SucceedsEqual[x, y, …] displays as x âª\\[Degree] y âª\\[Degree] …."},{label:"SucceedsSlantEqual",type:"keyword",info:"SucceedsSlantEqual[x, y, …] displays as x ≽ y ≽ …."},{label:"SucceedsTilde",type:"keyword",info:"SucceedsTilde[x, y, …] displays as x ≿ y ≿ …."},{label:"Success",type:"keyword",info:'Success["tag", assoc] represents a success of a type indicated by tag, with details given by the ass'},{label:"SuchThat",type:"keyword",info:"SuchThat[x, y] displays as x ∍ y."},{label:"Sum",type:"keyword",info:" "},{label:"SumConvergence",type:"keyword",info:" ∞ "},{label:"SummationLayer",type:"keyword",info:"SummationLayer[] represents a net layer that sums all of its input elements."},{label:"Sunday",type:"keyword",info:"Sunday is a day of the week."},{label:"SunPosition",type:"keyword",info:"SunPosition[] gives the position of the Sun for the current date and location.SunPosition[datespec] "},{label:"Sunrise",type:"keyword",info:"Sunrise[] gives the time of the next sunrise for the current date and location.Sunrise[datespec] giv"},{label:"Sunset",type:"keyword",info:"Sunset[] gives the time of the next sunset for the current date and location.Sunset[datespec] gives "},{label:"SuperDagger",type:"keyword",info:" †\nSuperDagger[expr] displays as expr ."},{label:"SuperMinus",type:"keyword",info:" -\nSuperMinus[expr] displays as expr ."},{label:"SupernovaData",type:"keyword",info:"SupernovaData[entity, property] gives the value of the specified property for the supernova entity.S"},{label:"SuperPlus",type:"keyword",info:" +\nSuperPlus[expr] displays as expr ."},{label:"Superscript",type:"keyword",info:" y\nSuperscript[x, y] is an object that formats as x ."},{label:"SuperscriptBox",type:"keyword",info:" y\nSuperscriptBox[x, y] is the low‐leve"},{label:"SuperscriptBoxOptions",type:"keyword",info:"SuperscriptBoxOptions is an option for selections that specifies settings for SuperscriptBox objects"},{label:"Superset",type:"keyword",info:"Superset[x, y, …] displays as x ⊃ y ⊃ …."},{label:"SupersetEqual",type:"keyword",info:"SupersetEqual[x, y, …] displays as x ⊇ y ⊇ …."},{label:"SuperStar",type:"keyword",info:" *\nSuperStar[expr] displays as expr ."},{label:"Surd",type:"keyword",info:" th\nSurd[x, n] gives the real-valued n root of x."},{label:"SurdForm",type:"keyword",info:"SurdForm is an option to RadicalBox and SqrtBox that indicates whether the radical represents a Surd"},{label:"SurfaceAppearance",type:"keyword",info:"System`SurfaceAppearance"},{label:"SurfaceArea",type:"keyword",info:"SurfaceArea[reg] gives the surface area of the three-dimensional region reg.SurfaceArea[{x , …, x },"},{label:"SurfaceColor",type:"keyword",info:"SurfaceColor[dcol] is a three-dimensional graphics directive which specifies that the surfaces which"},{label:"SurfaceData",type:"keyword",info:"SurfaceData[entity, property] gives the value of the specified property for the surface entity.Surfa"},{label:"SurfaceGraphics",type:"keyword",info:"SurfaceGraphics[array] is a representation of a three-dimensional plot of a surface, with heights of"},{label:"SurvivalDistribution",type:"keyword",info:"SurvivalDistribution[{e , e , …}] represents a survival distribution with event times e .SurvivalDis"},{label:"SurvivalFunction",type:"keyword",info:"SurvivalFunction[dist, x] gives the survival function for the distribution dist evaluated at x.Survi"},{label:"SurvivalModel",type:"keyword",info:"SurvivalModel[…] represents the symbolic survival model obtained from functions like SurvivalModelFi"},{label:"SurvivalModelFit",type:"keyword",info:"SurvivalModelFit[{e , e , …}] creates a survival model for event times e .\n 1 2 "},{label:"SuspendPacket",type:"keyword",info:"SuspendPacket[] is a WSTP packet used for synchronization with the Wolfram Language kernel."},{label:"SuzukiDistribution",type:"keyword",info:"SuzukiDistribution[μ, ν] represents the Suzuki distribution with shape parameters μ and ν."},{label:"SuzukiGroupSuz",type:"keyword",info:"SuzukiGroupSuz[] represents the sporadic simple Suzuki group Suz."},{label:"SwatchLegend",type:"keyword",info:"SwatchLegend[{col , …}, {lbl , …}] generates a legend that associates swatches of colors col with l"},{label:"Switch",type:"keyword",info:"Switch[expr, form , value , form , value , …] evaluates expr, then compares it with each of the form"},{label:"Symbol",type:"keyword",info:'Symbol["name"] refers to a symbol with the specified name. '},{label:"SymbolName",type:"keyword",info:"SymbolName[symbol] gives the name of the specified symbol. "},{label:"SymletWavelet",type:"keyword",info:"SymletWavelet[] represents the Symlet wavelet of order 4.SymletWavelet[n] represents the Symlet wave"},{label:"Symmetric",type:"keyword",info:"Symmetric[{s , …, s }] represents the symmetry of a tensor that is symmetric in the slots s .\n "},{label:"SymmetricGroup",type:"keyword",info:"SymmetricGroup[n] represents the symmetric group of degree n."},{label:"SymmetricKey",type:"keyword",info:"SymmetricKey[assoc] represents all the information needed for encryption, decryption, and other oper"},{label:"SymmetricMatrixQ",type:"keyword",info:"SymmetricMatrixQ[m] gives True if m is explicitly symmetric, and False otherwise. "},{label:"SymmetricPolynomial",type:"keyword",info:" th\nSymmetricPolynomial[k, {x , …, x }] gives the k "},{label:"SymmetricReduction",type:"keyword",info:"SymmetricReduction[f, {x , …, x }] gives a pair of polynomials {p, q} in x , …, x such that f == p "},{label:"Symmetrize",type:"keyword",info:"Symmetrize[tensor, sym] returns the symmetrization of tensor under the symmetry sym."},{label:"SymmetrizedArray",type:"keyword",info:"SymmetrizedArray[{pos  val , pos  val , …}, dims, sym] yields an array of dimensions dims whose "},{label:"SymmetrizedArrayRules",type:"keyword",info:"SymmetrizedArrayRules[sa] returns a list of rules pos  val of the symmetrized array sa.Symmetrize"},{label:"SymmetrizedDependentComponents",type:"keyword",info:"SymmetrizedDependentComponents[comp, sym] gives the list of components that are equivalent to the co"},{label:"SymmetrizedIndependentComponents",type:"keyword",info:"SymmetrizedIndependentComponents[dims, sym] gives the list of independent components of an array of "},{label:"SymmetrizedReplacePart",type:"keyword",info:"SymmetrizedReplacePart[sa, {pos  val , pos  val , …}] replaces independent values of the symmetr"},{label:"SynchronousInitialization",type:"keyword",info:"SynchronousInitialization is an option for Manipulate, DynamicModule, and related functions that spe"},{label:"SynchronousUpdating",type:"keyword",info:"SynchronousUpdating is an option for Manipulate, Dynamic, and related functions that specifies wheth"},{label:"Synonyms",type:"keyword",info:'Synonyms["word"] returns the synonyms associated with the specified word.'},{label:"Syntax",type:"keyword",info:"System`Syntax"},{label:"SyntaxForm",type:"keyword",info:"SyntaxForm is an option for operator-like box objects that specifies the precedence level to use whe"},{label:"SyntaxInformation",type:"keyword",info:"SyntaxInformation[f] gives information used to generate syntax coloring and other advisories when f["},{label:"SyntaxLength",type:"keyword",info:'SyntaxLength["string"] finds the number of characters starting at the beginning of a string that cor'},{label:"SyntaxPacket",type:"keyword",info:"SyntaxPacket[integer] is a WSTP packet where integer indicates the position at which a syntax error "},{label:"SyntaxQ",type:"keyword",info:'SyntaxQ["string"] returns True if the string corresponds to syntactically correct input for a single'},{label:"SynthesizeMissingValues",type:"keyword",info:"SynthesizeMissingValues[{example , example , …}] replaces missing values in each example by generate"},{label:"SystemCredential",type:"keyword",info:'SystemCredential["keyname"] gives the expression stored under "keyname" in secure storage.'},{label:"SystemCredentialData",type:"keyword",info:'SystemCredentialData[assoc, "pwfield"] represents data intended for secure credential storage. '},{label:"SystemCredentialKey",type:"keyword",info:"SystemCredentialKey is an option of AuthenticationDialog that specifies the name for secure storage "},{label:"SystemCredentialKeys",type:"keyword",info:'SystemCredentialKeys["patt"] gives the list of keys in secure storage that match patt.'},{label:"SystemCredentialStoreObject",type:"keyword",info:"SystemCredentialStoreObject[assoc] represents a credential store."},{label:"SystemDialogInput",type:"keyword",info:'SystemDialogInput["type"] brings up an interactive system dialog and returns the value chosen in the'},{label:"SystemException",type:"keyword",info:"System`SystemException"},{label:"SystemGet",type:"keyword",info:'SystemGet[{sym , …}, "filename"] loads source file with path encoded in "filename"\n 1'},{label:"SystemHelpPath",type:"keyword",info:"SystemHelpPath is a global option that specifies which directories are searched for the help noteboo"},{label:"SystemInformation",type:"keyword",info:"SystemInformation[] gives detailed information about the Wolfram System being run. SystemInformation"},{label:"SystemInformationData",type:"keyword",info:"System`SystemInformationData"},{label:"SystemInstall",type:"keyword",info:"SystemInstall[pack] downloads and installs the software package pack on your machine."},{label:"SystemModel",type:"keyword",info:'SystemModel["model"] gives a representation of the model "model", usable as input to other functions'},{label:"SystemModeler",type:"keyword",info:"SystemModeler[] starts SystemModeler. SystemModeler[model] starts SystemModeler and opens the System"},{label:"SystemModelExamples",type:"keyword",info:"SystemModelExamples[] shows an interactive browser of system modeling example models. SystemModelExa"},{label:"SystemModelLinearize",type:"keyword",info:"SystemModelLinearize[model] gives a linearized StateSpaceModel for model at an equilibrium. SystemMo"},{label:"SystemModelParametricSimulate",type:"keyword",info:"SystemModelParametricSimulate[model, v, {p , p , …}] simulates model for the variable v with paramet"},{label:"SystemModelPlot",type:"keyword",info:"SystemModelPlot[sim] shows default plots from the SystemModelSimulationData object sim.SystemModelPl"},{label:"SystemModelProgressReporting",type:"keyword",info:"SystemModelProgressReporting is an option for SystemModelSimulate and related functions that specifi"},{label:"SystemModelReliability",type:"keyword",info:"SystemModelReliability[model] retrieves the lifetime distribution for model.SystemModelReliability[m"},{label:"SystemModels",type:"keyword",info:"SystemModels[] returns a list of loaded system models.SystemModels[patt] returns the models matching"},{label:"SystemModelSimulate",type:"keyword",info:"SystemModelSimulate[model] simulates model according to experiment settings.SystemModelSimulate[mode"},{label:"SystemModelSimulateSensitivity",type:"keyword",info:"SystemModelSimulateSensitivity[model, {p , p , …}] simulates model and sensitivities to parameters p"},{label:"SystemModelSimulationData",type:"keyword",info:"SystemModelSimulationData[…] represents simulation data from functions such as SystemModelSimulate e"},{label:"SystemOpen",type:"keyword",info:'SystemOpen["target"] opens the specified file, URL, or other target with the associated program on y'},{label:"SystemOptions",type:"keyword",info:'SystemOptions["name"] gives the current setting for the internal system option with the specified na'},{label:"SystemProcessData",type:"keyword",info:"SystemProcessData[] returns a Dataset containing information on the processes running on the host co"},{label:"SystemProcesses",type:"keyword",info:"SystemProcesses[] returns a list of ProcessObjects that represent system programs."},{label:"SystemsConnectionsModel",type:"keyword",info:"SystemsConnectionsModel[{sys , sys , …}, conxs, ins, outs] gives a model with inputs ins and outputs"},{label:"SystemsModelControllerData",type:"keyword",info:"SystemsModelControllerData[…] represents controller data generated by functions LQGRegulator, PIDTun"},{label:"SystemsModelDelay",type:"keyword",info:"SystemsModelDelay[Î.b4] represents a time delay of Î.b4 in a StateSpaceModel or TransferFunctionModel."},{label:"SystemsModelDelayApproximate",type:"keyword",info:"SystemsModelDelayApproximate[sys, ord] gives a delay-free system by using approximations of order or"},{label:"SystemsModelDelete",type:"keyword",info:"SystemsModelDelete[sys, {in , …}] deletes the subsystem of the systems model sys associated with inp"},{label:"SystemsModelDimensions",type:"keyword",info:"SystemsModelDimensions[sys] gives the number of inputs and outputs of the systems model sys."},{label:"SystemsModelExtract",type:"keyword",info:"SystemsModelExtract[sys, {in , …}] extracts the subsystem of the systems model sys associated with i"},{label:"SystemsModelFeedbackConnect",type:"keyword",info:" "},{label:"SystemsModelLabels",type:"keyword",info:"SystemsModelLabels is an option to StateSpaceModel etc. that specifies labels of variables."},{label:"SystemsModelLinearity",type:"keyword",info:"SystemsModelLinearity[sys] gives the linearity of the systems model sys.SystemsModelLinearity[{sys, "},{label:"SystemsModelMerge",type:"keyword",info:"SystemsModelMerge[{sys , sys , …}] merges the systems models sys . \n 1 2 "},{label:"SystemsModelOrder",type:"keyword",info:"SystemsModelOrder[sys] gives the order of the state-space model sys."},{label:"SystemsModelParallelConnect",type:"keyword",info:"SystemsModelParallelConnect[sys , sys ] connects the systems models sys and sys in parallel.System"},{label:"SystemsModelSeriesConnect",type:"keyword",info:"SystemsModelSeriesConnect[sys , sys ] connects systems models sys and sys in series. SystemsModelS"},{label:"SystemsModelStateFeedbackConnect",type:"keyword",info:" "},{label:"SystemsModelVectorRelativeOrders",type:"keyword",info:"SystemsModelVectorRelativeOrders[sys] gives the vector-relative orders of the systems model sys."},{label:"SystemStub",type:"keyword",info:'SystemStub[{sym , sym , …}, "context", "filename"] saves definitions of given symbols {sym , sym , …'},{label:"SystemTest",type:"keyword",info:"System`SystemTest"},{label:"Tab",type:"keyword",info:"System`Tab"},{label:"TabFilling",type:"keyword",info:"TabFilling is an option for character selections that specifies how a Tab character is represented o"},{label:"Table",type:"keyword",info:"Table[expr, n] generates a list of n copies of expr. Table[expr, {i, i }] generates a list of the "},{label:"TableAlignments",type:"keyword",info:"TableAlignments is an option for TableForm and MatrixForm which specifies how entries in each dimens"},{label:"TableDepth",type:"keyword",info:"TableDepth is an option for TableForm and MatrixForm that specifies the maximum number of levels to "},{label:"TableDirections",type:"keyword",info:"TableDirections is an option for TableForm and MatrixForm which specifies whether successive dimensi"},{label:"TableForm",type:"keyword",info:"TableForm[list] prints with the elements of list arranged in an array of rectangular cells. "},{label:"TableHeadings",type:"keyword",info:"TableHeadings is an option for TableForm and MatrixForm that gives the labels to be printed for entr"},{label:"TableSpacing",type:"keyword",info:"TableSpacing is an option for TableForm and MatrixForm that specifies how many spaces should be left"},{label:"TableView",type:"keyword",info:"TableView[{{expr , expr , …}, {expr , expr , …}, …}] displays as a spreadsheet-like table view f"},{label:"TableViewBox",type:"keyword",info:"System`TableViewBox"},{label:"TableViewBoxAlignment",type:"keyword",info:"System`TableViewBoxAlignment"},{label:"TableViewBoxBackground",type:"keyword",info:"System`TableViewBoxBackground"},{label:"TableViewBoxHeaders",type:"keyword",info:"System`TableViewBoxHeaders"},{label:"TableViewBoxItemSize",type:"keyword",info:"System`TableViewBoxItemSize"},{label:"TableViewBoxItemStyle",type:"keyword",info:"System`TableViewBoxItemStyle"},{label:"TableViewBoxOptions",type:"keyword",info:"System`TableViewBoxOptions"},{label:"TabSpacings",type:"keyword",info:"TabSpacings is an option for character selections that specifies the number of spaces in ems that th"},{label:"TabView",type:"keyword",info:" "},{label:"TabViewBox",type:"keyword",info:"System`TabViewBox"},{label:"TabViewBoxOptions",type:"keyword",info:"TabViewBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TabViewBo"},{label:"TagBox",type:"keyword",info:"TagBox[boxes, tag] is a low-level box construct that displays as boxes but maintains tag to guide th"},{label:"TagBoxNote",type:"keyword",info:"System`TagBoxNote"},{label:"TagBoxOptions",type:"keyword",info:"TagBoxOptions is an option that specifies settings for TagBox objects."},{label:"TaggingRules",type:"keyword",info:"TaggingRules is an option for selections that specifies a list of strings to be associated with a se"},{label:"TagSet",type:"keyword",info:"f/:lhs = rhs assigns rhs to be the value of lhs, and associates the assignment with the symbol f. "},{label:"TagSetDelayed",type:"keyword",info:"f/:lhs := rhs assigns rhs to be the delayed value of lhs, and associates the assignment with the sym"},{label:"TagStyle",type:"keyword",info:"System`TagStyle"},{label:"TagUnset",type:"keyword",info:"f/:lhs=. removes any rules defined for lhs, associated with the symbol f. "},{label:"Take",type:"keyword",info:"Take[list, n] gives the first n elements of list. Take[list, -n] gives the last n elements of list. "},{label:"TakeDrop",type:"keyword",info:"TakeDrop[list, n] gives the pair {list , list }, where list contains the first n elements of list a"},{label:"TakeLargest",type:"keyword",info:"TakeLargest[list, n] gives the n numerically largest elements in list, sorted in descending order.Ta"},{label:"TakeLargestBy",type:"keyword",info:"TakeLargestBy[list, f, n] gives the n elements e in list for which f[e ] is largest, sorted in d"},{label:"TakeList",type:"keyword",info:"TakeList[list, {n , n , …}] gives the list of results obtained by successively taking n elements fr"},{label:"TakeSmallest",type:"keyword",info:"TakeSmallest[list, n] gives the n numerically smallest elements in list, sorted in ascending order.T"},{label:"TakeSmallestBy",type:"keyword",info:"TakeSmallestBy[list, f, n] gives the n elements e in list for which f[e ] is smallest, sorted in as"},{label:"TakeWhile",type:"keyword",info:"TakeWhile[list, crit] gives elements e from the beginning of list, continuing so long as crit[e ] i"},{label:"Tally",type:"keyword",info:"Tally[list] tallies the elements in list, listing all distinct elements together with their multipli"},{label:"Tan",type:"keyword",info:"Tan[z] gives the tangent of z."},{label:"Tanh",type:"keyword",info:"Tanh[z] gives the hyperbolic tangent of z."},{label:"TargetDevice",type:"keyword",info:"TargetDevice is an option for certain functions that specifies whether CPU or GPU computation should"},{label:"TargetFunctions",type:"keyword",info:"TargetFunctions is an option for functions such as ComplexExpand and FindDistribution that specifies"},{label:"TargetSystem",type:"keyword",info:"TargetSystem is an option for FunctionCompile and related functions that specifies machine architect"},{label:"TargetUnits",type:"keyword",info:"TargetUnits is an option used to specify the desired output units for visualization functions operat"},{label:"TaskAbort",type:"keyword",info:"TaskAbort[task] generates an interrupt to abort the current execution of a task."},{label:"TaskExecute",type:"keyword",info:"TaskExecute[task] immediately executes an instance of the specified task, independently of any sched"},{label:"TaskObject",type:"keyword",info:"TaskObject[spec] is an object that represents a background task."},{label:"TaskRemove",type:"keyword",info:"TaskRemove[task] terminates and removes the specified task."},{label:"TaskResume",type:"keyword",info:"TaskResume[task] resumes execution of the specified task."},{label:"Tasks",type:"keyword",info:"Tasks[type] gives a list of TaskObject expressions representing currently submitted tasks of given t"},{label:"TaskSuspend",type:"keyword",info:"TaskSuspend[task] suspends the execution of the specified task."},{label:"TaskWait",type:"keyword",info:"TaskWait[task] waits for the specified task to be completely finished. "},{label:"TautologyQ",type:"keyword",info:"TautologyQ[bf] gives True if all combinations of values of variables make the Boolean function bf yi"},{label:"TelegraphProcess",type:"keyword",info:"TelegraphProcess[μ] represents a telegraph process with rate μ."},{label:"TemplateApply",type:"keyword",info:"TemplateApply[template] applies a template, evaluating all template elements it contains.TemplateApp"},{label:"TemplateArgBox",type:"keyword",info:"System`TemplateArgBox"},{label:"TemplateBox",type:"keyword",info:"TemplateBox[{box , box , …}, tag] is a low-level box structure that parameterizes the display and ev"},{label:"TemplateBoxOptions",type:"keyword",info:"TemplateBoxOptions is an option that specifies settings for TemplateBox objects."},{label:"TemplateEvaluate",type:"keyword",info:"System`TemplateEvaluate"},{label:"TemplateExpression",type:"keyword",info:"TemplateExpression[expr] represents an expression held until a template is applied, and then evaluat"},{label:"TemplateIf",type:"keyword",info:"TemplateIf[condition, tclause] represents an element of a template object that inserts tclause if th"},{label:"TemplateObject",type:"keyword",info:"TemplateObject[expr] represents a template object to be applied using functions like TemplateApply.T"},{label:"TemplateSequence",type:"keyword",info:"TemplateSequence[body, list] represents an element of a template object that yields a sequence consi"},{label:"TemplateSlot",type:"keyword",info:" th\nTemplateSlot[n] represents a t"},{label:"TemplateSlotSequence",type:"keyword",info:"System`TemplateSlotSequence"},{label:"TemplateUnevaluated",type:"keyword",info:"System`TemplateUnevaluated"},{label:"TemplateVerbatim",type:"keyword",info:"System`TemplateVerbatim"},{label:"TemplateWith",type:"keyword",info:'TemplateWith["name"  value, expr] represents an element of a template object that evaluates expr af'},{label:"TemporalData",type:"keyword",info:"TemporalData[{v , v , …}, tspec] represents temporal data with values v at times specified by tspec"},{label:"TemporalRegularity",type:"keyword",info:"TemporalRegularity is an option for TemporalData, TimeSeries, and EventSeries that controls whether "},{label:"Temporary",type:"keyword",info:"Temporary is an attribute assigned to symbols which are created as local variables by Module. "},{label:"TemporaryVariable",type:"keyword",info:"System`TemporaryVariable"},{label:"TensorContract",type:"keyword",info:"TensorContract[tensor, {{s , s }, {s , s }, …}] yields the contraction of tensor in the pairs {s"},{label:"TensorDimensions",type:"keyword",info:"TensorDimensions[tensor] gives the list of dimensions of tensor."},{label:"TensorExpand",type:"keyword",info:"TensorExpand[texpr] expands out tensor-related products in the symbolic tensor expression texpr."},{label:"TensorProduct",type:"keyword",info:"TensorProduct[tensor , tensor , …] represents the tensor product of the tensor .\n "},{label:"TensorQ",type:"keyword",info:"System`TensorQ"},{label:"TensorRank",type:"keyword",info:"TensorRank[tensor] gives the rank of tensor."},{label:"TensorReduce",type:"keyword",info:"TensorReduce[texpr] attempts to return a canonical form for the symbolic tensor expression texpr."},{label:"TensorSymmetry",type:"keyword",info:"TensorSymmetry[tensor] gives the symmetry of tensor under permutations of its slots.TensorSymmetry[t"},{label:"TensorTranspose",type:"keyword",info:"TensorTranspose[tensor, perm] represents the tensor obtained by transposing the slots of tensor as g"},{label:"TensorWedge",type:"keyword",info:"TensorWedge[tensor , tensor , …] represents the antisymmetrized tensor product of the tensor .\n "},{label:"TestID",type:"keyword",info:"TestID is an option to VerificationTest that specifies a string used as an identifier for the test."},{label:"TestReport",type:"keyword",info:'TestReport["file"] runs tests from a file, returning an analysis of the completed test run.TestRepor'},{label:"TestReportObject",type:"keyword",info:"TestReportObject[…] gives an object that represents the results of TestReport."},{label:"TestResultObject",type:"keyword",info:"TestResultObject[…] gives an object that represents the results of a VerificationTest."},{label:"Tetrahedron",type:"keyword",info:"Tetrahedron[] represents a regular tetrahedron centered at the origin with unit edge length.Tetrahed"},{label:"TetrahedronBox",type:"keyword",info:"System`TetrahedronBox"},{label:"TetrahedronBoxOptions",type:"keyword",info:"System`TetrahedronBoxOptions"},{label:"TeXForm",type:"keyword",info:"TeXForm[expr] prints as a TeX version of expr. "},{label:"TeXSave",type:"keyword",info:'TeXSave["file.tex"] saves a TeX version of the current input notebook in the front end. TeXSave["fil'},{label:"Text",type:"keyword",info:"Text[expr] displays with expr in plain text format. Text[expr, coords] is a graphics primitive that "},{label:"Text3DBox",type:"keyword",info:"System`Text3DBox"},{label:"Text3DBoxOptions",type:"keyword",info:"Text3DBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for Text3DBox "},{label:"TextAlignment",type:"keyword",info:"TextAlignment is an option for Cell, Style and related constructs which specifies how successive lin"},{label:"TextBand",type:"keyword",info:"System`TextBand"},{label:"TextBoundingBox",type:"keyword",info:"System`TextBoundingBox"},{label:"TextBox",type:"keyword",info:"System`TextBox"},{label:"TextCases",type:"keyword",info:"TextCases[text, form] gives a list of all cases of text identified as being of type form that appear"},{label:"TextCell",type:"keyword",info:'TextCell["string"] gives a text cell that can appear in a Wolfram System notebook.TextCell["string",'},{label:"TextClipboardType",type:"keyword",info:"TextClipboardType is an option for cells that specifies how Edit â–\\[Paragraph] Copy treats a cell when convertin"},{label:"TextContents",type:"keyword",info:"TextContents[text] gives a dataset of information about entities, dates, quantities and other conten"},{label:"TextData",type:"keyword",info:"TextData[exprs] is a low-level representation of the contents of a textual cell."},{label:"TextElement",type:"keyword",info:"TextElement[text, props] represents an element of text with the specified properties.TextElement[{el"},{label:"TextForm",type:"keyword",info:"System`TextForm"},{label:"TextGrid",type:"keyword",info:"TextGrid[{{expr , expr , …}, {expr , expr , …}, …}] is an object that formats expr textually a"},{label:"TextJustification",type:"keyword",info:"TextJustification is an option for Cell and Inset which specifies how much lines of text can be stre"},{label:"TextLine",type:"keyword",info:"System`TextLine"},{label:"TextPacket",type:"keyword",info:"TextPacket[string] is a WSTP packet containing string, the text output from the Wolfram System as pr"},{label:"TextParagraph",type:"keyword",info:"System`TextParagraph"},{label:"TextPosition",type:"keyword",info:"TextPosition[text, form] gives a list of the starting and ending positions at which instances of for"},{label:"TextRecognize",type:"keyword",info:"TextRecognize[image] recognizes text in image and returns it as a string.TextRecognize[image, level]"},{label:"TextSearch",type:"keyword",info:"TextSearch[source, form] searches for files referenced by source that contain text matching form.Tex"},{label:"TextSearchReport",type:"keyword",info:"TextSearchReport[source, form] gives a structured report of files referenced by source that contain "},{label:"TextSentences",type:"keyword",info:'TextSentences["string"] gives a list of the runs of characters identified as sentences in string.Tex'},{label:"TextString",type:"keyword",info:"TextString[expr] gives a human-readable string representation of expr."},{label:"TextStructure",type:"keyword",info:'TextStructure["text"] generates a nested collection of TextElement objects representing the grammati'},{label:"TextStyle",type:"keyword",info:"TextStyle is an option for graphics functions and for Text which specifies the default style and fon"},{label:"TextTranslation",type:"keyword",info:'TextTranslation["text"] translates text into the current default language. TextTranslation["text", l'},{label:"Texture",type:"keyword",info:"Texture[obj] is a graphics directive that specifies that obj should be used as a texture on faces of"},{label:"TextureCoordinateFunction",type:"keyword",info:"TextureCoordinateFunction is an option to Plot3D and similar functions that specifies a function tha"},{label:"TextureCoordinateScaling",type:"keyword",info:"TextureCoordinateScaling is an option to Plot3D and similar functions that specifies whether argumen"},{label:"TextWords",type:"keyword",info:'TextWords["string"] gives a list of the runs of characters identified as words in string.TextWords["'},{label:"Therefore",type:"keyword",info:"Therefore[x, y] displays as x âˆ.b4 y."},{label:"ThermodynamicData",type:"keyword",info:'ThermodynamicData["name", "property"] gives the value of the specific property for the substance "na'},{label:"ThermometerGauge",type:"keyword",info:"ThermometerGauge[value] draws a thermometer showing value in a range of 0 to 1.ThermometerGauge[valu"},{label:"Thick",type:"keyword",info:"Thick is a graphics directive that specifies that lines which follow should be drawn thick."},{label:"Thickness",type:"keyword",info:"Thickness[r] is a graphics directive which specifies that lines which follow are to be drawn with th"},{label:"Thin",type:"keyword",info:"Thin is a graphics directive that specifies that lines which follow should be drawn thin."},{label:"Thinning",type:"keyword",info:"Thinning[image] finds the skeletons of foreground regions in image by applying morphological thinnin"},{label:"ThisLink",type:"keyword",info:"ThisLink is used in patterns for external packages to distinguish between several instances of the s"},{label:"ThomasPointProcess",type:"keyword",info:" "},{label:"ThompsonGroupTh",type:"keyword",info:"ThompsonGroupTh[] represents the sporadic simple Thompson group Th."},{label:"Thread",type:"keyword",info:'Thread[f[args]] "threads" f over any lists that appear in args. Thread[f[args], h] threads f over an'},{label:"ThreadingLayer",type:"keyword",info:"ThreadingLayer[f] represents a net layer that takes several input arrays and applies a function f to"},{label:"ThreeJSymbol",type:"keyword",info:"ThreeJSymbol[{j , m }, {j , m }, {j , m }] gives the values of the Wigner 3‐j symbol. \n "},{label:"Threshold",type:"keyword",info:"Threshold[data] thresholds data by replacing values close to zero by zero.Threshold[data, tspec] thr"},{label:"Through",type:"keyword",info:"Through[p[f , f ][x]] gives p[f [x], f [x]]. Through[expr, h] performs the transformation wherever h"},{label:"Throw",type:"keyword",info:"Throw[value] stops evaluation and returns value as the value of the nearest enclosing Catch.Throw[va"},{label:"ThueMorse",type:"keyword",info:" th\nThueMorse[n] gives the n term in the Thue–Morse sequence."},{label:"Thumbnail",type:"keyword",info:"Thumbnail[image] gives a thumbnail version of an image.Thumbnail[file] gives a thumbnail of an image"},{label:"Thursday",type:"keyword",info:"Thursday is a day of the week."},{label:"TickDirection",type:"keyword",info:"TickDirection is an option for AxisObject that specifies where the ticks are drawn relative to the a"},{label:"TickLabelOrientation",type:"keyword",info:"TickLabelOrientation is an option for AxisObject that specifies how the tick labels should be orient"},{label:"TickLabelPositioning",type:"keyword",info:"TickLabelPositioning is an option for AxisObject that specifies how the tick labels should be positi"},{label:"TickLabels",type:"keyword",info:"TickLabels is an option for AxisObject that specifies how the tick marks should be labeled."},{label:"TickLengths",type:"keyword",info:"TickLengths is an option for AxisObject that specifies the lengths of the tick marks."},{label:"TickPositions",type:"keyword",info:"TickPositions is an option for AxisObject that specifies where the tick marks should be positioned."},{label:"Ticks",type:"keyword",info:"Ticks is an option for graphics functions that specifies tick marks for axes. "},{label:"TicksStyle",type:"keyword",info:"TicksStyle is an option for graphics functions which specifies how ticks should be rendered."},{label:"TideData",type:"keyword",info:"TideData[spec] returns the tidal properties for a location or a set of tidal parameters.TideData[spe"},{label:"Tilde",type:"keyword",info:"Tilde[x, y, …] displays as x ∼ y ∼ …."},{label:"TildeEqual",type:"keyword",info:"TildeEqual[x, y, …] displays as x ≃ y ≃ …."},{label:"TildeFullEqual",type:"keyword",info:"TildeFullEqual[x, y, …] displays as x ≅ y ≅ …."},{label:"TildeTilde",type:"keyword",info:"TildeTilde[x, y, …] displays as x ≈ y ≈ …."},{label:"TimeConstrained",type:"keyword",info:"TimeConstrained[expr, t] evaluates expr, stopping after t seconds. TimeConstrained[expr, t, failexpr"},{label:"TimeConstraint",type:"keyword",info:"TimeConstraint is an option for various functions that specifies the maximum time to spend doing a p"},{label:"TimeDirection",type:"keyword",info:"TimeDirection is an option for Sunrise, Sunset, and related functions that specifies whether the nex"},{label:"TimeFormat",type:"keyword",info:"TimeFormat is an option that determines the time formatting that is used when formatting a TimeObjec"},{label:"TimeGoal",type:"keyword",info:"TimeGoal is an option for various functions that specifies how long to spend doing a particular oper"},{label:"TimelinePlot",type:"keyword",info:"TimelinePlot[{date , date , …}] makes a timeline plot with dates date , date , …. TimelinePlot[{even"},{label:"TimeObject",type:"keyword",info:"TimeObject[] represents the current time.TimeObject[{h, m, s}] represents a time object of standard "},{label:"TimeObjectQ",type:"keyword",info:"TimeObjectQ[expr] gives True if expr is a TimeObject with valid arguments, and False otherwise."},{label:"TimeRemaining",type:"keyword",info:"TimeRemaining[] gives the number of seconds remaining until the earliest enclosing TimeConstrained w"},{label:"Times",type:"keyword",info:"x * y * z, x × y × z, or x y z represents a product of terms. "},{label:"TimesBy",type:"keyword",info:"x *= c multiplies x by c and returns the new value of x. "},{label:"TimeSeries",type:"keyword",info:"TimeSeries[{{t , v }, {t , v } …}] represents a time series specified by time-value pairs {t , v }.T"},{label:"TimeSeriesAggregate",type:"keyword",info:"TimeSeriesAggregate[tseries, dt] computes the mean value of tseries over non-overlapping windows of "},{label:"TimeSeriesForecast",type:"keyword",info:"TimeSeriesForecast[tproc, data, k] gives the k-step-ahead forecast beyond data according to the time"},{label:"TimeSeriesInsert",type:"keyword",info:"TimeSeriesInsert[tseries, {t, v}] inserts a value v at time t in the time series tseries.TimeSeriesI"},{label:"TimeSeriesInvertibility",type:"keyword",info:"TimeSeriesInvertibility[tproc] gives conditions for the time series process tproc to be invertible. "},{label:"TimeSeriesMap",type:"keyword",info:"TimeSeriesMap[f, tseries] applies f to the values in tseries."},{label:"TimeSeriesMapThread",type:"keyword",info:"TimeSeriesMapThread[f, tseries] gives {{t , f[t , x ]}, {t , f[t , x ]}, …} for the time series tser"},{label:"TimeSeriesModel",type:"keyword",info:"TimeSeriesModel[…] represents the symbolic time series model obtained from TimeSeriesModelFit."},{label:"TimeSeriesModelFit",type:"keyword",info:"TimeSeriesModelFit[data] constructs a time series model for data from an automatically selected mode"},{label:"TimeSeriesResample",type:"keyword",info:"TimeSeriesResample[tseries] uniformly resamples tseries according to its minimum time increment.Time"},{label:"TimeSeriesRescale",type:"keyword",info:"TimeSeriesRescale[tseries, {t , t }] rescales the times in time series tseries to run from t "},{label:"TimeSeriesShift",type:"keyword",info:"TimeSeriesShift[tseries, shift] shifts the time series tseries to the left or right according to shi"},{label:"TimeSeriesThread",type:"keyword",info:"TimeSeriesThread[f, {tseries , tseries , …}] combines the tseries using the function f.\n "},{label:"TimeSeriesWindow",type:"keyword",info:"TimeSeriesWindow[tseries, {t , t }] gives the elements of the time series tseries that fall betw"},{label:"TimeSystem",type:"keyword",info:"TimeSystem is an option for time functions that specifies the time system being used to define time."},{label:"TimeSystemConvert",type:"keyword",info:"TimeSystemConvert[date, tsys] converts the date object date to the specified time system tsys.TimeSy"},{label:"TimeUsed",type:"keyword",info:"TimeUsed[] gives the total number of seconds of CPU time used so far in the current Wolfram System s"},{label:"TimeValue",type:"keyword",info:"TimeValue[s, i, t] calculates the time value of a security s at time t for an interest specified by "},{label:"TimeWarpingCorrespondence",type:"keyword",info:"TimeWarpingCorrespondence[s , s ] gives the time warping (DTW) similarity path between sequences s "},{label:"TimeWarpingDistance",type:"keyword",info:"TimeWarpingDistance[s , s ] gives the dynamic time warping (DTW) distance between sequences s and s"},{label:"TimeZone",type:"keyword",info:"TimeZone is an option for DateObject, DateString, and related functions that specifies the time zone"},{label:"TimeZoneConvert",type:"keyword",info:"TimeZoneConvert[time, timezone] converts the date or time object time to the specified time zone tim"},{label:"TimeZoneOffset",type:"keyword",info:"TimeZoneOffset[tz] gives the numeric offset between the time zone tz and GMT on the current date.Tim"},{label:"Timing",type:"keyword",info:"Timing[expr] evaluates expr, and returns a list of the time in seconds used, together with the resul"},{label:"Tiny",type:"keyword",info:"Tiny is a style or option setting that specifies that objects should be tiny."},{label:"TitleGrouping",type:"keyword",info:"System`TitleGrouping"},{label:"TitsGroupT",type:"keyword",info:"TitsGroupT[] represents the simple Tits group T."},{label:"ToBoxes",type:"keyword",info:"ToBoxes[expr] generates boxes corresponding to the printed form of expr in StandardForm. ToBoxes[exp"},{label:"ToCharacterCode",type:"keyword",info:'ToCharacterCode["string"] gives a list of the integer codes corresponding to the characters in a str'},{label:"ToColor",type:"keyword",info:"ToColor[color, form] converts color to form if form is GrayLevel, RGBColor or CMYKColor. Otherwise f"},{label:"ToContinuousTimeModel",type:"keyword",info:"ToContinuousTimeModel[lsys] gives the continuous-time approximation of the discrete-time systems mod"},{label:"ToDate",type:"keyword",info:"ToDate[time] converts an absolute time in seconds since the beginning of January 1, 1900 to a date o"},{label:"Today",type:"keyword",info:"Today gives a DateObject representing the current day."},{label:"ToDiscreteTimeModel",type:"keyword",info:"ToDiscreteTimeModel[lsys, τ] gives the discrete-time approximation, with sampling period τ, of the c"},{label:"ToEntity",type:"keyword",info:"ToEntity[expr] returns an entity object corresponding to the given expression.ToEntity[expr, type] r"},{label:"ToeplitzMatrix",type:"keyword",info:"ToeplitzMatrix[n] gives the n×n Toeplitz matrix with first row and first column being successive int"},{label:"ToExpression",type:"keyword",info:"ToExpression[input] gives the expression obtained by interpreting strings or boxes as Wolfram Langua"},{label:"ToFileName",type:"keyword",info:'ToFileName["directory", "name"] assembles a full file name from a directory name and a file name. To'},{label:"Together",type:"keyword",info:"Together[expr] puts terms in a sum over a common denominator, and cancels factors in the result. "},{label:"Toggle",type:"keyword",info:"System`Toggle"},{label:"ToggleFalse",type:"keyword",info:"System`ToggleFalse"},{label:"Toggler",type:"keyword",info:"Toggler[x] represents a toggler button with setting x, that toggles between True and False. Toggler["},{label:"TogglerBar",type:"keyword",info:"TogglerBar[x, {val , val , …}] represents a toggler bar with setting x and with toggler buttons for "},{label:"TogglerBox",type:"keyword",info:"System`TogglerBox"},{label:"TogglerBoxOptions",type:"keyword",info:"TogglerBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TogglerBo"},{label:"ToHeldExpression",type:"keyword",info:"System`ToHeldExpression"},{label:"ToInvertibleTimeSeries",type:"keyword",info:"ToInvertibleTimeSeries[tproc] returns an invertible version of a time series process tproc."},{label:"TokenWords",type:"keyword",info:"TokenWords is an option for Read and related functions which gives a list of token words to be used "},{label:"Tolerance",type:"keyword",info:"Tolerance is an option for various numerical options which specifies the tolerance that should be al"},{label:"ToLowerCase",type:"keyword",info:"ToLowerCase[string] yields a string in which all letters have been converted to lowercase. "},{label:"Tomorrow",type:"keyword",info:"Tomorrow gives a DateObject representing the following day."},{label:"ToNumberField",type:"keyword",info:"ToNumberField[a, θ] expresses the algebraic number a in the number field generated by θ. ToNumberFie"},{label:"TooBig",type:"keyword",info:"TooBig is an internal symbol."},{label:"Tooltip",type:"keyword",info:"Tooltip[expr, label] displays label as a tooltip while the mouse pointer is in the area where expr i"},{label:"TooltipBox",type:"keyword",info:"System`TooltipBox"},{label:"TooltipBoxOptions",type:"keyword",info:"TooltipBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TooltipBo"},{label:"TooltipDelay",type:"keyword",info:"TooltipDelay is an option for objects such as Tooltip that specifies how long to delay after the mou"},{label:"TooltipStyle",type:"keyword",info:"TooltipStyle is an option for tooltips that specifies the style to use in displaying their elements."},{label:"ToonShading",type:"keyword",info:"ToonShading[] is a three-dimensional graphics directive specifying that surfaces that follow are to "},{label:"Top",type:"keyword",info:"Top is a symbol that represents the top for purposes of alignment and positioning. "},{label:"TopHatTransform",type:"keyword",info:"TopHatTransform[image, ker] gives the morphological top-hat transform of image with respect to struc"},{label:"ToPolarCoordinates",type:"keyword",info:"ToPolarCoordinates[{x, y}] gives the {r, θ} polar coordinates corresponding to the Cartesian coordin"},{label:"TopologicalSort",type:"keyword",info:"TopologicalSort[g] gives a list of vertices of g in topologically sorted order for a directed acycli"},{label:"ToRadicals",type:"keyword",info:"ToRadicals[expr] attempts to express all Root objects in expr in terms of radicals. "},{label:"ToRules",type:"keyword",info:"ToRules[eqns] takes logical combinations of equations, in the form generated by Roots and Reduce, an"},{label:"Torus",type:"keyword",info:"Torus[{x, y, z}, {r , r }] represents a torus centered at {x, y, z} with inner radius r "},{label:"ToSphericalCoordinates",type:"keyword",info:"ToSphericalCoordinates[{x, y, z}] gives the {r, θ, ϕ} spherical coordinates corresponding to the Car"},{label:"ToString",type:"keyword",info:"ToString[expr] gives a string corresponding to the printed form of expr in OutputForm. ToString[expr"},{label:"Total",type:"keyword",info:"Total[list] gives the total of the elements in list. Total[list, n] totals all elements down to leve"},{label:"TotalHeight",type:"keyword",info:"System`TotalHeight"},{label:"TotalLayer",type:"keyword",info:"TotalLayer[] represents a net layer taking a list of input arrays and performing elementwise additio"},{label:"TotalVariationFilter",type:"keyword",info:"TotalVariationFilter[data] iteratively reduces noise while preserving rapid transitions in data.Tota"},{label:"TotalWidth",type:"keyword",info:"TotalWidth is an option that can be set for output streams to specify the maximum total number of ch"},{label:"TouchPosition",type:"keyword",info:" "},{label:"TouchscreenAutoZoom",type:"keyword",info:"TouchscreenAutoZoom is an option for Manipulate and Graphics3D that determines whether the interface"},{label:"TouchscreenControlPlacement",type:"keyword",info:"TouchscreenControlPlacement is an option for Manipulate that determines the placement of the slide-o"},{label:"ToUpperCase",type:"keyword",info:"ToUpperCase[string] yields a string in which all letters have been converted to uppercase. "},{label:"TourVideo",type:"keyword",info:"TourVideo[graphics, {pt , pt , …}] generates a video by taking a tour at points pt around graphics."},{label:"Tr",type:"keyword",info:"Tr[list] finds the trace of the matrix or tensor list. Tr[list, f] finds a generalized trace, combin"},{label:"Trace",type:"keyword",info:"Trace[expr] generates a list of all expressions used in the evaluation of expr. Trace[expr, form] in"},{label:"TraceAbove",type:"keyword",info:"TraceAbove is an option for Trace and related functions which specifies whether to include evaluatio"},{label:"TraceAction",type:"keyword",info:"TraceAction is an option for TracePrint and TraceDialog that specifies the function to be applied to"},{label:"TraceBackward",type:"keyword",info:"TraceBackward is an option for Trace and related functions that specifies whether to include precedi"},{label:"TraceDepth",type:"keyword",info:"TraceDepth is an option for Trace and related functions which specifies the maximum nesting of evalu"},{label:"TraceDialog",type:"keyword",info:"TraceDialog[expr] initiates a dialog for every expression used in the evaluation of expr. TraceDialo"},{label:"TraceForward",type:"keyword",info:"TraceForward is an option for Trace and related functions which specifies whether to include later e"},{label:"TraceInternal",type:"keyword",info:"TraceInternal is an option for Trace and related functions which, if True or False, specifies whethe"},{label:"TraceLevel",type:"keyword",info:"TraceLevel[] returns the level currently being traced when it appears within Trace and related funct"},{label:"TraceOff",type:"keyword",info:"TraceOff is an option for Trace and related functions which specifies forms inside which tracing sho"},{label:"TraceOn",type:"keyword",info:"TraceOn is an option for Trace and related functions which specifies when tracing should be switched"},{label:"TraceOriginal",type:"keyword",info:"TraceOriginal is an option for Trace and related functions which specifies whether to test the form "},{label:"TracePrint",type:"keyword",info:"TracePrint[expr] prints all expressions used in the evaluation of expr. TracePrint[expr, form] inclu"},{label:"TraceScan",type:"keyword",info:"TraceScan[f, expr] applies f to all expressions used in the evaluation of expr. TraceScan[f, expr, f"},{label:"TrackCellChangeTimes",type:"keyword",info:"System`TrackCellChangeTimes"},{label:"TrackedSymbols",type:"keyword",info:"TrackedSymbols is an option to Refresh, Manipulate, and related functions that specifies which symbo"},{label:"TrackingFunction",type:"keyword",info:"TrackingFunction is an option for Manipulate controls that specifies functions to use during interac"},{label:"TracyWidomDistribution",type:"keyword",info:"TracyWidomDistribution[Î.b2] represents a Tracy–Widom distribution with Dyson index Î.b2."},{label:"TradingChart",type:"keyword",info:"TradingChart[{{date , {open , high , low , close , volume }}, …}] makes a chart showing prices and v"},{label:"TraditionalForm",type:"keyword",info:"TraditionalForm[expr] prints as an approximation to the traditional mathematical notation for expr. "},{label:"TraditionalFunctionNotation",type:"keyword",info:"TraditionalFunctionNotation is an option for selections that specifies whether input of the form f(x"},{label:"TraditionalNotation",type:"keyword",info:"System`TraditionalNotation"},{label:"TraditionalOrder",type:"keyword",info:"System`TraditionalOrder"},{label:"TrainImageContentDetector",type:"keyword",info:"TrainImageContentDetector[{img  {bbox  class , …}, …}] trains a ContentDetectorFunction[…] based"},{label:"TrainingProgressCheckpointing",type:"keyword",info:"TrainingProgressCheckpointing is an option for NetTrain that specifies how to save copies of the net"},{label:"TrainingProgressFunction",type:"keyword",info:"TrainingProgressFunction is an option for NetTrain that specifies a function to run periodically dur"},{label:"TrainingProgressMeasurements",type:"keyword",info:"TrainingProgressMeasurements is an option for NetTrain that specifies measurements to make while tra"},{label:"TrainingProgressReporting",type:"keyword",info:"TrainingProgressReporting is an option for NetTrain and related functions that specifies how to repo"},{label:"TrainingStoppingCriterion",type:"keyword",info:"TrainingStoppingCriterion is an option for NetTrain that specifies a criterion for stopping training"},{label:"TrainingUpdateSchedule",type:"keyword",info:"TrainingUpdateSchedule is an option for NetTrain that specifies which arrays of the network can be u"},{label:"TrainTextContentDetector",type:"keyword",info:"TrainTextContentDetector[{text  {span  class , …}, …}] trains a ContentDetectorFunction[…] based"},{label:"TransferFunctionCancel",type:"keyword",info:"TransferFunctionCancel[tfm] cancels common poles and zeros in the TransferFunctionModel tfm.Transfer"},{label:"TransferFunctionExpand",type:"keyword",info:"TransferFunctionExpand[tfm] expands polynomial terms in the numerators and denominators of the Trans"},{label:"TransferFunctionFactor",type:"keyword",info:"TransferFunctionFactor[tfm] factors the polynomial terms in the numerators and denominators of the T"},{label:"TransferFunctionModel",type:"keyword",info:"TransferFunctionModel[m, s] represents the model of the transfer-function matrix m with complex vari"},{label:"TransferFunctionPoles",type:"keyword",info:"TransferFunctionPoles[tfm] gives a matrix of roots of the denominators in the TransferFunctionModel "},{label:"TransferFunctionTransform",type:"keyword",info:"TransferFunctionTransform[f, tf] transforms the TransferFunctionModel object tf using the transforma"},{label:"TransferFunctionZeros",type:"keyword",info:"TransferFunctionZeros[tfm] gives a matrix of roots of the numerators in the TransferFunctionModel tf"},{label:"TransformationClass",type:"keyword",info:"TransformationClass is an option that specifies the class of geometric transformations to be used."},{label:"TransformationFunction",type:"keyword",info:"TransformationFunction[data] represents a transformation function that applies geometric and other t"},{label:"TransformationFunctions",type:"keyword",info:"TransformationFunctions is an option for Simplify and FullSimplify which gives the list of functions"},{label:"TransformationMatrix",type:"keyword",info:"TransformationMatrix[tfun] gives the homogeneous matrix associated with a TransformationFunction obj"},{label:"TransformedDistribution",type:"keyword",info:"TransformedDistribution[expr, x  dist] represents the transformed distribution of expr where the ra"},{label:"TransformedField",type:"keyword",info:"TransformedField[t, f, {x , x , …, x }  {y , y , …, y }] uses the coordinate transformation t to tr"},{label:"TransformedProcess",type:"keyword",info:"TransformedProcess[expr, x  proc, t] represents the transformed process of expr where the variable "},{label:"TransformedRegion",type:"keyword",info:"TransformedRegion[reg, f] represents the transformed region {f(p) | p ∈ reg}, where reg is a region "},{label:"TransitionDirection",type:"keyword",info:"TransitionDirection is an option for PaneSelector that specifies the direction in which a transition"},{label:"TransitionDuration",type:"keyword",info:"TransitionDuration is an option for PaneSelector that specifies the duration in seconds that a trans"},{label:"TransitionEffect",type:"keyword",info:"TransitionEffect is an option for PaneSelector that specifies the visual effect used when transition"},{label:"TransitiveClosureGraph",type:"keyword",info:"TransitiveClosureGraph[g] gives the transitive closure of the graph g.TransitiveClosureGraph[{v  w,"},{label:"TransitiveReductionGraph",type:"keyword",info:"TransitiveReductionGraph[g] gives a transitive reduction of the graph g.TransitiveReductionGraph[{v "},{label:"Translate",type:"keyword",info:"Translate[g, {x, y, …}] represents graphics primitives g translated by the vector {x, y, …}. Transla"},{label:"TranslationOptions",type:"keyword",info:"TranslationOptions  {opt  val , opt  val , …} is an option for Style and Cell that controls how"},{label:"TranslationTransform",type:"keyword",info:"TranslationTransform[v] gives a TransformationFunction that represents translation of points by a ve"},{label:"Transliterate",type:"keyword",info:'Transliterate["string"] attempts to transliterate string into plain ASCII.Transliterate["string", sc'},{label:"Transparent",type:"keyword",info:"Transparent represents perfect transparency in graphics or style specifications. "},{label:"TransparentColor",type:"keyword",info:"System`TransparentColor"},{label:"Transpose",type:"keyword",info:" "},{label:"TransposeLayer",type:"keyword",info:" "},{label:"TrapEnterKey",type:"keyword",info:"System`TrapEnterKey"},{label:"TrapSelection",type:"keyword",info:"System`TrapSelection"},{label:"TravelDirections",type:"keyword",info:"TravelDirections[{loc , loc , …}] generates directions for travel from loc to loc , ….TravelDirecti"},{label:"TravelDirectionsData",type:"keyword",info:"TravelDirectionsData[…] represents travel directions generated by TravelDirections."},{label:"TravelDistance",type:"keyword",info:"TravelDistance[{loc , loc , …}] gives the estimated distance for travel from loc to loc , ….\n "},{label:"TravelDistanceList",type:"keyword",info:"TravelDistanceList[{loc , loc , …, loc }] returns the list {TravelDistance[loc , loc ], …, TravelDis"},{label:"TravelMethod",type:"keyword",info:"TravelMethod is an option for TravelDirections and related functions that specifies the mode of tran"},{label:"TravelTime",type:"keyword",info:"TravelTime[{loc , loc , …}] gives the estimated time to travel from loc to loc , ….\n "},{label:"Tree",type:"keyword",info:"Tree[{subtree , subtree , …}] represents a tree with a list of child subtrees subtree .Tree[data, su"},{label:"TreeCases",type:"keyword",info:"TreeCases[tree, pattern] gives a list of subtrees of tree with data matching pattern.TreeCases[tree,"},{label:"TreeChildren",type:"keyword",info:"TreeChildren[tree] extracts the children of the root of the Tree object tree."},{label:"TreeCount",type:"keyword",info:"TreeCount[tree, pattern] gives the number of subtrees of tree whose data matches pattern.TreeCount[t"},{label:"TreeData",type:"keyword",info:"TreeData[tree] extracts the data in the root of tree."},{label:"TreeDelete",type:"keyword",info:"TreeDelete[tree, pos] deletes the subtree of tree at the position specified by pos.TreeDelete[tree, "},{label:"TreeDepth",type:"keyword",info:"TreeDepth[tree] gives the maximum level of tree.TreeDepth[tree, pattern] gives the maximum level of "},{label:"TreeElementLabel",type:"keyword",info:"TreeElementLabel is an option for Tree and related functions that specifies what labels should be us"},{label:"TreeElementStyle",type:"keyword",info:"TreeElementStyle is an option for Tree and related functions that specifies what style to use for su"},{label:"TreeExpression",type:"keyword",info:"TreeExpression[tree] gives the expression corresponding to the tree tree.TreeExpression[tree, struct"},{label:"TreeExtract",type:"keyword",info:"TreeExtract[tree, pos] extracts the subtree of tree at the position specified by pos.TreeExtract[tre"},{label:"TreeFold",type:"keyword",info:" "},{label:"TreeForm",type:"keyword",info:"TreeForm[expr] displays expr as a tree with different levels at different depths. TreeForm[expr, n] "},{label:"TreeGraph",type:"keyword",info:"TreeGraph[{v , v , …}, {u , u , …}] yields a tree where u is the predecessor of v .TreeGraph[{e , e"},{label:"TreeGraphQ",type:"keyword",info:"TreeGraphQ[g] yields True if the graph g is a tree and False otherwise."},{label:"TreeInsert",type:"keyword",info:"TreeInsert[tree, child, pos] inserts child at the position specified by pos in tree.TreeInsert[tree,"},{label:"TreeLayout",type:"keyword",info:"TreeLayout is an option to Tree and related functions that specifies what layout to use."},{label:"TreeLeafQ",type:"keyword",info:"TreeLeafQ[tree] gives True if tree is a tree with no children, and gives False otherwise."},{label:"TreeLeaves",type:"keyword",info:"TreeLeaves[tree] returns the list of leaves of the tree tree."},{label:"TreeLevel",type:"keyword",info:"TreeLevel[tree, levelspec] gives a list of all subtrees of tree on levels specified by levelspec.Tre"},{label:"TreeMap",type:"keyword",info:"TreeMap[f, tree] applies f to the data in each subtree of tree.TreeMap[f, tree, levelspec] applies f"},{label:"TreeMapAt",type:"keyword",info:"TreeMapAt[f, tree, pos] applies f to the data at the position specified by pos in tree.TreeMapAt[f, "},{label:"TreeOutline",type:"keyword",info:"TreeOutline[tree] gives an outline of the data in tree as a nested OpenerView.TreeOutline[tree, pos]"},{label:"TreePlot",type:"keyword",info:"TreePlot[g] generates a tree plot of the graph g.TreePlot[{e , e , …}] generates a tree plot of the "},{label:"TreePosition",type:"keyword",info:"TreePosition[tree, pattern] gives a list of the positions of subtrees of tree whose data matches pat"},{label:"TreeQ",type:"keyword",info:"TreeQ[tree] yields True if tree is a valid Tree object and False otherwise."},{label:"TreeReplacePart",type:"keyword",info:"TreeReplacePart[tree, pos  new] gives a tree in which the subtree of tree at the position specified"},{label:"TreeRules",type:"keyword",info:"TreeRules[tree] returns the rules associated with the Tree object tree."},{label:"TreeScan",type:"keyword",info:"TreeScan[f, tree] evaluates f applied to the data in each subtree of tree in turn.TreeScan[f, tree, "},{label:"TreeSelect",type:"keyword",info:"TreeSelect[tree, crit] picks out all subtrees tree of tree for which crit[tree ] is True.TreeSelect"},{label:"TreeSize",type:"keyword",info:"TreeSize[tree] gives the number of subtrees of tree."},{label:"TreeTraversalOrder",type:"keyword",info:"TreeTraversalOrder is an option for TreeMap and related functions that specifies the order to visit "},{label:"TrendStyle",type:"keyword",info:"TrendStyle is an option to CandlestickChart, RenkoChart, and other financial charting functions that"},{label:"Triangle",type:"keyword",info:"Triangle[{p , p , p }] represents a filled triangle with corner points p , p , and p .Triangle[{{p "},{label:"TriangleCenter",type:"keyword",info:"TriangleCenter[tri, type] gives the specified type of center for the triangle tri.TriangleCenter[tri"},{label:"TriangleConstruct",type:"keyword",info:"TriangleConstruct[tri, type] gives the specified type of construct for the triangle tri."},{label:"TriangleMeasurement",type:"keyword",info:"TriangleMeasurement[tri, type] gives the specified type of measurement for the triangle tri."},{label:"TriangleWave",type:"keyword",info:"TriangleWave[x] gives a triangle wave that varies between -1 and +1 with unit period.TriangleWave[{m"},{label:"TriangularDistribution",type:"keyword",info:"TriangularDistribution[{min, max}] represents a symmetric triangular statistical distribution giving"},{label:"TriangulateMesh",type:"keyword",info:"TriangulateMesh[mr] generates a triangulation of the mesh region mr."},{label:"Trig",type:"keyword",info:"Trig is an option for various polynomial manipulation functions that specifies whether trigonometric"},{label:"TrigExpand",type:"keyword",info:"TrigExpand[expr] expands out trigonometric functions in expr. "},{label:"TrigFactor",type:"keyword",info:"TrigFactor[expr] factors trigonometric functions in expr. "},{label:"TrigFactorList",type:"keyword",info:"TrigFactorList[expr] factors trigonometric functions in expr, yielding a list of lists containing tr"},{label:"Trigger",type:"keyword",info:"Trigger[Dynamic[u]] represents a trigger that can be pressed to make the dynamically updated value o"},{label:"TrigReduce",type:"keyword",info:"TrigReduce[expr] rewrites products and powers of trigonometric functions in expr in terms of trigono"},{label:"TrigToExp",type:"keyword",info:"TrigToExp[expr] converts trigonometric functions in expr to exponentials. "},{label:"TrimmedMean",type:"keyword",info:"TrimmedMean[list, f] gives the mean of the elements in list after dropping a fraction f of the small"},{label:"TrimmedVariance",type:"keyword",info:"TrimmedVariance[list, f] gives the variance of the elements in list after dropping a fraction f of t"},{label:"TropicalStormData",type:"keyword",info:"TropicalStormData[entity, property] gives the value of the specified property for the tropical storm"},{label:"True",type:"keyword",info:"True is the symbol for the Boolean value true. "},{label:"TrueQ",type:"keyword",info:"TrueQ[expr] yields True if expr is True, and yields False otherwise. "},{label:"TruncatedDistribution",type:"keyword",info:"TruncatedDistribution[{x , x }, dist] represents the distribution obtained by truncating the val"},{label:"TruncatedPolyhedron",type:"keyword",info:"TruncatedPolyhedron[poly] gives the truncated polyhedron of poly by truncating all vertices. Truncat"},{label:"TsallisQExponentialDistribution",type:"keyword",info:"TsallisQExponentialDistribution[λ, q] represents a Tsallis q-exponential distribution with scale inv"},{label:"TsallisQGaussianDistribution",type:"keyword",info:"TsallisQGaussianDistribution[μ, Î.b2, q] represents a Tsallis q-Gaussian distribution with mean μ, scal"},{label:"TTest",type:"keyword",info:"TTest[data] tests whether the mean of data is zero. TTest[{data , data }] tests whether the means of"},{label:"Tube",type:"keyword",info:"Tube[{{x , y , z }, {x , y , z }, …}] represents a 3D tube around the line joining a sequence of poi"},{label:"TubeBezierCurveBox",type:"keyword",info:"System`TubeBezierCurveBox"},{label:"TubeBezierCurveBoxOptions",type:"keyword",info:"TubeBezierCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for T"},{label:"TubeBox",type:"keyword",info:"System`TubeBox"},{label:"TubeBoxOptions",type:"keyword",info:"TubeBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for TubeBox obje"},{label:"TubeBSplineCurveBox",type:"keyword",info:"System`TubeBSplineCurveBox"},{label:"TubeBSplineCurveBoxOptions",type:"keyword",info:"TubeBSplineCurveBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for "},{label:"Tuesday",type:"keyword",info:"Tuesday is a day of the week."},{label:"TukeyLambdaDistribution",type:"keyword",info:"TukeyLambdaDistribution[λ] represents Tukey's lambda distribution with shape parameter λ.TukeyLambda"},{label:"TukeyWindow",type:"keyword",info:"TukeyWindow[x] represents a Tukey window function of x.TukeyWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"TunnelData",type:"keyword",info:"TunnelData[entity, property] gives the value of the specified property for the tunnel entity.TunnelD"},{label:"Tuples",type:"keyword",info:" "},{label:"TuranGraph",type:"keyword",info:"TuranGraph[n, k] gives the k-partite Turán graph with n vertices T .\n "},{label:"TuringMachine",type:"keyword",info:"TuringMachine[rule, init, t] generates a list representing the evolution of the Turing machine with "},{label:"TuttePolynomial",type:"keyword",info:"TuttePolynomial[g, {x, y}] gives the Tutte polynomial of the graph g.TuttePolynomial[{v  w, …}, …] "},{label:"TwoWayRule",type:"keyword",info:"x<->y or x  y represents a two-way rule expressing exchange or correspondence of x and y."},{label:"Typed",type:"keyword",info:"Typed[expr, type] represents an expression that should be assumed to be of a specified type for comp"},{label:"TypeDeclaration",type:"keyword",info:"System`TypeDeclaration"},{label:"TypeSpecifier",type:"keyword",info:"TypeSpecifier[cons] represents a type specifier that can be applied to other types to create a compo"},{label:"UnateQ",type:"keyword",info:"UnateQ[bexpr, {x , x , …}] tests whether the Boolean expression bexpr is positive unate in the varia"},{label:"Uncompress",type:"keyword",info:'Uncompress["string"] recovers an expression from a compressed string representation generated by Com'},{label:"UnconstrainedParameters",type:"keyword",info:"UnconstrainedParameters is an option to functions like GeometricScene that specifies what parameters"},{label:"Undefined",type:"keyword",info:"Undefined is a symbol that represents a quantity with no defined value."},{label:"UnderBar",type:"keyword",info:"UnderBar[expr] displays with a bar under expr."},{label:"Underflow",type:"keyword",info:"Underflow[] represents a number too small to represent explicitly on your computer system."},{label:"Underlined",type:"keyword",info:"Underlined represents an underlined font."},{label:"Underoverscript",type:"keyword",info:" z\nUnderoverscript[x, y, z] is an object that f"},{label:"UnderoverscriptBox",type:"keyword",info:" z\nUnderoverscriptBox[x, y, z] is"},{label:"UnderoverscriptBoxOptions",type:"keyword",info:"UnderoverscriptBoxOptions is an option for selections that specifies settings for UnderoverscriptBox"},{label:"Underscript",type:"keyword",info:"Underscript[x, y] is an object that formats as x. \n y"},{label:"UnderscriptBox",type:"keyword",info:"UnderscriptBox[x, y] is the low‐level box representation for x in notebook expressions. \n "},{label:"UnderscriptBoxOptions",type:"keyword",info:"UnderscriptBoxOptions is an option for selections that specifies settings for UnderscriptBox objects"},{label:"UnderseaFeatureData",type:"keyword",info:"UnderseaFeatureData[entity, property] gives the value of the specified property for the undersea fea"},{label:"UndirectedEdge",type:"keyword",info:" "},{label:"UndirectedGraph",type:"keyword",info:"UndirectedGraph[g] gives an undirected graph from the directed graph g.UndirectedGraph[{v  w, …}] u"},{label:"UndirectedGraphQ",type:"keyword",info:"UndirectedGraphQ[g] yields True if the graph g is an undirected graph and False otherwise."},{label:"UndoOptions",type:"keyword",info:"UndoOptions is an option for Style that specifies settings for controlling the behavior of the front"},{label:"UndoTrackedVariables",type:"keyword",info:"UndoTrackedVariables is an option for Manipulate, DynamicModule, and related functions that sets var"},{label:"Unequal",type:"keyword",info:"lhs != rhs or lhs ≠ rhs returns False if lhs and rhs are identical. "},{label:"UnequalTo",type:"keyword",info:"UnequalTo[y] is an operator form that yields x ≠ y when applied to an expression x."},{label:"Unevaluated",type:"keyword",info:"Unevaluated[expr] represents the unevaluated form of expr when it appears as the argument to a funct"},{label:"UniformDistribution",type:"keyword",info:"UniformDistribution[{min, max}] represents a continuous uniform statistical distribution giving valu"},{label:"UniformGraphDistribution",type:"keyword",info:"UniformGraphDistribution[n, m] represents a uniform graph distribution on n-vertex, m-edge graphs."},{label:"UniformPolyhedron",type:"keyword",info:'UniformPolyhedron["name"] gives the uniform polyhedron with the given name.UniformPolyhedron[{n, m}]'},{label:"UniformSumDistribution",type:"keyword",info:"UniformSumDistribution[n] represents the distribution of a sum of n random variables uniformly distr"},{label:"Uninstall",type:"keyword",info:"Uninstall[link] terminates an external program started by Install, and removes Wolfram Language defi"},{label:"Union",type:"keyword",info:"Union[list , list , …] gives a sorted list of all the distinct elements that appear in any of the li"},{label:"UnionedEntityClass",type:"keyword",info:"UnionedEntityClass[class , …] represents an entity class containing all the distinct entities in all"},{label:"UnionPlus",type:"keyword",info:"UnionPlus[x, y, …] displays as x ⊎ y ⊎ …."},{label:"Unique",type:"keyword",info:"Unique[] generates a new symbol, whose name is of the form ECnnn. Unique[x] generates a new symbol, w"},{label:"UnitaryMatrixQ",type:"keyword",info:"UnitaryMatrixQ[m] gives True if m is a unitary matrix, and False otherwise."},{label:"UnitBox",type:"keyword",info:" 1 "},{label:"UnitConvert",type:"keyword",info:"UnitConvert[quantity, targetunit] attempts to convert the specified quantity to the specified target"},{label:"UnitDimensions",type:"keyword",info:"UnitDimensions[unit] returns a list of base dimensions associated with the specified unit.UnitDimens"},{label:"Unitize",type:"keyword",info:"Unitize[x] gives 0 when x is zero, and 1 when x has any other numerical value."},{label:"UnitRootTest",type:"keyword",info:"UnitRootTest[data] tests whether data came from an autoregressive time series process with unit root"},{label:"UnitSimplify",type:"keyword",info:"UnitSimplify[quantity] attempts to simplify the units of the specified quantity."},{label:"UnitStep",type:"keyword",info:"UnitStep[x] represents the unit step function, equal to 0 for x < 0 and 1 for x ≥ 0. UnitStep[x , x "},{label:"UnitSystem",type:"keyword",info:"UnitSystem is an option for functions like AirTemperatureData that determines the units of the resul"},{label:"UnitTriangle",type:"keyword",info:"UnitTriangle[x] represents the unit triangle function on the interval  x  ≤ 1 .UnitTriangle[x , x "},{label:"UnitVector",type:"keyword",info:" th "},{label:"UnitVectorLayer",type:"keyword",info:"UnitVectorLayer[n] represents a net layer that transforms integers between 1 and n into n-dimensiona"},{label:"UnityDimensions",type:"keyword",info:"UnityDimensions is an option for UnitSimplify that specifies which UnitDimensions should be factored"},{label:"UniverseModelData",type:"keyword",info:"UniverseModelData[spec] returns properties of the universe based on the default model at specificati"},{label:"UniversityData",type:"keyword",info:"UniversityData[entity, property] gives the value of the specified property for the university entity"},{label:"UnixTime",type:"keyword",info:"UnixTime[] gives the total number of seconds since the beginning of January 1, 1970, in the GMT time"},{label:"Unprotect",type:"keyword",info:'Unprotect[s , s , …] removes the attribute Protected for the symbols s . Unprotect["form ", "form ",'},{label:"UnregisterExternalEvaluator",type:"keyword",info:"UnregisterExternalEvaluator[sys, target] unregisters the external evaluator referenced by target for"},{label:"UnsameQ",type:"keyword",info:"lhs =!= rhs yields True if the expression lhs is not identical to rhs, and yields False otherwise. "},{label:"UnsavedVariables",type:"keyword",info:"UnsavedVariables is an option for Manipulate, DynamicModule, and related functions that specifies lo"},{label:"Unset",type:"keyword",info:"lhs=. removes any rules defined for lhs. "},{label:"UnsetShared",type:"keyword",info:"UnsetShared[s , s , …] stops the sharing of the variables or functions s among parallel kernels.Uns"},{label:"UntrackedVariables",type:"keyword",info:"System`UntrackedVariables"},{label:"Up",type:"keyword",info:"System`Up"},{label:"UpArrow",type:"keyword",info:"UpArrow[x, y, …] displays as x ↑ y ↑ …."},{label:"UpArrowBar",type:"keyword",info:"UpArrowBar[x, y, …] displays as x ⤒ y ⤒ …."},{label:"UpArrowDownArrow",type:"keyword",info:"UpArrowDownArrow[x, y, …] displays as x ⇅ y ⇅ …."},{label:"Update",type:"keyword",info:"Update[symbol] tells the Wolfram Language that hidden changes have been made that could affect value"},{label:"UpdateDynamicObjects",type:"keyword",info:"System`UpdateDynamicObjects"},{label:"UpdateDynamicObjectsSynchronous",type:"keyword",info:"System`UpdateDynamicObjectsSynchronous"},{label:"UpdateInterval",type:"keyword",info:"UpdateInterval is an option to Refresh and Dynamic that specifies at what time interval to do update"},{label:"UpdatePacletSites",type:"keyword",info:"UpdatePacletSites is an option to PacletInstall and PacletInstallSubmit that specifies whether to fi"},{label:"UpdateSearchIndex",type:"keyword",info:'UpdateSearchIndex[obj] updates the given search index object.UpdateSearchIndex["name"] updates the s'},{label:"UpDownArrow",type:"keyword",info:"UpDownArrow[x, y, …] displays as x ↕ y ↕ …."},{label:"UpEquilibrium",type:"keyword",info:"UpEquilibrium[x, y, …] displays as x ⥮ y ⥮ …."},{label:"UpperCaseQ",type:"keyword",info:"UpperCaseQ[string] yields True if all the characters in the string are uppercase letters, and yields"},{label:"UpperLeftArrow",type:"keyword",info:"UpperLeftArrow[x, y, …] displays as x ↖ y ↖ …."},{label:"UpperRightArrow",type:"keyword",info:"UpperRightArrow[x, y, …] displays as x ↗ y ↗ …."},{label:"UpperTriangularize",type:"keyword",info:" "},{label:"UpperTriangularMatrixQ",type:"keyword",info:" "},{label:"Upsample",type:"keyword",info:"Upsample[array, n] returns an upsampled version of the array by inserting n - 1 zeros between array "},{label:"UpSet",type:"keyword",info:"lhs^=rhs assigns rhs to be the value of lhs, and associates the assignment with symbols that occur a"},{label:"UpSetDelayed",type:"keyword",info:"lhs^:=rhs assigns rhs to be the delayed value of lhs, and associates the assignment with symbols tha"},{label:"UpTee",type:"keyword",info:"UpTee[x, y] displays as x ⊥ y."},{label:"UpTeeArrow",type:"keyword",info:"UpTeeArrow[x, y, …] displays as x ↥ y ↥ …."},{label:"UpTo",type:"keyword",info:"UpTo[n] is a symbolic specification that represents up to n objects or positions. If n objects or po"},{label:"UpValues",type:"keyword",info:"UpValues[f] gives a list of transformation rules corresponding to all upvalues (values for g[…, f[…]"},{label:"URL",type:"keyword",info:'URL["url"] is a symbolic representation of a URL.'},{label:"URLBuild",type:"keyword",info:'URLBuild["path", {param  val , param  val , …}] builds a URL with the specified path and query p'},{label:"URLDecode",type:"keyword",info:'URLDecode["string"] decodes a URL-style percent-encoded string.'},{label:"URLDispatcher",type:"keyword",info:"URLDispatcher[{patt  content , patt  content , …}] represents a dispatcher for deployed URLs tha"},{label:"URLDownload",type:"keyword",info:"URLDownload[url] downloads the content of the specified URL to a local temporary file.URLDownload[{u"},{label:"URLDownloadSubmit",type:"keyword",info:"URLDownloadSubmit[url, file] submits the specified URL to be downloaded asynchronously to the file g"},{label:"URLEncode",type:"keyword",info:'URLEncode["string"] converts "string" into a URL-style, percent-encoded ASCII string. '},{label:"URLExecute",type:"keyword",info:"URLExecute[url] executes the specified URL, importing whatever result is generated.URLExecute[url, {"},{label:"URLExpand",type:"keyword",info:'URLExpand["url"] expands a shortened "url".'},{label:"URLFetch",type:"keyword",info:"URLFetch[url] returns the contents of a URL as a string.URLFetch[url, elements] returns the specifie"},{label:"URLFetchAsynchronous",type:"keyword",info:"URLFetchAsynchronous[url, func] performs a connection in the background, calling func when an event "},{label:"URLParse",type:"keyword",info:'URLParse["url"] takes a well-formed URL and gives an association whose values correspond to the comp'},{label:"URLQueryDecode",type:"keyword",info:'URLQueryDecode["string"] decodes a URL-style query string into a list of key-value rules. '},{label:"URLQueryEncode",type:"keyword",info:"URLQueryEncode[ key  val , key  val , … ] creates a URL-style query string from an association"},{label:"URLRead",type:"keyword",info:"URLRead[url] sends a request to a URL and reads back the response, returning it as a response object"},{label:"URLResponseTime",type:"keyword",info:"URLResponseTime[url] gives the total number of seconds to request one byte from the specified URL.UR"},{label:"URLSave",type:"keyword",info:'URLSave["url"] saves the content of the URL to a file in ECTemporaryDirectory.URLSave["url", "file"] '},{label:"URLSaveAsynchronous",type:"keyword",info:'URLSaveAsynchronous["url", "file", func] performs a download to "file" in the background, calling fu'},{label:"URLShorten",type:"keyword",info:'URLShorten["url"] creates a shortened URL that redirects to "url".URLShorten[CloudObject[…]] creates'},{label:"URLSubmit",type:"keyword",info:"URLSubmit[url] submits the specified URL to be executed asynchronously.URLSubmit[url, {param  val "},{label:"UseEmbeddedLibrary",type:"keyword",info:"UseEmbeddedLibrary is an option of FunctionCompile that embeds a shared library in a CompiledCodeFun"},{label:"UseGraphicsRange",type:"keyword",info:"System`UseGraphicsRange"},{label:"UserDefinedWavelet",type:"keyword",info:"System`UserDefinedWavelet"},{label:"Using",type:"keyword",info:"Using is an option to Roots that specifies any subsidiary equations that are to be used."},{label:"UtilityFunction",type:"keyword",info:"UtilityFunction is an option for Predict, Classify, and related functions that specifies the utility"},{label:"V2Get",type:"keyword",info:"V2Get[name] reads in a file written by the V2.x versions."},{label:"ValenceErrorHandling",type:"keyword",info:"ValenceErrorHandling is an option for MoleculeModify that specifies whether molecule valences should"},{label:"ValenceFilling",type:"keyword",info:"ValenceFilling is an option for Molecule that specifies whether to fill open valences with hydrogen "},{label:"ValidationLength",type:"keyword",info:"ValidationLength is an option to FindSequenceFunction and related functions that specifies the numbe"},{label:"ValidationSet",type:"keyword",info:"ValidationSet is an option for Predict, Classify, NetTrain, and related functions that specifies the"},{label:"Value",type:"keyword",info:"System`Value"},{label:"ValueBox",type:"keyword",info:"System`ValueBox"},{label:"ValueBoxOptions",type:"keyword",info:"ValueBoxOptions  {opt  val , opt  val , …} is an option that specifies settings for ValueBox ob"},{label:"ValueDimensions",type:"keyword",info:"ValueDimensions is an option to TemporalData, TimeSeries, and EventSeries that specifies the dimensi"},{label:"ValueForm",type:"keyword",info:"ValueForm is an internal symbol."},{label:"ValuePreprocessingFunction",type:"keyword",info:"ValuePreprocessingFunction is an option for functions such as PersistentSymbol and InitializationVal"},{label:"ValueQ",type:"keyword",info:"ValueQ[expr] gives True if a value has been defined for expr, and gives False otherwise. "},{label:"Values",type:"keyword",info:"Values[ key  val , key  val , … ] gives a list of the values val in an association.Values[{ke"},{label:"ValuesData",type:"keyword",info:"System`ValuesData"},{label:"Variables",type:"keyword",info:"Variables[poly] gives a list of all independent variables in a polynomial. "},{label:"Variance",type:"keyword",info:"Variance[list] gives the sample variance of the elements in list. Variance[dist] gives the variance "},{label:"VarianceEquivalenceTest",type:"keyword",info:"VarianceEquivalenceTest[{data , data , …}] tests whether the variances of the data are equal. Varia"},{label:"VarianceEstimatorFunction",type:"keyword",info:"VarianceEstimatorFunction is an option for LinearModelFit and NonlinearModelFit which specifies the "},{label:"VarianceGammaDistribution",type:"keyword",info:"VarianceGammaDistribution[λ, Î\\[PlusMinus], Î.b2, μ] represents a variance‐gamma distribution with location paramet"},{label:"VarianceGammaPointProcess",type:"keyword",info:" "},{label:"VarianceTest",type:"keyword",info:" "},{label:"VariogramFunction",type:"keyword",info:"VariogramFunction is an option to SpatialEstimate that specifies the local variation model to use. "},{label:"VariogramModel",type:"keyword",info:'VariogramModel["model", {params}] represents the function for the variogram model specified by "mode'},{label:"VectorAngle",type:"keyword",info:"VectorAngle[u, v] gives the angle between the vectors u and v."},{label:"VectorAround",type:"keyword",info:"VectorAround[{x , x , …}, {Î.b4 , Î.b4 , …}] represents a vector of uncorrelated approximate numbers or qu"},{label:"VectorAspectRatio",type:"keyword",info:"VectorAspectRatio is an option setting for VectorPlot and related functions that determines the rela"},{label:"VectorColorFunction",type:"keyword",info:"VectorColorFunction is an option for VectorPlot and related functions that specifies a function to a"},{label:"VectorColorFunctionScaling",type:"keyword",info:"VectorColorFunctionScaling is an option for graphics functions which specifies whether arguments sup"},{label:"VectorDensityPlot",type:"keyword",info:"VectorDensityPlot[{{v , v }, s}, {x, x , x }, {y, y , y }] generates a vector plot of the ve"},{label:"VectorDisplacementPlot",type:"keyword",info:"VectorDisplacementPlot[{v , v }, {x, x , x }, {y, y , y }] generates a displacement plot for"},{label:"VectorDisplacementPlot3D",type:"keyword",info:"VectorDisplacementPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] generates "},{label:"VectorGlyphData",type:"keyword",info:"System`VectorGlyphData"},{label:"VectorGreater",type:"keyword",info:"x ï.b4 y or VectorGreater[{x, y}] yields True for vectors of length n if x > y for all components 1 ≤"},{label:"VectorGreaterEqual",type:"keyword",info:"x ï\\[Micro] y or VectorGreaterEqual[{x, y}] yields True for vectors of length n if x ≥ y for all component"},{label:"VectorLess",type:"keyword",info:"x ï\\[Paragraph] y or VectorLess[{x, y}] yields True for vectors of length n if x < y for all components 1 ≤ i "},{label:"VectorLessEqual",type:"keyword",info:"x ï\\[CenterDot] y or VectorLessEqual[{x, y}] yields True for vectors of length n if x ≤ y for all components 1"},{label:"VectorMarkers",type:"keyword",info:"VectorMarkers is an option for graphics functions like VectorPlot, ListVectorPlot and related functi"},{label:"VectorPlot",type:"keyword",info:"VectorPlot[{v , v }, {x, x , x }, {y, y , y }] generates a vector plot of the vector field {"},{label:"VectorPlot3D",type:"keyword",info:"VectorPlot3D[{v , v , v }, {x, x , x }, {y, y , y }, {z, z , z }] generates a 3D vector "},{label:"VectorPoints",type:"keyword",info:"VectorPoints is an option to VectorPlot, ListVectorPlot, and related functions that determines where"},{label:"VectorQ",type:"keyword",info:"VectorQ[expr] gives True if expr is a list or a one‐dimensional SparseArray object, none of whose el"},{label:"VectorRange",type:"keyword",info:"VectorRange is an option for VectorPlot and related functions that specifies the range of vector mag"},{label:"Vectors",type:"keyword",info:"Vectors[d] represents the domain of vectors of dimension d.Vectors[d, dom] represents the domain of "},{label:"VectorScale",type:"keyword",info:"VectorScale is an option to VectorPlot, ListVectorPlot, and related functions that determines the le"},{label:"VectorScaling",type:"keyword",info:"VectorScaling is an option for VectorPlot and related functions that determines how the magnitudes o"},{label:"VectorSizes",type:"keyword",info:"VectorSizes is an option for VectorPlot and related functions that specifies the range of sizes used"},{label:"VectorStyle",type:"keyword",info:"VectorStyle is an option to VectorPlot, ListVectorPlot, and related functions that determines the st"},{label:"Vee",type:"keyword",info:"Vee[x, y, …] displays as x ⋁ y ⋁ …."},{label:"Verbatim",type:"keyword",info:"Verbatim[expr] represents expr in pattern matching, requiring that expr be matched exactly as it app"},{label:"Verbose",type:"keyword",info:"System`Verbose"},{label:"VerboseConvertToPostScriptPacket",type:"keyword",info:"System`VerboseConvertToPostScriptPacket"},{label:"VerificationTest",type:"keyword",info:"VerificationTest[input] runs a verification test to determine whether input evaluates to True, witho"},{label:"VerifyConvergence",type:"keyword",info:"VerifyConvergence is an option to Sum, NSum, and similar functions that specifies whether convergenc"},{label:"VerifyDerivedKey",type:"keyword",info:"VerifyDerivedKey[key, password] verifies that password matches the password used to generate the der"},{label:"VerifyDigitalSignature",type:"keyword",info:"VerifyDigitalSignature[{expr, sig}, key] verifies the digital signature sig for expr using the speci"},{label:"VerifyFileSignature",type:"keyword",info:'VerifyFileSignature[{"file", sig}, key] verifies the digital signature sig for file using the specif'},{label:"VerifyInterpretation",type:"keyword",info:"VerifyInterpretation is an option for TextCases, TextPosition and TextContents that verifies that re"},{label:"VerifySecurityCertificates",type:"keyword",info:"VerifySecurityCertificates is an option for URLRead and related functions that specifies whether to "},{label:"VerifySolutions",type:"keyword",info:"VerifySolutions is an option to Solve and related functions that controls whether to verify solution"},{label:"VerifyTestAssumptions",type:"keyword",info:"VerifyTestAssumptions is an option to LocationTest and similar functions that controls which assumpt"},{label:"Version",type:"keyword",info:"System`Version"},{label:"VersionedPreferences",type:"keyword",info:"VersionedPreferences is a global front end option that specifies whether settings on ECFrontEnd shoul"},{label:"VersionNumber",type:"keyword",info:"System`VersionNumber"},{label:"VertexAdd",type:"keyword",info:"VertexAdd[g, v] makes a graph by adding the vertex v to the graph g.VertexAdd[g, {v , v , …}] adds a"},{label:"VertexCapacity",type:"keyword",info:"VertexCapacity is an option and annotation for Graph and related functions that specifies a vertex c"},{label:"VertexChromaticNumber",type:"keyword",info:"VertexChromaticNumber[g] gives the chromatic number for the vertices of the graph g."},{label:"VertexColors",type:"keyword",info:"VertexColors is an option for graphics primitives which specifies the colors to assign to vertices."},{label:"VertexComponent",type:"keyword",info:"VertexComponent[g, {v , v , …}] gives the vertices in the graph g that have a path to at least one o"},{label:"VertexConnectivity",type:"keyword",info:"VertexConnectivity[g] gives the vertex connectivity of the graph g.VertexConnectivity[g, s, t] gives"},{label:"VertexContract",type:"keyword",info:"VertexContract[g, {v , v , …}] contracts a collection of vertices v , v , … into a single vertex of "},{label:"VertexCoordinateRules",type:"keyword",info:"VertexCoordinateRules is an option for GraphPlot and related functions which specifies rules for det"},{label:"VertexCoordinates",type:"keyword",info:"VertexCoordinates is an option to Graph and related functions that specifies the coordinates to use "},{label:"VertexCorrelationSimilarity",type:"keyword",info:"VertexCorrelationSimilarity[g, u, v] gives the correlation similarity between vertices u and v of th"},{label:"VertexCosineSimilarity",type:"keyword",info:"VertexCosineSimilarity[g, u, v] gives the cosine similarity between vertices u and v of the graph g."},{label:"VertexCount",type:"keyword",info:"VertexCount[g] gives a count of the number of vertices in the graph g.VertexCount[g, patt] gives a c"},{label:"VertexCoverQ",type:"keyword",info:"VertexCoverQ[g, vlist] yields True if the vertex list vlist is a vertex cover of the graph g, and Fa"},{label:"VertexDataCoordinates",type:"keyword",info:"VertexDataCoordinates is an option to Raster3D that determines how to map data to the displayed rang"},{label:"VertexDegree",type:"keyword",info:"VertexDegree[g] gives the list of vertex degrees for all vertices in the graph g.VertexDegree[g, v] "},{label:"VertexDelete",type:"keyword",info:"VertexDelete[g, v] makes a graph by deleting the vertex ν and all edges connected to v from the grap"},{label:"VertexDiceSimilarity",type:"keyword",info:"VertexDiceSimilarity[g, u, v] gives the Dice similarity between vertices u and v of the graph g.Vert"},{label:"VertexEccentricity",type:"keyword",info:"VertexEccentricity[g, s] gives the length of the longest shortest path from the source s to every ot"},{label:"VertexInComponent",type:"keyword",info:"VertexInComponent[g, {v , v , …}] gives the vertices in the graph g that have a directed path to at "},{label:"VertexInComponentGraph",type:"keyword",info:"VertexInComponentGraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices t"},{label:"VertexInDegree",type:"keyword",info:"VertexInDegree[g] gives the list of vertex in-degrees for all vertices in the graph g.VertexInDegree"},{label:"VertexIndex",type:"keyword",info:"VertexIndex[g, v] gives the integer index for the vertex v in the graph g.VertexIndex[{v  w, …}, …]"},{label:"VertexJaccardSimilarity",type:"keyword",info:"VertexJaccardSimilarity[g, u, v] gives the Jaccard similarity between vertices u and v of the graph "},{label:"VertexLabeling",type:"keyword",info:"VertexLabeling is an option for GraphPlot and related functions which specifies whether labeling sho"},{label:"VertexLabels",type:"keyword",info:"VertexLabels is an option and annotation for Graph and related functions that specifies what labels "},{label:"VertexLabelStyle",type:"keyword",info:"VertexLabelStyle is an option and property for Graph and related functions that specifies the style "},{label:"VertexList",type:"keyword",info:"VertexList[g] gives the list of vertices for the graph g.VertexList[g, patt] gives a list of vertice"},{label:"VertexNormals",type:"keyword",info:"VertexNormals is an option for graphics primitives which specifies the normal directions to assign t"},{label:"VertexOutComponent",type:"keyword",info:"VertexOutComponent[g, {v , v , …}] gives the vertices in the graph g that have a directed path from "},{label:"VertexOutComponentGraph",type:"keyword",info:"VertexOutComponentGraph[g, {v , v , …}] gives the subgraph of the graph g generated by the vertices "},{label:"VertexOutDegree",type:"keyword",info:"VertexOutDegree[g] gives the list of vertex out-degrees for all vertices in the graph g.VertexOutDeg"},{label:"VertexQ",type:"keyword",info:"VertexQ[g, v] yields True if v is a vertex in the graph g and False otherwise."},{label:"VertexRenderingFunction",type:"keyword",info:"VertexRenderingFunction is an option for GraphPlot and related functions that gives a function to ge"},{label:"VertexReplace",type:"keyword",info:"VertexReplace[g, {v  w , v  w , …}] replaces each vertex v in the graph g by w .VertexReplace[{"},{label:"VertexShape",type:"keyword",info:"VertexShape is an option and property for Graph and related functions that specifies the graphics us"},{label:"VertexShapeFunction",type:"keyword",info:"VertexShapeFunction is an option and annotation for Graph and related functions that specifies a fun"},{label:"VertexSize",type:"keyword",info:"VertexSize is an option and property for Graph and related functions that specifies the size used fo"},{label:"VertexStyle",type:"keyword",info:"VertexStyle is an option and annotation for Graph and related functions that specifies what style to"},{label:"VertexTextureCoordinates",type:"keyword",info:"VertexTextureCoordinates is an option for graphics primitives that specifies the texture coordinates"},{label:"VertexTransitiveGraphQ",type:"keyword",info:"VertexTransitiveGraphQ[g] yields True if the graph g is a vertex–transitive graph and False otherwis"},{label:"VertexWeight",type:"keyword",info:"VertexWeight is an option and annotation for Graph and related functions that specifies a vertex wei"},{label:"VertexWeightedGraphQ",type:"keyword",info:"VertexWeightedGraphQ[g] yields True if the graph g is a vertex-weighted graph, and False otherwise."},{label:"Vertical",type:"keyword",info:"System`Vertical"},{label:"VerticalBar",type:"keyword",info:"VerticalBar[x, y, …] displays as x  y  …."},{label:"VerticalForm",type:"keyword",info:"VerticalForm is an internal symbol used for formatting and printing."},{label:"VerticalGauge",type:"keyword",info:"VerticalGauge[value] draws a linear gauge showing value in a range of 0 to 1.VerticalGauge[value, {m"},{label:"VerticalSeparator",type:"keyword",info:"VerticalSeparator[x, y, …] displays as x ï.b2 y ï.b2 …."},{label:"VerticalSlider",type:"keyword",info:"VerticalSlider[y] represents a vertical slider at position y with range 0 to 1. VerticalSlider[Dynam"},{label:"VerticalTilde",type:"keyword",info:"VerticalTilde[x, y, …] displays as x ≀ y ≀ …."},{label:"Video",type:"keyword",info:"Video[file] represents video stored in the given file.Video[url] represents video stored in the give"},{label:"VideoCombine",type:"keyword",info:"VideoCombine[{obj , obj , …}] creates a multi-track video by combining all tracks of Video or Audio "},{label:"VideoDelete",type:"keyword",info:"VideoDelete[video, t] deletes the first t seconds of video.VideoDelete[video, -t] deletes the last t"},{label:"VideoEncoding",type:"keyword",info:"VideoEncoding is an option for Export and other functions that specifies the video encoding to use w"},{label:"VideoExtractFrames",type:"keyword",info:"VideoExtractFrames[video, t] extracts a frame at time t from video.VideoExtractFrames[video, tspec] "},{label:"VideoFrameList",type:"keyword",info:"VideoFrameList[video, n] gives a list of n images extracted from video.VideoFrameList[video, spec] g"},{label:"VideoFrameMap",type:"keyword",info:"VideoFrameMap[f, video] applies f to each frame of the Video object video, returning a new Video obj"},{label:"VideoGenerator",type:"keyword",info:"VideoGenerator[model] generates one second of video of a given model.VideoGenerator[model, dur] gene"},{label:"VideoInsert",type:"keyword",info:"VideoInsert[video, t  new] inserts the video new at time t.VideoInsert[video, {t , t , …}  new] in"},{label:"VideoIntervals",type:"keyword",info:"VideoIntervals[video, crit] returns time intervals of video for which the criterion crit is satisfie"},{label:"VideoJoin",type:"keyword",info:"VideoJoin[video , video , …] concatenates all video and returns a video object.\n 1 "},{label:"VideoMap",type:"keyword",info:"VideoMap[f, video] applies f to partial video and audio data corresponding to one frame of video, re"},{label:"VideoMapList",type:"keyword",info:"VideoMapList[f, video] applies f to a chunk of data corresponding to one frame from the Video object"},{label:"VideoMapTimeSeries",type:"keyword",info:"VideoMapTimeSeries[f, video] applies f to each frame of the Video object video, returning a time ser"},{label:"VideoPause",type:"keyword",info:"VideoPause[] pauses the playback of all VideoStream objects.VideoPause[vstream] pauses the playback "},{label:"VideoPlay",type:"keyword",info:"VideoPlay[video] returns a new VideoStream object from video and starts the playback.VideoPlay[vstre"},{label:"VideoQ",type:"keyword",info:"VideoQ[video] yields True if video has the form of a valid Video object, and False otherwise."},{label:"VideoRecord",type:"keyword",info:"VideoRecord[source] creates a VideoStream object and records from source.VideoRecord[vstream] starts"},{label:"VideoReplace",type:"keyword",info:"VideoReplace[video, {t , t }  new] replaces the video between t and t with the new video new.Vide"},{label:"VideoSplit",type:"keyword",info:"VideoSplit[video, t] splits video at time t.VideoSplit[video, {t , t , …}] splits video at times t ."},{label:"VideoStop",type:"keyword",info:"VideoStop[] stops the playback of all VideoStream objects.VideoStop[vstream] stops the playback of t"},{label:"VideoStream",type:"keyword",info:"VideoStream[source] creates a new VideoStream object from source.VideoStream[id] is an object that r"},{label:"VideoStreams",type:"keyword",info:"VideoStreams[] returns all existing video streams."},{label:"VideoTimeStretch",type:"keyword",info:"VideoTimeStretch[video, spec] applies time stretching to video using the specified spec."},{label:"VideoTrackSelection",type:"keyword",info:"VideoTrackSelection is an option that specifies the video tracks of interest."},{label:"VideoTranscode",type:"keyword",info:'VideoTranscode[video, "format"] converts video to the specified format.VideoTranscode[video, service'},{label:"VideoTrim",type:"keyword",info:"VideoTrim[video, t] returns the first t seconds of video.VideoTrim[video, -t] returns the last t sec"},{label:"ViewAngle",type:"keyword",info:"ViewAngle is an option for Graphics3D and related functions that gives the opening angle for a simul"},{label:"ViewCenter",type:"keyword",info:"ViewCenter is an option for Graphics3D and related functions which gives the scaled coordinates of t"},{label:"ViewMatrix",type:"keyword",info:"ViewMatrix is an option for Graphics3D and related functions that can be used to specify a pair of e"},{label:"ViewPoint",type:"keyword",info:"ViewPoint is an option for Graphics3D and related functions which gives the point in space from whic"},{label:"ViewPointSelectorSettings",type:"keyword",info:"System`ViewPointSelectorSettings"},{label:"ViewPort",type:"keyword",info:"System`ViewPort"},{label:"ViewProjection",type:"keyword",info:"ViewProjection is an option for three-dimensional graphics that specifies the projection to use for "},{label:"ViewRange",type:"keyword",info:"ViewRange is an option for Graphics3D and related functions which specifies the range of distances f"},{label:"ViewVector",type:"keyword",info:"ViewVector is an option for Graphics3D and related functions which specifies the position and direct"},{label:"ViewVertical",type:"keyword",info:"ViewVertical is an option for Graphics3D and related functions which specifies what direction in sca"},{label:"VirtualGroupData",type:"keyword",info:"System`VirtualGroupData"},{label:"Visible",type:"keyword",info:"Visible is a notebook option which specifies whether the notebook should be explicitly displayed on "},{label:"VisibleCell",type:"keyword",info:"System`VisibleCell"},{label:"VoiceStyleData",type:"keyword",info:"VoiceStyleData[] gives the list of available voices for speech synthesis.VoiceStyleData[voice] retur"},{label:"VoigtDistribution",type:"keyword",info:"VoigtDistribution[Î.b4, σ] represents Voigt distribution with parameters Î.b4 and σ."},{label:"VolcanoData",type:"keyword",info:"VolcanoData[entity, property] gives the value of the specified property for the volcano entity.Volca"},{label:"Volume",type:"keyword",info:"Volume[reg] gives the volume of the three-dimensional region reg.Volume[{x , …, x }, {s, s , s }"},{label:"VonMisesDistribution",type:"keyword",info:"VonMisesDistribution[μ, κ] represents a von Mises distribution with mean μ and concentration κ."},{label:"VoronoiMesh",type:"keyword",info:"VoronoiMesh[{p , …, p }] gives a MeshRegion representing the Voronoi mesh from the points p , p , …."},{label:"WaitAll",type:"keyword",info:"WaitAll[expr] waits for all concurrent evaluations represented by EvaluationObject expressions in ex"},{label:"WaitAsynchronousTask",type:"keyword",info:"WaitAsynchronousTask[task] waits for task to complete."},{label:"WaitNext",type:"keyword",info:"WaitNext[{eid , eid , …}] waits until the first evaluation represented by any of the eid finishes, "},{label:"WaitUntil",type:"keyword",info:"System`WaitUntil"},{label:"WakebyDistribution",type:"keyword",info:"WakebyDistribution[Î\\[PlusMinus], Î.b2, Î.b3, Î.b4, μ] represents Wakeby distribution with shape parameters Î.b2 and Î.b4, scal"},{label:"WalleniusHypergeometricDistribution",type:"keyword",info:"WalleniusHypergeometricDistribution[n, n , n , w] represents a Wallenius noncentral hypergeomet"},{label:"WaringYuleDistribution",type:"keyword",info:"WaringYuleDistribution[Î\\[PlusMinus]] represents the Yule distribution with shape parameter Î\\[PlusMinus].WaringYuleDistribu"},{label:"WarpingCorrespondence",type:"keyword",info:"WarpingCorrespondence[s , s ] gives the time warping (DTW) similarity path between sequences s and "},{label:"WarpingDistance",type:"keyword",info:"WarpingDistance[s , s ] gives the dynamic time warping (DTW) distance between sequences s and s .Wa"},{label:"WatershedComponents",type:"keyword",info:"WatershedComponents[image] computes the watershed transform of image, returning the result as an arr"},{label:"WatsonUSquareTest",type:"keyword",info:" 2 "},{label:"WattsStrogatzGraphDistribution",type:"keyword",info:"WattsStrogatzGraphDistribution[n, p] represents the Watts–Strogatz graph distribution for n-vertex g"},{label:"WaveletBestBasis",type:"keyword",info:"WaveletBestBasis[dwd] computes a best basis representation in the DiscreteWaveletData object dwd.Wav"},{label:"WaveletFilterCoefficients",type:"keyword",info:"WaveletFilterCoefficients[wave, filt] gives the filter coefficients for the symbolic wavelet wave of"},{label:"WaveletImagePlot",type:"keyword",info:"WaveletImagePlot[dwd] plots the basis tree of wavelet image coefficients in the DiscreteWaveletData "},{label:"WaveletListPlot",type:"keyword",info:"WaveletListPlot[dwd] plots wavelet transform coefficients in the DiscreteWaveletData dwd.WaveletList"},{label:"WaveletMapIndexed",type:"keyword",info:"WaveletMapIndexed[f, wd] applies the function f to the arrays of coefficients and indices of a Conti"},{label:"WaveletMatrixPlot",type:"keyword",info:"WaveletMatrixPlot[dwd] plots the basis tree of wavelet matrix coefficients in the DiscreteWaveletDat"},{label:"WaveletPhi",type:"keyword",info:"WaveletPhi[wave, x] gives the scaling function ϕ(x) for the symbolic wavelet wave evaluated at x.Wav"},{label:"WaveletPsi",type:"keyword",info:"WaveletPsi[wave, x] gives the wavelet function ψ(x) for the symbolic wavelet wave evaluated at x.Wav"},{label:"WaveletScale",type:"keyword",info:"WaveletScale is an option for ContinuousWaveletTransform and related constructs used to specify the "},{label:"WaveletScalogram",type:"keyword",info:"WaveletScalogram[wd] plots wavelet vector coefficients in a DiscreteWaveletData or ContinuousWavelet"},{label:"WaveletThreshold",type:"keyword",info:"WaveletThreshold[dwd] thresholds the detail wavelet coefficients in the DiscreteWaveletData object d"},{label:"WavePDEComponent",type:"keyword",info:" 2\n "},{label:"WeaklyConnectedComponents",type:"keyword",info:"WeaklyConnectedComponents[g] gives the weakly connected components of the graph g.WeaklyConnectedCom"},{label:"WeaklyConnectedGraphComponents",type:"keyword",info:"WeaklyConnectedGraphComponents[g] gives the weakly connected components of the graph g.WeaklyConnect"},{label:"WeaklyConnectedGraphQ",type:"keyword",info:"WeaklyConnectedGraphQ[g] yields True if the graph g is weakly connected, and False otherwise."},{label:"WeakStationarity",type:"keyword",info:"WeakStationarity[proc] gives conditions for the process proc to be weakly stationary. "},{label:"WeatherData",type:"keyword",info:'WeatherData[loc, "property"] gives the most recent measurement for the specified weather property at'},{label:"WeatherForecastData",type:"keyword",info:"WeatherForecastData[loc] gives the most recent forecast for all weather forecast properties for the "},{label:"WebAudioSearch",type:"keyword",info:'WebAudioSearch["string"] gives a dataset of the top web audio search results for the specified liter'},{label:"WebColumn",type:"keyword",info:"WebColumn[{expr , expr , …}] represents an HTML column containing the expr .WebColumn[expr, options]"},{label:"WebElementObject",type:"keyword",info:"WebElementObject[…] represents an element of an open webpage operated on by WebExecute."},{label:"WeberE",type:"keyword",info:" μ\nW"},{label:"WebExecute",type:"keyword",info:"WebExecute[cmd] executes the command cmd in a web browser. WebExecute[{cmd , cmd , …}] executes a li"},{label:"WebImage",type:"keyword",info:"WebImage[url] gives an image of the webpage specified by url.WebImage[list] gives images specified b"},{label:"WebImageSearch",type:"keyword",info:'WebImageSearch["string"] gives a list of thumbnails of the top web image search results for the spec'},{label:"WebItem",type:"keyword",info:"WebItem[expr] represents an HTML element containing expr.WebItem[expr, options] represents an HTML e"},{label:"WebPageMetaInformation",type:"keyword",info:"System`WebPageMetaInformation"},{label:"WebRow",type:"keyword",info:"WebRow[{expr , expr , …}] represents an HTML column containing the expr .WebRow[expr, options] displ"},{label:"WebSearch",type:"keyword",info:'WebSearch["string"] gives a dataset of the top web search results for the specified literal string.W'},{label:"WebSessionObject",type:"keyword",info:"WebSessionObject[…] represents a web browser session started by StartWebSession for use with WebExec"},{label:"WebSessions",type:"keyword",info:"WebSessions[] gives the list of all active web sessions."},{label:"WebWindowObject",type:"keyword",info:"WebWindowObject[…] represents an open window or tab in a web browser."},{label:"Wedge",type:"keyword",info:"Wedge[x, y, …] displays as x ⋀ y ⋀ …."},{label:"Wednesday",type:"keyword",info:"Wednesday is a day of the week."},{label:"WeibullDistribution",type:"keyword",info:"WeibullDistribution[Î\\[PlusMinus], Î.b2] represents a Weibull distribution with shape parameter Î\\[PlusMinus] and scale paramet"},{label:"WeierstrassE1",type:"keyword",info:"WeierstrassE1[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period"},{label:"WeierstrassE2",type:"keyword",info:"WeierstrassE2[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period"},{label:"WeierstrassE3",type:"keyword",info:"WeierstrassE3[{g , g }] gives the value e of the Weierstrass elliptic function ℘ at the half-period"},{label:"WeierstrassEta1",type:"keyword",info:"WeierstrassEta1[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω"},{label:"WeierstrassEta2",type:"keyword",info:"WeierstrassEta2[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω"},{label:"WeierstrassEta3",type:"keyword",info:"WeierstrassEta3[{g , g }] gives the value Î\\[CenterDot] of the Weierstrass zeta function Î\\[Paragraph] at the half-period ω"},{label:"WeierstrassHalfPeriods",type:"keyword",info:"WeierstrassHalfPeriods[{g , g }] gives the half‐periods {ω , ω } for Weierstrass elliptic functions "},{label:"WeierstrassHalfPeriodW1",type:"keyword",info:"WeierstrassHalfPeriodW1[{g , g }] gives the half-period ω for Weierstrass elliptic functions corres"},{label:"WeierstrassHalfPeriodW2",type:"keyword",info:"WeierstrassHalfPeriodW2[{g , g }] gives the half-period ω for the Weierstrass elliptic functions co"},{label:"WeierstrassHalfPeriodW3",type:"keyword",info:"WeierstrassHalfPeriodW3[{g , g }] gives the half-period ω for the Weierstrass elliptic functions co"},{label:"WeierstrassInvariantG2",type:"keyword",info:" â€.b2 "},{label:"WeierstrassInvariantG3",type:"keyword",info:" â€.b2 "},{label:"WeierstrassInvariants",type:"keyword",info:"WeierstrassInvariants[{ω , ω }] gives the invariants {g , g } for Weierstrass elliptic functions cor"},{label:"WeierstrassP",type:"keyword",info:"WeierstrassP[u, {g , g }] gives the Weierstrass elliptic function ℘(u ; g , g ). \n "},{label:"WeierstrassPPrime",type:"keyword",info:"WeierstrassPPrime[u, {g , g }] gives the derivative of the Weierstrass elliptic function ℘(u ; g , g"},{label:"WeierstrassSigma",type:"keyword",info:"WeierstrassSigma[u, {g , g }] gives the Weierstrass sigma function σ(u ; g , g ). \n "},{label:"WeierstrassZeta",type:"keyword",info:"WeierstrassZeta[u, {g , g }] gives the Weierstrass zeta function Î\\[Paragraph](u ; g , g ). \n "},{label:"WeightedAdjacencyGraph",type:"keyword",info:"WeightedAdjacencyGraph[wmat] gives the graph with weighted adjacency matrix wmat.WeightedAdjacencyGr"},{label:"WeightedAdjacencyMatrix",type:"keyword",info:"WeightedAdjacencyMatrix[g] gives the adjacency matrix of edge weights of the graph g.WeightedAdjacen"},{label:"WeightedData",type:"keyword",info:"WeightedData[{x , x , …}, {w , w , …}] represents observations x with weights w .WeightedData[{x , "},{label:"WeightedGraphQ",type:"keyword",info:"WeightedGraphQ[g] yields True if the graph g is a weighted graph and False otherwise."},{label:"Weights",type:"keyword",info:"Weights is an option for various fitting and other functions which specifies weights to associate wi"},{label:"WelchWindow",type:"keyword",info:"WelchWindow[x] represents a Welch window function of x.WelchWindow[x, Î\\[PlusMinus]] uses the parameter Î\\[PlusMinus].\n"},{label:"WheelGraph",type:"keyword",info:"WheelGraph[n] gives the wheel graph with n vertices W .\n "},{label:"WhenEvent",type:"keyword",info:"WhenEvent[event, action] specifies an action that occurs when the event triggers it for equations in"},{label:"Which",type:"keyword",info:"Which[test , value , test , value , …] evaluates each of the test in turn, returning the value of t"},{label:"While",type:"keyword",info:"While[test, body] evaluates test, then body, repetitively, until test first fails to give True. "},{label:"White",type:"keyword",info:"White represents the color white in graphics or style specifications. "},{label:"WhiteNoiseProcess",type:"keyword",info:"WhiteNoiseProcess[] represents a Gaussian white noise process with mean 0 and standard deviation 1.W"},{label:"WhitePoint",type:"keyword",info:"WhitePoint is an option for ColorConvert, ChromaticityPlot and other functions to specify the white "},{label:"Whitespace",type:"keyword",info:"Whitespace represents a sequence of whitespace characters in StringExpression."},{label:"WhitespaceCharacter",type:"keyword",info:"WhitespaceCharacter represents a single whitespace character in StringExpression."},{label:"WhittakerM",type:"keyword",info:"WhittakerM[k, m, z] gives the Whittaker function M (z). \n "},{label:"WhittakerW",type:"keyword",info:"WhittakerW[k, m, z] gives the Whittaker function W (z). \n "},{label:"WholeCellGroupOpener",type:"keyword",info:"System`WholeCellGroupOpener"},{label:"WienerFilter",type:"keyword",info:"WienerFilter[data, r] removes noise from data by applying a range-r Wiener filter.WienerFilter[data,"},{label:"WienerProcess",type:"keyword",info:"WienerProcess[μ, σ] represents a Wiener process with a drift μ and volatility σ.WienerProcess[] repr"},{label:"WignerD",type:"keyword",info:" j "},{label:"WignerSemicircleDistribution",type:"keyword",info:"WignerSemicircleDistribution[r] represents a Wigner semicircle distribution with radius r centered a"},{label:"WikidataData",type:"keyword",info:"WikidataData[item, property] gives the values of the specified property for the given item.WikidataD"},{label:"WikidataSearch",type:"keyword",info:'WikidataSearch["keywords"] returns a list of Wikidata items whose labels include the given keywords.'},{label:"WikipediaData",type:"keyword",info:"WikipediaData[article] gives the plain text of the specified Wikipedia article.WikipediaData[article"},{label:"WikipediaSearch",type:"keyword",info:"WikipediaSearch[keywords] returns a list of Wikipedia articles whose titles include the given keywor"},{label:"WilksW",type:"keyword",info:"WilksW[m , m ] gives Wilks's  for the matrices m and m .\n 1 2 "},{label:"WilksWTest",type:"keyword",info:'WilksWTest[m , m ] tests whether the matrices m and m are independent.WilksWTest[…, "property"] re'},{label:"WindDirectionData",type:"keyword",info:"WindDirectionData[] gives the most recent measurement for wind direction near the current location.W"},{label:"WindingCount",type:"keyword",info:"WindingCount[contour, p] gives the count of the number of times a closed curve winds around a point "},{label:"WindingPolygon",type:"keyword",info:"WindingPolygon[{p , p , …, p }] gives a polygon representing all points for which the closed contour"},{label:"WindowClickSelect",type:"keyword",info:"WindowClickSelect is a notebook option that specifies whether the window for the notebook should bec"},{label:"WindowElements",type:"keyword",info:"WindowElements is a notebook option that specifies the elements to include in the window used to dis"},{label:"WindowFloating",type:"keyword",info:"WindowFloating is a notebook option that specifies whether the window for the notebook should float "},{label:"WindowFrame",type:"keyword",info:"WindowFrame is a notebook option that specifies the type of frame to draw around the window in which"},{label:"WindowFrameElements",type:"keyword",info:"WindowFrameElements is an option for notebooks that specifies the elements to include in the frame o"},{label:"WindowMargins",type:"keyword",info:"WindowMargins is a notebook option that specifies what margins to leave around the window that is us"},{label:"WindowMovable",type:"keyword",info:"WindowMovable is a notebook option that specifies whether to allow the window for the notebook to be"},{label:"WindowOpacity",type:"keyword",info:"WindowOpacity is a notebook option that determines the overall opacity of a displayed window."},{label:"WindowPersistentStyles",type:"keyword",info:"System`WindowPersistentStyles"},{label:"WindowSelected",type:"keyword",info:"System`WindowSelected"},{label:"WindowSize",type:"keyword",info:"WindowSize is a notebook option that specifies the size of window that should be used to display a n"},{label:"WindowStatusArea",type:"keyword",info:"WindowStatusArea is a notebook option that specifies what should appear in the status area in the fr"},{label:"WindowTitle",type:"keyword",info:"WindowTitle is an option that specifies the title to give for a window. "},{label:"WindowToolbars",type:"keyword",info:"WindowToolbars is a notebook option that specifies the toolbars to include at the top of the window "},{label:"WindowWidth",type:"keyword",info:"System`WindowWidth"},{label:"WindSpeedData",type:"keyword",info:"WindSpeedData[] gives the most recent measurement for wind speed near the current location.WindSpeed"},{label:"WindVectorData",type:"keyword",info:"WindVectorData[] gives the most recent weather station measurement for wind vector near the current "},{label:"WinsorizedMean",type:"keyword",info:"WinsorizedMean[list, f] gives the mean of the elements in list after replacing the fraction f of the"},{label:"WinsorizedVariance",type:"keyword",info:"WinsorizedVariance[list, f] gives the variance of the elements in list after replacing the fraction "},{label:"WishartMatrixDistribution",type:"keyword",info:"WishartMatrixDistribution[ν, Σ] represents a Wishart matrix distribution with ν degrees of freedom a"},{label:"With",type:"keyword",info:"With[{x = x , y = y , …}, expr] specifies that all occurrences of the symbols x, y, … in expr should"},{label:"WithCleanup",type:"keyword",info:"WithCleanup[expr, cleanup] evaluates expr, running cleanup before returning the result, even if an a"},{label:"WithLock",type:"keyword",info:'WithLock[File["path"], expr] locks the file path, evaluates expr, then releases the file.WithLock[Lo'},{label:"WolframAlpha",type:"keyword",info:'WolframAlpha["query"] sends query to Wolfram|Alpha and imports the output.WolframAlpha["query", form'},{label:"WolframAlphaDate",type:"keyword",info:"System`WolframAlphaDate"},{label:"WolframAlphaQuantity",type:"keyword",info:"System`WolframAlphaQuantity"},{label:"WolframAlphaResult",type:"keyword",info:"System`WolframAlphaResult"},{label:"WolframLanguageData",type:"keyword",info:"WolframLanguageData[entity, property] gives the value of the specified property for the Wolfram Lang"},{label:"Word",type:"keyword",info:"Word represents a word in Read, Find, and related functions. "},{label:"WordBoundary",type:"keyword",info:"WordBoundary represents a boundary between words for purposes of matching in StringExpression."},{label:"WordCharacter",type:"keyword",info:"WordCharacter represents a letter or digit character in StringExpression."},{label:"WordCloud",type:"keyword",info:"WordCloud[{s , s , …}] generates a word cloud graphic in which the s are sized according to their m"},{label:"WordCount",type:"keyword",info:'WordCount["string"] gives the total number of words in string.'},{label:"WordCounts",type:"keyword",info:'WordCounts["string"] gives an association whose keys are the distinct words identified in string, an'},{label:"WordData",type:"keyword",info:'WordData["word", "property"] gives the specified property for the English word "word".WordData["word'},{label:"WordDefinition",type:"keyword",info:'WordDefinition["word"] gives the dictionary definitions available for "word".'},{label:"WordFrequency",type:"keyword",info:"WordFrequency[text, word] gives the frequency of word in text.WordFrequency[text, {word , word , …}]"},{label:"WordFrequencyData",type:"keyword",info:"WordFrequencyData[word] gives the frequency of word in typical published English text.WordFrequencyD"},{label:"WordList",type:"keyword",info:"WordList[] gives a list of common words.WordList[type] gives a list of words of the specified type.\n"},{label:"WordOrientation",type:"keyword",info:"WordOrientation is an option for WordCloud that specifies the orientations in which words appear."},{label:"WordSearch",type:"keyword",info:"WordSearch is an option for Find and FindList that specifies whether the text searched for must appe"},{label:"WordSelectionFunction",type:"keyword",info:"WordSelectionFunction is an option for WordCloud and other functions that specifies which words to u"},{label:"WordSeparators",type:"keyword",info:"WordSeparators is an option for Read, Find, and related functions that specifies the list of strings"},{label:"WordSpacings",type:"keyword",info:"WordSpacings is an option for WordCloud that specifies the empty space to be added around each word."},{label:"WordStem",type:"keyword",info:'WordStem["word"] gives a stemmed form of word, removing plurals, inflections, etc.'},{label:"WordTranslation",type:"keyword",info:'WordTranslation["word", lang] gives translations for word into the language lang.WordTranslation["wo'},{label:"WorkingPrecision",type:"keyword",info:"WorkingPrecision is an option for various numerical operations that specifies how many digits of pre"},{label:"WrapAround",type:"keyword",info:"WrapAround is an option for NotebookFind that specifies whether the find operation should continue p"},{label:"Write",type:"keyword",info:"Write[channel, expr , expr , …] writes the expressions expr in sequence, followed by a newline, to "},{label:"WriteLine",type:"keyword",info:'WriteLine[stream, "string"] writes "string", followed by a newline, to the specified output stream.\n'},{label:"WriteString",type:"keyword",info:'WriteString["file", "string"] writes "string" to a file.WriteString[channel, "string"] writes "strin'},{label:"Wronskian",type:"keyword",info:"Wronskian[{y , y , …}, x] gives the Wronskian determinant for the functions y , y , … depending on x"},{label:"XMLElement",type:"keyword",info:"XMLElement[tag, {attr  val , …}, {data , …}] represents an element in symbolic XML.\n "},{label:"XMLObject",type:"keyword",info:'XMLObject["type"] represents the head of an XML object in symbolic XML.'},{label:"XMLTemplate",type:"keyword",info:'XMLTemplate["string"] yields a TemplateObject that represents an XML template to be applied using fu'},{label:"Xnor",type:"keyword",info:"Xnor[e , e , …] is the logical XNOR (not XOR) function. It gives True if an even number of the e ar"},{label:"Xor",type:"keyword",info:"Xor[e , e , …] is the logical XOR (exclusive OR) function. It gives True if an odd number of the e "},{label:"XYZColor",type:"keyword",info:"XYZColor[x, y, z] represents a color in the XYZ color space with tristimulus values x, y and z.XYZCo"},{label:"Yellow",type:"keyword",info:"Yellow represents the color yellow in graphics or style specifications. "},{label:"Yesterday",type:"keyword",info:"Yesterday gives a DateObject representing the previous day."},{label:"YuleDissimilarity",type:"keyword",info:"YuleDissimilarity[u, v] gives the Yule dissimilarity between Boolean vectors u and v."},{label:"ZernikeR",type:"keyword",info:" m\nZernikeR[n, m, r] gives the radial Zernike "},{label:"ZeroSymmetric",type:"keyword",info:"ZeroSymmetric[{s , …, s }] represents the symmetry of a zero tensor in the slots s .\n "},{label:"ZeroTest",type:"keyword",info:"ZeroTest is an option to various linear algebra functions that gives a function to use in testing wh"},{label:"ZeroWidthTimes",type:"keyword",info:"ZeroWidthTimes is an option for selections that specifies whether blank spaces representing multipli"},{label:"Zeta",type:"keyword",info:"Zeta[s] gives the Riemann zeta function Î\\[Paragraph](s). Zeta[s, a] gives the generalized Riemann zeta function"},{label:"ZetaZero",type:"keyword",info:" th "},{label:"ZIPCodeData",type:"keyword",info:"ZIPCodeData[entity, property] gives the value of the specified property for the ZIP code entity.ZIPC"},{label:"ZipfDistribution",type:"keyword",info:"ZipfDistribution[ρ] represents a zeta distribution with parameter ρ.ZipfDistribution[n, ρ] represent"},{label:"ZoomCenter",type:"keyword",info:"ZoomCenter is an option for DynamicImage that specifies the position of a zoom window within an imag"},{label:"ZoomFactor",type:"keyword",info:"ZoomFactor is an option for DynamicImage that specifies the magnification factor of a zoom. "},{label:"ZTest",type:"keyword",info:" "},{label:"ZTransform",type:"keyword",info:"ZTransform[expr, n, z] gives the Z transform of expr. ZTransform[expr, {n , n , …}, {z , z , …}] giv"},{label:"ECcaEC",type:"text",apply:"\\[CapitalAlpha]",detail:"CapitalAlpha"},{label:"ECcbEC",type:"text",apply:"\\[CapitalBeta]",detail:"CapitalBeta"},{label:"ECcgEC",type:"text",apply:"\\[CapitalGamma]",detail:"CapitalGamma"},{label:"ECcdEC",type:"text",apply:"\\[CapitalDelta]",detail:"CapitalDelta"},{label:"ECceEC",type:"text",apply:"\\[CapitalEpsilon]",detail:"CapitalEpsilon"},{label:"ECczEC",type:"text",apply:"\\[CapitalZeta]",detail:"CapitalZeta"},{label:"ECceEC",type:"text",apply:"\\[CapitalEta]",detail:"CapitalEta"},{label:"ECctEC",type:"text",apply:"\\[CapitalTheta]",detail:"CapitalTheta"},{label:"ECciEC",type:"text",apply:"\\[CapitalIota]",detail:"CapitalIota"},{label:"ECckEC",type:"text",apply:"\\[CapitalKappa]",detail:"CapitalKappa"},{label:"ECclEC",type:"text",apply:"\\[CapitalLambda]",detail:"CapitalLambda"},{label:"ECcmEC",type:"text",apply:"\\[CapitalMu]",detail:"CapitalMu"},{label:"ECcnEC",type:"text",apply:"\\[CapitalNu]",detail:"CapitalNu"},{label:"ECcxEC",type:"text",apply:"\\[CapitalXi]",detail:"CapitalXi"},{label:"ECcoEC",type:"text",apply:"\\[CapitalOmicron]",detail:"CapitalOmicron"},{label:"ECcpEC",type:"text",apply:"\\[CapitalPi]",detail:"CapitalPi"},{label:"ECcrEC",type:"text",apply:"\\[CapitalRho]",detail:"CapitalRho"},{label:"ECcsEC",type:"text",apply:"\\[CapitalSigma]",detail:"CapitalSigma"},{label:"ECctEC",type:"text",apply:"\\[CapitalTau]",detail:"CapitalTau"},{label:"ECcuEC",type:"text",apply:"\\[CapitalUpsilon]",detail:"CapitalUpsilon"},{label:"ECcpEC",type:"text",apply:"\\[CapitalPhi]",detail:"CapitalPhi"},{label:"ECccEC",type:"text",apply:"\\[CapitalChi]",detail:"CapitalChi"},{label:"ECcpEC",type:"text",apply:"\\[CapitalPsi]",detail:"CapitalPsi"},{label:"ECcoEC",type:"text",apply:"\\[CapitalOmega]",detail:"CapitalOmega"},{label:"ECalEC",type:"text",apply:"\\[Alpha]",detail:"Alpha"},{label:"ECbeEC",type:"text",apply:"\\[Beta]",detail:"Beta"},{label:"ECgaEC",type:"text",apply:"\\[Gamma]",detail:"Gamma"},{label:"ECdeEC",type:"text",apply:"\\[Delta]",detail:"Delta"},{label:"ECceEC",type:"text",apply:"\\[CurlyEpsilon]",detail:"CurlyEpsilon"},{label:"ECzeEC",type:"text",apply:"\\[Zeta]",detail:"Zeta"},{label:"ECetEC",type:"text",apply:"\\[Eta]",detail:"Eta"},{label:"ECthEC",type:"text",apply:"\\[Theta]",detail:"Theta"},{label:"ECioEC",type:"text",apply:"\\[Iota]",detail:"Iota"},{label:"ECkaEC",type:"text",apply:"\\[Kappa]",detail:"Kappa"},{label:"EClaEC",type:"text",apply:"\\[Lambda]",detail:"Lambda"},{label:"ECmuEC",type:"text",apply:"\\[Mu]",detail:"Mu"},{label:"ECnuEC",type:"text",apply:"\\[Nu]",detail:"Nu"},{label:"ECxiEC",type:"text",apply:"\\[Xi]",detail:"Xi"},{label:"EComEC",type:"text",apply:"\\[Omicron]",detail:"Omicron"},{label:"ECpiEC",type:"text",apply:"\\[Pi]",detail:"Pi"},{label:"ECrhEC",type:"text",apply:"\\[Rho]",detail:"Rho"},{label:"ECfiEC",type:"text",apply:"\\[FinalSigma]",detail:"FinalSigma"},{label:"ECsiEC",type:"text",apply:"\\[Sigma]",detail:"Sigma"},{label:"ECtaEC",type:"text",apply:"\\[Tau]",detail:"Tau"},{label:"ECupEC",type:"text",apply:"\\[Upsilon]",detail:"Upsilon"},{label:"ECcpEC",type:"text",apply:"\\[CurlyPhi]",detail:"CurlyPhi"},{label:"ECchEC",type:"text",apply:"\\[Chi]",detail:"Chi"},{label:"ECpsEC",type:"text",apply:"\\[Psi]",detail:"Psi"},{label:"EComEC",type:"text",apply:"\\[Omega]",detail:"Omega"},{label:"ECctEC",type:"text",apply:"\\[CurlyTheta]",detail:"CurlyTheta"},{label:"ECccEC",type:"text",apply:"\\[CurlyCapitalUpsilon]",detail:"CurlyCapitalUpsilon"},{label:"ECphEC",type:"text",apply:"\\[Phi]",detail:"Phi"},{label:"ECcpEC",type:"text",apply:"\\[CurlyPi]",detail:"CurlyPi"},{label:"ECcsEC",type:"text",apply:"\\[CapitalStigma]",detail:"CapitalStigma"},{label:"ECstEC",type:"text",apply:"\\[Stigma]",detail:"Stigma"},{label:"ECcdEC",type:"text",apply:"\\[CapitalDigamma]",detail:"CapitalDigamma"},{label:"ECdiEC",type:"text",apply:"\\[Digamma]",detail:"Digamma"},{label:"ECckEC",type:"text",apply:"\\[CapitalKoppa]",detail:"CapitalKoppa"},{label:"ECkoEC",type:"text",apply:"\\[Koppa]",detail:"Koppa"},{label:"ECcsEC",type:"text",apply:"\\[CapitalSampi]",detail:"CapitalSampi"},{label:"ECsaEC",type:"text",apply:"\\[Sampi]",detail:"Sampi"},{label:"ECckEC",type:"text",apply:"\\[CurlyKappa]",detail:"CurlyKappa"},{label:"ECcrEC",type:"text",apply:"\\[CurlyRho]",detail:"CurlyRho"},{label:"ECepEC",type:"text",apply:"\\[Epsilon]",detail:"Epsilon"}];function nk(){return function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=t.changeByRange(function(e){var t=e.from;return{changes:{from:t,to:e.to,insert:"EC"},range:me.cursor(t+2)}});return i(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function rk(e,t){var i=e.matchBefore(/\w*/);return i.from!==i.to||e.explicit?{from:i.from,options:t}:null}var ak="[a-zA-Z\\$][a-zA-Z0-9\\$]*",sk="(?:\\d+)",lk="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",pk="(?:\\.\\w+|\\w+\\.\\w*|\\w+)",ck="(?:`(?:`?"+lk+")?)",dk=new RegExp("(?:"+sk+"(?:\\^\\^"+pk+ck+"?(?:\\*\\^[+-]?\\d+)?))"),fk=new RegExp("(?:"+lk+ck+"?(?:\\*\\^[+-]?\\d+)?)"),hk=new RegExp("(?:`?)(?:"+ak+")(?:`(?:"+ak+"))*(?:`?)"),uk=ok.map(function(e){return e.label}),yk=["True","False","All","None","Null","Full","$Failed","$Aborted"];function mk(e,t){var i;return'"'===(i=e.next())?(t.tokenize=gk,t.tokenize(e,t)):"("===i&&e.eat("*")?(t.commentLevel++,t.tokenize=bk,t.tokenize(e,t)):(e.backUp(1),e.match(dk,!0,!1)?"number":e.match(fk,!0,!1)?"number":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string.special":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)?"variableName.special":e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variableName.special":e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)?"variableName.special":e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variableName.special":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"character":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variableName.constant":e.match(hk,!0,!1)?yk.indexOf(e.current())>-1?"number":uk.indexOf(e.current())>-1?"keyword":e.current()in t.localVars?"atom":(t.localVars[e.current()]=!0,"function"):e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function gk(e,t){for(var i,o=!1,n=!1;null!=(i=e.next());){if('"'===i&&!n){o=!0;break}n=!n&&"\\"===i}return o&&!n&&(t.tokenize=mk),"string"}function bk(e,t){for(var i,o;t.commentLevel>0&&null!=(o=e.next());)"("===i&&"*"===o&&t.commentLevel++,"*"===i&&")"===o&&t.commentLevel--,i=o;return t.commentLevel<=0&&(t.tokenize=mk),"comment"}var vk,wk={name:"mathematica",extendVariables:function(e){},startState:function(){return{tokenize:mk,commentLevel:0,localVars:{}}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(*",close:"*)"}}}};(vk=[Xc.define(wk),py({override:[function(){var e=l(a().mark(function e(t){return a().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",rk(t,ok));case 1:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()]}),ka.of([{key:"Escape",run:nk()}])]).of=function(e){return[Xc.define(wk),py({override:[function(){var t=l(a().mark(function t(i){return a().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",rk(i,e));case 1:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()]}),ka.of([{key:"Escape",run:nk()}])]},vk.reBuild=function(e){uk=e.map(function(e){return e.label})};var kk=function(e,t,i,o){if(0!=e.length){var n=(new Date).valueOf();o.transaction(t,i,n,e.length);var r,a=b(e);try{for(a.s();!(r=a.n()).done;){Ok(r.value,function(e,r){o.file(t,i,n,e,r)})}}catch(US){a.e(US)}finally{a.f()}}};function Ok(e,t){var i=new FileReader;i.addEventListener("load",function(i){var o=base64ArrayBuffer(i.target.result);t(e.name,o)}),i.addEventListener("progress",function(e){if(e.loaded&&e.total){var t=e.loaded/e.total*100;console.log(t)}}),i.readAsArrayBuffer(e)}var xk=function(e,t){return fa.domEventHandlers({drop:function(t,i){t.preventDefault();var o=[];t.dataTransfer.items?c(t.dataTransfer.items).forEach(function(e,t){if("file"===e.kind){var i=e.getAsFile();console.log("… file[".concat(t,"].name = ").concat(i.name)),o.push(i)}}):c(t.dataTransfer.files).forEach(function(e,t){console.log("… file[".concat(t,"].name = ").concat(e.name)),o.push(e)}),kk(o,t,i,e)},paste:function(e,i){var o,n=e.clipboardData||window.clipboardData,r=b(n.items);try{for(r.s();!(o=r.n()).done;){var a=o.value;if("string"===a.kind)switch(a.type){case"text/plain":break;case"image/png":e.preventDefault(),kk([a.getAsFile()],e,i,t)}else e.preventDefault(),kk([a.getAsFile()],e,i,t)}}catch(US){r.e(US)}finally{r.f()}}})},Sk=new Ka({regexp:/\\\[(\w+)\]/g,decoration:function(e){return eo.replace({widget:new Pk(e[1])})}}),Ck=To.fromClass(function(){function e(t){R(this,e),this.Greekholder=Sk.createDeco(t)}return E(e,[{key:"update",value:function(e){this.Greekholder=Sk.updateDeco(e,this.Greekholder)}}]),e}(),{decorations:function(e){return e.Greekholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.Greekholder)||eo.none})}}),Pk=function(e){x(i,Ki);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).name=e,o}return E(i,[{key:"eq",value:function(e){return this.name===e.name}},{key:"toDOM",value:function(){var e=document.createElement("span");return e.innerHTML="&"+this.name.toLowerCase().replace("sqrt","radic").replace("undirectededge","harr").replace("directededge","rarr").replace("curlyepsilon","epsilon").replace("curlytheta","theta").replace("transpose","#7488").replace("degree","deg")+";",e}},{key:"ignoreEvent",value:function(){return!1}}]),i}(),Dk=new Ka({regexp:/(->|<-)/g,decoration:function(e){return eo.replace({widget:new Tk(e[1])})}});To.fromClass(function(){function e(t){R(this,e),this.Arrowholder=Dk.createDeco(t)}return E(e,[{key:"update",value:function(e){this.Arrowholder=Dk.updateDeco(e,this.Arrowholder)}}]),e}(),{decorations:function(e){return e.Arrowholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.Arrowholder)||eo.none})}});var Tk=function(e){x(i,Ki);var t=C(i);function i(e){var o;return R(this,i),(o=t.call(this)).dir=e,o}return E(i,[{key:"eq",value:function(e){return this.dir===e.dir}},{key:"toDOM",value:function(){var e=document.createElement("span");return"->"===this.dir?e.innerText="→":e.innerText="←",e}},{key:"ignoreEvent",value:function(){return!1}}]),i}();function Qk(e){if(!(e=e||{}).open)throw new Error('Balanced: please provide a "open" property');if(!e.close)throw new Error('Balanced: please provide a "close" property');if(this.balance=e.balance||!1,this.exceptions=e.exceptions||!1,this.caseInsensitive=e.caseInsensitive,this.head=e.head||e.open,this.head=Array.isArray(this.head)?this.head:[this.head],this.open=Array.isArray(e.open)?e.open:[e.open],this.close=Array.isArray(e.close)?e.close:[e.close],!Array.isArray(this.head)||!Array.isArray(this.open)||!Array.isArray(this.close)||this.head.length!==this.open.length||this.open.length!==this.close.length)throw new Error('Balanced: if you use arrays for a "head,open,close" you must use matching arrays for all options');var t=Lk(this.head.map(this.regExpFromArrayGroupedMap,this)),i=Lk(this.open.map(this.regExpFromArrayGroupedMap,this)),o=Lk(this.close.map(this.regExpFromArrayGroupedMap,this));this.regExp=Lk([t,i,o],"g"+(this.caseInsensitive?"i":"")),this.regExpGroupLength=this.head.length}function Ak(e,t,i){for(var o=Mk(t.substr(0,i+1),/^.*\n?$/gim),n=Mk(t,/^.*\n?$/gim),r=o.length-1,a=i+1-(o.length?o[o.length-1].index:0),s="",l=2;l>=0;l--)r-l>=0&&n[r-l]&&(s+=t.substr(n[r-l].index,n[r-l].length)+"\n");for(l=0;l=0&&n[r+l]&&(s+=t.substr(n[r+l].index,n[r+l].length)+"\n");s=s.replace(/\t/g," ").replace(/\n$/,"");var p=new Error(e+" at "+(r+1)+":"+a+"\n\n"+s);return p.line=r+1,p.column=a,p.index=i,p}function Rk(e,t){return e>=t.index&&e<=t.index+t.length-1}function Mk(e,t){var i,o=new RegExp(t),n=[];if(e)for(;i=o.exec(e);)n.push({index:i.index,length:i[0].length,match:i[0]}),i[0].length||o.lastIndex++;return n}function Ek(e,t,i){for(var o=0,n=0;n=s?o[o.length-1].to=l:o.push({from:s,to:l})}return o}var _k,Xk=function(){function e(e){var t=e.tag,i=e.decoration,o=e.decorate,n=e.boundary,r=e.maxLength,a=void 0===r?1e3:r;if(this.tag=t,o)this.addMatch=function(e,t,i,n){return o(n,i,i+e.length,e,t)};else if("function"==typeof i)this.addMatch=function(e,t,o,n){var r=i(e,t,o);r&&n(o,o+e.length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=function(e,t,o,n){return n(o,o+e.length,i)}}this.boundary=n,this.maxLength=a}return e.prototype.createDeco=function(e){for(var t=this,i=new mt,o=i.add.bind(i),n=0,r=jk(e,this.maxLength);ne.view.viewport.from&&r1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),i,o):t},e.prototype.updateRange=function(e,t,i,o){for(var n=this,r=function(r){var s=Math.max(r.from,i),l=Math.min(r.to,o);if(l>s){var p=e.state.doc.lineAt(s),c=p.top.from;s--)if(a.boundary.test(p.text[s-1-p.from])){d=s;break}for(;lf},add:h})}},a=this,s=0,l=e.visibleRanges;s0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{var o=this.DOMElement.EditorWidget.bottomEditor;o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus()}return t}},{key:"toDOM",value:function(e){console.log("Create a new one!");var t=document.createElement("span");t.classList.add("fraction");var i=document.createElement("table");i.classList.add("container"),t.appendChild(i);var o=document.createElement("tbody");i.appendChild(o);var n=document.createElement("tr"),r=document.createElement("tr");o.appendChild(n),o.appendChild(r);var a=document.createElement("td");a.classList.add("enumenator"),n.appendChild(a);var s=document.createElement("td");r.appendChild(s);var l=this;return t.EditorWidget=new Yk(this.visibleValue,e,a,s,[],this),this.DOMElement=t,this.reference.push({destroy:function(){l.destroy(t)}}),t}},{key:"ignoreEvent",value:function(){return!0}},{key:"destroy",value:function(e){e.EditorWidget.destroy()}}]),i}(),Jk=function(e,t,i){return new Xk({tag:"FB",decoration:function(o){return eo.replace({widget:new Kk(o,e,t,i)})}})},eO=function(e){return To.fromClass(function(){function t(i){R(this,t),this.disposable=[],this.placeholder=Jk(this.disposable,i,this).createDeco(i),e.placeholder=this}return E(t,[{key:"update",value:function(e){this.placeholder=Jk(this.disposable,e,this).updateDeco(e,this.placeholder)}},{key:"destroy",value:function(){this.disposable.forEach(function(e){e.destroy()})}}]),t}(),{decorations:function(e){return e.placeholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||eo.none})}})};function tO(e){return Hk=e,[sO,ka.of([{key:"Ctrl-2",run:iO()}])]}function iO(){return function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=t.changeByRange(function(e){var i=e.from,o=e.to,n=t.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*SqB[*)Sqrt[_](*]SqB*)"},range:me.cursor(i)}:{changes:{from:i,to:o,insert:"(*SqB[*)Sqrt["+n+"](*]SqB*)"},range:me.cursor(i)}});return i(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}var oO,nO=function(){function e(t,i,o,n,r){var a;R(this,e),this.view=i,this.visibleValue=t;var s=this;this.sliceRanges=n,this.length=t.str.length,console.log("creating InstanceWidget"),this.editor=Hk({doc:(a=t.str).slice.apply(a,c(n)),parent:o,update:function(e){return s.applyChanges(e)},eval:function(){i.viewState.state.config.eval()},extensions:[ka.of([{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:s.visibleValue.pos+s.visibleValue.length}}),i.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:s.visibleValue.pos}}),i.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}}])]})}return E(e,[{key:"applyChanges",value:function(e){var t=e,i={from:this.visibleValue.argsPos+5,to:this.visibleValue.argsPos+this.length-1,insert:t};console.log(this.visibleValue);var o=t.length+6-this.length;this.length=this.length+o,this.visibleValue.length=this.visibleValue.length+o,this.visibleValue.str="Sqrt["+t+"]",this.view.dispatch({changes:i})}},{key:"update",value:function(e){if(this.visibleValue.str==e.str)this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos;else{var t;console.warn("Out of sync"),this.visibleValue=e;var i=this.sliceRanges,o=this.editor,n=this,r=this.view;this.length=e.str.length;var a=Hk.state({doc:(t=e.str).slice.apply(t,c(i)),update:function(e){return n.applyChanges(e)},eval:function(){r.viewState.state.config.eval()},extensions:[ka.of([{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return r.dispatch({selection:{anchor:n.visibleValue.pos+n.visibleValue.length}}),r.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return r.dispatch({selection:{anchor:n.visibleValue.pos}}),r.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}}])]});o.setState(a)}}},{key:"destroy",value:function(){console.warn("destroy Instance of Widget!"),this.editor.destroy()}}]),e}(),rO=function(e){x(i,Ki);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this)).view=n,r.visibleValue=e,r.reference=o,r}return E(i,[{key:"eq",value:function(e){return!1}},{key:"updateDOM",value:function(e,t){return this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}},{key:"toDOM",value:function(e){console.log("Create a new one!");var t=document.createElement("span");t.classList.add("sqroot");var i=this,o=document.createElement("span");return o.classList.add("radicand"),t.EditorWidget=new nO(this.visibleValue,e,o,[5,-1],[]),t.appendChild(o),this.reference.push({destroy:function(){i.destroy(t)}}),this.DOMElement=t,t}},{key:"skipPosition",value:function(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.editor.focus();else{var o=this.DOMElement.EditorWidget.editor;o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus()}return t}},{key:"ignoreEvent",value:function(){return!0}},{key:"destroy",value:function(e){e.EditorWidget.destroy()}}]),i}(),aO=function(e,t){return new Xk({tag:"SqB",decoration:function(i){return eo.replace({widget:new rO(i,e,t)})}})},sO=To.fromClass(function(){function e(t){R(this,e),this.disposable=[],this.placeholder=aO(this.disposable,t).createDeco(t)}return E(e,[{key:"update",value:function(e){this.placeholder=aO(this.disposable,e).updateDeco(e,this.placeholder)}},{key:"destroy",value:function(){this.disposable.forEach(function(e){e.destroy()})}}]),e}(),{decorations:function(e){return e.placeholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||eo.none})}});function lO(e){return oO=e,[uO,ka.of([{key:"Ctrl--",run:pO()}])]}function pO(){return function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=t.changeByRange(function(e){var i=e.from,o=e.to,n=t.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*SbB[*)Subscript[_(*|*),(*|*)_](*]SbB*)"},range:me.cursor(i)}:{changes:{from:i,to:o,insert:"(*SbB[*)Subscript["+n+"(*|*),(*|*)_](*]SbB*)"},range:me.cursor(i)}});return i(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}var cO,dO=function(){function e(t,i,o,n,r){var a=this;R(this,e),this.view=i,this.visibleValue=t;var s,l,p=this;this.args=Nk(t.str,/\(\*\|\*\)/gm),console.log("creating InstanceWidget"),console.log(p.visibleValue),s=oO({doc:p.args[0].body.slice(10),parent:o,update:function(e){return a.applyChanges(e,0)},extensions:[ka.of([{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:p.visibleValue.pos}}),i.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return l.dispatch({selection:{anchor:0}}),l.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){l.focus()}}])]}),l=oO({doc:p.args[2].body.slice(0,-1),parent:n,update:function(e){return a.applyChanges(e,2)},extensions:[ka.of([{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:p.visibleValue.pos+p.visibleValue.length}}),i.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:s.state.doc.length}}),s.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){s.focus()}}])]}),this.topEditor=s,this.bottomEditor=l,p.args[0].length=p.args[0].body.length,p.args[2].length=p.args[2].body.length,delete p.args[2].body,delete p.args[1].body,delete p.args[0].body}return E(e,[{key:"applyChanges",value:function(e,t){var i=this.args,o=this.visibleValue.argsPos;if(0==t){var n="Subscript["+e,r={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:n};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(n,this.visibleValue.str.substring(i[0].from+i[0].length)),i[0].to=i[0].to+(n.length-i[0].length),i[2].from=i[2].from+(n.length-i[0].length);var a=n.length-i[0].length;i[0].length=n.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:r})}else{var s=e+"]",l={from:o+i[2].from,to:o+i[2].from+i[2].length,insert:s};this.visibleValue.str=this.visibleValue.str.substring(0,i[2].from).concat(s,this.visibleValue.str.substring(i[2].from+i[2].length)),i[2].to=i[2].to+(s.length-i[2].length);var p=s.length-i[2].length;i[2].length=s.length,this.visibleValue.length=this.visibleValue.length+p,this.view.dispatch({changes:l})}}},{key:"update",value:function(e){if(this.visibleValue.str!=e.str){console.warn("Out of sync");var t,i,o=this,n=this.view;return this.visibleValue=e,this.args=Nk(e.str,/\(\*\|\*\)/gm),console.log("recreating InstanceWidget"),console.log(o.visibleValue),t=oO.state({doc:o.args[0].body.slice(10),update:function(e){return o.applyChanges(e,0)},extensions:[ka.of([{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return n.dispatch({selection:{anchor:o.visibleValue.pos}}),n.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return o.bottomEditor.dispatch({selection:{anchor:0}}),o.bottomEditor.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){o.bottomEditor.focus()}}])]}),i=oO.state({doc:o.args[2].body.slice(0,-1),update:function(e){return o.applyChanges(e,2)},extensions:[ka.of([{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return n.dispatch({selection:{anchor:o.visibleValue.pos+o.visibleValue.length}}),n.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return o.topEditor.dispatch({selection:{anchor:o.topEditor.state.doc.length}}),o.topEditor.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){o.topEditor.focus()}}])]}),this.topEditor.setState(t),this.bottomEditor.setState(i),o.args[0].length=o.args[0].body.length,void(o.args[2].length=o.args[2].body.length)}this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}},{key:"destroy",value:function(){console.warn("destroy Instance of Widget!"),this.topEditor.destroy(),this.bottomEditor.destroy()}}]),e}(),fO=function(e){x(i,Ki);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this)).view=n,r.visibleValue=e,r.reference=o,r}return E(i,[{key:"eq",value:function(e){return!1}},{key:"skipPosition",value:function(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{var o=this.DOMElement.EditorWidget.bottomEditor;o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus()}return t}},{key:"updateDOM",value:function(e,t){return console.log("update widget DOM"),this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}},{key:"toDOM",value:function(e){console.log("Create a new one!");var t=document.createElement("span"),i=document.createElement("span");i.classList.add("subscript-tail");var o=document.createElement("sub");o.classList.add("subscript-tail"),t.appendChild(i),t.appendChild(o),t.EditorWidget=new dO(this.visibleValue,e,i,o,[]);var n=this;return this.reference.push({destroy:function(){n.destroy(t)}}),this.DOMElement=t,t}},{key:"ignoreEvent",value:function(){return!0}},{key:"destroy",value:function(e){e.EditorWidget.destroy()}}]),i}(),hO=function(e,t){return new Xk({tag:"SbB",decoration:function(i){return eo.replace({widget:new fO(i,e,t)})}})},uO=To.fromClass(function(){function e(t){R(this,e),this.disposable=[],this.placeholder=hO(this.disposable,t).createDeco(t)}return E(e,[{key:"update",value:function(e){this.placeholder=hO(this.disposable,e).updateDeco(e,this.placeholder)}},{key:"destroy",value:function(){this.disposable.forEach(function(e){e.destroy()})}}]),e}(),{decorations:function(e){return e.placeholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||eo.none})}});function yO(e){return cO=e,[kO,ka.of([{key:"Ctrl-6",run:mO()}])]}function mO(){return function(e){var t=e.state,i=e.dispatch;if(t.readOnly)return!1;var o=t.changeByRange(function(e){var i=e.from,o=e.to,n=t.sliceDoc(i,o);return 0===n.length?{changes:{from:i,to:o,insert:"(*SpB[*)Power[_(*|*),(*|*)_](*]SpB*)"},range:me.cursor(i)}:{changes:{from:i,to:o,insert:"(*SpB[*)Power["+n+"(*|*),(*|*)_](*]SpB*)"},range:me.cursor(i)}});return i(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}var gO,bO=function(){function e(t,i,o,n,r){var a=this;R(this,e),this.view=i,this.visibleValue=t;var s,l,p=this;this.args=Nk(t.str,/\(\*\|\*\)/gm),console.log("creating InstanceWidget"),s=cO({doc:p.args[0].body.slice(6),parent:o,update:function(e){return a.applyChanges(e,0)},extensions:[ka.of([{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:p.visibleValue.pos}}),i.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return l.dispatch({selection:{anchor:0}}),l.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){l.focus()}}])]}),l=cO({doc:p.args[2].body.slice(0,-1),parent:n,update:function(e){return a.applyChanges(e,2)},extensions:[ka.of([{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i.dispatch({selection:{anchor:p.visibleValue.pos+p.visibleValue.length}}),i.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return s.dispatch({selection:{anchor:s.state.doc.length}}),s.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){s.focus()}}])]}),this.topEditor=s,this.bottomEditor=l,p.args[0].length=p.args[0].body.length,p.args[2].length=p.args[2].body.length,delete p.args[2].body,delete p.args[1].body,delete p.args[0].body}return E(e,[{key:"applyChanges",value:function(e,t){var i=this.args,o=this.visibleValue.argsPos;if(0==t){var n="Power["+e,r={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:n};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(n,this.visibleValue.str.substring(i[0].from+i[0].length)),i[0].to=i[0].to+(n.length-i[0].length),i[2].from=i[2].from+(n.length-i[0].length);var a=n.length-i[0].length;i[0].length=n.length,this.visibleValue.length=this.visibleValue.length+a,this.view.dispatch({changes:r})}else{var s=e+"]",l={from:o+i[2].from,to:o+i[2].from+i[2].length,insert:s};this.visibleValue.str=this.visibleValue.str.substring(0,i[2].from).concat(s,this.visibleValue.str.substring(i[2].from+i[2].length)),i[2].to=i[2].to+(s.length-i[2].length);var p=s.length-i[2].length;i[2].length=s.length,this.visibleValue.length=this.visibleValue.length+p,this.view.dispatch({changes:l})}}},{key:"update",value:function(e){if(this.visibleValue.str!=e.str){console.warn("Out of sync");var t,i,o=this,n=this.view;return this.visibleValue=e,this.args=Nk(e.str,/\(\*\|\*\)/gm),console.log("recreating InstanceWidget"),t=cO.state({doc:o.args[0].body.slice(6),update:function(e){return o.applyChanges(e,0)},extensions:[ka.of([{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return n.dispatch({selection:{anchor:o.visibleValue.pos}}),n.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return o.bottomEditor.dispatch({selection:{anchor:0}}),o.bottomEditor.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(e,t){o.bottomEditor.focus()}}])]}),i=cO.state({doc:o.args[2].body.slice(0,-1),update:function(e){return o.applyChanges(e,2)},extensions:[ka.of([{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return n.dispatch({selection:{anchor:o.visibleValue.pos+o.visibleValue.length}}),n.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return o.topEditor.dispatch({selection:{anchor:o.topEditor.state.doc.length}}),o.topEditor.focus(),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(e,t){o.topEditor.focus()}}])]}),this.topEditor.setState(t),this.bottomEditor.setState(i),o.args[0].length=o.args[0].body.length,void(o.args[2].length=o.args[2].body.length)}this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}},{key:"destroy",value:function(){console.warn("destroy Instance of Widget!"),this.topEditor.destroy(),this.bottomEditor.destroy()}}]),e}(),vO=function(e){x(i,Ki);var t=C(i);function i(e,o,n){var r;return R(this,i),(r=t.call(this)).view=n,r.visibleValue=e,r.reference=o,r}return E(i,[{key:"eq",value:function(e){return!1}},{key:"updateDOM",value:function(e,t){return console.log("update widget DOM"),this.DOMElement=e,e.EditorWidget.update(this.visibleValue),!0}},{key:"toDOM",value:function(e){console.log("Create a new one!");var t=document.createElement("span"),i=document.createElement("span");i.classList.add("subscript-tail");var o=document.createElement("sup");o.classList.add("subscript-tail"),t.appendChild(i),t.appendChild(o),t.EditorWidget=new bO(this.visibleValue,e,i,o,[]);var n=this;return this.reference.push({destroy:function(){n.destroy(t)}}),this.DOMElement=t,t}},{key:"ignoreEvent",value:function(){return!0}},{key:"skipPosition",value:function(e,t,i){if(t.from!=t.to||i)return e;if(e.from-t.from>0)this.DOMElement.EditorWidget.topEditor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.topEditor.focus();else{var o=this.DOMElement.EditorWidget.bottomEditor;o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus()}return t}},{key:"destroy",value:function(e){e.EditorWidget.destroy()}}]),i}(),wO=function(e,t){return new Xk({tag:"SpB",decoration:function(i){return eo.replace({widget:new vO(i,e,t)})}})},kO=To.fromClass(function(){function e(t){R(this,e),this.disposable=[],this.placeholder=wO(this.disposable,t).createDeco(t)}return E(e,[{key:"update",value:function(e){this.placeholder=wO(this.disposable,e).updateDeco(e,this.placeholder)}},{key:"destroy",value:function(){this.disposable.forEach(function(e){e.destroy()})}}]),e}(),{decorations:function(e){return e.placeholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||eo.none})}});function OO(e){return gO=e,[PO]}var xO=function(){function e(t,i,o,n){var a=this;R(this,e),this.view=i,this.visibleValue=t;var s=this;this.tbody=o,this.args=Nk(t.str,/\(\*\|\|\*\)/gm).map(function(e,t){return t%2!=0?e:r(r({},e),{},{body:Nk(e.body,/\(\*\|\*\)/gm)})});var l=this.args;console.log("creating InstanceWidget");for(var p=function(e){for(var t=document.createElement("tr"),n=a.args[e].body,r=function(o){var r=document.createElement("td"),p=n[o].body;0==o&&0==e&&(p=p.slice(2)),0==o&&0!=e&&(p=p.slice(1)),o==n.length-1&&e==a.args.length-1&&(p=p.slice(0,-2)),o==n.length-1&&e!=a.args.length-1&&(p=p.slice(0,-1)),n[o].editor=gO({doc:p,parent:r,eval:function(){i.viewState.state.config.eval()},update:function(t){return a.applyChanges(t,e,o)},extensions:[ka.of([{key:"ArrowLeft",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return o-2>=0?(n[o-2].editor.dispatch({selection:{anchor:n[o-2].editor.state.doc.length}}),n[o-2].editor.focus(),void(e.editorLastCursor=void 0)):(i.dispatch({selection:{anchor:s.visibleValue.pos}}),i.focus(),void(e.editorLastCursor=void 0));e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return o+2=0)return l[e-2].body[o].editor.focus(),void(t.editorLastCursor=void 0)}},{key:"ArrowDown",run:function(t,i){if(e+20)this.DOMElement.EditorWidget.args[0].body[0].editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.args[0].body[0].editor.focus();else{var o=this.DOMElement.EditorWidget.args,n=o[o.length-1].body[o[o.length-1].body.length-1].editor;n.dispatch({selection:{anchor:n.state.doc.length}}),n.focus()}return t}},{key:"ignoreEvent",value:function(){return!0}},{key:"destroy",value:function(e){e.EditorWidget.destroy()}}]),i}(),CO=function(e,t){return new Xk({tag:"GB",decoration:function(i){return eo.replace({widget:new SO(i,e,t)})}})},PO=To.fromClass(function(){function e(t){R(this,e),this.disposable=[],this.placeholder=CO(this.disposable,t).createDeco(t)}return E(e,[{key:"update",value:function(e){this.placeholder=CO(this.disposable,e).updateDeco(e,this.placeholder)}},{key:"destroy",value:function(){this.disposable.forEach(function(e){e.destroy()})}}]),e}(),{decorations:function(e){return e.placeholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||eo.none})}}),DO={},TO={},QO={},AO={},RO=4,MO=0,EO=1,FO=2;function LO(e){for(var t=e.length;--t>=0;)e[t]=0}var BO=0,IO=1,GO=2,$O=3,VO=258,zO=29,NO=256,WO=NO+1+zO,qO=30,jO=19,_O=2*WO+1,XO=15,ZO=16,UO=7,HO=256,YO=16,KO=17,JO=18,ex=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),tx=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),ix=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ox=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),nx=512,rx=new Array(2*(WO+2));LO(rx);var ax=new Array(2*qO);LO(ax);var sx=new Array(nx);LO(sx);var lx=new Array(VO-$O+1);LO(lx);var px=new Array(zO);LO(px);var cx,dx,fx,hx=new Array(qO);function ux(e,t,i,o,n){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=o,this.max_length=n,this.has_stree=e&&e.length}function yx(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}LO(hx);var mx=function(e){return e<256?sx[e]:sx[256+(e>>>7)]},gx=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},bx=function(e,t,i){e.bi_valid>ZO-i?(e.bi_buf|=t<>ZO-e.bi_valid,e.bi_valid+=i-ZO):(e.bi_buf|=t<>>=1,i<<=1}while(--t>0);return i>>>1},kx=function(e){16===e.bi_valid?(gx(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)},Ox=function(e,t){var i,o,n,r,a,s,l=t.dyn_tree,p=t.max_code,c=t.stat_desc.static_tree,d=t.stat_desc.has_stree,f=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,u=t.stat_desc.max_length,y=0;for(r=0;r<=XO;r++)e.bl_count[r]=0;for(l[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;i<_O;i++)(r=l[2*l[2*(o=e.heap[i])+1]+1]+1)>u&&(r=u,y++),l[2*o+1]=r,o>p||(e.bl_count[r]++,a=0,o>=h&&(a=f[o-h]),s=l[2*o],e.opt_len+=s*(r+a),d&&(e.static_len+=s*(c[2*o+1]+a)));if(0!==y){do{for(r=u-1;0===e.bl_count[r];)r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[u]--,y-=2}while(y>0);for(r=u;0!==r;r--)for(o=e.bl_count[r];0!==o;)(n=e.heap[--i])>p||(l[2*n+1]!==r&&(e.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),o--)}},xx=function(e,t,i){var o,n,r=new Array(XO+1),a=0;for(o=1;o<=XO;o++)a=a+i[o-1]<<1,r[o]=a;for(n=0;n<=t;n++){var s=e[2*n+1];0!==s&&(e[2*n]=wx(r[s]++,s))}},Sx=function(){var e,t,i,o,n,r=new Array(XO+1);for(i=0,o=0;o>=7;o8?gx(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Dx=function(e,t,i,o){var n=2*t,r=2*i;return e[n]>1;i>=1;i--)Tx(e,r,i);n=l;do{i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Tx(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=o,r[2*n]=r[2*i]+r[2*o],e.depth[n]=(e.depth[i]>=e.depth[o]?e.depth[i]:e.depth[o])+1,r[2*i+1]=r[2*o+1]=n,e.heap[1]=n++,Tx(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Ox(e,t),xx(r,p,e.bl_count)},Rx=function(e,t,i){var o,n,r=-1,a=t[1],s=0,l=7,p=4;for(0===a&&(l=138,p=3),t[2*(i+1)+1]=65535,o=0;o<=i;o++)n=a,a=t[2*(o+1)+1],++s=3&&0===e.bl_tree[2*ox[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t},Fx=function(e,t,i,o){var n;for(bx(e,t-257,5),bx(e,i-1,5),bx(e,o-4,4),n=0;n>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return MO;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return EO;for(t=32;t0?(e.strm.data_type===FO&&(e.strm.data_type=Lx(e)),Ax(e,e.l_desc),Ax(e,e.d_desc),a=Ex(e),n=e.opt_len+3+7>>>3,(r=e.static_len+3+7>>>3)<=n&&(n=r)):n=r=i+5,i+4<=n&&-1!==t?Gx(e,t,i,o):e.strategy===RO||r===n?(bx(e,(IO<<1)+(o?1:0),3),Qx(e,rx,ax)):(bx(e,(GO<<1)+(o?1:0),3),Fx(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),Qx(e,e.dyn_ltree,e.dyn_dtree)),Cx(e),o&&Px(e)},zx=function(e,t,i){return e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=i,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(lx[i]+NO+1)]++,e.dyn_dtree[2*mx(t)]++),e.sym_next===e.sym_end};AO._tr_init=Ix,AO._tr_stored_block=Gx,AO._tr_flush_block=Vx,AO._tr_tally=zx,AO._tr_align=$x;var Nx=function(e,t,i,o){for(var n=65535&e|0,r=e>>>16&65535|0,a=0;0!==i;){i-=a=i>2e3?2e3:i;do{r=r+(n=n+t[o++]|0)|0}while(--a);n%=65521,r%=65521}return n|r<<16|0},Wx=Nx,qx=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var o=0;o<8;o++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t},jx=new Uint32Array(qx()),_x=function(e,t,i,o){var n=jx,r=o+i;e^=-1;for(var a=o;a>>8^n[255&(e^t[a])];return-1^e},Xx=_x,Zx={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Ux={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Hx=AO._tr_init,Yx=AO._tr_stored_block,Kx=AO._tr_flush_block,Jx=AO._tr_tally,eS=AO._tr_align,tS=Wx,iS=Xx,oS=Zx,nS=Ux.Z_NO_FLUSH,rS=Ux.Z_PARTIAL_FLUSH,aS=Ux.Z_FULL_FLUSH,sS=Ux.Z_FINISH,lS=Ux.Z_BLOCK,pS=Ux.Z_OK,cS=Ux.Z_STREAM_END,dS=Ux.Z_STREAM_ERROR,fS=Ux.Z_DATA_ERROR,hS=Ux.Z_BUF_ERROR,uS=Ux.Z_DEFAULT_COMPRESSION,yS=Ux.Z_FILTERED,mS=Ux.Z_HUFFMAN_ONLY,gS=Ux.Z_RLE,bS=Ux.Z_FIXED,vS=Ux.Z_DEFAULT_STRATEGY,wS=Ux.Z_UNKNOWN,kS=Ux.Z_DEFLATED,OS=9,xS=15,SS=8,CS=29,PS=256,DS=PS+1+CS,TS=30,QS=19,AS=2*DS+1,RS=15,MS=3,ES=258,FS=ES+MS+1,LS=32,BS=42,IS=57,GS=69,$S=73,VS=91,zS=103,NS=113,WS=666,qS=1,jS=2,_S=3,XS=4,ZS=3,US=function(e,t){return e.msg=oS[t],t},HS=function(e){return 2*e-(e>4?9:0)},YS=function(e){for(var t=e.length;--t>=0;)e[t]=0},KS=function(e){var t,i,o,n=e.w_size;o=t=e.hash_size;do{i=e.head[--o],e.head[o]=i>=n?i-n:0}while(--t);o=t=n;do{i=e.prev[--o],e.prev[o]=i>=n?i-n:0}while(--t)},JS=function(e,t,i){return(t<e.avail_out&&(i=e.avail_out),0!==i&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+i),e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))},iC=function(e,t){Kx(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,tC(e.strm)},oC=function(e,t){e.pending_buf[e.pending++]=t},nC=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},rC=function(e,t,i,o){var n=e.avail_in;return n>o&&(n=o),0===n?0:(e.avail_in-=n,t.set(e.input.subarray(e.next_in,e.next_in+n),i),1===e.state.wrap?e.adler=tS(e.adler,t,n,i):2===e.state.wrap&&(e.adler=iS(e.adler,t,n,i)),e.next_in+=n,e.total_in+=n,n)},aC=function(e,t){var i,o,n=e.max_chain_length,r=e.strstart,a=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-FS?e.strstart-(e.w_size-FS):0,p=e.window,c=e.w_mask,d=e.prev,f=e.strstart+ES,h=p[r+a-1],u=p[r+a];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(p[(i=t)+a]===u&&p[i+a-1]===h&&p[i]===p[r]&&p[++i]===p[r+1]){r+=2,i++;do{}while(p[++r]===p[++i]&&p[++r]===p[++i]&&p[++r]===p[++i]&&p[++r]===p[++i]&&p[++r]===p[++i]&&p[++r]===p[++i]&&p[++r]===p[++i]&&p[++r]===p[++i]&&ra){if(e.match_start=t,a=o,o>=s)break;h=p[r+a-1],u=p[r+a]}}}while((t=d[t&c])>l&&0!=--n);return a<=e.lookahead?a:e.lookahead},sC=function(e){var t,i,o,n=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=n+(n-FS)&&(e.window.set(e.window.subarray(n,n+n-i),0),e.match_start-=n,e.strstart-=n,e.block_start-=n,e.insert>e.strstart&&(e.insert=e.strstart),KS(e),i+=n),0===e.strm.avail_in)break;if(t=rC(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=t,e.lookahead+e.insert>=MS)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=eC(e,e.ins_h,e.window[o+1]);e.insert&&(e.ins_h=eC(e,e.ins_h,e.window[o+MS-1]),e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.inserte.w_size?e.w_size:e.pending_buf_size-5,a=0,s=e.strm.avail_in;do{if(i=65535,n=e.bi_valid+42>>3,e.strm.avail_out(o=e.strstart-e.block_start)+e.strm.avail_in&&(i=o+e.strm.avail_in),i>n&&(i=n),i>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,tC(e.strm),o&&(o>i&&(o=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+o),e.strm.next_out),e.strm.next_out+=o,e.strm.avail_out-=o,e.strm.total_out+=o,e.block_start+=o,i-=o),i&&(rC(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(0===a);return(s-=e.strm.avail_in)&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_watern&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,n+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),n>e.strm.avail_in&&(n=e.strm.avail_in),n&&(rC(e.strm,e.window,e.strstart,n),e.strstart+=n,e.insert+=n>e.w_size-e.insert?e.w_size-e.insert:n),e.high_water>3,r=(n=e.pending_buf_size-n>65535?65535:e.pending_buf_size-n)>e.w_size?e.w_size:n,((o=e.strstart-e.block_start)>=r||(o||t===sS)&&t!==nS&&0===e.strm.avail_in&&o<=n)&&(i=o>n?n:o,a=t===sS&&0===e.strm.avail_in&&i===o?1:0,Yx(e,e.block_start,i,a),e.block_start+=i,tC(e.strm)),a?_S:qS)},pC=function(e,t){for(var i,o;;){if(e.lookahead=MS&&(e.ins_h=eC(e,e.ins_h,e.window[e.strstart+MS-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-FS&&(e.match_length=aC(e,i)),e.match_length>=MS)if(o=Jx(e,e.strstart-e.match_start,e.match_length-MS),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=MS){e.match_length--;do{e.strstart++,e.ins_h=eC(e,e.ins_h,e.window[e.strstart+MS-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=eC(e,e.ins_h,e.window[e.strstart+1]);else o=Jx(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(o&&(iC(e,!1),0===e.strm.avail_out))return qS}return e.insert=e.strstart=MS&&(e.ins_h=eC(e,e.ins_h,e.window[e.strstart+MS-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=MS-1,0!==i&&e.prev_length4096)&&(e.match_length=MS-1)),e.prev_length>=MS&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-MS,o=Jx(e,e.strstart-1-e.prev_match,e.prev_length-MS),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=eC(e,e.ins_h,e.window[e.strstart+MS-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=MS-1,e.strstart++,o&&(iC(e,!1),0===e.strm.avail_out))return qS}else if(e.match_available){if((o=Jx(e,0,e.window[e.strstart-1]))&&iC(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return qS}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(o=Jx(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart=MS&&e.strstart>0&&(o=a[n=e.strstart-1])===a[++n]&&o===a[++n]&&o===a[++n]){r=e.strstart+ES;do{}while(o===a[++n]&&o===a[++n]&&o===a[++n]&&o===a[++n]&&o===a[++n]&&o===a[++n]&&o===a[++n]&&o===a[++n]&&ne.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=MS?(i=Jx(e,1,e.match_length-MS),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=Jx(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(iC(e,!1),0===e.strm.avail_out))return qS}return e.insert=0,t===sS?(iC(e,!0),0===e.strm.avail_out?_S:XS):e.sym_next&&(iC(e,!1),0===e.strm.avail_out)?qS:jS},fC=function(e,t){for(var i;;){if(0===e.lookahead&&(sC(e),0===e.lookahead)){if(t===nS)return qS;break}if(e.match_length=0,i=Jx(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(iC(e,!1),0===e.strm.avail_out))return qS}return e.insert=0,t===sS?(iC(e,!0),0===e.strm.avail_out?_S:XS):e.sym_next&&(iC(e,!1),0===e.strm.avail_out)?qS:jS};function hC(e,t,i,o,n){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=o,this.func=n}var uC=[new hC(0,0,0,0,lC),new hC(4,4,8,4,pC),new hC(4,5,16,8,pC),new hC(4,6,32,32,pC),new hC(4,4,16,16,cC),new hC(8,16,32,32,cC),new hC(8,16,128,128,cC),new hC(8,32,128,256,cC),new hC(32,128,258,1024,cC),new hC(32,258,258,4096,cC)],yC=function(e){e.window_size=2*e.w_size,YS(e.head),e.max_lazy_match=uC[e.level].max_lazy,e.good_match=uC[e.level].good_length,e.nice_match=uC[e.level].nice_length,e.max_chain_length=uC[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=MS-1,e.match_available=0,e.ins_h=0};function mC(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=kS,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(2*AS),this.dyn_dtree=new Uint16Array(2*(2*TS+1)),this.bl_tree=new Uint16Array(2*(2*QS+1)),YS(this.dyn_ltree),YS(this.dyn_dtree),YS(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(RS+1),this.heap=new Uint16Array(2*DS+1),YS(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*DS+1),YS(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var gC=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.status!==BS&&t.status!==IS&&t.status!==GS&&t.status!==$S&&t.status!==VS&&t.status!==zS&&t.status!==NS&&t.status!==WS?1:0},bC=function(e){if(gC(e))return US(e,dS);e.total_in=e.total_out=0,e.data_type=wS;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?IS:t.wrap?BS:NS,e.adler=2===t.wrap?0:1,t.last_flush=-2,Hx(t),pS},vC=function(e){var t=bC(e);return t===pS&&yC(e.state),t},wC=function(e,t){return gC(e)||2!==e.state.wrap?dS:(e.state.gzhead=t,pS)},kC=function(e,t,i,o,n,r){if(!e)return dS;var a=1;if(t===uS&&(t=6),o<0?(a=0,o=-o):o>15&&(a=2,o-=16),n<1||n>OS||i!==kS||o<8||o>15||t<0||t>9||r<0||r>bS||8===o&&1!==a)return US(e,dS);8===o&&(o=9);var s=new mC;return e.state=s,s.strm=e,s.status=BS,s.wrap=a,s.gzhead=null,s.w_bits=o,s.w_size=1<lS||t<0)return e?US(e,dS):dS;var i=e.state;if(!e.output||0!==e.avail_in&&!e.input||i.status===WS&&t!==sS)return US(e,0===e.avail_out?hS:dS);var o=i.last_flush;if(i.last_flush=t,0!==i.pending){if(tC(e),0===e.avail_out)return i.last_flush=-1,pS}else if(0===e.avail_in&&HS(t)<=HS(o)&&t!==sS)return US(e,hS);if(i.status===WS&&0!==e.avail_in)return US(e,hS);if(i.status===BS&&0===i.wrap&&(i.status=NS),i.status===BS){var n=kS+(i.w_bits-8<<4)<<8;if(n|=(i.strategy>=mS||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(n|=LS),nC(i,n+=31-n%31),0!==i.strstart&&(nC(i,e.adler>>>16),nC(i,65535&e.adler)),e.adler=1,i.status=NS,tC(e),0!==i.pending)return i.last_flush=-1,pS}if(i.status===IS)if(e.adler=0,oC(i,31),oC(i,139),oC(i,8),i.gzhead)oC(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),oC(i,255&i.gzhead.time),oC(i,i.gzhead.time>>8&255),oC(i,i.gzhead.time>>16&255),oC(i,i.gzhead.time>>24&255),oC(i,9===i.level?2:i.strategy>=mS||i.level<2?4:0),oC(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(oC(i,255&i.gzhead.extra.length),oC(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=iS(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=GS;else if(oC(i,0),oC(i,0),oC(i,0),oC(i,0),oC(i,0),oC(i,9===i.level?2:i.strategy>=mS||i.level<2?4:0),oC(i,ZS),i.status=NS,tC(e),0!==i.pending)return i.last_flush=-1,pS;if(i.status===GS){if(i.gzhead.extra){for(var r=i.pending,a=(65535&i.gzhead.extra.length)-i.gzindex;i.pending+a>i.pending_buf_size;){var s=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+s),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>r&&(e.adler=iS(e.adler,i.pending_buf,i.pending-r,r)),i.gzindex+=s,tC(e),0!==i.pending)return i.last_flush=-1,pS;r=0,a-=s}var l=new Uint8Array(i.gzhead.extra);i.pending_buf.set(l.subarray(i.gzindex,i.gzindex+a),i.pending),i.pending+=a,i.gzhead.hcrc&&i.pending>r&&(e.adler=iS(e.adler,i.pending_buf,i.pending-r,r)),i.gzindex=0}i.status=$S}if(i.status===$S){if(i.gzhead.name){var p,c=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>c&&(e.adler=iS(e.adler,i.pending_buf,i.pending-c,c)),tC(e),0!==i.pending)return i.last_flush=-1,pS;c=0}p=i.gzindexc&&(e.adler=iS(e.adler,i.pending_buf,i.pending-c,c)),i.gzindex=0}i.status=VS}if(i.status===VS){if(i.gzhead.comment){var d,f=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>f&&(e.adler=iS(e.adler,i.pending_buf,i.pending-f,f)),tC(e),0!==i.pending)return i.last_flush=-1,pS;f=0}d=i.gzindexf&&(e.adler=iS(e.adler,i.pending_buf,i.pending-f,f))}i.status=zS}if(i.status===zS){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(tC(e),0!==i.pending))return i.last_flush=-1,pS;oC(i,255&e.adler),oC(i,e.adler>>8&255),e.adler=0}if(i.status=NS,tC(e),0!==i.pending)return i.last_flush=-1,pS}if(0!==e.avail_in||0!==i.lookahead||t!==nS&&i.status!==WS){var h=0===i.level?lC(i,t):i.strategy===mS?fC(i,t):i.strategy===gS?dC(i,t):uC[i.level].func(i,t);if(h!==_S&&h!==XS||(i.status=WS),h===qS||h===_S)return 0===e.avail_out&&(i.last_flush=-1),pS;if(h===jS&&(t===rS?eS(i):t!==lS&&(Yx(i,0,0,!1),t===aS&&(YS(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),tC(e),0===e.avail_out))return i.last_flush=-1,pS}return t!==sS?pS:i.wrap<=0?cS:(2===i.wrap?(oC(i,255&e.adler),oC(i,e.adler>>8&255),oC(i,e.adler>>16&255),oC(i,e.adler>>24&255),oC(i,255&e.total_in),oC(i,e.total_in>>8&255),oC(i,e.total_in>>16&255),oC(i,e.total_in>>24&255)):(nC(i,e.adler>>>16),nC(i,65535&e.adler)),tC(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?pS:cS)},SC=function(e){if(gC(e))return dS;var t=e.state.status;return e.state=null,t===NS?US(e,fS):pS},CC=function(e,t){var i=t.length;if(gC(e))return dS;var o=e.state,n=o.wrap;if(2===n||1===n&&o.status!==BS||o.lookahead)return dS;if(1===n&&(e.adler=tS(e.adler,t,i,0)),o.wrap=0,i>=o.w_size){0===n&&(YS(o.head),o.strstart=0,o.block_start=0,o.insert=0);var r=new Uint8Array(o.w_size);r.set(t.subarray(i-o.w_size,i),0),t=r,i=o.w_size}var a=e.avail_in,s=e.next_in,l=e.input;for(e.avail_in=i,e.next_in=0,e.input=t,sC(o);o.lookahead>=MS;){var p=o.strstart,c=o.lookahead-(MS-1);do{o.ins_h=eC(o,o.ins_h,o.window[p+MS-1]),o.prev[p&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=p,p++}while(--c);o.strstart=p,o.lookahead=MS-1,sC(o)}return o.strstart+=o.lookahead,o.block_start=o.strstart,o.insert=o.lookahead,o.lookahead=0,o.match_length=o.prev_length=MS-1,o.match_available=0,e.next_in=s,e.input=l,e.avail_in=a,o.wrap=n,pS};QO.deflateInit=OC,QO.deflateInit2=kC,QO.deflateReset=vC,QO.deflateResetKeep=bC,QO.deflateSetHeader=wC,QO.deflate=xC,QO.deflateEnd=SC,QO.deflateSetDictionary=CC,QO.deflateInfo="pako deflate (from Nodeca project)";var PC={},DC=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};PC.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!==A(i))throw new TypeError(i+"must be non-object");for(var o in i)DC(i,o)&&(e[o]=i[o])}}return e},PC.flattenChunks=function(e){for(var t=0,i=0,o=e.length;i=252?6:RC>=248?5:RC>=240?4:RC>=224?3:RC>=192?2:1;AC[254]=AC[254]=1,TC.string2buf=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,i,o,n,r,a=e.length,s=0;for(n=0;n>>6,t[r++]=128|63&i):i<65536?(t[r++]=224|i>>>12,t[r++]=128|i>>>6&63,t[r++]=128|63&i):(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63,t[r++]=128|i>>>6&63,t[r++]=128|63&i);return t};var MC=function(e,t){if(t<65534&&e.subarray&&QC)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var i="",o=0;o4)r[o++]=65533,i+=s-1;else{for(a&=2===s?31:3===s?15:7;s>1&&i1?r[o++]=65533:a<65536?r[o++]=a:(a-=65536,r[o++]=55296|a>>10&1023,r[o++]=56320|1023&a)}}}return MC(r,o)},TC.utf8border=function(e,t){(t=t||e.length)>e.length&&(t=e.length);for(var i=t-1;i>=0&&128==(192&e[i]);)i--;return i<0?t:0===i?t:i+AC[e[i]]>t?i:t};var FC=EC,LC=QO,BC=PC,IC=TC,GC=Zx,$C=FC,VC=Object.prototype.toString,zC=Ux.Z_NO_FLUSH,NC=Ux.Z_SYNC_FLUSH,WC=Ux.Z_FULL_FLUSH,qC=Ux.Z_FINISH,jC=Ux.Z_OK,_C=Ux.Z_STREAM_END,XC=Ux.Z_DEFAULT_COMPRESSION,ZC=Ux.Z_DEFAULT_STRATEGY,UC=Ux.Z_DEFLATED;function HC(e){this.options=BC.assign({level:XC,method:UC,chunkSize:16384,windowBits:15,memLevel:8,strategy:ZC},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $C,this.strm.avail_out=0;var i=LC.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==jC)throw new Error(GC[i]);if(t.header&&LC.deflateSetHeader(this.strm,t.header),t.dictionary){var o;if(o="string"==typeof t.dictionary?IC.string2buf(t.dictionary):"[object ArrayBuffer]"===VC.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(i=LC.deflateSetDictionary(this.strm,o))!==jC)throw new Error(GC[i]);this._dict_set=!0}}function YC(e,t){var i=new HC(t);if(i.push(e,!0),i.err)throw i.msg||GC[i.err];return i.result}function KC(e,t){return(t=t||{}).raw=!0,YC(e,t)}function JC(e,t){return(t=t||{}).gzip=!0,YC(e,t)}HC.prototype.push=function(e,t){var i,o,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;for(o=t===~~t?t:!0===t?qC:zC,"string"==typeof e?n.input=IC.string2buf(e):"[object ArrayBuffer]"===VC.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;)if(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===NC||o===WC)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if((i=LC.deflate(n,o))===_C)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=LC.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===jC;if(0!==n.avail_out){if(o>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(0===n.avail_in)break}else this.onData(n.output)}return!0},HC.prototype.onData=function(e){this.chunks.push(e)},HC.prototype.onEnd=function(e){e===jC&&(this.result=BC.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},TO.Deflate=HC,TO.deflate=YC,TO.deflateRaw=KC,TO.gzip=JC,TO.constants=Ux;var eP={},tP={},iP=16209,oP=16191,nP=function(e,t){var i,o,n,r,a,s,l,p,c,d,f,h,u,y,m,g,b,v,w,k,O,x,S,C,P=e.state;i=e.next_in,S=e.input,o=i+(e.avail_in-5),n=e.next_out,C=e.output,r=n-(t-e.avail_out),a=n+(e.avail_out-257),s=P.dmax,l=P.wsize,p=P.whave,c=P.wnext,d=P.window,f=P.hold,h=P.bits,u=P.lencode,y=P.distcode,m=(1<>>=v=b>>>24,h-=v,0===(v=b>>>16&255))C[n++]=65535&b;else{if(!(16&v)){if(0==(64&v)){b=u[(65535&b)+(f&(1<>>=v,h-=v),h<15&&(f+=S[i++]<>>=v=b>>>24,h-=v,!(16&(v=b>>>16&255))){if(0==(64&v)){b=y[(65535&b)+(f&(1<s){e.msg="invalid distance too far back",P.mode=iP;break e}if(f>>>=v,h-=v,k>(v=n-r)){if((v=k-v)>p&&P.sane){e.msg="invalid distance too far back",P.mode=iP;break e}if(O=0,x=d,0===c){if(O+=l-v,v2;)C[n++]=x[O++],C[n++]=x[O++],C[n++]=x[O++],w-=3;w&&(C[n++]=x[O++],w>1&&(C[n++]=x[O++]))}else{O=n-k;do{C[n++]=C[O++],C[n++]=C[O++],C[n++]=C[O++],w-=3}while(w>2);w&&(C[n++]=C[O++],w>1&&(C[n++]=C[O++]))}break}}break}}while(i>3,f&=(1<<(h-=w<<3))-1,e.next_in=i,e.next_out=n,e.avail_in=i=1&&0===Q[k];k--);if(O>k&&(O=k),0===k)return n[r++]=20971520,n[r++]=20971520,s.bits=1,0;for(w=1;w0&&(e===lP||1!==k))return-1;for(A[1]=0,b=1;baP||e===cP&&P>sP)return 1;for(;;){u=b-S,a[v]+1=h?(y=R[a[v]-h],m=T[a[v]-h]):(y=96,m=0),l=1<>S)+(p-=l)]=u<<24|y<<16|m|0}while(0!==p);for(l=1<>=1;if(0!==l?(D&=l-1,D+=l):D=0,v++,0==--Q[b]){if(b===k)break;b=t[i+a[v]]}if(b>O&&(D&d)!==c){for(0===S&&(S=O),f+=w,C=1<<(x=b-S);x+SaP||e===cP&&P>sP)return 1;n[c=D&d]=O<<24|x<<16|f-r|0}}return 0!==D&&(n[f+D]=b-S<<24|64<<16|0),s.bits=O,0},mP=yP,gP=Wx,bP=Xx,vP=nP,wP=mP,kP=0,OP=1,xP=2,SP=Ux.Z_FINISH,CP=Ux.Z_BLOCK,PP=Ux.Z_TREES,DP=Ux.Z_OK,TP=Ux.Z_STREAM_END,QP=Ux.Z_NEED_DICT,AP=Ux.Z_STREAM_ERROR,RP=Ux.Z_DATA_ERROR,MP=Ux.Z_MEM_ERROR,EP=Ux.Z_BUF_ERROR,FP=Ux.Z_DEFLATED,LP=16180,BP=16181,IP=16182,GP=16183,$P=16184,VP=16185,zP=16186,NP=16187,WP=16188,qP=16189,jP=16190,_P=16191,XP=16192,ZP=16193,UP=16194,HP=16195,YP=16196,KP=16197,JP=16198,eD=16199,tD=16200,iD=16201,oD=16202,nD=16203,rD=16204,aD=16205,sD=16206,lD=16207,pD=16208,cD=16209,dD=16210,fD=16211,hD=852,uD=592,yD=15,mD=yD,gD=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function bD(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var vD,wD,kD=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.modefD?1:0},OD=function(e){if(kD(e))return AP;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=LP,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(hD),t.distcode=t.distdyn=new Int32Array(uD),t.sane=1,t.back=-1,DP},xD=function(e){if(kD(e))return AP;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,OD(e)},SD=function(e,t){var i;if(kD(e))return AP;var o=e.state;return t<0?(i=0,t=-t):(i=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?AP:(null!==o.window&&o.wbits!==t&&(o.window=null),o.wrap=i,o.wbits=t,xD(e))},CD=function(e,t){if(!e)return AP;var i=new bD;e.state=i,i.strm=e,i.window=null,i.mode=LP;var o=SD(e,t);return o!==DP&&(e.state=null),o},PD=function(e){return CD(e,mD)},DD=!0,TD=function(e){if(DD){vD=new Int32Array(512),wD=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(wP(OP,e.lens,0,288,vD,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;wP(xP,e.lens,0,32,wD,0,e.work,{bits:5}),DD=!1}e.lencode=vD,e.lenbits=9,e.distcode=wD,e.distbits=5},QD=function(e,t,i,o){var n,r=e.state;return null===r.window&&(r.wsize=1<=r.wsize?(r.window.set(t.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):((n=r.wsize-r.wnext)>o&&(n=o),r.window.set(t.subarray(i-o,i-o+n),r.wnext),(o-=n)?(r.window.set(t.subarray(i-o,i),0),r.wnext=o,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,i.check=bP(i.check,D,2,0),p=0,c=0,i.mode=BP;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&p)<<8)+(p>>8))%31){e.msg="incorrect header check",i.mode=cD;break}if((15&p)!==FP){e.msg="unknown compression method",i.mode=cD;break}if(c-=4,O=8+(15&(p>>>=4)),0===i.wbits&&(i.wbits=O),O>15||O>i.wbits){e.msg="invalid window size",i.mode=cD;break}i.dmax=1<>8&1),512&i.flags&&4&i.wrap&&(D[0]=255&p,D[1]=p>>>8&255,i.check=bP(i.check,D,2,0)),p=0,c=0,i.mode=IP;case IP:for(;c<32;){if(0===s)break e;s--,p+=o[r++]<>>8&255,D[2]=p>>>16&255,D[3]=p>>>24&255,i.check=bP(i.check,D,4,0)),p=0,c=0,i.mode=GP;case GP:for(;c<16;){if(0===s)break e;s--,p+=o[r++]<>8),512&i.flags&&4&i.wrap&&(D[0]=255&p,D[1]=p>>>8&255,i.check=bP(i.check,D,2,0)),p=0,c=0,i.mode=$P;case $P:if(1024&i.flags){for(;c<16;){if(0===s)break e;s--,p+=o[r++]<>>8&255,i.check=bP(i.check,D,2,0)),p=0,c=0}else i.head&&(i.head.extra=null);i.mode=VP;case VP:if(1024&i.flags&&((h=i.length)>s&&(h=s),h&&(i.head&&(O=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(o.subarray(r,r+h),O)),512&i.flags&&4&i.wrap&&(i.check=bP(i.check,o,h,r)),s-=h,r+=h,i.length-=h),i.length))break e;i.length=0,i.mode=zP;case zP:if(2048&i.flags){if(0===s)break e;h=0;do{O=o[r+h++],i.head&&O&&i.length<65536&&(i.head.name+=String.fromCharCode(O))}while(O&&h>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=_P;break;case qP:for(;c<32;){if(0===s)break e;s--,p+=o[r++]<>>=7&c,c-=7&c,i.mode=sD;break}for(;c<3;){if(0===s)break e;s--,p+=o[r++]<>>=1)){case 0:i.mode=ZP;break;case 1:if(TD(i),i.mode=eD,t===PP){p>>>=2,c-=2;break e}break;case 2:i.mode=YP;break;case 3:e.msg="invalid block type",i.mode=cD}p>>>=2,c-=2;break;case ZP:for(p>>>=7&c,c-=7&c;c<32;){if(0===s)break e;s--,p+=o[r++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=cD;break}if(i.length=65535&p,p=0,c=0,i.mode=UP,t===PP)break e;case UP:i.mode=HP;case HP:if(h=i.length){if(h>s&&(h=s),h>l&&(h=l),0===h)break e;n.set(o.subarray(r,r+h),a),s-=h,r+=h,l-=h,a+=h,i.length-=h;break}i.mode=_P;break;case YP:for(;c<14;){if(0===s)break e;s--,p+=o[r++]<>>=5,c-=5,i.ndist=1+(31&p),p>>>=5,c-=5,i.ncode=4+(15&p),p>>>=4,c-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=cD;break}i.have=0,i.mode=KP;case KP:for(;i.have>>=3,c-=3}for(;i.have<19;)i.lens[T[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,S={bits:i.lenbits},x=wP(kP,i.lens,0,19,i.lencode,0,i.work,S),i.lenbits=S.bits,x){e.msg="invalid code lengths set",i.mode=cD;break}i.have=0,i.mode=JP;case JP:for(;i.have>>16&255,b=65535&P,!((m=P>>>24)<=c);){if(0===s)break e;s--,p+=o[r++]<>>=m,c-=m,i.lens[i.have++]=b;else{if(16===b){for(C=m+2;c>>=m,c-=m,0===i.have){e.msg="invalid bit length repeat",i.mode=cD;break}O=i.lens[i.have-1],h=3+(3&p),p>>>=2,c-=2}else if(17===b){for(C=m+3;c>>=m)),p>>>=3,c-=3}else{for(C=m+7;c>>=m)),p>>>=7,c-=7}if(i.have+h>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=cD;break}for(;h--;)i.lens[i.have++]=O}}if(i.mode===cD)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=cD;break}if(i.lenbits=9,S={bits:i.lenbits},x=wP(OP,i.lens,0,i.nlen,i.lencode,0,i.work,S),i.lenbits=S.bits,x){e.msg="invalid literal/lengths set",i.mode=cD;break}if(i.distbits=6,i.distcode=i.distdyn,S={bits:i.distbits},x=wP(xP,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,S),i.distbits=S.bits,x){e.msg="invalid distances set",i.mode=cD;break}if(i.mode=eD,t===PP)break e;case eD:i.mode=tD;case tD:if(s>=6&&l>=258){e.next_out=a,e.avail_out=l,e.next_in=r,e.avail_in=s,i.hold=p,i.bits=c,vP(e,f),a=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,o=e.input,s=e.avail_in,p=i.hold,c=i.bits,i.mode===_P&&(i.back=-1);break}for(i.back=0;g=(P=i.lencode[p&(1<>>16&255,b=65535&P,!((m=P>>>24)<=c);){if(0===s)break e;s--,p+=o[r++]<>v)])>>>16&255,b=65535&P,!(v+(m=P>>>24)<=c);){if(0===s)break e;s--,p+=o[r++]<>>=v,c-=v,i.back+=v}if(p>>>=m,c-=m,i.back+=m,i.length=b,0===g){i.mode=aD;break}if(32&g){i.back=-1,i.mode=_P;break}if(64&g){e.msg="invalid literal/length code",i.mode=cD;break}i.extra=15&g,i.mode=iD;case iD:if(i.extra){for(C=i.extra;c>>=i.extra,c-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=oD;case oD:for(;g=(P=i.distcode[p&(1<>>16&255,b=65535&P,!((m=P>>>24)<=c);){if(0===s)break e;s--,p+=o[r++]<>v)])>>>16&255,b=65535&P,!(v+(m=P>>>24)<=c);){if(0===s)break e;s--,p+=o[r++]<>>=v,c-=v,i.back+=v}if(p>>>=m,c-=m,i.back+=m,64&g){e.msg="invalid distance code",i.mode=cD;break}i.offset=b,i.extra=15&g,i.mode=nD;case nD:if(i.extra){for(C=i.extra;c>>=i.extra,c-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=cD;break}i.mode=rD;case rD:if(0===l)break e;if(h=f-l,i.offset>h){if((h=i.offset-h)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=cD;break}h>i.wnext?(h-=i.wnext,u=i.wsize-h):u=i.wnext-h,h>i.length&&(h=i.length),y=i.window}else y=n,u=a-i.offset,h=i.length;h>l&&(h=l),l-=h,i.length-=h;do{n[a++]=y[u++]}while(--h);0===i.length&&(i.mode=tD);break;case aD:if(0===l)break e;n[a++]=i.length,l--,i.mode=tD;break;case sD:if(i.wrap){for(;c<32;){if(0===s)break e;s--,p|=o[r++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new VD,this.strm.avail_out=0;var i=BD.inflateInit2(this.strm,t.windowBits);if(i!==jD)throw new Error($D[i]);if(this.header=new zD,BD.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=GD.string2buf(t.dictionary):"[object ArrayBuffer]"===ND.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=BD.inflateSetDictionary(this.strm,t.dictionary))!==jD))throw new Error($D[i])}function KD(e,t){var i=new YD(t);if(i.push(e),i.err)throw i.msg||$D[i.err];return i.result}function JD(e,t){return(t=t||{}).raw=!0,KD(e,t)}YD.prototype.push=function(e,t){var i,o,n,r=this.strm,a=this.options.chunkSize,s=this.options.dictionary;if(this.ended)return!1;for(o=t===~~t?t:!0===t?qD:WD,"[object ArrayBuffer]"===ND.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(a),r.next_out=0,r.avail_out=a),(i=BD.inflate(r,o))===XD&&s&&((i=BD.inflateSetDictionary(r,s))===jD?i=BD.inflate(r,o):i===UD&&(i=XD));r.avail_in>0&&i===_D&&r.state.wrap>0&&0!==e[r.next_in];)BD.inflateReset(r),i=BD.inflate(r,o);switch(i){case ZD:case UD:case XD:case HD:return this.onEnd(i),this.ended=!0,!1}if(n=r.avail_out,r.next_out&&(0===r.avail_out||i===_D))if("string"===this.options.to){var l=GD.utf8border(r.output,r.next_out),p=r.next_out-l,c=GD.buf2string(r.output,l);r.next_out=p,r.avail_out=a-p,p&&r.output.set(r.output.subarray(l,l+p),0),this.onData(c)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(i!==jD||0!==n){if(i===_D)return i=BD.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},YD.prototype.onData=function(e){this.chunks.push(e)},YD.prototype.onEnd=function(e){e===jD&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=ID.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},eP.Inflate=YD,eP.inflate=KD,eP.inflateRaw=JD,eP.ungzip=KD,eP.constants=Ux;var eT=TO.Deflate,tT=TO.deflate,iT=TO.deflateRaw,oT=TO.gzip,nT=eP.Inflate,rT=eP.inflate,aT=eP.inflateRaw,sT=eP.ungzip,lT=Ux;DO.Deflate=eT,DO.deflate=tT,DO.deflateRaw=iT,DO.gzip=oT,DO.Inflate=nT,DO.inflate=rT,DO.inflateRaw=aT,DO.ungzip=sT,DO.constants=lT;var pT=DO,cT={Util:{},Decode:{},Messages:[],Log:function(e){cT.Messages.push(["I",e]),console.log("Mma.js INFO: ",e)},Warn:function(e){cT.Messages.push(["W",e]),console.log("Mma.js WARNING: ",e)},Fail:function(e){throw cT.Messages.push(["E",e]),"Mma.js ERROR: "+e}};cT.Util.Base64Decode=function(e){for(var t=atob(e),i=t.length>>>0,o=new Uint8Array(i),n=0;n1&&0===e[0]&&cT.Fail("IntegerAP: input starts with 0: "+String(e)),this.nstring=e}else void 0===e?this.nstring=void 0:cT.Fail("Integer: invalid input: "+String(e))},cT.RealMP=function(e){"number"==typeof e?this.n=e:void 0===e?this.n=void 0:cT.Fail("RealMP: invalid input")},cT.RealAP=function(e){"string"==typeof e?(e.length>1&&0===e[0]&&cT.Fail("RealAP: input starts with 0: "+String(e)),this.nstring=e):void 0===e?this.nstring=void 0:cT.Fail("RealAP: invalid input: "+String(e))},cT.Symbol=function(e){"string"==typeof e?this.name=e:void 0===e?this.name=void 0:cT.Fail("Symbol: invalid input: "+String(e))},cT.String=function(e){"string"==typeof e?this.str=e:void 0===e?this.str=void 0:cT.Fail("String: invalid input: "+String(e))},cT.Expression=function(e,t){e instanceof cT.Symbol||cT.Fail("Expression: head must be an Mma.Symbol"),t instanceof Array||cT.Fail("Expression: parts must be an Array"),this.head=e,this.parts=t},cT.Decode.Int32=function(e,t){try{return new DataView(e.buffer).getInt32(t,!0)}catch(i){return 0}},cT.Decode.Float64=function(e,t){try{return new DataView(e.buffer).getFloat64(t,!0)}catch(i){return 0}},cT.Decode.String=function(e,t,i){return void 0===t&&(t=0),void 0===i&&(i=e.length),cT.Util.U8ArrayToString(e.slice(t,t+i))},cT.Decode.StringEntry=function(e,t){void 0===t&&(t=0);var i=cT.Decode.Int32(e,t);return{length:i,string:cT.Decode.String(e,t+4,i),bytesRead:i+4}},cT.Decode.Any=function(e,t,i){void 0===t&&(t=0),void 0===i&&(i=1/0);for(var o=t,n=0,r=[];t0&&(console.log("Attaching first found instance..."),t=i[0].env)}interpretate(["MetaMarker","'"+l+"'"],t).then(function(){server.kernel.emitt(n.events,'"'+l+'"',"Mounted")})}})}},{key:"getDoc",value:function(){return this.args[0].body.slice(1,-1)}},{key:"applyChanges",value:function(e,t){var i=this.args,o=this.visibleValue.argsPos,n="("+e+")",r={from:o+i[0].from,to:o+i[0].from+i[0].length,insert:n};this.visibleValue.str=this.visibleValue.str.substring(0,i[0].from).concat(n,this.visibleValue.str.substring(i[0].from+i[0].length)),i[0].length=n.length,this.view.dispatch({changes:r})}},{key:"applyOuterChanges",value:function(e){var t=this.visibleValue,i=e,o={from:t.pos,to:t.pos+t.length,insert:i};this.view.dispatch({changes:o})}},{key:"update",value:function(e){if(!this.deactivated){if(e.str!=this.visibleValue.str){console.warn("Out of sync"),console.log("recreate..."),this.destroy();var t=this.span;return t.replaceChildren(),void this._construct(e,this.view,t)}this.visibleValue.pos=e.pos,this.visibleValue.argsPos=e.argsPos}}},{key:"destroy",value:function(e){if(console.warn("destroy Instance of Widget"),console.log(this),this.env.global.stack)for(var t=0,i=Object.values(this.env.global.stack);t0)this.DOMElement.EditorWidget.editor.dispatch({selection:{anchor:0}}),this.DOMElement.EditorWidget.editor.focus();else{var o=this.DOMElement.EditorWidget.editor;o.dispatch({selection:{anchor:o.state.doc.length}}),o.focus()}return t}},{key:"ignoreEvent",value:function(){return!0}},{key:"destroy",value:function(e){e.EditorWidget.destroy()}}]),i}(),xT=function(e,t){return new Xk({tag:"BB",decoration:function(i){return eo.replace({widget:new OT(i,e,t)})}})},ST=To.fromClass(function(){function e(t){R(this,e),this.disposable=[],this.placeholder=xT(this.disposable,t).createDeco(t)}return E(e,[{key:"update",value:function(e){this.placeholder=xT(this.disposable,e).updateDeco(e,this.placeholder)}},{key:"destroy",value:function(){this.disposable.forEach(function(e){e.destroy()})}}]),e}(),{decorations:function(e){return e.placeholder},provide:function(e){return fa.atomicRanges.of(function(t){var i;return(null===(i=t.plugin(e))||void 0===i?void 0:i.placeholder)||eo.none})}}),CT=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})};function PT(e){return wT=e,[AT]}var DT=function(){function e(t,i,o,n){return R(this,e),this._construct(t,i,o,n)}return E(e,[{key:"_construct",value:function(e,t,i,o){var n=this;this.view=t,this.visibleValue=e,this.args=Nk(e.str,/\(\*\|\*\)/gm);var r=this,a=Array.from({length:Math.ceil((r.args.length-3)/2)},function(e,t){return 2*t+1});r.indexes=a;var s=[];this.span=i,this.spans=s;for(var l=0;l0?r.editors[i-1].focus():(t.dispatch({selection:{anchor:r.visibleValue.pos}}),t.focus()),void(e.editorLastCursor=void 0);e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,o){if((null==e?void 0:e.editorLastCursor)===e.state.selection.ranges[0].to)return i3&&void 0!==arguments[3])||arguments[3],n=e.transactions[e.transactions.length-1];if(n&&n.selection){if(o&&n.selection.main.head>=t&&n.selection.main.head<=i)return!0;if(!o&&n.selection.main.head>t&&n.selection.main.headi&&n1){var o=t.slice(1),n=document.createElement("span");return n.appendChild(e),o.forEach(function(e){var t=document.createElement("span");t.innerText=e,t.classList.add("cell-type-"+i[1].trim()+"-"+e.split("=")[0]),n.appendChild(t)}),n}return e}},{key:"ignoreEvent",value:function(){return!1}}]),i}(),FT=new Re,LT=new Re,BT=[],IT=bc.define([{tag:fp.meta,color:"var(--editor-key-meta)"},{tag:fp.link,textDecoration:"underline"},{tag:fp.heading,textDecoration:"underline",fontWeight:"bold"},{tag:fp.emphasis,fontStyle:"italic"},{tag:fp.strong,fontWeight:"bold"},{tag:fp.strikethrough,textDecoration:"line-through"},{tag:fp.keyword,color:"var(--editor-key-keyword)"},{tag:[fp.atom,fp.bool,fp.url,fp.contentSeparator,fp.labelName],color:"var(--editor-key-atom)"},{tag:[fp.literal,fp.inserted],color:"var(--editor-key-literal)"},{tag:[fp.string,fp.deleted],color:"var(--editor-key-string)"},{tag:[fp.regexp,fp.escape,fp.special(fp.string)],color:"var(--editor-key-escape)"},{tag:fp.definition(fp.variableName),color:"var(--editor-key-variable)"},{tag:fp.local(fp.variableName),color:"var(--editor-local-variable)"},{tag:[fp.typeName,fp.namespace],color:"var(--editor-key-type)"},{tag:fp.className,color:"var(--editor-key-class)"},{tag:[fp.special(fp.variableName),fp.macroName],color:"var(--editor-special-variable)"},{tag:fp.definition(fp.propertyName),color:"var(--editor-key-property)"},{tag:fp.comment,color:"var(--editor-key-comment)"},{tag:fp.invalid,color:"var(--editor-key-invalid)"}]),GT=ok;GT.extend=function(e){GT.push.apply(GT,c(e)),vk.reBuild(GT)};var $T=Xc.define(ik),VT=new RegExp(/^[\w]*\.[\w]+/);function zT(e){for(var t=VT.exec(e),i=Object.values(window.SupportedLanguages),o=0;o"'.concat(i,'", "Length"->').concat(o,', "CellType"->"wl"|>'),'Forwarded["CM:DropEvent"]')}},file:function(e,t,i,o,n){console.log(t.dom.ocellref),t.dom.ocellref&&server.emitt(i,'<|"Data"->"'.concat(n,'", "Name"->"').concat(o,'"|>'),"File")}},ZT={transaction:function(e,t,i,o){if(console.log(t.dom.ocellref),t.dom.ocellref){var n=t.dom.ocellref.origin.channel;server._emitt(n,'<|"Channel"->"'.concat(i,'", "Length"->').concat(o,', "CellType"->"wl"|>'),'Forwarded["CM:PasteEvent"]')}},file:function(e,t,i,o,n){console.log(t.dom.ocellref),t.dom.ocellref&&server.emitt(i,'<|"Data"->"'.concat(n,'", "Name"->"').concat(o,'"|>'),"File")}},UT=[vk.of(GT),Zk(qT),tO(qT),lO(qT),yO(qT),OO(qT),fT(),vT(qT),PT(qT),Lc(),Ck,BT,xk(XT,ZT)],HT=fa.theme({"&.cm-focused":{outline:"1px dashed var(--editor-outline)",background:"inherit"},".cm-line":{padding:0,"padding-left":"2px","align-items":"center"},".cm-activeLine":{"background-color":"transparent"}}),YT=fa.theme({"&.cm-focused":{outline:"1px dashed var(--editor-outline)",background:"inherit"},".cm-line":{padding:0,"padding-left":"2px","align-items":"center"},".cm-activeLine":{"background-color":"transparent"},".cm-scroller":{"line-height":"inherit","overflow-x":"overlay","overflow-y":"overlay","align-items":"initial"},".cm-content":{padding:"0px 0"},".rainbow-bracket-red":{color:"var(--editor-bracket-1)"},".rainbow-bracket-orange":{color:"var(--editor-bracket-2)"},".rainbow-bracket-yellow":{color:"var(--editor-bracket-3)"},".rainbow-bracket-green":{color:"var(--editor-bracket-4)"},".rainbow-bracket-blue":{color:"var(--editor-bracket-5)"},".rainbow-bracket-indigo":{color:"var(--editor-bracket-6)"},".rainbow-bracket-violet":{color:"var(--editor-bracket-7)"},".rainbow-bracket-red > span":{color:"var(--editor-bracket-1-a)"},".rainbow-bracket-orange > span":{color:"var(--editor-bracket-2-a)"},".rainbow-bracket-yellow > span":{color:"var(--editor-bracket-3-a)"},".rainbow-bracket-green > span":{color:"var(--editor-bracket-4-a)"},".rainbow-bracket-blue > span":{color:"var(--editor-bracket-5-a)"},".rainbow-bracket-indigo > span":{color:"var(--editor-bracket-6-a)"},".rainbow-bracket-violet > span":{color:"var(--editor-bracket-7-a)"}}),KT=!1,JT=[function(){return rs()},function(){return Rd()},function(){return $a()},function(){return Ua()},function(){return Yp()},function(){return Lc()},function(){return fa.lineWrapping},function(){return py()},function(){return Oc(IT,{fallback:!1})},function(){return Vh()}],eQ={},tQ=[function(){return rs()},function(){return Rd()},function(){return $a()},function(){return Ua()},function(e){return oQ.of(e)},function(){return eQ.gutter?Ws():[]},function(){return Yp()},function(){return Lc()},function(){return fa.lineWrapping},function(){return py()},function(){return Oc(IT,{fallback:!1})},function(){return Vh()},function(){return MT},function(){return hs("Type Wolfram Expression / .md / .html / .js")},function(e,t){return FT.of(t)},function(){return LT.of(lt.readOnly.of(!1))},function(){return WT},function(e,t){return ka.of([Lh,{key:"Backspace",run:function(t,i){if(0===t.state.doc.length)return e.origin.remove(),!0}},{key:"ArrowLeft",run:function(e,t){e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowRight",run:function(e,t){e.editorLastCursor=e.state.selection.ranges[0].to}},{key:"ArrowUp",run:function(t,i){(null==t?void 0:t.editorLastCursor)===t.state.selection.ranges[0].to&&e.origin.focusPrev(e.origin),t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"ArrowDown",run:function(t,i){(null==t?void 0:t.editorLastCursor)===t.state.selection.ranges[0].to&&e.origin.focusNext(e.origin),t.editorLastCursor=t.state.selection.ranges[0].to}},{key:"Shift-Enter",preventDefault:!0,run:function(t,i){console.log(t.state.doc.toString()),e.origin.eval(t.state.doc.toString())}}].concat(c(Fh),Hd))},function(e,t){return fa.updateListener.of(function(t){t.docChanged&&e.origin.save(t.state.doc.toString().replaceAll("\\\\","\\\\\\\\").replaceAll('\\"','\\\\"').replaceAll('"','\\"')),t.selectionSet&&(jT=t.view)})},function(){return HT}];function iQ(e){return e.replace(/\\:[\da-f]{4}/gi,function(e){return String.fromCharCode(parseInt(e.replace(/\\:/g,""),16))})}var oQ=ve.define(),nQ=function(){function e(t,i){var o=this;R(this,e),p(this,"origin",{}),p(this,"editor",{}),p(this,"trash",[]),this.origin=t;var n=this.origin,r=zT(i).plugins,a=this;this.origin.element.ocellref=a;var s=new fa({doc:iQ(i),extensions:tQ.map(function(e){return e(a,r)}),parent:this.origin.element});return this.editor=s,this.editor.dom.ocellref=a,this.editor.viewState.state.config.eval=function(){n.eval(o.editor.state.doc.toString())},KT&&s.focus(),KT=!1,this}return E(e,[{key:"forceFocusNext",value:function(){KT=!0}},{key:"setContent",value:function(e){if(console.warn("content mutation!"),this.editor.viewState){var t=this.editor;console.log("result"),console.log(e),this.editor.dispatch({changes:{from:0,to:t.viewState.state.doc.length,insert:e}})}}},{key:"addDisposable",value:function(e){this.trash.push(e)}},{key:"dispose",value:function(){this.editor.destroy()}},{key:"readOnly",value:function(e){this.editor.dispatch({effects:LT.reconfigure(lt.readOnly.of(e))})}}]),e}();function rQ(e){return e.replace(/\\\\:[\da-f]{4}/gi,function(e){return String.fromCharCode(parseInt(e.replace(/\\\\:/g,""),16))})}function aQ(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,function(e){return(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16)})}core.ReadOnly=function(){return"ReadOnly"},core.EditorView=function(){var e=l(a().mark(function e(t,i){var o,n,r,s,l,p;return a().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=rQ,e.next=3,interpretate(t[0],i);case 3:return e.t1=e.sent,o=(0,e.t0)(e.t1),e.next=7,core._getRules(t,i);case 7:n=e.sent,r=function(){},s=function(){},l=o,p=[],n.ReadOnly&&p.push(lt.readOnly.of(!0)),n.ForceUpdate&&(i.local.forceUpdate=n.ForceUpdate),n.Event&&(s=function(e){l=e,console.log("editor view emitt data: "+e),server.kernel.emitt(n.Event,'"'+e.replaceAll('\\"','\\\\"').replaceAll('"','\\"')+'"',"Input")},r=function(){server.kernel.emitt(n.Event,'"'+l.replaceAll('\\"','\\\\"').replaceAll('"','\\"')+'"',"Evaluate")}),i.local?i.local.editor=qT({doc:o,parent:i.element,eval:r,update:s,extensions:p}):qT({doc:o,parent:i.element,eval:r,update:s,extensions:p}),i.element.style.verticalAlign="inherit";case 17:case"end":return e.stop()}},e)}));return function(t,i){return e.apply(this,arguments)}}(),core.StripOnInput=l(a().mark(function e(){return a().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),core.EditorView.update=function(){var e=l(a().mark(function e(t,i){var o;return a().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.local.editor){e.next=2;break}return e.abrupt("return");case 2:return e.t0=rQ,e.next=5,interpretate(t[0],i);case 5:e.t1=e.sent,o=(0,e.t0)(e.t1),console.log("editor view: dispatch"),i.local.forceUpdate,i.local.editor.dispatch({changes:{from:0,to:i.local.editor.state.doc.length,insert:o}});case 9:case"end":return e.stop()}},e)}));return function(t,i){return e.apply(this,arguments)}}(),core.EditorView.destroy=function(){var e=l(a().mark(function e(t,i){return a().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,interpretate(t[0],i);case 2:i.local&&i.local.editor&&i.local.editor.destroy();case 3:case"end":return e.stop()}},e)}));return function(t,i){return e.apply(this,arguments)}}(),core.PreviewCell=function(e,t){},window.SupportedLanguages.push({check:function(e){return null===e},legacy:!0,plugins:UT,name:"mathematica"}),window.SupportedLanguages.push({check:function(e){return null!=e[0].match(/\w+\.(wl|wls)$/)},plugins:UT,legacy:!0,name:"mathematica"}),window.SupportedCells.codemirror={view:nQ,context:{EditorAutocomplete:GT,javascriptLanguage:Sm,javascript:Am,markdownLanguage:Nw,markdown:ek,htmlLanguage:Qw,html:Aw,cssLanguage:ew,css:tw,EditorView:fa,EditorState:lt,highlightSpecialChars:rs,syntaxHighlighting:Oc,defaultHighlightStyle:IT,editorCustomTheme:HT,foldGutter:mc,Facet:ve,Compartment:Re,mathematicaPlugins:UT,legacyLangNameFacet:NT,DropPasteHandlers:xk,EditorExtensionsMinimal:JT,EditorParameters:eQ,EditorExtensions:tQ,StateField:Pe,Decoration:eo,ViewPlugin:To,WidgetType:Ki,originFacet:oQ,MatchDecorator:Ka}},window.OfflineMode&&BT.push(lt.readOnly.of(!0));var sQ={};core.FrontEditorSelected=function(){var e=l(a().mark(function e(t,i){var o,n,r,s,l,p;return a().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("check"),e.next=3,interpretate(t[0],i);case 3:return o=e.sent,e.next=6,core._getRules(t,i);case 6:n=e.sent,r=void 0,n.Editor&&(r=sQ[n.Editor],console.log("Editor"),console.log(n.Editor),console.log(r)),e.t0=o,e.next="Get"===e.t0?12:"Set"===e.t0?13:"GetDoc"===e.t0?18:"SetDoc"===e.t0?19:"Cursor"===e.t0?24:"Type"===e.t0?25:"Editor"===e.t0?26:29;break;case 12:return e.abrupt("return",_T.get(r));case 13:return e.next=15,interpretate(t[1],i);case 15:return s=e.sent,_T.set(s,r),e.abrupt("break",29);case 18:return e.abrupt("return",_T.getContent(r));case 19:return e.next=21,interpretate(t[1],i);case 21:return l=e.sent,_T.setContent(l,r),e.abrupt("break",29);case 24:return e.abrupt("return",_T.cursor(r));case 25:return e.abrupt("return",_T.type(r));case 26:return p=aQ(),sQ[p]=_T.currentEditor(),e.abrupt("return",p);case 29:case"end":return e.stop()}},e)}));return function(t,i){return e.apply(this,arguments)}}(); +},{"process":"pBGv","buffer":"dskh"}]},{},["bGiS"], null) +//# sourceMappingURL=https://jerryi.github.io/wljs-editor/kernel.9bea77a7.js.map \ No newline at end of file diff --git a/github-pages/kernel.9bea77a7.js.map b/github-pages/kernel.9bea77a7.js.map new file mode 100644 index 0000000..0453965 --- /dev/null +++ b/github-pages/kernel.9bea77a7.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../node_modules/process/browser.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/buffer/index.js","../dist/kernel.js"],"names":["cachedSetTimeout","cachedClearTimeout","process","module","exports","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","call","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","Item","array","noop","nextTick","args","Array","arguments","i","push","prototype","apply","title","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","_regeneratorRuntime","Op","Object","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","record","result","_typeof","__await","then","unwrapped","error","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_defineProperty","_toPropertyKey","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_i","_s","_e","_x","_r","_arr","_n","_d","_createForOfIteratorHelper","o","allowArrayLike","it","F","s","n","_e4","f","normalCompletion","didErr","step","_e5","minLen","toString","test","arr2","_get","Reflect","get","bind","target","property","receiver","base","_superPropBase","getOwnPropertyDescriptor","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","p","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","NewTarget","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","Text","pos","RangeError","lineInner","lines","to","text","parts","decompose","TextNode","other","replace","start","scanIdentical","end","a","RawTextCursor","b","skip","lineBreak","PartialTextCursor","inner","line","iterRange","Math","max","LineCursor","sliceString","flatten","TextLeaf","split","empty","_Text","_super","_this2","textLength","isLine","offset","string","Line$1","open","sliceText","min","joined","appendText","mid","newLen","lineSep","_step","_iterator","_step2","part","_iterator2","_Text2","_super2","children","_this3","_step3","_iterator3","child","endLine","childOpen","updated","totalLines","copy","_step4","_iterator4","_ref2","iA","iB","eA","eB","chA","chB","_step5","reduce","l","ch","_iterator5","_step6","flat","_iterator6","chunk","maxChunk","minChunk","chunked","currentLines","currentLen","currentChunk","add","last","_step7","_iterator7","flush","_step8","_iterator8","_step9","_iterator9","first","nodes","offsets","top","offsetValue","size","nextInner","cursor","limit","afterBreak","_this$inner$next","Line","number","extend","map","parseInt","isExtendingChar","code","isRegionalIndicator","ZWJ","findClusterBreak","str","nextClusterBreak","prevClusterBreak","includeExtending","surrogateLow","charCodeAt","surrogateHigh","codePointAt","codePointSize","countBefore","found","code0","code1","fromCodePoint","fromCharCode","DefaultSplit","MapMode","ChangeDesc","sections","ins","posA","posB","iterChanges","composeSets","before","mapSet","assoc","mode","Simple","endA","TrackDel","TrackBefore","TrackAfter","json","some","ChangeSet","_ChangeDesc","_super3","inserted","_this4","doc","fromA","toA","fromB","_toB","index","ranges","resultSections","resultInserted","filteredSections","SectionIter","addSection","addInsert","forward","changes","filtered","toJSON","total","set","compose","spec","_step10","_iterator10","_spec$to","insert","insText","of","insLen","forceJoin","append","individual","endB","setA","setB","piece","createSet","left","len2","sectionLen","insB","textBit","forward2","SelectionRange","flags","level","change","mapPos","anchor","EditorSelection","range","head","abs","mainIndex","r","eq","main","which","fromJSON","normalized","bidiLevel","goalColumn","sort","indexOf","splice","checkSelection","selection","docLength","_step11","_iterator11","nextID","Facet","combine","compareInput","compare","isStatic","enables","id","default","extensions","FacetProvider","deps","field","x","compute","config","sameArray$1","static","every","dependencies","facet","addresses","_a","_step12","_this5","getter","idx","multi","depDoc","depSel","depAddrs","_iterator12","dep","update","tr","docChanged","ensureAll","newVal","compareArray","reconfigure","oldState","oldAddr","address","oldVal","getAddr","StateField","addrs","_step13","changed","_iterator13","ensureAddr","dynamicFacetSlot","providers","providerAddrs","providerTypes","dynamic","filter","_step14","_iterator14","_step15","_iterator15","depChanged","oldProviders","facets","oldValue","initField","createF","updateF","compareF","provides","_this6","init","find","_this7","provide","Prec_","lowest","low","high","highest","prec","ext","PrecExtension","Prec","Compartment","CompartmentInstance","content","compartment","extension","compartments","Configuration","dynamicSlots","staticValues","statusTemplate","addr","_step16","fields","newCompartments","Map","_iterator16","_loop","_fields","_i29","slot","oldFacets","_loop2","_step17","_iterator17","_loop3","dynamicSlot","seen","known","delete","_step18","_iterator18","has","status","computeSlot","languageData","allowMultipleSelections","v","lineSeparator","changeFilter","transactionFilter","transactionExtender","readOnly","Annotation","AnnotationType","StateEffectType","StateEffect","mapping","mapped","effects","_step19","_iterator19","appendConfig","Transaction","startState","annotations","scrollIntoView","_doc","_state","newLength","time","Date","now","applyTransaction","_step20","_iterator20","ann","event","annotation","userEvent","joinRanges","mergeTransaction","sequential","mapForA","mapForB","mapDesc","mapEffects","resolveTransactionInner","docSize","sel","asArray$1","single","resolveTransaction","specs","seq","extendTransaction","filterTransaction","_step21","_iterator21","back","invertedDesc","filters","extenders","addToHistory","remote","none$3","wordChar","CharCategory","nonASCIISingleCaseWordChar","RegExp","_","hasWordChar","toUpperCase","toLowerCase","makeCategorizer","wordChars","char","Space","Word","Other","EditorState","require","_len4","_key","_step22","startValues","_this8","conf","_conf","_iterator22","effect","is","newDoc","newSelection","toText","changeByRange","result1","newChanges","newMapped","j","mapBy","sliceDoc","prop","tabSize","phrase","_len5","_key2","_step23","_iterator23","phrases","m","_step24","side","_iterator24","_step25","_iterator25","provider","at","languageDataAt","join","_this$doc$lineAt","lineAt","cat","charCategorizer","fieldInit","_loop4","configuration","staticFacet","asSingle","combineConfig","configs","defaults","_step26","_iterator26","_i37","_Object$keys","current","kA","kB","k","RangeValue","Range$1","startSide","endSide","point","mapMode","Range","cmpRange","Chunk","maxPoint","startAt","lo","hi","diff","findIndex","newPos","curFrom","curTo","newFrom","newTo","RangeSet","chunkPos","nextLayer","chunkEnd","isEmpty","_step27","_iterator27","updateSpec","_updateSpec$add","_updateSpec$sort","_updateSpec$filterFro","filterFrom","_updateSpec$filterTo","filterTo","cur","LayerCursor","goto","spill","builder","RangeSetBuilder","addInner","rangeIndex","chunkIndex","addChunk","nextChunk","finishInner","chunks","touch","touchesRange","_chunk$map","between","HeapCursor","sets","oldSets","newSets","textDiff","comparator","minPointSize","sharedChunks","findSharedChunks","sideA","SpanCursor","sideB","iterGaps","sameValues","active","openRanges","openStart","activeForPoint","openCount","pointFrom","pointRank","openEnd","span","_step28","build","_iterator28","lazySort","chunkStart","lastFrom","lastTo","setMaxPoint","newArrays","finishChunk","_step29","inA","_iterator29","_step30","shared","Set","_iterator30","layer","minPoint","rank","gotoInner","setRangeIndex","heap","_step31","_iterator31","heapBubble","_step32","_iterator32","childIndex","activeTo","activeRank","minActive","removeActive","remove","findMinIndex","trackOpen","_this$cursor","wasPoint","nextVal","addActive","startA","startB","dPos","clipEnd","comparePoint","compareRange","foundPos","countColumn","findColumn","col","strict","C","COUNT","for","SET","floor","random","globalThis","window","StyleModule","options","rules","splitSelector","selector","render","selectors","isKeyframes","local","isAt","exec","keyframes","root","modules","StyleSet","mount","adoptedSet","ownerDocument","win","defaultView","adoptedStyleSheets","CSSStyleSheet","adopted","sheet","styleTag","createElement","insertBefore","firstChild","mod","insertRule","getRules","textContent","shift","chrome$1","navigator","userAgent","mac","platform","ie$1","brokenModifierNames","keyName","ctrlKey","altKey","metaKey","shiftKey","keyCode","getSelection","nodeType","contains","dom","node","parentNode","deepActiveElement","elt","activeElement","shadowRoot","hasSelection","anchorNode","clientRectsFor","textRange","nodeValue","getClientRects","isEquivalentPosition","targetNode","targetOff","scanFor","domIndex","previousSibling","maxOffset","nodeName","parent","childNodes","contentEditable","Rect0","right","bottom","flattenRect","rect","windowRect","innerWidth","innerHeight","scrollRectIntoView","y","xMargin","yMargin","ltr","bounding","body","scrollHeight","clientHeight","scrollWidth","clientWidth","assignedSlot","getBoundingClientRect","moveX","moveY","rectHeight","boundingHeight","scrollBy","movedX","movedY","scrollTop","scrollLeft","host","scrollableParent","scratchRange","DOMSelectionState","anchorOffset","focusNode","focusOffset","domSel","preventScrollSupported","focusPreventScroll","setActive","focus","stack","preventScroll","document","createRange","setEnd","setStart","dispatchKey","cancelable","down","KeyboardEvent","synthetic","dispatchEvent","up","defaultPrevented","getRoot","clearAttributes","attributes","removeAttributeNode","atElementStart","DOMPos","precise","noChildren","ContentView","dirty","posBefore","posAtStart","view","_step33","_iterator33","breakAfter","_pos","_side","track","_step34","_iterator34","nextSibling","contentView","canReuseDOM","reuseDOM","sync","written","rm$1","_step35","_iterator35","_dom","after","bias","lastChild","fromI","fromStart","toI","toEnd","prevEnd","domBoundsAround","startDOM","endDOM","andParent","markParentsDirty","childList","cmView","_this$children","markDirty","destroy","setParent","_rec","_event","ChildCursor","childCursor","findPos","source","hasStart","removeChild","replaceRange","fromOff","toOff","breakAtStart","breakAtEnd","merge","become","replaceChildren","mergeChildrenInto","_step36","_cur$findPos","_cur$findPos2","dLen","_iterator36","nav","vendor","documentElement","style","ie_edge","ie_upto10","ie_11up","ie","gecko","chrome","webkit","safari","ios","maxTouchPoints","browser","windows","linux","ie_version","documentMode","gecko_version","chrome_version","android","webkit_version","MaxJoinLen","TextView","_ContentView","_super4","_this9","textDOM","setDOM","createTextNode","createDOM","_from","_to","textCoords","MarkView","_ContentView2","_super5","_this10","_step37","_iterator37","class","className","attrs","setAttribute","tagName","setAttrs","_hasStart","_step38","detachFrom","_iterator38","inlineDOMAtPos","coordsInChildren","rects","width","WidgetView","_ContentView3","_super6","widget","_this11","prevWidget","updateDOM","toDOM","ignoreEvent","isHidden","customView","CompositionView","_WidgetView","_super7","_this$widget","topView","scanCompositionTree","domAtPos","_this$widget2","posFromDOMInCompositionTree","_this$widget3","coordsAt","enterView","fromText","hasComp","getSide","scanCompositionNode","childView","localPosFromDOM","posFromDOMInOpaqueNode","WidgetBufferView","_ContentView4","_super8","_this12","imgRect","siblingRect","inlineSiblingRect","nextRect","joinInlineInto","beforePos","afterPos","scan","fallbackRect","combineAttrs","attrsEq","keysA","keysB","_i67","_keysA","updateAttrs","removeAttribute","WidgetType","BlockType","Decoration","_RangeValue","_super9","_this13","estimatedHeight","MarkDecoration","block","PointDecoration","isBlockGap","_getInclusive","getInclusive","LineDecoration","none","_Decoration","_super10","_this14","_getInclusive2","_Decoration2","_super11","_Decoration3","_super12","isReplace","_this15","WidgetRange","WidgetBefore","WidgetAfter","widgetsEq","inclusiveStart","inclusiveEnd","inclusive","addRange","margin","LineView","_ContentView5","_super13","_this16","prevAttrs","transferDOM","setDeco","_this$childPos","childPos","deco","cls","classList","isEditable","hack","cmIgnore","appendChild","textHeight","_step39","totalWidth","_iterator39","height","lineHeight","charWidth","heightOracle","viewState","dist","_other","docView","BlockWidgetView","_ContentView6","_super14","_this17","_takeDeco","console","posAtEnd","ContentBuilder","disallowBlockEffectsFor","curLine","pendingBuffer","bufferMarks","atCursorPos","textOff","wrapMarks","flushBuffer","posCovered","getLine","_this$cursor$next2","take","buildText","addBlockWidget","NullWidget","cursorBefore","cursorAfter","addLineDeco","decorations","dynamicDecorationMap","spans","_step40","_iterator40","_WidgetType","_super15","tag","_this18","clickAddsSelectionRange","dragMovesSelection$1","mouseSelectionStyle","exceptionSink","updateListener","inputHandler","focusChangeEffect","perLineTextDirection","nativeSelectionHidden","ScrollTarget","scrollIntoView$1","t","logException","handler","onerror","editable","nextPluginID","viewPlugin","ViewPlugin","domEventHandlers","buildExtensions","_ref4","eventHandlers","plugin","pluginInst","PluginInstance","mustUpdate","deactivate","editorAttributes","contentAttributes","atomicRanges","scrollMargins","styleModule","ChangedRange","toB","me","dI","rI","addToSet","ViewUpdate","transactions","_step41","_iterator41","changedRanges","iterChangedRanges","Direction","LTR","RTL","dec","LowTypes","ArabicTypes","Brackets","BracketStack","_i70","_arr2","charType","BidiRE","BidiSpan","order","maybe","types","computeOrder","direction","outerType","oppositeType","trivialOrder","prevStrong","br","sI","sJ","embed","beforeL","rtl","movedOver","moveVisually","startIndex","spanI","indexForward","nextIndex","nextSpan","LineBreakPlaceholder","DOMReader","points","findPointBefore","readNode","nextView","isBlockElement","_step42","_iterator42","re","nextBreak","breakSize","_step43","_iterator43","fromView","overrideDOMText","findPointInside","readTextNode","readRange","_step44","_iterator44","maxLen","_step45","_iterator45","DOMPoint","DocView","_ContentView7","_super16","_this19","compositionDeco","minWidth","minWidthFrom","minWidthTo","impreciseAnchor","impreciseHead","forceSelection","lastUpdate","contentDOM","updateDeco","updateInner","_this20","_ref5","inputState","composing","computeCompositionDeco","decoDiff","findChangedDeco","extendWithRanges","oldLength","_this21","mustMeasureContent","updateChildren","observer","ignore","contentHeight","flexBasis","selectionRange","gaps","viewport","_step46","_iterator46","BlockGapWidget","updateGaps","_ContentBuilder$build","_cursor$findPos","_cursor$findPos2","_this22","mustRead","fromPointer","readSelectionRange","activeElt","focused","selectionNotFocus","force","betweenUneditable","dummy","inUneditable","blur","rawSel","nextTo","nextToUneditable","nearbyTextNode","collapse","cursorBidiLevel","_ref6","removeAllRanges","setSelectionRange","_view$observer$select","modify","lineStart","newRange","posFromDOM","domView","rootView","nearest","_this$childCursor$fin","contentWidth","isWider","scrollDOM","widest","textDirection","childRect","getComputedStyle","_step47","_this23","_iterator47","measure","measureTextSize","vs","viewports","lineBlockAt","_this24","allDeco","d","computeBlockGapDeco","lineGapDeco","_this25","_step48","mLeft","mRight","mTop","mBottom","_iterator48","margins","targetRect","_WidgetType2","_super17","_this26","compositionSurroundingNode","textNode","cView","topNode","surrounding","CompositionWidget","_WidgetType3","_super18","_this27","startNode","startOffset","DecorationComparator$1","comp","inside","groupAt","categorize","linePos","getdx","getdy","yOverlap","upTop","upBot","domPosAtCoords","closest","closestRect","closestX","closestY","above","below","aboveRect","belowRect","closestOverlap","dx","dy","domPosInText","clipX","closestOffset","closestDY","generalSide","posAtCoords","coords","_b","docTop","paddingTop","docHeight","yOffset","halfLine","defaultLineHeight","bounced","elementAtHeight","posAtCoordsImprecise","elementFromPoint","element","caretPositionFromPoint","offsetNode","caretRangeFromPoint","startContainer","isSuspiciousSafariCaretResult","isSuspiciousChromeCaretResult","_domPosAtCoords","isWidget","contentRect","into","round","defaultCharacterWidth","lineWrapping","lineLength","moveToLineBoundary","includeWrap","coordsAtPos","editorRect","textDirectionAt","lineView","moveByChar","by","bidiSpans","check","byGroup","nextCat","moveVertically","distance","startPos","startY","goal","startCoords","documentTop","resolvedGoal","extra","curY","skipAtoms","oldPos","selected","atoms","_loop5","_step49","moved","_iterator49","skipPosition","_ret","InputState","_this28","lastKeyCode","lastKeyTime","lastTouchTime","lastFocusTime","lastScrollTop","lastScrollLeft","chromeScrollHack","pendingIOSKey","lastSelectionOrigin","lastSelectionTime","lastEscPress","lastContextMenu","scrollHandlers","registeredEvents","customHandlers","compositionFirstChange","compositionEndedAt","compositionPendingKey","compositionPendingChange","mouseSelection","handleEvent","ignoreDuringComposition","keydown","mustFlushObserver","forceFlush","runCustomHandlers","preventDefault","_loop6","handlers","addEventListener","eventBelongsToEditor","handlerOptions","clientY","mousedown","button","minHeight","pointerEvents","passive","notifiedFocused","hasFocus","origin","plugins","_this29","_step50","_iterator50","_loop7","_step51","_iterator51","_step52","_iterator52","scroll","pending","_this30","modifierCodes","PendingKeys","EmacsyPendingKeys","flushIOSKey","delayAndroidKey","inputType","dragScrollMargin","dragScrollSpeed","MouseSelection","startEvent","mustSelect","scrollSpeed","scrolling","lastEvent","scrollParent","move","multiple","addsSelectionRange","dragMove","dragMovesSelection","dragging","isInPrimarySelection","getClickType","select","buttons","sx","sy","clientX","setScrollSpeed","removeEventListener","_this31","setInterval","clearInterval","dispatch","_this32","rangeCount","getRangeAt","bubbles","brokenClipboardAPI","capturePaste","cssText","doPaste","byLine","lastLinewiseCopy","lastLine","replaceSelection","rangeForClick","visual","setSelectionOrigin","touchstart","touchmove","_step53","_iterator53","makeStyle","basicMouseSelection","mustFocus","startMouseSelection","insideY","findPositionSide","queryPos","BadMouseDetail","lastMouseDown","lastMouseDownCount","lastMouseDownTime","detail","lastTime","startSel","removed","startRange","removeRangeAround","_sel$ranges$_i","dropText","direct","dropPos","del","captureCopy","selectionEnd","selectionStart","copiedRange","_step54","linewise","_iterator54","_step55","upto","_iterator55","dragstart","dataTransfer","setData","effectAllowed","drop","files","read","finishFile","_loop8","_i88","reader","FileReader","onload","readAsText","getData","paste","data","clipboardData","cut","_copiedRange","clearData","isFocusChange","focusChangeTransaction","_step56","_iterator56","getEffect","updateForFocusChange","clearSelectionRange","compositionstart","compositionupdate","compositionend","pendingRecords","flushSoon","contextmenu","beforeinput","startViewHeight","visualViewport","wrappingWhiteSpace","HeightOracle","heightSamples","heightChanged","ceil","whiteSpace","lineHeights","newHeight","h","knownHeights","MeasuredHeights","heights","BlockInfo","QueryType","Epsilon","HeightMap","oracle","oldDoc","_changes$_i","ByPosNoHeight","setDoc","NodeBuilder","updateHeight","HeightMapText","break","brk","HeightMapBranch","HeightMapBlock","_HeightMap","_super19","_this33","_height","_oracle","_value","_type","blockAt","measured","more","setHeight","outdated","_HeightMapBlock","_super20","_this34","collapsed","widgetHeight","HeightMapGap","heightForLine","_HeightMap2","_super21","perLine","firstLine","perChar","totalPerLine","_this$heightMetrics","heightMetrics","guess","lineTop","_oracle$doc$line","ByHeight","_oracle$doc$lineAt","_this$heightMetrics2","linesAbove","_this$heightMetrics3","unshift","singleHeight","heightForGap","_HeightMap3","_super22","_this35","rightTop","rightOffset","subQuery","ByPos","forEachLine","rightStart","balanced","decomposeLeft","_step57","_iterator57","mergeGaps","decomposeRight","rebalance","around","relevantWidgetHeight","lineEnd","covering","writtenTo","isCovered","heightRelevant","addBlock","_this$oracle$doc$line","blankContent","gap","enterLine","ensureLine","_step58","_iterator58","heightRelevantDecoChanges","DecorationComparator","visiblePixelRange","overflow","parentRect","position","offsetParent","fullPixelRange","LineGap","wrapping","LineGapWidget","gA","gB","_WidgetType4","_super23","vertical","_this36","display","ViewState","pixelViewport","inView","paddingBottom","contentDOMWidth","contentDOMHeight","editorHeight","editorWidth","scaler","IdScaler","scrollTarget","printing","defaultTextDirection","visibleRanges","mustEnforceCursorAssoc","guessWrapping","stateDeco","heightMap","applyChanges","getViewport","updateViewportLines","updateForViewport","lineGaps","ensureLineGaps","draw","computeVisibleRanges","_this37","_loop9","_ref7","_this37$lineBlockAt","Viewport","BigScaler","_this38","viewportLines","scale","scaleBlock","prevDeco","contentChanges","heightChanges","prevHeight","mapViewport","viewportIsAppropriate","updateLines","updateLineGaps","mapLineGaps","selectionSet","refresh","mustRefreshForWrapping","domRect","measureContent","dTop","dBottom","measureVisibleLineHeights","mustRefreshForHeights","_view$docView$measure","_step59","_iterator59","vp","viewportChange","enforceCursorAssoc","fromDOM","marginTop","visibleTop","visibleBottom","topPos","viewHeight","_ref8","_step60","_iterator60","mayMeasure","_this39","halfMargin","doubleMargin","_step61","addGap","structure","avoid","_i94","_avoid","gapSize","_iterator61","lineStructure","viewFrom","viewTo","marginHeight","bot","targetFrac","findFraction","spaceFrac","findPosition","marginWidth","fraction","_this40","same","_ref9","ratio","_ranges$_i","_step62","counted","_iterator62","_step62$value","_step63","_iterator63","vpHeight","domBase","_ref10","domTop","domBottom","_step64","_iterator64","bTop","bBottom","theme","strs","darkTheme","baseThemeID","newName","baseLightID","baseDarkID","lightDarkIDs","buildTheme","scopes","baseTheme$1$1","boxSizing","outline","flexDirection","alignItems","fontFamily","overflowX","zIndex","flexGrow","flexShrink","wordWrap","padding","WebkitUserModify","whiteSpace_fallback","wordBreak","overflowWrap","caretColor","contain","background","animation","opacity","borderLeft","marginLeft","borderLeftColor","backgroundColor","color","borderRight","textAlign","borderBottom","borderTop","verticalAlign","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","fontSize","borderRadius","border","DOMChange","typeOver","bounds","_view$docView","iHead","iAnchor","newSel","selPoints","selectionPoints","selectionFromPoints","applyDOMChange","domChange","_domChange$bounds","preferredPos","preferredSide","findDiff","getAttribute","mainSel","replaced","compositionRange","rangeChanges","selOff","_view$observer$select2","observeOptions","characterData","subtree","characterDataOldValue","useCharData","DOMObserver","_this41","selectionChanged","delayedFlush","resizeTimeout","delayedAndroidKey","flushingAndroidKey","lastChange","scrollTargets","intersection","resizeScroll","resizeContent","intersecting","gapIntersection","parentCheck","MutationObserver","mutations","_step65","_iterator65","mut","removedNodes","onCharData","prevValue","onSelectionChange","onResize","onPrint","onScroll","ResizeObserver","observe","requestMeasure","addWindowListeners","IntersectionObserver","entries","listenForScroll","intersectionRatio","onScrollChanged","createEvent","runScrollHandlers","_this42","_this43","g","disconnect","_step66","_iterator66","wasChanged","safariSelectionRangeHack","updateSelection","setRange","_step67","_iterator67","_step68","_iterator68","clear","processRecords","_this44","requestAnimationFrame","clearDelayedAndroidKey","cancelAnimationFrame","_this45","_step69","_iterator69","takeRecords","records","_step70","_iterator70","readMutation","_this$processRecords","readSelection","readChange","handled","rec","ignoreMutation","childBefore","findChild","childAfter","posAfter","removeWindowListeners","_c","_step71","_iterator71","curView","stopImmediatePropagation","getTargetRanges","execCommand","endContainer","endOffset","curAnchor","_ref11","EditorView","_this46","pluginMap","editorAttrs","contentAttrs","bidiCache","destroyed","updateState","measureScheduled","measureRequests","tabIndex","announceDOM","_dispatch","_root","_step72","_iterator72","ensureHandlers","mountStyles","_this$state","_this47","_step73","redrawn","attrsChanged","_iterator73","focusFlag","dispatchFocus","pendingKey","setState","_step74","_iterator74","_step75","_iterator75","CachedOrder","updatePlugins","styleModules","showAnnouncements","isUserEvent","_step76","_iterator76","listener","newState","hadFocus","_step77","_iterator77","_step78","_iterator78","prevSpecs","_step79","newPlugins","_iterator79","_step80","_iterator80","_step81","_iterator81","_this48","_this$scrollDOM","refHeight","oldViewport","refBlock","lineBlockAtHeight","warn","measuring","_ref12","BadMeasure","scrolled","write","_step82","_iterator82","_this49","attrsFromFacet","themeClasses","spellcheck","autocorrect","autocapitalize","translate","contenteditable","role","changedContent","changedEditor","trs","_step83","_iterator83","_step84","_iterator84","announce","request","_this50","readMeasured","_this51","initial","MaxBidiLine","_step85","_iterator85","_this52","setWindow","_step86","_iterator86","prefix","dark","querySelector","cache","lastDir","sources","currentPlatform","normalizeKeyName","alt","ctrl","meta","modifiers","handleKeyEvents","runHandlers","getKeymap","keymap","Keymaps","WeakMap","bindings","buildKeymap","storedPrefix","PrefixTimeout","_step87","bound","isPrefix","checkPrefix","scope","command","scopeObj","_loop10","ourObj","full","_any","_iterator87","any","_step88","_iterator88","_step89","_iterator89","isChar","fallthrough","baseName","shiftName","ran","runFor","_step90","_iterator90","cmd","RectangleMarker","adjust","getBase","rectanglesForRange","wrappedLine","_step91","_iterator91","lineElt","lineStyle","leftSide","paddingLeft","textIndent","rightSide","paddingRight","startBlock","endBlock","visualStart","visualEnd","pieces","drawForLine","drawForWidget","_ref13","horizontal","addSpan","fromOpen","toOpen","fromCoords","toCoords","_step92","_iterator92","endPos","_step93","docLine","_iterator93","spanFrom","spanTo","sameMarker","LayerView","drawn","measureReq","setOrder","layerOrder","geometryChanged","markers","_this53","_step94","old","oldI","_iterator94","CanHidePrimary","selectionConfig","cursorBlinkRate","drawRangeCursor","drawSelection","cursorLayer","selectionLayer","hideNativeSelection","configChanged","_step95","cursors","_iterator95","_step96","_iterator96","forRange","animationName","confChange","setBlinkRate","animationDuration","viewportChanged","themeSpec","setDropCursorPos","dropCursorPos","drawDropCursor","fromClass","_class","readPos","drawCursor","cursorPos","outer","dragover","setDropPos","dragleave","relatedTarget","dragend","dropCursor","iterMatches$1","lastIndex","matchRanges$1","maxLength","visible","_step97","_iterator97","_step97$value","MatchDecorator","regexp","decoration","decorate","boundary","_config$maxLength","global","addMatch","match","_view","_step98","_this54","_iterator98","_step98$value","changeFrom","changeTo","_f","_t","createDeco","updateRange","updateFrom","updateTo","_step99","_this55","_iterator99","_loop11","fromLine","toLine","UnicodeRegexpSupport","unicode","Specials","Names","_supportsTabSize","supportsTabSize","styles","MozTabSize","specialCharConfig","specialChars","addSpecialChars","replaceTabs","highlightSpecialChars","specialCharPlugin","_plugin","_class2","decorationCache","decorator","makeDecorator","_this56","TabWidget","SpecialCharWidget","DefaultPlaceholder","placeholder$1$1","_WidgetType5","_super24","_this57","ph","custom","_WidgetType6","_super25","_this58","Placeholder","_WidgetType7","_super26","_this59","placeholder$8","_class3","placeholder","Outside","TooltipViewManager","createTooltipView","tooltips","tooltipViews","_step100","_iterator100","tip","tooltipView","_step101","_iterator101","windowSpace","tooltipConfig","tooltipSpace","knownHeight","tooltipPlugin","_class4","_this60","lastTransaction","measureTimeout","classes","createContainer","readMeasure","writeMeasure","manager","showTooltip","createTooltip","intersectionObserver","measureSoon","threshold","observeIntersection","maybeMeasure","container","_step102","_iterator102","tooltip","_this61","shouldMeasure","newConfig","_step103","_iterator103","_step104","_iterator104","arrow","_step105","_iterator105","_this62","editor","tv","getCoords","_ref14","space","others","tView","arrowHeight","noOffset","strictSide","spaceVert","resize","overlap","_step106","_iterator106","toggle","positioned","_step107","_iterator107","baseTheme$3","baseTheme","borderTopColor","borderBottomColor","getTooltip","GutterMarker","_RangeValue2","_super27","elementClass","gutterLineClass","renderEmptyElements","elementStyle","lineMarker","lineMarkerChange","initialSpacer","updateSpacer","activeGutters","gutter","gutters","assign","unfixGutters","gutterView","fixed","_class5","prevViewport","SingleGutterView","_step108","_iterator108","syncGutters","updateGutters","vpA","vpB","vpOverlap","detach","_this63","_step109","lineClasses","classSet","contexts","UpdateContext","documentPadding","_iterator109","viewportLineBlocks","_step111","_iterator111","advanceCursor","_step112","_iterator112","_step110","_iterator110","_step113","_iterator113","_step114","_iterator114","_step115","_iterator115","_i110","_gutters2","_step116","_iterator116","offsetWidth","asArray","collect","extraMarkers","localMarkers","forLine","elements","newElt","GutterElement","_this64","spacer","_loop12","prevMarkers","_step117","_iterator117","sameMarkers","setMarkers","domPos","iNew","iOld","skipTo","matched","c","lineNumberMarkers","lineNumberConfig","formatNumber","_loop13","exists","NumberMarker","_GutterMarker","_super28","_this65","lineNumberGutter","maxLineNumber","lineNumbers","DefaultBufferLength","nextPropID","NodeProp","perNode","deserialize","_this66","NodeType","closedBy","openedBy","group","contextHash","lookAhead","mounted","MountedTree","tree","overlay","parser","noProps","skipped","_step118","_iterator118","src","_step119","_iterator119","groups","IterMode","NodeSet","newTypes","_len6","_key4","_step120","_iterator120","_step121","newProps","_iterator121","CachedNode","CachedInnerNode","Tree","positions","_step122","_iterator122","_step122$value","_step123","_iterator123","isError","JSON","stringify","TreeCursor","moveTo","_tree","TreeNode","resolveNode","enter","leave","_spec$from","_spec$to2","IncludeAnonymous","entered","isAnonymous","_this67","balanceRange","propValues","makeTree","buildTree","FlatBufferCursor","buffer","TreeBuffer","childString","endIndex","pick","checkSide","startI","endI","Uint16Array","enterUnfinishedNodesBefore","prevSibling","overlays","IgnoreOverlays","_parent","_parent$_tree","ExcludeBuffers","BufferNode","BufferContext","hasChild","IgnoreMounts","nextChild","_step124","rPos","_iterator124","_step124$value","nextSignificantParent","getChildren","matchNodeContext","externalSibling","parentStart","bufferNode","yieldNode","yieldBuf","_this$buffer","yield","enterChild","sibling","_this$_tree","_parent3","atLastNode","depth","mustLeave","nodeSet","_data$maxBufferLength","maxBufferLength","_data$reused","reused","_data$minRepeatType","minRepeatType","takeNode","minPos","inRepeat","lookAheadAtStart","maxSize","fork","minStart","nodeSize","localSkipped","nodeStart","findBufferSize","copyToBuffer","localChildren","localPositions","localInRepeat","lastGroup","lastEnd","makeRepeatLeaf","make","lookAheadProp","lastI","makeBalanced","pair","bufferStart","topID","nodeSizeCache","balanceType","_step125","_iterator125","mkTop","mkTree","maxChild","divide","groupFrom","groupStart","groupSize","nextSize","only","NodeWeakMap","setBuffer","getBuffer","TreeFragment","_step126","fragments","partial","_iterator126","minGap","fI","nextF","cI","nextC","nextPos","fFrom","fTo","Parser","StringInput","createParse","parse","startParse","advance","parseMixed","nest","MixedParse","InnerParse","ActiveOverlay","predicate","mounts","stoppedInner","innerDone","baseTree","stoppedAt","baseParse","startInner","_step127","_iterator127","stopAt","parsedPos","fragmentCursor","FragmentCursor$2","covered","hasNode","frag","_step128","_iterator128","_loop14","checkCover","materialize","oldMounts","findMounts","punchRanges","enterFragments","_step129","_iterator129","sliceBuf","buf","innerOffset","isTarget","toTree","StructureCursor","FragmentCursor","fragI","curFrag","nextFrag","gapFrom","gapTo","findCoverChanges","inB","nextA","nextB","_step130","_iterator130","_loop15","_step130$value","nextTagID","Tag","modified","_step131","_iterator131","Modifier","nextModifierID","instances","mods","sameArray","_step132","_iterator132","_step133","powerSet","_iterator133","_step134","_iterator134","styleTags","byName","tags","_step135","_iterator135","rest","rule","Rule","ruleNodeProp","tagHighlighter","_step136","_iterator136","_step139","_iterator139","_ref15","_ref15$all","all","_step137","_iterator137","_step138","_iterator138","sub","tagClass","highlightTags","highlighters","_step140","_iterator140","highlightTree","highlighter","putStyle","HighlightBuilder","highlightRange","inheritedClass","isTop","getStyleTags","tagCls","startSpan","opaque","innerHighlighters","rangeFrom","rangeTo","matchContext","comment","typeName","propertyName","literal","heading","keyword","operator","punctuation","bracket","tags$1","lineComment","blockComment","docComment","variableName","attributeName","labelName","namespace","macroName","docString","character","attributeValue","integer","float","bool","escape","url","null","atom","unit","modifier","operatorKeyword","controlKeyword","definitionKeyword","moduleKeyword","derefOperator","arithmeticOperator","logicOperator","bitwiseOperator","compareOperator","updateOperator","definitionOperator","typeOperator","controlOperator","separator","angleBracket","squareBracket","paren","brace","heading1","heading2","heading3","heading4","heading5","heading6","contentSeparator","list","quote","emphasis","strong","link","monospace","strikethrough","deleted","invalid","documentMeta","processingInstruction","definition","defineModifier","constant","function","standard","special","languageDataProp","defineLanguageFacet","baseData","sublanguageProp","Language","extraExtensions","syntaxTree","language","topNodeAt","_step141","innerNode","_iterator141","sublang","_this68","lang","allowsNesting","explore","_step142","_iterator142","topLang","LRLanguage","_Language","_super29","_this69","configure","hasWrappers","DocInput","syncTo","stringStart","currentContext","ParseContext","treeLen","scheduleOn","tempSkipped","until","_this70","isDone","takeTree","withContext","endTime","withoutTempSkipped","addTree","_this71","cutFragments","_step143","_iterator143","startLen","_this$skipped$_i","frags","_Parser","_class6","_super30","cx","_step144","_iterator144","LanguageState","newCx","work","vpTo","parseState","_step145","_iterator145","requestIdle","callback","requestIdleCallback","idle","cancelIdleCallback","isInputPending","scheduling","parseWorker","ParseWorker","working","workScheduled","chunkBudget","scheduleWork","updateViewport","checkAsyncSchedule","deadline","_this$view","timeRemaining","viewportFirst","_this72","languages","LanguageSupport","support","LanguageDescription","alias","filename","loadFunc","loading","_this73","load","descs","_step146","_iterator146","_step147","_iterator147","fuzzy","_step148","_iterator148","_step149","_iterator149","_step150","_iterator150","indentService","indentUnit","getIndentUnit","indentString","cols","ts","getIndentation","IndentContext","_step151","_iterator151","service","syntaxIndentation","_this$options","simulateBreak","simulateDoubleBreak","_this$lineAt","_this$lineAt2","override","overrideIndentation","search","_this$lineAt3","overriden","indentNodeProp","ast","indentFrom","resolveInner","ignoreClosed","indentStrategy","strategy","close","closed","delimitedStrategy","topIndent","TreeIndentContext","_IndentContext","_super31","_this74","textAfterPos","atBreak","isParent","lineIndent","bracketedAligned","openToken","sim","openLine","isSkipped","delimitedIndent","_ref16","closing","_ref16$align","align","_ref16$units","units","closedAt","textAfter","aligned","column","baseIndent","flatIndent","continuedIndent","_ref17","except","_ref17$units","matchExcept","DontIndentBeyond","indentOnInput","_step152","_iterator152","indent","norm","foldService","foldNodeProp","foldInside","syntaxFolding","isUnfinished","foldable","_step153","_iterator153","mapRange","foldEffect","unfoldEffect","foldState","folded","_step154","_iterator154","_loop16","foldExists","foldWidget","onSelection","findFold","defaultConfig","placeholderDOM","placeholderText","foldConfig","codeFolding","baseTheme$1","_WidgetType8","_class7","_super32","onclick","posAtDOM","foldGutterDefaults","openText","closedText","markerDOM","foldingChanged","FoldMarker","_GutterMarker2","_super33","_this75","foldGutter","fullConfig","canFold","canUnfold","_class8","buildMarkers","_step155","_iterator155","click","HighlightStyle","modSpec","def","scopeOpt","themeType","highlighterFacet","fallbackHighlighter","getHighlighters","syntaxHighlighting","treeHighlighter","fallback","computeN","TreeHighlighter","markCache","buildDeco","styleChange","_this76","_step156","_iterator156","_step156$value","defaultHighlightStyle$1","textDecoration","fontWeight","fontStyle","baseTheme$2","DefaultScanDist","DefaultBrackets","bracketMatchingConfig","afterCursor","brackets","maxScanDistance","renderMatch","defaultRenderMatch","matchingMark","nonmatchingMark","bracketMatchingState","_step157","_iterator157","matchBrackets","bracketMatchingUnique","bracketMatching","bracketMatchingHandle","matchingNodes","byProp","findHandle","hasHandle","matches","matchMarkedBrackets","matchPlainBrackets","token","matching","firstToken","endHandle","tokenType","startCh","startToken","basePos","countCol","startValue","StringStream","overrideIndent","lastColumnPos","lastColumnValue","eat","pattern","consume","caseInsensitive","cased","substr","fullParser","blankLine","copyState","defaultCopyState","tokenTable","noTokens","IndentedFrom","StreamLanguage","_Language2","_super34","_this77","impl","_Parser2","_class9","_super35","Parse$1","getIndent","docID","streamParser","stateAfter","TokenTable","defaultTokenTable","statePos","findState","indentation","stream","readToken$1","cutTree","findStartInFragments","editorState","_step158","_iterator158","Parse","chunkReused","_findStartInFragments","skipUntilInView","moveRangeIndex","parseEnd","parseLine","lineChunks","eol","lineAfter","rangeEnd","rangeStart","offPos","skipGapsTo","len0","_this$nextLine","nextLine","emitToken","balance","typeArray","warned","defaultTable","_i139","_arr3","_arr3$_i","legacyName","createTokenType","table","warnForPart","msg","tagStr","_step159","_iterator159","toggleComment","getConfig","toggleLineComment","toggleBlockCommentByLine","option","_ref18","changeLineComment","toggleBlockComment","changeBlockComment","selectedLineRanges","SearchMargin","findBlockComment","_ref19","startText","endText","textBefore","spaceBefore","spaceAfter","beforeOff","startSpace","endSpace","endOff","_step160","_iterator160","tokens","comments","_comment2","_step161","prevLine","_iterator161","_step161$value","minIndent","_step162","_iterator162","_step162$value","changeSet","_step163","_iterator163","_step163$value","fromHistory","isolateHistory","invertedEffects","historyConfig","minDepth","newGroupDelay","joinToEvent","isAdjacent","adj","changeEnd","historyField_","HistoryState","fromHist","item","HistEvent","fromTransaction","undone","updateBranch","addSelection","isolate","addMapping","addChanges","history","undo","redo","_ref20","historyState","undoSelection","redoSelection","startSelection","selectionsAfter","_step164","none$2","_iterator164","invert","selections","branch","newEvent","newBranch","eqSelectionShape","conc","MaxSelectionsPerEvent","sels","setSelAfter","popSelection","addMappingToBranch","mapEvent","extraSelections","mappedChanges","fullMapping","composeDesc","joinableUserEvent","prevTime","prevUserEvent","historyKeymap","updateSel","setSel","moveSel","_ref21","how","cursorByChar","ltrAtCursor","cursorCharLeft","cursorCharRight","cursorByGroup","moveByGroup","cursorGroupLeft","cursorGroupRight","interestingNode","bracketProp","moveBySyntax","cursorSyntaxLeft","cursorSyntaxRight","cursorByLine","cursorLineUp","cursorLineDown","pageInfo","selfScroll","marginBottom","_step165","_iterator165","cursorByPage","page","scrollRect","scrollBottom","cursorPageUp","cursorPageDown","moveByLineBoundary","cursorLineBoundaryForward","cursorLineBoundaryBackward","cursorLineBoundaryLeft","cursorLineBoundaryRight","cursorLineStart","cursorLineEnd","toMatchingBracket","cursorMatchingBracket","_ref22","extendSel","selectByChar","log","moveByCharSelected","selectCharLeft","selectCharRight","selectByGroup","selectGroupLeft","selectGroupRight","selectSyntaxLeft","selectSyntaxRight","selectByLine","selectLineUp","selectLineDown","selectByPage","selectPageUp","selectPageDown","selectLineBoundaryForward","selectLineBoundaryBackward","selectLineBoundaryLeft","selectLineBoundaryRight","selectLineStart","selectLineEnd","cursorDocStart","_ref23","cursorDocEnd","_ref24","selectDocStart","_ref25","selectDocEnd","_ref26","selectAll","_ref27","selectLine","_ref28","selectedLineBlocks","_ref29","selectParentSyntax","_ref30","simplifySelection","_ref31","deleteBy","towards","skipAtomic","_step166","_iterator166","deleteByChar","targetPos","deleteCharBackward","deleteCharForward","deleteByGroup","nextChar","deleteGroupBackward","deleteGroupForward","deleteToLineEnd","deleteToLineStart","splitLine","_ref32","transposeChars","_ref33","_step167","blocks","_iterator167","startLine","moveLine","_step168","_iterator168","_step169","_iterator169","_step170","_iterator170","moveLineUp","_ref34","moveLineDown","_ref35","copyLine","_step171","_iterator171","copyLineUp","_ref36","copyLineDown","_ref37","deleteLine","_ref38","isBetweenBrackets","insertNewlineAndIndent","newlineAndIndent","insertBlankLine","atEof","_ref39","explode","changeBySelectedLine","atLine","indentSelection","_ref40","indentMore","_ref41","indentLess","_ref42","keep","emacsStyleKeymap","standardKeymap","defaultKeymap","indentWithTab","basicNormalize","normalize","SearchCursor","query","bufferPos","nextOverlapping","peek","defaultHighlightOptions","highlightWordAroundCursor","minSelectionLength","maxMatches","wholeWords","highlightConfig","highlightSelectionMatches","defaultTheme","matchHighlighter","matchDeco","mainMatchDeco","insideWordBoundaries","insideWord","_class10","getDeco","word","wordAt","trim","_step172","_iterator172","_cursor$value","CompletionContext","explicit","abortListeners","expr","ensureAnchor","toSet","chars","words","prefixMatch","_step173","_iterator173","label","completeFromList","_ref44","validFor","matchBefore","ifNotIn","Option","score","addStart","addEnd","ignoreCase","pickedCompletion","insertCompletionText","SourceCache","asSource","startCompletionEffect","closeCompletionEffect","FuzzyMatcher","byWord","upper","astral","firstSize","anyTo","preciseTo","byWordTo","byWordFolded","adjacentTo","adjacentStart","adjacentEnd","hasLower","wordAdjacent","prevType","_step174","_iterator174","completionConfig","activateOnTyping","selectOnOpen","closeOnBlur","maxRenderedOptions","tooltipClass","optionClass","aboveCursor","icons","addToOptions","positionInfo","defaultPositionInfo","compareCompletions","localeCompare","interactionDelay","joinClass","maxWidth","narrow","spaceLeft","spaceRight","infoWidth","infoHeight","spaceBelow","moveCompletionSelection","cState","completionState","disabled","timestamp","offsetHeight","setSelectedEffect","acceptCompletion","applyCompletion","startCompletion","closeCompletion","RunningQuery","updates","DebounceTime","MaxUpdateCount","MinAbortTime","completionPlugin","_class11","debounceUpdate","running","debounceAccept","_step175","_iterator175","startQuery","_this78","doesReset","getUserEvent","_step176","_iterator176","_query$updates","q","startUpdate","_step177","_iterator177","_this79","_step178","_iterator178","_loop17","_this80","explicitPos","aborted","scheduleAccept","_this81","accept","_this82","_loop18","_i151","_i150","_step179","ActiveResult","_iterator179","hasResult","_step180","ActiveSource","_iterator180","setActiveEffect","dialog","_this83","optionContent","_icon$classList","icon","labelElt","detailElt","rangeAroundSelected","CompletionTooltip","stateField","_this84","placeInfoReq","measureInfo","placeInfo","currentClass","_cState$open","updateTooltipClass","createListBox","prevState","_step181","_iterator181","_step182","_iterator182","_this85","updateSelectedOption","infoResult","addInfoPane","opt","hasAttribute","listRect","infoRect","selRect","ul","curSection","_options$_i","section","header","li","_step183","_iterator183","completionTooltip","boost","sortOptions","_step184","addOption","_iterator184","_step188","getMatch","_iterator188","_step189","_iterator189","_step190","matcher","_iterator190","_step185","sectionOrder","_iterator185","_step186","_iterator186","_step187","_iterator187","CompletionDialog","makeAttrs","selectedValue","CompletionState","_this86","sameResults","_step191","_iterator191","setSelected","baseAttrs","none$1","handleUserEvent","handleChange","_step192","_iterator192","_step193","_iterator193","_ActiveSource","_super36","_this87","checkValid","maxWidth_fallback","maxHeight","listStyle","textOverflow","FieldPos","FieldRange","Snippet","fieldPositions","_step194","lineObj","_iterator194","tabs","template","_step195","_iterator195","esc","_step196","_iterator196","_step197","_iterator197","fieldMarker","_WidgetType9","_class12","_super37","fieldRange","ActiveSnippet","_step198","_iterator198","_this88","moveToField","snippetState","_step199","_iterator199","selectionInsideField","fieldSelection","snippet$4","snippet","_snippet$instantiate","instantiate","addSnippetKeymap","snippetPointerHandler","moveField","_ref45","clearSnippet","_ref46","nextSnippetField","prevSnippetField","defaultSnippetKeymap","snippetKeymap","maps","snippetCompletion","closedBracket","_RangeValue3","_class13","_super38","autocompletion","completionKeymapExt","Recover","completionKeymap","minimalSetup","Stack","reducePos","bufferBase","curContext","action","dPrec","dynamicPrecedence","pushState","getGoto","minRepeatTerm","storeNode","reduceContext","lastBigReductionStart","bigReductionCount","lastBigReductionSize","count","stateFlag","baseStateID","term","isReduce","nextEnd","nextState","maxNode","shiftContext","updateContext","tracker","reuse","isNode","SimulatedStack","stateSlot","hasAction","nextStates","best","_loop19","validAction","forceReduce","dialectID","dialect","hash","StackContext","emitContext","emitLookAhead","StackBufferCursor","maybeNext","decodeArray","Type","out","digit","CachedToken","extended","mask","nullToken","InputStream","chunkOff","chunk2","chunk2Pos","readNext","_step200","_iterator200","resolved","resolveOffset","getChunk","setDone","_step201","_iterator201","TokenGroup","readToken","tokenPrecTable","contextual","LocalTokenGroup","precTable","elseToken","acceptToken","ExternalTokenizer","precOffset","groupMask","accEnd","allows","overrides","findOffset","tableData","tableOffset","iPrev","Safety","verbose","stackIDs","cutAt","Rec","FragmentCursor$1","fragment","safeFrom","safeTo","trees","nextFragment","fr","nextStart","TokenCache","mainToken","actions","tokenizers","actionIndex","tokenizer","updateCachedToken","addActions","setLookAhead","eofTerm","clipPos","specialized","specializers","putAction","recovering","nextStackID","minStackPos","topTerm","stacks","bufferLength","stopped","stoppedTokens","newStacks","advanceStack","tok","getMainToken","finished","findFinished","stackToTree","getName","SyntaxError","runRecovery","forceAll","maxRemaining","sameState","stackID","strictCx","cxHash","cached","nodeAt","useNode","defaultReduce","getActions","localStack","pushStackDedup","restarted","tokenEnd","deadEnd","restart","advanceFully","forceBase","_step202","_iterator202","recoverByInsert","recoverByDelete","Dialect","ContextTracker","LRParser","_Parser3","_super39","_this89$nodeSet","_this89","wrappers","nodeNames","repeatNodeCount","topTerms","topRules","nodeProps","setProp","nodeID","_step203","_iterator203","propSpec","skippedNodes","propSources","tokenArray","tokenData","specializerSpecs","getSpecializer","states","Uint32Array","stateData","maxTerm","dialects","dynamicPrecedences","tokenPrec","termNames","parseDialect","_step204","_iterator204","w","loose","groupTag","terminal","flag","_this90","_loop20","_i182","_i181","_this$nodeSet","external","contextTracker","_step205","_iterator205","Uint8Array","_step206","_iterator206","noSemi","incdec","incdecPrefix","insertSemi","spaces","newline","LineComment","BlockComment","space$2","braceR","semicolon","slash$1","star","plus","minus","trackNewline","insertSemicolon","canShift","noSemicolon","incdecToken","mayPostfix","jsHighlight","TemplateString","super","BooleanLiteral","this","Star","VariableName","VariableDefinition","Label","PropertyName","PrivatePropertyName","PropertyDefinition","PrivatePropertyDefinition","UpdateOp","Escape","ArithOp","LogicOp","BitOp","CompareOp","Equals","Arrow","TypeName","TypeDefinition","JSXAttributeValue","JSXText","spec_identifier$1","export","as","extends","true","false","void","typeof","new","await","public","private","protected","readonly","instanceof","satisfies","in","const","import","keyof","unique","infer","abstract","implements","let","var","interface","enum","declare","while","with","do","if","else","switch","case","try","finally","throw","continue","debugger","spec_word","accessor","spec_LessThan","parser$3","jsx","snippets","ScopeNodes","defID","getChild","functionContext","gatherCompletions","FunctionDeclaration","ClassDeclaration","ClassExpression","EnumDeclaration","TypeAliasDeclaration","NamespaceDeclaration","getScope","completions","iterate","gather","_step207","_iterator207","Identifier$1","dontComplete","localCompletionSource","isWord","javascriptLanguage","IfStatement","TryStatement","LabeledStatement","SwitchBody","isCase","Block","ArrowFunction","JSXElement","JSXEscape","JSXOpenTagJSXSelfClosingTag","closeBrackets","commentTokens","jsxSublanguage","typescriptLanguage","jsxLanguage","tsxLanguage","keywords","kw","javascript","typescript","autocomplete","autoCloseTags$1","findOpenTag","elementName$1","compositionStarted","isActiveAt","openTag","CompositeBlock","hashProp","_this91","parentHash","LeafBlock","marks","parsers","forwardInner","skipSpace","countIndent","skipForList","bl","OrderedList","isOrderedList","isBulletList","BulletList","isHorizontalRule","DefaultSkipMarkup","_DefaultSkipMarkup","Blockquote","QuoteMark","moveBase","space$1","ListItem","_cx","moveBaseColumn","Document","skipSpaceBack","isFencedCode","isBlockquote","breaking","isSetextUnderline","inList","isAtxHeading","EmptyLine","CommentEnd","ProcessingEnd","HTMLBlockStyle","isHTMLBlock","getListIndent","indentAfter","indented","addCodeText","CodeText","DefaultBlockParsers","LinkReference","IndentedCode","pendingMarks","_step208","_iterator208","_step209","_iterator209","_step210","_iterator210","codeStart","addNode","writeElements","CodeBlock","FencedCode","fenceEnd","infoFrom","infoTo","CodeMark","CodeInfo","_step211","_iterator211","_step212","_iterator212","textStart","textEnd","prevLineEnd","startContext","HorizontalRule","newBase","ListMark","ATXHeading","endOfSpace","HeaderMark","parseInline","ATXHeading1","HTMLBlock","trailing","_step213","_iterator213","CommentBlock","ProcessingInstructionBlock","SetextHeading","LinkReferenceParser","leaf","stage","elts","scrub","addLeafElement","nextStage","parseLinkLabel","LinkMark","parseLinkTitle","titleEnd","parseURL","SetextHeadingParser","underline","underlineMark","SetextHeading1","SetextHeading2","DefaultLeafBlocks","DefaultEndLeaf","scanLineResult","BlockContext","atEnd","dontInject","rangeI","absoluteLineStart","absoluteLineEnd","readLine","finishContext","_step214","_iterator214","reuseFragment","_step215","_iterator215","blockParsers","_step216","_iterator216","leafBlockParsers","_step217","_iterator217","endLeafBlock","_step218","_iterator218","_step219","_iterator219","finishLeaf","taken","takeNodes","withoutGaps","moveRangeI","lineChunkAt","textOffset","nextFrom","_this$scanLine","scanLine","skipContextMarkup","getNodeType","addChild","injectMarks","addGaps","injectGaps","_step220","_iterator220","inline","Paragraph","TreeElement","Buffer","dont","movePastNext","MarkdownParser","_Parser4","_super40","blockNames","inlineParsers","inlineNames","_this92","nodeTypes","_step221","_iterator221","_step222","_iterator222","_nodeSet","resolveConfig","nonEmpty","defineNodes","_step223","_iterator223","_loop21","_ref47","composite","_step224","_iterator224","rm","parseBlock","_step225","_iterator225","findName","endLeaf","_step226","_iterator226","InlineContext","_step227","_iterator227","resolveMarkers","wrapA","wrapB","names","_step228","_iterator228","writeTo","Element$1","Element","startOff","EmphasisUnderscore","EmphasisAsterisk","LinkStart","ImageStart","InlineDelimiter","Escapable","Punctuation","DefaultInline","escaped","Entity","InlineCode","curSize","HTMLTag","URL","Comment","procInst","ProcessingInstruction","Emphasis","pBefore","pAfter","sBefore","sAfter","leftFlanking","rightFlanking","canOpen","canClose","HardBreak","Link","Image","LinkEnd","takeContent","finishLink","dest","LinkTitle","requireNonWS","LinkLabel","emp","closeSize","_step229","eI","_iterator229","NotLast","fragmentEnd","fragEnd","blockI","prevI","markdownHighlighting","parser$2","leftOverSpace","parseCode","codeParser","htmlParser","infoNode","StrikethroughDelim","Strikethrough","addDelimiter","parseRow","cellStart","cellEnd","parseCell","hasPipe","delimiterLine","TableParser","rows","lineText","firstRow","Table","TaskParser","TaskList","parentType","GFM","parseSubSuper","addElement","Superscript","Subscript","Emoji","scriptText","StartCloseScriptTag","styleText","StartCloseStyleTag","textareaText","StartCloseTextareaTag","EndTag","SelfClosingEndTag","StartTag","StartScriptTag","StartStyleTag","StartTextareaTag","StartSelfClosingTag","StartCloseTag","NoMatchStartCloseTag","MismatchedStartCloseTag","missingCloseTag","IncompleteCloseTag","commentContent$1","TagName","Attribute","AttributeName","AttributeValue","UnquotedAttributeValue","ScriptText","StyleText","TextareaText","OpenTag","CloseTag","Dialect_noMatch","Dialect_selfClosing","selfClosers$1","area","frame","hr","img","keygen","param","wbr","menuitem","implicitlyClosed","dd","optgroup","rp","rt","tbody","td","tfoot","th","closeOnOpen","dt","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","hgroup","menu","ol","pre","thead","nameChar","isSpace","cachedName","cachedInput","cachedPos","tagNameAfter","question","bang","lessThan","greaterThan","slash","dash$1","ElementContext","startTagTerms","elementContext","tagStart","dialectEnabled","commentContent","dashes","inForeignElement","endTag","selfClosing","contentTokenizer","textToken","endToken","lastState","matchedLen","scriptTokens","styleTokens","textareaTokens","htmlHighlighting","Is","ProcessingInst","DoctypeDecl","parser$1","noMatch","getAttrs","_step230","_iterator230","att","findTagName","tagNameNode","maybeNest","_step231","_iterator231","configureNesting","_step232","script","textarea","_iterator232","_step233","_iterator233","attr","_i203","_other2","nameNode","_step234","_iterator234","descendantOp","Unit","callee","identifier$2","colon","parenL","underscore","bracketL","dash","period","percent","isAlpha","isDigit","identifiers","descendant","includes","unitToken","cssHighlighting","NamespaceName","KeyframeName","ClassName","PseudoClassName","IdName","NumberLiteral","KeywordQuery","UnaryQueryOp","Callee","MatchOp","BinOp","Important","ParenthesizedContent","ColorLiteral","StringLiteral","spec_callee","domain","spec_AtKeyword","spec_identifier","not","_properties","properties","pseudoClasses","identifier$1","variable","isVarArg","VariablesByNode","declSelector","astTop","variableNames","isVariable","_step235","_iterator235","defineCSSCompletionSource","isDash","cssCompletionSource","cssLanguage","Declaration","css","_step236","Targets","Charsets","Methods","Encs","Bool","S","Tags","href","ping","media","hreflang","abbr","shape","audio","mediagroup","crossorigin","preload","autoplay","loop","controls","bdi","bdo","cite","formaction","autofocus","formenctype","formmethod","formnovalidate","formtarget","canvas","caption","center","colgroup","radiogroup","checked","datagrid","datalist","datetime","details","dfn","em","eventsource","figcaption","figure","enctype","novalidate","html","manifest","iframe","srcdoc","sandbox","seamless","ismap","usemap","dirname","maxlength","required","kbd","challenge","keytype","legend","sizes","charset","meter","optimum","noscript","typemustmatch","reversed","output","progress","ruby","samp","defer","small","scoped","summary","sup","colspan","rowspan","headers","kind","srclang","video","poster","muted","GlobalAttrs","accesskey","draggable","dropzone","hidden","inert","itemid","itemprop","itemref","itemscope","itemtype","tabindex","rel","eventAttributes","_iterator236","Schema","extraTags","extraAttrs","globalAttrs","allTags","globalAttrNames","elementName","findParentElement","allowedChildren","schema","parentInfo","openTags","identifier","completeTag","completeCloseTag","completeStartTag","_step237","_iterator237","_step238","_iterator238","completeAttrName","localAttrs","attrName","completeAttrValue","quoteStart","quoteEnd","_step239","_iterator239","htmlCompletionFor","htmlCompletionSourceWith","extraGlobalAttributes","defaultNesting","defaultAttrs","htmlLanguage","OpenTagCloseTagSelfClosingTag","endElt","matchClosingTags","selfClosingTags","nestedLanguages","nestedAttributes","autoCloseTags","selfClosers","hasRightBracket","headingProp","commonmark","isHeading","findSectionEnd","headerNode","headerIndent","mkLang","commonmarkLanguage","markdownLanguage","getCodeParser","defaultLanguage","matchLanguageName","getSkippingParser","itemNumber","getContext","renumberList","insertNewlineContinueMarkup","_ref48","emptyLine","delTo","blank","quoted","continued","isMark","contextNodeForDelete","deleteMarkupBackward","_ref49","spaceEnd","markdownKeymap","htmlNoMatch","markdown","codeLanguages","defaultCodeLanguage","_config$addKeymap","addKeymap","_config$base","defaultCode","generateColors","_class15","getBracketDecorations","colors","getMatchingBracket","closingBracket","spreadsheet","stringType","eatSpace","defaultFunctions","newESC","_ref50","Completions","Identifier","pBase","pFloat","pFloatBase","pPrecision","reBaseForm","reFloatForm","reIdInContext","builtins","builtinsSpecial","tokenBase","tokenize","tokenString","commentLevel","tokenComment","backUp","localVars","wolframLanguage","mathematica","extendVariables","symbol","_ref51","_callee","ctx","_callee$","_context","_x2","vocabulary","_ref52","_callee2","_callee2$","_context2","_x3","reBuild","transferFiles","ev","transaction","_step240","_iterator240","readFile","file","cbk","compressedData","base64ArrayBuffer","loaded","readAsArrayBuffer","DropPasteHandlers","hd","hp","filesArray","items","getAsFile","_step241","_iterator241","GreekMatcher","GreekWidget","Greekholder","_class16","_view$plugin","_WidgetType10","_super41","_this93","innerHTML","ArrowMatcher","ArrowWidget","_class17","Arrowholder","_view$plugin2","_WidgetType11","_super42","_this94","innerText","Balanced","exceptions","headRegExp","regExpFromArray","regExpFromArrayGroupedMap","openRegExp","closeRegExp","regExp","regExpGroupLength","errorForStringIndex","getRangesForMatch","allLines","message","errorObject","isIndexInRage","replaceMatchesInString","replacement","tail","escapeRegExp","grouped","rangesWithout","without","ignored","matchContentsInBetweenBrackets","ignoreRanges","regex","matchedOpening","matchResultPosition","sectionIndex","valueIndex","expectedValueIndex","replaceMatchesInBetweenBrackets","getRangesForMatch_1","isIndexInRage_1","rangesWithout_1","Balanced_1","matchHeadExcluding","splitNoQuotes","quotes","substring","matchArguments","ignoreInner","separators","sliced","explodeArgs","argsPos","iterMatches","_loop_1","matchRanges","visible_1","compactCMEditor$6","BallancedMatchDecorator2","_this","_loop_2","start_1","end_1","this_1","ranges_1","add_1","FractionBoxWidget","viewEditor","placeholder$7","snippet$3","_ref53","compactCMEditor$5","EditorWidget$7","EditorWidget","visibleValue","enumenator","denumenator","ref","_this95","topEditor","bottomEditor","upd","eval","editorLastCursor","relative","delta","topState","bottomState","Widget$7","_WidgetType12","Widget","_super43","_this96","reference","DOMElement","tre","trd","matcher$7","_class18","disposable","el","SqrtBoxWidget","placeholder$6","snippet$2","_ref54","compactCMEditor$4","EditorWidget$6","sliceRanges","_visibleValue$str","_visibleValue$str2","Widget$6","_WidgetType13","_super44","_this97","matcher$6","_class19","SubscriptBoxWidget","placeholder$5","snippet$1","_ref55","compactCMEditor$3","EditorWidget$5","_this98","Widget$5","_WidgetType14","_super45","_this99","matcher$5","_class20","SupscriptBoxWidget","placeholder$4","_ref56","compactCMEditor$2","EditorWidget$4","_this100","Widget$4","_WidgetType15","_super46","_this101","matcher$4","_class21","GridBoxWidget","placeholder$3","EditorWidget$3","_this102","_objectSpread","_loop22","_i210","_loop23","relative1","relative2","jj","ii","Widget$3","_WidgetType16","_super47","_this103","matcher$3","_class22","pako$1","deflate$4","deflate$3","Z_FIXED$1","Z_BINARY","Z_TEXT","Z_UNKNOWN$1","zero$1","STORED_BLOCK","STATIC_TREES","DYN_TREES","MIN_MATCH$1","MAX_MATCH$1","LENGTH_CODES$1","LITERALS$1","L_CODES$1","D_CODES$1","BL_CODES$1","HEAP_SIZE$1","MAX_BITS$1","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","static_l_desc","static_d_desc","static_bl_desc","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","pending_buf","send_bits","bi_valid","bi_buf","send_code","bi_reverse","bi_flush","gen_bitlen","bits","xbits","stree","bl_count","heap_max","opt_len","static_len","gen_codes","next_code","tr_static_init","init_block","dyn_ltree","dyn_dtree","bl_tree","sym_next","bi_windup","smaller","_n2","_m2","pqdownheap","heap_len","compress_block","ltree","dtree","lc","sym_buf","build_tree","scan_tree","curlen","prevlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","l_desc","d_desc","bl_desc","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","block_mask","static_init_done","_tr_init$1","_tr_stored_block$1","stored_len","subarray","_tr_align$1","_tr_flush_block$1","opt_lenb","static_lenb","strm","data_type","_tr_tally$1","sym_end","_tr_init","_tr_stored_block","_tr_flush_block","_tr_tally","_tr_align","adler32$2","adler","s1","s2","adler32_1","makeTable","crcTable","crc32$2","crc","crc32_1","messages","constants$1","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_MEM_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_UNKNOWN","Z_DEFLATED","adler32$1","crc32$1","msg$2","Z_NO_FLUSH$2","Z_FULL_FLUSH$1","Z_FINISH$3","Z_BLOCK$1","Z_OK$3","Z_STREAM_END$3","Z_STREAM_ERROR$2","Z_DATA_ERROR$2","Z_BUF_ERROR$1","Z_DEFAULT_COMPRESSION$1","Z_DEFAULT_STRATEGY$1","Z_DEFLATED$2","MAX_MEM_LEVEL","MAX_WBITS$1","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","GZIP_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","zero","slide_hash","wsize","w_size","hash_size","HASH_ZLIB","hash_shift","hash_mask","HASH","flush_pending","avail_out","pending_out","next_out","total_out","flush_block_only","block_start","strstart","put_byte","putShortMSB","read_buf","avail_in","next_in","total_in","longest_match","cur_match","chain_length","max_chain_length","best_len","prev_length","nice_match","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","window_size","ins_h","deflate_stored","have","min_block","pending_buf_size","used","high_water","deflate_fast","hash_head","bflush","match_length","max_lazy_match","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","lit_bufsize","deflateStateCheck","deflateResetKeep","deflateReset","ret","deflateSetHeader","deflateInit2","windowBits","memLevel","deflateInit","deflate$2","old_flush","hcrc","os","beg","gzhead_extra","bstate","deflateEnd","deflateSetDictionary","dictionary","dictLength","tmpDict","avail","deflate","deflateInfo","common","_has","flattenChunks","strings$2","STR_APPLY_UIA_OK","__","_utf8len","string2buf","TextEncoder","encode","c2","m_pos","str_len","buf_len","buf2binstring","ZStream$2","buf2string","TextDecoder","decode","utf16buf","c_len","utf8border","zstream","zlib_deflate","utils$1","strings$1","msg$1","ZStream$1","toString$1","Z_NO_FLUSH$1","Z_FINISH$2","Z_OK$2","Z_STREAM_END$2","Z_DEFLATED$1","Deflate$1","chunkSize","raw","gzip","ended","dict","_dict_set","deflate$1","deflator","deflateRaw$1","gzip$1","flush_mode","_flush_mode","onData","onEnd","Deflate","deflateRaw","constants","inflate$4","inflate$3","BAD$1","TYPE$1","inffast","_in","_out","dmax","whave","wnext","s_window","hold","lcode","dcode","lmask","dmask","here","op","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","MAXBITS","ENOUGH_LENS$1","ENOUGH_DISTS$1","CODES$1","LENS$1","DISTS$1","lbase","lext","dbase","dext","inflate_table$1","lens","lens_index","codes","table_index","opts","incr","fill","here_bits","here_op","here_val","sym","curr","huff","offs","inftrees","adler32","crc32","inflate_fast","inflate_table","CODES","LENS","DISTS","Z_FINISH$1","Z_OK$1","Z_STREAM_END$1","Z_NEED_DICT$1","Z_STREAM_ERROR$1","Z_DATA_ERROR$1","Z_MEM_ERROR$1","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPE","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","BAD","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","MAX_WBITS","DEF_WBITS","zswap32","InflateState","havedict","wbits","ncode","nlen","ndist","lendyn","distdyn","was","lenfix","distfix","inflateStateCheck","inflateResetKeep","Int32Array","inflateReset","inflateReset2","inflateInit2","inflateInit","virgin","fixedtables","updatewindow","inflate$2","put","last_bits","last_op","last_val","hbuf","inf_leave","xflags","extra_len","inflateEnd","inflateGetHeader","inflateSetDictionary","GZheader$1","inflate","inflateInfo","gzheader","zlib_inflate","utils","strings","ZStream","GZheader","Inflate$1","inflate$1","inflator","inflateRaw$1","last_avail_out","next_out_utf8","utf8str","Inflate","inflateRaw","ungzip","pako","Mma","Messages","Util","Base64Decode","encoded","binary","atob","U8ArrayToString","substrings","DeleteCharAt","IntegerMP","isInteger","Fail","IntegerAP","NaN","nstring","RealMP","RealAP","Expression","Decode","Int32","DataView","getInt32","Float64","getFloat64","StringEntry","bytesRead","Any","maxParts","Infinity","originalOffset","next_type","Warn","int","se","exprPartCount","exprDec","exprHead","exprParts","ParseMatrixAtLevel","parsedMatrix","Decompress","compressedString","b64EncodedData","bitsCompressed","headerString","DecompressDecode","toArray","uuidv4$3","ViewBoxWidget","placeholder$2","compactCMEditor$1","EditorWidget$2","_construct","decoded","cuid","expression","interpretated","interpretate","_env$options","Event","events","firstInstanceEnv","objs","server","kernel","emitt","vis","deactivated","_i216","_Object$values","dispose","Widget$2","_WidgetType17","_super48","_this104","matcher$2","_class14","uuidv4$2","BoxBoxWidget","placeholder$1","compactCMEditor","EditorWidget$1","_this105","epilog","prolog","_env$options2","_env$options3","_env$options4","Head","_env$options5","_env$options6","HeadString","TailString","aa","onkeydown","_i217","_Object$values2","Widget$1","_WidgetType18","_super49","_this106","matcher$1","_class23","uuidv4$1","TemplateBoxWidget","_this107","indexes","_env$options7","editors","_i220","_Object$values3","_WidgetType19","_super50","_this108","_class24","isCursorInside","latestTr","cellTypesHighlight","_class26","recompute","_step242","prevFrom","prevTo","_iterator242","_step242$value","getDecorationsFor","CellTypeWidget","_WidgetType20","_super51","rawValue","_this109","params","wallet","pel","languageConf","readWriteCompartment","extras","defaultHighlightStyle","EditorAutocomplete","unknownLanguage","regLang","checkDocType","SupportedLanguages","legacy","legacyLangNameFacet","autoLanguage","docType","la","compactWLEditor","selectedEditor","EditorSelected","getContent","currentEditor","setContent","editorCustomThemeCompact","wlDrop","ocellref","channel","_emitt","wlPaste","mathematicaPlugins","editorCustomTheme","globalCMFocus","EditorExtensionsMinimal","EditorParameters","EditorExtensions","originFacet","initialLang","focusPrev","focusNext","save","replaceAll","unicodeToChar","CodeMirrorCell","_this110","trash","unicodeToChar2","uuidv4","crypto","getRandomValues","core","ReadOnly","_ref57","_callee3","textData","evalFunction","updateFunction","_callee3$","_context3","t0","t1","_getRules","ForceUpdate","forceUpdate","_x4","_x5","StripOnInput","_callee4","_callee4$","_context4","_ref59","_callee5","_callee5$","_context5","_x6","_x7","_ref60","_callee6","_callee6$","_context6","_x8","_x9","PreviewCell","SupportedCells","OfflineMode","editorHashMap","FrontEditorSelected","_ref61","_callee7","_data9","data2","_callee7$","_context7","Editor","_x10","_x11"],"mappings":"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","file":"kernel.9bea77a7.js","sourceRoot":"../playground","sourcesContent":["// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/**\nThe data structure for documents. @nonabstract\n*/\nclass Text {\n /**\n @internal\n */\n constructor() { }\n /**\n Get the line description around the given position.\n */\n lineAt(pos) {\n if (pos < 0 || pos > this.length)\n throw new RangeError(`Invalid position ${pos} in document of length ${this.length}`);\n return this.lineInner(pos, false, 1, 0);\n }\n /**\n Get the description for the given (1-based) line number.\n */\n line(n) {\n if (n < 1 || n > this.lines)\n throw new RangeError(`Invalid line number ${n} in ${this.lines}-line document`);\n return this.lineInner(n, true, 1, 0);\n }\n /**\n Replace a range of the text with the given content.\n */\n replace(from, to, text) {\n let parts = [];\n this.decompose(0, from, parts, 2 /* Open.To */);\n if (text.length)\n text.decompose(0, text.length, parts, 1 /* Open.From */ | 2 /* Open.To */);\n this.decompose(to, this.length, parts, 1 /* Open.From */);\n return TextNode.from(parts, this.length - (to - from) + text.length);\n }\n /**\n Append another document to this one.\n */\n append(other) {\n return this.replace(this.length, this.length, other);\n }\n /**\n Retrieve the text between the given points.\n */\n slice(from, to = this.length) {\n let parts = [];\n this.decompose(from, to, parts, 0);\n return TextNode.from(parts, to - from);\n }\n /**\n Test whether this text is equal to another instance.\n */\n eq(other) {\n if (other == this)\n return true;\n if (other.length != this.length || other.lines != this.lines)\n return false;\n let start = this.scanIdentical(other, 1), end = this.length - this.scanIdentical(other, -1);\n let a = new RawTextCursor(this), b = new RawTextCursor(other);\n for (let skip = start, pos = start;;) {\n a.next(skip);\n b.next(skip);\n skip = 0;\n if (a.lineBreak != b.lineBreak || a.done != b.done || a.value != b.value)\n return false;\n pos += a.value.length;\n if (a.done || pos >= end)\n return true;\n }\n }\n /**\n Iterate over the text. When `dir` is `-1`, iteration happens\n from end to start. This will return lines and the breaks between\n them as separate strings.\n */\n iter(dir = 1) { return new RawTextCursor(this, dir); }\n /**\n Iterate over a range of the text. When `from` > `to`, the\n iterator will run in reverse.\n */\n iterRange(from, to = this.length) { return new PartialTextCursor(this, from, to); }\n /**\n Return a cursor that iterates over the given range of lines,\n _without_ returning the line breaks between, and yielding empty\n strings for empty lines.\n \n When `from` and `to` are given, they should be 1-based line numbers.\n */\n iterLines(from, to) {\n let inner;\n if (from == null) {\n inner = this.iter();\n }\n else {\n if (to == null)\n to = this.lines + 1;\n let start = this.line(from).from;\n inner = this.iterRange(start, Math.max(start, to == this.lines + 1 ? this.length : to <= 1 ? 0 : this.line(to - 1).to));\n }\n return new LineCursor(inner);\n }\n /**\n @internal\n */\n toString() { return this.sliceString(0); }\n /**\n Convert the document to an array of lines (which can be\n deserialized again via [`Text.of`](https://codemirror.net/6/docs/ref/#state.Text^of)).\n */\n toJSON() {\n let lines = [];\n this.flatten(lines);\n return lines;\n }\n /**\n Create a `Text` instance for the given array of lines.\n */\n static of(text) {\n if (text.length == 0)\n throw new RangeError(\"A document must have at least one line\");\n if (text.length == 1 && !text[0])\n return Text.empty;\n return text.length <= 32 /* Tree.Branch */ ? new TextLeaf(text) : TextNode.from(TextLeaf.split(text, []));\n }\n}\n// Leaves store an array of line strings. There are always line breaks\n// between these strings. Leaves are limited in size and have to be\n// contained in TextNode instances for bigger documents.\nclass TextLeaf extends Text {\n constructor(text, length = textLength(text)) {\n super();\n this.text = text;\n this.length = length;\n }\n get lines() { return this.text.length; }\n get children() { return null; }\n lineInner(target, isLine, line, offset) {\n for (let i = 0;; i++) {\n let string = this.text[i], end = offset + string.length;\n if ((isLine ? line : end) >= target)\n return new Line$1(offset, end, line, string);\n offset = end + 1;\n line++;\n }\n }\n decompose(from, to, target, open) {\n let text = from <= 0 && to >= this.length ? this\n : new TextLeaf(sliceText(this.text, from, to), Math.min(to, this.length) - Math.max(0, from));\n if (open & 1 /* Open.From */) {\n let prev = target.pop();\n let joined = appendText(text.text, prev.text.slice(), 0, text.length);\n if (joined.length <= 32 /* Tree.Branch */) {\n target.push(new TextLeaf(joined, prev.length + text.length));\n }\n else {\n let mid = joined.length >> 1;\n target.push(new TextLeaf(joined.slice(0, mid)), new TextLeaf(joined.slice(mid)));\n }\n }\n else {\n target.push(text);\n }\n }\n replace(from, to, text) {\n if (!(text instanceof TextLeaf))\n return super.replace(from, to, text);\n let lines = appendText(this.text, appendText(text.text, sliceText(this.text, 0, from)), to);\n let newLen = this.length + text.length - (to - from);\n if (lines.length <= 32 /* Tree.Branch */)\n return new TextLeaf(lines, newLen);\n return TextNode.from(TextLeaf.split(lines, []), newLen);\n }\n sliceString(from, to = this.length, lineSep = \"\\n\") {\n let result = \"\";\n for (let pos = 0, i = 0; pos <= to && i < this.text.length; i++) {\n let line = this.text[i], end = pos + line.length;\n if (pos > from && i)\n result += lineSep;\n if (from < end && to > pos)\n result += line.slice(Math.max(0, from - pos), to - pos);\n pos = end + 1;\n }\n return result;\n }\n flatten(target) {\n for (let line of this.text)\n target.push(line);\n }\n scanIdentical() { return 0; }\n static split(text, target) {\n let part = [], len = -1;\n for (let line of text) {\n part.push(line);\n len += line.length + 1;\n if (part.length == 32 /* Tree.Branch */) {\n target.push(new TextLeaf(part, len));\n part = [];\n len = -1;\n }\n }\n if (len > -1)\n target.push(new TextLeaf(part, len));\n return target;\n }\n}\n// Nodes provide the tree structure of the `Text` type. They store a\n// number of other nodes or leaves, taking care to balance themselves\n// on changes. There are implied line breaks _between_ the children of\n// a node (but not before the first or after the last child).\nclass TextNode extends Text {\n constructor(children, length) {\n super();\n this.children = children;\n this.length = length;\n this.lines = 0;\n for (let child of children)\n this.lines += child.lines;\n }\n lineInner(target, isLine, line, offset) {\n for (let i = 0;; i++) {\n let child = this.children[i], end = offset + child.length, endLine = line + child.lines - 1;\n if ((isLine ? endLine : end) >= target)\n return child.lineInner(target, isLine, line, offset);\n offset = end + 1;\n line = endLine + 1;\n }\n }\n decompose(from, to, target, open) {\n for (let i = 0, pos = 0; pos <= to && i < this.children.length; i++) {\n let child = this.children[i], end = pos + child.length;\n if (from <= end && to >= pos) {\n let childOpen = open & ((pos <= from ? 1 /* Open.From */ : 0) | (end >= to ? 2 /* Open.To */ : 0));\n if (pos >= from && end <= to && !childOpen)\n target.push(child);\n else\n child.decompose(from - pos, to - pos, target, childOpen);\n }\n pos = end + 1;\n }\n }\n replace(from, to, text) {\n if (text.lines < this.lines)\n for (let i = 0, pos = 0; i < this.children.length; i++) {\n let child = this.children[i], end = pos + child.length;\n // Fast path: if the change only affects one child and the\n // child's size remains in the acceptable range, only update\n // that child\n if (from >= pos && to <= end) {\n let updated = child.replace(from - pos, to - pos, text);\n let totalLines = this.lines - child.lines + updated.lines;\n if (updated.lines < (totalLines >> (5 /* Tree.BranchShift */ - 1)) &&\n updated.lines > (totalLines >> (5 /* Tree.BranchShift */ + 1))) {\n let copy = this.children.slice();\n copy[i] = updated;\n return new TextNode(copy, this.length - (to - from) + text.length);\n }\n return super.replace(pos, end, updated);\n }\n pos = end + 1;\n }\n return super.replace(from, to, text);\n }\n sliceString(from, to = this.length, lineSep = \"\\n\") {\n let result = \"\";\n for (let i = 0, pos = 0; i < this.children.length && pos <= to; i++) {\n let child = this.children[i], end = pos + child.length;\n if (pos > from && i)\n result += lineSep;\n if (from < end && to > pos)\n result += child.sliceString(from - pos, to - pos, lineSep);\n pos = end + 1;\n }\n return result;\n }\n flatten(target) {\n for (let child of this.children)\n child.flatten(target);\n }\n scanIdentical(other, dir) {\n if (!(other instanceof TextNode))\n return 0;\n let length = 0;\n let [iA, iB, eA, eB] = dir > 0 ? [0, 0, this.children.length, other.children.length]\n : [this.children.length - 1, other.children.length - 1, -1, -1];\n for (;; iA += dir, iB += dir) {\n if (iA == eA || iB == eB)\n return length;\n let chA = this.children[iA], chB = other.children[iB];\n if (chA != chB)\n return length + chA.scanIdentical(chB, dir);\n length += chA.length + 1;\n }\n }\n static from(children, length = children.reduce((l, ch) => l + ch.length + 1, -1)) {\n let lines = 0;\n for (let ch of children)\n lines += ch.lines;\n if (lines < 32 /* Tree.Branch */) {\n let flat = [];\n for (let ch of children)\n ch.flatten(flat);\n return new TextLeaf(flat, length);\n }\n let chunk = Math.max(32 /* Tree.Branch */, lines >> 5 /* Tree.BranchShift */), maxChunk = chunk << 1, minChunk = chunk >> 1;\n let chunked = [], currentLines = 0, currentLen = -1, currentChunk = [];\n function add(child) {\n let last;\n if (child.lines > maxChunk && child instanceof TextNode) {\n for (let node of child.children)\n add(node);\n }\n else if (child.lines > minChunk && (currentLines > minChunk || !currentLines)) {\n flush();\n chunked.push(child);\n }\n else if (child instanceof TextLeaf && currentLines &&\n (last = currentChunk[currentChunk.length - 1]) instanceof TextLeaf &&\n child.lines + last.lines <= 32 /* Tree.Branch */) {\n currentLines += child.lines;\n currentLen += child.length + 1;\n currentChunk[currentChunk.length - 1] = new TextLeaf(last.text.concat(child.text), last.length + 1 + child.length);\n }\n else {\n if (currentLines + child.lines > chunk)\n flush();\n currentLines += child.lines;\n currentLen += child.length + 1;\n currentChunk.push(child);\n }\n }\n function flush() {\n if (currentLines == 0)\n return;\n chunked.push(currentChunk.length == 1 ? currentChunk[0] : TextNode.from(currentChunk, currentLen));\n currentLen = -1;\n currentLines = currentChunk.length = 0;\n }\n for (let child of children)\n add(child);\n flush();\n return chunked.length == 1 ? chunked[0] : new TextNode(chunked, length);\n }\n}\nText.empty = /*@__PURE__*/new TextLeaf([\"\"], 0);\nfunction textLength(text) {\n let length = -1;\n for (let line of text)\n length += line.length + 1;\n return length;\n}\nfunction appendText(text, target, from = 0, to = 1e9) {\n for (let pos = 0, i = 0, first = true; i < text.length && pos <= to; i++) {\n let line = text[i], end = pos + line.length;\n if (end >= from) {\n if (end > to)\n line = line.slice(0, to - pos);\n if (pos < from)\n line = line.slice(from - pos);\n if (first) {\n target[target.length - 1] += line;\n first = false;\n }\n else\n target.push(line);\n }\n pos = end + 1;\n }\n return target;\n}\nfunction sliceText(text, from, to) {\n return appendText(text, [\"\"], from, to);\n}\nclass RawTextCursor {\n constructor(text, dir = 1) {\n this.dir = dir;\n this.done = false;\n this.lineBreak = false;\n this.value = \"\";\n this.nodes = [text];\n this.offsets = [dir > 0 ? 1 : (text instanceof TextLeaf ? text.text.length : text.children.length) << 1];\n }\n nextInner(skip, dir) {\n this.done = this.lineBreak = false;\n for (;;) {\n let last = this.nodes.length - 1;\n let top = this.nodes[last], offsetValue = this.offsets[last], offset = offsetValue >> 1;\n let size = top instanceof TextLeaf ? top.text.length : top.children.length;\n if (offset == (dir > 0 ? size : 0)) {\n if (last == 0) {\n this.done = true;\n this.value = \"\";\n return this;\n }\n if (dir > 0)\n this.offsets[last - 1]++;\n this.nodes.pop();\n this.offsets.pop();\n }\n else if ((offsetValue & 1) == (dir > 0 ? 0 : 1)) {\n this.offsets[last] += dir;\n if (skip == 0) {\n this.lineBreak = true;\n this.value = \"\\n\";\n return this;\n }\n skip--;\n }\n else if (top instanceof TextLeaf) {\n // Move to the next string\n let next = top.text[offset + (dir < 0 ? -1 : 0)];\n this.offsets[last] += dir;\n if (next.length > Math.max(0, skip)) {\n this.value = skip == 0 ? next : dir > 0 ? next.slice(skip) : next.slice(0, next.length - skip);\n return this;\n }\n skip -= next.length;\n }\n else {\n let next = top.children[offset + (dir < 0 ? -1 : 0)];\n if (skip > next.length) {\n skip -= next.length;\n this.offsets[last] += dir;\n }\n else {\n if (dir < 0)\n this.offsets[last]--;\n this.nodes.push(next);\n this.offsets.push(dir > 0 ? 1 : (next instanceof TextLeaf ? next.text.length : next.children.length) << 1);\n }\n }\n }\n }\n next(skip = 0) {\n if (skip < 0) {\n this.nextInner(-skip, (-this.dir));\n skip = this.value.length;\n }\n return this.nextInner(skip, this.dir);\n }\n}\nclass PartialTextCursor {\n constructor(text, start, end) {\n this.value = \"\";\n this.done = false;\n this.cursor = new RawTextCursor(text, start > end ? -1 : 1);\n this.pos = start > end ? text.length : 0;\n this.from = Math.min(start, end);\n this.to = Math.max(start, end);\n }\n nextInner(skip, dir) {\n if (dir < 0 ? this.pos <= this.from : this.pos >= this.to) {\n this.value = \"\";\n this.done = true;\n return this;\n }\n skip += Math.max(0, dir < 0 ? this.pos - this.to : this.from - this.pos);\n let limit = dir < 0 ? this.pos - this.from : this.to - this.pos;\n if (skip > limit)\n skip = limit;\n limit -= skip;\n let { value } = this.cursor.next(skip);\n this.pos += (value.length + skip) * dir;\n this.value = value.length <= limit ? value : dir < 0 ? value.slice(value.length - limit) : value.slice(0, limit);\n this.done = !this.value;\n return this;\n }\n next(skip = 0) {\n if (skip < 0)\n skip = Math.max(skip, this.from - this.pos);\n else if (skip > 0)\n skip = Math.min(skip, this.to - this.pos);\n return this.nextInner(skip, this.cursor.dir);\n }\n get lineBreak() { return this.cursor.lineBreak && this.value != \"\"; }\n}\nclass LineCursor {\n constructor(inner) {\n this.inner = inner;\n this.afterBreak = true;\n this.value = \"\";\n this.done = false;\n }\n next(skip = 0) {\n let { done, lineBreak, value } = this.inner.next(skip);\n if (done) {\n this.done = true;\n this.value = \"\";\n }\n else if (lineBreak) {\n if (this.afterBreak) {\n this.value = \"\";\n }\n else {\n this.afterBreak = true;\n this.next();\n }\n }\n else {\n this.value = value;\n this.afterBreak = false;\n }\n return this;\n }\n get lineBreak() { return false; }\n}\nif (typeof Symbol != \"undefined\") {\n Text.prototype[Symbol.iterator] = function () { return this.iter(); };\n RawTextCursor.prototype[Symbol.iterator] = PartialTextCursor.prototype[Symbol.iterator] =\n LineCursor.prototype[Symbol.iterator] = function () { return this; };\n}\n/**\nThis type describes a line in the document. It is created\non-demand when lines are [queried](https://codemirror.net/6/docs/ref/#state.Text.lineAt).\n*/\nlet Line$1 = class Line {\n /**\n @internal\n */\n constructor(\n /**\n The position of the start of the line.\n */\n from, \n /**\n The position at the end of the line (_before_ the line break,\n or at the end of document for the last line).\n */\n to, \n /**\n This line's line number (1-based).\n */\n number, \n /**\n The line's content.\n */\n text) {\n this.from = from;\n this.to = to;\n this.number = number;\n this.text = text;\n }\n /**\n The length of the line (not including any line break after it).\n */\n get length() { return this.to - this.from; }\n};\n\n// Compressed representation of the Grapheme_Cluster_Break=Extend\n// information from\n// http://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakProperty.txt.\n// Each pair of elements represents a range, as an offet from the\n// previous range and a length. Numbers are in base-36, with the empty\n// string being a shorthand for 1.\nlet extend = /*@__PURE__*/\"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(s => s ? parseInt(s, 36) : 1);\n// Convert offsets into absolute values\nfor (let i = 1; i < extend.length; i++)\n extend[i] += extend[i - 1];\nfunction isExtendingChar(code) {\n for (let i = 1; i < extend.length; i += 2)\n if (extend[i] > code)\n return extend[i - 1] <= code;\n return false;\n}\nfunction isRegionalIndicator(code) {\n return code >= 0x1F1E6 && code <= 0x1F1FF;\n}\nconst ZWJ = 0x200d;\n/**\nReturns a next grapheme cluster break _after_ (not equal to)\n`pos`, if `forward` is true, or before otherwise. Returns `pos`\nitself if no further cluster break is available in the string.\nMoves across surrogate pairs, extending characters (when\n`includeExtending` is true), characters joined with zero-width\njoiners, and flag emoji.\n*/\nfunction findClusterBreak(str, pos, forward = true, includeExtending = true) {\n return (forward ? nextClusterBreak : prevClusterBreak)(str, pos, includeExtending);\n}\nfunction nextClusterBreak(str, pos, includeExtending) {\n if (pos == str.length)\n return pos;\n // If pos is in the middle of a surrogate pair, move to its start\n if (pos && surrogateLow(str.charCodeAt(pos)) && surrogateHigh(str.charCodeAt(pos - 1)))\n pos--;\n let prev = codePointAt(str, pos);\n pos += codePointSize(prev);\n while (pos < str.length) {\n let next = codePointAt(str, pos);\n if (prev == ZWJ || next == ZWJ || includeExtending && isExtendingChar(next)) {\n pos += codePointSize(next);\n prev = next;\n }\n else if (isRegionalIndicator(next)) {\n let countBefore = 0, i = pos - 2;\n while (i >= 0 && isRegionalIndicator(codePointAt(str, i))) {\n countBefore++;\n i -= 2;\n }\n if (countBefore % 2 == 0)\n break;\n else\n pos += 2;\n }\n else {\n break;\n }\n }\n return pos;\n}\nfunction prevClusterBreak(str, pos, includeExtending) {\n while (pos > 0) {\n let found = nextClusterBreak(str, pos - 2, includeExtending);\n if (found < pos)\n return found;\n pos--;\n }\n return 0;\n}\nfunction surrogateLow(ch) { return ch >= 0xDC00 && ch < 0xE000; }\nfunction surrogateHigh(ch) { return ch >= 0xD800 && ch < 0xDC00; }\n/**\nFind the code point at the given position in a string (like the\n[`codePointAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt)\nstring method).\n*/\nfunction codePointAt(str, pos) {\n let code0 = str.charCodeAt(pos);\n if (!surrogateHigh(code0) || pos + 1 == str.length)\n return code0;\n let code1 = str.charCodeAt(pos + 1);\n if (!surrogateLow(code1))\n return code0;\n return ((code0 - 0xd800) << 10) + (code1 - 0xdc00) + 0x10000;\n}\n/**\nGiven a Unicode codepoint, return the JavaScript string that\nrespresents it (like\n[`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)).\n*/\nfunction fromCodePoint(code) {\n if (code <= 0xffff)\n return String.fromCharCode(code);\n code -= 0x10000;\n return String.fromCharCode((code >> 10) + 0xd800, (code & 1023) + 0xdc00);\n}\n/**\nThe amount of positions a character takes up a JavaScript string.\n*/\nfunction codePointSize(code) { return code < 0x10000 ? 1 : 2; }\n\nconst DefaultSplit = /\\r\\n?|\\n/;\n/**\nDistinguishes different ways in which positions can be mapped.\n*/\nvar MapMode = /*@__PURE__*/(function (MapMode) {\n /**\n Map a position to a valid new position, even when its context\n was deleted.\n */\n MapMode[MapMode[\"Simple\"] = 0] = \"Simple\";\n /**\n Return null if deletion happens across the position.\n */\n MapMode[MapMode[\"TrackDel\"] = 1] = \"TrackDel\";\n /**\n Return null if the character _before_ the position is deleted.\n */\n MapMode[MapMode[\"TrackBefore\"] = 2] = \"TrackBefore\";\n /**\n Return null if the character _after_ the position is deleted.\n */\n MapMode[MapMode[\"TrackAfter\"] = 3] = \"TrackAfter\";\nreturn MapMode})(MapMode || (MapMode = {}));\n/**\nA change description is a variant of [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet)\nthat doesn't store the inserted text. As such, it can't be\napplied, but is cheaper to store and manipulate.\n*/\nclass ChangeDesc {\n // Sections are encoded as pairs of integers. The first is the\n // length in the current document, and the second is -1 for\n // unaffected sections, and the length of the replacement content\n // otherwise. So an insertion would be (0, n>0), a deletion (n>0,\n // 0), and a replacement two positive numbers.\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n sections) {\n this.sections = sections;\n }\n /**\n The length of the document before the change.\n */\n get length() {\n let result = 0;\n for (let i = 0; i < this.sections.length; i += 2)\n result += this.sections[i];\n return result;\n }\n /**\n The length of the document after the change.\n */\n get newLength() {\n let result = 0;\n for (let i = 0; i < this.sections.length; i += 2) {\n let ins = this.sections[i + 1];\n result += ins < 0 ? this.sections[i] : ins;\n }\n return result;\n }\n /**\n False when there are actual changes in this set.\n */\n get empty() { return this.sections.length == 0 || this.sections.length == 2 && this.sections[1] < 0; }\n /**\n Iterate over the unchanged parts left by these changes. `posA`\n provides the position of the range in the old document, `posB`\n the new position in the changed document.\n */\n iterGaps(f) {\n for (let i = 0, posA = 0, posB = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++];\n if (ins < 0) {\n f(posA, posB, len);\n posB += len;\n }\n else {\n posB += ins;\n }\n posA += len;\n }\n }\n /**\n Iterate over the ranges changed by these changes. (See\n [`ChangeSet.iterChanges`](https://codemirror.net/6/docs/ref/#state.ChangeSet.iterChanges) for a\n variant that also provides you with the inserted text.)\n `fromA`/`toA` provides the extent of the change in the starting\n document, `fromB`/`toB` the extent of the replacement in the\n changed document.\n \n When `individual` is true, adjacent changes (which are kept\n separate for [position mapping](https://codemirror.net/6/docs/ref/#state.ChangeDesc.mapPos)) are\n reported separately.\n */\n iterChangedRanges(f, individual = false) {\n iterChanges(this, f, individual);\n }\n /**\n Get a description of the inverted form of these changes.\n */\n get invertedDesc() {\n let sections = [];\n for (let i = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++];\n if (ins < 0)\n sections.push(len, ins);\n else\n sections.push(ins, len);\n }\n return new ChangeDesc(sections);\n }\n /**\n Compute the combined effect of applying another set of changes\n after this one. The length of the document after this set should\n match the length before `other`.\n */\n composeDesc(other) { return this.empty ? other : other.empty ? this : composeSets(this, other); }\n /**\n Map this description, which should start with the same document\n as `other`, over another set of changes, so that it can be\n applied after it. When `before` is true, map as if the changes\n in `other` happened before the ones in `this`.\n */\n mapDesc(other, before = false) { return other.empty ? this : mapSet(this, other, before); }\n mapPos(pos, assoc = -1, mode = MapMode.Simple) {\n let posA = 0, posB = 0;\n for (let i = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++], endA = posA + len;\n if (ins < 0) {\n if (endA > pos)\n return posB + (pos - posA);\n posB += len;\n }\n else {\n if (mode != MapMode.Simple && endA >= pos &&\n (mode == MapMode.TrackDel && posA < pos && endA > pos ||\n mode == MapMode.TrackBefore && posA < pos ||\n mode == MapMode.TrackAfter && endA > pos))\n return null;\n if (endA > pos || endA == pos && assoc < 0 && !len)\n return pos == posA || assoc < 0 ? posB : posB + ins;\n posB += ins;\n }\n posA = endA;\n }\n if (pos > posA)\n throw new RangeError(`Position ${pos} is out of range for changeset of length ${posA}`);\n return posB;\n }\n /**\n Check whether these changes touch a given range. When one of the\n changes entirely covers the range, the string `\"cover\"` is\n returned.\n */\n touchesRange(from, to = from) {\n for (let i = 0, pos = 0; i < this.sections.length && pos <= to;) {\n let len = this.sections[i++], ins = this.sections[i++], end = pos + len;\n if (ins >= 0 && pos <= to && end >= from)\n return pos < from && end > to ? \"cover\" : true;\n pos = end;\n }\n return false;\n }\n /**\n @internal\n */\n toString() {\n let result = \"\";\n for (let i = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++];\n result += (result ? \" \" : \"\") + len + (ins >= 0 ? \":\" + ins : \"\");\n }\n return result;\n }\n /**\n Serialize this change desc to a JSON-representable value.\n */\n toJSON() { return this.sections; }\n /**\n Create a change desc from its JSON representation (as produced\n by [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeDesc.toJSON).\n */\n static fromJSON(json) {\n if (!Array.isArray(json) || json.length % 2 || json.some(a => typeof a != \"number\"))\n throw new RangeError(\"Invalid JSON representation of ChangeDesc\");\n return new ChangeDesc(json);\n }\n /**\n @internal\n */\n static create(sections) { return new ChangeDesc(sections); }\n}\n/**\nA change set represents a group of modifications to a document. It\nstores the document length, and can only be applied to documents\nwith exactly that length.\n*/\nclass ChangeSet extends ChangeDesc {\n constructor(sections, \n /**\n @internal\n */\n inserted) {\n super(sections);\n this.inserted = inserted;\n }\n /**\n Apply the changes to a document, returning the modified\n document.\n */\n apply(doc) {\n if (this.length != doc.length)\n throw new RangeError(\"Applying change set to a document with the wrong length\");\n iterChanges(this, (fromA, toA, fromB, _toB, text) => doc = doc.replace(fromB, fromB + (toA - fromA), text), false);\n return doc;\n }\n mapDesc(other, before = false) { return mapSet(this, other, before, true); }\n /**\n Given the document as it existed _before_ the changes, return a\n change set that represents the inverse of this set, which could\n be used to go from the document created by the changes back to\n the document as it existed before the changes.\n */\n invert(doc) {\n let sections = this.sections.slice(), inserted = [];\n for (let i = 0, pos = 0; i < sections.length; i += 2) {\n let len = sections[i], ins = sections[i + 1];\n if (ins >= 0) {\n sections[i] = ins;\n sections[i + 1] = len;\n let index = i >> 1;\n while (inserted.length < index)\n inserted.push(Text.empty);\n inserted.push(len ? doc.slice(pos, pos + len) : Text.empty);\n }\n pos += len;\n }\n return new ChangeSet(sections, inserted);\n }\n /**\n Combine two subsequent change sets into a single set. `other`\n must start in the document produced by `this`. If `this` goes\n `docA` → `docB` and `other` represents `docB` → `docC`, the\n returned value will represent the change `docA` → `docC`.\n */\n compose(other) { return this.empty ? other : other.empty ? this : composeSets(this, other, true); }\n /**\n Given another change set starting in the same document, maps this\n change set over the other, producing a new change set that can be\n applied to the document produced by applying `other`. When\n `before` is `true`, order changes as if `this` comes before\n `other`, otherwise (the default) treat `other` as coming first.\n \n Given two changes `A` and `B`, `A.compose(B.map(A))` and\n `B.compose(A.map(B, true))` will produce the same document. This\n provides a basic form of [operational\n transformation](https://en.wikipedia.org/wiki/Operational_transformation),\n and can be used for collaborative editing.\n */\n map(other, before = false) { return other.empty ? this : mapSet(this, other, before, true); }\n /**\n Iterate over the changed ranges in the document, calling `f` for\n each, with the range in the original document (`fromA`-`toA`)\n and the range that replaces it in the new document\n (`fromB`-`toB`).\n \n When `individual` is true, adjacent changes are reported\n separately.\n */\n iterChanges(f, individual = false) {\n iterChanges(this, f, individual);\n }\n /**\n Get a [change description](https://codemirror.net/6/docs/ref/#state.ChangeDesc) for this change\n set.\n */\n get desc() { return ChangeDesc.create(this.sections); }\n /**\n @internal\n */\n filter(ranges) {\n let resultSections = [], resultInserted = [], filteredSections = [];\n let iter = new SectionIter(this);\n done: for (let i = 0, pos = 0;;) {\n let next = i == ranges.length ? 1e9 : ranges[i++];\n while (pos < next || pos == next && iter.len == 0) {\n if (iter.done)\n break done;\n let len = Math.min(iter.len, next - pos);\n addSection(filteredSections, len, -1);\n let ins = iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0;\n addSection(resultSections, len, ins);\n if (ins > 0)\n addInsert(resultInserted, resultSections, iter.text);\n iter.forward(len);\n pos += len;\n }\n let end = ranges[i++];\n while (pos < end) {\n if (iter.done)\n break done;\n let len = Math.min(iter.len, end - pos);\n addSection(resultSections, len, -1);\n addSection(filteredSections, len, iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0);\n iter.forward(len);\n pos += len;\n }\n }\n return { changes: new ChangeSet(resultSections, resultInserted),\n filtered: ChangeDesc.create(filteredSections) };\n }\n /**\n Serialize this change set to a JSON-representable value.\n */\n toJSON() {\n let parts = [];\n for (let i = 0; i < this.sections.length; i += 2) {\n let len = this.sections[i], ins = this.sections[i + 1];\n if (ins < 0)\n parts.push(len);\n else if (ins == 0)\n parts.push([len]);\n else\n parts.push([len].concat(this.inserted[i >> 1].toJSON()));\n }\n return parts;\n }\n /**\n Create a change set for the given changes, for a document of the\n given length, using `lineSep` as line separator.\n */\n static of(changes, length, lineSep) {\n let sections = [], inserted = [], pos = 0;\n let total = null;\n function flush(force = false) {\n if (!force && !sections.length)\n return;\n if (pos < length)\n addSection(sections, length - pos, -1);\n let set = new ChangeSet(sections, inserted);\n total = total ? total.compose(set.map(total)) : set;\n sections = [];\n inserted = [];\n pos = 0;\n }\n function process(spec) {\n if (Array.isArray(spec)) {\n for (let sub of spec)\n process(sub);\n }\n else if (spec instanceof ChangeSet) {\n if (spec.length != length)\n throw new RangeError(`Mismatched change set length (got ${spec.length}, expected ${length})`);\n flush();\n total = total ? total.compose(spec.map(total)) : spec;\n }\n else {\n let { from, to = from, insert } = spec;\n if (from > to || from < 0 || to > length)\n throw new RangeError(`Invalid change range ${from} to ${to} (in doc of length ${length})`);\n let insText = !insert ? Text.empty : typeof insert == \"string\" ? Text.of(insert.split(lineSep || DefaultSplit)) : insert;\n let insLen = insText.length;\n if (from == to && insLen == 0)\n return;\n if (from < pos)\n flush();\n if (from > pos)\n addSection(sections, from - pos, -1);\n addSection(sections, to - from, insLen);\n addInsert(inserted, sections, insText);\n pos = to;\n }\n }\n process(changes);\n flush(!total);\n return total;\n }\n /**\n Create an empty changeset of the given length.\n */\n static empty(length) {\n return new ChangeSet(length ? [length, -1] : [], []);\n }\n /**\n Create a changeset from its JSON representation (as produced by\n [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeSet.toJSON).\n */\n static fromJSON(json) {\n if (!Array.isArray(json))\n throw new RangeError(\"Invalid JSON representation of ChangeSet\");\n let sections = [], inserted = [];\n for (let i = 0; i < json.length; i++) {\n let part = json[i];\n if (typeof part == \"number\") {\n sections.push(part, -1);\n }\n else if (!Array.isArray(part) || typeof part[0] != \"number\" || part.some((e, i) => i && typeof e != \"string\")) {\n throw new RangeError(\"Invalid JSON representation of ChangeSet\");\n }\n else if (part.length == 1) {\n sections.push(part[0], 0);\n }\n else {\n while (inserted.length < i)\n inserted.push(Text.empty);\n inserted[i] = Text.of(part.slice(1));\n sections.push(part[0], inserted[i].length);\n }\n }\n return new ChangeSet(sections, inserted);\n }\n /**\n @internal\n */\n static createSet(sections, inserted) {\n return new ChangeSet(sections, inserted);\n }\n}\nfunction addSection(sections, len, ins, forceJoin = false) {\n if (len == 0 && ins <= 0)\n return;\n let last = sections.length - 2;\n if (last >= 0 && ins <= 0 && ins == sections[last + 1])\n sections[last] += len;\n else if (len == 0 && sections[last] == 0)\n sections[last + 1] += ins;\n else if (forceJoin) {\n sections[last] += len;\n sections[last + 1] += ins;\n }\n else\n sections.push(len, ins);\n}\nfunction addInsert(values, sections, value) {\n if (value.length == 0)\n return;\n let index = (sections.length - 2) >> 1;\n if (index < values.length) {\n values[values.length - 1] = values[values.length - 1].append(value);\n }\n else {\n while (values.length < index)\n values.push(Text.empty);\n values.push(value);\n }\n}\nfunction iterChanges(desc, f, individual) {\n let inserted = desc.inserted;\n for (let posA = 0, posB = 0, i = 0; i < desc.sections.length;) {\n let len = desc.sections[i++], ins = desc.sections[i++];\n if (ins < 0) {\n posA += len;\n posB += len;\n }\n else {\n let endA = posA, endB = posB, text = Text.empty;\n for (;;) {\n endA += len;\n endB += ins;\n if (ins && inserted)\n text = text.append(inserted[(i - 2) >> 1]);\n if (individual || i == desc.sections.length || desc.sections[i + 1] < 0)\n break;\n len = desc.sections[i++];\n ins = desc.sections[i++];\n }\n f(posA, endA, posB, endB, text);\n posA = endA;\n posB = endB;\n }\n }\n}\nfunction mapSet(setA, setB, before, mkSet = false) {\n // Produce a copy of setA that applies to the document after setB\n // has been applied (assuming both start at the same document).\n let sections = [], insert = mkSet ? [] : null;\n let a = new SectionIter(setA), b = new SectionIter(setB);\n // Iterate over both sets in parallel. inserted tracks, for changes\n // in A that have to be processed piece-by-piece, whether their\n // content has been inserted already, and refers to the section\n // index.\n for (let inserted = -1;;) {\n if (a.ins == -1 && b.ins == -1) {\n // Move across ranges skipped by both sets.\n let len = Math.min(a.len, b.len);\n addSection(sections, len, -1);\n a.forward(len);\n b.forward(len);\n }\n else if (b.ins >= 0 && (a.ins < 0 || inserted == a.i || a.off == 0 && (b.len < a.len || b.len == a.len && !before))) {\n // If there's a change in B that comes before the next change in\n // A (ordered by start pos, then len, then before flag), skip\n // that (and process any changes in A it covers).\n let len = b.len;\n addSection(sections, b.ins, -1);\n while (len) {\n let piece = Math.min(a.len, len);\n if (a.ins >= 0 && inserted < a.i && a.len <= piece) {\n addSection(sections, 0, a.ins);\n if (insert)\n addInsert(insert, sections, a.text);\n inserted = a.i;\n }\n a.forward(piece);\n len -= piece;\n }\n b.next();\n }\n else if (a.ins >= 0) {\n // Process the part of a change in A up to the start of the next\n // non-deletion change in B (if overlapping).\n let len = 0, left = a.len;\n while (left) {\n if (b.ins == -1) {\n let piece = Math.min(left, b.len);\n len += piece;\n left -= piece;\n b.forward(piece);\n }\n else if (b.ins == 0 && b.len < left) {\n left -= b.len;\n b.next();\n }\n else {\n break;\n }\n }\n addSection(sections, len, inserted < a.i ? a.ins : 0);\n if (insert && inserted < a.i)\n addInsert(insert, sections, a.text);\n inserted = a.i;\n a.forward(a.len - left);\n }\n else if (a.done && b.done) {\n return insert ? ChangeSet.createSet(sections, insert) : ChangeDesc.create(sections);\n }\n else {\n throw new Error(\"Mismatched change set lengths\");\n }\n }\n}\nfunction composeSets(setA, setB, mkSet = false) {\n let sections = [];\n let insert = mkSet ? [] : null;\n let a = new SectionIter(setA), b = new SectionIter(setB);\n for (let open = false;;) {\n if (a.done && b.done) {\n return insert ? ChangeSet.createSet(sections, insert) : ChangeDesc.create(sections);\n }\n else if (a.ins == 0) { // Deletion in A\n addSection(sections, a.len, 0, open);\n a.next();\n }\n else if (b.len == 0 && !b.done) { // Insertion in B\n addSection(sections, 0, b.ins, open);\n if (insert)\n addInsert(insert, sections, b.text);\n b.next();\n }\n else if (a.done || b.done) {\n throw new Error(\"Mismatched change set lengths\");\n }\n else {\n let len = Math.min(a.len2, b.len), sectionLen = sections.length;\n if (a.ins == -1) {\n let insB = b.ins == -1 ? -1 : b.off ? 0 : b.ins;\n addSection(sections, len, insB, open);\n if (insert && insB)\n addInsert(insert, sections, b.text);\n }\n else if (b.ins == -1) {\n addSection(sections, a.off ? 0 : a.len, len, open);\n if (insert)\n addInsert(insert, sections, a.textBit(len));\n }\n else {\n addSection(sections, a.off ? 0 : a.len, b.off ? 0 : b.ins, open);\n if (insert && !b.off)\n addInsert(insert, sections, b.text);\n }\n open = (a.ins > len || b.ins >= 0 && b.len > len) && (open || sections.length > sectionLen);\n a.forward2(len);\n b.forward(len);\n }\n }\n}\nclass SectionIter {\n constructor(set) {\n this.set = set;\n this.i = 0;\n this.next();\n }\n next() {\n let { sections } = this.set;\n if (this.i < sections.length) {\n this.len = sections[this.i++];\n this.ins = sections[this.i++];\n }\n else {\n this.len = 0;\n this.ins = -2;\n }\n this.off = 0;\n }\n get done() { return this.ins == -2; }\n get len2() { return this.ins < 0 ? this.len : this.ins; }\n get text() {\n let { inserted } = this.set, index = (this.i - 2) >> 1;\n return index >= inserted.length ? Text.empty : inserted[index];\n }\n textBit(len) {\n let { inserted } = this.set, index = (this.i - 2) >> 1;\n return index >= inserted.length && !len ? Text.empty\n : inserted[index].slice(this.off, len == null ? undefined : this.off + len);\n }\n forward(len) {\n if (len == this.len)\n this.next();\n else {\n this.len -= len;\n this.off += len;\n }\n }\n forward2(len) {\n if (this.ins == -1)\n this.forward(len);\n else if (len == this.ins)\n this.next();\n else {\n this.ins -= len;\n this.off += len;\n }\n }\n}\n\n/**\nA single selection range. When\n[`allowMultipleSelections`](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\nis enabled, a [selection](https://codemirror.net/6/docs/ref/#state.EditorSelection) may hold\nmultiple ranges. By default, selections hold exactly one range.\n*/\nclass SelectionRange {\n constructor(\n /**\n The lower boundary of the range.\n */\n from, \n /**\n The upper boundary of the range.\n */\n to, flags) {\n this.from = from;\n this.to = to;\n this.flags = flags;\n }\n /**\n The anchor of the range—the side that doesn't move when you\n extend it.\n */\n get anchor() { return this.flags & 16 /* RangeFlag.Inverted */ ? this.to : this.from; }\n /**\n The head of the range, which is moved when the range is\n [extended](https://codemirror.net/6/docs/ref/#state.SelectionRange.extend).\n */\n get head() { return this.flags & 16 /* RangeFlag.Inverted */ ? this.from : this.to; }\n /**\n True when `anchor` and `head` are at the same position.\n */\n get empty() { return this.from == this.to; }\n /**\n If this is a cursor that is explicitly associated with the\n character on one of its sides, this returns the side. -1 means\n the character before its position, 1 the character after, and 0\n means no association.\n */\n get assoc() { return this.flags & 4 /* RangeFlag.AssocBefore */ ? -1 : this.flags & 8 /* RangeFlag.AssocAfter */ ? 1 : 0; }\n /**\n The bidirectional text level associated with this cursor, if\n any.\n */\n get bidiLevel() {\n let level = this.flags & 3 /* RangeFlag.BidiLevelMask */;\n return level == 3 ? null : level;\n }\n /**\n The goal column (stored vertical offset) associated with a\n cursor. This is used to preserve the vertical position when\n [moving](https://codemirror.net/6/docs/ref/#view.EditorView.moveVertically) across\n lines of different length.\n */\n get goalColumn() {\n let value = this.flags >> 5 /* RangeFlag.GoalColumnOffset */;\n return value == 33554431 /* RangeFlag.NoGoalColumn */ ? undefined : value;\n }\n /**\n Map this range through a change, producing a valid range in the\n updated document.\n */\n map(change, assoc = -1) {\n let from, to;\n if (this.empty) {\n from = to = change.mapPos(this.from, assoc);\n }\n else {\n from = change.mapPos(this.from, 1);\n to = change.mapPos(this.to, -1);\n }\n return from == this.from && to == this.to ? this : new SelectionRange(from, to, this.flags);\n }\n /**\n Extend this range to cover at least `from` to `to`.\n */\n extend(from, to = from) {\n if (from <= this.anchor && to >= this.anchor)\n return EditorSelection.range(from, to);\n let head = Math.abs(from - this.anchor) > Math.abs(to - this.anchor) ? from : to;\n return EditorSelection.range(this.anchor, head);\n }\n /**\n Compare this range to another range.\n */\n eq(other) {\n return this.anchor == other.anchor && this.head == other.head;\n }\n /**\n Return a JSON-serializable object representing the range.\n */\n toJSON() { return { anchor: this.anchor, head: this.head }; }\n /**\n Convert a JSON representation of a range to a `SelectionRange`\n instance.\n */\n static fromJSON(json) {\n if (!json || typeof json.anchor != \"number\" || typeof json.head != \"number\")\n throw new RangeError(\"Invalid JSON representation for SelectionRange\");\n return EditorSelection.range(json.anchor, json.head);\n }\n /**\n @internal\n */\n static create(from, to, flags) {\n return new SelectionRange(from, to, flags);\n }\n}\n/**\nAn editor selection holds one or more selection ranges.\n*/\nclass EditorSelection {\n constructor(\n /**\n The ranges in the selection, sorted by position. Ranges cannot\n overlap (but they may touch, if they aren't empty).\n */\n ranges, \n /**\n The index of the _main_ range in the selection (which is\n usually the range that was added last).\n */\n mainIndex) {\n this.ranges = ranges;\n this.mainIndex = mainIndex;\n }\n /**\n Map a selection through a change. Used to adjust the selection\n position for changes.\n */\n map(change, assoc = -1) {\n if (change.empty)\n return this;\n return EditorSelection.create(this.ranges.map(r => r.map(change, assoc)), this.mainIndex);\n }\n /**\n Compare this selection to another selection.\n */\n eq(other) {\n if (this.ranges.length != other.ranges.length ||\n this.mainIndex != other.mainIndex)\n return false;\n for (let i = 0; i < this.ranges.length; i++)\n if (!this.ranges[i].eq(other.ranges[i]))\n return false;\n return true;\n }\n /**\n Get the primary selection range. Usually, you should make sure\n your code applies to _all_ ranges, by using methods like\n [`changeByRange`](https://codemirror.net/6/docs/ref/#state.EditorState.changeByRange).\n */\n get main() { return this.ranges[this.mainIndex]; }\n /**\n Make sure the selection only has one range. Returns a selection\n holding only the main range from this selection.\n */\n asSingle() {\n return this.ranges.length == 1 ? this : new EditorSelection([this.main], 0);\n }\n /**\n Extend this selection with an extra range.\n */\n addRange(range, main = true) {\n return EditorSelection.create([range].concat(this.ranges), main ? 0 : this.mainIndex + 1);\n }\n /**\n Replace a given range with another range, and then normalize the\n selection to merge and sort ranges if necessary.\n */\n replaceRange(range, which = this.mainIndex) {\n let ranges = this.ranges.slice();\n ranges[which] = range;\n return EditorSelection.create(ranges, this.mainIndex);\n }\n /**\n Convert this selection to an object that can be serialized to\n JSON.\n */\n toJSON() {\n return { ranges: this.ranges.map(r => r.toJSON()), main: this.mainIndex };\n }\n /**\n Create a selection from a JSON representation.\n */\n static fromJSON(json) {\n if (!json || !Array.isArray(json.ranges) || typeof json.main != \"number\" || json.main >= json.ranges.length)\n throw new RangeError(\"Invalid JSON representation for EditorSelection\");\n return new EditorSelection(json.ranges.map((r) => SelectionRange.fromJSON(r)), json.main);\n }\n /**\n Create a selection holding a single range.\n */\n static single(anchor, head = anchor) {\n return new EditorSelection([EditorSelection.range(anchor, head)], 0);\n }\n /**\n Sort and merge the given set of ranges, creating a valid\n selection.\n */\n static create(ranges, mainIndex = 0) {\n if (ranges.length == 0)\n throw new RangeError(\"A selection needs at least one range\");\n for (let pos = 0, i = 0; i < ranges.length; i++) {\n let range = ranges[i];\n if (range.empty ? range.from <= pos : range.from < pos)\n return EditorSelection.normalized(ranges.slice(), mainIndex);\n pos = range.to;\n }\n return new EditorSelection(ranges, mainIndex);\n }\n /**\n Create a cursor selection range at the given position. You can\n safely ignore the optional arguments in most situations.\n */\n static cursor(pos, assoc = 0, bidiLevel, goalColumn) {\n return SelectionRange.create(pos, pos, (assoc == 0 ? 0 : assoc < 0 ? 4 /* RangeFlag.AssocBefore */ : 8 /* RangeFlag.AssocAfter */) |\n (bidiLevel == null ? 3 : Math.min(2, bidiLevel)) |\n ((goalColumn !== null && goalColumn !== void 0 ? goalColumn : 33554431 /* RangeFlag.NoGoalColumn */) << 5 /* RangeFlag.GoalColumnOffset */));\n }\n /**\n Create a selection range.\n */\n static range(anchor, head, goalColumn, bidiLevel) {\n let flags = ((goalColumn !== null && goalColumn !== void 0 ? goalColumn : 33554431 /* RangeFlag.NoGoalColumn */) << 5 /* RangeFlag.GoalColumnOffset */) |\n (bidiLevel == null ? 3 : Math.min(2, bidiLevel));\n return head < anchor ? SelectionRange.create(head, anchor, 16 /* RangeFlag.Inverted */ | 8 /* RangeFlag.AssocAfter */ | flags)\n : SelectionRange.create(anchor, head, (head > anchor ? 4 /* RangeFlag.AssocBefore */ : 0) | flags);\n }\n /**\n @internal\n */\n static normalized(ranges, mainIndex = 0) {\n let main = ranges[mainIndex];\n ranges.sort((a, b) => a.from - b.from);\n mainIndex = ranges.indexOf(main);\n for (let i = 1; i < ranges.length; i++) {\n let range = ranges[i], prev = ranges[i - 1];\n if (range.empty ? range.from <= prev.to : range.from < prev.to) {\n let from = prev.from, to = Math.max(range.to, prev.to);\n if (i <= mainIndex)\n mainIndex--;\n ranges.splice(--i, 2, range.anchor > range.head ? EditorSelection.range(to, from) : EditorSelection.range(from, to));\n }\n }\n return new EditorSelection(ranges, mainIndex);\n }\n}\nfunction checkSelection(selection, docLength) {\n for (let range of selection.ranges)\n if (range.to > docLength)\n throw new RangeError(\"Selection points outside of document\");\n}\n\nlet nextID = 0;\n/**\nA facet is a labeled value that is associated with an editor\nstate. It takes inputs from any number of extensions, and combines\nthose into a single output value.\n\nExamples of uses of facets are the [tab\nsize](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize), [editor\nattributes](https://codemirror.net/6/docs/ref/#view.EditorView^editorAttributes), and [update\nlisteners](https://codemirror.net/6/docs/ref/#view.EditorView^updateListener).\n*/\nclass Facet {\n constructor(\n /**\n @internal\n */\n combine, \n /**\n @internal\n */\n compareInput, \n /**\n @internal\n */\n compare, isStatic, enables) {\n this.combine = combine;\n this.compareInput = compareInput;\n this.compare = compare;\n this.isStatic = isStatic;\n /**\n @internal\n */\n this.id = nextID++;\n this.default = combine([]);\n this.extensions = typeof enables == \"function\" ? enables(this) : enables;\n }\n /**\n Define a new facet.\n */\n static define(config = {}) {\n return new Facet(config.combine || ((a) => a), config.compareInput || ((a, b) => a === b), config.compare || (!config.combine ? sameArray$1 : (a, b) => a === b), !!config.static, config.enables);\n }\n /**\n Returns an extension that adds the given value to this facet.\n */\n of(value) {\n return new FacetProvider([], this, 0 /* Provider.Static */, value);\n }\n /**\n Create an extension that computes a value for the facet from a\n state. You must take care to declare the parts of the state that\n this value depends on, since your function is only called again\n for a new state when one of those parts changed.\n \n In cases where your value depends only on a single field, you'll\n want to use the [`from`](https://codemirror.net/6/docs/ref/#state.Facet.from) method instead.\n */\n compute(deps, get) {\n if (this.isStatic)\n throw new Error(\"Can't compute a static facet\");\n return new FacetProvider(deps, this, 1 /* Provider.Single */, get);\n }\n /**\n Create an extension that computes zero or more values for this\n facet from a state.\n */\n computeN(deps, get) {\n if (this.isStatic)\n throw new Error(\"Can't compute a static facet\");\n return new FacetProvider(deps, this, 2 /* Provider.Multi */, get);\n }\n from(field, get) {\n if (!get)\n get = x => x;\n return this.compute([field], state => get(state.field(field)));\n }\n}\nfunction sameArray$1(a, b) {\n return a == b || a.length == b.length && a.every((e, i) => e === b[i]);\n}\nclass FacetProvider {\n constructor(dependencies, facet, type, value) {\n this.dependencies = dependencies;\n this.facet = facet;\n this.type = type;\n this.value = value;\n this.id = nextID++;\n }\n dynamicSlot(addresses) {\n var _a;\n let getter = this.value;\n let compare = this.facet.compareInput;\n let id = this.id, idx = addresses[id] >> 1, multi = this.type == 2 /* Provider.Multi */;\n let depDoc = false, depSel = false, depAddrs = [];\n for (let dep of this.dependencies) {\n if (dep == \"doc\")\n depDoc = true;\n else if (dep == \"selection\")\n depSel = true;\n else if ((((_a = addresses[dep.id]) !== null && _a !== void 0 ? _a : 1) & 1) == 0)\n depAddrs.push(addresses[dep.id]);\n }\n return {\n create(state) {\n state.values[idx] = getter(state);\n return 1 /* SlotStatus.Changed */;\n },\n update(state, tr) {\n if ((depDoc && tr.docChanged) || (depSel && (tr.docChanged || tr.selection)) || ensureAll(state, depAddrs)) {\n let newVal = getter(state);\n if (multi ? !compareArray(newVal, state.values[idx], compare) : !compare(newVal, state.values[idx])) {\n state.values[idx] = newVal;\n return 1 /* SlotStatus.Changed */;\n }\n }\n return 0;\n },\n reconfigure: (state, oldState) => {\n let newVal, oldAddr = oldState.config.address[id];\n if (oldAddr != null) {\n let oldVal = getAddr(oldState, oldAddr);\n if (this.dependencies.every(dep => {\n return dep instanceof Facet ? oldState.facet(dep) === state.facet(dep) :\n dep instanceof StateField ? oldState.field(dep, false) == state.field(dep, false) : true;\n }) || (multi ? compareArray(newVal = getter(state), oldVal, compare) : compare(newVal = getter(state), oldVal))) {\n state.values[idx] = oldVal;\n return 0;\n }\n }\n else {\n newVal = getter(state);\n }\n state.values[idx] = newVal;\n return 1 /* SlotStatus.Changed */;\n }\n };\n }\n}\nfunction compareArray(a, b, compare) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!compare(a[i], b[i]))\n return false;\n return true;\n}\nfunction ensureAll(state, addrs) {\n let changed = false;\n for (let addr of addrs)\n if (ensureAddr(state, addr) & 1 /* SlotStatus.Changed */)\n changed = true;\n return changed;\n}\nfunction dynamicFacetSlot(addresses, facet, providers) {\n let providerAddrs = providers.map(p => addresses[p.id]);\n let providerTypes = providers.map(p => p.type);\n let dynamic = providerAddrs.filter(p => !(p & 1));\n let idx = addresses[facet.id] >> 1;\n function get(state) {\n let values = [];\n for (let i = 0; i < providerAddrs.length; i++) {\n let value = getAddr(state, providerAddrs[i]);\n if (providerTypes[i] == 2 /* Provider.Multi */)\n for (let val of value)\n values.push(val);\n else\n values.push(value);\n }\n return facet.combine(values);\n }\n return {\n create(state) {\n for (let addr of providerAddrs)\n ensureAddr(state, addr);\n state.values[idx] = get(state);\n return 1 /* SlotStatus.Changed */;\n },\n update(state, tr) {\n if (!ensureAll(state, dynamic))\n return 0;\n let value = get(state);\n if (facet.compare(value, state.values[idx]))\n return 0;\n state.values[idx] = value;\n return 1 /* SlotStatus.Changed */;\n },\n reconfigure(state, oldState) {\n let depChanged = ensureAll(state, providerAddrs);\n let oldProviders = oldState.config.facets[facet.id], oldValue = oldState.facet(facet);\n if (oldProviders && !depChanged && sameArray$1(providers, oldProviders)) {\n state.values[idx] = oldValue;\n return 0;\n }\n let value = get(state);\n if (facet.compare(value, oldValue)) {\n state.values[idx] = oldValue;\n return 0;\n }\n state.values[idx] = value;\n return 1 /* SlotStatus.Changed */;\n }\n };\n}\nconst initField = /*@__PURE__*/Facet.define({ static: true });\n/**\nFields can store additional information in an editor state, and\nkeep it in sync with the rest of the state.\n*/\nclass StateField {\n constructor(\n /**\n @internal\n */\n id, createF, updateF, compareF, \n /**\n @internal\n */\n spec) {\n this.id = id;\n this.createF = createF;\n this.updateF = updateF;\n this.compareF = compareF;\n this.spec = spec;\n /**\n @internal\n */\n this.provides = undefined;\n }\n /**\n Define a state field.\n */\n static define(config) {\n let field = new StateField(nextID++, config.create, config.update, config.compare || ((a, b) => a === b), config);\n if (config.provide)\n field.provides = config.provide(field);\n return field;\n }\n create(state) {\n let init = state.facet(initField).find(i => i.field == this);\n return ((init === null || init === void 0 ? void 0 : init.create) || this.createF)(state);\n }\n /**\n @internal\n */\n slot(addresses) {\n let idx = addresses[this.id] >> 1;\n return {\n create: (state) => {\n state.values[idx] = this.create(state);\n return 1 /* SlotStatus.Changed */;\n },\n update: (state, tr) => {\n let oldVal = state.values[idx];\n let value = this.updateF(oldVal, tr);\n if (this.compareF(oldVal, value))\n return 0;\n state.values[idx] = value;\n return 1 /* SlotStatus.Changed */;\n },\n reconfigure: (state, oldState) => {\n if (oldState.config.address[this.id] != null) {\n state.values[idx] = oldState.field(this);\n return 0;\n }\n state.values[idx] = this.create(state);\n return 1 /* SlotStatus.Changed */;\n }\n };\n }\n /**\n Returns an extension that enables this field and overrides the\n way it is initialized. Can be useful when you need to provide a\n non-default starting value for the field.\n */\n init(create) {\n return [this, initField.of({ field: this, create })];\n }\n /**\n State field instances can be used as\n [`Extension`](https://codemirror.net/6/docs/ref/#state.Extension) values to enable the field in a\n given state.\n */\n get extension() { return this; }\n}\nconst Prec_ = { lowest: 4, low: 3, default: 2, high: 1, highest: 0 };\nfunction prec(value) {\n return (ext) => new PrecExtension(ext, value);\n}\n/**\nBy default extensions are registered in the order they are found\nin the flattened form of nested array that was provided.\nIndividual extension values can be assigned a precedence to\noverride this. Extensions that do not have a precedence set get\nthe precedence of the nearest parent with a precedence, or\n[`default`](https://codemirror.net/6/docs/ref/#state.Prec.default) if there is no such parent. The\nfinal ordering of extensions is determined by first sorting by\nprecedence and then by order within each precedence.\n*/\nconst Prec = {\n /**\n The highest precedence level, for extensions that should end up\n near the start of the precedence ordering.\n */\n highest: /*@__PURE__*/prec(Prec_.highest),\n /**\n A higher-than-default precedence, for extensions that should\n come before those with default precedence.\n */\n high: /*@__PURE__*/prec(Prec_.high),\n /**\n The default precedence, which is also used for extensions\n without an explicit precedence.\n */\n default: /*@__PURE__*/prec(Prec_.default),\n /**\n A lower-than-default precedence.\n */\n low: /*@__PURE__*/prec(Prec_.low),\n /**\n The lowest precedence level. Meant for things that should end up\n near the end of the extension order.\n */\n lowest: /*@__PURE__*/prec(Prec_.lowest)\n};\nclass PrecExtension {\n constructor(inner, prec) {\n this.inner = inner;\n this.prec = prec;\n }\n}\n/**\nExtension compartments can be used to make a configuration\ndynamic. By [wrapping](https://codemirror.net/6/docs/ref/#state.Compartment.of) part of your\nconfiguration in a compartment, you can later\n[replace](https://codemirror.net/6/docs/ref/#state.Compartment.reconfigure) that part through a\ntransaction.\n*/\nclass Compartment {\n /**\n Create an instance of this compartment to add to your [state\n configuration](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions).\n */\n of(ext) { return new CompartmentInstance(this, ext); }\n /**\n Create an [effect](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) that\n reconfigures this compartment.\n */\n reconfigure(content) {\n return Compartment.reconfigure.of({ compartment: this, extension: content });\n }\n /**\n Get the current content of the compartment in the state, or\n `undefined` if it isn't present.\n */\n get(state) {\n return state.config.compartments.get(this);\n }\n}\nclass CompartmentInstance {\n constructor(compartment, inner) {\n this.compartment = compartment;\n this.inner = inner;\n }\n}\nclass Configuration {\n constructor(base, compartments, dynamicSlots, address, staticValues, facets) {\n this.base = base;\n this.compartments = compartments;\n this.dynamicSlots = dynamicSlots;\n this.address = address;\n this.staticValues = staticValues;\n this.facets = facets;\n this.statusTemplate = [];\n while (this.statusTemplate.length < dynamicSlots.length)\n this.statusTemplate.push(0 /* SlotStatus.Unresolved */);\n }\n staticFacet(facet) {\n let addr = this.address[facet.id];\n return addr == null ? facet.default : this.staticValues[addr >> 1];\n }\n static resolve(base, compartments, oldState) {\n let fields = [];\n let facets = Object.create(null);\n let newCompartments = new Map();\n for (let ext of flatten(base, compartments, newCompartments)) {\n if (ext instanceof StateField)\n fields.push(ext);\n else\n (facets[ext.facet.id] || (facets[ext.facet.id] = [])).push(ext);\n }\n let address = Object.create(null);\n let staticValues = [];\n let dynamicSlots = [];\n for (let field of fields) {\n address[field.id] = dynamicSlots.length << 1;\n dynamicSlots.push(a => field.slot(a));\n }\n let oldFacets = oldState === null || oldState === void 0 ? void 0 : oldState.config.facets;\n for (let id in facets) {\n let providers = facets[id], facet = providers[0].facet;\n let oldProviders = oldFacets && oldFacets[id] || [];\n if (providers.every(p => p.type == 0 /* Provider.Static */)) {\n address[facet.id] = (staticValues.length << 1) | 1;\n if (sameArray$1(oldProviders, providers)) {\n staticValues.push(oldState.facet(facet));\n }\n else {\n let value = facet.combine(providers.map(p => p.value));\n staticValues.push(oldState && facet.compare(value, oldState.facet(facet)) ? oldState.facet(facet) : value);\n }\n }\n else {\n for (let p of providers) {\n if (p.type == 0 /* Provider.Static */) {\n address[p.id] = (staticValues.length << 1) | 1;\n staticValues.push(p.value);\n }\n else {\n address[p.id] = dynamicSlots.length << 1;\n dynamicSlots.push(a => p.dynamicSlot(a));\n }\n }\n address[facet.id] = dynamicSlots.length << 1;\n dynamicSlots.push(a => dynamicFacetSlot(a, facet, providers));\n }\n }\n let dynamic = dynamicSlots.map(f => f(address));\n return new Configuration(base, newCompartments, dynamic, address, staticValues, facets);\n }\n}\nfunction flatten(extension, compartments, newCompartments) {\n let result = [[], [], [], [], []];\n let seen = new Map();\n function inner(ext, prec) {\n let known = seen.get(ext);\n if (known != null) {\n if (known <= prec)\n return;\n let found = result[known].indexOf(ext);\n if (found > -1)\n result[known].splice(found, 1);\n if (ext instanceof CompartmentInstance)\n newCompartments.delete(ext.compartment);\n }\n seen.set(ext, prec);\n if (Array.isArray(ext)) {\n for (let e of ext)\n inner(e, prec);\n }\n else if (ext instanceof CompartmentInstance) {\n if (newCompartments.has(ext.compartment))\n throw new RangeError(`Duplicate use of compartment in extensions`);\n let content = compartments.get(ext.compartment) || ext.inner;\n newCompartments.set(ext.compartment, content);\n inner(content, prec);\n }\n else if (ext instanceof PrecExtension) {\n inner(ext.inner, ext.prec);\n }\n else if (ext instanceof StateField) {\n result[prec].push(ext);\n if (ext.provides)\n inner(ext.provides, prec);\n }\n else if (ext instanceof FacetProvider) {\n result[prec].push(ext);\n if (ext.facet.extensions)\n inner(ext.facet.extensions, Prec_.default);\n }\n else {\n let content = ext.extension;\n if (!content)\n throw new Error(`Unrecognized extension value in extension set (${ext}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);\n inner(content, prec);\n }\n }\n inner(extension, Prec_.default);\n return result.reduce((a, b) => a.concat(b));\n}\nfunction ensureAddr(state, addr) {\n if (addr & 1)\n return 2 /* SlotStatus.Computed */;\n let idx = addr >> 1;\n let status = state.status[idx];\n if (status == 4 /* SlotStatus.Computing */)\n throw new Error(\"Cyclic dependency between fields and/or facets\");\n if (status & 2 /* SlotStatus.Computed */)\n return status;\n state.status[idx] = 4 /* SlotStatus.Computing */;\n let changed = state.computeSlot(state, state.config.dynamicSlots[idx]);\n return state.status[idx] = 2 /* SlotStatus.Computed */ | changed;\n}\nfunction getAddr(state, addr) {\n return addr & 1 ? state.config.staticValues[addr >> 1] : state.values[addr >> 1];\n}\n\nconst languageData = /*@__PURE__*/Facet.define();\nconst allowMultipleSelections = /*@__PURE__*/Facet.define({\n combine: values => values.some(v => v),\n static: true\n});\nconst lineSeparator = /*@__PURE__*/Facet.define({\n combine: values => values.length ? values[0] : undefined,\n static: true\n});\nconst changeFilter = /*@__PURE__*/Facet.define();\nconst transactionFilter = /*@__PURE__*/Facet.define();\nconst transactionExtender = /*@__PURE__*/Facet.define();\nconst readOnly = /*@__PURE__*/Facet.define({\n combine: values => values.length ? values[0] : false\n});\n\n/**\nAnnotations are tagged values that are used to add metadata to\ntransactions in an extensible way. They should be used to model\nthings that effect the entire transaction (such as its [time\nstamp](https://codemirror.net/6/docs/ref/#state.Transaction^time) or information about its\n[origin](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent)). For effects that happen\n_alongside_ the other changes made by the transaction, [state\neffects](https://codemirror.net/6/docs/ref/#state.StateEffect) are more appropriate.\n*/\nclass Annotation {\n /**\n @internal\n */\n constructor(\n /**\n The annotation type.\n */\n type, \n /**\n The value of this annotation.\n */\n value) {\n this.type = type;\n this.value = value;\n }\n /**\n Define a new type of annotation.\n */\n static define() { return new AnnotationType(); }\n}\n/**\nMarker that identifies a type of [annotation](https://codemirror.net/6/docs/ref/#state.Annotation).\n*/\nclass AnnotationType {\n /**\n Create an instance of this annotation.\n */\n of(value) { return new Annotation(this, value); }\n}\n/**\nRepresentation of a type of state effect. Defined with\n[`StateEffect.define`](https://codemirror.net/6/docs/ref/#state.StateEffect^define).\n*/\nclass StateEffectType {\n /**\n @internal\n */\n constructor(\n // The `any` types in these function types are there to work\n // around TypeScript issue #37631, where the type guard on\n // `StateEffect.is` mysteriously stops working when these properly\n // have type `Value`.\n /**\n @internal\n */\n map) {\n this.map = map;\n }\n /**\n Create a [state effect](https://codemirror.net/6/docs/ref/#state.StateEffect) instance of this\n type.\n */\n of(value) { return new StateEffect(this, value); }\n}\n/**\nState effects can be used to represent additional effects\nassociated with a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction.effects). They\nare often useful to model changes to custom [state\nfields](https://codemirror.net/6/docs/ref/#state.StateField), when those changes aren't implicit in\ndocument or selection changes.\n*/\nclass StateEffect {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n type, \n /**\n The value of this effect.\n */\n value) {\n this.type = type;\n this.value = value;\n }\n /**\n Map this effect through a position mapping. Will return\n `undefined` when that ends up deleting the effect.\n */\n map(mapping) {\n let mapped = this.type.map(this.value, mapping);\n return mapped === undefined ? undefined : mapped == this.value ? this : new StateEffect(this.type, mapped);\n }\n /**\n Tells you whether this effect object is of a given\n [type](https://codemirror.net/6/docs/ref/#state.StateEffectType).\n */\n is(type) { return this.type == type; }\n /**\n Define a new effect type. The type parameter indicates the type\n of values that his effect holds.\n */\n static define(spec = {}) {\n return new StateEffectType(spec.map || (v => v));\n }\n /**\n Map an array of effects through a change set.\n */\n static mapEffects(effects, mapping) {\n if (!effects.length)\n return effects;\n let result = [];\n for (let effect of effects) {\n let mapped = effect.map(mapping);\n if (mapped)\n result.push(mapped);\n }\n return result;\n }\n}\n/**\nThis effect can be used to reconfigure the root extensions of\nthe editor. Doing this will discard any extensions\n[appended](https://codemirror.net/6/docs/ref/#state.StateEffect^appendConfig), but does not reset\nthe content of [reconfigured](https://codemirror.net/6/docs/ref/#state.Compartment.reconfigure)\ncompartments.\n*/\nStateEffect.reconfigure = /*@__PURE__*/StateEffect.define();\n/**\nAppend extensions to the top-level configuration of the editor.\n*/\nStateEffect.appendConfig = /*@__PURE__*/StateEffect.define();\n/**\nChanges to the editor state are grouped into transactions.\nTypically, a user action creates a single transaction, which may\ncontain any number of document changes, may change the selection,\nor have other effects. Create a transaction by calling\n[`EditorState.update`](https://codemirror.net/6/docs/ref/#state.EditorState.update), or immediately\ndispatch one by calling\n[`EditorView.dispatch`](https://codemirror.net/6/docs/ref/#view.EditorView.dispatch).\n*/\nclass Transaction {\n constructor(\n /**\n The state from which the transaction starts.\n */\n startState, \n /**\n The document changes made by this transaction.\n */\n changes, \n /**\n The selection set by this transaction, or undefined if it\n doesn't explicitly set a selection.\n */\n selection, \n /**\n The effects added to the transaction.\n */\n effects, \n /**\n @internal\n */\n annotations, \n /**\n Whether the selection should be scrolled into view after this\n transaction is dispatched.\n */\n scrollIntoView) {\n this.startState = startState;\n this.changes = changes;\n this.selection = selection;\n this.effects = effects;\n this.annotations = annotations;\n this.scrollIntoView = scrollIntoView;\n /**\n @internal\n */\n this._doc = null;\n /**\n @internal\n */\n this._state = null;\n if (selection)\n checkSelection(selection, changes.newLength);\n if (!annotations.some((a) => a.type == Transaction.time))\n this.annotations = annotations.concat(Transaction.time.of(Date.now()));\n }\n /**\n @internal\n */\n static create(startState, changes, selection, effects, annotations, scrollIntoView) {\n return new Transaction(startState, changes, selection, effects, annotations, scrollIntoView);\n }\n /**\n The new document produced by the transaction. Contrary to\n [`.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state)`.doc`, accessing this won't\n force the entire new state to be computed right away, so it is\n recommended that [transaction\n filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) use this getter\n when they need to look at the new document.\n */\n get newDoc() {\n return this._doc || (this._doc = this.changes.apply(this.startState.doc));\n }\n /**\n The new selection produced by the transaction. If\n [`this.selection`](https://codemirror.net/6/docs/ref/#state.Transaction.selection) is undefined,\n this will [map](https://codemirror.net/6/docs/ref/#state.EditorSelection.map) the start state's\n current selection through the changes made by the transaction.\n */\n get newSelection() {\n return this.selection || this.startState.selection.map(this.changes);\n }\n /**\n The new state created by the transaction. Computed on demand\n (but retained for subsequent access), so it is recommended not to\n access it in [transaction\n filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) when possible.\n */\n get state() {\n if (!this._state)\n this.startState.applyTransaction(this);\n return this._state;\n }\n /**\n Get the value of the given annotation type, if any.\n */\n annotation(type) {\n for (let ann of this.annotations)\n if (ann.type == type)\n return ann.value;\n return undefined;\n }\n /**\n Indicates whether the transaction changed the document.\n */\n get docChanged() { return !this.changes.empty; }\n /**\n Indicates whether this transaction reconfigures the state\n (through a [configuration compartment](https://codemirror.net/6/docs/ref/#state.Compartment) or\n with a top-level configuration\n [effect](https://codemirror.net/6/docs/ref/#state.StateEffect^reconfigure).\n */\n get reconfigured() { return this.startState.config != this.state.config; }\n /**\n Returns true if the transaction has a [user\n event](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent) annotation that is equal to\n or more specific than `event`. For example, if the transaction\n has `\"select.pointer\"` as user event, `\"select\"` and\n `\"select.pointer\"` will match it.\n */\n isUserEvent(event) {\n let e = this.annotation(Transaction.userEvent);\n return !!(e && (e == event || e.length > event.length && e.slice(0, event.length) == event && e[event.length] == \".\"));\n }\n}\n/**\nAnnotation used to store transaction timestamps. Automatically\nadded to every transaction, holding `Date.now()`.\n*/\nTransaction.time = /*@__PURE__*/Annotation.define();\n/**\nAnnotation used to associate a transaction with a user interface\nevent. Holds a string identifying the event, using a\ndot-separated format to support attaching more specific\ninformation. The events used by the core libraries are:\n\n - `\"input\"` when content is entered\n - `\"input.type\"` for typed input\n - `\"input.type.compose\"` for composition\n - `\"input.paste\"` for pasted input\n - `\"input.drop\"` when adding content with drag-and-drop\n - `\"input.complete\"` when autocompleting\n - `\"delete\"` when the user deletes content\n - `\"delete.selection\"` when deleting the selection\n - `\"delete.forward\"` when deleting forward from the selection\n - `\"delete.backward\"` when deleting backward from the selection\n - `\"delete.cut\"` when cutting to the clipboard\n - `\"move\"` when content is moved\n - `\"move.drop\"` when content is moved within the editor through drag-and-drop\n - `\"select\"` when explicitly changing the selection\n - `\"select.pointer\"` when selecting with a mouse or other pointing device\n - `\"undo\"` and `\"redo\"` for history actions\n\nUse [`isUserEvent`](https://codemirror.net/6/docs/ref/#state.Transaction.isUserEvent) to check\nwhether the annotation matches a given event.\n*/\nTransaction.userEvent = /*@__PURE__*/Annotation.define();\n/**\nAnnotation indicating whether a transaction should be added to\nthe undo history or not.\n*/\nTransaction.addToHistory = /*@__PURE__*/Annotation.define();\n/**\nAnnotation indicating (when present and true) that a transaction\nrepresents a change made by some other actor, not the user. This\nis used, for example, to tag other people's changes in\ncollaborative editing.\n*/\nTransaction.remote = /*@__PURE__*/Annotation.define();\nfunction joinRanges(a, b) {\n let result = [];\n for (let iA = 0, iB = 0;;) {\n let from, to;\n if (iA < a.length && (iB == b.length || b[iB] >= a[iA])) {\n from = a[iA++];\n to = a[iA++];\n }\n else if (iB < b.length) {\n from = b[iB++];\n to = b[iB++];\n }\n else\n return result;\n if (!result.length || result[result.length - 1] < from)\n result.push(from, to);\n else if (result[result.length - 1] < to)\n result[result.length - 1] = to;\n }\n}\nfunction mergeTransaction(a, b, sequential) {\n var _a;\n let mapForA, mapForB, changes;\n if (sequential) {\n mapForA = b.changes;\n mapForB = ChangeSet.empty(b.changes.length);\n changes = a.changes.compose(b.changes);\n }\n else {\n mapForA = b.changes.map(a.changes);\n mapForB = a.changes.mapDesc(b.changes, true);\n changes = a.changes.compose(mapForA);\n }\n return {\n changes,\n selection: b.selection ? b.selection.map(mapForB) : (_a = a.selection) === null || _a === void 0 ? void 0 : _a.map(mapForA),\n effects: StateEffect.mapEffects(a.effects, mapForA).concat(StateEffect.mapEffects(b.effects, mapForB)),\n annotations: a.annotations.length ? a.annotations.concat(b.annotations) : b.annotations,\n scrollIntoView: a.scrollIntoView || b.scrollIntoView\n };\n}\nfunction resolveTransactionInner(state, spec, docSize) {\n let sel = spec.selection, annotations = asArray$1(spec.annotations);\n if (spec.userEvent)\n annotations = annotations.concat(Transaction.userEvent.of(spec.userEvent));\n return {\n changes: spec.changes instanceof ChangeSet ? spec.changes\n : ChangeSet.of(spec.changes || [], docSize, state.facet(lineSeparator)),\n selection: sel && (sel instanceof EditorSelection ? sel : EditorSelection.single(sel.anchor, sel.head)),\n effects: asArray$1(spec.effects),\n annotations,\n scrollIntoView: !!spec.scrollIntoView\n };\n}\nfunction resolveTransaction(state, specs, filter) {\n let s = resolveTransactionInner(state, specs.length ? specs[0] : {}, state.doc.length);\n if (specs.length && specs[0].filter === false)\n filter = false;\n for (let i = 1; i < specs.length; i++) {\n if (specs[i].filter === false)\n filter = false;\n let seq = !!specs[i].sequential;\n s = mergeTransaction(s, resolveTransactionInner(state, specs[i], seq ? s.changes.newLength : state.doc.length), seq);\n }\n let tr = Transaction.create(state, s.changes, s.selection, s.effects, s.annotations, s.scrollIntoView);\n return extendTransaction(filter ? filterTransaction(tr) : tr);\n}\n// Finish a transaction by applying filters if necessary.\nfunction filterTransaction(tr) {\n let state = tr.startState;\n // Change filters\n let result = true;\n for (let filter of state.facet(changeFilter)) {\n let value = filter(tr);\n if (value === false) {\n result = false;\n break;\n }\n if (Array.isArray(value))\n result = result === true ? value : joinRanges(result, value);\n }\n if (result !== true) {\n let changes, back;\n if (result === false) {\n back = tr.changes.invertedDesc;\n changes = ChangeSet.empty(state.doc.length);\n }\n else {\n let filtered = tr.changes.filter(result);\n changes = filtered.changes;\n back = filtered.filtered.mapDesc(filtered.changes).invertedDesc;\n }\n tr = Transaction.create(state, changes, tr.selection && tr.selection.map(back), StateEffect.mapEffects(tr.effects, back), tr.annotations, tr.scrollIntoView);\n }\n // Transaction filters\n let filters = state.facet(transactionFilter);\n for (let i = filters.length - 1; i >= 0; i--) {\n let filtered = filters[i](tr);\n if (filtered instanceof Transaction)\n tr = filtered;\n else if (Array.isArray(filtered) && filtered.length == 1 && filtered[0] instanceof Transaction)\n tr = filtered[0];\n else\n tr = resolveTransaction(state, asArray$1(filtered), false);\n }\n return tr;\n}\nfunction extendTransaction(tr) {\n let state = tr.startState, extenders = state.facet(transactionExtender), spec = tr;\n for (let i = extenders.length - 1; i >= 0; i--) {\n let extension = extenders[i](tr);\n if (extension && Object.keys(extension).length)\n spec = mergeTransaction(spec, resolveTransactionInner(state, extension, tr.changes.newLength), true);\n }\n return spec == tr ? tr : Transaction.create(state, tr.changes, tr.selection, spec.effects, spec.annotations, spec.scrollIntoView);\n}\nconst none$3 = [];\nfunction asArray$1(value) {\n return value == null ? none$3 : Array.isArray(value) ? value : [value];\n}\n\n/**\nThe categories produced by a [character\ncategorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer). These are used\ndo things like selecting by word.\n*/\nvar CharCategory = /*@__PURE__*/(function (CharCategory) {\n /**\n Word characters.\n */\n CharCategory[CharCategory[\"Word\"] = 0] = \"Word\";\n /**\n Whitespace.\n */\n CharCategory[CharCategory[\"Space\"] = 1] = \"Space\";\n /**\n Anything else.\n */\n CharCategory[CharCategory[\"Other\"] = 2] = \"Other\";\nreturn CharCategory})(CharCategory || (CharCategory = {}));\nconst nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;\nlet wordChar;\ntry {\n wordChar = /*@__PURE__*/new RegExp(\"[\\\\p{Alphabetic}\\\\p{Number}_]\", \"u\");\n}\ncatch (_) { }\nfunction hasWordChar(str) {\n if (wordChar)\n return wordChar.test(str);\n for (let i = 0; i < str.length; i++) {\n let ch = str[i];\n if (/\\w/.test(ch) || ch > \"\\x80\" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)))\n return true;\n }\n return false;\n}\nfunction makeCategorizer(wordChars) {\n return (char) => {\n if (!/\\S/.test(char))\n return CharCategory.Space;\n if (hasWordChar(char))\n return CharCategory.Word;\n for (let i = 0; i < wordChars.length; i++)\n if (char.indexOf(wordChars[i]) > -1)\n return CharCategory.Word;\n return CharCategory.Other;\n };\n}\n\n/**\nThe editor state class is a persistent (immutable) data structure.\nTo update a state, you [create](https://codemirror.net/6/docs/ref/#state.EditorState.update) a\n[transaction](https://codemirror.net/6/docs/ref/#state.Transaction), which produces a _new_ state\ninstance, without modifying the original object.\n\nAs such, _never_ mutate properties of a state directly. That'll\njust break things.\n*/\nclass EditorState {\n constructor(\n /**\n @internal\n */\n config, \n /**\n The current document.\n */\n doc, \n /**\n The current selection.\n */\n selection, \n /**\n @internal\n */\n values, computeSlot, tr) {\n this.config = config;\n this.doc = doc;\n this.selection = selection;\n this.values = values;\n this.status = config.statusTemplate.slice();\n this.computeSlot = computeSlot;\n // Fill in the computed state immediately, so that further queries\n // for it made during the update return this state\n if (tr)\n tr._state = this;\n for (let i = 0; i < this.config.dynamicSlots.length; i++)\n ensureAddr(this, i << 1);\n this.computeSlot = null;\n }\n field(field, require = true) {\n let addr = this.config.address[field.id];\n if (addr == null) {\n if (require)\n throw new RangeError(\"Field is not present in this state\");\n return undefined;\n }\n ensureAddr(this, addr);\n return getAddr(this, addr);\n }\n /**\n Create a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction) that updates this\n state. Any number of [transaction specs](https://codemirror.net/6/docs/ref/#state.TransactionSpec)\n can be passed. Unless\n [`sequential`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.sequential) is set, the\n [changes](https://codemirror.net/6/docs/ref/#state.TransactionSpec.changes) (if any) of each spec\n are assumed to start in the _current_ document (not the document\n produced by previous specs), and its\n [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection) and\n [effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) are assumed to refer\n to the document created by its _own_ changes. The resulting\n transaction contains the combined effect of all the different\n specs. For [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection), later\n specs take precedence over earlier ones.\n */\n update(...specs) {\n return resolveTransaction(this, specs, true);\n }\n /**\n @internal\n */\n applyTransaction(tr) {\n let conf = this.config, { base, compartments } = conf;\n for (let effect of tr.effects) {\n if (effect.is(Compartment.reconfigure)) {\n if (conf) {\n compartments = new Map;\n conf.compartments.forEach((val, key) => compartments.set(key, val));\n conf = null;\n }\n compartments.set(effect.value.compartment, effect.value.extension);\n }\n else if (effect.is(StateEffect.reconfigure)) {\n conf = null;\n base = effect.value;\n }\n else if (effect.is(StateEffect.appendConfig)) {\n conf = null;\n base = asArray$1(base).concat(effect.value);\n }\n }\n let startValues;\n if (!conf) {\n conf = Configuration.resolve(base, compartments, this);\n let intermediateState = new EditorState(conf, this.doc, this.selection, conf.dynamicSlots.map(() => null), (state, slot) => slot.reconfigure(state, this), null);\n startValues = intermediateState.values;\n }\n else {\n startValues = tr.startState.values.slice();\n }\n new EditorState(conf, tr.newDoc, tr.newSelection, startValues, (state, slot) => slot.update(state, tr), tr);\n }\n /**\n Create a [transaction spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec) that\n replaces every selection range with the given content.\n */\n replaceSelection(text) {\n if (typeof text == \"string\")\n text = this.toText(text);\n return this.changeByRange(range => ({ changes: { from: range.from, to: range.to, insert: text },\n range: EditorSelection.cursor(range.from + text.length) }));\n }\n /**\n Create a set of changes and a new selection by running the given\n function for each range in the active selection. The function\n can return an optional set of changes (in the coordinate space\n of the start document), plus an updated range (in the coordinate\n space of the document produced by the call's own changes). This\n method will merge all the changes and ranges into a single\n changeset and selection, and return it as a [transaction\n spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec), which can be passed to\n [`update`](https://codemirror.net/6/docs/ref/#state.EditorState.update).\n */\n changeByRange(f) {\n let sel = this.selection;\n let result1 = f(sel.ranges[0]);\n let changes = this.changes(result1.changes), ranges = [result1.range];\n let effects = asArray$1(result1.effects);\n for (let i = 1; i < sel.ranges.length; i++) {\n let result = f(sel.ranges[i]);\n let newChanges = this.changes(result.changes), newMapped = newChanges.map(changes);\n for (let j = 0; j < i; j++)\n ranges[j] = ranges[j].map(newMapped);\n let mapBy = changes.mapDesc(newChanges, true);\n ranges.push(result.range.map(mapBy));\n changes = changes.compose(newMapped);\n effects = StateEffect.mapEffects(effects, newMapped).concat(StateEffect.mapEffects(asArray$1(result.effects), mapBy));\n }\n return {\n changes,\n selection: EditorSelection.create(ranges, sel.mainIndex),\n effects\n };\n }\n /**\n Create a [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet) from the given change\n description, taking the state's document length and line\n separator into account.\n */\n changes(spec = []) {\n if (spec instanceof ChangeSet)\n return spec;\n return ChangeSet.of(spec, this.doc.length, this.facet(EditorState.lineSeparator));\n }\n /**\n Using the state's [line\n separator](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator), create a\n [`Text`](https://codemirror.net/6/docs/ref/#state.Text) instance from the given string.\n */\n toText(string) {\n return Text.of(string.split(this.facet(EditorState.lineSeparator) || DefaultSplit));\n }\n /**\n Return the given range of the document as a string.\n */\n sliceDoc(from = 0, to = this.doc.length) {\n return this.doc.sliceString(from, to, this.lineBreak);\n }\n /**\n Get the value of a state [facet](https://codemirror.net/6/docs/ref/#state.Facet).\n */\n facet(facet) {\n let addr = this.config.address[facet.id];\n if (addr == null)\n return facet.default;\n ensureAddr(this, addr);\n return getAddr(this, addr);\n }\n /**\n Convert this state to a JSON-serializable object. When custom\n fields should be serialized, you can pass them in as an object\n mapping property names (in the resulting object, which should\n not use `doc` or `selection`) to fields.\n */\n toJSON(fields) {\n let result = {\n doc: this.sliceDoc(),\n selection: this.selection.toJSON()\n };\n if (fields)\n for (let prop in fields) {\n let value = fields[prop];\n if (value instanceof StateField && this.config.address[value.id] != null)\n result[prop] = value.spec.toJSON(this.field(fields[prop]), this);\n }\n return result;\n }\n /**\n Deserialize a state from its JSON representation. When custom\n fields should be deserialized, pass the same object you passed\n to [`toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) when serializing as\n third argument.\n */\n static fromJSON(json, config = {}, fields) {\n if (!json || typeof json.doc != \"string\")\n throw new RangeError(\"Invalid JSON representation for EditorState\");\n let fieldInit = [];\n if (fields)\n for (let prop in fields) {\n if (Object.prototype.hasOwnProperty.call(json, prop)) {\n let field = fields[prop], value = json[prop];\n fieldInit.push(field.init(state => field.spec.fromJSON(value, state)));\n }\n }\n return EditorState.create({\n doc: json.doc,\n selection: EditorSelection.fromJSON(json.selection),\n extensions: config.extensions ? fieldInit.concat([config.extensions]) : fieldInit\n });\n }\n /**\n Create a new state. You'll usually only need this when\n initializing an editor—updated states are created by applying\n transactions.\n */\n static create(config = {}) {\n let configuration = Configuration.resolve(config.extensions || [], new Map);\n let doc = config.doc instanceof Text ? config.doc\n : Text.of((config.doc || \"\").split(configuration.staticFacet(EditorState.lineSeparator) || DefaultSplit));\n let selection = !config.selection ? EditorSelection.single(0)\n : config.selection instanceof EditorSelection ? config.selection\n : EditorSelection.single(config.selection.anchor, config.selection.head);\n checkSelection(selection, doc.length);\n if (!configuration.staticFacet(allowMultipleSelections))\n selection = selection.asSingle();\n return new EditorState(configuration, doc, selection, configuration.dynamicSlots.map(() => null), (state, slot) => slot.create(state), null);\n }\n /**\n The size (in columns) of a tab in the document, determined by\n the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet.\n */\n get tabSize() { return this.facet(EditorState.tabSize); }\n /**\n Get the proper [line-break](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)\n string for this state.\n */\n get lineBreak() { return this.facet(EditorState.lineSeparator) || \"\\n\"; }\n /**\n Returns true when the editor is\n [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only.\n */\n get readOnly() { return this.facet(readOnly); }\n /**\n Look up a translation for the given phrase (via the\n [`phrases`](https://codemirror.net/6/docs/ref/#state.EditorState^phrases) facet), or return the\n original string if no translation is found.\n \n If additional arguments are passed, they will be inserted in\n place of markers like `$1` (for the first value) and `$2`, etc.\n A single `$` is equivalent to `$1`, and `$$` will produce a\n literal dollar sign.\n */\n phrase(phrase, ...insert) {\n for (let map of this.facet(EditorState.phrases))\n if (Object.prototype.hasOwnProperty.call(map, phrase)) {\n phrase = map[phrase];\n break;\n }\n if (insert.length)\n phrase = phrase.replace(/\\$(\\$|\\d*)/g, (m, i) => {\n if (i == \"$\")\n return \"$\";\n let n = +(i || 1);\n return !n || n > insert.length ? m : insert[n - 1];\n });\n return phrase;\n }\n /**\n Find the values for a given language data field, provided by the\n the [`languageData`](https://codemirror.net/6/docs/ref/#state.EditorState^languageData) facet.\n \n Examples of language data fields are...\n \n - [`\"commentTokens\"`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) for specifying\n comment syntax.\n - [`\"autocomplete\"`](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion^config.override)\n for providing language-specific completion sources.\n - [`\"wordChars\"`](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer) for adding\n characters that should be considered part of words in this\n language.\n - [`\"closeBrackets\"`](https://codemirror.net/6/docs/ref/#autocomplete.CloseBracketConfig) controls\n bracket closing behavior.\n */\n languageDataAt(name, pos, side = -1) {\n let values = [];\n for (let provider of this.facet(languageData)) {\n for (let result of provider(this, pos, side)) {\n if (Object.prototype.hasOwnProperty.call(result, name))\n values.push(result[name]);\n }\n }\n return values;\n }\n /**\n Return a function that can categorize strings (expected to\n represent a single [grapheme cluster](https://codemirror.net/6/docs/ref/#state.findClusterBreak))\n into one of:\n \n - Word (contains an alphanumeric character or a character\n explicitly listed in the local language's `\"wordChars\"`\n language data, which should be a string)\n - Space (contains only whitespace)\n - Other (anything else)\n */\n charCategorizer(at) {\n return makeCategorizer(this.languageDataAt(\"wordChars\", at).join(\"\"));\n }\n /**\n Find the word at the given position, meaning the range\n containing all [word](https://codemirror.net/6/docs/ref/#state.CharCategory.Word) characters\n around it. If no word characters are adjacent to the position,\n this returns null.\n */\n wordAt(pos) {\n let { text, from, length } = this.doc.lineAt(pos);\n let cat = this.charCategorizer(pos);\n let start = pos - from, end = pos - from;\n while (start > 0) {\n let prev = findClusterBreak(text, start, false);\n if (cat(text.slice(prev, start)) != CharCategory.Word)\n break;\n start = prev;\n }\n while (end < length) {\n let next = findClusterBreak(text, end);\n if (cat(text.slice(end, next)) != CharCategory.Word)\n break;\n end = next;\n }\n return start == end ? null : EditorSelection.range(start + from, end + from);\n }\n}\n/**\nA facet that, when enabled, causes the editor to allow multiple\nranges to be selected. Be careful though, because by default the\neditor relies on the native DOM selection, which cannot handle\nmultiple selections. An extension like\n[`drawSelection`](https://codemirror.net/6/docs/ref/#view.drawSelection) can be used to make\nsecondary selections visible to the user.\n*/\nEditorState.allowMultipleSelections = allowMultipleSelections;\n/**\nConfigures the tab size to use in this state. The first\n(highest-precedence) value of the facet is used. If no value is\ngiven, this defaults to 4.\n*/\nEditorState.tabSize = /*@__PURE__*/Facet.define({\n combine: values => values.length ? values[0] : 4\n});\n/**\nThe line separator to use. By default, any of `\"\\n\"`, `\"\\r\\n\"`\nand `\"\\r\"` is treated as a separator when splitting lines, and\nlines are joined with `\"\\n\"`.\n\nWhen you configure a value here, only that precise separator\nwill be used, allowing you to round-trip documents through the\neditor without normalizing line separators.\n*/\nEditorState.lineSeparator = lineSeparator;\n/**\nThis facet controls the value of the\n[`readOnly`](https://codemirror.net/6/docs/ref/#state.EditorState.readOnly) getter, which is\nconsulted by commands and extensions that implement editing\nfunctionality to determine whether they should apply. It\ndefaults to false, but when its highest-precedence value is\n`true`, such functionality disables itself.\n\nNot to be confused with\n[`EditorView.editable`](https://codemirror.net/6/docs/ref/#view.EditorView^editable), which\ncontrols whether the editor's DOM is set to be editable (and\nthus focusable).\n*/\nEditorState.readOnly = readOnly;\n/**\nRegisters translation phrases. The\n[`phrase`](https://codemirror.net/6/docs/ref/#state.EditorState.phrase) method will look through\nall objects registered with this facet to find translations for\nits argument.\n*/\nEditorState.phrases = /*@__PURE__*/Facet.define({\n compare(a, b) {\n let kA = Object.keys(a), kB = Object.keys(b);\n return kA.length == kB.length && kA.every(k => a[k] == b[k]);\n }\n});\n/**\nA facet used to register [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt) providers.\n*/\nEditorState.languageData = languageData;\n/**\nFacet used to register change filters, which are called for each\ntransaction (unless explicitly\n[disabled](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter)), and can suppress\npart of the transaction's changes.\n\nSuch a function can return `true` to indicate that it doesn't\nwant to do anything, `false` to completely stop the changes in\nthe transaction, or a set of ranges in which changes should be\nsuppressed. Such ranges are represented as an array of numbers,\nwith each pair of two numbers indicating the start and end of a\nrange. So for example `[10, 20, 100, 110]` suppresses changes\nbetween 10 and 20, and between 100 and 110.\n*/\nEditorState.changeFilter = changeFilter;\n/**\nFacet used to register a hook that gets a chance to update or\nreplace transaction specs before they are applied. This will\nonly be applied for transactions that don't have\n[`filter`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter) set to `false`. You\ncan either return a single transaction spec (possibly the input\ntransaction), or an array of specs (which will be combined in\nthe same way as the arguments to\n[`EditorState.update`](https://codemirror.net/6/docs/ref/#state.EditorState.update)).\n\nWhen possible, it is recommended to avoid accessing\n[`Transaction.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state) in a filter,\nsince it will force creation of a state that will then be\ndiscarded again, if the transaction is actually filtered.\n\n(This functionality should be used with care. Indiscriminately\nmodifying transaction is likely to break something or degrade\nthe user experience.)\n*/\nEditorState.transactionFilter = transactionFilter;\n/**\nThis is a more limited form of\n[`transactionFilter`](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter),\nwhich can only add\n[annotations](https://codemirror.net/6/docs/ref/#state.TransactionSpec.annotations) and\n[effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects). _But_, this type\nof filter runs even if the transaction has disabled regular\n[filtering](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter), making it suitable\nfor effects that don't need to touch the changes or selection,\nbut do want to process every transaction.\n\nExtenders run _after_ filters, when both are present.\n*/\nEditorState.transactionExtender = transactionExtender;\nCompartment.reconfigure = /*@__PURE__*/StateEffect.define();\n\n/**\nUtility function for combining behaviors to fill in a config\nobject from an array of provided configs. `defaults` should hold\ndefault values for all optional fields in `Config`.\n\nThe function will, by default, error\nwhen a field gets two values that aren't `===`-equal, but you can\nprovide combine functions per field to do something else.\n*/\nfunction combineConfig(configs, defaults, // Should hold only the optional properties of Config, but I haven't managed to express that\ncombine = {}) {\n let result = {};\n for (let config of configs)\n for (let key of Object.keys(config)) {\n let value = config[key], current = result[key];\n if (current === undefined)\n result[key] = value;\n else if (current === value || value === undefined) ; // No conflict\n else if (Object.hasOwnProperty.call(combine, key))\n result[key] = combine[key](current, value);\n else\n throw new Error(\"Config merge conflict for field \" + key);\n }\n for (let key in defaults)\n if (result[key] === undefined)\n result[key] = defaults[key];\n return result;\n}\n\n/**\nEach range is associated with a value, which must inherit from\nthis class.\n*/\nclass RangeValue {\n /**\n Compare this value with another value. Used when comparing\n rangesets. The default implementation compares by identity.\n Unless you are only creating a fixed number of unique instances\n of your value type, it is a good idea to implement this\n properly.\n */\n eq(other) { return this == other; }\n /**\n Create a [range](https://codemirror.net/6/docs/ref/#state.Range) with this value.\n */\n range(from, to = from) { return Range$1.create(from, to, this); }\n}\nRangeValue.prototype.startSide = RangeValue.prototype.endSide = 0;\nRangeValue.prototype.point = false;\nRangeValue.prototype.mapMode = MapMode.TrackDel;\n/**\nA range associates a value with a range of positions.\n*/\nlet Range$1 = class Range {\n constructor(\n /**\n The range's start position.\n */\n from, \n /**\n Its end position.\n */\n to, \n /**\n The value associated with this range.\n */\n value) {\n this.from = from;\n this.to = to;\n this.value = value;\n }\n /**\n @internal\n */\n static create(from, to, value) {\n return new Range(from, to, value);\n }\n};\nfunction cmpRange(a, b) {\n return a.from - b.from || a.value.startSide - b.value.startSide;\n}\nclass Chunk {\n constructor(from, to, value, \n // Chunks are marked with the largest point that occurs\n // in them (or -1 for no points), so that scans that are\n // only interested in points (such as the\n // heightmap-related logic) can skip range-only chunks.\n maxPoint) {\n this.from = from;\n this.to = to;\n this.value = value;\n this.maxPoint = maxPoint;\n }\n get length() { return this.to[this.to.length - 1]; }\n // Find the index of the given position and side. Use the ranges'\n // `from` pos when `end == false`, `to` when `end == true`.\n findIndex(pos, side, end, startAt = 0) {\n let arr = end ? this.to : this.from;\n for (let lo = startAt, hi = arr.length;;) {\n if (lo == hi)\n return lo;\n let mid = (lo + hi) >> 1;\n let diff = arr[mid] - pos || (end ? this.value[mid].endSide : this.value[mid].startSide) - side;\n if (mid == lo)\n return diff >= 0 ? lo : hi;\n if (diff >= 0)\n hi = mid;\n else\n lo = mid + 1;\n }\n }\n between(offset, from, to, f) {\n for (let i = this.findIndex(from, -1000000000 /* C.Far */, true), e = this.findIndex(to, 1000000000 /* C.Far */, false, i); i < e; i++)\n if (f(this.from[i] + offset, this.to[i] + offset, this.value[i]) === false)\n return false;\n }\n map(offset, changes) {\n let value = [], from = [], to = [], newPos = -1, maxPoint = -1;\n for (let i = 0; i < this.value.length; i++) {\n let val = this.value[i], curFrom = this.from[i] + offset, curTo = this.to[i] + offset, newFrom, newTo;\n if (curFrom == curTo) {\n let mapped = changes.mapPos(curFrom, val.startSide, val.mapMode);\n if (mapped == null)\n continue;\n newFrom = newTo = mapped;\n if (val.startSide != val.endSide) {\n newTo = changes.mapPos(curFrom, val.endSide);\n if (newTo < newFrom)\n continue;\n }\n }\n else {\n newFrom = changes.mapPos(curFrom, val.startSide);\n newTo = changes.mapPos(curTo, val.endSide);\n if (newFrom > newTo || newFrom == newTo && val.startSide > 0 && val.endSide <= 0)\n continue;\n }\n if ((newTo - newFrom || val.endSide - val.startSide) < 0)\n continue;\n if (newPos < 0)\n newPos = newFrom;\n if (val.point)\n maxPoint = Math.max(maxPoint, newTo - newFrom);\n value.push(val);\n from.push(newFrom - newPos);\n to.push(newTo - newPos);\n }\n return { mapped: value.length ? new Chunk(from, to, value, maxPoint) : null, pos: newPos };\n }\n}\n/**\nA range set stores a collection of [ranges](https://codemirror.net/6/docs/ref/#state.Range) in a\nway that makes them efficient to [map](https://codemirror.net/6/docs/ref/#state.RangeSet.map) and\n[update](https://codemirror.net/6/docs/ref/#state.RangeSet.update). This is an immutable data\nstructure.\n*/\nclass RangeSet {\n constructor(\n /**\n @internal\n */\n chunkPos, \n /**\n @internal\n */\n chunk, \n /**\n @internal\n */\n nextLayer, \n /**\n @internal\n */\n maxPoint) {\n this.chunkPos = chunkPos;\n this.chunk = chunk;\n this.nextLayer = nextLayer;\n this.maxPoint = maxPoint;\n }\n /**\n @internal\n */\n static create(chunkPos, chunk, nextLayer, maxPoint) {\n return new RangeSet(chunkPos, chunk, nextLayer, maxPoint);\n }\n /**\n @internal\n */\n get length() {\n let last = this.chunk.length - 1;\n return last < 0 ? 0 : Math.max(this.chunkEnd(last), this.nextLayer.length);\n }\n /**\n The number of ranges in the set.\n */\n get size() {\n if (this.isEmpty)\n return 0;\n let size = this.nextLayer.size;\n for (let chunk of this.chunk)\n size += chunk.value.length;\n return size;\n }\n /**\n @internal\n */\n chunkEnd(index) {\n return this.chunkPos[index] + this.chunk[index].length;\n }\n /**\n Update the range set, optionally adding new ranges or filtering\n out existing ones.\n \n (Note: The type parameter is just there as a kludge to work\n around TypeScript variance issues that prevented `RangeSet`\n from being a subtype of `RangeSet` when `X` is a subtype of\n `Y`.)\n */\n update(updateSpec) {\n let { add = [], sort = false, filterFrom = 0, filterTo = this.length } = updateSpec;\n let filter = updateSpec.filter;\n if (add.length == 0 && !filter)\n return this;\n if (sort)\n add = add.slice().sort(cmpRange);\n if (this.isEmpty)\n return add.length ? RangeSet.of(add) : this;\n let cur = new LayerCursor(this, null, -1).goto(0), i = 0, spill = [];\n let builder = new RangeSetBuilder();\n while (cur.value || i < add.length) {\n if (i < add.length && (cur.from - add[i].from || cur.startSide - add[i].value.startSide) >= 0) {\n let range = add[i++];\n if (!builder.addInner(range.from, range.to, range.value))\n spill.push(range);\n }\n else if (cur.rangeIndex == 1 && cur.chunkIndex < this.chunk.length &&\n (i == add.length || this.chunkEnd(cur.chunkIndex) < add[i].from) &&\n (!filter || filterFrom > this.chunkEnd(cur.chunkIndex) || filterTo < this.chunkPos[cur.chunkIndex]) &&\n builder.addChunk(this.chunkPos[cur.chunkIndex], this.chunk[cur.chunkIndex])) {\n cur.nextChunk();\n }\n else {\n if (!filter || filterFrom > cur.to || filterTo < cur.from || filter(cur.from, cur.to, cur.value)) {\n if (!builder.addInner(cur.from, cur.to, cur.value))\n spill.push(Range$1.create(cur.from, cur.to, cur.value));\n }\n cur.next();\n }\n }\n return builder.finishInner(this.nextLayer.isEmpty && !spill.length ? RangeSet.empty\n : this.nextLayer.update({ add: spill, filter, filterFrom, filterTo }));\n }\n /**\n Map this range set through a set of changes, return the new set.\n */\n map(changes) {\n if (changes.empty || this.isEmpty)\n return this;\n let chunks = [], chunkPos = [], maxPoint = -1;\n for (let i = 0; i < this.chunk.length; i++) {\n let start = this.chunkPos[i], chunk = this.chunk[i];\n let touch = changes.touchesRange(start, start + chunk.length);\n if (touch === false) {\n maxPoint = Math.max(maxPoint, chunk.maxPoint);\n chunks.push(chunk);\n chunkPos.push(changes.mapPos(start));\n }\n else if (touch === true) {\n let { mapped, pos } = chunk.map(start, changes);\n if (mapped) {\n maxPoint = Math.max(maxPoint, mapped.maxPoint);\n chunks.push(mapped);\n chunkPos.push(pos);\n }\n }\n }\n let next = this.nextLayer.map(changes);\n return chunks.length == 0 ? next : new RangeSet(chunkPos, chunks, next || RangeSet.empty, maxPoint);\n }\n /**\n Iterate over the ranges that touch the region `from` to `to`,\n calling `f` for each. There is no guarantee that the ranges will\n be reported in any specific order. When the callback returns\n `false`, iteration stops.\n */\n between(from, to, f) {\n if (this.isEmpty)\n return;\n for (let i = 0; i < this.chunk.length; i++) {\n let start = this.chunkPos[i], chunk = this.chunk[i];\n if (to >= start && from <= start + chunk.length &&\n chunk.between(start, from - start, to - start, f) === false)\n return;\n }\n this.nextLayer.between(from, to, f);\n }\n /**\n Iterate over the ranges in this set, in order, including all\n ranges that end at or after `from`.\n */\n iter(from = 0) {\n return HeapCursor.from([this]).goto(from);\n }\n /**\n @internal\n */\n get isEmpty() { return this.nextLayer == this; }\n /**\n Iterate over the ranges in a collection of sets, in order,\n starting from `from`.\n */\n static iter(sets, from = 0) {\n return HeapCursor.from(sets).goto(from);\n }\n /**\n Iterate over two groups of sets, calling methods on `comparator`\n to notify it of possible differences.\n */\n static compare(oldSets, newSets, \n /**\n This indicates how the underlying data changed between these\n ranges, and is needed to synchronize the iteration. `from` and\n `to` are coordinates in the _new_ space, after these changes.\n */\n textDiff, comparator, \n /**\n Can be used to ignore all non-point ranges, and points below\n the given size. When -1, all ranges are compared.\n */\n minPointSize = -1) {\n let a = oldSets.filter(set => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize);\n let b = newSets.filter(set => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize);\n let sharedChunks = findSharedChunks(a, b, textDiff);\n let sideA = new SpanCursor(a, sharedChunks, minPointSize);\n let sideB = new SpanCursor(b, sharedChunks, minPointSize);\n textDiff.iterGaps((fromA, fromB, length) => compare(sideA, fromA, sideB, fromB, length, comparator));\n if (textDiff.empty && textDiff.length == 0)\n compare(sideA, 0, sideB, 0, 0, comparator);\n }\n /**\n Compare the contents of two groups of range sets, returning true\n if they are equivalent in the given range.\n */\n static eq(oldSets, newSets, from = 0, to) {\n if (to == null)\n to = 1000000000 /* C.Far */ - 1;\n let a = oldSets.filter(set => !set.isEmpty && newSets.indexOf(set) < 0);\n let b = newSets.filter(set => !set.isEmpty && oldSets.indexOf(set) < 0);\n if (a.length != b.length)\n return false;\n if (!a.length)\n return true;\n let sharedChunks = findSharedChunks(a, b);\n let sideA = new SpanCursor(a, sharedChunks, 0).goto(from), sideB = new SpanCursor(b, sharedChunks, 0).goto(from);\n for (;;) {\n if (sideA.to != sideB.to ||\n !sameValues(sideA.active, sideB.active) ||\n sideA.point && (!sideB.point || !sideA.point.eq(sideB.point)))\n return false;\n if (sideA.to > to)\n return true;\n sideA.next();\n sideB.next();\n }\n }\n /**\n Iterate over a group of range sets at the same time, notifying\n the iterator about the ranges covering every given piece of\n content. Returns the open count (see\n [`SpanIterator.span`](https://codemirror.net/6/docs/ref/#state.SpanIterator.span)) at the end\n of the iteration.\n */\n static spans(sets, from, to, iterator, \n /**\n When given and greater than -1, only points of at least this\n size are taken into account.\n */\n minPointSize = -1) {\n let cursor = new SpanCursor(sets, null, minPointSize).goto(from), pos = from;\n let openRanges = cursor.openStart;\n for (;;) {\n let curTo = Math.min(cursor.to, to);\n if (cursor.point) {\n let active = cursor.activeForPoint(cursor.to);\n let openCount = cursor.pointFrom < from ? active.length + 1 : Math.min(active.length, openRanges);\n iterator.point(pos, curTo, cursor.point, active, openCount, cursor.pointRank);\n openRanges = Math.min(cursor.openEnd(curTo), active.length);\n }\n else if (curTo > pos) {\n iterator.span(pos, curTo, cursor.active, openRanges);\n openRanges = cursor.openEnd(curTo);\n }\n if (cursor.to > to)\n return openRanges + (cursor.point && cursor.to > to ? 1 : 0);\n pos = cursor.to;\n cursor.next();\n }\n }\n /**\n Create a range set for the given range or array of ranges. By\n default, this expects the ranges to be _sorted_ (by start\n position and, if two start at the same position,\n `value.startSide`). You can pass `true` as second argument to\n cause the method to sort them.\n */\n static of(ranges, sort = false) {\n let build = new RangeSetBuilder();\n for (let range of ranges instanceof Range$1 ? [ranges] : sort ? lazySort(ranges) : ranges)\n build.add(range.from, range.to, range.value);\n return build.finish();\n }\n}\n/**\nThe empty set of ranges.\n*/\nRangeSet.empty = /*@__PURE__*/new RangeSet([], [], null, -1);\nfunction lazySort(ranges) {\n if (ranges.length > 1)\n for (let prev = ranges[0], i = 1; i < ranges.length; i++) {\n let cur = ranges[i];\n if (cmpRange(prev, cur) > 0)\n return ranges.slice().sort(cmpRange);\n prev = cur;\n }\n return ranges;\n}\nRangeSet.empty.nextLayer = RangeSet.empty;\n/**\nA range set builder is a data structure that helps build up a\n[range set](https://codemirror.net/6/docs/ref/#state.RangeSet) directly, without first allocating\nan array of [`Range`](https://codemirror.net/6/docs/ref/#state.Range) objects.\n*/\nclass RangeSetBuilder {\n /**\n Create an empty builder.\n */\n constructor() {\n this.chunks = [];\n this.chunkPos = [];\n this.chunkStart = -1;\n this.last = null;\n this.lastFrom = -1000000000 /* C.Far */;\n this.lastTo = -1000000000 /* C.Far */;\n this.from = [];\n this.to = [];\n this.value = [];\n this.maxPoint = -1;\n this.setMaxPoint = -1;\n this.nextLayer = null;\n }\n finishChunk(newArrays) {\n this.chunks.push(new Chunk(this.from, this.to, this.value, this.maxPoint));\n this.chunkPos.push(this.chunkStart);\n this.chunkStart = -1;\n this.setMaxPoint = Math.max(this.setMaxPoint, this.maxPoint);\n this.maxPoint = -1;\n if (newArrays) {\n this.from = [];\n this.to = [];\n this.value = [];\n }\n }\n /**\n Add a range. Ranges should be added in sorted (by `from` and\n `value.startSide`) order.\n */\n add(from, to, value) {\n if (!this.addInner(from, to, value))\n (this.nextLayer || (this.nextLayer = new RangeSetBuilder)).add(from, to, value);\n }\n /**\n @internal\n */\n addInner(from, to, value) {\n let diff = from - this.lastTo || value.startSide - this.last.endSide;\n if (diff <= 0 && (from - this.lastFrom || value.startSide - this.last.startSide) < 0)\n throw new Error(\"Ranges must be added sorted by `from` position and `startSide`\");\n if (diff < 0)\n return false;\n if (this.from.length == 250 /* C.ChunkSize */)\n this.finishChunk(true);\n if (this.chunkStart < 0)\n this.chunkStart = from;\n this.from.push(from - this.chunkStart);\n this.to.push(to - this.chunkStart);\n this.last = value;\n this.lastFrom = from;\n this.lastTo = to;\n this.value.push(value);\n if (value.point)\n this.maxPoint = Math.max(this.maxPoint, to - from);\n return true;\n }\n /**\n @internal\n */\n addChunk(from, chunk) {\n if ((from - this.lastTo || chunk.value[0].startSide - this.last.endSide) < 0)\n return false;\n if (this.from.length)\n this.finishChunk(true);\n this.setMaxPoint = Math.max(this.setMaxPoint, chunk.maxPoint);\n this.chunks.push(chunk);\n this.chunkPos.push(from);\n let last = chunk.value.length - 1;\n this.last = chunk.value[last];\n this.lastFrom = chunk.from[last] + from;\n this.lastTo = chunk.to[last] + from;\n return true;\n }\n /**\n Finish the range set. Returns the new set. The builder can't be\n used anymore after this has been called.\n */\n finish() { return this.finishInner(RangeSet.empty); }\n /**\n @internal\n */\n finishInner(next) {\n if (this.from.length)\n this.finishChunk(false);\n if (this.chunks.length == 0)\n return next;\n let result = RangeSet.create(this.chunkPos, this.chunks, this.nextLayer ? this.nextLayer.finishInner(next) : next, this.setMaxPoint);\n this.from = null; // Make sure further `add` calls produce errors\n return result;\n }\n}\nfunction findSharedChunks(a, b, textDiff) {\n let inA = new Map();\n for (let set of a)\n for (let i = 0; i < set.chunk.length; i++)\n if (set.chunk[i].maxPoint <= 0)\n inA.set(set.chunk[i], set.chunkPos[i]);\n let shared = new Set();\n for (let set of b)\n for (let i = 0; i < set.chunk.length; i++) {\n let known = inA.get(set.chunk[i]);\n if (known != null && (textDiff ? textDiff.mapPos(known) : known) == set.chunkPos[i] &&\n !(textDiff === null || textDiff === void 0 ? void 0 : textDiff.touchesRange(known, known + set.chunk[i].length)))\n shared.add(set.chunk[i]);\n }\n return shared;\n}\nclass LayerCursor {\n constructor(layer, skip, minPoint, rank = 0) {\n this.layer = layer;\n this.skip = skip;\n this.minPoint = minPoint;\n this.rank = rank;\n }\n get startSide() { return this.value ? this.value.startSide : 0; }\n get endSide() { return this.value ? this.value.endSide : 0; }\n goto(pos, side = -1000000000 /* C.Far */) {\n this.chunkIndex = this.rangeIndex = 0;\n this.gotoInner(pos, side, false);\n return this;\n }\n gotoInner(pos, side, forward) {\n while (this.chunkIndex < this.layer.chunk.length) {\n let next = this.layer.chunk[this.chunkIndex];\n if (!(this.skip && this.skip.has(next) ||\n this.layer.chunkEnd(this.chunkIndex) < pos ||\n next.maxPoint < this.minPoint))\n break;\n this.chunkIndex++;\n forward = false;\n }\n if (this.chunkIndex < this.layer.chunk.length) {\n let rangeIndex = this.layer.chunk[this.chunkIndex].findIndex(pos - this.layer.chunkPos[this.chunkIndex], side, true);\n if (!forward || this.rangeIndex < rangeIndex)\n this.setRangeIndex(rangeIndex);\n }\n this.next();\n }\n forward(pos, side) {\n if ((this.to - pos || this.endSide - side) < 0)\n this.gotoInner(pos, side, true);\n }\n next() {\n for (;;) {\n if (this.chunkIndex == this.layer.chunk.length) {\n this.from = this.to = 1000000000 /* C.Far */;\n this.value = null;\n break;\n }\n else {\n let chunkPos = this.layer.chunkPos[this.chunkIndex], chunk = this.layer.chunk[this.chunkIndex];\n let from = chunkPos + chunk.from[this.rangeIndex];\n this.from = from;\n this.to = chunkPos + chunk.to[this.rangeIndex];\n this.value = chunk.value[this.rangeIndex];\n this.setRangeIndex(this.rangeIndex + 1);\n if (this.minPoint < 0 || this.value.point && this.to - this.from >= this.minPoint)\n break;\n }\n }\n }\n setRangeIndex(index) {\n if (index == this.layer.chunk[this.chunkIndex].value.length) {\n this.chunkIndex++;\n if (this.skip) {\n while (this.chunkIndex < this.layer.chunk.length && this.skip.has(this.layer.chunk[this.chunkIndex]))\n this.chunkIndex++;\n }\n this.rangeIndex = 0;\n }\n else {\n this.rangeIndex = index;\n }\n }\n nextChunk() {\n this.chunkIndex++;\n this.rangeIndex = 0;\n this.next();\n }\n compare(other) {\n return this.from - other.from || this.startSide - other.startSide || this.rank - other.rank ||\n this.to - other.to || this.endSide - other.endSide;\n }\n}\nclass HeapCursor {\n constructor(heap) {\n this.heap = heap;\n }\n static from(sets, skip = null, minPoint = -1) {\n let heap = [];\n for (let i = 0; i < sets.length; i++) {\n for (let cur = sets[i]; !cur.isEmpty; cur = cur.nextLayer) {\n if (cur.maxPoint >= minPoint)\n heap.push(new LayerCursor(cur, skip, minPoint, i));\n }\n }\n return heap.length == 1 ? heap[0] : new HeapCursor(heap);\n }\n get startSide() { return this.value ? this.value.startSide : 0; }\n goto(pos, side = -1000000000 /* C.Far */) {\n for (let cur of this.heap)\n cur.goto(pos, side);\n for (let i = this.heap.length >> 1; i >= 0; i--)\n heapBubble(this.heap, i);\n this.next();\n return this;\n }\n forward(pos, side) {\n for (let cur of this.heap)\n cur.forward(pos, side);\n for (let i = this.heap.length >> 1; i >= 0; i--)\n heapBubble(this.heap, i);\n if ((this.to - pos || this.value.endSide - side) < 0)\n this.next();\n }\n next() {\n if (this.heap.length == 0) {\n this.from = this.to = 1000000000 /* C.Far */;\n this.value = null;\n this.rank = -1;\n }\n else {\n let top = this.heap[0];\n this.from = top.from;\n this.to = top.to;\n this.value = top.value;\n this.rank = top.rank;\n if (top.value)\n top.next();\n heapBubble(this.heap, 0);\n }\n }\n}\nfunction heapBubble(heap, index) {\n for (let cur = heap[index];;) {\n let childIndex = (index << 1) + 1;\n if (childIndex >= heap.length)\n break;\n let child = heap[childIndex];\n if (childIndex + 1 < heap.length && child.compare(heap[childIndex + 1]) >= 0) {\n child = heap[childIndex + 1];\n childIndex++;\n }\n if (cur.compare(child) < 0)\n break;\n heap[childIndex] = cur;\n heap[index] = child;\n index = childIndex;\n }\n}\nclass SpanCursor {\n constructor(sets, skip, minPoint) {\n this.minPoint = minPoint;\n this.active = [];\n this.activeTo = [];\n this.activeRank = [];\n this.minActive = -1;\n // A currently active point range, if any\n this.point = null;\n this.pointFrom = 0;\n this.pointRank = 0;\n this.to = -1000000000 /* C.Far */;\n this.endSide = 0;\n // The amount of open active ranges at the start of the iterator.\n // Not including points.\n this.openStart = -1;\n this.cursor = HeapCursor.from(sets, skip, minPoint);\n }\n goto(pos, side = -1000000000 /* C.Far */) {\n this.cursor.goto(pos, side);\n this.active.length = this.activeTo.length = this.activeRank.length = 0;\n this.minActive = -1;\n this.to = pos;\n this.endSide = side;\n this.openStart = -1;\n this.next();\n return this;\n }\n forward(pos, side) {\n while (this.minActive > -1 && (this.activeTo[this.minActive] - pos || this.active[this.minActive].endSide - side) < 0)\n this.removeActive(this.minActive);\n this.cursor.forward(pos, side);\n }\n removeActive(index) {\n remove(this.active, index);\n remove(this.activeTo, index);\n remove(this.activeRank, index);\n this.minActive = findMinIndex(this.active, this.activeTo);\n }\n addActive(trackOpen) {\n let i = 0, { value, to, rank } = this.cursor;\n while (i < this.activeRank.length && this.activeRank[i] <= rank)\n i++;\n insert(this.active, i, value);\n insert(this.activeTo, i, to);\n insert(this.activeRank, i, rank);\n if (trackOpen)\n insert(trackOpen, i, this.cursor.from);\n this.minActive = findMinIndex(this.active, this.activeTo);\n }\n // After calling this, if `this.point` != null, the next range is a\n // point. Otherwise, it's a regular range, covered by `this.active`.\n next() {\n let from = this.to, wasPoint = this.point;\n this.point = null;\n let trackOpen = this.openStart < 0 ? [] : null;\n for (;;) {\n let a = this.minActive;\n if (a > -1 && (this.activeTo[a] - this.cursor.from || this.active[a].endSide - this.cursor.startSide) < 0) {\n if (this.activeTo[a] > from) {\n this.to = this.activeTo[a];\n this.endSide = this.active[a].endSide;\n break;\n }\n this.removeActive(a);\n if (trackOpen)\n remove(trackOpen, a);\n }\n else if (!this.cursor.value) {\n this.to = this.endSide = 1000000000 /* C.Far */;\n break;\n }\n else if (this.cursor.from > from) {\n this.to = this.cursor.from;\n this.endSide = this.cursor.startSide;\n break;\n }\n else {\n let nextVal = this.cursor.value;\n if (!nextVal.point) { // Opening a range\n this.addActive(trackOpen);\n this.cursor.next();\n }\n else if (wasPoint && this.cursor.to == this.to && this.cursor.from < this.cursor.to) {\n // Ignore any non-empty points that end precisely at the end of the prev point\n this.cursor.next();\n }\n else { // New point\n this.point = nextVal;\n this.pointFrom = this.cursor.from;\n this.pointRank = this.cursor.rank;\n this.to = this.cursor.to;\n this.endSide = nextVal.endSide;\n this.cursor.next();\n this.forward(this.to, this.endSide);\n break;\n }\n }\n }\n if (trackOpen) {\n this.openStart = 0;\n for (let i = trackOpen.length - 1; i >= 0 && trackOpen[i] < from; i--)\n this.openStart++;\n }\n }\n activeForPoint(to) {\n if (!this.active.length)\n return this.active;\n let active = [];\n for (let i = this.active.length - 1; i >= 0; i--) {\n if (this.activeRank[i] < this.pointRank)\n break;\n if (this.activeTo[i] > to || this.activeTo[i] == to && this.active[i].endSide >= this.point.endSide)\n active.push(this.active[i]);\n }\n return active.reverse();\n }\n openEnd(to) {\n let open = 0;\n for (let i = this.activeTo.length - 1; i >= 0 && this.activeTo[i] > to; i--)\n open++;\n return open;\n }\n}\nfunction compare(a, startA, b, startB, length, comparator) {\n a.goto(startA);\n b.goto(startB);\n let endB = startB + length;\n let pos = startB, dPos = startB - startA;\n for (;;) {\n let diff = (a.to + dPos) - b.to || a.endSide - b.endSide;\n let end = diff < 0 ? a.to + dPos : b.to, clipEnd = Math.min(end, endB);\n if (a.point || b.point) {\n if (!(a.point && b.point && (a.point == b.point || a.point.eq(b.point)) &&\n sameValues(a.activeForPoint(a.to + dPos), b.activeForPoint(b.to))))\n comparator.comparePoint(pos, clipEnd, a.point, b.point);\n }\n else {\n if (clipEnd > pos && !sameValues(a.active, b.active))\n comparator.compareRange(pos, clipEnd, a.active, b.active);\n }\n if (end > endB)\n break;\n pos = end;\n if (diff <= 0)\n a.next();\n if (diff >= 0)\n b.next();\n }\n}\nfunction sameValues(a, b) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (a[i] != b[i] && !a[i].eq(b[i]))\n return false;\n return true;\n}\nfunction remove(array, index) {\n for (let i = index, e = array.length - 1; i < e; i++)\n array[i] = array[i + 1];\n array.pop();\n}\nfunction insert(array, index, value) {\n for (let i = array.length - 1; i >= index; i--)\n array[i + 1] = array[i];\n array[index] = value;\n}\nfunction findMinIndex(value, array) {\n let found = -1, foundPos = 1000000000 /* C.Far */;\n for (let i = 0; i < array.length; i++)\n if ((array[i] - foundPos || value[i].endSide - value[found].endSide) < 0) {\n found = i;\n foundPos = array[i];\n }\n return found;\n}\n\n/**\nCount the column position at the given offset into the string,\ntaking extending characters and tab size into account.\n*/\nfunction countColumn(string, tabSize, to = string.length) {\n let n = 0;\n for (let i = 0; i < to;) {\n if (string.charCodeAt(i) == 9) {\n n += tabSize - (n % tabSize);\n i++;\n }\n else {\n n++;\n i = findClusterBreak(string, i);\n }\n }\n return n;\n}\n/**\nFind the offset that corresponds to the given column position in a\nstring, taking extending characters and tab size into account. By\ndefault, the string length is returned when it is too short to\nreach the column. Pass `strict` true to make it return -1 in that\nsituation.\n*/\nfunction findColumn(string, col, tabSize, strict) {\n for (let i = 0, n = 0;;) {\n if (n >= col)\n return i;\n if (i == string.length)\n break;\n n += string.charCodeAt(i) == 9 ? tabSize - (n % tabSize) : 1;\n i = findClusterBreak(string, i);\n }\n return strict === true ? -1 : string.length;\n}\n\nconst C = \"\\u037c\";\nconst COUNT = typeof Symbol == \"undefined\" ? \"__\" + C : Symbol.for(C);\nconst SET = typeof Symbol == \"undefined\" ? \"__styleSet\" + Math.floor(Math.random() * 1e8) : Symbol(\"styleSet\");\nconst top = typeof globalThis != \"undefined\" ? globalThis : typeof window != \"undefined\" ? window : {};\n\n// :: - Style modules encapsulate a set of CSS rules defined from\n// JavaScript. Their definitions are only available in a given DOM\n// root after it has been _mounted_ there with `StyleModule.mount`.\n//\n// Style modules should be created once and stored somewhere, as\n// opposed to re-creating them every time you need them. The amount of\n// CSS rules generated for a given DOM root is bounded by the amount\n// of style modules that were used. So to avoid leaking rules, don't\n// create these dynamically, but treat them as one-time allocations.\nclass StyleModule {\n // :: (Object