@budibase/server
Version:
Budibase Web Server
1,298 lines (1,297 loc) • 471 kB
JavaScript
import { Q as vf, R as mf } from "./index-fc73233e.js";
import { c as xf } from "./_commonjs-dynamic-modules-bed80856.js";
import { r as yf } from "./___vite-browser-external_commonjs-proxy-5f1afbec.js";
var Qo = { exports: {} };
(function(s, b) {
(function(c, v) {
s.exports = v();
})(vf, function() {
var c = navigator.userAgent, v = navigator.platform, m = /gecko\/\d/i.test(c), C = /MSIE \d/.test(c), g = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(c), y = /Edge\/(\d+)/.exec(c), x = C || g || y, A = x && (C ? document.documentMode || 6 : +(y || g)[1]), z = !y && /WebKit\//.test(c), P = z && /Qt\/\d+\.\d+/.test(c), N = !y && /Chrome\/(\d+)/.exec(c), G = N && +N[1], X = /Opera\//.test(c), le = /Apple Computer/.test(navigator.vendor), J = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(c), Q = /PhantomJS/.test(c), H = le && (/Mobile\/\w+/.test(c) || navigator.maxTouchPoints > 2), q = /Android/.test(c), R = H || q || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(c), _ = H || /Mac/.test(v), te = /\bCrOS\b/.test(c), Y = /win/i.test(v), oe = X && c.match(/Version\/(\d*\.\d*)/);
oe && (oe = Number(oe[1])), oe && oe >= 15 && (X = !1, z = !0);
var pe = _ && (P || X && (oe == null || oe < 12.11)), qe = m || x && A >= 9;
function ae(e) {
return new RegExp("(^|\\s)" + e + "(?:$|\\s)\\s*");
}
var Se = function(e, t) {
var i = e.className, r = ae(t).exec(i);
if (r) {
var n = i.slice(r.index + r[0].length);
e.className = i.slice(0, r.index) + (n ? r[1] + n : "");
}
};
function ke(e) {
for (var t = e.childNodes.length; t > 0; --t)
e.removeChild(e.firstChild);
return e;
}
function De(e, t) {
return ke(e).appendChild(t);
}
function T(e, t, i, r) {
var n = document.createElement(e);
if (i && (n.className = i), r && (n.style.cssText = r), typeof t == "string")
n.appendChild(document.createTextNode(t));
else if (t)
for (var a = 0; a < t.length; ++a)
n.appendChild(t[a]);
return n;
}
function V(e, t, i, r) {
var n = T(e, t, i, r);
return n.setAttribute("role", "presentation"), n;
}
var Z;
document.createRange ? Z = function(e, t, i, r) {
var n = document.createRange();
return n.setEnd(r || e, i), n.setStart(e, t), n;
} : Z = function(e, t, i) {
var r = document.body.createTextRange();
try {
r.moveToElementText(e.parentNode);
} catch {
return r;
}
return r.collapse(!0), r.moveEnd("character", i), r.moveStart("character", t), r;
};
function ge(e, t) {
if (t.nodeType == 3 && (t = t.parentNode), e.contains)
return e.contains(t);
do
if (t.nodeType == 11 && (t = t.host), t == e)
return !0;
while (t = t.parentNode);
}
function Me(e) {
var t = e.ownerDocument || e, i;
try {
i = e.activeElement;
} catch {
i = t.body || null;
}
for (; i && i.shadowRoot && i.shadowRoot.activeElement; )
i = i.shadowRoot.activeElement;
return i;
}
function et(e, t) {
var i = e.className;
ae(t).test(i) || (e.className += (i ? " " : "") + t);
}
function Pt(e, t) {
for (var i = e.split(" "), r = 0; r < i.length; r++)
i[r] && !ae(i[r]).test(t) && (t += " " + i[r]);
return t;
}
var S = function(e) {
e.select();
};
H ? S = function(e) {
e.selectionStart = 0, e.selectionEnd = e.value.length;
} : x && (S = function(e) {
try {
e.select();
} catch {
}
});
function d(e) {
return e.display.wrapper.ownerDocument;
}
function j(e) {
return Ne(e.display.wrapper);
}
function Ne(e) {
return e.getRootNode ? e.getRootNode() : e.ownerDocument;
}
function Ee(e) {
return d(e).defaultView;
}
function $e(e) {
var t = Array.prototype.slice.call(arguments, 1);
return function() {
return e.apply(null, t);
};
}
function ht(e, t, i) {
t || (t = {});
for (var r in e)
e.hasOwnProperty(r) && (i !== !1 || !t.hasOwnProperty(r)) && (t[r] = e[r]);
return t;
}
function Xe(e, t, i, r, n) {
t == null && (t = e.search(/[^\s\u00a0]/), t == -1 && (t = e.length));
for (var a = r || 0, l = n || 0; ; ) {
var o = e.indexOf(" ", a);
if (o < 0 || o >= t)
return l + (t - a);
l += o - a, l += i - l % i, a = o + 1;
}
}
var nt = function() {
this.id = null, this.f = null, this.time = 0, this.handler = $e(this.onTimeout, this);
};
nt.prototype.onTimeout = function(e) {
e.id = 0, e.time <= +/* @__PURE__ */ new Date() ? e.f() : setTimeout(e.handler, e.time - +/* @__PURE__ */ new Date());
}, nt.prototype.set = function(e, t) {
this.f = t;
var i = +/* @__PURE__ */ new Date() + e;
(!this.id || i < this.time) && (clearTimeout(this.id), this.id = setTimeout(this.handler, e), this.time = i);
};
function Ie(e, t) {
for (var i = 0; i < e.length; ++i)
if (e[i] == t)
return i;
return -1;
}
var _e = 50, Je = { toString: function() {
return "CodeMirror.Pass";
} }, dt = { scroll: !1 }, ye = { origin: "*mouse" }, Bt = { origin: "+move" };
function Mt(e, t, i) {
for (var r = 0, n = 0; ; ) {
var a = e.indexOf(" ", r);
a == -1 && (a = e.length);
var l = a - r;
if (a == e.length || n + l >= t)
return r + Math.min(l, t - n);
if (n += a - r, n += i - n % i, r = a + 1, n >= t)
return r;
}
}
var At = [""];
function Wt(e) {
for (; At.length <= e; )
At.push(Be(At) + " ");
return At[e];
}
function Be(e) {
return e[e.length - 1];
}
function Et(e, t) {
for (var i = [], r = 0; r < e.length; r++)
i[r] = t(e[r], r);
return i;
}
function _t(e, t, i) {
for (var r = 0, n = i(t); r < e.length && i(e[r]) <= n; )
r++;
e.splice(r, 0, t);
}
function Tr() {
}
function I(e, t) {
var i;
return Object.create ? i = Object.create(e) : (Tr.prototype = e, i = new Tr()), t && ht(t, i), i;
}
var O = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;
function B(e) {
return /\w/.test(e) || e > "" && (e.toUpperCase() != e.toLowerCase() || O.test(e));
}
function h(e, t) {
return t ? t.source.indexOf("\\w") > -1 && B(e) ? !0 : t.test(e) : B(e);
}
function p(e) {
for (var t in e)
if (e.hasOwnProperty(t) && e[t])
return !1;
return !0;
}
var F = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;
function k(e) {
return e.charCodeAt(0) >= 768 && F.test(e);
}
function E(e, t, i) {
for (; (i < 0 ? t > 0 : t < e.length) && k(e.charAt(t)); )
t += i;
return t;
}
function re(e, t, i) {
for (var r = t > i ? -1 : 1; ; ) {
if (t == i)
return t;
var n = (t + i) / 2, a = r < 0 ? Math.ceil(n) : Math.floor(n);
if (a == t)
return e(a) ? t : i;
e(a) ? i = a : t = a + r;
}
}
function de(e, t, i, r) {
if (!e)
return r(t, i, "ltr", 0);
for (var n = !1, a = 0; a < e.length; ++a) {
var l = e[a];
(l.from < i && l.to > t || t == i && l.to == t) && (r(Math.max(l.from, t), Math.min(l.to, i), l.level == 1 ? "rtl" : "ltr", a), n = !0);
}
n || r(t, i, "ltr");
}
var fe = null;
function ve(e, t, i) {
var r;
fe = null;
for (var n = 0; n < e.length; ++n) {
var a = e[n];
if (a.from < t && a.to > t)
return n;
a.to == t && (a.from != a.to && i == "before" ? r = n : fe = n), a.from == t && (a.from != a.to && i != "before" ? r = n : fe = n);
}
return r ?? fe;
}
var we = function() {
var e = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN", t = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";
function i(f) {
return f <= 247 ? e.charAt(f) : 1424 <= f && f <= 1524 ? "R" : 1536 <= f && f <= 1785 ? t.charAt(f - 1536) : 1774 <= f && f <= 2220 ? "r" : 8192 <= f && f <= 8203 ? "w" : f == 8204 ? "b" : "L";
}
var r = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/, n = /[stwN]/, a = /[LRr]/, l = /[Lb1n]/, o = /[1n]/;
function u(f, D, w) {
this.level = f, this.from = D, this.to = w;
}
return function(f, D) {
var w = D == "ltr" ? "L" : "R";
if (f.length == 0 || D == "ltr" && !r.test(f))
return !1;
for (var M = f.length, L = [], W = 0; W < M; ++W)
L.push(i(f.charCodeAt(W)));
for (var K = 0, ee = w; K < M; ++K) {
var ie = L[K];
ie == "m" ? L[K] = ee : ee = ie;
}
for (var se = 0, ne = w; se < M; ++se) {
var he = L[se];
he == "1" && ne == "r" ? L[se] = "n" : a.test(he) && (ne = he, he == "r" && (L[se] = "R"));
}
for (var be = 1, xe = L[0]; be < M - 1; ++be) {
var Te = L[be];
Te == "+" && xe == "1" && L[be + 1] == "1" ? L[be] = "1" : Te == "," && xe == L[be + 1] && (xe == "1" || xe == "n") && (L[be] = xe), xe = Te;
}
for (var Ue = 0; Ue < M; ++Ue) {
var ft = L[Ue];
if (ft == ",")
L[Ue] = "N";
else if (ft == "%") {
var Ze = void 0;
for (Ze = Ue + 1; Ze < M && L[Ze] == "%"; ++Ze)
;
for (var Ft = Ue && L[Ue - 1] == "!" || Ze < M && L[Ze] == "1" ? "1" : "N", Ct = Ue; Ct < Ze; ++Ct)
L[Ct] = Ft;
Ue = Ze - 1;
}
}
for (var rt = 0, wt = w; rt < M; ++rt) {
var gt = L[rt];
wt == "L" && gt == "1" ? L[rt] = "L" : a.test(gt) && (wt = gt);
}
for (var lt = 0; lt < M; ++lt)
if (n.test(L[lt])) {
var it = void 0;
for (it = lt + 1; it < M && n.test(L[it]); ++it)
;
for (var Qe = (lt ? L[lt - 1] : w) == "L", kt = (it < M ? L[it] : w) == "L", Qr = Qe == kt ? Qe ? "L" : "R" : w, cr = lt; cr < it; ++cr)
L[cr] = Qr;
lt = it - 1;
}
for (var mt = [], Kt, ct = 0; ct < M; )
if (l.test(L[ct])) {
var Ia = ct;
for (++ct; ct < M && l.test(L[ct]); ++ct)
;
mt.push(new u(0, Ia, ct));
} else {
var er = ct, Sr = mt.length, Fr = D == "rtl" ? 1 : 0;
for (++ct; ct < M && L[ct] != "L"; ++ct)
;
for (var yt = er; yt < ct; )
if (o.test(L[yt])) {
er < yt && (mt.splice(Sr, 0, new u(1, er, yt)), Sr += Fr);
var $r = yt;
for (++yt; yt < ct && o.test(L[yt]); ++yt)
;
mt.splice(Sr, 0, new u(2, $r, yt)), Sr += Fr, er = yt;
} else
++yt;
er < ct && mt.splice(Sr, 0, new u(1, er, ct));
}
return D == "ltr" && (mt[0].level == 1 && (Kt = f.match(/^\s+/)) && (mt[0].from = Kt[0].length, mt.unshift(new u(0, 0, Kt[0].length))), Be(mt).level == 1 && (Kt = f.match(/\s+$/)) && (Be(mt).to -= Kt[0].length, mt.push(new u(0, M - Kt[0].length, M)))), D == "rtl" ? mt.reverse() : mt;
};
}();
function ue(e, t) {
var i = e.order;
return i == null && (i = e.order = we(e.text, t)), i;
}
var Ce = [], U = function(e, t, i) {
if (e.addEventListener)
e.addEventListener(t, i, !1);
else if (e.attachEvent)
e.attachEvent("on" + t, i);
else {
var r = e._handlers || (e._handlers = {});
r[t] = (r[t] || Ce).concat(i);
}
};
function ze(e, t) {
return e._handlers && e._handlers[t] || Ce;
}
function Oe(e, t, i) {
if (e.removeEventListener)
e.removeEventListener(t, i, !1);
else if (e.detachEvent)
e.detachEvent("on" + t, i);
else {
var r = e._handlers, n = r && r[t];
if (n) {
var a = Ie(n, i);
a > -1 && (r[t] = n.slice(0, a).concat(n.slice(a + 1)));
}
}
}
function He(e, t) {
var i = ze(e, t);
if (i.length)
for (var r = Array.prototype.slice.call(arguments, 2), n = 0; n < i.length; ++n)
i[n].apply(null, r);
}
function Le(e, t, i) {
return typeof t == "string" && (t = { type: t, preventDefault: function() {
this.defaultPrevented = !0;
} }), He(e, i || t.type, e, t), Yt(t) || t.codemirrorIgnore;
}
function at(e) {
var t = e._handlers && e._handlers.cursorActivity;
if (t)
for (var i = e.curOp.cursorActivityHandlers || (e.curOp.cursorActivityHandlers = []), r = 0; r < t.length; ++r)
Ie(i, t[r]) == -1 && i.push(t[r]);
}
function pt(e, t) {
return ze(e, t).length > 0;
}
function Nt(e) {
e.prototype.on = function(t, i) {
U(this, t, i);
}, e.prototype.off = function(t, i) {
Oe(this, t, i);
};
}
function Ye(e) {
e.preventDefault ? e.preventDefault() : e.returnValue = !1;
}
function Xt(e) {
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0;
}
function Yt(e) {
return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == !1;
}
function It(e) {
Ye(e), Xt(e);
}
function ei(e) {
return e.target || e.srcElement;
}
function rr(e) {
var t = e.which;
return t == null && (e.button & 1 ? t = 1 : e.button & 2 ? t = 3 : e.button & 4 && (t = 2)), _ && e.ctrlKey && t == 1 && (t = 3), t;
}
var ou = function() {
if (x && A < 9)
return !1;
var e = T("div");
return "draggable" in e || "dragDrop" in e;
}(), Mn;
function uu(e) {
if (Mn == null) {
var t = T("span", "");
De(e, T("span", [t, document.createTextNode("x")])), e.firstChild.offsetHeight != 0 && (Mn = t.offsetWidth <= 1 && t.offsetHeight > 2 && !(x && A < 8));
}
var i = Mn ? T("span", "") : T("span", " ", null, "display: inline-block; width: 1px; margin-right: -1px");
return i.setAttribute("cm-text", ""), i;
}
var Nn;
function su(e) {
if (Nn != null)
return Nn;
var t = De(e, document.createTextNode("AخA")), i = Z(t, 0, 1).getBoundingClientRect(), r = Z(t, 1, 2).getBoundingClientRect();
return ke(e), !i || i.left == i.right ? !1 : Nn = r.right - i.right < 3;
}
var In = `
b`.split(/\n/).length != 3 ? function(e) {
for (var t = 0, i = [], r = e.length; t <= r; ) {
var n = e.indexOf(`
`, t);
n == -1 && (n = e.length);
var a = e.slice(t, e.charAt(n - 1) == "\r" ? n - 1 : n), l = a.indexOf("\r");
l != -1 ? (i.push(a.slice(0, l)), t += l + 1) : (i.push(a), t = n + 1);
}
return i;
} : function(e) {
return e.split(/\r\n?|\n/);
}, fu = window.getSelection ? function(e) {
try {
return e.selectionStart != e.selectionEnd;
} catch {
return !1;
}
} : function(e) {
var t;
try {
t = e.ownerDocument.selection.createRange();
} catch {
}
return !t || t.parentElement() != e ? !1 : t.compareEndPoints("StartToEnd", t) != 0;
}, cu = function() {
var e = T("div");
return "oncopy" in e ? !0 : (e.setAttribute("oncopy", "return;"), typeof e.oncopy == "function");
}(), On = null;
function hu(e) {
if (On != null)
return On;
var t = De(e, T("span", "x")), i = t.getBoundingClientRect(), r = Z(t, 0, 1).getBoundingClientRect();
return On = Math.abs(i.left - r.left) > 1;
}
var Hn = {}, Br = {};
function du(e, t) {
arguments.length > 2 && (t.dependencies = Array.prototype.slice.call(arguments, 2)), Hn[e] = t;
}
function pu(e, t) {
Br[e] = t;
}
function Bi(e) {
if (typeof e == "string" && Br.hasOwnProperty(e))
e = Br[e];
else if (e && typeof e.name == "string" && Br.hasOwnProperty(e.name)) {
var t = Br[e.name];
typeof t == "string" && (t = { name: t }), e = I(t, e), e.name = t.name;
} else {
if (typeof e == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(e))
return Bi("application/xml");
if (typeof e == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(e))
return Bi("application/json");
}
return typeof e == "string" ? { name: e } : e || { name: "null" };
}
function Rn(e, t) {
t = Bi(t);
var i = Hn[t.name];
if (!i)
return Rn(e, "text/plain");
var r = i(e, t);
if (Mr.hasOwnProperty(t.name)) {
var n = Mr[t.name];
for (var a in n)
n.hasOwnProperty(a) && (r.hasOwnProperty(a) && (r["_" + a] = r[a]), r[a] = n[a]);
}
if (r.name = t.name, t.helperType && (r.helperType = t.helperType), t.modeProps)
for (var l in t.modeProps)
r[l] = t.modeProps[l];
return r;
}
var Mr = {};
function gu(e, t) {
var i = Mr.hasOwnProperty(e) ? Mr[e] : Mr[e] = {};
ht(t, i);
}
function pr(e, t) {
if (t === !0)
return t;
if (e.copyState)
return e.copyState(t);
var i = {};
for (var r in t) {
var n = t[r];
n instanceof Array && (n = n.concat([])), i[r] = n;
}
return i;
}
function zn(e, t) {
for (var i; e.innerMode && (i = e.innerMode(t), !(!i || i.mode == e)); )
t = i.state, e = i.mode;
return i || { mode: e, state: t };
}
function Ga(e, t, i) {
return e.startState ? e.startState(t, i) : !0;
}
var tt = function(e, t, i) {
this.pos = this.start = 0, this.string = e, this.tabSize = t || 8, this.lastColumnPos = this.lastColumnValue = 0, this.lineStart = 0, this.lineOracle = i;
};
tt.prototype.eol = function() {
return this.pos >= this.string.length;
}, tt.prototype.sol = function() {
return this.pos == this.lineStart;
}, tt.prototype.peek = function() {
return this.string.charAt(this.pos) || void 0;
}, tt.prototype.next = function() {
if (this.pos < this.string.length)
return this.string.charAt(this.pos++);
}, tt.prototype.eat = function(e) {
var t = this.string.charAt(this.pos), i;
if (typeof e == "string" ? i = t == e : i = t && (e.test ? e.test(t) : e(t)), i)
return ++this.pos, t;
}, tt.prototype.eatWhile = function(e) {
for (var t = this.pos; this.eat(e); )
;
return this.pos > t;
}, tt.prototype.eatSpace = function() {
for (var e = this.pos; /[\s\u00a0]/.test(this.string.charAt(this.pos)); )
++this.pos;
return this.pos > e;
}, tt.prototype.skipToEnd = function() {
this.pos = this.string.length;
}, tt.prototype.skipTo = function(e) {
var t = this.string.indexOf(e, this.pos);
if (t > -1)
return this.pos = t, !0;
}, tt.prototype.backUp = function(e) {
this.pos -= e;
}, tt.prototype.column = function() {
return this.lastColumnPos < this.start && (this.lastColumnValue = Xe(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue), this.lastColumnPos = this.start), this.lastColumnValue - (this.lineStart ? Xe(this.string, this.lineStart, this.tabSize) : 0);
}, tt.prototype.indentation = function() {
return Xe(this.string, null, this.tabSize) - (this.lineStart ? Xe(this.string, this.lineStart, this.tabSize) : 0);
}, tt.prototype.match = function(e, t, i) {
if (typeof e == "string") {
var r = function(l) {
return i ? l.toLowerCase() : l;
}, n = this.string.substr(this.pos, e.length);
if (r(n) == r(e))
return t !== !1 && (this.pos += e.length), !0;
} else {
var a = this.string.slice(this.pos).match(e);
return a && a.index > 0 ? null : (a && t !== !1 && (this.pos += a[0].length), a);
}
}, tt.prototype.current = function() {
return this.string.slice(this.start, this.pos);
}, tt.prototype.hideFirstChars = function(e, t) {
this.lineStart += e;
try {
return t();
} finally {
this.lineStart -= e;
}
}, tt.prototype.lookAhead = function(e) {
var t = this.lineOracle;
return t && t.lookAhead(e);
}, tt.prototype.baseToken = function() {
var e = this.lineOracle;
return e && e.baseToken(this.pos);
};
function me(e, t) {
if (t -= e.first, t < 0 || t >= e.size)
throw new Error("There is no line " + (t + e.first) + " in the document.");
for (var i = e; !i.lines; )
for (var r = 0; ; ++r) {
var n = i.children[r], a = n.chunkSize();
if (t < a) {
i = n;
break;
}
t -= a;
}
return i.lines[t];
}
function gr(e, t, i) {
var r = [], n = t.line;
return e.iter(t.line, i.line + 1, function(a) {
var l = a.text;
n == i.line && (l = l.slice(0, i.ch)), n == t.line && (l = l.slice(t.ch)), r.push(l), ++n;
}), r;
}
function Pn(e, t, i) {
var r = [];
return e.iter(t, i, function(n) {
r.push(n.text);
}), r;
}
function Ut(e, t) {
var i = t - e.height;
if (i)
for (var r = e; r; r = r.parent)
r.height += i;
}
function Pe(e) {
if (e.parent == null)
return null;
for (var t = e.parent, i = Ie(t.lines, e), r = t.parent; r; t = r, r = r.parent)
for (var n = 0; r.children[n] != t; ++n)
i += r.children[n].chunkSize();
return i + t.first;
}
function vr(e, t) {
var i = e.first;
e:
do {
for (var r = 0; r < e.children.length; ++r) {
var n = e.children[r], a = n.height;
if (t < a) {
e = n;
continue e;
}
t -= a, i += n.chunkSize();
}
return i;
} while (!e.lines);
for (var l = 0; l < e.lines.length; ++l) {
var o = e.lines[l], u = o.height;
if (t < u)
break;
t -= u;
}
return i + l;
}
function ti(e, t) {
return t >= e.first && t < e.first + e.size;
}
function Wn(e, t) {
return String(e.lineNumberFormatter(t + e.firstLineNumber));
}
function $(e, t, i) {
if (i === void 0 && (i = null), !(this instanceof $))
return new $(e, t, i);
this.line = e, this.ch = t, this.sticky = i;
}
function Fe(e, t) {
return e.line - t.line || e.ch - t.ch;
}
function _n(e, t) {
return e.sticky == t.sticky && Fe(e, t) == 0;
}
function Un(e) {
return $(e.line, e.ch);
}
function Mi(e, t) {
return Fe(e, t) < 0 ? t : e;
}
function Ni(e, t) {
return Fe(e, t) < 0 ? e : t;
}
function ja(e, t) {
return Math.max(e.first, Math.min(t, e.first + e.size - 1));
}
function Ae(e, t) {
if (t.line < e.first)
return $(e.first, 0);
var i = e.first + e.size - 1;
return t.line > i ? $(i, me(e, i).text.length) : vu(t, me(e, t.line).text.length);
}
function vu(e, t) {
var i = e.ch;
return i == null || i > t ? $(e.line, t) : i < 0 ? $(e.line, 0) : e;
}
function Ka(e, t) {
for (var i = [], r = 0; r < t.length; r++)
i[r] = Ae(e, t[r]);
return i;
}
var Ii = function(e, t) {
this.state = e, this.lookAhead = t;
}, qt = function(e, t, i, r) {
this.state = t, this.doc = e, this.line = i, this.maxLookAhead = r || 0, this.baseTokens = null, this.baseTokenPos = 1;
};
qt.prototype.lookAhead = function(e) {
var t = this.doc.getLine(this.line + e);
return t != null && e > this.maxLookAhead && (this.maxLookAhead = e), t;
}, qt.prototype.baseToken = function(e) {
if (!this.baseTokens)
return null;
for (; this.baseTokens[this.baseTokenPos] <= e; )
this.baseTokenPos += 2;
var t = this.baseTokens[this.baseTokenPos + 1];
return {
type: t && t.replace(/( |^)overlay .*/, ""),
size: this.baseTokens[this.baseTokenPos] - e
};
}, qt.prototype.nextLine = function() {
this.line++, this.maxLookAhead > 0 && this.maxLookAhead--;
}, qt.fromSaved = function(e, t, i) {
return t instanceof Ii ? new qt(e, pr(e.mode, t.state), i, t.lookAhead) : new qt(e, pr(e.mode, t), i);
}, qt.prototype.save = function(e) {
var t = e !== !1 ? pr(this.doc.mode, this.state) : this.state;
return this.maxLookAhead > 0 ? new Ii(t, this.maxLookAhead) : t;
};
function Xa(e, t, i, r) {
var n = [e.state.modeGen], a = {};
Va(
e,
t.text,
e.doc.mode,
i,
function(f, D) {
return n.push(f, D);
},
a,
r
);
for (var l = i.state, o = function(f) {
i.baseTokens = n;
var D = e.state.overlays[f], w = 1, M = 0;
i.state = !0, Va(e, t.text, D.mode, i, function(L, W) {
for (var K = w; M < L; ) {
var ee = n[w];
ee > L && n.splice(w, 1, L, n[w + 1], ee), w += 2, M = Math.min(L, ee);
}
if (W)
if (D.opaque)
n.splice(K, w - K, L, "overlay " + W), w = K + 2;
else
for (; K < w; K += 2) {
var ie = n[K + 1];
n[K + 1] = (ie ? ie + " " : "") + "overlay " + W;
}
}, a), i.state = l, i.baseTokens = null, i.baseTokenPos = 1;
}, u = 0; u < e.state.overlays.length; ++u)
o(u);
return { styles: n, classes: a.bgClass || a.textClass ? a : null };
}
function Ya(e, t, i) {
if (!t.styles || t.styles[0] != e.state.modeGen) {
var r = ri(e, Pe(t)), n = t.text.length > e.options.maxHighlightLength && pr(e.doc.mode, r.state), a = Xa(e, t, r);
n && (r.state = n), t.stateAfter = r.save(!n), t.styles = a.styles, a.classes ? t.styleClasses = a.classes : t.styleClasses && (t.styleClasses = null), i === e.doc.highlightFrontier && (e.doc.modeFrontier = Math.max(e.doc.modeFrontier, ++e.doc.highlightFrontier));
}
return t.styles;
}
function ri(e, t, i) {
var r = e.doc, n = e.display;
if (!r.mode.startState)
return new qt(r, !0, t);
var a = mu(e, t, i), l = a > r.first && me(r, a - 1).stateAfter, o = l ? qt.fromSaved(r, l, a) : new qt(r, Ga(r.mode), a);
return r.iter(a, t, function(u) {
qn(e, u.text, o);
var f = o.line;
u.stateAfter = f == t - 1 || f % 5 == 0 || f >= n.viewFrom && f < n.viewTo ? o.save() : null, o.nextLine();
}), i && (r.modeFrontier = o.line), o;
}
function qn(e, t, i, r) {
var n = e.doc.mode, a = new tt(t, e.options.tabSize, i);
for (a.start = a.pos = r || 0, t == "" && Za(n, i.state); !a.eol(); )
Gn(n, a, i.state), a.start = a.pos;
}
function Za(e, t) {
if (e.blankLine)
return e.blankLine(t);
if (e.innerMode) {
var i = zn(e, t);
if (i.mode.blankLine)
return i.mode.blankLine(i.state);
}
}
function Gn(e, t, i, r) {
for (var n = 0; n < 10; n++) {
r && (r[0] = zn(e, i).mode);
var a = e.token(t, i);
if (t.pos > t.start)
return a;
}
throw new Error("Mode " + e.name + " failed to advance stream.");
}
var Qa = function(e, t, i) {
this.start = e.start, this.end = e.pos, this.string = e.current(), this.type = t || null, this.state = i;
};
function $a(e, t, i, r) {
var n = e.doc, a = n.mode, l;
t = Ae(n, t);
var o = me(n, t.line), u = ri(e, t.line, i), f = new tt(o.text, e.options.tabSize, u), D;
for (r && (D = []); (r || f.pos < t.ch) && !f.eol(); )
f.start = f.pos, l = Gn(a, f, u.state), r && D.push(new Qa(f, l, pr(n.mode, u.state)));
return r ? D : new Qa(f, l, u.state);
}
function Ja(e, t) {
if (e)
for (; ; ) {
var i = e.match(/(?:^|\s+)line-(background-)?(\S+)/);
if (!i)
break;
e = e.slice(0, i.index) + e.slice(i.index + i[0].length);
var r = i[1] ? "bgClass" : "textClass";
t[r] == null ? t[r] = i[2] : new RegExp("(?:^|\\s)" + i[2] + "(?:$|\\s)").test(t[r]) || (t[r] += " " + i[2]);
}
return e;
}
function Va(e, t, i, r, n, a, l) {
var o = i.flattenSpans;
o == null && (o = e.options.flattenSpans);
var u = 0, f = null, D = new tt(t, e.options.tabSize, r), w, M = e.options.addModeClass && [null];
for (t == "" && Ja(Za(i, r.state), a); !D.eol(); ) {
if (D.pos > e.options.maxHighlightLength ? (o = !1, l && qn(e, t, r, D.pos), D.pos = t.length, w = null) : w = Ja(Gn(i, D, r.state, M), a), M) {
var L = M[0].name;
L && (w = "m-" + (w ? L + " " + w : L));
}
if (!o || f != w) {
for (; u < D.start; )
u = Math.min(D.start, u + 5e3), n(u, f);
f = w;
}
D.start = D.pos;
}
for (; u < D.pos; ) {
var W = Math.min(D.pos, u + 5e3);
n(W, f), u = W;
}
}
function mu(e, t, i) {
for (var r, n, a = e.doc, l = i ? -1 : t - (e.doc.mode.innerMode ? 1e3 : 100), o = t; o > l; --o) {
if (o <= a.first)
return a.first;
var u = me(a, o - 1), f = u.stateAfter;
if (f && (!i || o + (f instanceof Ii ? f.lookAhead : 0) <= a.modeFrontier))
return o;
var D = Xe(u.text, null, e.options.tabSize);
(n == null || r > D) && (n = o - 1, r = D);
}
return n;
}
function xu(e, t) {
if (e.modeFrontier = Math.min(e.modeFrontier, t), !(e.highlightFrontier < t - 10)) {
for (var i = e.first, r = t - 1; r > i; r--) {
var n = me(e, r).stateAfter;
if (n && (!(n instanceof Ii) || r + n.lookAhead < t)) {
i = r + 1;
break;
}
}
e.highlightFrontier = Math.min(e.highlightFrontier, i);
}
}
var el = !1, Zt = !1;
function yu() {
el = !0;
}
function Du() {
Zt = !0;
}
function Oi(e, t, i) {
this.marker = e, this.from = t, this.to = i;
}
function ii(e, t) {
if (e)
for (var i = 0; i < e.length; ++i) {
var r = e[i];
if (r.marker == t)
return r;
}
}
function bu(e, t) {
for (var i, r = 0; r < e.length; ++r)
e[r] != t && (i || (i = [])).push(e[r]);
return i;
}
function Cu(e, t, i) {
var r = i && window.WeakSet && (i.markedSpans || (i.markedSpans = /* @__PURE__ */ new WeakSet()));
r && e.markedSpans && r.has(e.markedSpans) ? e.markedSpans.push(t) : (e.markedSpans = e.markedSpans ? e.markedSpans.concat([t]) : [t], r && r.add(e.markedSpans)), t.marker.attachLine(e);
}
function wu(e, t, i) {
var r;
if (e)
for (var n = 0; n < e.length; ++n) {
var a = e[n], l = a.marker, o = a.from == null || (l.inclusiveLeft ? a.from <= t : a.from < t);
if (o || a.from == t && l.type == "bookmark" && (!i || !a.marker.insertLeft)) {
var u = a.to == null || (l.inclusiveRight ? a.to >= t : a.to > t);
(r || (r = [])).push(new Oi(l, a.from, u ? null : a.to));
}
}
return r;
}
function ku(e, t, i) {
var r;
if (e)
for (var n = 0; n < e.length; ++n) {
var a = e[n], l = a.marker, o = a.to == null || (l.inclusiveRight ? a.to >= t : a.to > t);
if (o || a.from == t && l.type == "bookmark" && (!i || a.marker.insertLeft)) {
var u = a.from == null || (l.inclusiveLeft ? a.from <= t : a.from < t);
(r || (r = [])).push(new Oi(
l,
u ? null : a.from - t,
a.to == null ? null : a.to - t
));
}
}
return r;
}
function jn(e, t) {
if (t.full)
return null;
var i = ti(e, t.from.line) && me(e, t.from.line).markedSpans, r = ti(e, t.to.line) && me(e, t.to.line).markedSpans;
if (!i && !r)
return null;
var n = t.from.ch, a = t.to.ch, l = Fe(t.from, t.to) == 0, o = wu(i, n, l), u = ku(r, a, l), f = t.text.length == 1, D = Be(t.text).length + (f ? n : 0);
if (o)
for (var w = 0; w < o.length; ++w) {
var M = o[w];
if (M.to == null) {
var L = ii(u, M.marker);
L ? f && (M.to = L.to == null ? null : L.to + D) : M.to = n;
}
}
if (u)
for (var W = 0; W < u.length; ++W) {
var K = u[W];
if (K.to != null && (K.to += D), K.from == null) {
var ee = ii(o, K.marker);
ee || (K.from = D, f && (o || (o = [])).push(K));
} else
K.from += D, f && (o || (o = [])).push(K);
}
o && (o = tl(o)), u && u != o && (u = tl(u));
var ie = [o];
if (!f) {
var se = t.text.length - 2, ne;
if (se > 0 && o)
for (var he = 0; he < o.length; ++he)
o[he].to == null && (ne || (ne = [])).push(new Oi(o[he].marker, null, null));
for (var be = 0; be < se; ++be)
ie.push(ne);
ie.push(u);
}
return ie;
}
function tl(e) {
for (var t = 0; t < e.length; ++t) {
var i = e[t];
i.from != null && i.from == i.to && i.marker.clearWhenEmpty !== !1 && e.splice(t--, 1);
}
return e.length ? e : null;
}
function Su(e, t, i) {
var r = null;
if (e.iter(t.line, i.line + 1, function(L) {
if (L.markedSpans)
for (var W = 0; W < L.markedSpans.length; ++W) {
var K = L.markedSpans[W].marker;
K.readOnly && (!r || Ie(r, K) == -1) && (r || (r = [])).push(K);
}
}), !r)
return null;
for (var n = [{ from: t, to: i }], a = 0; a < r.length; ++a)
for (var l = r[a], o = l.find(0), u = 0; u < n.length; ++u) {
var f = n[u];
if (!(Fe(f.to, o.from) < 0 || Fe(f.from, o.to) > 0)) {
var D = [u, 1], w = Fe(f.from, o.from), M = Fe(f.to, o.to);
(w < 0 || !l.inclusiveLeft && !w) && D.push({ from: f.from, to: o.from }), (M > 0 || !l.inclusiveRight && !M) && D.push({ from: o.to, to: f.to }), n.splice.apply(n, D), u += D.length - 3;
}
}
return n;
}
function rl(e) {
var t = e.markedSpans;
if (t) {
for (var i = 0; i < t.length; ++i)
t[i].marker.detachLine(e);
e.markedSpans = null;
}
}
function il(e, t) {
if (t) {
for (var i = 0; i < t.length; ++i)
t[i].marker.attachLine(e);
e.markedSpans = t;
}
}
function Hi(e) {
return e.inclusiveLeft ? -1 : 0;
}
function Ri(e) {
return e.inclusiveRight ? 1 : 0;
}
function Kn(e, t) {
var i = e.lines.length - t.lines.length;
if (i != 0)
return i;
var r = e.find(), n = t.find(), a = Fe(r.from, n.from) || Hi(e) - Hi(t);
if (a)
return -a;
var l = Fe(r.to, n.to) || Ri(e) - Ri(t);
return l || t.id - e.id;
}
function nl(e, t) {
var i = Zt && e.markedSpans, r;
if (i)
for (var n = void 0, a = 0; a < i.length; ++a)
n = i[a], n.marker.collapsed && (t ? n.from : n.to) == null && (!r || Kn(r, n.marker) < 0) && (r = n.marker);
return r;
}
function al(e) {
return nl(e, !0);
}
function zi(e) {
return nl(e, !1);
}
function Fu(e, t) {
var i = Zt && e.markedSpans, r;
if (i)
for (var n = 0; n < i.length; ++n) {
var a = i[n];
a.marker.collapsed && (a.from == null || a.from < t) && (a.to == null || a.to > t) && (!r || Kn(r, a.marker) < 0) && (r = a.marker);
}
return r;
}
function ll(e, t, i, r, n) {
var a = me(e, t), l = Zt && a.markedSpans;
if (l)
for (var o = 0; o < l.length; ++o) {
var u = l[o];
if (u.marker.collapsed) {
var f = u.marker.find(0), D = Fe(f.from, i) || Hi(u.marker) - Hi(n), w = Fe(f.to, r) || Ri(u.marker) - Ri(n);
if (!(D >= 0 && w <= 0 || D <= 0 && w >= 0) && (D <= 0 && (u.marker.inclusiveRight && n.inclusiveLeft ? Fe(f.to, i) >= 0 : Fe(f.to, i) > 0) || D >= 0 && (u.marker.inclusiveRight && n.inclusiveLeft ? Fe(f.from, r) <= 0 : Fe(f.from, r) < 0)))
return !0;
}
}
}
function Ot(e) {
for (var t; t = al(e); )
e = t.find(-1, !0).line;
return e;
}
function Au(e) {
for (var t; t = zi(e); )
e = t.find(1, !0).line;
return e;
}
function Eu(e) {
for (var t, i; t = zi(e); )
e = t.find(1, !0).line, (i || (i = [])).push(e);
return i;
}
function Xn(e, t) {
var i = me(e, t), r = Ot(i);
return i == r ? t : Pe(r);
}
function ol(e, t) {
if (t > e.lastLine())
return t;
var i = me(e, t), r;
if (!ir(e, i))
return t;
for (; r = zi(i); )
i = r.find(1, !0).line;
return Pe(i) + 1;
}
function ir(e, t) {
var i = Zt && t.markedSpans;
if (i) {
for (var r = void 0, n = 0; n < i.length; ++n)
if (r = i[n], !!r.marker.collapsed) {
if (r.from == null)
return !0;
if (!r.marker.widgetNode && r.from == 0 && r.marker.inclusiveLeft && Yn(e, t, r))
return !0;
}
}
}
function Yn(e, t, i) {
if (i.to == null) {
var r = i.marker.find(1, !0);
return Yn(e, r.line, ii(r.line.markedSpans, i.marker));
}
if (i.marker.inclusiveRight && i.to == t.text.length)
return !0;
for (var n = void 0, a = 0; a < t.markedSpans.length; ++a)
if (n = t.markedSpans[a], n.marker.collapsed && !n.marker.widgetNode && n.from == i.to && (n.to == null || n.to != i.from) && (n.marker.inclusiveLeft || i.marker.inclusiveRight) && Yn(e, t, n))
return !0;
}
function Qt(e) {
e = Ot(e);
for (var t = 0, i = e.parent, r = 0; r < i.lines.length; ++r) {
var n = i.lines[r];
if (n == e)
break;
t += n.height;
}
for (var a = i.parent; a; i = a, a = i.parent)
for (var l = 0; l < a.children.length; ++l) {
var o = a.children[l];
if (o == i)
break;
t += o.height;
}
return t;
}
function Pi(e) {
if (e.height == 0)
return 0;
for (var t = e.text.length, i, r = e; i = al(r); ) {
var n = i.find(0, !0);
r = n.from.line, t += n.from.ch - n.to.ch;
}
for (r = e; i = zi(r); ) {
var a = i.find(0, !0);
t -= r.text.length - a.from.ch, r = a.to.line, t += r.text.length - a.to.ch;
}
return t;
}
function Zn(e) {
var t = e.display, i = e.doc;
t.maxLine = me(i, i.first), t.maxLineLength = Pi(t.maxLine), t.maxLineChanged = !0, i.iter(function(r) {
var n = Pi(r);
n > t.maxLineLength && (t.maxLineLength = n, t.maxLine = r);
});
}
var Nr = function(e, t, i) {
this.text = e, il(this, t), this.height = i ? i(this) : 1;
};
Nr.prototype.lineNo = function() {
return Pe(this);
}, Nt(Nr);
function Lu(e, t, i, r) {
e.text = t, e.stateAfter && (e.stateAfter = null), e.styles && (e.styles = null), e.order != null && (e.order = null), rl(e), il(e, i);
var n = r ? r(e) : 1;
n != e.height && Ut(e, n);
}
function Tu(e) {
e.parent = null, rl(e);
}
var Bu = {}, Mu = {};
function ul(e, t) {
if (!e || /^\s*$/.test(e))
return null;
var i = t.addModeClass ? Mu : Bu;
return i[e] || (i[e] = e.replace(/\S+/g, "cm-$&"));
}
function sl(e, t) {
var i = V("span", null, null, z ? "padding-right: .1px" : null), r = {
pre: V("pre", [i], "CodeMirror-line"),
content: i,
col: 0,
pos: 0,
cm: e,
trailingSpace: !1,
splitSpaces: e.getOption("lineWrapping")
};
t.measure = {};
for (var n = 0; n <= (t.rest ? t.rest.length : 0); n++) {
var a = n ? t.rest[n - 1] : t.line, l = void 0;
r.pos = 0, r.addToken = Iu, su(e.display.measure) && (l = ue(a, e.doc.direction)) && (r.addToken = Hu(r.addToken, l)), r.map = [];
var o = t != e.display.externalMeasured && Pe(a);
Ru(a, r, Ya(e, a, o)), a.styleClasses && (a.styleClasses.bgClass && (r.bgClass = Pt(a.styleClasses.bgClass, r.bgClass || "")), a.styleClasses.textClass && (r.textClass = Pt(a.styleClasses.textClass, r.textClass || ""))), r.map.length == 0 && r.map.push(0, 0, r.content.appendChild(uu(e.display.measure))), n == 0 ? (t.measure.map = r.map, t.measure.cache = {}) : ((t.measure.maps || (t.measure.maps = [])).push(r.map), (t.measure.caches || (t.measure.caches = [])).push({}));
}
if (z) {
var u = r.content.lastChild;
(/\bcm-tab\b/.test(u.className) || u.querySelector && u.querySelector(".cm-tab")) && (r.content.className = "cm-tab-wrap-hack");
}
return He(e, "renderLine", e, t.line, r.pre), r.pre.className && (r.textClass = Pt(r.pre.className, r.textClass || "")), r;
}
function Nu(e) {
var t = T("span", "•", "cm-invalidchar");
return t.title = "\\u" + e.charCodeAt(0).toString(16), t.setAttribute("aria-label", t.title), t;
}
function Iu(e, t, i, r, n, a, l) {
if (t) {
var o = e.splitSpaces ? Ou(t, e.trailingSpace) : t, u = e.cm.state.specialChars, f = !1, D;
if (!u.test(t))
e.col += t.length, D = document.createTextNode(o), e.map.push(e.pos, e.pos + t.length, D), x && A < 9 && (f = !0), e.pos += t.length;
else {
D = document.createDocumentFragment();
for (var w = 0; ; ) {
u.lastIndex = w;
var M = u.exec(t), L = M ? M.index - w : t.length - w;
if (L) {
var W = document.createTextNode(o.slice(w, w + L));
x && A < 9 ? D.appendChild(T("span", [W])) : D.appendChild(W), e.map.push(e.pos, e.pos + L, W), e.col += L, e.pos += L;
}
if (!M)
break;
w += L + 1;
var K = void 0;
if (M[0] == " ") {
var ee = e.cm.options.tabSize, ie = ee - e.col % ee;
K = D.appendChild(T("span", Wt(ie), "cm-tab")), K.setAttribute("role", "presentation"), K.setAttribute("cm-text", " "), e.col += ie;
} else
M[0] == "\r" || M[0] == `
` ? (K = D.appendChild(T("span", M[0] == "\r" ? "␍" : "", "cm-invalidchar")), K.setAttribute("cm-text", M[0]), e.col += 1) : (K = e.cm.options.specialCharPlaceholder(M[0]), K.setAttribute("cm-text", M[0]), x && A < 9 ? D.appendChild(T("span", [K])) : D.appendChild(K), e.col += 1);
e.map.push(e.pos, e.pos + 1, K), e.pos++;
}
}
if (e.trailingSpace = o.charCodeAt(t.length - 1) == 32, i || r || n || f || a || l) {
var se = i || "";
r && (se += r), n && (se += n);
var ne = T("span", [D], se, a);
if (l)
for (var he in l)
l.hasOwnProperty(he) && he != "style" && he != "class" && ne.setAttribute(he, l[he]);
return e.content.appendChild(ne);
}
e.content.appendChild(D);
}
}
function Ou(e, t) {
if (e.length > 1 && !/ /.test(e))
return e;
for (var i = t, r = "", n = 0; n < e.length; n++) {
var a = e.charAt(n);
a == " " && i && (n == e.length - 1 || e.charCodeAt(n + 1) == 32) && (a = " "), r += a, i = a == " ";
}
return r;
}
function Hu(e, t) {
return function(i, r, n, a, l, o, u) {
n = n ? n + " cm-force-border" : "cm-force-border";
for (var f = i.pos, D = f + r.length; ; ) {
for (var w = void 0, M = 0; M < t.length && (w = t[M], !(w.to > f && w.from <= f)); M++)
;
if (w.to >= D)
return e(i, r, n, a, l, o, u);
e(i, r.slice(0, w.to - f), n, a, null, o, u), a = null, r = r.slice(w.to - f), f = w.to;
}
};
}
function fl(e, t, i, r) {
var n = !r && i.widgetNode;
n && e.map.push(e.pos, e.pos + t, n), !r && e.cm.display.input.needsContentAttribute && (n || (n = e.content.appendChild(document.createElement("span"))), n.setAttribute("cm-marker", i.id)), n && (e.cm.display.input.setUneditable(n), e.content.appendChild(n)), e.pos += t, e.trailingSpace = !1;
}
function Ru(e, t, i) {
var r = e.markedSpans, n = e.text, a = 0;
if (!r) {
for (var l = 1; l < i.length; l += 2)
t.addToken(t, n.slice(a, a = i[l]), ul(i[l + 1], t.cm.options));
return;
}
for (var o = n.length, u = 0, f = 1, D = "", w, M, L = 0, W, K, ee, ie, se; ; ) {
if (L == u) {
W = K = ee = M = "", se = null, ie = null, L = 1 / 0;
for (var ne = [], he = void 0, be = 0; be < r.length; ++be) {
var xe = r[be], Te = xe.marker;
if (Te.type == "bookmark" && xe.from == u && Te.widgetNode)
ne.push(Te);
else if (xe.from <= u && (xe.to == null || xe.to > u || Te.collapsed && xe.to == u && xe.from == u)) {
if (xe.to != null && xe.to != u && L > xe.to && (L = xe.to, K = ""), Te.className && (W += " " + Te.className), Te.css && (M = (M ? M + ";" : "") + Te.css), Te.startStyle && xe.from == u && (ee += " " + Te.startStyle), Te.endStyle && xe.to == L && (he || (he = [])).push(Te.endStyle, xe.to), Te.title && ((se || (se = {})).title = Te.title), Te.attributes)
for (var Ue in Te.attributes)
(se || (se = {}))[Ue] = Te.attributes[Ue];
Te.collapsed && (!ie || Kn(ie.marker, Te) < 0) && (ie = xe);
} else
xe.from > u && L > xe.from && (L = xe.from);
}
if (he)
for (var ft = 0; ft < he.length; ft += 2)
he[ft + 1] == L && (K += " " + he[ft]);
if (!ie || ie.from == u)
for (var Ze = 0; Ze < ne.length; ++Ze)
fl(t, 0, ne[Ze]);
if (ie && (ie.from || 0) == u) {
if (fl(
t,
(ie.to == null ? o + 1 : ie.to) - u,
ie.marker,
ie.from == null
), ie.to == null)
return;
ie.to == u && (ie = !1);
}
}
if (u >= o)
break;
for (var Ft = Math.min(o, L); ; ) {
if (D) {
var Ct = u + D.length;
if (!ie) {
var rt = Ct > Ft ? D.slice(0, Ft - u) : D;
t.addToken(
t,
rt,
w ? w + W : W,
ee,
u + rt.length == L ? K : "",
M,
se
);
}
if (Ct >= Ft) {
D = D.slice(Ft - u), u = Ft;
break;
}
u = Ct, ee = "";
}
D = n.slice(a, a = i[f++]), w = ul(i[f++], t.cm.options);
}
}
}
function cl(e,