diff --git "a/src/backend/gradio_tokenizertextbox/templates/component/mermaid.core-CfPtPiLZ.js" "b/src/backend/gradio_tokenizertextbox/templates/component/mermaid.core-CfPtPiLZ.js"
new file mode 100644--- /dev/null
+++ "b/src/backend/gradio_tokenizertextbox/templates/component/mermaid.core-CfPtPiLZ.js"
@@ -0,0 +1,15481 @@
+var zm = Object.defineProperty;
+var Wm = (e, t, r) => t in e ? zm(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
+var gt = (e, t, r) => Wm(e, typeof t != "symbol" ? t + "" : t, r);
+import { g as qm, c as Hm } from "./Index-DiS7y4tI.js";
+var gh = { exports: {} };
+(function(e, t) {
+ (function(r, i) {
+ e.exports = i();
+ })(Hm, function() {
+ var r = 1e3, i = 6e4, n = 36e5, a = "millisecond", o = "second", s = "minute", l = "hour", c = "day", h = "week", u = "month", f = "quarter", p = "year", g = "date", m = "Invalid Date", y = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, x = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, b = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(L) {
+ var M = ["th", "st", "nd", "rd"], B = L % 100;
+ return "[" + L + (M[(B - 20) % 10] || M[B] || M[0]) + "]";
+ } }, C = function(L, M, B) {
+ var F = String(L);
+ return !F || F.length >= M ? L : "" + Array(M + 1 - F.length).join(B) + L;
+ }, k = { s: C, z: function(L) {
+ var M = -L.utcOffset(), B = Math.abs(M), F = Math.floor(B / 60), A = B % 60;
+ return (M <= 0 ? "+" : "-") + C(F, 2, "0") + ":" + C(A, 2, "0");
+ }, m: function L(M, B) {
+ if (M.date() < B.date()) return -L(B, M);
+ var F = 12 * (B.year() - M.year()) + (B.month() - M.month()), A = M.clone().add(F, u), W = B - A < 0, X = M.clone().add(F + (W ? -1 : 1), u);
+ return +(-(F + (B - A) / (W ? A - X : X - A)) || 0);
+ }, a: function(L) {
+ return L < 0 ? Math.ceil(L) || 0 : Math.floor(L);
+ }, p: function(L) {
+ return { M: u, y: p, w: h, d: c, D: g, h: l, m: s, s: o, ms: a, Q: f }[L] || String(L || "").toLowerCase().replace(/s$/, "");
+ }, u: function(L) {
+ return L === void 0;
+ } }, v = "en", _ = {};
+ _[v] = b;
+ var S = "$isDayjsObject", R = function(L) {
+ return L instanceof z || !(!L || !L[S]);
+ }, P = function L(M, B, F) {
+ var A;
+ if (!M) return v;
+ if (typeof M == "string") {
+ var W = M.toLowerCase();
+ _[W] && (A = W), B && (_[W] = B, A = W);
+ var X = M.split("-");
+ if (!A && X.length > 1) return L(X[0]);
+ } else {
+ var Y = M.name;
+ _[Y] = M, A = Y;
+ }
+ return !F && A && (v = A), A || !F && v;
+ }, O = function(L, M) {
+ if (R(L)) return L.clone();
+ var B = typeof M == "object" ? M : {};
+ return B.date = L, B.args = arguments, new z(B);
+ }, E = k;
+ E.l = P, E.i = R, E.w = function(L, M) {
+ return O(L, { locale: M.$L, utc: M.$u, x: M.$x, $offset: M.$offset });
+ };
+ var z = function() {
+ function L(B) {
+ this.$L = P(B.locale, null, !0), this.parse(B), this.$x = this.$x || B.x || {}, this[S] = !0;
+ }
+ var M = L.prototype;
+ return M.parse = function(B) {
+ this.$d = function(F) {
+ var A = F.date, W = F.utc;
+ if (A === null) return /* @__PURE__ */ new Date(NaN);
+ if (E.u(A)) return /* @__PURE__ */ new Date();
+ if (A instanceof Date) return new Date(A);
+ if (typeof A == "string" && !/Z$/i.test(A)) {
+ var X = A.match(y);
+ if (X) {
+ var Y = X[2] - 1 || 0, dt = (X[7] || "0").substring(0, 3);
+ return W ? new Date(Date.UTC(X[1], Y, X[3] || 1, X[4] || 0, X[5] || 0, X[6] || 0, dt)) : new Date(X[1], Y, X[3] || 1, X[4] || 0, X[5] || 0, X[6] || 0, dt);
+ }
+ }
+ return new Date(A);
+ }(B), this.init();
+ }, M.init = function() {
+ var B = this.$d;
+ this.$y = B.getFullYear(), this.$M = B.getMonth(), this.$D = B.getDate(), this.$W = B.getDay(), this.$H = B.getHours(), this.$m = B.getMinutes(), this.$s = B.getSeconds(), this.$ms = B.getMilliseconds();
+ }, M.$utils = function() {
+ return E;
+ }, M.isValid = function() {
+ return this.$d.toString() !== m;
+ }, M.isSame = function(B, F) {
+ var A = O(B);
+ return this.startOf(F) <= A && A <= this.endOf(F);
+ }, M.isAfter = function(B, F) {
+ return O(B) < this.startOf(F);
+ }, M.isBefore = function(B, F) {
+ return this.endOf(F) < O(B);
+ }, M.$g = function(B, F, A) {
+ return E.u(B) ? this[F] : this.set(A, B);
+ }, M.unix = function() {
+ return Math.floor(this.valueOf() / 1e3);
+ }, M.valueOf = function() {
+ return this.$d.getTime();
+ }, M.startOf = function(B, F) {
+ var A = this, W = !!E.u(F) || F, X = E.p(B), Y = function(mt, yt) {
+ var kt = E.w(A.$u ? Date.UTC(A.$y, yt, mt) : new Date(A.$y, yt, mt), A);
+ return W ? kt : kt.endOf(c);
+ }, dt = function(mt, yt) {
+ return E.w(A.toDate()[mt].apply(A.toDate("s"), (W ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(yt)), A);
+ }, at = this.$W, wt = this.$M, st = this.$D, nt = "set" + (this.$u ? "UTC" : "");
+ switch (X) {
+ case p:
+ return W ? Y(1, 0) : Y(31, 11);
+ case u:
+ return W ? Y(1, wt) : Y(0, wt + 1);
+ case h:
+ var lt = this.$locale().weekStart || 0, Ct = (at < lt ? at + 7 : at) - lt;
+ return Y(W ? st - Ct : st + (6 - Ct), wt);
+ case c:
+ case g:
+ return dt(nt + "Hours", 0);
+ case l:
+ return dt(nt + "Minutes", 1);
+ case s:
+ return dt(nt + "Seconds", 2);
+ case o:
+ return dt(nt + "Milliseconds", 3);
+ default:
+ return this.clone();
+ }
+ }, M.endOf = function(B) {
+ return this.startOf(B, !1);
+ }, M.$set = function(B, F) {
+ var A, W = E.p(B), X = "set" + (this.$u ? "UTC" : ""), Y = (A = {}, A[c] = X + "Date", A[g] = X + "Date", A[u] = X + "Month", A[p] = X + "FullYear", A[l] = X + "Hours", A[s] = X + "Minutes", A[o] = X + "Seconds", A[a] = X + "Milliseconds", A)[W], dt = W === c ? this.$D + (F - this.$W) : F;
+ if (W === u || W === p) {
+ var at = this.clone().set(g, 1);
+ at.$d[Y](dt), at.init(), this.$d = at.set(g, Math.min(this.$D, at.daysInMonth())).$d;
+ } else Y && this.$d[Y](dt);
+ return this.init(), this;
+ }, M.set = function(B, F) {
+ return this.clone().$set(B, F);
+ }, M.get = function(B) {
+ return this[E.p(B)]();
+ }, M.add = function(B, F) {
+ var A, W = this;
+ B = Number(B);
+ var X = E.p(F), Y = function(wt) {
+ var st = O(W);
+ return E.w(st.date(st.date() + Math.round(wt * B)), W);
+ };
+ if (X === u) return this.set(u, this.$M + B);
+ if (X === p) return this.set(p, this.$y + B);
+ if (X === c) return Y(1);
+ if (X === h) return Y(7);
+ var dt = (A = {}, A[s] = i, A[l] = n, A[o] = r, A)[X] || 1, at = this.$d.getTime() + B * dt;
+ return E.w(at, this);
+ }, M.subtract = function(B, F) {
+ return this.add(-1 * B, F);
+ }, M.format = function(B) {
+ var F = this, A = this.$locale();
+ if (!this.isValid()) return A.invalidDate || m;
+ var W = B || "YYYY-MM-DDTHH:mm:ssZ", X = E.z(this), Y = this.$H, dt = this.$m, at = this.$M, wt = A.weekdays, st = A.months, nt = A.meridiem, lt = function(yt, kt, zt, pe) {
+ return yt && (yt[kt] || yt(F, W)) || zt[kt].slice(0, pe);
+ }, Ct = function(yt) {
+ return E.s(Y % 12 || 12, yt, "0");
+ }, mt = nt || function(yt, kt, zt) {
+ var pe = yt < 12 ? "AM" : "PM";
+ return zt ? pe.toLowerCase() : pe;
+ };
+ return W.replace(x, function(yt, kt) {
+ return kt || function(zt) {
+ switch (zt) {
+ case "YY":
+ return String(F.$y).slice(-2);
+ case "YYYY":
+ return E.s(F.$y, 4, "0");
+ case "M":
+ return at + 1;
+ case "MM":
+ return E.s(at + 1, 2, "0");
+ case "MMM":
+ return lt(A.monthsShort, at, st, 3);
+ case "MMMM":
+ return lt(st, at);
+ case "D":
+ return F.$D;
+ case "DD":
+ return E.s(F.$D, 2, "0");
+ case "d":
+ return String(F.$W);
+ case "dd":
+ return lt(A.weekdaysMin, F.$W, wt, 2);
+ case "ddd":
+ return lt(A.weekdaysShort, F.$W, wt, 3);
+ case "dddd":
+ return wt[F.$W];
+ case "H":
+ return String(Y);
+ case "HH":
+ return E.s(Y, 2, "0");
+ case "h":
+ return Ct(1);
+ case "hh":
+ return Ct(2);
+ case "a":
+ return mt(Y, dt, !0);
+ case "A":
+ return mt(Y, dt, !1);
+ case "m":
+ return String(dt);
+ case "mm":
+ return E.s(dt, 2, "0");
+ case "s":
+ return String(F.$s);
+ case "ss":
+ return E.s(F.$s, 2, "0");
+ case "SSS":
+ return E.s(F.$ms, 3, "0");
+ case "Z":
+ return X;
+ }
+ return null;
+ }(yt) || X.replace(":", "");
+ });
+ }, M.utcOffset = function() {
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
+ }, M.diff = function(B, F, A) {
+ var W, X = this, Y = E.p(F), dt = O(B), at = (dt.utcOffset() - this.utcOffset()) * i, wt = this - dt, st = function() {
+ return E.m(X, dt);
+ };
+ switch (Y) {
+ case p:
+ W = st() / 12;
+ break;
+ case u:
+ W = st();
+ break;
+ case f:
+ W = st() / 3;
+ break;
+ case h:
+ W = (wt - at) / 6048e5;
+ break;
+ case c:
+ W = (wt - at) / 864e5;
+ break;
+ case l:
+ W = wt / n;
+ break;
+ case s:
+ W = wt / i;
+ break;
+ case o:
+ W = wt / r;
+ break;
+ default:
+ W = wt;
+ }
+ return A ? W : E.a(W);
+ }, M.daysInMonth = function() {
+ return this.endOf(u).$D;
+ }, M.$locale = function() {
+ return _[this.$L];
+ }, M.locale = function(B, F) {
+ if (!B) return this.$L;
+ var A = this.clone(), W = P(B, F, !0);
+ return W && (A.$L = W), A;
+ }, M.clone = function() {
+ return E.w(this.$d, this);
+ }, M.toDate = function() {
+ return new Date(this.valueOf());
+ }, M.toJSON = function() {
+ return this.isValid() ? this.toISOString() : null;
+ }, M.toISOString = function() {
+ return this.$d.toISOString();
+ }, M.toString = function() {
+ return this.$d.toUTCString();
+ }, L;
+ }(), D = z.prototype;
+ return O.prototype = D, [["$ms", a], ["$s", o], ["$m", s], ["$H", l], ["$W", c], ["$M", u], ["$y", p], ["$D", g]].forEach(function(L) {
+ D[L[1]] = function(M) {
+ return this.$g(M, L[0], L[1]);
+ };
+ }), O.extend = function(L, M) {
+ return L.$i || (L(M, z, O), L.$i = !0), O;
+ }, O.locale = P, O.isDayjs = R, O.unix = function(L) {
+ return O(1e3 * L);
+ }, O.en = _[v], O.Ls = _, O.p = {}, O;
+ });
+})(gh);
+var jm = gh.exports;
+const Ym = /* @__PURE__ */ qm(jm), _n = {
+ /* CLAMP */
+ min: {
+ r: 0,
+ g: 0,
+ b: 0,
+ s: 0,
+ l: 0,
+ a: 0
+ },
+ max: {
+ r: 255,
+ g: 255,
+ b: 255,
+ h: 360,
+ s: 100,
+ l: 100,
+ a: 1
+ },
+ clamp: {
+ r: (e) => e >= 255 ? 255 : e < 0 ? 0 : e,
+ g: (e) => e >= 255 ? 255 : e < 0 ? 0 : e,
+ b: (e) => e >= 255 ? 255 : e < 0 ? 0 : e,
+ h: (e) => e % 360,
+ s: (e) => e >= 100 ? 100 : e < 0 ? 0 : e,
+ l: (e) => e >= 100 ? 100 : e < 0 ? 0 : e,
+ a: (e) => e >= 1 ? 1 : e < 0 ? 0 : e
+ },
+ /* CONVERSION */
+ //SOURCE: https://planetcalc.com/7779
+ toLinear: (e) => {
+ const t = e / 255;
+ return e > 0.03928 ? Math.pow((t + 0.055) / 1.055, 2.4) : t / 12.92;
+ },
+ //SOURCE: https://gist.github.com/mjackson/5311256
+ hue2rgb: (e, t, r) => (r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e),
+ hsl2rgb: ({ h: e, s: t, l: r }, i) => {
+ if (!t)
+ return r * 2.55;
+ e /= 360, t /= 100, r /= 100;
+ const n = r < 0.5 ? r * (1 + t) : r + t - r * t, a = 2 * r - n;
+ switch (i) {
+ case "r":
+ return _n.hue2rgb(a, n, e + 1 / 3) * 255;
+ case "g":
+ return _n.hue2rgb(a, n, e) * 255;
+ case "b":
+ return _n.hue2rgb(a, n, e - 1 / 3) * 255;
+ }
+ },
+ rgb2hsl: ({ r: e, g: t, b: r }, i) => {
+ e /= 255, t /= 255, r /= 255;
+ const n = Math.max(e, t, r), a = Math.min(e, t, r), o = (n + a) / 2;
+ if (i === "l")
+ return o * 100;
+ if (n === a)
+ return 0;
+ const s = n - a, l = o > 0.5 ? s / (2 - n - a) : s / (n + a);
+ if (i === "s")
+ return l * 100;
+ switch (n) {
+ case e:
+ return ((t - r) / s + (t < r ? 6 : 0)) * 60;
+ case t:
+ return ((r - e) / s + 2) * 60;
+ case r:
+ return ((e - t) / s + 4) * 60;
+ default:
+ return -1;
+ }
+ }
+}, Um = {
+ /* API */
+ clamp: (e, t, r) => t > r ? Math.min(t, Math.max(r, e)) : Math.min(r, Math.max(t, e)),
+ round: (e) => Math.round(e * 1e10) / 1e10
+}, Gm = {
+ /* API */
+ dec2hex: (e) => {
+ const t = Math.round(e).toString(16);
+ return t.length > 1 ? t : `0${t}`;
+ }
+}, rt = {
+ channel: _n,
+ lang: Um,
+ unit: Gm
+}, qe = {};
+for (let e = 0; e <= 255; e++)
+ qe[e] = rt.unit.dec2hex(e);
+const Rt = {
+ ALL: 0,
+ RGB: 1,
+ HSL: 2
+};
+class Xm {
+ constructor() {
+ this.type = Rt.ALL;
+ }
+ /* API */
+ get() {
+ return this.type;
+ }
+ set(t) {
+ if (this.type && this.type !== t)
+ throw new Error("Cannot change both RGB and HSL channels at the same time");
+ this.type = t;
+ }
+ reset() {
+ this.type = Rt.ALL;
+ }
+ is(t) {
+ return this.type === t;
+ }
+}
+class Vm {
+ /* CONSTRUCTOR */
+ constructor(t, r) {
+ this.color = r, this.changed = !1, this.data = t, this.type = new Xm();
+ }
+ /* API */
+ set(t, r) {
+ return this.color = r, this.changed = !1, this.data = t, this.type.type = Rt.ALL, this;
+ }
+ /* HELPERS */
+ _ensureHSL() {
+ const t = this.data, { h: r, s: i, l: n } = t;
+ r === void 0 && (t.h = rt.channel.rgb2hsl(t, "h")), i === void 0 && (t.s = rt.channel.rgb2hsl(t, "s")), n === void 0 && (t.l = rt.channel.rgb2hsl(t, "l"));
+ }
+ _ensureRGB() {
+ const t = this.data, { r, g: i, b: n } = t;
+ r === void 0 && (t.r = rt.channel.hsl2rgb(t, "r")), i === void 0 && (t.g = rt.channel.hsl2rgb(t, "g")), n === void 0 && (t.b = rt.channel.hsl2rgb(t, "b"));
+ }
+ /* GETTERS */
+ get r() {
+ const t = this.data, r = t.r;
+ return !this.type.is(Rt.HSL) && r !== void 0 ? r : (this._ensureHSL(), rt.channel.hsl2rgb(t, "r"));
+ }
+ get g() {
+ const t = this.data, r = t.g;
+ return !this.type.is(Rt.HSL) && r !== void 0 ? r : (this._ensureHSL(), rt.channel.hsl2rgb(t, "g"));
+ }
+ get b() {
+ const t = this.data, r = t.b;
+ return !this.type.is(Rt.HSL) && r !== void 0 ? r : (this._ensureHSL(), rt.channel.hsl2rgb(t, "b"));
+ }
+ get h() {
+ const t = this.data, r = t.h;
+ return !this.type.is(Rt.RGB) && r !== void 0 ? r : (this._ensureRGB(), rt.channel.rgb2hsl(t, "h"));
+ }
+ get s() {
+ const t = this.data, r = t.s;
+ return !this.type.is(Rt.RGB) && r !== void 0 ? r : (this._ensureRGB(), rt.channel.rgb2hsl(t, "s"));
+ }
+ get l() {
+ const t = this.data, r = t.l;
+ return !this.type.is(Rt.RGB) && r !== void 0 ? r : (this._ensureRGB(), rt.channel.rgb2hsl(t, "l"));
+ }
+ get a() {
+ return this.data.a;
+ }
+ /* SETTERS */
+ set r(t) {
+ this.type.set(Rt.RGB), this.changed = !0, this.data.r = t;
+ }
+ set g(t) {
+ this.type.set(Rt.RGB), this.changed = !0, this.data.g = t;
+ }
+ set b(t) {
+ this.type.set(Rt.RGB), this.changed = !0, this.data.b = t;
+ }
+ set h(t) {
+ this.type.set(Rt.HSL), this.changed = !0, this.data.h = t;
+ }
+ set s(t) {
+ this.type.set(Rt.HSL), this.changed = !0, this.data.s = t;
+ }
+ set l(t) {
+ this.type.set(Rt.HSL), this.changed = !0, this.data.l = t;
+ }
+ set a(t) {
+ this.changed = !0, this.data.a = t;
+ }
+}
+const ma = new Vm({ r: 0, g: 0, b: 0, a: 0 }, "transparent"), Er = {
+ /* VARIABLES */
+ re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,
+ /* API */
+ parse: (e) => {
+ if (e.charCodeAt(0) !== 35)
+ return;
+ const t = e.match(Er.re);
+ if (!t)
+ return;
+ const r = t[1], i = parseInt(r, 16), n = r.length, a = n % 4 === 0, o = n > 4, s = o ? 1 : 17, l = o ? 8 : 4, c = a ? 0 : -1, h = o ? 255 : 15;
+ return ma.set({
+ r: (i >> l * (c + 3) & h) * s,
+ g: (i >> l * (c + 2) & h) * s,
+ b: (i >> l * (c + 1) & h) * s,
+ a: a ? (i & h) * s / 255 : 1
+ }, e);
+ },
+ stringify: (e) => {
+ const { r: t, g: r, b: i, a: n } = e;
+ return n < 1 ? `#${qe[Math.round(t)]}${qe[Math.round(r)]}${qe[Math.round(i)]}${qe[Math.round(n * 255)]}` : `#${qe[Math.round(t)]}${qe[Math.round(r)]}${qe[Math.round(i)]}`;
+ }
+}, rr = {
+ /* VARIABLES */
+ re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,
+ hueRe: /^(.+?)(deg|grad|rad|turn)$/i,
+ /* HELPERS */
+ _hue2deg: (e) => {
+ const t = e.match(rr.hueRe);
+ if (t) {
+ const [, r, i] = t;
+ switch (i) {
+ case "grad":
+ return rt.channel.clamp.h(parseFloat(r) * 0.9);
+ case "rad":
+ return rt.channel.clamp.h(parseFloat(r) * 180 / Math.PI);
+ case "turn":
+ return rt.channel.clamp.h(parseFloat(r) * 360);
+ }
+ }
+ return rt.channel.clamp.h(parseFloat(e));
+ },
+ /* API */
+ parse: (e) => {
+ const t = e.charCodeAt(0);
+ if (t !== 104 && t !== 72)
+ return;
+ const r = e.match(rr.re);
+ if (!r)
+ return;
+ const [, i, n, a, o, s] = r;
+ return ma.set({
+ h: rr._hue2deg(i),
+ s: rt.channel.clamp.s(parseFloat(n)),
+ l: rt.channel.clamp.l(parseFloat(a)),
+ a: o ? rt.channel.clamp.a(s ? parseFloat(o) / 100 : parseFloat(o)) : 1
+ }, e);
+ },
+ stringify: (e) => {
+ const { h: t, s: r, l: i, a: n } = e;
+ return n < 1 ? `hsla(${rt.lang.round(t)}, ${rt.lang.round(r)}%, ${rt.lang.round(i)}%, ${n})` : `hsl(${rt.lang.round(t)}, ${rt.lang.round(r)}%, ${rt.lang.round(i)}%)`;
+ }
+}, Bi = {
+ /* VARIABLES */
+ colors: {
+ aliceblue: "#f0f8ff",
+ antiquewhite: "#faebd7",
+ aqua: "#00ffff",
+ aquamarine: "#7fffd4",
+ azure: "#f0ffff",
+ beige: "#f5f5dc",
+ bisque: "#ffe4c4",
+ black: "#000000",
+ blanchedalmond: "#ffebcd",
+ blue: "#0000ff",
+ blueviolet: "#8a2be2",
+ brown: "#a52a2a",
+ burlywood: "#deb887",
+ cadetblue: "#5f9ea0",
+ chartreuse: "#7fff00",
+ chocolate: "#d2691e",
+ coral: "#ff7f50",
+ cornflowerblue: "#6495ed",
+ cornsilk: "#fff8dc",
+ crimson: "#dc143c",
+ cyanaqua: "#00ffff",
+ darkblue: "#00008b",
+ darkcyan: "#008b8b",
+ darkgoldenrod: "#b8860b",
+ darkgray: "#a9a9a9",
+ darkgreen: "#006400",
+ darkgrey: "#a9a9a9",
+ darkkhaki: "#bdb76b",
+ darkmagenta: "#8b008b",
+ darkolivegreen: "#556b2f",
+ darkorange: "#ff8c00",
+ darkorchid: "#9932cc",
+ darkred: "#8b0000",
+ darksalmon: "#e9967a",
+ darkseagreen: "#8fbc8f",
+ darkslateblue: "#483d8b",
+ darkslategray: "#2f4f4f",
+ darkslategrey: "#2f4f4f",
+ darkturquoise: "#00ced1",
+ darkviolet: "#9400d3",
+ deeppink: "#ff1493",
+ deepskyblue: "#00bfff",
+ dimgray: "#696969",
+ dimgrey: "#696969",
+ dodgerblue: "#1e90ff",
+ firebrick: "#b22222",
+ floralwhite: "#fffaf0",
+ forestgreen: "#228b22",
+ fuchsia: "#ff00ff",
+ gainsboro: "#dcdcdc",
+ ghostwhite: "#f8f8ff",
+ gold: "#ffd700",
+ goldenrod: "#daa520",
+ gray: "#808080",
+ green: "#008000",
+ greenyellow: "#adff2f",
+ grey: "#808080",
+ honeydew: "#f0fff0",
+ hotpink: "#ff69b4",
+ indianred: "#cd5c5c",
+ indigo: "#4b0082",
+ ivory: "#fffff0",
+ khaki: "#f0e68c",
+ lavender: "#e6e6fa",
+ lavenderblush: "#fff0f5",
+ lawngreen: "#7cfc00",
+ lemonchiffon: "#fffacd",
+ lightblue: "#add8e6",
+ lightcoral: "#f08080",
+ lightcyan: "#e0ffff",
+ lightgoldenrodyellow: "#fafad2",
+ lightgray: "#d3d3d3",
+ lightgreen: "#90ee90",
+ lightgrey: "#d3d3d3",
+ lightpink: "#ffb6c1",
+ lightsalmon: "#ffa07a",
+ lightseagreen: "#20b2aa",
+ lightskyblue: "#87cefa",
+ lightslategray: "#778899",
+ lightslategrey: "#778899",
+ lightsteelblue: "#b0c4de",
+ lightyellow: "#ffffe0",
+ lime: "#00ff00",
+ limegreen: "#32cd32",
+ linen: "#faf0e6",
+ magenta: "#ff00ff",
+ maroon: "#800000",
+ mediumaquamarine: "#66cdaa",
+ mediumblue: "#0000cd",
+ mediumorchid: "#ba55d3",
+ mediumpurple: "#9370db",
+ mediumseagreen: "#3cb371",
+ mediumslateblue: "#7b68ee",
+ mediumspringgreen: "#00fa9a",
+ mediumturquoise: "#48d1cc",
+ mediumvioletred: "#c71585",
+ midnightblue: "#191970",
+ mintcream: "#f5fffa",
+ mistyrose: "#ffe4e1",
+ moccasin: "#ffe4b5",
+ navajowhite: "#ffdead",
+ navy: "#000080",
+ oldlace: "#fdf5e6",
+ olive: "#808000",
+ olivedrab: "#6b8e23",
+ orange: "#ffa500",
+ orangered: "#ff4500",
+ orchid: "#da70d6",
+ palegoldenrod: "#eee8aa",
+ palegreen: "#98fb98",
+ paleturquoise: "#afeeee",
+ palevioletred: "#db7093",
+ papayawhip: "#ffefd5",
+ peachpuff: "#ffdab9",
+ peru: "#cd853f",
+ pink: "#ffc0cb",
+ plum: "#dda0dd",
+ powderblue: "#b0e0e6",
+ purple: "#800080",
+ rebeccapurple: "#663399",
+ red: "#ff0000",
+ rosybrown: "#bc8f8f",
+ royalblue: "#4169e1",
+ saddlebrown: "#8b4513",
+ salmon: "#fa8072",
+ sandybrown: "#f4a460",
+ seagreen: "#2e8b57",
+ seashell: "#fff5ee",
+ sienna: "#a0522d",
+ silver: "#c0c0c0",
+ skyblue: "#87ceeb",
+ slateblue: "#6a5acd",
+ slategray: "#708090",
+ slategrey: "#708090",
+ snow: "#fffafa",
+ springgreen: "#00ff7f",
+ tan: "#d2b48c",
+ teal: "#008080",
+ thistle: "#d8bfd8",
+ transparent: "#00000000",
+ turquoise: "#40e0d0",
+ violet: "#ee82ee",
+ wheat: "#f5deb3",
+ white: "#ffffff",
+ whitesmoke: "#f5f5f5",
+ yellow: "#ffff00",
+ yellowgreen: "#9acd32"
+ },
+ /* API */
+ parse: (e) => {
+ e = e.toLowerCase();
+ const t = Bi.colors[e];
+ if (t)
+ return Er.parse(t);
+ },
+ stringify: (e) => {
+ const t = Er.stringify(e);
+ for (const r in Bi.colors)
+ if (Bi.colors[r] === t)
+ return r;
+ }
+}, _i = {
+ /* VARIABLES */
+ re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,
+ /* API */
+ parse: (e) => {
+ const t = e.charCodeAt(0);
+ if (t !== 114 && t !== 82)
+ return;
+ const r = e.match(_i.re);
+ if (!r)
+ return;
+ const [, i, n, a, o, s, l, c, h] = r;
+ return ma.set({
+ r: rt.channel.clamp.r(n ? parseFloat(i) * 2.55 : parseFloat(i)),
+ g: rt.channel.clamp.g(o ? parseFloat(a) * 2.55 : parseFloat(a)),
+ b: rt.channel.clamp.b(l ? parseFloat(s) * 2.55 : parseFloat(s)),
+ a: c ? rt.channel.clamp.a(h ? parseFloat(c) / 100 : parseFloat(c)) : 1
+ }, e);
+ },
+ stringify: (e) => {
+ const { r: t, g: r, b: i, a: n } = e;
+ return n < 1 ? `rgba(${rt.lang.round(t)}, ${rt.lang.round(r)}, ${rt.lang.round(i)}, ${rt.lang.round(n)})` : `rgb(${rt.lang.round(t)}, ${rt.lang.round(r)}, ${rt.lang.round(i)})`;
+ }
+}, Ce = {
+ /* VARIABLES */
+ format: {
+ keyword: Bi,
+ hex: Er,
+ rgb: _i,
+ rgba: _i,
+ hsl: rr,
+ hsla: rr
+ },
+ /* API */
+ parse: (e) => {
+ if (typeof e != "string")
+ return e;
+ const t = Er.parse(e) || _i.parse(e) || rr.parse(e) || Bi.parse(e);
+ if (t)
+ return t;
+ throw new Error(`Unsupported color format: "${e}"`);
+ },
+ stringify: (e) => !e.changed && e.color ? e.color : e.type.is(Rt.HSL) || e.data.r === void 0 ? rr.stringify(e) : e.a < 1 || !Number.isInteger(e.r) || !Number.isInteger(e.g) || !Number.isInteger(e.b) ? _i.stringify(e) : Er.stringify(e)
+}, mh = (e, t) => {
+ const r = Ce.parse(e);
+ for (const i in t)
+ r[i] = rt.channel.clamp[i](t[i]);
+ return Ce.stringify(r);
+}, Li = (e, t, r = 0, i = 1) => {
+ if (typeof e != "number")
+ return mh(e, { a: t });
+ const n = ma.set({
+ r: rt.channel.clamp.r(e),
+ g: rt.channel.clamp.g(t),
+ b: rt.channel.clamp.b(r),
+ a: rt.channel.clamp.a(i)
+ });
+ return Ce.stringify(n);
+}, Zm = (e) => {
+ const { r: t, g: r, b: i } = Ce.parse(e), n = 0.2126 * rt.channel.toLinear(t) + 0.7152 * rt.channel.toLinear(r) + 0.0722 * rt.channel.toLinear(i);
+ return rt.lang.round(n);
+}, Km = (e) => Zm(e) >= 0.5, Yi = (e) => !Km(e), yh = (e, t, r) => {
+ const i = Ce.parse(e), n = i[t], a = rt.channel.clamp[t](n + r);
+ return n !== a && (i[t] = a), Ce.stringify(i);
+}, q = (e, t) => yh(e, "l", t), J = (e, t) => yh(e, "l", -t), T = (e, t) => {
+ const r = Ce.parse(e), i = {};
+ for (const n in t)
+ t[n] && (i[n] = r[n] + t[n]);
+ return mh(e, i);
+}, Qm = (e, t, r = 50) => {
+ const { r: i, g: n, b: a, a: o } = Ce.parse(e), { r: s, g: l, b: c, a: h } = Ce.parse(t), u = r / 100, f = u * 2 - 1, p = o - h, m = ((f * p === -1 ? f : (f + p) / (1 + f * p)) + 1) / 2, y = 1 - m, x = i * m + s * y, b = n * m + l * y, C = a * m + c * y, k = o * u + h * (1 - u);
+ return Li(x, b, C, k);
+}, N = (e, t = 100) => {
+ const r = Ce.parse(e);
+ return r.r = 255 - r.r, r.g = 255 - r.g, r.b = 255 - r.b, Qm(r, e, t);
+};
+/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
+const {
+ entries: xh,
+ setPrototypeOf: Il,
+ isFrozen: Jm,
+ getPrototypeOf: t0,
+ getOwnPropertyDescriptor: e0
+} = Object;
+let {
+ freeze: Ut,
+ seal: ae,
+ create: bh
+} = Object, {
+ apply: bs,
+ construct: _s
+} = typeof Reflect < "u" && Reflect;
+Ut || (Ut = function(t) {
+ return t;
+});
+ae || (ae = function(t) {
+ return t;
+});
+bs || (bs = function(t, r, i) {
+ return t.apply(r, i);
+});
+_s || (_s = function(t, r) {
+ return new t(...r);
+});
+const cn = Gt(Array.prototype.forEach), r0 = Gt(Array.prototype.lastIndexOf), Pl = Gt(Array.prototype.pop), li = Gt(Array.prototype.push), i0 = Gt(Array.prototype.splice), Cn = Gt(String.prototype.toLowerCase), Qa = Gt(String.prototype.toString), Nl = Gt(String.prototype.match), ci = Gt(String.prototype.replace), n0 = Gt(String.prototype.indexOf), a0 = Gt(String.prototype.trim), le = Gt(Object.prototype.hasOwnProperty), Wt = Gt(RegExp.prototype.test), hi = s0(TypeError);
+function Gt(e) {
+ return function(t) {
+ t instanceof RegExp && (t.lastIndex = 0);
+ for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++)
+ i[n - 1] = arguments[n];
+ return bs(e, t, i);
+ };
+}
+function s0(e) {
+ return function() {
+ for (var t = arguments.length, r = new Array(t), i = 0; i < t; i++)
+ r[i] = arguments[i];
+ return _s(e, r);
+ };
+}
+function ot(e, t) {
+ let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Cn;
+ Il && Il(e, null);
+ let i = t.length;
+ for (; i--; ) {
+ let n = t[i];
+ if (typeof n == "string") {
+ const a = r(n);
+ a !== n && (Jm(t) || (t[i] = a), n = a);
+ }
+ e[n] = !0;
+ }
+ return e;
+}
+function o0(e) {
+ for (let t = 0; t < e.length; t++)
+ le(e, t) || (e[t] = null);
+ return e;
+}
+function Me(e) {
+ const t = bh(null);
+ for (const [r, i] of xh(e))
+ le(e, r) && (Array.isArray(i) ? t[r] = o0(i) : i && typeof i == "object" && i.constructor === Object ? t[r] = Me(i) : t[r] = i);
+ return t;
+}
+function ui(e, t) {
+ for (; e !== null; ) {
+ const i = e0(e, t);
+ if (i) {
+ if (i.get)
+ return Gt(i.get);
+ if (typeof i.value == "function")
+ return Gt(i.value);
+ }
+ e = t0(e);
+ }
+ function r() {
+ return null;
+ }
+ return r;
+}
+const zl = Ut(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), Ja = Ut(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), ts = Ut(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), l0 = Ut(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), es = Ut(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]), c0 = Ut(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), Wl = Ut(["#text"]), ql = Ut(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]), rs = Ut(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), Hl = Ut(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), hn = Ut(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), h0 = ae(/\{\{[\w\W]*|[\w\W]*\}\}/gm), u0 = ae(/<%[\w\W]*|[\w\W]*%>/gm), f0 = ae(/\$\{[\w\W]*/gm), p0 = ae(/^data-[\-\w.\u00B7-\uFFFF]+$/), d0 = ae(/^aria-[\-\w]+$/), _h = ae(
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
+ // eslint-disable-line no-useless-escape
+), g0 = ae(/^(?:\w+script|data):/i), m0 = ae(
+ /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
+ // eslint-disable-line no-control-regex
+), Ch = ae(/^html$/i), y0 = ae(/^[a-z][.\w]*(-[.\w]+)+$/i);
+var jl = /* @__PURE__ */ Object.freeze({
+ __proto__: null,
+ ARIA_ATTR: d0,
+ ATTR_WHITESPACE: m0,
+ CUSTOM_ELEMENT: y0,
+ DATA_ATTR: p0,
+ DOCTYPE_NAME: Ch,
+ ERB_EXPR: u0,
+ IS_ALLOWED_URI: _h,
+ IS_SCRIPT_OR_DATA: g0,
+ MUSTACHE_EXPR: h0,
+ TMPLIT_EXPR: f0
+});
+const fi = {
+ element: 1,
+ text: 3,
+ // Deprecated
+ progressingInstruction: 7,
+ comment: 8,
+ document: 9
+}, x0 = function() {
+ return typeof window > "u" ? null : window;
+}, b0 = function(t, r) {
+ if (typeof t != "object" || typeof t.createPolicy != "function")
+ return null;
+ let i = null;
+ const n = "data-tt-policy-suffix";
+ r && r.hasAttribute(n) && (i = r.getAttribute(n));
+ const a = "dompurify" + (i ? "#" + i : "");
+ try {
+ return t.createPolicy(a, {
+ createHTML(o) {
+ return o;
+ },
+ createScriptURL(o) {
+ return o;
+ }
+ });
+ } catch {
+ return console.warn("TrustedTypes policy " + a + " could not be created."), null;
+ }
+}, Yl = function() {
+ return {
+ afterSanitizeAttributes: [],
+ afterSanitizeElements: [],
+ afterSanitizeShadowDOM: [],
+ beforeSanitizeAttributes: [],
+ beforeSanitizeElements: [],
+ beforeSanitizeShadowDOM: [],
+ uponSanitizeAttribute: [],
+ uponSanitizeElement: [],
+ uponSanitizeShadowNode: []
+ };
+};
+function wh() {
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x0();
+ const t = (Q) => wh(Q);
+ if (t.version = "3.2.6", t.removed = [], !e || !e.document || e.document.nodeType !== fi.document || !e.Element)
+ return t.isSupported = !1, t;
+ let {
+ document: r
+ } = e;
+ const i = r, n = i.currentScript, {
+ DocumentFragment: a,
+ HTMLTemplateElement: o,
+ Node: s,
+ Element: l,
+ NodeFilter: c,
+ NamedNodeMap: h = e.NamedNodeMap || e.MozNamedAttrMap,
+ HTMLFormElement: u,
+ DOMParser: f,
+ trustedTypes: p
+ } = e, g = l.prototype, m = ui(g, "cloneNode"), y = ui(g, "remove"), x = ui(g, "nextSibling"), b = ui(g, "childNodes"), C = ui(g, "parentNode");
+ if (typeof o == "function") {
+ const Q = r.createElement("template");
+ Q.content && Q.content.ownerDocument && (r = Q.content.ownerDocument);
+ }
+ let k, v = "";
+ const {
+ implementation: _,
+ createNodeIterator: S,
+ createDocumentFragment: R,
+ getElementsByTagName: P
+ } = r, {
+ importNode: O
+ } = i;
+ let E = Yl();
+ t.isSupported = typeof xh == "function" && typeof C == "function" && _ && _.createHTMLDocument !== void 0;
+ const {
+ MUSTACHE_EXPR: z,
+ ERB_EXPR: D,
+ TMPLIT_EXPR: L,
+ DATA_ATTR: M,
+ ARIA_ATTR: B,
+ IS_SCRIPT_OR_DATA: F,
+ ATTR_WHITESPACE: A,
+ CUSTOM_ELEMENT: W
+ } = jl;
+ let {
+ IS_ALLOWED_URI: X
+ } = jl, Y = null;
+ const dt = ot({}, [...zl, ...Ja, ...ts, ...es, ...Wl]);
+ let at = null;
+ const wt = ot({}, [...ql, ...rs, ...Hl, ...hn]);
+ let st = Object.seal(bh(null, {
+ tagNameCheck: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: null
+ },
+ attributeNameCheck: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: null
+ },
+ allowCustomizedBuiltInElements: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: !1
+ }
+ })), nt = null, lt = null, Ct = !0, mt = !0, yt = !1, kt = !0, zt = !1, pe = !0, oe = !1, Ha = !1, ja = !1, _r = !1, rn = !1, nn = !1, bl = !0, _l = !1;
+ const Fm = "user-content-";
+ let Ya = !0, ai = !1, Cr = {}, wr = null;
+ const Cl = ot({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]);
+ let wl = null;
+ const vl = ot({}, ["audio", "video", "img", "source", "image", "track"]);
+ let Ua = null;
+ const kl = ot({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), an = "http://www.w3.org/1998/Math/MathML", sn = "http://www.w3.org/2000/svg", Se = "http://www.w3.org/1999/xhtml";
+ let vr = Se, Ga = !1, Xa = null;
+ const $m = ot({}, [an, sn, Se], Qa);
+ let on = ot({}, ["mi", "mo", "mn", "ms", "mtext"]), ln = ot({}, ["annotation-xml"]);
+ const Om = ot({}, ["title", "style", "font", "a", "script"]);
+ let si = null;
+ const Dm = ["application/xhtml+xml", "text/html"], Rm = "text/html";
+ let At = null, kr = null;
+ const Im = r.createElement("form"), Sl = function(w) {
+ return w instanceof RegExp || w instanceof Function;
+ }, Va = function() {
+ let w = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ if (!(kr && kr === w)) {
+ if ((!w || typeof w != "object") && (w = {}), w = Me(w), si = // eslint-disable-next-line unicorn/prefer-includes
+ Dm.indexOf(w.PARSER_MEDIA_TYPE) === -1 ? Rm : w.PARSER_MEDIA_TYPE, At = si === "application/xhtml+xml" ? Qa : Cn, Y = le(w, "ALLOWED_TAGS") ? ot({}, w.ALLOWED_TAGS, At) : dt, at = le(w, "ALLOWED_ATTR") ? ot({}, w.ALLOWED_ATTR, At) : wt, Xa = le(w, "ALLOWED_NAMESPACES") ? ot({}, w.ALLOWED_NAMESPACES, Qa) : $m, Ua = le(w, "ADD_URI_SAFE_ATTR") ? ot(Me(kl), w.ADD_URI_SAFE_ATTR, At) : kl, wl = le(w, "ADD_DATA_URI_TAGS") ? ot(Me(vl), w.ADD_DATA_URI_TAGS, At) : vl, wr = le(w, "FORBID_CONTENTS") ? ot({}, w.FORBID_CONTENTS, At) : Cl, nt = le(w, "FORBID_TAGS") ? ot({}, w.FORBID_TAGS, At) : Me({}), lt = le(w, "FORBID_ATTR") ? ot({}, w.FORBID_ATTR, At) : Me({}), Cr = le(w, "USE_PROFILES") ? w.USE_PROFILES : !1, Ct = w.ALLOW_ARIA_ATTR !== !1, mt = w.ALLOW_DATA_ATTR !== !1, yt = w.ALLOW_UNKNOWN_PROTOCOLS || !1, kt = w.ALLOW_SELF_CLOSE_IN_ATTR !== !1, zt = w.SAFE_FOR_TEMPLATES || !1, pe = w.SAFE_FOR_XML !== !1, oe = w.WHOLE_DOCUMENT || !1, _r = w.RETURN_DOM || !1, rn = w.RETURN_DOM_FRAGMENT || !1, nn = w.RETURN_TRUSTED_TYPE || !1, ja = w.FORCE_BODY || !1, bl = w.SANITIZE_DOM !== !1, _l = w.SANITIZE_NAMED_PROPS || !1, Ya = w.KEEP_CONTENT !== !1, ai = w.IN_PLACE || !1, X = w.ALLOWED_URI_REGEXP || _h, vr = w.NAMESPACE || Se, on = w.MATHML_TEXT_INTEGRATION_POINTS || on, ln = w.HTML_INTEGRATION_POINTS || ln, st = w.CUSTOM_ELEMENT_HANDLING || {}, w.CUSTOM_ELEMENT_HANDLING && Sl(w.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (st.tagNameCheck = w.CUSTOM_ELEMENT_HANDLING.tagNameCheck), w.CUSTOM_ELEMENT_HANDLING && Sl(w.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (st.attributeNameCheck = w.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), w.CUSTOM_ELEMENT_HANDLING && typeof w.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (st.allowCustomizedBuiltInElements = w.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), zt && (mt = !1), rn && (_r = !0), Cr && (Y = ot({}, Wl), at = [], Cr.html === !0 && (ot(Y, zl), ot(at, ql)), Cr.svg === !0 && (ot(Y, Ja), ot(at, rs), ot(at, hn)), Cr.svgFilters === !0 && (ot(Y, ts), ot(at, rs), ot(at, hn)), Cr.mathMl === !0 && (ot(Y, es), ot(at, Hl), ot(at, hn))), w.ADD_TAGS && (Y === dt && (Y = Me(Y)), ot(Y, w.ADD_TAGS, At)), w.ADD_ATTR && (at === wt && (at = Me(at)), ot(at, w.ADD_ATTR, At)), w.ADD_URI_SAFE_ATTR && ot(Ua, w.ADD_URI_SAFE_ATTR, At), w.FORBID_CONTENTS && (wr === Cl && (wr = Me(wr)), ot(wr, w.FORBID_CONTENTS, At)), Ya && (Y["#text"] = !0), oe && ot(Y, ["html", "head", "body"]), Y.table && (ot(Y, ["tbody"]), delete nt.tbody), w.TRUSTED_TYPES_POLICY) {
+ if (typeof w.TRUSTED_TYPES_POLICY.createHTML != "function")
+ throw hi('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
+ if (typeof w.TRUSTED_TYPES_POLICY.createScriptURL != "function")
+ throw hi('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
+ k = w.TRUSTED_TYPES_POLICY, v = k.createHTML("");
+ } else
+ k === void 0 && (k = b0(p, n)), k !== null && typeof v == "string" && (v = k.createHTML(""));
+ Ut && Ut(w), kr = w;
+ }
+ }, Tl = ot({}, [...Ja, ...ts, ...l0]), Bl = ot({}, [...es, ...c0]), Pm = function(w) {
+ let I = C(w);
+ (!I || !I.tagName) && (I = {
+ namespaceURI: vr,
+ tagName: "template"
+ });
+ const U = Cn(w.tagName), bt = Cn(I.tagName);
+ return Xa[w.namespaceURI] ? w.namespaceURI === sn ? I.namespaceURI === Se ? U === "svg" : I.namespaceURI === an ? U === "svg" && (bt === "annotation-xml" || on[bt]) : !!Tl[U] : w.namespaceURI === an ? I.namespaceURI === Se ? U === "math" : I.namespaceURI === sn ? U === "math" && ln[bt] : !!Bl[U] : w.namespaceURI === Se ? I.namespaceURI === sn && !ln[bt] || I.namespaceURI === an && !on[bt] ? !1 : !Bl[U] && (Om[U] || !Tl[U]) : !!(si === "application/xhtml+xml" && Xa[w.namespaceURI]) : !1;
+ }, de = function(w) {
+ li(t.removed, {
+ element: w
+ });
+ try {
+ C(w).removeChild(w);
+ } catch {
+ y(w);
+ }
+ }, Sr = function(w, I) {
+ try {
+ li(t.removed, {
+ attribute: I.getAttributeNode(w),
+ from: I
+ });
+ } catch {
+ li(t.removed, {
+ attribute: null,
+ from: I
+ });
+ }
+ if (I.removeAttribute(w), w === "is")
+ if (_r || rn)
+ try {
+ de(I);
+ } catch {
+ }
+ else
+ try {
+ I.setAttribute(w, "");
+ } catch {
+ }
+ }, Ll = function(w) {
+ let I = null, U = null;
+ if (ja)
+ w = "" + w;
+ else {
+ const Tt = Nl(w, /^[\r\n\t ]+/);
+ U = Tt && Tt[0];
+ }
+ si === "application/xhtml+xml" && vr === Se && (w = '
' + w + "");
+ const bt = k ? k.createHTML(w) : w;
+ if (vr === Se)
+ try {
+ I = new f().parseFromString(bt, si);
+ } catch {
+ }
+ if (!I || !I.documentElement) {
+ I = _.createDocument(vr, "template", null);
+ try {
+ I.documentElement.innerHTML = Ga ? v : bt;
+ } catch {
+ }
+ }
+ const Ot = I.body || I.documentElement;
+ return w && U && Ot.insertBefore(r.createTextNode(U), Ot.childNodes[0] || null), vr === Se ? P.call(I, oe ? "html" : "body")[0] : oe ? I.documentElement : Ot;
+ }, Al = function(w) {
+ return S.call(
+ w.ownerDocument || w,
+ w,
+ // eslint-disable-next-line no-bitwise
+ c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT | c.SHOW_PROCESSING_INSTRUCTION | c.SHOW_CDATA_SECTION,
+ null
+ );
+ }, Za = function(w) {
+ return w instanceof u && (typeof w.nodeName != "string" || typeof w.textContent != "string" || typeof w.removeChild != "function" || !(w.attributes instanceof h) || typeof w.removeAttribute != "function" || typeof w.setAttribute != "function" || typeof w.namespaceURI != "string" || typeof w.insertBefore != "function" || typeof w.hasChildNodes != "function");
+ }, Ml = function(w) {
+ return typeof s == "function" && w instanceof s;
+ };
+ function Te(Q, w, I) {
+ cn(Q, (U) => {
+ U.call(t, w, I, kr);
+ });
+ }
+ const El = function(w) {
+ let I = null;
+ if (Te(E.beforeSanitizeElements, w, null), Za(w))
+ return de(w), !0;
+ const U = At(w.nodeName);
+ if (Te(E.uponSanitizeElement, w, {
+ tagName: U,
+ allowedTags: Y
+ }), pe && w.hasChildNodes() && !Ml(w.firstElementChild) && Wt(/<[/\w!]/g, w.innerHTML) && Wt(/<[/\w!]/g, w.textContent) || w.nodeType === fi.progressingInstruction || pe && w.nodeType === fi.comment && Wt(/<[/\w]/g, w.data))
+ return de(w), !0;
+ if (!Y[U] || nt[U]) {
+ if (!nt[U] && $l(U) && (st.tagNameCheck instanceof RegExp && Wt(st.tagNameCheck, U) || st.tagNameCheck instanceof Function && st.tagNameCheck(U)))
+ return !1;
+ if (Ya && !wr[U]) {
+ const bt = C(w) || w.parentNode, Ot = b(w) || w.childNodes;
+ if (Ot && bt) {
+ const Tt = Ot.length;
+ for (let Xt = Tt - 1; Xt >= 0; --Xt) {
+ const Be = m(Ot[Xt], !0);
+ Be.__removalCount = (w.__removalCount || 0) + 1, bt.insertBefore(Be, x(w));
+ }
+ }
+ }
+ return de(w), !0;
+ }
+ return w instanceof l && !Pm(w) || (U === "noscript" || U === "noembed" || U === "noframes") && Wt(/<\/no(script|embed|frames)/i, w.innerHTML) ? (de(w), !0) : (zt && w.nodeType === fi.text && (I = w.textContent, cn([z, D, L], (bt) => {
+ I = ci(I, bt, " ");
+ }), w.textContent !== I && (li(t.removed, {
+ element: w.cloneNode()
+ }), w.textContent = I)), Te(E.afterSanitizeElements, w, null), !1);
+ }, Fl = function(w, I, U) {
+ if (bl && (I === "id" || I === "name") && (U in r || U in Im))
+ return !1;
+ if (!(mt && !lt[I] && Wt(M, I))) {
+ if (!(Ct && Wt(B, I))) {
+ if (!at[I] || lt[I]) {
+ if (
+ // First condition does a very basic check if a) it's basically a valid custom element tagname AND
+ // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
+ // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
+ !($l(w) && (st.tagNameCheck instanceof RegExp && Wt(st.tagNameCheck, w) || st.tagNameCheck instanceof Function && st.tagNameCheck(w)) && (st.attributeNameCheck instanceof RegExp && Wt(st.attributeNameCheck, I) || st.attributeNameCheck instanceof Function && st.attributeNameCheck(I)) || // Alternative, second condition checks if it's an `is`-attribute, AND
+ // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
+ I === "is" && st.allowCustomizedBuiltInElements && (st.tagNameCheck instanceof RegExp && Wt(st.tagNameCheck, U) || st.tagNameCheck instanceof Function && st.tagNameCheck(U)))
+ ) return !1;
+ } else if (!Ua[I]) {
+ if (!Wt(X, ci(U, A, ""))) {
+ if (!((I === "src" || I === "xlink:href" || I === "href") && w !== "script" && n0(U, "data:") === 0 && wl[w])) {
+ if (!(yt && !Wt(F, ci(U, A, "")))) {
+ if (U)
+ return !1;
+ }
+ }
+ }
+ }
+ }
+ }
+ return !0;
+ }, $l = function(w) {
+ return w !== "annotation-xml" && Nl(w, W);
+ }, Ol = function(w) {
+ Te(E.beforeSanitizeAttributes, w, null);
+ const {
+ attributes: I
+ } = w;
+ if (!I || Za(w))
+ return;
+ const U = {
+ attrName: "",
+ attrValue: "",
+ keepAttr: !0,
+ allowedAttributes: at,
+ forceKeepAttr: void 0
+ };
+ let bt = I.length;
+ for (; bt--; ) {
+ const Ot = I[bt], {
+ name: Tt,
+ namespaceURI: Xt,
+ value: Be
+ } = Ot, oi = At(Tt), Ka = Be;
+ let Dt = Tt === "value" ? Ka : a0(Ka);
+ if (U.attrName = oi, U.attrValue = Dt, U.keepAttr = !0, U.forceKeepAttr = void 0, Te(E.uponSanitizeAttribute, w, U), Dt = U.attrValue, _l && (oi === "id" || oi === "name") && (Sr(Tt, w), Dt = Fm + Dt), pe && Wt(/((--!?|])>)|<\/(style|title)/i, Dt)) {
+ Sr(Tt, w);
+ continue;
+ }
+ if (U.forceKeepAttr)
+ continue;
+ if (!U.keepAttr) {
+ Sr(Tt, w);
+ continue;
+ }
+ if (!kt && Wt(/\/>/i, Dt)) {
+ Sr(Tt, w);
+ continue;
+ }
+ zt && cn([z, D, L], (Rl) => {
+ Dt = ci(Dt, Rl, " ");
+ });
+ const Dl = At(w.nodeName);
+ if (!Fl(Dl, oi, Dt)) {
+ Sr(Tt, w);
+ continue;
+ }
+ if (k && typeof p == "object" && typeof p.getAttributeType == "function" && !Xt)
+ switch (p.getAttributeType(Dl, oi)) {
+ case "TrustedHTML": {
+ Dt = k.createHTML(Dt);
+ break;
+ }
+ case "TrustedScriptURL": {
+ Dt = k.createScriptURL(Dt);
+ break;
+ }
+ }
+ if (Dt !== Ka)
+ try {
+ Xt ? w.setAttributeNS(Xt, Tt, Dt) : w.setAttribute(Tt, Dt), Za(w) ? de(w) : Pl(t.removed);
+ } catch {
+ Sr(Tt, w);
+ }
+ }
+ Te(E.afterSanitizeAttributes, w, null);
+ }, Nm = function Q(w) {
+ let I = null;
+ const U = Al(w);
+ for (Te(E.beforeSanitizeShadowDOM, w, null); I = U.nextNode(); )
+ Te(E.uponSanitizeShadowNode, I, null), El(I), Ol(I), I.content instanceof a && Q(I.content);
+ Te(E.afterSanitizeShadowDOM, w, null);
+ };
+ return t.sanitize = function(Q) {
+ let w = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, I = null, U = null, bt = null, Ot = null;
+ if (Ga = !Q, Ga && (Q = ""), typeof Q != "string" && !Ml(Q))
+ if (typeof Q.toString == "function") {
+ if (Q = Q.toString(), typeof Q != "string")
+ throw hi("dirty is not a string, aborting");
+ } else
+ throw hi("toString is not a function");
+ if (!t.isSupported)
+ return Q;
+ if (Ha || Va(w), t.removed = [], typeof Q == "string" && (ai = !1), ai) {
+ if (Q.nodeName) {
+ const Be = At(Q.nodeName);
+ if (!Y[Be] || nt[Be])
+ throw hi("root node is forbidden and cannot be sanitized in-place");
+ }
+ } else if (Q instanceof s)
+ I = Ll(""), U = I.ownerDocument.importNode(Q, !0), U.nodeType === fi.element && U.nodeName === "BODY" || U.nodeName === "HTML" ? I = U : I.appendChild(U);
+ else {
+ if (!_r && !zt && !oe && // eslint-disable-next-line unicorn/prefer-includes
+ Q.indexOf("<") === -1)
+ return k && nn ? k.createHTML(Q) : Q;
+ if (I = Ll(Q), !I)
+ return _r ? null : nn ? v : "";
+ }
+ I && ja && de(I.firstChild);
+ const Tt = Al(ai ? Q : I);
+ for (; bt = Tt.nextNode(); )
+ El(bt), Ol(bt), bt.content instanceof a && Nm(bt.content);
+ if (ai)
+ return Q;
+ if (_r) {
+ if (rn)
+ for (Ot = R.call(I.ownerDocument); I.firstChild; )
+ Ot.appendChild(I.firstChild);
+ else
+ Ot = I;
+ return (at.shadowroot || at.shadowrootmode) && (Ot = O.call(i, Ot, !0)), Ot;
+ }
+ let Xt = oe ? I.outerHTML : I.innerHTML;
+ return oe && Y["!doctype"] && I.ownerDocument && I.ownerDocument.doctype && I.ownerDocument.doctype.name && Wt(Ch, I.ownerDocument.doctype.name) && (Xt = "
+` + Xt), zt && cn([z, D, L], (Be) => {
+ Xt = ci(Xt, Be, " ");
+ }), k && nn ? k.createHTML(Xt) : Xt;
+ }, t.setConfig = function() {
+ let Q = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ Va(Q), Ha = !0;
+ }, t.clearConfig = function() {
+ kr = null, Ha = !1;
+ }, t.isValidAttribute = function(Q, w, I) {
+ kr || Va({});
+ const U = At(Q), bt = At(w);
+ return Fl(U, bt, I);
+ }, t.addHook = function(Q, w) {
+ typeof w == "function" && li(E[Q], w);
+ }, t.removeHook = function(Q, w) {
+ if (w !== void 0) {
+ const I = r0(E[Q], w);
+ return I === -1 ? void 0 : i0(E[Q], I, 1)[0];
+ }
+ return Pl(E[Q]);
+ }, t.removeHooks = function(Q) {
+ E[Q] = [];
+ }, t.removeAllHooks = function() {
+ E = Yl();
+ }, t;
+}
+var qr = wh(), vh = Object.defineProperty, d = (e, t) => vh(e, "name", { value: t, configurable: !0 }), _0 = (e, t) => {
+ for (var r in t)
+ vh(e, r, { get: t[r], enumerable: !0 });
+}, Le = {
+ trace: 0,
+ debug: 1,
+ info: 2,
+ warn: 3,
+ error: 4,
+ fatal: 5
+}, $ = {
+ trace: /* @__PURE__ */ d((...e) => {
+ }, "trace"),
+ debug: /* @__PURE__ */ d((...e) => {
+ }, "debug"),
+ info: /* @__PURE__ */ d((...e) => {
+ }, "info"),
+ warn: /* @__PURE__ */ d((...e) => {
+ }, "warn"),
+ error: /* @__PURE__ */ d((...e) => {
+ }, "error"),
+ fatal: /* @__PURE__ */ d((...e) => {
+ }, "fatal")
+}, yo = /* @__PURE__ */ d(function(e = "fatal") {
+ let t = Le.fatal;
+ typeof e == "string" ? e.toLowerCase() in Le && (t = Le[e]) : typeof e == "number" && (t = e), $.trace = () => {
+ }, $.debug = () => {
+ }, $.info = () => {
+ }, $.warn = () => {
+ }, $.error = () => {
+ }, $.fatal = () => {
+ }, t <= Le.fatal && ($.fatal = console.error ? console.error.bind(console, ie("FATAL"), "color: orange") : console.log.bind(console, "\x1B[35m", ie("FATAL"))), t <= Le.error && ($.error = console.error ? console.error.bind(console, ie("ERROR"), "color: orange") : console.log.bind(console, "\x1B[31m", ie("ERROR"))), t <= Le.warn && ($.warn = console.warn ? console.warn.bind(console, ie("WARN"), "color: orange") : console.log.bind(console, "\x1B[33m", ie("WARN"))), t <= Le.info && ($.info = console.info ? console.info.bind(console, ie("INFO"), "color: lightblue") : console.log.bind(console, "\x1B[34m", ie("INFO"))), t <= Le.debug && ($.debug = console.debug ? console.debug.bind(console, ie("DEBUG"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", ie("DEBUG"))), t <= Le.trace && ($.trace = console.debug ? console.debug.bind(console, ie("TRACE"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", ie("TRACE")));
+}, "setLogLevel"), ie = /* @__PURE__ */ d((e) => `%c${Ym().format("ss.SSS")} : ${e} : `, "format"), kh = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s, Ai = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, C0 = /\s*%%.*\n/gm, Or, Sh = (Or = class extends Error {
+ constructor(t) {
+ super(t), this.name = "UnknownDiagramError";
+ }
+}, d(Or, "UnknownDiagramError"), Or), Hr = {}, xo = /* @__PURE__ */ d(function(e, t) {
+ e = e.replace(kh, "").replace(Ai, "").replace(C0, `
+`);
+ for (const [r, { detector: i }] of Object.entries(Hr))
+ if (i(e, t))
+ return r;
+ throw new Sh(
+ `No diagram type detected matching given configuration for text: ${e}`
+ );
+}, "detectType"), Cs = /* @__PURE__ */ d((...e) => {
+ for (const { id: t, detector: r, loader: i } of e)
+ Th(t, r, i);
+}, "registerLazyLoadedDiagrams"), Th = /* @__PURE__ */ d((e, t, r) => {
+ Hr[e] && $.warn(`Detector with key ${e} already exists. Overwriting.`), Hr[e] = { detector: t, loader: r }, $.debug(`Detector with key ${e} added${r ? " with loader" : ""}`);
+}, "addDetector"), w0 = /* @__PURE__ */ d((e) => Hr[e].loader, "getDiagramLoader"), ws = /* @__PURE__ */ d((e, t, { depth: r = 2, clobber: i = !1 } = {}) => {
+ const n = { depth: r, clobber: i };
+ return Array.isArray(t) && !Array.isArray(e) ? (t.forEach((a) => ws(e, a, n)), e) : Array.isArray(t) && Array.isArray(e) ? (t.forEach((a) => {
+ e.includes(a) || e.push(a);
+ }), e) : e === void 0 || r <= 0 ? e != null && typeof e == "object" && typeof t == "object" ? Object.assign(e, t) : t : (t !== void 0 && typeof e == "object" && typeof t == "object" && Object.keys(t).forEach((a) => {
+ typeof t[a] == "object" && (e[a] === void 0 || typeof e[a] == "object") ? (e[a] === void 0 && (e[a] = Array.isArray(t[a]) ? [] : {}), e[a] = ws(e[a], t[a], { depth: r - 1, clobber: i })) : (i || typeof e[a] != "object" && typeof t[a] != "object") && (e[a] = t[a]);
+ }), e);
+}, "assignWithDepth"), $t = ws, ya = "#ffffff", xa = "#f2f2f2", qt = /* @__PURE__ */ d((e, t) => t ? T(e, { s: -40, l: 10 }) : T(e, { s: -40, l: -10 }), "mkBorder"), Dr, v0 = (Dr = class {
+ constructor() {
+ this.background = "#f4f4f4", this.primaryColor = "#fff4dd", this.noteBkgColor = "#fff5ad", this.noteTextColor = "#333", this.THEME_COLOR_LIMIT = 12, this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px";
+ }
+ updateColors() {
+ var r, i, n, a, o, s, l, c, h, u, f, p, g, m, y, x, b, C, k, v, _;
+ if (this.primaryTextColor = this.primaryTextColor || (this.darkMode ? "#eee" : "#333"), this.secondaryColor = this.secondaryColor || T(this.primaryColor, { h: -120 }), this.tertiaryColor = this.tertiaryColor || T(this.primaryColor, { h: 180, l: 5 }), this.primaryBorderColor = this.primaryBorderColor || qt(this.primaryColor, this.darkMode), this.secondaryBorderColor = this.secondaryBorderColor || qt(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = this.tertiaryBorderColor || qt(this.tertiaryColor, this.darkMode), this.noteBorderColor = this.noteBorderColor || qt(this.noteBkgColor, this.darkMode), this.noteBkgColor = this.noteBkgColor || "#fff5ad", this.noteTextColor = this.noteTextColor || "#333", this.secondaryTextColor = this.secondaryTextColor || N(this.secondaryColor), this.tertiaryTextColor = this.tertiaryTextColor || N(this.tertiaryColor), this.lineColor = this.lineColor || N(this.background), this.arrowheadColor = this.arrowheadColor || N(this.background), this.textColor = this.textColor || this.primaryTextColor, this.border2 = this.border2 || this.tertiaryBorderColor, this.nodeBkg = this.nodeBkg || this.primaryColor, this.mainBkg = this.mainBkg || this.primaryColor, this.nodeBorder = this.nodeBorder || this.primaryBorderColor, this.clusterBkg = this.clusterBkg || this.tertiaryColor, this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor, this.defaultLinkColor = this.defaultLinkColor || this.lineColor, this.titleColor = this.titleColor || this.tertiaryTextColor, this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? J(this.secondaryColor, 30) : this.secondaryColor), this.nodeTextColor = this.nodeTextColor || this.primaryTextColor, this.actorBorder = this.actorBorder || this.primaryBorderColor, this.actorBkg = this.actorBkg || this.mainBkg, this.actorTextColor = this.actorTextColor || this.primaryTextColor, this.actorLineColor = this.actorLineColor || this.actorBorder, this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg, this.signalColor = this.signalColor || this.textColor, this.signalTextColor = this.signalTextColor || this.textColor, this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder, this.labelTextColor = this.labelTextColor || this.actorTextColor, this.loopTextColor = this.loopTextColor || this.actorTextColor, this.activationBorderColor = this.activationBorderColor || J(this.secondaryColor, 10), this.activationBkgColor = this.activationBkgColor || this.secondaryColor, this.sequenceNumberColor = this.sequenceNumberColor || N(this.lineColor), this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor, this.altSectionBkgColor = this.altSectionBkgColor || "white", this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor, this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor, this.excludeBkgColor = this.excludeBkgColor || "#eeeeee", this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor, this.taskBkgColor = this.taskBkgColor || this.primaryColor, this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor, this.activeTaskBkgColor = this.activeTaskBkgColor || q(this.primaryColor, 23), this.gridColor = this.gridColor || "lightgrey", this.doneTaskBkgColor = this.doneTaskBkgColor || "lightgrey", this.doneTaskBorderColor = this.doneTaskBorderColor || "grey", this.critBorderColor = this.critBorderColor || "#ff8888", this.critBkgColor = this.critBkgColor || "red", this.todayLineColor = this.todayLineColor || "red", this.vertLineColor = this.vertLineColor || "navy", this.taskTextColor = this.taskTextColor || this.textColor, this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor, this.taskTextLightColor = this.taskTextLightColor || this.textColor, this.taskTextColor = this.taskTextColor || this.primaryTextColor, this.taskTextDarkColor = this.taskTextDarkColor || this.textColor, this.taskTextClickableColor = this.taskTextClickableColor || "#003163", this.personBorder = this.personBorder || this.primaryBorderColor, this.personBkg = this.personBkg || this.mainBkg, this.darkMode ? (this.rowOdd = this.rowOdd || J(this.mainBkg, 5) || "#ffffff", this.rowEven = this.rowEven || J(this.mainBkg, 10)) : (this.rowOdd = this.rowOdd || q(this.mainBkg, 75) || "#ffffff", this.rowEven = this.rowEven || q(this.mainBkg, 5)), this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || this.tertiaryColor, this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.nodeBorder, this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.specialStateColor = this.lineColor, this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || T(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || T(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || T(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || T(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || T(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || T(this.primaryColor, { h: 210, l: 150 }), this.cScale9 = this.cScale9 || T(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || T(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || T(this.primaryColor, { h: 330 }), this.darkMode)
+ for (let S = 0; S < this.THEME_COLOR_LIMIT; S++)
+ this["cScale" + S] = J(this["cScale" + S], 75);
+ else
+ for (let S = 0; S < this.THEME_COLOR_LIMIT; S++)
+ this["cScale" + S] = J(this["cScale" + S], 25);
+ for (let S = 0; S < this.THEME_COLOR_LIMIT; S++)
+ this["cScaleInv" + S] = this["cScaleInv" + S] || N(this["cScale" + S]);
+ for (let S = 0; S < this.THEME_COLOR_LIMIT; S++)
+ this.darkMode ? this["cScalePeer" + S] = this["cScalePeer" + S] || q(this["cScale" + S], 10) : this["cScalePeer" + S] = this["cScalePeer" + S] || J(this["cScale" + S], 10);
+ this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;
+ for (let S = 0; S < this.THEME_COLOR_LIMIT; S++)
+ this["cScaleLabel" + S] = this["cScaleLabel" + S] || this.scaleLabelColor;
+ const t = this.darkMode ? -4 : -1;
+ for (let S = 0; S < 5; S++)
+ this["surface" + S] = this["surface" + S] || T(this.mainBkg, { h: 180, s: -15, l: t * (5 + S * 3) }), this["surfacePeer" + S] = this["surfacePeer" + S] || T(this.mainBkg, { h: 180, s: -15, l: t * (8 + S * 3) });
+ this.classText = this.classText || this.textColor, this.fillType0 = this.fillType0 || this.primaryColor, this.fillType1 = this.fillType1 || this.secondaryColor, this.fillType2 = this.fillType2 || T(this.primaryColor, { h: 64 }), this.fillType3 = this.fillType3 || T(this.secondaryColor, { h: 64 }), this.fillType4 = this.fillType4 || T(this.primaryColor, { h: -64 }), this.fillType5 = this.fillType5 || T(this.secondaryColor, { h: -64 }), this.fillType6 = this.fillType6 || T(this.primaryColor, { h: 128 }), this.fillType7 = this.fillType7 || T(this.secondaryColor, { h: 128 }), this.pie1 = this.pie1 || this.primaryColor, this.pie2 = this.pie2 || this.secondaryColor, this.pie3 = this.pie3 || this.tertiaryColor, this.pie4 = this.pie4 || T(this.primaryColor, { l: -10 }), this.pie5 = this.pie5 || T(this.secondaryColor, { l: -10 }), this.pie6 = this.pie6 || T(this.tertiaryColor, { l: -10 }), this.pie7 = this.pie7 || T(this.primaryColor, { h: 60, l: -10 }), this.pie8 = this.pie8 || T(this.primaryColor, { h: -60, l: -10 }), this.pie9 = this.pie9 || T(this.primaryColor, { h: 120, l: 0 }), this.pie10 = this.pie10 || T(this.primaryColor, { h: 60, l: -20 }), this.pie11 = this.pie11 || T(this.primaryColor, { h: -60, l: -20 }), this.pie12 = this.pie12 || T(this.primaryColor, { h: 120, l: -10 }), this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.radar = {
+ axisColor: ((r = this.radar) == null ? void 0 : r.axisColor) || this.lineColor,
+ axisStrokeWidth: ((i = this.radar) == null ? void 0 : i.axisStrokeWidth) || 2,
+ axisLabelFontSize: ((n = this.radar) == null ? void 0 : n.axisLabelFontSize) || 12,
+ curveOpacity: ((a = this.radar) == null ? void 0 : a.curveOpacity) || 0.5,
+ curveStrokeWidth: ((o = this.radar) == null ? void 0 : o.curveStrokeWidth) || 2,
+ graticuleColor: ((s = this.radar) == null ? void 0 : s.graticuleColor) || "#DEDEDE",
+ graticuleStrokeWidth: ((l = this.radar) == null ? void 0 : l.graticuleStrokeWidth) || 1,
+ graticuleOpacity: ((c = this.radar) == null ? void 0 : c.graticuleOpacity) || 0.3,
+ legendBoxSize: ((h = this.radar) == null ? void 0 : h.legendBoxSize) || 12,
+ legendFontSize: ((u = this.radar) == null ? void 0 : u.legendFontSize) || 12
+ }, this.archEdgeColor = this.archEdgeColor || "#777", this.archEdgeArrowColor = this.archEdgeArrowColor || "#777", this.archEdgeWidth = this.archEdgeWidth || "3", this.archGroupBorderColor = this.archGroupBorderColor || "#000", this.archGroupBorderWidth = this.archGroupBorderWidth || "2px", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || T(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || T(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || T(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || T(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || T(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || T(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || Yi(this.quadrant1Fill) ? q(this.quadrant1Fill) : J(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.xyChart = {
+ backgroundColor: ((f = this.xyChart) == null ? void 0 : f.backgroundColor) || this.background,
+ titleColor: ((p = this.xyChart) == null ? void 0 : p.titleColor) || this.primaryTextColor,
+ xAxisTitleColor: ((g = this.xyChart) == null ? void 0 : g.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor: ((m = this.xyChart) == null ? void 0 : m.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor: ((y = this.xyChart) == null ? void 0 : y.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor: ((x = this.xyChart) == null ? void 0 : x.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor: ((b = this.xyChart) == null ? void 0 : b.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor: ((C = this.xyChart) == null ? void 0 : C.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor: ((k = this.xyChart) == null ? void 0 : k.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor: ((v = this.xyChart) == null ? void 0 : v.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette: ((_ = this.xyChart) == null ? void 0 : _.plotColorPalette) || "#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"
+ }, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? J(this.secondaryColor, 30) : this.secondaryColor), this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = this.git0 || this.primaryColor, this.git1 = this.git1 || this.secondaryColor, this.git2 = this.git2 || this.tertiaryColor, this.git3 = this.git3 || T(this.primaryColor, { h: -30 }), this.git4 = this.git4 || T(this.primaryColor, { h: -60 }), this.git5 = this.git5 || T(this.primaryColor, { h: -90 }), this.git6 = this.git6 || T(this.primaryColor, { h: 60 }), this.git7 = this.git7 || T(this.primaryColor, { h: 120 }), this.darkMode ? (this.git0 = q(this.git0, 25), this.git1 = q(this.git1, 25), this.git2 = q(this.git2, 25), this.git3 = q(this.git3, 25), this.git4 = q(this.git4, 25), this.git5 = q(this.git5, 25), this.git6 = q(this.git6, 25), this.git7 = q(this.git7, 25)) : (this.git0 = J(this.git0, 25), this.git1 = J(this.git1, 25), this.git2 = J(this.git2, 25), this.git3 = J(this.git3, 25), this.git4 = J(this.git4, 25), this.git5 = J(this.git5, 25), this.git6 = J(this.git6, 25), this.git7 = J(this.git7, 25)), this.gitInv0 = this.gitInv0 || N(this.git0), this.gitInv1 = this.gitInv1 || N(this.git1), this.gitInv2 = this.gitInv2 || N(this.git2), this.gitInv3 = this.gitInv3 || N(this.git3), this.gitInv4 = this.gitInv4 || N(this.git4), this.gitInv5 = this.gitInv5 || N(this.git5), this.gitInv6 = this.gitInv6 || N(this.git6), this.gitInv7 = this.gitInv7 || N(this.git7), this.branchLabelColor = this.branchLabelColor || (this.darkMode ? "black" : this.labelTextColor), this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor, this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor, this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor, this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || ya, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || xa;
+ }
+ calculate(t) {
+ if (typeof t != "object") {
+ this.updateColors();
+ return;
+ }
+ const r = Object.keys(t);
+ r.forEach((i) => {
+ this[i] = t[i];
+ }), this.updateColors(), r.forEach((i) => {
+ this[i] = t[i];
+ });
+ }
+}, d(Dr, "Theme"), Dr), k0 = /* @__PURE__ */ d((e) => {
+ const t = new v0();
+ return t.calculate(e), t;
+}, "getThemeVariables"), Rr, S0 = (Rr = class {
+ constructor() {
+ this.background = "#333", this.primaryColor = "#1f2020", this.secondaryColor = q(this.primaryColor, 16), this.tertiaryColor = T(this.primaryColor, { h: -160 }), this.primaryBorderColor = N(this.background), this.secondaryBorderColor = qt(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = qt(this.tertiaryColor, this.darkMode), this.primaryTextColor = N(this.primaryColor), this.secondaryTextColor = N(this.secondaryColor), this.tertiaryTextColor = N(this.tertiaryColor), this.lineColor = N(this.background), this.textColor = N(this.background), this.mainBkg = "#1f2020", this.secondBkg = "calculated", this.mainContrastColor = "lightgrey", this.darkTextColor = q(N("#323D47"), 10), this.lineColor = "calculated", this.border1 = "#ccc", this.border2 = Li(255, 255, 255, 0.25), this.arrowheadColor = "calculated", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.labelBackground = "#181818", this.textColor = "#ccc", this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "#F9FFFE", this.edgeLabelBackground = "calculated", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "calculated", this.actorLineColor = "calculated", this.signalColor = "calculated", this.signalTextColor = "calculated", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "calculated", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "#fff5ad", this.noteTextColor = "calculated", this.activationBorderColor = "calculated", this.activationBkgColor = "calculated", this.sequenceNumberColor = "black", this.sectionBkgColor = J("#EAE8D9", 30), this.altSectionBkgColor = "calculated", this.sectionBkgColor2 = "#EAE8D9", this.excludeBkgColor = J(this.sectionBkgColor, 10), this.taskBorderColor = Li(255, 255, 255, 70), this.taskBkgColor = "calculated", this.taskTextColor = "calculated", this.taskTextLightColor = "calculated", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = Li(255, 255, 255, 50), this.activeTaskBkgColor = "#81B1DB", this.gridColor = "calculated", this.doneTaskBkgColor = "calculated", this.doneTaskBorderColor = "grey", this.critBorderColor = "#E83737", this.critBkgColor = "#E83737", this.taskTextDarkColor = "calculated", this.todayLineColor = "#DB5757", this.vertLineColor = "#00BFFF", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.archEdgeColor = "calculated", this.archEdgeArrowColor = "calculated", this.archEdgeWidth = "3", this.archGroupBorderColor = this.primaryBorderColor, this.archGroupBorderWidth = "2px", this.rowOdd = this.rowOdd || q(this.mainBkg, 5) || "#ffffff", this.rowEven = this.rowEven || J(this.mainBkg, 10), this.labelColor = "calculated", this.errorBkgColor = "#a44141", this.errorTextColor = "#ddd";
+ }
+ updateColors() {
+ var t, r, i, n, a, o, s, l, c, h, u, f, p, g, m, y, x, b, C, k, v;
+ this.secondBkg = q(this.mainBkg, 16), this.lineColor = this.mainContrastColor, this.arrowheadColor = this.mainContrastColor, this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.edgeLabelBackground = q(this.labelBackground, 25), this.actorBorder = this.border1, this.actorBkg = this.mainBkg, this.actorTextColor = this.mainContrastColor, this.actorLineColor = this.actorBorder, this.signalColor = this.mainContrastColor, this.signalTextColor = this.mainContrastColor, this.labelBoxBkgColor = this.actorBkg, this.labelBoxBorderColor = this.actorBorder, this.labelTextColor = this.mainContrastColor, this.loopTextColor = this.mainContrastColor, this.noteBorderColor = this.secondaryBorderColor, this.noteBkgColor = this.secondBkg, this.noteTextColor = this.secondaryTextColor, this.activationBorderColor = this.border1, this.activationBkgColor = this.secondBkg, this.altSectionBkgColor = this.background, this.taskBkgColor = q(this.mainBkg, 23), this.taskTextColor = this.darkTextColor, this.taskTextLightColor = this.mainContrastColor, this.taskTextOutsideColor = this.taskTextLightColor, this.gridColor = this.mainContrastColor, this.doneTaskBkgColor = this.mainContrastColor, this.taskTextDarkColor = this.darkTextColor, this.archEdgeColor = this.lineColor, this.archEdgeArrowColor = this.lineColor, this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#555", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.primaryBorderColor, this.specialStateColor = "#f4f4f4", this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = T(this.primaryColor, { h: 64 }), this.fillType3 = T(this.secondaryColor, { h: 64 }), this.fillType4 = T(this.primaryColor, { h: -64 }), this.fillType5 = T(this.secondaryColor, { h: -64 }), this.fillType6 = T(this.primaryColor, { h: 128 }), this.fillType7 = T(this.secondaryColor, { h: 128 }), this.cScale1 = this.cScale1 || "#0b0000", this.cScale2 = this.cScale2 || "#4d1037", this.cScale3 = this.cScale3 || "#3f5258", this.cScale4 = this.cScale4 || "#4f2f1b", this.cScale5 = this.cScale5 || "#6e0a0a", this.cScale6 = this.cScale6 || "#3b0048", this.cScale7 = this.cScale7 || "#995a01", this.cScale8 = this.cScale8 || "#154706", this.cScale9 = this.cScale9 || "#161722", this.cScale10 = this.cScale10 || "#00296f", this.cScale11 = this.cScale11 || "#01629c", this.cScale12 = this.cScale12 || "#010029", this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || T(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || T(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || T(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || T(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || T(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || T(this.primaryColor, { h: 210 }), this.cScale9 = this.cScale9 || T(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || T(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || T(this.primaryColor, { h: 330 });
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleInv" + _] = this["cScaleInv" + _] || N(this["cScale" + _]);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScalePeer" + _] = this["cScalePeer" + _] || q(this["cScale" + _], 10);
+ for (let _ = 0; _ < 5; _++)
+ this["surface" + _] = this["surface" + _] || T(this.mainBkg, { h: 30, s: -30, l: -(-10 + _ * 4) }), this["surfacePeer" + _] = this["surfacePeer" + _] || T(this.mainBkg, { h: 30, s: -30, l: -(-7 + _ * 4) });
+ this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? "black" : this.labelTextColor);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleLabel" + _] = this["cScaleLabel" + _] || this.scaleLabelColor;
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["pie" + _] = this["cScale" + _];
+ this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || T(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || T(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || T(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || T(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || T(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || T(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || Yi(this.quadrant1Fill) ? q(this.quadrant1Fill) : J(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.xyChart = {
+ backgroundColor: ((t = this.xyChart) == null ? void 0 : t.backgroundColor) || this.background,
+ titleColor: ((r = this.xyChart) == null ? void 0 : r.titleColor) || this.primaryTextColor,
+ xAxisTitleColor: ((i = this.xyChart) == null ? void 0 : i.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor: ((n = this.xyChart) == null ? void 0 : n.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor: ((a = this.xyChart) == null ? void 0 : a.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor: ((o = this.xyChart) == null ? void 0 : o.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor: ((s = this.xyChart) == null ? void 0 : s.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor: ((l = this.xyChart) == null ? void 0 : l.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor: ((c = this.xyChart) == null ? void 0 : c.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor: ((h = this.xyChart) == null ? void 0 : h.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette: ((u = this.xyChart) == null ? void 0 : u.plotColorPalette) || "#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"
+ }, this.packet = {
+ startByteColor: this.primaryTextColor,
+ endByteColor: this.primaryTextColor,
+ labelColor: this.primaryTextColor,
+ titleColor: this.primaryTextColor,
+ blockStrokeColor: this.primaryTextColor,
+ blockFillColor: this.background
+ }, this.radar = {
+ axisColor: ((f = this.radar) == null ? void 0 : f.axisColor) || this.lineColor,
+ axisStrokeWidth: ((p = this.radar) == null ? void 0 : p.axisStrokeWidth) || 2,
+ axisLabelFontSize: ((g = this.radar) == null ? void 0 : g.axisLabelFontSize) || 12,
+ curveOpacity: ((m = this.radar) == null ? void 0 : m.curveOpacity) || 0.5,
+ curveStrokeWidth: ((y = this.radar) == null ? void 0 : y.curveStrokeWidth) || 2,
+ graticuleColor: ((x = this.radar) == null ? void 0 : x.graticuleColor) || "#DEDEDE",
+ graticuleStrokeWidth: ((b = this.radar) == null ? void 0 : b.graticuleStrokeWidth) || 1,
+ graticuleOpacity: ((C = this.radar) == null ? void 0 : C.graticuleOpacity) || 0.3,
+ legendBoxSize: ((k = this.radar) == null ? void 0 : k.legendBoxSize) || 12,
+ legendFontSize: ((v = this.radar) == null ? void 0 : v.legendFontSize) || 12
+ }, this.classText = this.primaryTextColor, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? J(this.secondaryColor, 30) : this.secondaryColor), this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = q(this.secondaryColor, 20), this.git1 = q(this.pie2 || this.secondaryColor, 20), this.git2 = q(this.pie3 || this.tertiaryColor, 20), this.git3 = q(this.pie4 || T(this.primaryColor, { h: -30 }), 20), this.git4 = q(this.pie5 || T(this.primaryColor, { h: -60 }), 20), this.git5 = q(this.pie6 || T(this.primaryColor, { h: -90 }), 10), this.git6 = q(this.pie7 || T(this.primaryColor, { h: 60 }), 10), this.git7 = q(this.pie8 || T(this.primaryColor, { h: 120 }), 20), this.gitInv0 = this.gitInv0 || N(this.git0), this.gitInv1 = this.gitInv1 || N(this.git1), this.gitInv2 = this.gitInv2 || N(this.git2), this.gitInv3 = this.gitInv3 || N(this.git3), this.gitInv4 = this.gitInv4 || N(this.git4), this.gitInv5 = this.gitInv5 || N(this.git5), this.gitInv6 = this.gitInv6 || N(this.git6), this.gitInv7 = this.gitInv7 || N(this.git7), this.gitBranchLabel0 = this.gitBranchLabel0 || N(this.labelTextColor), this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor, this.gitBranchLabel3 = this.gitBranchLabel3 || N(this.labelTextColor), this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || q(this.background, 12), this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || q(this.background, 2), this.nodeBorder = this.nodeBorder || "#999";
+ }
+ calculate(t) {
+ if (typeof t != "object") {
+ this.updateColors();
+ return;
+ }
+ const r = Object.keys(t);
+ r.forEach((i) => {
+ this[i] = t[i];
+ }), this.updateColors(), r.forEach((i) => {
+ this[i] = t[i];
+ });
+ }
+}, d(Rr, "Theme"), Rr), T0 = /* @__PURE__ */ d((e) => {
+ const t = new S0();
+ return t.calculate(e), t;
+}, "getThemeVariables"), Ir, B0 = (Ir = class {
+ constructor() {
+ this.background = "#f4f4f4", this.primaryColor = "#ECECFF", this.secondaryColor = T(this.primaryColor, { h: 120 }), this.secondaryColor = "#ffffde", this.tertiaryColor = T(this.primaryColor, { h: -160 }), this.primaryBorderColor = qt(this.primaryColor, this.darkMode), this.secondaryBorderColor = qt(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = qt(this.tertiaryColor, this.darkMode), this.primaryTextColor = N(this.primaryColor), this.secondaryTextColor = N(this.secondaryColor), this.tertiaryTextColor = N(this.tertiaryColor), this.lineColor = N(this.background), this.textColor = N(this.background), this.background = "white", this.mainBkg = "#ECECFF", this.secondBkg = "#ffffde", this.lineColor = "#333333", this.border1 = "#9370DB", this.border2 = "#aaaa33", this.arrowheadColor = "#333333", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.labelBackground = "rgba(232,232,232, 0.8)", this.textColor = "#333", this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "calculated", this.edgeLabelBackground = "calculated", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "black", this.actorLineColor = "calculated", this.signalColor = "calculated", this.signalTextColor = "calculated", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "calculated", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "#fff5ad", this.noteTextColor = "calculated", this.activationBorderColor = "#666", this.activationBkgColor = "#f4f4f4", this.sequenceNumberColor = "white", this.sectionBkgColor = "calculated", this.altSectionBkgColor = "calculated", this.sectionBkgColor2 = "calculated", this.excludeBkgColor = "#eeeeee", this.taskBorderColor = "calculated", this.taskBkgColor = "calculated", this.taskTextLightColor = "calculated", this.taskTextColor = this.taskTextLightColor, this.taskTextDarkColor = "calculated", this.taskTextOutsideColor = this.taskTextDarkColor, this.taskTextClickableColor = "calculated", this.activeTaskBorderColor = "calculated", this.activeTaskBkgColor = "calculated", this.gridColor = "calculated", this.doneTaskBkgColor = "calculated", this.doneTaskBorderColor = "calculated", this.critBorderColor = "calculated", this.critBkgColor = "calculated", this.todayLineColor = "calculated", this.vertLineColor = "calculated", this.sectionBkgColor = Li(102, 102, 255, 0.49), this.altSectionBkgColor = "white", this.sectionBkgColor2 = "#fff400", this.taskBorderColor = "#534fbc", this.taskBkgColor = "#8a90dd", this.taskTextLightColor = "white", this.taskTextColor = "calculated", this.taskTextDarkColor = "black", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = "#534fbc", this.activeTaskBkgColor = "#bfc7ff", this.gridColor = "lightgrey", this.doneTaskBkgColor = "lightgrey", this.doneTaskBorderColor = "grey", this.critBorderColor = "#ff8888", this.critBkgColor = "red", this.todayLineColor = "red", this.vertLineColor = "navy", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.archEdgeColor = "calculated", this.archEdgeArrowColor = "calculated", this.archEdgeWidth = "3", this.archGroupBorderColor = this.primaryBorderColor, this.archGroupBorderWidth = "2px", this.rowOdd = "calculated", this.rowEven = "calculated", this.labelColor = "black", this.errorBkgColor = "#552222", this.errorTextColor = "#552222", this.updateColors();
+ }
+ updateColors() {
+ var t, r, i, n, a, o, s, l, c, h, u, f, p, g, m, y, x, b, C, k, v;
+ this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || T(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || T(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || T(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || T(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || T(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || T(this.primaryColor, { h: 210 }), this.cScale9 = this.cScale9 || T(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || T(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || T(this.primaryColor, { h: 330 }), this.cScalePeer1 = this.cScalePeer1 || J(this.secondaryColor, 45), this.cScalePeer2 = this.cScalePeer2 || J(this.tertiaryColor, 40);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScale" + _] = J(this["cScale" + _], 10), this["cScalePeer" + _] = this["cScalePeer" + _] || J(this["cScale" + _], 25);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleInv" + _] = this["cScaleInv" + _] || T(this["cScale" + _], { h: 180 });
+ for (let _ = 0; _ < 5; _++)
+ this["surface" + _] = this["surface" + _] || T(this.mainBkg, { h: 30, l: -(5 + _ * 5) }), this["surfacePeer" + _] = this["surfacePeer" + _] || T(this.mainBkg, { h: 30, l: -(7 + _ * 5) });
+ if (this.scaleLabelColor = this.scaleLabelColor !== "calculated" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor, this.labelTextColor !== "calculated") {
+ this.cScaleLabel0 = this.cScaleLabel0 || N(this.labelTextColor), this.cScaleLabel3 = this.cScaleLabel3 || N(this.labelTextColor);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleLabel" + _] = this["cScaleLabel" + _] || this.labelTextColor;
+ }
+ this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.titleColor = this.textColor, this.edgeLabelBackground = this.labelBackground, this.actorBorder = q(this.border1, 23), this.actorBkg = this.mainBkg, this.labelBoxBkgColor = this.actorBkg, this.signalColor = this.textColor, this.signalTextColor = this.textColor, this.labelBoxBorderColor = this.actorBorder, this.labelTextColor = this.actorTextColor, this.loopTextColor = this.actorTextColor, this.noteBorderColor = this.border2, this.noteTextColor = this.actorTextColor, this.actorLineColor = this.actorBorder, this.taskTextColor = this.taskTextLightColor, this.taskTextOutsideColor = this.taskTextDarkColor, this.archEdgeColor = this.lineColor, this.archEdgeArrowColor = this.lineColor, this.rowOdd = this.rowOdd || q(this.primaryColor, 75) || "#ffffff", this.rowEven = this.rowEven || q(this.primaryColor, 1), this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#f0f0f0", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.nodeBorder, this.specialStateColor = this.lineColor, this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.classText = this.primaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = T(this.primaryColor, { h: 64 }), this.fillType3 = T(this.secondaryColor, { h: 64 }), this.fillType4 = T(this.primaryColor, { h: -64 }), this.fillType5 = T(this.secondaryColor, { h: -64 }), this.fillType6 = T(this.primaryColor, { h: 128 }), this.fillType7 = T(this.secondaryColor, { h: 128 }), this.pie1 = this.pie1 || this.primaryColor, this.pie2 = this.pie2 || this.secondaryColor, this.pie3 = this.pie3 || T(this.tertiaryColor, { l: -40 }), this.pie4 = this.pie4 || T(this.primaryColor, { l: -10 }), this.pie5 = this.pie5 || T(this.secondaryColor, { l: -30 }), this.pie6 = this.pie6 || T(this.tertiaryColor, { l: -20 }), this.pie7 = this.pie7 || T(this.primaryColor, { h: 60, l: -20 }), this.pie8 = this.pie8 || T(this.primaryColor, { h: -60, l: -40 }), this.pie9 = this.pie9 || T(this.primaryColor, { h: 120, l: -40 }), this.pie10 = this.pie10 || T(this.primaryColor, { h: 60, l: -40 }), this.pie11 = this.pie11 || T(this.primaryColor, { h: -90, l: -40 }), this.pie12 = this.pie12 || T(this.primaryColor, { h: 120, l: -30 }), this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || T(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || T(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || T(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || T(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || T(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || T(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || Yi(this.quadrant1Fill) ? q(this.quadrant1Fill) : J(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.radar = {
+ axisColor: ((t = this.radar) == null ? void 0 : t.axisColor) || this.lineColor,
+ axisStrokeWidth: ((r = this.radar) == null ? void 0 : r.axisStrokeWidth) || 2,
+ axisLabelFontSize: ((i = this.radar) == null ? void 0 : i.axisLabelFontSize) || 12,
+ curveOpacity: ((n = this.radar) == null ? void 0 : n.curveOpacity) || 0.5,
+ curveStrokeWidth: ((a = this.radar) == null ? void 0 : a.curveStrokeWidth) || 2,
+ graticuleColor: ((o = this.radar) == null ? void 0 : o.graticuleColor) || "#DEDEDE",
+ graticuleStrokeWidth: ((s = this.radar) == null ? void 0 : s.graticuleStrokeWidth) || 1,
+ graticuleOpacity: ((l = this.radar) == null ? void 0 : l.graticuleOpacity) || 0.3,
+ legendBoxSize: ((c = this.radar) == null ? void 0 : c.legendBoxSize) || 12,
+ legendFontSize: ((h = this.radar) == null ? void 0 : h.legendFontSize) || 12
+ }, this.xyChart = {
+ backgroundColor: ((u = this.xyChart) == null ? void 0 : u.backgroundColor) || this.background,
+ titleColor: ((f = this.xyChart) == null ? void 0 : f.titleColor) || this.primaryTextColor,
+ xAxisTitleColor: ((p = this.xyChart) == null ? void 0 : p.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor: ((g = this.xyChart) == null ? void 0 : g.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor: ((m = this.xyChart) == null ? void 0 : m.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor: ((y = this.xyChart) == null ? void 0 : y.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor: ((x = this.xyChart) == null ? void 0 : x.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor: ((b = this.xyChart) == null ? void 0 : b.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor: ((C = this.xyChart) == null ? void 0 : C.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor: ((k = this.xyChart) == null ? void 0 : k.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette: ((v = this.xyChart) == null ? void 0 : v.plotColorPalette) || "#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"
+ }, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || this.labelBackground, this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = this.git0 || this.primaryColor, this.git1 = this.git1 || this.secondaryColor, this.git2 = this.git2 || this.tertiaryColor, this.git3 = this.git3 || T(this.primaryColor, { h: -30 }), this.git4 = this.git4 || T(this.primaryColor, { h: -60 }), this.git5 = this.git5 || T(this.primaryColor, { h: -90 }), this.git6 = this.git6 || T(this.primaryColor, { h: 60 }), this.git7 = this.git7 || T(this.primaryColor, { h: 120 }), this.darkMode ? (this.git0 = q(this.git0, 25), this.git1 = q(this.git1, 25), this.git2 = q(this.git2, 25), this.git3 = q(this.git3, 25), this.git4 = q(this.git4, 25), this.git5 = q(this.git5, 25), this.git6 = q(this.git6, 25), this.git7 = q(this.git7, 25)) : (this.git0 = J(this.git0, 25), this.git1 = J(this.git1, 25), this.git2 = J(this.git2, 25), this.git3 = J(this.git3, 25), this.git4 = J(this.git4, 25), this.git5 = J(this.git5, 25), this.git6 = J(this.git6, 25), this.git7 = J(this.git7, 25)), this.gitInv0 = this.gitInv0 || J(N(this.git0), 25), this.gitInv1 = this.gitInv1 || N(this.git1), this.gitInv2 = this.gitInv2 || N(this.git2), this.gitInv3 = this.gitInv3 || N(this.git3), this.gitInv4 = this.gitInv4 || N(this.git4), this.gitInv5 = this.gitInv5 || N(this.git5), this.gitInv6 = this.gitInv6 || N(this.git6), this.gitInv7 = this.gitInv7 || N(this.git7), this.gitBranchLabel0 = this.gitBranchLabel0 || N(this.labelTextColor), this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor, this.gitBranchLabel3 = this.gitBranchLabel3 || N(this.labelTextColor), this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || ya, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || xa;
+ }
+ calculate(t) {
+ if (Object.keys(this).forEach((i) => {
+ this[i] === "calculated" && (this[i] = void 0);
+ }), typeof t != "object") {
+ this.updateColors();
+ return;
+ }
+ const r = Object.keys(t);
+ r.forEach((i) => {
+ this[i] = t[i];
+ }), this.updateColors(), r.forEach((i) => {
+ this[i] = t[i];
+ });
+ }
+}, d(Ir, "Theme"), Ir), L0 = /* @__PURE__ */ d((e) => {
+ const t = new B0();
+ return t.calculate(e), t;
+}, "getThemeVariables"), Pr, A0 = (Pr = class {
+ constructor() {
+ this.background = "#f4f4f4", this.primaryColor = "#cde498", this.secondaryColor = "#cdffb2", this.background = "white", this.mainBkg = "#cde498", this.secondBkg = "#cdffb2", this.lineColor = "green", this.border1 = "#13540c", this.border2 = "#6eaa49", this.arrowheadColor = "green", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.tertiaryColor = q("#cde498", 10), this.primaryBorderColor = qt(this.primaryColor, this.darkMode), this.secondaryBorderColor = qt(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = qt(this.tertiaryColor, this.darkMode), this.primaryTextColor = N(this.primaryColor), this.secondaryTextColor = N(this.secondaryColor), this.tertiaryTextColor = N(this.primaryColor), this.lineColor = N(this.background), this.textColor = N(this.background), this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "#333", this.edgeLabelBackground = "#e8e8e8", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "black", this.actorLineColor = "calculated", this.signalColor = "#333", this.signalTextColor = "#333", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "#326932", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "#fff5ad", this.noteTextColor = "calculated", this.activationBorderColor = "#666", this.activationBkgColor = "#f4f4f4", this.sequenceNumberColor = "white", this.sectionBkgColor = "#6eaa49", this.altSectionBkgColor = "white", this.sectionBkgColor2 = "#6eaa49", this.excludeBkgColor = "#eeeeee", this.taskBorderColor = "calculated", this.taskBkgColor = "#487e3a", this.taskTextLightColor = "white", this.taskTextColor = "calculated", this.taskTextDarkColor = "black", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = "calculated", this.activeTaskBkgColor = "calculated", this.gridColor = "lightgrey", this.doneTaskBkgColor = "lightgrey", this.doneTaskBorderColor = "grey", this.critBorderColor = "#ff8888", this.critBkgColor = "red", this.todayLineColor = "red", this.vertLineColor = "#00BFFF", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.archEdgeColor = "calculated", this.archEdgeArrowColor = "calculated", this.archEdgeWidth = "3", this.archGroupBorderColor = this.primaryBorderColor, this.archGroupBorderWidth = "2px", this.labelColor = "black", this.errorBkgColor = "#552222", this.errorTextColor = "#552222";
+ }
+ updateColors() {
+ var t, r, i, n, a, o, s, l, c, h, u, f, p, g, m, y, x, b, C, k, v;
+ this.actorBorder = J(this.mainBkg, 20), this.actorBkg = this.mainBkg, this.labelBoxBkgColor = this.actorBkg, this.labelTextColor = this.actorTextColor, this.loopTextColor = this.actorTextColor, this.noteBorderColor = this.border2, this.noteTextColor = this.actorTextColor, this.actorLineColor = this.actorBorder, this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || T(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || T(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || T(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || T(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || T(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || T(this.primaryColor, { h: 210 }), this.cScale9 = this.cScale9 || T(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || T(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || T(this.primaryColor, { h: 330 }), this.cScalePeer1 = this.cScalePeer1 || J(this.secondaryColor, 45), this.cScalePeer2 = this.cScalePeer2 || J(this.tertiaryColor, 40);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScale" + _] = J(this["cScale" + _], 10), this["cScalePeer" + _] = this["cScalePeer" + _] || J(this["cScale" + _], 25);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleInv" + _] = this["cScaleInv" + _] || T(this["cScale" + _], { h: 180 });
+ this.scaleLabelColor = this.scaleLabelColor !== "calculated" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleLabel" + _] = this["cScaleLabel" + _] || this.scaleLabelColor;
+ for (let _ = 0; _ < 5; _++)
+ this["surface" + _] = this["surface" + _] || T(this.mainBkg, { h: 30, s: -30, l: -(5 + _ * 5) }), this["surfacePeer" + _] = this["surfacePeer" + _] || T(this.mainBkg, { h: 30, s: -30, l: -(8 + _ * 5) });
+ this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.taskBorderColor = this.border1, this.taskTextColor = this.taskTextLightColor, this.taskTextOutsideColor = this.taskTextDarkColor, this.activeTaskBorderColor = this.taskBorderColor, this.activeTaskBkgColor = this.mainBkg, this.archEdgeColor = this.lineColor, this.archEdgeArrowColor = this.lineColor, this.rowOdd = this.rowOdd || q(this.mainBkg, 75) || "#ffffff", this.rowEven = this.rowEven || q(this.mainBkg, 20), this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#f0f0f0", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.primaryBorderColor, this.specialStateColor = this.lineColor, this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.classText = this.primaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = T(this.primaryColor, { h: 64 }), this.fillType3 = T(this.secondaryColor, { h: 64 }), this.fillType4 = T(this.primaryColor, { h: -64 }), this.fillType5 = T(this.secondaryColor, { h: -64 }), this.fillType6 = T(this.primaryColor, { h: 128 }), this.fillType7 = T(this.secondaryColor, { h: 128 }), this.pie1 = this.pie1 || this.primaryColor, this.pie2 = this.pie2 || this.secondaryColor, this.pie3 = this.pie3 || this.tertiaryColor, this.pie4 = this.pie4 || T(this.primaryColor, { l: -30 }), this.pie5 = this.pie5 || T(this.secondaryColor, { l: -30 }), this.pie6 = this.pie6 || T(this.tertiaryColor, { h: 40, l: -40 }), this.pie7 = this.pie7 || T(this.primaryColor, { h: 60, l: -10 }), this.pie8 = this.pie8 || T(this.primaryColor, { h: -60, l: -10 }), this.pie9 = this.pie9 || T(this.primaryColor, { h: 120, l: 0 }), this.pie10 = this.pie10 || T(this.primaryColor, { h: 60, l: -50 }), this.pie11 = this.pie11 || T(this.primaryColor, { h: -60, l: -50 }), this.pie12 = this.pie12 || T(this.primaryColor, { h: 120, l: -50 }), this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || T(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || T(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || T(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || T(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || T(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || T(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || Yi(this.quadrant1Fill) ? q(this.quadrant1Fill) : J(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.packet = {
+ startByteColor: this.primaryTextColor,
+ endByteColor: this.primaryTextColor,
+ labelColor: this.primaryTextColor,
+ titleColor: this.primaryTextColor,
+ blockStrokeColor: this.primaryTextColor,
+ blockFillColor: this.mainBkg
+ }, this.radar = {
+ axisColor: ((t = this.radar) == null ? void 0 : t.axisColor) || this.lineColor,
+ axisStrokeWidth: ((r = this.radar) == null ? void 0 : r.axisStrokeWidth) || 2,
+ axisLabelFontSize: ((i = this.radar) == null ? void 0 : i.axisLabelFontSize) || 12,
+ curveOpacity: ((n = this.radar) == null ? void 0 : n.curveOpacity) || 0.5,
+ curveStrokeWidth: ((a = this.radar) == null ? void 0 : a.curveStrokeWidth) || 2,
+ graticuleColor: ((o = this.radar) == null ? void 0 : o.graticuleColor) || "#DEDEDE",
+ graticuleStrokeWidth: ((s = this.radar) == null ? void 0 : s.graticuleStrokeWidth) || 1,
+ graticuleOpacity: ((l = this.radar) == null ? void 0 : l.graticuleOpacity) || 0.3,
+ legendBoxSize: ((c = this.radar) == null ? void 0 : c.legendBoxSize) || 12,
+ legendFontSize: ((h = this.radar) == null ? void 0 : h.legendFontSize) || 12
+ }, this.xyChart = {
+ backgroundColor: ((u = this.xyChart) == null ? void 0 : u.backgroundColor) || this.background,
+ titleColor: ((f = this.xyChart) == null ? void 0 : f.titleColor) || this.primaryTextColor,
+ xAxisTitleColor: ((p = this.xyChart) == null ? void 0 : p.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor: ((g = this.xyChart) == null ? void 0 : g.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor: ((m = this.xyChart) == null ? void 0 : m.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor: ((y = this.xyChart) == null ? void 0 : y.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor: ((x = this.xyChart) == null ? void 0 : x.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor: ((b = this.xyChart) == null ? void 0 : b.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor: ((C = this.xyChart) == null ? void 0 : C.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor: ((k = this.xyChart) == null ? void 0 : k.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette: ((v = this.xyChart) == null ? void 0 : v.plotColorPalette) || "#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"
+ }, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground, this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = this.git0 || this.primaryColor, this.git1 = this.git1 || this.secondaryColor, this.git2 = this.git2 || this.tertiaryColor, this.git3 = this.git3 || T(this.primaryColor, { h: -30 }), this.git4 = this.git4 || T(this.primaryColor, { h: -60 }), this.git5 = this.git5 || T(this.primaryColor, { h: -90 }), this.git6 = this.git6 || T(this.primaryColor, { h: 60 }), this.git7 = this.git7 || T(this.primaryColor, { h: 120 }), this.darkMode ? (this.git0 = q(this.git0, 25), this.git1 = q(this.git1, 25), this.git2 = q(this.git2, 25), this.git3 = q(this.git3, 25), this.git4 = q(this.git4, 25), this.git5 = q(this.git5, 25), this.git6 = q(this.git6, 25), this.git7 = q(this.git7, 25)) : (this.git0 = J(this.git0, 25), this.git1 = J(this.git1, 25), this.git2 = J(this.git2, 25), this.git3 = J(this.git3, 25), this.git4 = J(this.git4, 25), this.git5 = J(this.git5, 25), this.git6 = J(this.git6, 25), this.git7 = J(this.git7, 25)), this.gitInv0 = this.gitInv0 || N(this.git0), this.gitInv1 = this.gitInv1 || N(this.git1), this.gitInv2 = this.gitInv2 || N(this.git2), this.gitInv3 = this.gitInv3 || N(this.git3), this.gitInv4 = this.gitInv4 || N(this.git4), this.gitInv5 = this.gitInv5 || N(this.git5), this.gitInv6 = this.gitInv6 || N(this.git6), this.gitInv7 = this.gitInv7 || N(this.git7), this.gitBranchLabel0 = this.gitBranchLabel0 || N(this.labelTextColor), this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor, this.gitBranchLabel3 = this.gitBranchLabel3 || N(this.labelTextColor), this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || ya, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || xa;
+ }
+ calculate(t) {
+ if (typeof t != "object") {
+ this.updateColors();
+ return;
+ }
+ const r = Object.keys(t);
+ r.forEach((i) => {
+ this[i] = t[i];
+ }), this.updateColors(), r.forEach((i) => {
+ this[i] = t[i];
+ });
+ }
+}, d(Pr, "Theme"), Pr), M0 = /* @__PURE__ */ d((e) => {
+ const t = new A0();
+ return t.calculate(e), t;
+}, "getThemeVariables"), Nr, E0 = (Nr = class {
+ constructor() {
+ this.primaryColor = "#eee", this.contrast = "#707070", this.secondaryColor = q(this.contrast, 55), this.background = "#ffffff", this.tertiaryColor = T(this.primaryColor, { h: -160 }), this.primaryBorderColor = qt(this.primaryColor, this.darkMode), this.secondaryBorderColor = qt(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = qt(this.tertiaryColor, this.darkMode), this.primaryTextColor = N(this.primaryColor), this.secondaryTextColor = N(this.secondaryColor), this.tertiaryTextColor = N(this.tertiaryColor), this.lineColor = N(this.background), this.textColor = N(this.background), this.mainBkg = "#eee", this.secondBkg = "calculated", this.lineColor = "#666", this.border1 = "#999", this.border2 = "calculated", this.note = "#ffa", this.text = "#333", this.critical = "#d42", this.done = "#bbb", this.arrowheadColor = "#333333", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "calculated", this.edgeLabelBackground = "white", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "calculated", this.actorLineColor = this.actorBorder, this.signalColor = "calculated", this.signalTextColor = "calculated", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "calculated", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "calculated", this.noteTextColor = "calculated", this.activationBorderColor = "#666", this.activationBkgColor = "#f4f4f4", this.sequenceNumberColor = "white", this.sectionBkgColor = "calculated", this.altSectionBkgColor = "white", this.sectionBkgColor2 = "calculated", this.excludeBkgColor = "#eeeeee", this.taskBorderColor = "calculated", this.taskBkgColor = "calculated", this.taskTextLightColor = "white", this.taskTextColor = "calculated", this.taskTextDarkColor = "calculated", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = "calculated", this.activeTaskBkgColor = "calculated", this.gridColor = "calculated", this.doneTaskBkgColor = "calculated", this.doneTaskBorderColor = "calculated", this.critBkgColor = "calculated", this.critBorderColor = "calculated", this.todayLineColor = "calculated", this.vertLineColor = "calculated", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.archEdgeColor = "calculated", this.archEdgeArrowColor = "calculated", this.archEdgeWidth = "3", this.archGroupBorderColor = this.primaryBorderColor, this.archGroupBorderWidth = "2px", this.rowOdd = this.rowOdd || q(this.mainBkg, 75) || "#ffffff", this.rowEven = this.rowEven || "#f4f4f4", this.labelColor = "black", this.errorBkgColor = "#552222", this.errorTextColor = "#552222";
+ }
+ updateColors() {
+ var t, r, i, n, a, o, s, l, c, h, u, f, p, g, m, y, x, b, C, k, v;
+ this.secondBkg = q(this.contrast, 55), this.border2 = this.contrast, this.actorBorder = q(this.border1, 23), this.actorBkg = this.mainBkg, this.actorTextColor = this.text, this.actorLineColor = this.actorBorder, this.signalColor = this.text, this.signalTextColor = this.text, this.labelBoxBkgColor = this.actorBkg, this.labelBoxBorderColor = this.actorBorder, this.labelTextColor = this.text, this.loopTextColor = this.text, this.noteBorderColor = "#999", this.noteBkgColor = "#666", this.noteTextColor = "#fff", this.cScale0 = this.cScale0 || "#555", this.cScale1 = this.cScale1 || "#F4F4F4", this.cScale2 = this.cScale2 || "#555", this.cScale3 = this.cScale3 || "#BBB", this.cScale4 = this.cScale4 || "#777", this.cScale5 = this.cScale5 || "#999", this.cScale6 = this.cScale6 || "#DDD", this.cScale7 = this.cScale7 || "#FFF", this.cScale8 = this.cScale8 || "#DDD", this.cScale9 = this.cScale9 || "#BBB", this.cScale10 = this.cScale10 || "#999", this.cScale11 = this.cScale11 || "#777";
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleInv" + _] = this["cScaleInv" + _] || N(this["cScale" + _]);
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this.darkMode ? this["cScalePeer" + _] = this["cScalePeer" + _] || q(this["cScale" + _], 10) : this["cScalePeer" + _] = this["cScalePeer" + _] || J(this["cScale" + _], 10);
+ this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? "black" : this.labelTextColor), this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1, this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1;
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["cScaleLabel" + _] = this["cScaleLabel" + _] || this.scaleLabelColor;
+ for (let _ = 0; _ < 5; _++)
+ this["surface" + _] = this["surface" + _] || T(this.mainBkg, { l: -(5 + _ * 5) }), this["surfacePeer" + _] = this["surfacePeer" + _] || T(this.mainBkg, { l: -(8 + _ * 5) });
+ this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.titleColor = this.text, this.sectionBkgColor = q(this.contrast, 30), this.sectionBkgColor2 = q(this.contrast, 30), this.taskBorderColor = J(this.contrast, 10), this.taskBkgColor = this.contrast, this.taskTextColor = this.taskTextLightColor, this.taskTextDarkColor = this.text, this.taskTextOutsideColor = this.taskTextDarkColor, this.activeTaskBorderColor = this.taskBorderColor, this.activeTaskBkgColor = this.mainBkg, this.gridColor = q(this.border1, 30), this.doneTaskBkgColor = this.done, this.doneTaskBorderColor = this.lineColor, this.critBkgColor = this.critical, this.critBorderColor = J(this.critBkgColor, 10), this.todayLineColor = this.critBkgColor, this.vertLineColor = this.critBkgColor, this.archEdgeColor = this.lineColor, this.archEdgeArrowColor = this.lineColor, this.transitionColor = this.transitionColor || "#000", this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#f4f4f4", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.stateBorder = this.stateBorder || "#000", this.innerEndBackground = this.primaryBorderColor, this.specialStateColor = "#222", this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.classText = this.primaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = T(this.primaryColor, { h: 64 }), this.fillType3 = T(this.secondaryColor, { h: 64 }), this.fillType4 = T(this.primaryColor, { h: -64 }), this.fillType5 = T(this.secondaryColor, { h: -64 }), this.fillType6 = T(this.primaryColor, { h: 128 }), this.fillType7 = T(this.secondaryColor, { h: 128 });
+ for (let _ = 0; _ < this.THEME_COLOR_LIMIT; _++)
+ this["pie" + _] = this["cScale" + _];
+ this.pie12 = this.pie0, this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || T(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || T(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || T(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || T(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || T(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || T(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || Yi(this.quadrant1Fill) ? q(this.quadrant1Fill) : J(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.xyChart = {
+ backgroundColor: ((t = this.xyChart) == null ? void 0 : t.backgroundColor) || this.background,
+ titleColor: ((r = this.xyChart) == null ? void 0 : r.titleColor) || this.primaryTextColor,
+ xAxisTitleColor: ((i = this.xyChart) == null ? void 0 : i.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor: ((n = this.xyChart) == null ? void 0 : n.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor: ((a = this.xyChart) == null ? void 0 : a.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor: ((o = this.xyChart) == null ? void 0 : o.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor: ((s = this.xyChart) == null ? void 0 : s.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor: ((l = this.xyChart) == null ? void 0 : l.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor: ((c = this.xyChart) == null ? void 0 : c.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor: ((h = this.xyChart) == null ? void 0 : h.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette: ((u = this.xyChart) == null ? void 0 : u.plotColorPalette) || "#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"
+ }, this.radar = {
+ axisColor: ((f = this.radar) == null ? void 0 : f.axisColor) || this.lineColor,
+ axisStrokeWidth: ((p = this.radar) == null ? void 0 : p.axisStrokeWidth) || 2,
+ axisLabelFontSize: ((g = this.radar) == null ? void 0 : g.axisLabelFontSize) || 12,
+ curveOpacity: ((m = this.radar) == null ? void 0 : m.curveOpacity) || 0.5,
+ curveStrokeWidth: ((y = this.radar) == null ? void 0 : y.curveStrokeWidth) || 2,
+ graticuleColor: ((x = this.radar) == null ? void 0 : x.graticuleColor) || "#DEDEDE",
+ graticuleStrokeWidth: ((b = this.radar) == null ? void 0 : b.graticuleStrokeWidth) || 1,
+ graticuleOpacity: ((C = this.radar) == null ? void 0 : C.graticuleOpacity) || 0.3,
+ legendBoxSize: ((k = this.radar) == null ? void 0 : k.legendBoxSize) || 12,
+ legendFontSize: ((v = this.radar) == null ? void 0 : v.legendFontSize) || 12
+ }, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground, this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = J(this.pie1, 25) || this.primaryColor, this.git1 = this.pie2 || this.secondaryColor, this.git2 = this.pie3 || this.tertiaryColor, this.git3 = this.pie4 || T(this.primaryColor, { h: -30 }), this.git4 = this.pie5 || T(this.primaryColor, { h: -60 }), this.git5 = this.pie6 || T(this.primaryColor, { h: -90 }), this.git6 = this.pie7 || T(this.primaryColor, { h: 60 }), this.git7 = this.pie8 || T(this.primaryColor, { h: 120 }), this.gitInv0 = this.gitInv0 || N(this.git0), this.gitInv1 = this.gitInv1 || N(this.git1), this.gitInv2 = this.gitInv2 || N(this.git2), this.gitInv3 = this.gitInv3 || N(this.git3), this.gitInv4 = this.gitInv4 || N(this.git4), this.gitInv5 = this.gitInv5 || N(this.git5), this.gitInv6 = this.gitInv6 || N(this.git6), this.gitInv7 = this.gitInv7 || N(this.git7), this.branchLabelColor = this.branchLabelColor || this.labelTextColor, this.gitBranchLabel0 = this.branchLabelColor, this.gitBranchLabel1 = "white", this.gitBranchLabel2 = this.branchLabelColor, this.gitBranchLabel3 = "white", this.gitBranchLabel4 = this.branchLabelColor, this.gitBranchLabel5 = this.branchLabelColor, this.gitBranchLabel6 = this.branchLabelColor, this.gitBranchLabel7 = this.branchLabelColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || ya, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || xa;
+ }
+ calculate(t) {
+ if (typeof t != "object") {
+ this.updateColors();
+ return;
+ }
+ const r = Object.keys(t);
+ r.forEach((i) => {
+ this[i] = t[i];
+ }), this.updateColors(), r.forEach((i) => {
+ this[i] = t[i];
+ });
+ }
+}, d(Nr, "Theme"), Nr), F0 = /* @__PURE__ */ d((e) => {
+ const t = new E0();
+ return t.calculate(e), t;
+}, "getThemeVariables"), De = {
+ base: {
+ getThemeVariables: k0
+ },
+ dark: {
+ getThemeVariables: T0
+ },
+ default: {
+ getThemeVariables: L0
+ },
+ forest: {
+ getThemeVariables: M0
+ },
+ neutral: {
+ getThemeVariables: F0
+ }
+}, ge = {
+ flowchart: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ subGraphTitleMargin: {
+ top: 0,
+ bottom: 0
+ },
+ diagramPadding: 8,
+ htmlLabels: !0,
+ nodeSpacing: 50,
+ rankSpacing: 50,
+ curve: "basis",
+ padding: 15,
+ defaultRenderer: "dagre-wrapper",
+ wrappingWidth: 200,
+ inheritDir: !1
+ },
+ sequence: {
+ useMaxWidth: !0,
+ hideUnusedParticipants: !1,
+ activationWidth: 10,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ actorMargin: 50,
+ width: 150,
+ height: 65,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: "center",
+ mirrorActors: !0,
+ forceMenus: !1,
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ showSequenceNumbers: !1,
+ actorFontSize: 14,
+ actorFontFamily: '"Open Sans", sans-serif',
+ actorFontWeight: 400,
+ noteFontSize: 14,
+ noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ noteFontWeight: 400,
+ noteAlign: "center",
+ messageFontSize: 16,
+ messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ messageFontWeight: 400,
+ wrap: !1,
+ wrapPadding: 10,
+ labelBoxWidth: 50,
+ labelBoxHeight: 20
+ },
+ gantt: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ barHeight: 20,
+ barGap: 4,
+ topPadding: 50,
+ rightPadding: 75,
+ leftPadding: 75,
+ gridLineStartPadding: 35,
+ fontSize: 11,
+ sectionFontSize: 11,
+ numberSectionStyles: 4,
+ axisFormat: "%Y-%m-%d",
+ topAxis: !1,
+ displayMode: "",
+ weekday: "sunday"
+ },
+ journey: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ maxLabelWidth: 360,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: "center",
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: "fo",
+ actorColours: [
+ "#8FBC8F",
+ "#7CFC00",
+ "#00FFFF",
+ "#20B2AA",
+ "#B0E0E6",
+ "#FFFFE0"
+ ],
+ sectionFills: [
+ "#191970",
+ "#8B008B",
+ "#4B0082",
+ "#2F4F4F",
+ "#800000",
+ "#8B4513",
+ "#00008B"
+ ],
+ sectionColours: [
+ "#fff"
+ ],
+ titleColor: "",
+ titleFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ titleFontSize: "4ex"
+ },
+ class: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ arrowMarkerAbsolute: !1,
+ dividerMargin: 10,
+ padding: 5,
+ textHeight: 10,
+ defaultRenderer: "dagre-wrapper",
+ htmlLabels: !1,
+ hideEmptyMembersBox: !1
+ },
+ state: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ dividerMargin: 10,
+ sizeUnit: 5,
+ padding: 8,
+ textHeight: 10,
+ titleShift: -15,
+ noteMargin: 10,
+ forkWidth: 70,
+ forkHeight: 7,
+ miniPadding: 2,
+ fontSizeFactor: 5.02,
+ fontSize: 24,
+ labelHeight: 16,
+ edgeLengthFactor: "20",
+ compositTitleSize: 35,
+ radius: 5,
+ defaultRenderer: "dagre-wrapper"
+ },
+ er: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 20,
+ layoutDirection: "TB",
+ minEntityWidth: 100,
+ minEntityHeight: 75,
+ entityPadding: 15,
+ nodeSpacing: 140,
+ rankSpacing: 80,
+ stroke: "gray",
+ fill: "honeydew",
+ fontSize: 12
+ },
+ pie: {
+ useMaxWidth: !0,
+ textPosition: 0.75
+ },
+ quadrantChart: {
+ useMaxWidth: !0,
+ chartWidth: 500,
+ chartHeight: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ quadrantPadding: 5,
+ xAxisLabelPadding: 5,
+ yAxisLabelPadding: 5,
+ xAxisLabelFontSize: 16,
+ yAxisLabelFontSize: 16,
+ quadrantLabelFontSize: 16,
+ quadrantTextTopPadding: 5,
+ pointTextPadding: 5,
+ pointLabelFontSize: 12,
+ pointRadius: 5,
+ xAxisPosition: "top",
+ yAxisPosition: "left",
+ quadrantInternalBorderStrokeWidth: 1,
+ quadrantExternalBorderStrokeWidth: 2
+ },
+ xyChart: {
+ useMaxWidth: !0,
+ width: 700,
+ height: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ showDataLabel: !1,
+ showTitle: !0,
+ xAxis: {
+ $ref: "#/$defs/XYChartAxisConfig",
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2
+ },
+ yAxis: {
+ $ref: "#/$defs/XYChartAxisConfig",
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2
+ },
+ chartOrientation: "vertical",
+ plotReservedSpacePercent: 50
+ },
+ requirement: {
+ useMaxWidth: !0,
+ rect_fill: "#f9f9f9",
+ text_color: "#333",
+ rect_border_size: "0.5px",
+ rect_border_color: "#bbb",
+ rect_min_width: 200,
+ rect_min_height: 200,
+ fontSize: 14,
+ rect_padding: 10,
+ line_height: 20
+ },
+ mindmap: {
+ useMaxWidth: !0,
+ padding: 10,
+ maxNodeWidth: 200
+ },
+ kanban: {
+ useMaxWidth: !0,
+ padding: 8,
+ sectionWidth: 200,
+ ticketBaseUrl: ""
+ },
+ timeline: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: "center",
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: "fo",
+ actorColours: [
+ "#8FBC8F",
+ "#7CFC00",
+ "#00FFFF",
+ "#20B2AA",
+ "#B0E0E6",
+ "#FFFFE0"
+ ],
+ sectionFills: [
+ "#191970",
+ "#8B008B",
+ "#4B0082",
+ "#2F4F4F",
+ "#800000",
+ "#8B4513",
+ "#00008B"
+ ],
+ sectionColours: [
+ "#fff"
+ ],
+ disableMulticolor: !1
+ },
+ gitGraph: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 8,
+ nodeLabel: {
+ width: 75,
+ height: 100,
+ x: -25,
+ y: 0
+ },
+ mainBranchName: "main",
+ mainBranchOrder: 0,
+ showCommitLabel: !0,
+ showBranches: !0,
+ rotateCommitLabel: !0,
+ parallelCommits: !1,
+ arrowMarkerAbsolute: !1
+ },
+ c4: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ c4ShapeMargin: 50,
+ c4ShapePadding: 20,
+ width: 216,
+ height: 60,
+ boxMargin: 10,
+ c4ShapeInRow: 4,
+ nextLinePaddingX: 0,
+ c4BoundaryInRow: 2,
+ personFontSize: 14,
+ personFontFamily: '"Open Sans", sans-serif',
+ personFontWeight: "normal",
+ external_personFontSize: 14,
+ external_personFontFamily: '"Open Sans", sans-serif',
+ external_personFontWeight: "normal",
+ systemFontSize: 14,
+ systemFontFamily: '"Open Sans", sans-serif',
+ systemFontWeight: "normal",
+ external_systemFontSize: 14,
+ external_systemFontFamily: '"Open Sans", sans-serif',
+ external_systemFontWeight: "normal",
+ system_dbFontSize: 14,
+ system_dbFontFamily: '"Open Sans", sans-serif',
+ system_dbFontWeight: "normal",
+ external_system_dbFontSize: 14,
+ external_system_dbFontFamily: '"Open Sans", sans-serif',
+ external_system_dbFontWeight: "normal",
+ system_queueFontSize: 14,
+ system_queueFontFamily: '"Open Sans", sans-serif',
+ system_queueFontWeight: "normal",
+ external_system_queueFontSize: 14,
+ external_system_queueFontFamily: '"Open Sans", sans-serif',
+ external_system_queueFontWeight: "normal",
+ boundaryFontSize: 14,
+ boundaryFontFamily: '"Open Sans", sans-serif',
+ boundaryFontWeight: "normal",
+ messageFontSize: 12,
+ messageFontFamily: '"Open Sans", sans-serif',
+ messageFontWeight: "normal",
+ containerFontSize: 14,
+ containerFontFamily: '"Open Sans", sans-serif',
+ containerFontWeight: "normal",
+ external_containerFontSize: 14,
+ external_containerFontFamily: '"Open Sans", sans-serif',
+ external_containerFontWeight: "normal",
+ container_dbFontSize: 14,
+ container_dbFontFamily: '"Open Sans", sans-serif',
+ container_dbFontWeight: "normal",
+ external_container_dbFontSize: 14,
+ external_container_dbFontFamily: '"Open Sans", sans-serif',
+ external_container_dbFontWeight: "normal",
+ container_queueFontSize: 14,
+ container_queueFontFamily: '"Open Sans", sans-serif',
+ container_queueFontWeight: "normal",
+ external_container_queueFontSize: 14,
+ external_container_queueFontFamily: '"Open Sans", sans-serif',
+ external_container_queueFontWeight: "normal",
+ componentFontSize: 14,
+ componentFontFamily: '"Open Sans", sans-serif',
+ componentFontWeight: "normal",
+ external_componentFontSize: 14,
+ external_componentFontFamily: '"Open Sans", sans-serif',
+ external_componentFontWeight: "normal",
+ component_dbFontSize: 14,
+ component_dbFontFamily: '"Open Sans", sans-serif',
+ component_dbFontWeight: "normal",
+ external_component_dbFontSize: 14,
+ external_component_dbFontFamily: '"Open Sans", sans-serif',
+ external_component_dbFontWeight: "normal",
+ component_queueFontSize: 14,
+ component_queueFontFamily: '"Open Sans", sans-serif',
+ component_queueFontWeight: "normal",
+ external_component_queueFontSize: 14,
+ external_component_queueFontFamily: '"Open Sans", sans-serif',
+ external_component_queueFontWeight: "normal",
+ wrap: !0,
+ wrapPadding: 10,
+ person_bg_color: "#08427B",
+ person_border_color: "#073B6F",
+ external_person_bg_color: "#686868",
+ external_person_border_color: "#8A8A8A",
+ system_bg_color: "#1168BD",
+ system_border_color: "#3C7FC0",
+ system_db_bg_color: "#1168BD",
+ system_db_border_color: "#3C7FC0",
+ system_queue_bg_color: "#1168BD",
+ system_queue_border_color: "#3C7FC0",
+ external_system_bg_color: "#999999",
+ external_system_border_color: "#8A8A8A",
+ external_system_db_bg_color: "#999999",
+ external_system_db_border_color: "#8A8A8A",
+ external_system_queue_bg_color: "#999999",
+ external_system_queue_border_color: "#8A8A8A",
+ container_bg_color: "#438DD5",
+ container_border_color: "#3C7FC0",
+ container_db_bg_color: "#438DD5",
+ container_db_border_color: "#3C7FC0",
+ container_queue_bg_color: "#438DD5",
+ container_queue_border_color: "#3C7FC0",
+ external_container_bg_color: "#B3B3B3",
+ external_container_border_color: "#A6A6A6",
+ external_container_db_bg_color: "#B3B3B3",
+ external_container_db_border_color: "#A6A6A6",
+ external_container_queue_bg_color: "#B3B3B3",
+ external_container_queue_border_color: "#A6A6A6",
+ component_bg_color: "#85BBF0",
+ component_border_color: "#78A8D8",
+ component_db_bg_color: "#85BBF0",
+ component_db_border_color: "#78A8D8",
+ component_queue_bg_color: "#85BBF0",
+ component_queue_border_color: "#78A8D8",
+ external_component_bg_color: "#CCCCCC",
+ external_component_border_color: "#BFBFBF",
+ external_component_db_bg_color: "#CCCCCC",
+ external_component_db_border_color: "#BFBFBF",
+ external_component_queue_bg_color: "#CCCCCC",
+ external_component_queue_border_color: "#BFBFBF"
+ },
+ sankey: {
+ useMaxWidth: !0,
+ width: 600,
+ height: 400,
+ linkColor: "gradient",
+ nodeAlignment: "justify",
+ showValues: !0,
+ prefix: "",
+ suffix: ""
+ },
+ block: {
+ useMaxWidth: !0,
+ padding: 8
+ },
+ packet: {
+ useMaxWidth: !0,
+ rowHeight: 32,
+ bitWidth: 32,
+ bitsPerRow: 32,
+ showBits: !0,
+ paddingX: 5,
+ paddingY: 5
+ },
+ architecture: {
+ useMaxWidth: !0,
+ padding: 40,
+ iconSize: 80,
+ fontSize: 16
+ },
+ radar: {
+ useMaxWidth: !0,
+ width: 600,
+ height: 600,
+ marginTop: 50,
+ marginRight: 50,
+ marginBottom: 50,
+ marginLeft: 50,
+ axisScaleFactor: 1,
+ axisLabelFactor: 1.05,
+ curveTension: 0.17
+ },
+ theme: "default",
+ look: "classic",
+ handDrawnSeed: 0,
+ layout: "dagre",
+ maxTextSize: 5e4,
+ maxEdges: 500,
+ darkMode: !1,
+ fontFamily: '"trebuchet ms", verdana, arial, sans-serif;',
+ logLevel: 5,
+ securityLevel: "strict",
+ startOnLoad: !0,
+ arrowMarkerAbsolute: !1,
+ secure: [
+ "secure",
+ "securityLevel",
+ "startOnLoad",
+ "maxTextSize",
+ "suppressErrorRendering",
+ "maxEdges"
+ ],
+ legacyMathML: !1,
+ forceLegacyMathML: !1,
+ deterministicIds: !1,
+ fontSize: 16,
+ markdownAutoWrap: !0,
+ suppressErrorRendering: !1
+}, Bh = {
+ ...ge,
+ // Set, even though they're `undefined` so that `configKeys` finds these keys
+ // TODO: Should we replace these with `null` so that they can go in the JSON Schema?
+ deterministicIDSeed: void 0,
+ elk: {
+ // mergeEdges is needed here to be considered
+ mergeEdges: !1,
+ nodePlacementStrategy: "BRANDES_KOEPF"
+ },
+ themeCSS: void 0,
+ // add non-JSON default config values
+ themeVariables: De.default.getThemeVariables(),
+ sequence: {
+ ...ge.sequence,
+ messageFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight
+ };
+ }, "messageFont"),
+ noteFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.noteFontFamily,
+ fontSize: this.noteFontSize,
+ fontWeight: this.noteFontWeight
+ };
+ }, "noteFont"),
+ actorFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.actorFontFamily,
+ fontSize: this.actorFontSize,
+ fontWeight: this.actorFontWeight
+ };
+ }, "actorFont")
+ },
+ class: {
+ hideEmptyMembersBox: !1
+ },
+ gantt: {
+ ...ge.gantt,
+ tickInterval: void 0,
+ useWidth: void 0
+ // can probably be removed since `configKeys` already includes this
+ },
+ c4: {
+ ...ge.c4,
+ useWidth: void 0,
+ personFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.personFontFamily,
+ fontSize: this.personFontSize,
+ fontWeight: this.personFontWeight
+ };
+ }, "personFont"),
+ flowchart: {
+ ...ge.flowchart,
+ inheritDir: !1
+ // default to legacy behavior
+ },
+ external_personFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_personFontFamily,
+ fontSize: this.external_personFontSize,
+ fontWeight: this.external_personFontWeight
+ };
+ }, "external_personFont"),
+ systemFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.systemFontFamily,
+ fontSize: this.systemFontSize,
+ fontWeight: this.systemFontWeight
+ };
+ }, "systemFont"),
+ external_systemFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_systemFontFamily,
+ fontSize: this.external_systemFontSize,
+ fontWeight: this.external_systemFontWeight
+ };
+ }, "external_systemFont"),
+ system_dbFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.system_dbFontFamily,
+ fontSize: this.system_dbFontSize,
+ fontWeight: this.system_dbFontWeight
+ };
+ }, "system_dbFont"),
+ external_system_dbFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_system_dbFontFamily,
+ fontSize: this.external_system_dbFontSize,
+ fontWeight: this.external_system_dbFontWeight
+ };
+ }, "external_system_dbFont"),
+ system_queueFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.system_queueFontFamily,
+ fontSize: this.system_queueFontSize,
+ fontWeight: this.system_queueFontWeight
+ };
+ }, "system_queueFont"),
+ external_system_queueFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_system_queueFontFamily,
+ fontSize: this.external_system_queueFontSize,
+ fontWeight: this.external_system_queueFontWeight
+ };
+ }, "external_system_queueFont"),
+ containerFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.containerFontFamily,
+ fontSize: this.containerFontSize,
+ fontWeight: this.containerFontWeight
+ };
+ }, "containerFont"),
+ external_containerFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_containerFontFamily,
+ fontSize: this.external_containerFontSize,
+ fontWeight: this.external_containerFontWeight
+ };
+ }, "external_containerFont"),
+ container_dbFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.container_dbFontFamily,
+ fontSize: this.container_dbFontSize,
+ fontWeight: this.container_dbFontWeight
+ };
+ }, "container_dbFont"),
+ external_container_dbFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_container_dbFontFamily,
+ fontSize: this.external_container_dbFontSize,
+ fontWeight: this.external_container_dbFontWeight
+ };
+ }, "external_container_dbFont"),
+ container_queueFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.container_queueFontFamily,
+ fontSize: this.container_queueFontSize,
+ fontWeight: this.container_queueFontWeight
+ };
+ }, "container_queueFont"),
+ external_container_queueFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_container_queueFontFamily,
+ fontSize: this.external_container_queueFontSize,
+ fontWeight: this.external_container_queueFontWeight
+ };
+ }, "external_container_queueFont"),
+ componentFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.componentFontFamily,
+ fontSize: this.componentFontSize,
+ fontWeight: this.componentFontWeight
+ };
+ }, "componentFont"),
+ external_componentFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_componentFontFamily,
+ fontSize: this.external_componentFontSize,
+ fontWeight: this.external_componentFontWeight
+ };
+ }, "external_componentFont"),
+ component_dbFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.component_dbFontFamily,
+ fontSize: this.component_dbFontSize,
+ fontWeight: this.component_dbFontWeight
+ };
+ }, "component_dbFont"),
+ external_component_dbFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_component_dbFontFamily,
+ fontSize: this.external_component_dbFontSize,
+ fontWeight: this.external_component_dbFontWeight
+ };
+ }, "external_component_dbFont"),
+ component_queueFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.component_queueFontFamily,
+ fontSize: this.component_queueFontSize,
+ fontWeight: this.component_queueFontWeight
+ };
+ }, "component_queueFont"),
+ external_component_queueFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.external_component_queueFontFamily,
+ fontSize: this.external_component_queueFontSize,
+ fontWeight: this.external_component_queueFontWeight
+ };
+ }, "external_component_queueFont"),
+ boundaryFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.boundaryFontFamily,
+ fontSize: this.boundaryFontSize,
+ fontWeight: this.boundaryFontWeight
+ };
+ }, "boundaryFont"),
+ messageFont: /* @__PURE__ */ d(function() {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight
+ };
+ }, "messageFont")
+ },
+ pie: {
+ ...ge.pie,
+ useWidth: 984
+ },
+ xyChart: {
+ ...ge.xyChart,
+ useWidth: void 0
+ },
+ requirement: {
+ ...ge.requirement,
+ useWidth: void 0
+ },
+ packet: {
+ ...ge.packet
+ },
+ radar: {
+ ...ge.radar
+ }
+}, Lh = /* @__PURE__ */ d((e, t = "") => Object.keys(e).reduce((r, i) => Array.isArray(e[i]) ? r : typeof e[i] == "object" && e[i] !== null ? [...r, t + i, ...Lh(e[i], "")] : [...r, t + i], []), "keyify"), $0 = new Set(Lh(Bh, "")), Ah = Bh, Dn = /* @__PURE__ */ d((e) => {
+ if ($.debug("sanitizeDirective called with", e), !(typeof e != "object" || e == null)) {
+ if (Array.isArray(e)) {
+ e.forEach((t) => Dn(t));
+ return;
+ }
+ for (const t of Object.keys(e)) {
+ if ($.debug("Checking key", t), t.startsWith("__") || t.includes("proto") || t.includes("constr") || !$0.has(t) || e[t] == null) {
+ $.debug("sanitize deleting key: ", t), delete e[t];
+ continue;
+ }
+ if (typeof e[t] == "object") {
+ $.debug("sanitizing object", t), Dn(e[t]);
+ continue;
+ }
+ const r = ["themeCSS", "fontFamily", "altFontFamily"];
+ for (const i of r)
+ t.includes(i) && ($.debug("sanitizing css option", t), e[t] = O0(e[t]));
+ }
+ if (e.themeVariables)
+ for (const t of Object.keys(e.themeVariables)) {
+ const r = e.themeVariables[t];
+ r != null && r.match && !r.match(/^[\d "#%(),.;A-Za-z]+$/) && (e.themeVariables[t] = "");
+ }
+ $.debug("After sanitization", e);
+ }
+}, "sanitizeDirective"), O0 = /* @__PURE__ */ d((e) => {
+ let t = 0, r = 0;
+ for (const i of e) {
+ if (t < r)
+ return "{ /* ERROR: Unbalanced CSS */ }";
+ i === "{" ? t++ : i === "}" && r++;
+ }
+ return t !== r ? "{ /* ERROR: Unbalanced CSS */ }" : e;
+}, "sanitizeCss"), jr = Object.freeze(Ah), Zt = $t({}, jr), Mh, Yr = [], Mi = $t({}, jr), ba = /* @__PURE__ */ d((e, t) => {
+ let r = $t({}, e), i = {};
+ for (const n of t)
+ $h(n), i = $t(i, n);
+ if (r = $t(r, i), i.theme && i.theme in De) {
+ const n = $t({}, Mh), a = $t(
+ n.themeVariables || {},
+ i.themeVariables
+ );
+ r.theme && r.theme in De && (r.themeVariables = De[r.theme].getThemeVariables(a));
+ }
+ return Mi = r, Oh(Mi), Mi;
+}, "updateCurrentConfig"), D0 = /* @__PURE__ */ d((e) => (Zt = $t({}, jr), Zt = $t(Zt, e), e.theme && De[e.theme] && (Zt.themeVariables = De[e.theme].getThemeVariables(e.themeVariables)), ba(Zt, Yr), Zt), "setSiteConfig"), R0 = /* @__PURE__ */ d((e) => {
+ Mh = $t({}, e);
+}, "saveConfigFromInitialize"), I0 = /* @__PURE__ */ d((e) => (Zt = $t(Zt, e), ba(Zt, Yr), Zt), "updateSiteConfig"), Eh = /* @__PURE__ */ d(() => $t({}, Zt), "getSiteConfig"), Fh = /* @__PURE__ */ d((e) => (Oh(e), $t(Mi, e), Jt()), "setConfig"), Jt = /* @__PURE__ */ d(() => $t({}, Mi), "getConfig"), $h = /* @__PURE__ */ d((e) => {
+ e && (["secure", ...Zt.secure ?? []].forEach((t) => {
+ Object.hasOwn(e, t) && ($.debug(`Denied attempt to modify a secure key ${t}`, e[t]), delete e[t]);
+ }), Object.keys(e).forEach((t) => {
+ t.startsWith("__") && delete e[t];
+ }), Object.keys(e).forEach((t) => {
+ typeof e[t] == "string" && (e[t].includes("<") || e[t].includes(">") || e[t].includes("url(data:")) && delete e[t], typeof e[t] == "object" && $h(e[t]);
+ }));
+}, "sanitize"), P0 = /* @__PURE__ */ d((e) => {
+ var t;
+ Dn(e), e.fontFamily && !((t = e.themeVariables) != null && t.fontFamily) && (e.themeVariables = {
+ ...e.themeVariables,
+ fontFamily: e.fontFamily
+ }), Yr.push(e), ba(Zt, Yr);
+}, "addDirective"), Rn = /* @__PURE__ */ d((e = Zt) => {
+ Yr = [], ba(e, Yr);
+}, "reset"), N0 = {
+ LAZY_LOAD_DEPRECATED: "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."
+}, Ul = {}, z0 = /* @__PURE__ */ d((e) => {
+ Ul[e] || ($.warn(N0[e]), Ul[e] = !0);
+}, "issueWarning"), Oh = /* @__PURE__ */ d((e) => {
+ e && (e.lazyLoadedDiagrams || e.loadExternalDiagramsAtStartup) && z0("LAZY_LOAD_DEPRECATED");
+}, "checkConfig"), Ui = /
/gi, W0 = /* @__PURE__ */ d((e) => e ? Ih(e).replace(/\\n/g, "#br#").split("#br#") : [""], "getRows"), q0 = /* @__PURE__ */ (() => {
+ let e = !1;
+ return () => {
+ e || (Dh(), e = !0);
+ };
+})();
+function Dh() {
+ const e = "data-temp-href-target";
+ qr.addHook("beforeSanitizeAttributes", (t) => {
+ t instanceof Element && t.tagName === "A" && t.hasAttribute("target") && t.setAttribute(e, t.getAttribute("target") ?? "");
+ }), qr.addHook("afterSanitizeAttributes", (t) => {
+ t instanceof Element && t.tagName === "A" && t.hasAttribute(e) && (t.setAttribute("target", t.getAttribute(e) ?? ""), t.removeAttribute(e), t.getAttribute("target") === "_blank" && t.setAttribute("rel", "noopener"));
+ });
+}
+d(Dh, "setupDompurifyHooks");
+var Rh = /* @__PURE__ */ d((e) => (q0(), qr.sanitize(e)), "removeScript"), Gl = /* @__PURE__ */ d((e, t) => {
+ var r;
+ if (((r = t.flowchart) == null ? void 0 : r.htmlLabels) !== !1) {
+ const i = t.securityLevel;
+ i === "antiscript" || i === "strict" ? e = Rh(e) : i !== "loose" && (e = Ih(e), e = e.replace(//g, ">"), e = e.replace(/=/g, "="), e = U0(e));
+ }
+ return e;
+}, "sanitizeMore"), cr = /* @__PURE__ */ d((e, t) => e && (t.dompurifyConfig ? e = qr.sanitize(Gl(e, t), t.dompurifyConfig).toString() : e = qr.sanitize(Gl(e, t), {
+ FORBID_TAGS: ["style"]
+}).toString(), e), "sanitizeText"), H0 = /* @__PURE__ */ d((e, t) => typeof e == "string" ? cr(e, t) : e.flat().map((r) => cr(r, t)), "sanitizeTextOrArray"), j0 = /* @__PURE__ */ d((e) => Ui.test(e), "hasBreaks"), Y0 = /* @__PURE__ */ d((e) => e.split(Ui), "splitBreaks"), U0 = /* @__PURE__ */ d((e) => e.replace(/#br#/g, "
"), "placeholderToBreak"), Ih = /* @__PURE__ */ d((e) => e.replace(Ui, "#br#"), "breakToPlaceholder"), Ph = /* @__PURE__ */ d((e) => {
+ let t = "";
+ return e && (t = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, t = CSS.escape(t)), t;
+}, "getUrl"), Lt = /* @__PURE__ */ d((e) => !(e === !1 || ["false", "null", "0"].includes(String(e).trim().toLowerCase())), "evaluate"), G0 = /* @__PURE__ */ d(function(...e) {
+ const t = e.filter((r) => !isNaN(r));
+ return Math.max(...t);
+}, "getMax"), X0 = /* @__PURE__ */ d(function(...e) {
+ const t = e.filter((r) => !isNaN(r));
+ return Math.min(...t);
+}, "getMin"), Xl = /* @__PURE__ */ d(function(e) {
+ const t = e.split(/(,)/), r = [];
+ for (let i = 0; i < t.length; i++) {
+ let n = t[i];
+ if (n === "," && i > 0 && i + 1 < t.length) {
+ const a = t[i - 1], o = t[i + 1];
+ V0(a, o) && (n = a + "," + o, i++, r.pop());
+ }
+ r.push(Z0(n));
+ }
+ return r.join("");
+}, "parseGenericTypes"), vs = /* @__PURE__ */ d((e, t) => Math.max(0, e.split(t).length - 1), "countOccurrence"), V0 = /* @__PURE__ */ d((e, t) => {
+ const r = vs(e, "~"), i = vs(t, "~");
+ return r === 1 && i === 1;
+}, "shouldCombineSets"), Z0 = /* @__PURE__ */ d((e) => {
+ const t = vs(e, "~");
+ let r = !1;
+ if (t <= 1)
+ return e;
+ t % 2 !== 0 && e.startsWith("~") && (e = e.substring(1), r = !0);
+ const i = [...e];
+ let n = i.indexOf("~"), a = i.lastIndexOf("~");
+ for (; n !== -1 && a !== -1 && n !== a; )
+ i[n] = "<", i[a] = ">", n = i.indexOf("~"), a = i.lastIndexOf("~");
+ return r && i.unshift("~"), i.join("");
+}, "processSet"), Vl = /* @__PURE__ */ d(() => window.MathMLElement !== void 0, "isMathMLSupported"), ks = /\$\$(.*)\$\$/g, Ur = /* @__PURE__ */ d((e) => {
+ var t;
+ return (((t = e.match(ks)) == null ? void 0 : t.length) ?? 0) > 0;
+}, "hasKatex"), EL = /* @__PURE__ */ d(async (e, t) => {
+ e = await bo(e, t);
+ const r = document.createElement("div");
+ r.innerHTML = e, r.id = "katex-temp", r.style.visibility = "hidden", r.style.position = "absolute", r.style.top = "0";
+ const i = document.querySelector("body");
+ i == null || i.insertAdjacentElement("beforeend", r);
+ const n = { width: r.clientWidth, height: r.clientHeight };
+ return r.remove(), n;
+}, "calculateMathMLDimensions"), bo = /* @__PURE__ */ d(async (e, t) => {
+ if (!Ur(e))
+ return e;
+ if (!(Vl() || t.legacyMathML || t.forceLegacyMathML))
+ return e.replace(ks, "MathML is unsupported in this environment.");
+ {
+ const { default: r } = await import("./Index-DiS7y4tI.js").then((n) => n.k), i = t.forceLegacyMathML || !Vl() && t.legacyMathML ? "htmlAndMathml" : "mathml";
+ return e.split(Ui).map(
+ (n) => Ur(n) ? `${n}
` : `${n}
`
+ ).join("").replace(
+ ks,
+ (n, a) => r.renderToString(a, {
+ throwOnError: !0,
+ displayMode: !0,
+ output: i
+ }).replace(/\n/g, " ").replace(//g, "")
+ );
+ }
+}, "renderKatex"), Jr = {
+ getRows: W0,
+ sanitizeText: cr,
+ sanitizeTextOrArray: H0,
+ hasBreaks: j0,
+ splitBreaks: Y0,
+ lineBreakRegex: Ui,
+ removeScript: Rh,
+ getUrl: Ph,
+ evaluate: Lt,
+ getMax: G0,
+ getMin: X0
+}, K0 = /* @__PURE__ */ d(function(e, t) {
+ for (let r of t)
+ e.attr(r[0], r[1]);
+}, "d3Attrs"), Q0 = /* @__PURE__ */ d(function(e, t, r) {
+ let i = /* @__PURE__ */ new Map();
+ return r ? (i.set("width", "100%"), i.set("style", `max-width: ${t}px;`)) : (i.set("height", e), i.set("width", t)), i;
+}, "calculateSvgSizeAttrs"), Nh = /* @__PURE__ */ d(function(e, t, r, i) {
+ const n = Q0(t, r, i);
+ K0(e, n);
+}, "configureSvgSize"), J0 = /* @__PURE__ */ d(function(e, t, r, i) {
+ const n = t.node().getBBox(), a = n.width, o = n.height;
+ $.info(`SVG bounds: ${a}x${o}`, n);
+ let s = 0, l = 0;
+ $.info(`Graph bounds: ${s}x${l}`, e), s = a + r * 2, l = o + r * 2, $.info(`Calculated bounds: ${s}x${l}`), Nh(t, l, s, i);
+ const c = `${n.x - r} ${n.y - r} ${n.width + 2 * r} ${n.height + 2 * r}`;
+ t.attr("viewBox", c);
+}, "setupGraphViewbox"), wn = {}, ty = /* @__PURE__ */ d((e, t, r) => {
+ let i = "";
+ return e in wn && wn[e] ? i = wn[e](r) : $.warn(`No theme found for ${e}`), ` & {
+ font-family: ${r.fontFamily};
+ font-size: ${r.fontSize};
+ fill: ${r.textColor}
+ }
+ @keyframes edge-animation-frame {
+ from {
+ stroke-dashoffset: 0;
+ }
+ }
+ @keyframes dash {
+ to {
+ stroke-dashoffset: 0;
+ }
+ }
+ & .edge-animation-slow {
+ stroke-dasharray: 9,5 !important;
+ stroke-dashoffset: 900;
+ animation: dash 50s linear infinite;
+ stroke-linecap: round;
+ }
+ & .edge-animation-fast {
+ stroke-dasharray: 9,5 !important;
+ stroke-dashoffset: 900;
+ animation: dash 20s linear infinite;
+ stroke-linecap: round;
+ }
+ /* Classes common for multiple diagrams */
+
+ & .error-icon {
+ fill: ${r.errorBkgColor};
+ }
+ & .error-text {
+ fill: ${r.errorTextColor};
+ stroke: ${r.errorTextColor};
+ }
+
+ & .edge-thickness-normal {
+ stroke-width: 1px;
+ }
+ & .edge-thickness-thick {
+ stroke-width: 3.5px
+ }
+ & .edge-pattern-solid {
+ stroke-dasharray: 0;
+ }
+ & .edge-thickness-invisible {
+ stroke-width: 0;
+ fill: none;
+ }
+ & .edge-pattern-dashed{
+ stroke-dasharray: 3;
+ }
+ .edge-pattern-dotted {
+ stroke-dasharray: 2;
+ }
+
+ & .marker {
+ fill: ${r.lineColor};
+ stroke: ${r.lineColor};
+ }
+ & .marker.cross {
+ stroke: ${r.lineColor};
+ }
+
+ & svg {
+ font-family: ${r.fontFamily};
+ font-size: ${r.fontSize};
+ }
+ & p {
+ margin: 0
+ }
+
+ ${i}
+
+ ${t}
+`;
+}, "getStyles"), ey = /* @__PURE__ */ d((e, t) => {
+ t !== void 0 && (wn[e] = t);
+}, "addStylesForDiagram"), ry = ty, zh = {};
+_0(zh, {
+ clear: () => iy,
+ getAccDescription: () => oy,
+ getAccTitle: () => ay,
+ getDiagramTitle: () => cy,
+ setAccDescription: () => sy,
+ setAccTitle: () => ny,
+ setDiagramTitle: () => ly
+});
+var _o = "", Co = "", wo = "", vo = /* @__PURE__ */ d((e) => cr(e, Jt()), "sanitizeText"), iy = /* @__PURE__ */ d(() => {
+ _o = "", wo = "", Co = "";
+}, "clear"), ny = /* @__PURE__ */ d((e) => {
+ _o = vo(e).replace(/^\s+/g, "");
+}, "setAccTitle"), ay = /* @__PURE__ */ d(() => _o, "getAccTitle"), sy = /* @__PURE__ */ d((e) => {
+ wo = vo(e).replace(/\n\s+/g, `
+`);
+}, "setAccDescription"), oy = /* @__PURE__ */ d(() => wo, "getAccDescription"), ly = /* @__PURE__ */ d((e) => {
+ Co = vo(e);
+}, "setDiagramTitle"), cy = /* @__PURE__ */ d(() => Co, "getDiagramTitle"), Zl = $, hy = yo, ut = Jt, FL = Fh, $L = jr, _a = /* @__PURE__ */ d((e) => cr(e, ut()), "sanitizeText"), uy = J0, fy = /* @__PURE__ */ d(() => zh, "getCommonDb"), In = {}, Pn = /* @__PURE__ */ d((e, t, r) => {
+ var i;
+ In[e] && Zl.warn(`Diagram with id ${e} already registered. Overwriting.`), In[e] = t, r && Th(e, r), ey(e, t.styles), (i = t.injectUtils) == null || i.call(
+ t,
+ Zl,
+ hy,
+ ut,
+ _a,
+ uy,
+ fy(),
+ () => {
+ }
+ );
+}, "registerDiagram"), Ss = /* @__PURE__ */ d((e) => {
+ if (e in In)
+ return In[e];
+ throw new py(e);
+}, "getDiagram"), zr, py = (zr = class extends Error {
+ constructor(t) {
+ super(`Diagram ${t} not found.`);
+ }
+}, d(zr, "DiagramNotFoundError"), zr);
+function ko(e) {
+ return typeof e > "u" || e === null;
+}
+d(ko, "isNothing");
+function Wh(e) {
+ return typeof e == "object" && e !== null;
+}
+d(Wh, "isObject");
+function qh(e) {
+ return Array.isArray(e) ? e : ko(e) ? [] : [e];
+}
+d(qh, "toArray");
+function Hh(e, t) {
+ var r, i, n, a;
+ if (t)
+ for (a = Object.keys(t), r = 0, i = a.length; r < i; r += 1)
+ n = a[r], e[n] = t[n];
+ return e;
+}
+d(Hh, "extend");
+function jh(e, t) {
+ var r = "", i;
+ for (i = 0; i < t; i += 1)
+ r += e;
+ return r;
+}
+d(jh, "repeat");
+function Yh(e) {
+ return e === 0 && Number.NEGATIVE_INFINITY === 1 / e;
+}
+d(Yh, "isNegativeZero");
+var dy = ko, gy = Wh, my = qh, yy = jh, xy = Yh, by = Hh, Bt = {
+ isNothing: dy,
+ isObject: gy,
+ toArray: my,
+ repeat: yy,
+ isNegativeZero: xy,
+ extend: by
+};
+function So(e, t) {
+ var r = "", i = e.reason || "(unknown reason)";
+ return e.mark ? (e.mark.name && (r += 'in "' + e.mark.name + '" '), r += "(" + (e.mark.line + 1) + ":" + (e.mark.column + 1) + ")", !t && e.mark.snippet && (r += `
+
+` + e.mark.snippet), i + " " + r) : i;
+}
+d(So, "formatError");
+function Gr(e, t) {
+ Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = So(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || "";
+}
+d(Gr, "YAMLException$1");
+Gr.prototype = Object.create(Error.prototype);
+Gr.prototype.constructor = Gr;
+Gr.prototype.toString = /* @__PURE__ */ d(function(t) {
+ return this.name + ": " + So(this, t);
+}, "toString");
+var Kt = Gr;
+function vn(e, t, r, i, n) {
+ var a = "", o = "", s = Math.floor(n / 2) - 1;
+ return i - t > s && (a = " ... ", t = i - s + a.length), r - i > s && (o = " ...", r = i + s - o.length), {
+ str: a + e.slice(t, r).replace(/\t/g, "→") + o,
+ pos: i - t + a.length
+ // relative position
+ };
+}
+d(vn, "getLine");
+function kn(e, t) {
+ return Bt.repeat(" ", t - e.length) + e;
+}
+d(kn, "padStart");
+function Uh(e, t) {
+ if (t = Object.create(t || null), !e.buffer) return null;
+ t.maxLength || (t.maxLength = 79), typeof t.indent != "number" && (t.indent = 1), typeof t.linesBefore != "number" && (t.linesBefore = 3), typeof t.linesAfter != "number" && (t.linesAfter = 2);
+ for (var r = /\r?\n|\r|\0/g, i = [0], n = [], a, o = -1; a = r.exec(e.buffer); )
+ n.push(a.index), i.push(a.index + a[0].length), e.position <= a.index && o < 0 && (o = i.length - 2);
+ o < 0 && (o = i.length - 1);
+ var s = "", l, c, h = Math.min(e.line + t.linesAfter, n.length).toString().length, u = t.maxLength - (t.indent + h + 3);
+ for (l = 1; l <= t.linesBefore && !(o - l < 0); l++)
+ c = vn(
+ e.buffer,
+ i[o - l],
+ n[o - l],
+ e.position - (i[o] - i[o - l]),
+ u
+ ), s = Bt.repeat(" ", t.indent) + kn((e.line - l + 1).toString(), h) + " | " + c.str + `
+` + s;
+ for (c = vn(e.buffer, i[o], n[o], e.position, u), s += Bt.repeat(" ", t.indent) + kn((e.line + 1).toString(), h) + " | " + c.str + `
+`, s += Bt.repeat("-", t.indent + h + 3 + c.pos) + `^
+`, l = 1; l <= t.linesAfter && !(o + l >= n.length); l++)
+ c = vn(
+ e.buffer,
+ i[o + l],
+ n[o + l],
+ e.position - (i[o] - i[o + l]),
+ u
+ ), s += Bt.repeat(" ", t.indent) + kn((e.line + l + 1).toString(), h) + " | " + c.str + `
+`;
+ return s.replace(/\n$/, "");
+}
+d(Uh, "makeSnippet");
+var _y = Uh, Cy = [
+ "kind",
+ "multi",
+ "resolve",
+ "construct",
+ "instanceOf",
+ "predicate",
+ "represent",
+ "representName",
+ "defaultStyle",
+ "styleAliases"
+], wy = [
+ "scalar",
+ "sequence",
+ "mapping"
+];
+function Gh(e) {
+ var t = {};
+ return e !== null && Object.keys(e).forEach(function(r) {
+ e[r].forEach(function(i) {
+ t[String(i)] = r;
+ });
+ }), t;
+}
+d(Gh, "compileStyleAliases");
+function Xh(e, t) {
+ if (t = t || {}, Object.keys(t).forEach(function(r) {
+ if (Cy.indexOf(r) === -1)
+ throw new Kt('Unknown option "' + r + '" is met in definition of "' + e + '" YAML type.');
+ }), this.options = t, this.tag = e, this.kind = t.kind || null, this.resolve = t.resolve || function() {
+ return !0;
+ }, this.construct = t.construct || function(r) {
+ return r;
+ }, this.instanceOf = t.instanceOf || null, this.predicate = t.predicate || null, this.represent = t.represent || null, this.representName = t.representName || null, this.defaultStyle = t.defaultStyle || null, this.multi = t.multi || !1, this.styleAliases = Gh(t.styleAliases || null), wy.indexOf(this.kind) === -1)
+ throw new Kt('Unknown kind "' + this.kind + '" is specified for "' + e + '" YAML type.');
+}
+d(Xh, "Type$1");
+var Pt = Xh;
+function Ts(e, t) {
+ var r = [];
+ return e[t].forEach(function(i) {
+ var n = r.length;
+ r.forEach(function(a, o) {
+ a.tag === i.tag && a.kind === i.kind && a.multi === i.multi && (n = o);
+ }), r[n] = i;
+ }), r;
+}
+d(Ts, "compileList");
+function Vh() {
+ var e = {
+ scalar: {},
+ sequence: {},
+ mapping: {},
+ fallback: {},
+ multi: {
+ scalar: [],
+ sequence: [],
+ mapping: [],
+ fallback: []
+ }
+ }, t, r;
+ function i(n) {
+ n.multi ? (e.multi[n.kind].push(n), e.multi.fallback.push(n)) : e[n.kind][n.tag] = e.fallback[n.tag] = n;
+ }
+ for (d(i, "collectType"), t = 0, r = arguments.length; t < r; t += 1)
+ arguments[t].forEach(i);
+ return e;
+}
+d(Vh, "compileMap");
+function Nn(e) {
+ return this.extend(e);
+}
+d(Nn, "Schema$1");
+Nn.prototype.extend = /* @__PURE__ */ d(function(t) {
+ var r = [], i = [];
+ if (t instanceof Pt)
+ i.push(t);
+ else if (Array.isArray(t))
+ i = i.concat(t);
+ else if (t && (Array.isArray(t.implicit) || Array.isArray(t.explicit)))
+ t.implicit && (r = r.concat(t.implicit)), t.explicit && (i = i.concat(t.explicit));
+ else
+ throw new Kt("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
+ r.forEach(function(a) {
+ if (!(a instanceof Pt))
+ throw new Kt("Specified list of YAML types (or a single Type object) contains a non-Type object.");
+ if (a.loadKind && a.loadKind !== "scalar")
+ throw new Kt("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
+ if (a.multi)
+ throw new Kt("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
+ }), i.forEach(function(a) {
+ if (!(a instanceof Pt))
+ throw new Kt("Specified list of YAML types (or a single Type object) contains a non-Type object.");
+ });
+ var n = Object.create(Nn.prototype);
+ return n.implicit = (this.implicit || []).concat(r), n.explicit = (this.explicit || []).concat(i), n.compiledImplicit = Ts(n, "implicit"), n.compiledExplicit = Ts(n, "explicit"), n.compiledTypeMap = Vh(n.compiledImplicit, n.compiledExplicit), n;
+}, "extend");
+var vy = Nn, ky = new Pt("tag:yaml.org,2002:str", {
+ kind: "scalar",
+ construct: /* @__PURE__ */ d(function(e) {
+ return e !== null ? e : "";
+ }, "construct")
+}), Sy = new Pt("tag:yaml.org,2002:seq", {
+ kind: "sequence",
+ construct: /* @__PURE__ */ d(function(e) {
+ return e !== null ? e : [];
+ }, "construct")
+}), Ty = new Pt("tag:yaml.org,2002:map", {
+ kind: "mapping",
+ construct: /* @__PURE__ */ d(function(e) {
+ return e !== null ? e : {};
+ }, "construct")
+}), By = new vy({
+ explicit: [
+ ky,
+ Sy,
+ Ty
+ ]
+});
+function Zh(e) {
+ if (e === null) return !0;
+ var t = e.length;
+ return t === 1 && e === "~" || t === 4 && (e === "null" || e === "Null" || e === "NULL");
+}
+d(Zh, "resolveYamlNull");
+function Kh() {
+ return null;
+}
+d(Kh, "constructYamlNull");
+function Qh(e) {
+ return e === null;
+}
+d(Qh, "isNull");
+var Ly = new Pt("tag:yaml.org,2002:null", {
+ kind: "scalar",
+ resolve: Zh,
+ construct: Kh,
+ predicate: Qh,
+ represent: {
+ canonical: /* @__PURE__ */ d(function() {
+ return "~";
+ }, "canonical"),
+ lowercase: /* @__PURE__ */ d(function() {
+ return "null";
+ }, "lowercase"),
+ uppercase: /* @__PURE__ */ d(function() {
+ return "NULL";
+ }, "uppercase"),
+ camelcase: /* @__PURE__ */ d(function() {
+ return "Null";
+ }, "camelcase"),
+ empty: /* @__PURE__ */ d(function() {
+ return "";
+ }, "empty")
+ },
+ defaultStyle: "lowercase"
+});
+function Jh(e) {
+ if (e === null) return !1;
+ var t = e.length;
+ return t === 4 && (e === "true" || e === "True" || e === "TRUE") || t === 5 && (e === "false" || e === "False" || e === "FALSE");
+}
+d(Jh, "resolveYamlBoolean");
+function tu(e) {
+ return e === "true" || e === "True" || e === "TRUE";
+}
+d(tu, "constructYamlBoolean");
+function eu(e) {
+ return Object.prototype.toString.call(e) === "[object Boolean]";
+}
+d(eu, "isBoolean");
+var Ay = new Pt("tag:yaml.org,2002:bool", {
+ kind: "scalar",
+ resolve: Jh,
+ construct: tu,
+ predicate: eu,
+ represent: {
+ lowercase: /* @__PURE__ */ d(function(e) {
+ return e ? "true" : "false";
+ }, "lowercase"),
+ uppercase: /* @__PURE__ */ d(function(e) {
+ return e ? "TRUE" : "FALSE";
+ }, "uppercase"),
+ camelcase: /* @__PURE__ */ d(function(e) {
+ return e ? "True" : "False";
+ }, "camelcase")
+ },
+ defaultStyle: "lowercase"
+});
+function ru(e) {
+ return 48 <= e && e <= 57 || 65 <= e && e <= 70 || 97 <= e && e <= 102;
+}
+d(ru, "isHexCode");
+function iu(e) {
+ return 48 <= e && e <= 55;
+}
+d(iu, "isOctCode");
+function nu(e) {
+ return 48 <= e && e <= 57;
+}
+d(nu, "isDecCode");
+function au(e) {
+ if (e === null) return !1;
+ var t = e.length, r = 0, i = !1, n;
+ if (!t) return !1;
+ if (n = e[r], (n === "-" || n === "+") && (n = e[++r]), n === "0") {
+ if (r + 1 === t) return !0;
+ if (n = e[++r], n === "b") {
+ for (r++; r < t; r++)
+ if (n = e[r], n !== "_") {
+ if (n !== "0" && n !== "1") return !1;
+ i = !0;
+ }
+ return i && n !== "_";
+ }
+ if (n === "x") {
+ for (r++; r < t; r++)
+ if (n = e[r], n !== "_") {
+ if (!ru(e.charCodeAt(r))) return !1;
+ i = !0;
+ }
+ return i && n !== "_";
+ }
+ if (n === "o") {
+ for (r++; r < t; r++)
+ if (n = e[r], n !== "_") {
+ if (!iu(e.charCodeAt(r))) return !1;
+ i = !0;
+ }
+ return i && n !== "_";
+ }
+ }
+ if (n === "_") return !1;
+ for (; r < t; r++)
+ if (n = e[r], n !== "_") {
+ if (!nu(e.charCodeAt(r)))
+ return !1;
+ i = !0;
+ }
+ return !(!i || n === "_");
+}
+d(au, "resolveYamlInteger");
+function su(e) {
+ var t = e, r = 1, i;
+ if (t.indexOf("_") !== -1 && (t = t.replace(/_/g, "")), i = t[0], (i === "-" || i === "+") && (i === "-" && (r = -1), t = t.slice(1), i = t[0]), t === "0") return 0;
+ if (i === "0") {
+ if (t[1] === "b") return r * parseInt(t.slice(2), 2);
+ if (t[1] === "x") return r * parseInt(t.slice(2), 16);
+ if (t[1] === "o") return r * parseInt(t.slice(2), 8);
+ }
+ return r * parseInt(t, 10);
+}
+d(su, "constructYamlInteger");
+function ou(e) {
+ return Object.prototype.toString.call(e) === "[object Number]" && e % 1 === 0 && !Bt.isNegativeZero(e);
+}
+d(ou, "isInteger");
+var My = new Pt("tag:yaml.org,2002:int", {
+ kind: "scalar",
+ resolve: au,
+ construct: su,
+ predicate: ou,
+ represent: {
+ binary: /* @__PURE__ */ d(function(e) {
+ return e >= 0 ? "0b" + e.toString(2) : "-0b" + e.toString(2).slice(1);
+ }, "binary"),
+ octal: /* @__PURE__ */ d(function(e) {
+ return e >= 0 ? "0o" + e.toString(8) : "-0o" + e.toString(8).slice(1);
+ }, "octal"),
+ decimal: /* @__PURE__ */ d(function(e) {
+ return e.toString(10);
+ }, "decimal"),
+ /* eslint-disable max-len */
+ hexadecimal: /* @__PURE__ */ d(function(e) {
+ return e >= 0 ? "0x" + e.toString(16).toUpperCase() : "-0x" + e.toString(16).toUpperCase().slice(1);
+ }, "hexadecimal")
+ },
+ defaultStyle: "decimal",
+ styleAliases: {
+ binary: [2, "bin"],
+ octal: [8, "oct"],
+ decimal: [10, "dec"],
+ hexadecimal: [16, "hex"]
+ }
+}), Ey = new RegExp(
+ // 2.5e4, 2.5 and integers
+ "^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
+);
+function lu(e) {
+ return !(e === null || !Ey.test(e) || // Quick hack to not allow integers end with `_`
+ // Probably should update regexp & check speed
+ e[e.length - 1] === "_");
+}
+d(lu, "resolveYamlFloat");
+function cu(e) {
+ var t, r;
+ return t = e.replace(/_/g, "").toLowerCase(), r = t[0] === "-" ? -1 : 1, "+-".indexOf(t[0]) >= 0 && (t = t.slice(1)), t === ".inf" ? r === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY : t === ".nan" ? NaN : r * parseFloat(t, 10);
+}
+d(cu, "constructYamlFloat");
+var Fy = /^[-+]?[0-9]+e/;
+function hu(e, t) {
+ var r;
+ if (isNaN(e))
+ switch (t) {
+ case "lowercase":
+ return ".nan";
+ case "uppercase":
+ return ".NAN";
+ case "camelcase":
+ return ".NaN";
+ }
+ else if (Number.POSITIVE_INFINITY === e)
+ switch (t) {
+ case "lowercase":
+ return ".inf";
+ case "uppercase":
+ return ".INF";
+ case "camelcase":
+ return ".Inf";
+ }
+ else if (Number.NEGATIVE_INFINITY === e)
+ switch (t) {
+ case "lowercase":
+ return "-.inf";
+ case "uppercase":
+ return "-.INF";
+ case "camelcase":
+ return "-.Inf";
+ }
+ else if (Bt.isNegativeZero(e))
+ return "-0.0";
+ return r = e.toString(10), Fy.test(r) ? r.replace("e", ".e") : r;
+}
+d(hu, "representYamlFloat");
+function uu(e) {
+ return Object.prototype.toString.call(e) === "[object Number]" && (e % 1 !== 0 || Bt.isNegativeZero(e));
+}
+d(uu, "isFloat");
+var $y = new Pt("tag:yaml.org,2002:float", {
+ kind: "scalar",
+ resolve: lu,
+ construct: cu,
+ predicate: uu,
+ represent: hu,
+ defaultStyle: "lowercase"
+}), fu = By.extend({
+ implicit: [
+ Ly,
+ Ay,
+ My,
+ $y
+ ]
+}), Oy = fu, pu = new RegExp(
+ "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
+), du = new RegExp(
+ "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
+);
+function gu(e) {
+ return e === null ? !1 : pu.exec(e) !== null || du.exec(e) !== null;
+}
+d(gu, "resolveYamlTimestamp");
+function mu(e) {
+ var t, r, i, n, a, o, s, l = 0, c = null, h, u, f;
+ if (t = pu.exec(e), t === null && (t = du.exec(e)), t === null) throw new Error("Date resolve error");
+ if (r = +t[1], i = +t[2] - 1, n = +t[3], !t[4])
+ return new Date(Date.UTC(r, i, n));
+ if (a = +t[4], o = +t[5], s = +t[6], t[7]) {
+ for (l = t[7].slice(0, 3); l.length < 3; )
+ l += "0";
+ l = +l;
+ }
+ return t[9] && (h = +t[10], u = +(t[11] || 0), c = (h * 60 + u) * 6e4, t[9] === "-" && (c = -c)), f = new Date(Date.UTC(r, i, n, a, o, s, l)), c && f.setTime(f.getTime() - c), f;
+}
+d(mu, "constructYamlTimestamp");
+function yu(e) {
+ return e.toISOString();
+}
+d(yu, "representYamlTimestamp");
+var Dy = new Pt("tag:yaml.org,2002:timestamp", {
+ kind: "scalar",
+ resolve: gu,
+ construct: mu,
+ instanceOf: Date,
+ represent: yu
+});
+function xu(e) {
+ return e === "<<" || e === null;
+}
+d(xu, "resolveYamlMerge");
+var Ry = new Pt("tag:yaml.org,2002:merge", {
+ kind: "scalar",
+ resolve: xu
+}), To = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
+\r`;
+function bu(e) {
+ if (e === null) return !1;
+ var t, r, i = 0, n = e.length, a = To;
+ for (r = 0; r < n; r++)
+ if (t = a.indexOf(e.charAt(r)), !(t > 64)) {
+ if (t < 0) return !1;
+ i += 6;
+ }
+ return i % 8 === 0;
+}
+d(bu, "resolveYamlBinary");
+function _u(e) {
+ var t, r, i = e.replace(/[\r\n=]/g, ""), n = i.length, a = To, o = 0, s = [];
+ for (t = 0; t < n; t++)
+ t % 4 === 0 && t && (s.push(o >> 16 & 255), s.push(o >> 8 & 255), s.push(o & 255)), o = o << 6 | a.indexOf(i.charAt(t));
+ return r = n % 4 * 6, r === 0 ? (s.push(o >> 16 & 255), s.push(o >> 8 & 255), s.push(o & 255)) : r === 18 ? (s.push(o >> 10 & 255), s.push(o >> 2 & 255)) : r === 12 && s.push(o >> 4 & 255), new Uint8Array(s);
+}
+d(_u, "constructYamlBinary");
+function Cu(e) {
+ var t = "", r = 0, i, n, a = e.length, o = To;
+ for (i = 0; i < a; i++)
+ i % 3 === 0 && i && (t += o[r >> 18 & 63], t += o[r >> 12 & 63], t += o[r >> 6 & 63], t += o[r & 63]), r = (r << 8) + e[i];
+ return n = a % 3, n === 0 ? (t += o[r >> 18 & 63], t += o[r >> 12 & 63], t += o[r >> 6 & 63], t += o[r & 63]) : n === 2 ? (t += o[r >> 10 & 63], t += o[r >> 4 & 63], t += o[r << 2 & 63], t += o[64]) : n === 1 && (t += o[r >> 2 & 63], t += o[r << 4 & 63], t += o[64], t += o[64]), t;
+}
+d(Cu, "representYamlBinary");
+function wu(e) {
+ return Object.prototype.toString.call(e) === "[object Uint8Array]";
+}
+d(wu, "isBinary");
+var Iy = new Pt("tag:yaml.org,2002:binary", {
+ kind: "scalar",
+ resolve: bu,
+ construct: _u,
+ predicate: wu,
+ represent: Cu
+}), Py = Object.prototype.hasOwnProperty, Ny = Object.prototype.toString;
+function vu(e) {
+ if (e === null) return !0;
+ var t = [], r, i, n, a, o, s = e;
+ for (r = 0, i = s.length; r < i; r += 1) {
+ if (n = s[r], o = !1, Ny.call(n) !== "[object Object]") return !1;
+ for (a in n)
+ if (Py.call(n, a))
+ if (!o) o = !0;
+ else return !1;
+ if (!o) return !1;
+ if (t.indexOf(a) === -1) t.push(a);
+ else return !1;
+ }
+ return !0;
+}
+d(vu, "resolveYamlOmap");
+function ku(e) {
+ return e !== null ? e : [];
+}
+d(ku, "constructYamlOmap");
+var zy = new Pt("tag:yaml.org,2002:omap", {
+ kind: "sequence",
+ resolve: vu,
+ construct: ku
+}), Wy = Object.prototype.toString;
+function Su(e) {
+ if (e === null) return !0;
+ var t, r, i, n, a, o = e;
+ for (a = new Array(o.length), t = 0, r = o.length; t < r; t += 1) {
+ if (i = o[t], Wy.call(i) !== "[object Object]" || (n = Object.keys(i), n.length !== 1)) return !1;
+ a[t] = [n[0], i[n[0]]];
+ }
+ return !0;
+}
+d(Su, "resolveYamlPairs");
+function Tu(e) {
+ if (e === null) return [];
+ var t, r, i, n, a, o = e;
+ for (a = new Array(o.length), t = 0, r = o.length; t < r; t += 1)
+ i = o[t], n = Object.keys(i), a[t] = [n[0], i[n[0]]];
+ return a;
+}
+d(Tu, "constructYamlPairs");
+var qy = new Pt("tag:yaml.org,2002:pairs", {
+ kind: "sequence",
+ resolve: Su,
+ construct: Tu
+}), Hy = Object.prototype.hasOwnProperty;
+function Bu(e) {
+ if (e === null) return !0;
+ var t, r = e;
+ for (t in r)
+ if (Hy.call(r, t) && r[t] !== null)
+ return !1;
+ return !0;
+}
+d(Bu, "resolveYamlSet");
+function Lu(e) {
+ return e !== null ? e : {};
+}
+d(Lu, "constructYamlSet");
+var jy = new Pt("tag:yaml.org,2002:set", {
+ kind: "mapping",
+ resolve: Bu,
+ construct: Lu
+}), Au = Oy.extend({
+ implicit: [
+ Dy,
+ Ry
+ ],
+ explicit: [
+ Iy,
+ zy,
+ qy,
+ jy
+ ]
+}), Ue = Object.prototype.hasOwnProperty, zn = 1, Mu = 2, Eu = 3, Wn = 4, is = 1, Yy = 2, Kl = 3, Uy = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, Gy = /[\x85\u2028\u2029]/, Xy = /[,\[\]\{\}]/, Fu = /^(?:!|!!|![a-z\-]+!)$/i, $u = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
+function Bs(e) {
+ return Object.prototype.toString.call(e);
+}
+d(Bs, "_class");
+function he(e) {
+ return e === 10 || e === 13;
+}
+d(he, "is_EOL");
+function Ye(e) {
+ return e === 9 || e === 32;
+}
+d(Ye, "is_WHITE_SPACE");
+function Ht(e) {
+ return e === 9 || e === 32 || e === 10 || e === 13;
+}
+d(Ht, "is_WS_OR_EOL");
+function ir(e) {
+ return e === 44 || e === 91 || e === 93 || e === 123 || e === 125;
+}
+d(ir, "is_FLOW_INDICATOR");
+function Ou(e) {
+ var t;
+ return 48 <= e && e <= 57 ? e - 48 : (t = e | 32, 97 <= t && t <= 102 ? t - 97 + 10 : -1);
+}
+d(Ou, "fromHexCode");
+function Du(e) {
+ return e === 120 ? 2 : e === 117 ? 4 : e === 85 ? 8 : 0;
+}
+d(Du, "escapedHexLen");
+function Ru(e) {
+ return 48 <= e && e <= 57 ? e - 48 : -1;
+}
+d(Ru, "fromDecimalCode");
+function Ls(e) {
+ return e === 48 ? "\0" : e === 97 ? "\x07" : e === 98 ? "\b" : e === 116 || e === 9 ? " " : e === 110 ? `
+` : e === 118 ? "\v" : e === 102 ? "\f" : e === 114 ? "\r" : e === 101 ? "\x1B" : e === 32 ? " " : e === 34 ? '"' : e === 47 ? "/" : e === 92 ? "\\" : e === 78 ? "Â…" : e === 95 ? "Â " : e === 76 ? "\u2028" : e === 80 ? "\u2029" : "";
+}
+d(Ls, "simpleEscapeSequence");
+function Iu(e) {
+ return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode(
+ (e - 65536 >> 10) + 55296,
+ (e - 65536 & 1023) + 56320
+ );
+}
+d(Iu, "charFromCodepoint");
+var Pu = new Array(256), Nu = new Array(256);
+for (Qe = 0; Qe < 256; Qe++)
+ Pu[Qe] = Ls(Qe) ? 1 : 0, Nu[Qe] = Ls(Qe);
+var Qe;
+function zu(e, t) {
+ this.input = e, this.filename = t.filename || null, this.schema = t.schema || Au, this.onWarning = t.onWarning || null, this.legacy = t.legacy || !1, this.json = t.json || !1, this.listener = t.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = e.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [];
+}
+d(zu, "State$1");
+function Bo(e, t) {
+ var r = {
+ name: e.filename,
+ buffer: e.input.slice(0, -1),
+ // omit trailing \0
+ position: e.position,
+ line: e.line,
+ column: e.position - e.lineStart
+ };
+ return r.snippet = _y(r), new Kt(t, r);
+}
+d(Bo, "generateError");
+function K(e, t) {
+ throw Bo(e, t);
+}
+d(K, "throwError");
+function $i(e, t) {
+ e.onWarning && e.onWarning.call(null, Bo(e, t));
+}
+d($i, "throwWarning");
+var Ql = {
+ YAML: /* @__PURE__ */ d(function(t, r, i) {
+ var n, a, o;
+ t.version !== null && K(t, "duplication of %YAML directive"), i.length !== 1 && K(t, "YAML directive accepts exactly one argument"), n = /^([0-9]+)\.([0-9]+)$/.exec(i[0]), n === null && K(t, "ill-formed argument of the YAML directive"), a = parseInt(n[1], 10), o = parseInt(n[2], 10), a !== 1 && K(t, "unacceptable YAML version of the document"), t.version = i[0], t.checkLineBreaks = o < 2, o !== 1 && o !== 2 && $i(t, "unsupported YAML version of the document");
+ }, "handleYamlDirective"),
+ TAG: /* @__PURE__ */ d(function(t, r, i) {
+ var n, a;
+ i.length !== 2 && K(t, "TAG directive accepts exactly two arguments"), n = i[0], a = i[1], Fu.test(n) || K(t, "ill-formed tag handle (first argument) of the TAG directive"), Ue.call(t.tagMap, n) && K(t, 'there is a previously declared suffix for "' + n + '" tag handle'), $u.test(a) || K(t, "ill-formed tag prefix (second argument) of the TAG directive");
+ try {
+ a = decodeURIComponent(a);
+ } catch {
+ K(t, "tag prefix is malformed: " + a);
+ }
+ t.tagMap[n] = a;
+ }, "handleTagDirective")
+};
+function Re(e, t, r, i) {
+ var n, a, o, s;
+ if (t < r) {
+ if (s = e.input.slice(t, r), i)
+ for (n = 0, a = s.length; n < a; n += 1)
+ o = s.charCodeAt(n), o === 9 || 32 <= o && o <= 1114111 || K(e, "expected valid JSON character");
+ else Uy.test(s) && K(e, "the stream contains non-printable characters");
+ e.result += s;
+ }
+}
+d(Re, "captureSegment");
+function As(e, t, r, i) {
+ var n, a, o, s;
+ for (Bt.isObject(r) || K(e, "cannot merge mappings; the provided source object is unacceptable"), n = Object.keys(r), o = 0, s = n.length; o < s; o += 1)
+ a = n[o], Ue.call(t, a) || (t[a] = r[a], i[a] = !0);
+}
+d(As, "mergeMappings");
+function nr(e, t, r, i, n, a, o, s, l) {
+ var c, h;
+ if (Array.isArray(n))
+ for (n = Array.prototype.slice.call(n), c = 0, h = n.length; c < h; c += 1)
+ Array.isArray(n[c]) && K(e, "nested arrays are not supported inside keys"), typeof n == "object" && Bs(n[c]) === "[object Object]" && (n[c] = "[object Object]");
+ if (typeof n == "object" && Bs(n) === "[object Object]" && (n = "[object Object]"), n = String(n), t === null && (t = {}), i === "tag:yaml.org,2002:merge")
+ if (Array.isArray(a))
+ for (c = 0, h = a.length; c < h; c += 1)
+ As(e, t, a[c], r);
+ else
+ As(e, t, a, r);
+ else
+ !e.json && !Ue.call(r, n) && Ue.call(t, n) && (e.line = o || e.line, e.lineStart = s || e.lineStart, e.position = l || e.position, K(e, "duplicated mapping key")), n === "__proto__" ? Object.defineProperty(t, n, {
+ configurable: !0,
+ enumerable: !0,
+ writable: !0,
+ value: a
+ }) : t[n] = a, delete r[n];
+ return t;
+}
+d(nr, "storeMappingPair");
+function Ca(e) {
+ var t;
+ t = e.input.charCodeAt(e.position), t === 10 ? e.position++ : t === 13 ? (e.position++, e.input.charCodeAt(e.position) === 10 && e.position++) : K(e, "a line break is expected"), e.line += 1, e.lineStart = e.position, e.firstTabInLine = -1;
+}
+d(Ca, "readLineBreak");
+function vt(e, t, r) {
+ for (var i = 0, n = e.input.charCodeAt(e.position); n !== 0; ) {
+ for (; Ye(n); )
+ n === 9 && e.firstTabInLine === -1 && (e.firstTabInLine = e.position), n = e.input.charCodeAt(++e.position);
+ if (t && n === 35)
+ do
+ n = e.input.charCodeAt(++e.position);
+ while (n !== 10 && n !== 13 && n !== 0);
+ if (he(n))
+ for (Ca(e), n = e.input.charCodeAt(e.position), i++, e.lineIndent = 0; n === 32; )
+ e.lineIndent++, n = e.input.charCodeAt(++e.position);
+ else
+ break;
+ }
+ return r !== -1 && i !== 0 && e.lineIndent < r && $i(e, "deficient indentation"), i;
+}
+d(vt, "skipSeparationSpace");
+function Gi(e) {
+ var t = e.position, r;
+ return r = e.input.charCodeAt(t), !!((r === 45 || r === 46) && r === e.input.charCodeAt(t + 1) && r === e.input.charCodeAt(t + 2) && (t += 3, r = e.input.charCodeAt(t), r === 0 || Ht(r)));
+}
+d(Gi, "testDocumentSeparator");
+function wa(e, t) {
+ t === 1 ? e.result += " " : t > 1 && (e.result += Bt.repeat(`
+`, t - 1));
+}
+d(wa, "writeFoldedLines");
+function Wu(e, t, r) {
+ var i, n, a, o, s, l, c, h, u = e.kind, f = e.result, p;
+ if (p = e.input.charCodeAt(e.position), Ht(p) || ir(p) || p === 35 || p === 38 || p === 42 || p === 33 || p === 124 || p === 62 || p === 39 || p === 34 || p === 37 || p === 64 || p === 96 || (p === 63 || p === 45) && (n = e.input.charCodeAt(e.position + 1), Ht(n) || r && ir(n)))
+ return !1;
+ for (e.kind = "scalar", e.result = "", a = o = e.position, s = !1; p !== 0; ) {
+ if (p === 58) {
+ if (n = e.input.charCodeAt(e.position + 1), Ht(n) || r && ir(n))
+ break;
+ } else if (p === 35) {
+ if (i = e.input.charCodeAt(e.position - 1), Ht(i))
+ break;
+ } else {
+ if (e.position === e.lineStart && Gi(e) || r && ir(p))
+ break;
+ if (he(p))
+ if (l = e.line, c = e.lineStart, h = e.lineIndent, vt(e, !1, -1), e.lineIndent >= t) {
+ s = !0, p = e.input.charCodeAt(e.position);
+ continue;
+ } else {
+ e.position = o, e.line = l, e.lineStart = c, e.lineIndent = h;
+ break;
+ }
+ }
+ s && (Re(e, a, o, !1), wa(e, e.line - l), a = o = e.position, s = !1), Ye(p) || (o = e.position + 1), p = e.input.charCodeAt(++e.position);
+ }
+ return Re(e, a, o, !1), e.result ? !0 : (e.kind = u, e.result = f, !1);
+}
+d(Wu, "readPlainScalar");
+function qu(e, t) {
+ var r, i, n;
+ if (r = e.input.charCodeAt(e.position), r !== 39)
+ return !1;
+ for (e.kind = "scalar", e.result = "", e.position++, i = n = e.position; (r = e.input.charCodeAt(e.position)) !== 0; )
+ if (r === 39)
+ if (Re(e, i, e.position, !0), r = e.input.charCodeAt(++e.position), r === 39)
+ i = e.position, e.position++, n = e.position;
+ else
+ return !0;
+ else he(r) ? (Re(e, i, n, !0), wa(e, vt(e, !1, t)), i = n = e.position) : e.position === e.lineStart && Gi(e) ? K(e, "unexpected end of the document within a single quoted scalar") : (e.position++, n = e.position);
+ K(e, "unexpected end of the stream within a single quoted scalar");
+}
+d(qu, "readSingleQuotedScalar");
+function Hu(e, t) {
+ var r, i, n, a, o, s;
+ if (s = e.input.charCodeAt(e.position), s !== 34)
+ return !1;
+ for (e.kind = "scalar", e.result = "", e.position++, r = i = e.position; (s = e.input.charCodeAt(e.position)) !== 0; ) {
+ if (s === 34)
+ return Re(e, r, e.position, !0), e.position++, !0;
+ if (s === 92) {
+ if (Re(e, r, e.position, !0), s = e.input.charCodeAt(++e.position), he(s))
+ vt(e, !1, t);
+ else if (s < 256 && Pu[s])
+ e.result += Nu[s], e.position++;
+ else if ((o = Du(s)) > 0) {
+ for (n = o, a = 0; n > 0; n--)
+ s = e.input.charCodeAt(++e.position), (o = Ou(s)) >= 0 ? a = (a << 4) + o : K(e, "expected hexadecimal character");
+ e.result += Iu(a), e.position++;
+ } else
+ K(e, "unknown escape sequence");
+ r = i = e.position;
+ } else he(s) ? (Re(e, r, i, !0), wa(e, vt(e, !1, t)), r = i = e.position) : e.position === e.lineStart && Gi(e) ? K(e, "unexpected end of the document within a double quoted scalar") : (e.position++, i = e.position);
+ }
+ K(e, "unexpected end of the stream within a double quoted scalar");
+}
+d(Hu, "readDoubleQuotedScalar");
+function ju(e, t) {
+ var r = !0, i, n, a, o = e.tag, s, l = e.anchor, c, h, u, f, p, g = /* @__PURE__ */ Object.create(null), m, y, x, b;
+ if (b = e.input.charCodeAt(e.position), b === 91)
+ h = 93, p = !1, s = [];
+ else if (b === 123)
+ h = 125, p = !0, s = {};
+ else
+ return !1;
+ for (e.anchor !== null && (e.anchorMap[e.anchor] = s), b = e.input.charCodeAt(++e.position); b !== 0; ) {
+ if (vt(e, !0, t), b = e.input.charCodeAt(e.position), b === h)
+ return e.position++, e.tag = o, e.anchor = l, e.kind = p ? "mapping" : "sequence", e.result = s, !0;
+ r ? b === 44 && K(e, "expected the node content, but found ','") : K(e, "missed comma between flow collection entries"), y = m = x = null, u = f = !1, b === 63 && (c = e.input.charCodeAt(e.position + 1), Ht(c) && (u = f = !0, e.position++, vt(e, !0, t))), i = e.line, n = e.lineStart, a = e.position, hr(e, t, zn, !1, !0), y = e.tag, m = e.result, vt(e, !0, t), b = e.input.charCodeAt(e.position), (f || e.line === i) && b === 58 && (u = !0, b = e.input.charCodeAt(++e.position), vt(e, !0, t), hr(e, t, zn, !1, !0), x = e.result), p ? nr(e, s, g, y, m, x, i, n, a) : u ? s.push(nr(e, null, g, y, m, x, i, n, a)) : s.push(m), vt(e, !0, t), b = e.input.charCodeAt(e.position), b === 44 ? (r = !0, b = e.input.charCodeAt(++e.position)) : r = !1;
+ }
+ K(e, "unexpected end of the stream within a flow collection");
+}
+d(ju, "readFlowCollection");
+function Yu(e, t) {
+ var r, i, n = is, a = !1, o = !1, s = t, l = 0, c = !1, h, u;
+ if (u = e.input.charCodeAt(e.position), u === 124)
+ i = !1;
+ else if (u === 62)
+ i = !0;
+ else
+ return !1;
+ for (e.kind = "scalar", e.result = ""; u !== 0; )
+ if (u = e.input.charCodeAt(++e.position), u === 43 || u === 45)
+ is === n ? n = u === 43 ? Kl : Yy : K(e, "repeat of a chomping mode identifier");
+ else if ((h = Ru(u)) >= 0)
+ h === 0 ? K(e, "bad explicit indentation width of a block scalar; it cannot be less than one") : o ? K(e, "repeat of an indentation width identifier") : (s = t + h - 1, o = !0);
+ else
+ break;
+ if (Ye(u)) {
+ do
+ u = e.input.charCodeAt(++e.position);
+ while (Ye(u));
+ if (u === 35)
+ do
+ u = e.input.charCodeAt(++e.position);
+ while (!he(u) && u !== 0);
+ }
+ for (; u !== 0; ) {
+ for (Ca(e), e.lineIndent = 0, u = e.input.charCodeAt(e.position); (!o || e.lineIndent < s) && u === 32; )
+ e.lineIndent++, u = e.input.charCodeAt(++e.position);
+ if (!o && e.lineIndent > s && (s = e.lineIndent), he(u)) {
+ l++;
+ continue;
+ }
+ if (e.lineIndent < s) {
+ n === Kl ? e.result += Bt.repeat(`
+`, a ? 1 + l : l) : n === is && a && (e.result += `
+`);
+ break;
+ }
+ for (i ? Ye(u) ? (c = !0, e.result += Bt.repeat(`
+`, a ? 1 + l : l)) : c ? (c = !1, e.result += Bt.repeat(`
+`, l + 1)) : l === 0 ? a && (e.result += " ") : e.result += Bt.repeat(`
+`, l) : e.result += Bt.repeat(`
+`, a ? 1 + l : l), a = !0, o = !0, l = 0, r = e.position; !he(u) && u !== 0; )
+ u = e.input.charCodeAt(++e.position);
+ Re(e, r, e.position, !1);
+ }
+ return !0;
+}
+d(Yu, "readBlockScalar");
+function Ms(e, t) {
+ var r, i = e.tag, n = e.anchor, a = [], o, s = !1, l;
+ if (e.firstTabInLine !== -1) return !1;
+ for (e.anchor !== null && (e.anchorMap[e.anchor] = a), l = e.input.charCodeAt(e.position); l !== 0 && (e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, K(e, "tab characters must not be used in indentation")), !(l !== 45 || (o = e.input.charCodeAt(e.position + 1), !Ht(o)))); ) {
+ if (s = !0, e.position++, vt(e, !0, -1) && e.lineIndent <= t) {
+ a.push(null), l = e.input.charCodeAt(e.position);
+ continue;
+ }
+ if (r = e.line, hr(e, t, Eu, !1, !0), a.push(e.result), vt(e, !0, -1), l = e.input.charCodeAt(e.position), (e.line === r || e.lineIndent > t) && l !== 0)
+ K(e, "bad indentation of a sequence entry");
+ else if (e.lineIndent < t)
+ break;
+ }
+ return s ? (e.tag = i, e.anchor = n, e.kind = "sequence", e.result = a, !0) : !1;
+}
+d(Ms, "readBlockSequence");
+function Uu(e, t, r) {
+ var i, n, a, o, s, l, c = e.tag, h = e.anchor, u = {}, f = /* @__PURE__ */ Object.create(null), p = null, g = null, m = null, y = !1, x = !1, b;
+ if (e.firstTabInLine !== -1) return !1;
+ for (e.anchor !== null && (e.anchorMap[e.anchor] = u), b = e.input.charCodeAt(e.position); b !== 0; ) {
+ if (!y && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, K(e, "tab characters must not be used in indentation")), i = e.input.charCodeAt(e.position + 1), a = e.line, (b === 63 || b === 58) && Ht(i))
+ b === 63 ? (y && (nr(e, u, f, p, g, null, o, s, l), p = g = m = null), x = !0, y = !0, n = !0) : y ? (y = !1, n = !0) : K(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), e.position += 1, b = i;
+ else {
+ if (o = e.line, s = e.lineStart, l = e.position, !hr(e, r, Mu, !1, !0))
+ break;
+ if (e.line === a) {
+ for (b = e.input.charCodeAt(e.position); Ye(b); )
+ b = e.input.charCodeAt(++e.position);
+ if (b === 58)
+ b = e.input.charCodeAt(++e.position), Ht(b) || K(e, "a whitespace character is expected after the key-value separator within a block mapping"), y && (nr(e, u, f, p, g, null, o, s, l), p = g = m = null), x = !0, y = !1, n = !1, p = e.tag, g = e.result;
+ else if (x)
+ K(e, "can not read an implicit mapping pair; a colon is missed");
+ else
+ return e.tag = c, e.anchor = h, !0;
+ } else if (x)
+ K(e, "can not read a block mapping entry; a multiline key may not be an implicit key");
+ else
+ return e.tag = c, e.anchor = h, !0;
+ }
+ if ((e.line === a || e.lineIndent > t) && (y && (o = e.line, s = e.lineStart, l = e.position), hr(e, t, Wn, !0, n) && (y ? g = e.result : m = e.result), y || (nr(e, u, f, p, g, m, o, s, l), p = g = m = null), vt(e, !0, -1), b = e.input.charCodeAt(e.position)), (e.line === a || e.lineIndent > t) && b !== 0)
+ K(e, "bad indentation of a mapping entry");
+ else if (e.lineIndent < t)
+ break;
+ }
+ return y && nr(e, u, f, p, g, null, o, s, l), x && (e.tag = c, e.anchor = h, e.kind = "mapping", e.result = u), x;
+}
+d(Uu, "readBlockMapping");
+function Gu(e) {
+ var t, r = !1, i = !1, n, a, o;
+ if (o = e.input.charCodeAt(e.position), o !== 33) return !1;
+ if (e.tag !== null && K(e, "duplication of a tag property"), o = e.input.charCodeAt(++e.position), o === 60 ? (r = !0, o = e.input.charCodeAt(++e.position)) : o === 33 ? (i = !0, n = "!!", o = e.input.charCodeAt(++e.position)) : n = "!", t = e.position, r) {
+ do
+ o = e.input.charCodeAt(++e.position);
+ while (o !== 0 && o !== 62);
+ e.position < e.length ? (a = e.input.slice(t, e.position), o = e.input.charCodeAt(++e.position)) : K(e, "unexpected end of the stream within a verbatim tag");
+ } else {
+ for (; o !== 0 && !Ht(o); )
+ o === 33 && (i ? K(e, "tag suffix cannot contain exclamation marks") : (n = e.input.slice(t - 1, e.position + 1), Fu.test(n) || K(e, "named tag handle cannot contain such characters"), i = !0, t = e.position + 1)), o = e.input.charCodeAt(++e.position);
+ a = e.input.slice(t, e.position), Xy.test(a) && K(e, "tag suffix cannot contain flow indicator characters");
+ }
+ a && !$u.test(a) && K(e, "tag name cannot contain such characters: " + a);
+ try {
+ a = decodeURIComponent(a);
+ } catch {
+ K(e, "tag name is malformed: " + a);
+ }
+ return r ? e.tag = a : Ue.call(e.tagMap, n) ? e.tag = e.tagMap[n] + a : n === "!" ? e.tag = "!" + a : n === "!!" ? e.tag = "tag:yaml.org,2002:" + a : K(e, 'undeclared tag handle "' + n + '"'), !0;
+}
+d(Gu, "readTagProperty");
+function Xu(e) {
+ var t, r;
+ if (r = e.input.charCodeAt(e.position), r !== 38) return !1;
+ for (e.anchor !== null && K(e, "duplication of an anchor property"), r = e.input.charCodeAt(++e.position), t = e.position; r !== 0 && !Ht(r) && !ir(r); )
+ r = e.input.charCodeAt(++e.position);
+ return e.position === t && K(e, "name of an anchor node must contain at least one character"), e.anchor = e.input.slice(t, e.position), !0;
+}
+d(Xu, "readAnchorProperty");
+function Vu(e) {
+ var t, r, i;
+ if (i = e.input.charCodeAt(e.position), i !== 42) return !1;
+ for (i = e.input.charCodeAt(++e.position), t = e.position; i !== 0 && !Ht(i) && !ir(i); )
+ i = e.input.charCodeAt(++e.position);
+ return e.position === t && K(e, "name of an alias node must contain at least one character"), r = e.input.slice(t, e.position), Ue.call(e.anchorMap, r) || K(e, 'unidentified alias "' + r + '"'), e.result = e.anchorMap[r], vt(e, !0, -1), !0;
+}
+d(Vu, "readAlias");
+function hr(e, t, r, i, n) {
+ var a, o, s, l = 1, c = !1, h = !1, u, f, p, g, m, y;
+ if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, a = o = s = Wn === r || Eu === r, i && vt(e, !0, -1) && (c = !0, e.lineIndent > t ? l = 1 : e.lineIndent === t ? l = 0 : e.lineIndent < t && (l = -1)), l === 1)
+ for (; Gu(e) || Xu(e); )
+ vt(e, !0, -1) ? (c = !0, s = a, e.lineIndent > t ? l = 1 : e.lineIndent === t ? l = 0 : e.lineIndent < t && (l = -1)) : s = !1;
+ if (s && (s = c || n), (l === 1 || Wn === r) && (zn === r || Mu === r ? m = t : m = t + 1, y = e.position - e.lineStart, l === 1 ? s && (Ms(e, y) || Uu(e, y, m)) || ju(e, m) ? h = !0 : (o && Yu(e, m) || qu(e, m) || Hu(e, m) ? h = !0 : Vu(e) ? (h = !0, (e.tag !== null || e.anchor !== null) && K(e, "alias node should not have any properties")) : Wu(e, m, zn === r) && (h = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : l === 0 && (h = s && Ms(e, y))), e.tag === null)
+ e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
+ else if (e.tag === "?") {
+ for (e.result !== null && e.kind !== "scalar" && K(e, 'unacceptable node kind for !> tag; it should be "scalar", not "' + e.kind + '"'), u = 0, f = e.implicitTypes.length; u < f; u += 1)
+ if (g = e.implicitTypes[u], g.resolve(e.result)) {
+ e.result = g.construct(e.result), e.tag = g.tag, e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
+ break;
+ }
+ } else if (e.tag !== "!") {
+ if (Ue.call(e.typeMap[e.kind || "fallback"], e.tag))
+ g = e.typeMap[e.kind || "fallback"][e.tag];
+ else
+ for (g = null, p = e.typeMap.multi[e.kind || "fallback"], u = 0, f = p.length; u < f; u += 1)
+ if (e.tag.slice(0, p[u].tag.length) === p[u].tag) {
+ g = p[u];
+ break;
+ }
+ g || K(e, "unknown tag !<" + e.tag + ">"), e.result !== null && g.kind !== e.kind && K(e, "unacceptable node kind for !<" + e.tag + '> tag; it should be "' + g.kind + '", not "' + e.kind + '"'), g.resolve(e.result, e.tag) ? (e.result = g.construct(e.result, e.tag), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : K(e, "cannot resolve a node with !<" + e.tag + "> explicit tag");
+ }
+ return e.listener !== null && e.listener("close", e), e.tag !== null || e.anchor !== null || h;
+}
+d(hr, "composeNode");
+function Zu(e) {
+ var t = e.position, r, i, n, a = !1, o;
+ for (e.version = null, e.checkLineBreaks = e.legacy, e.tagMap = /* @__PURE__ */ Object.create(null), e.anchorMap = /* @__PURE__ */ Object.create(null); (o = e.input.charCodeAt(e.position)) !== 0 && (vt(e, !0, -1), o = e.input.charCodeAt(e.position), !(e.lineIndent > 0 || o !== 37)); ) {
+ for (a = !0, o = e.input.charCodeAt(++e.position), r = e.position; o !== 0 && !Ht(o); )
+ o = e.input.charCodeAt(++e.position);
+ for (i = e.input.slice(r, e.position), n = [], i.length < 1 && K(e, "directive name must not be less than one character in length"); o !== 0; ) {
+ for (; Ye(o); )
+ o = e.input.charCodeAt(++e.position);
+ if (o === 35) {
+ do
+ o = e.input.charCodeAt(++e.position);
+ while (o !== 0 && !he(o));
+ break;
+ }
+ if (he(o)) break;
+ for (r = e.position; o !== 0 && !Ht(o); )
+ o = e.input.charCodeAt(++e.position);
+ n.push(e.input.slice(r, e.position));
+ }
+ o !== 0 && Ca(e), Ue.call(Ql, i) ? Ql[i](e, i, n) : $i(e, 'unknown document directive "' + i + '"');
+ }
+ if (vt(e, !0, -1), e.lineIndent === 0 && e.input.charCodeAt(e.position) === 45 && e.input.charCodeAt(e.position + 1) === 45 && e.input.charCodeAt(e.position + 2) === 45 ? (e.position += 3, vt(e, !0, -1)) : a && K(e, "directives end mark is expected"), hr(e, e.lineIndent - 1, Wn, !1, !0), vt(e, !0, -1), e.checkLineBreaks && Gy.test(e.input.slice(t, e.position)) && $i(e, "non-ASCII line breaks are interpreted as content"), e.documents.push(e.result), e.position === e.lineStart && Gi(e)) {
+ e.input.charCodeAt(e.position) === 46 && (e.position += 3, vt(e, !0, -1));
+ return;
+ }
+ if (e.position < e.length - 1)
+ K(e, "end of the stream or a document separator is expected");
+ else
+ return;
+}
+d(Zu, "readDocument");
+function Lo(e, t) {
+ e = String(e), t = t || {}, e.length !== 0 && (e.charCodeAt(e.length - 1) !== 10 && e.charCodeAt(e.length - 1) !== 13 && (e += `
+`), e.charCodeAt(0) === 65279 && (e = e.slice(1)));
+ var r = new zu(e, t), i = e.indexOf("\0");
+ for (i !== -1 && (r.position = i, K(r, "null byte is not allowed in input")), r.input += "\0"; r.input.charCodeAt(r.position) === 32; )
+ r.lineIndent += 1, r.position += 1;
+ for (; r.position < r.length - 1; )
+ Zu(r);
+ return r.documents;
+}
+d(Lo, "loadDocuments");
+function Vy(e, t, r) {
+ t !== null && typeof t == "object" && typeof r > "u" && (r = t, t = null);
+ var i = Lo(e, r);
+ if (typeof t != "function")
+ return i;
+ for (var n = 0, a = i.length; n < a; n += 1)
+ t(i[n]);
+}
+d(Vy, "loadAll$1");
+function Ku(e, t) {
+ var r = Lo(e, t);
+ if (r.length !== 0) {
+ if (r.length === 1)
+ return r[0];
+ throw new Kt("expected a single document in the stream, but found more");
+ }
+}
+d(Ku, "load$1");
+var Zy = Ku, Ky = {
+ load: Zy
+}, Qu = Object.prototype.toString, Ju = Object.prototype.hasOwnProperty, Ao = 65279, Qy = 9, Oi = 10, Jy = 13, tx = 32, ex = 33, rx = 34, Es = 35, ix = 37, nx = 38, ax = 39, sx = 42, tf = 44, ox = 45, qn = 58, lx = 61, cx = 62, hx = 63, ux = 64, ef = 91, rf = 93, fx = 96, nf = 123, px = 124, af = 125, Nt = {};
+Nt[0] = "\\0";
+Nt[7] = "\\a";
+Nt[8] = "\\b";
+Nt[9] = "\\t";
+Nt[10] = "\\n";
+Nt[11] = "\\v";
+Nt[12] = "\\f";
+Nt[13] = "\\r";
+Nt[27] = "\\e";
+Nt[34] = '\\"';
+Nt[92] = "\\\\";
+Nt[133] = "\\N";
+Nt[160] = "\\_";
+Nt[8232] = "\\L";
+Nt[8233] = "\\P";
+var dx = [
+ "y",
+ "Y",
+ "yes",
+ "Yes",
+ "YES",
+ "on",
+ "On",
+ "ON",
+ "n",
+ "N",
+ "no",
+ "No",
+ "NO",
+ "off",
+ "Off",
+ "OFF"
+], gx = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
+function sf(e, t) {
+ var r, i, n, a, o, s, l;
+ if (t === null) return {};
+ for (r = {}, i = Object.keys(t), n = 0, a = i.length; n < a; n += 1)
+ o = i[n], s = String(t[o]), o.slice(0, 2) === "!!" && (o = "tag:yaml.org,2002:" + o.slice(2)), l = e.compiledTypeMap.fallback[o], l && Ju.call(l.styleAliases, s) && (s = l.styleAliases[s]), r[o] = s;
+ return r;
+}
+d(sf, "compileStyleMap");
+function of(e) {
+ var t, r, i;
+ if (t = e.toString(16).toUpperCase(), e <= 255)
+ r = "x", i = 2;
+ else if (e <= 65535)
+ r = "u", i = 4;
+ else if (e <= 4294967295)
+ r = "U", i = 8;
+ else
+ throw new Kt("code point within a string may not be greater than 0xFFFFFFFF");
+ return "\\" + r + Bt.repeat("0", i - t.length) + t;
+}
+d(of, "encodeHex");
+var mx = 1, Di = 2;
+function lf(e) {
+ this.schema = e.schema || Au, this.indent = Math.max(1, e.indent || 2), this.noArrayIndent = e.noArrayIndent || !1, this.skipInvalid = e.skipInvalid || !1, this.flowLevel = Bt.isNothing(e.flowLevel) ? -1 : e.flowLevel, this.styleMap = sf(this.schema, e.styles || null), this.sortKeys = e.sortKeys || !1, this.lineWidth = e.lineWidth || 80, this.noRefs = e.noRefs || !1, this.noCompatMode = e.noCompatMode || !1, this.condenseFlow = e.condenseFlow || !1, this.quotingType = e.quotingType === '"' ? Di : mx, this.forceQuotes = e.forceQuotes || !1, this.replacer = typeof e.replacer == "function" ? e.replacer : null, this.implicitTypes = this.schema.compiledImplicit, this.explicitTypes = this.schema.compiledExplicit, this.tag = null, this.result = "", this.duplicates = [], this.usedDuplicates = null;
+}
+d(lf, "State");
+function Fs(e, t) {
+ for (var r = Bt.repeat(" ", t), i = 0, n = -1, a = "", o, s = e.length; i < s; )
+ n = e.indexOf(`
+`, i), n === -1 ? (o = e.slice(i), i = s) : (o = e.slice(i, n + 1), i = n + 1), o.length && o !== `
+` && (a += r), a += o;
+ return a;
+}
+d(Fs, "indentString");
+function Hn(e, t) {
+ return `
+` + Bt.repeat(" ", e.indent * t);
+}
+d(Hn, "generateNextLine");
+function cf(e, t) {
+ var r, i, n;
+ for (r = 0, i = e.implicitTypes.length; r < i; r += 1)
+ if (n = e.implicitTypes[r], n.resolve(t))
+ return !0;
+ return !1;
+}
+d(cf, "testImplicitResolving");
+function Ri(e) {
+ return e === tx || e === Qy;
+}
+d(Ri, "isWhitespace");
+function Xr(e) {
+ return 32 <= e && e <= 126 || 161 <= e && e <= 55295 && e !== 8232 && e !== 8233 || 57344 <= e && e <= 65533 && e !== Ao || 65536 <= e && e <= 1114111;
+}
+d(Xr, "isPrintable");
+function $s(e) {
+ return Xr(e) && e !== Ao && e !== Jy && e !== Oi;
+}
+d($s, "isNsCharOrWhitespace");
+function Os(e, t, r) {
+ var i = $s(e), n = i && !Ri(e);
+ return (
+ // ns-plain-safe
+ (r ? (
+ // c = flow-in
+ i
+ ) : i && e !== tf && e !== ef && e !== rf && e !== nf && e !== af) && e !== Es && !(t === qn && !n) || $s(t) && !Ri(t) && e === Es || t === qn && n
+ );
+}
+d(Os, "isPlainSafe");
+function hf(e) {
+ return Xr(e) && e !== Ao && !Ri(e) && e !== ox && e !== hx && e !== qn && e !== tf && e !== ef && e !== rf && e !== nf && e !== af && e !== Es && e !== nx && e !== sx && e !== ex && e !== px && e !== lx && e !== cx && e !== ax && e !== rx && e !== ix && e !== ux && e !== fx;
+}
+d(hf, "isPlainSafeFirst");
+function uf(e) {
+ return !Ri(e) && e !== qn;
+}
+d(uf, "isPlainSafeLast");
+function Mr(e, t) {
+ var r = e.charCodeAt(t), i;
+ return r >= 55296 && r <= 56319 && t + 1 < e.length && (i = e.charCodeAt(t + 1), i >= 56320 && i <= 57343) ? (r - 55296) * 1024 + i - 56320 + 65536 : r;
+}
+d(Mr, "codePointAt");
+function Mo(e) {
+ var t = /^\n* /;
+ return t.test(e);
+}
+d(Mo, "needIndentIndicator");
+var ff = 1, Ds = 2, pf = 3, df = 4, Lr = 5;
+function gf(e, t, r, i, n, a, o, s) {
+ var l, c = 0, h = null, u = !1, f = !1, p = i !== -1, g = -1, m = hf(Mr(e, 0)) && uf(Mr(e, e.length - 1));
+ if (t || o)
+ for (l = 0; l < e.length; c >= 65536 ? l += 2 : l++) {
+ if (c = Mr(e, l), !Xr(c))
+ return Lr;
+ m = m && Os(c, h, s), h = c;
+ }
+ else {
+ for (l = 0; l < e.length; c >= 65536 ? l += 2 : l++) {
+ if (c = Mr(e, l), c === Oi)
+ u = !0, p && (f = f || // Foldable line = too long, and not more-indented.
+ l - g - 1 > i && e[g + 1] !== " ", g = l);
+ else if (!Xr(c))
+ return Lr;
+ m = m && Os(c, h, s), h = c;
+ }
+ f = f || p && l - g - 1 > i && e[g + 1] !== " ";
+ }
+ return !u && !f ? m && !o && !n(e) ? ff : a === Di ? Lr : Ds : r > 9 && Mo(e) ? Lr : o ? a === Di ? Lr : Ds : f ? df : pf;
+}
+d(gf, "chooseScalarStyle");
+function mf(e, t, r, i, n) {
+ e.dump = function() {
+ if (t.length === 0)
+ return e.quotingType === Di ? '""' : "''";
+ if (!e.noCompatMode && (dx.indexOf(t) !== -1 || gx.test(t)))
+ return e.quotingType === Di ? '"' + t + '"' : "'" + t + "'";
+ var a = e.indent * Math.max(1, r), o = e.lineWidth === -1 ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - a), s = i || e.flowLevel > -1 && r >= e.flowLevel;
+ function l(c) {
+ return cf(e, c);
+ }
+ switch (d(l, "testAmbiguity"), gf(
+ t,
+ s,
+ e.indent,
+ o,
+ l,
+ e.quotingType,
+ e.forceQuotes && !i,
+ n
+ )) {
+ case ff:
+ return t;
+ case Ds:
+ return "'" + t.replace(/'/g, "''") + "'";
+ case pf:
+ return "|" + Rs(t, e.indent) + Is(Fs(t, a));
+ case df:
+ return ">" + Rs(t, e.indent) + Is(Fs(yf(t, o), a));
+ case Lr:
+ return '"' + xf(t) + '"';
+ default:
+ throw new Kt("impossible error: invalid scalar style");
+ }
+ }();
+}
+d(mf, "writeScalar");
+function Rs(e, t) {
+ var r = Mo(e) ? String(t) : "", i = e[e.length - 1] === `
+`, n = i && (e[e.length - 2] === `
+` || e === `
+`), a = n ? "+" : i ? "" : "-";
+ return r + a + `
+`;
+}
+d(Rs, "blockHeader");
+function Is(e) {
+ return e[e.length - 1] === `
+` ? e.slice(0, -1) : e;
+}
+d(Is, "dropEndingNewline");
+function yf(e, t) {
+ for (var r = /(\n+)([^\n]*)/g, i = function() {
+ var c = e.indexOf(`
+`);
+ return c = c !== -1 ? c : e.length, r.lastIndex = c, Ps(e.slice(0, c), t);
+ }(), n = e[0] === `
+` || e[0] === " ", a, o; o = r.exec(e); ) {
+ var s = o[1], l = o[2];
+ a = l[0] === " ", i += s + (!n && !a && l !== "" ? `
+` : "") + Ps(l, t), n = a;
+ }
+ return i;
+}
+d(yf, "foldString");
+function Ps(e, t) {
+ if (e === "" || e[0] === " ") return e;
+ for (var r = / [^ ]/g, i, n = 0, a, o = 0, s = 0, l = ""; i = r.exec(e); )
+ s = i.index, s - n > t && (a = o > n ? o : s, l += `
+` + e.slice(n, a), n = a + 1), o = s;
+ return l += `
+`, e.length - n > t && o > n ? l += e.slice(n, o) + `
+` + e.slice(o + 1) : l += e.slice(n), l.slice(1);
+}
+d(Ps, "foldLine");
+function xf(e) {
+ for (var t = "", r = 0, i, n = 0; n < e.length; r >= 65536 ? n += 2 : n++)
+ r = Mr(e, n), i = Nt[r], !i && Xr(r) ? (t += e[n], r >= 65536 && (t += e[n + 1])) : t += i || of(r);
+ return t;
+}
+d(xf, "escapeString");
+function bf(e, t, r) {
+ var i = "", n = e.tag, a, o, s;
+ for (a = 0, o = r.length; a < o; a += 1)
+ s = r[a], e.replacer && (s = e.replacer.call(r, String(a), s)), (we(e, t, s, !1, !1) || typeof s > "u" && we(e, t, null, !1, !1)) && (i !== "" && (i += "," + (e.condenseFlow ? "" : " ")), i += e.dump);
+ e.tag = n, e.dump = "[" + i + "]";
+}
+d(bf, "writeFlowSequence");
+function Ns(e, t, r, i) {
+ var n = "", a = e.tag, o, s, l;
+ for (o = 0, s = r.length; o < s; o += 1)
+ l = r[o], e.replacer && (l = e.replacer.call(r, String(o), l)), (we(e, t + 1, l, !0, !0, !1, !0) || typeof l > "u" && we(e, t + 1, null, !0, !0, !1, !0)) && ((!i || n !== "") && (n += Hn(e, t)), e.dump && Oi === e.dump.charCodeAt(0) ? n += "-" : n += "- ", n += e.dump);
+ e.tag = a, e.dump = n || "[]";
+}
+d(Ns, "writeBlockSequence");
+function _f(e, t, r) {
+ var i = "", n = e.tag, a = Object.keys(r), o, s, l, c, h;
+ for (o = 0, s = a.length; o < s; o += 1)
+ h = "", i !== "" && (h += ", "), e.condenseFlow && (h += '"'), l = a[o], c = r[l], e.replacer && (c = e.replacer.call(r, l, c)), we(e, t, l, !1, !1) && (e.dump.length > 1024 && (h += "? "), h += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " "), we(e, t, c, !1, !1) && (h += e.dump, i += h));
+ e.tag = n, e.dump = "{" + i + "}";
+}
+d(_f, "writeFlowMapping");
+function Cf(e, t, r, i) {
+ var n = "", a = e.tag, o = Object.keys(r), s, l, c, h, u, f;
+ if (e.sortKeys === !0)
+ o.sort();
+ else if (typeof e.sortKeys == "function")
+ o.sort(e.sortKeys);
+ else if (e.sortKeys)
+ throw new Kt("sortKeys must be a boolean or a function");
+ for (s = 0, l = o.length; s < l; s += 1)
+ f = "", (!i || n !== "") && (f += Hn(e, t)), c = o[s], h = r[c], e.replacer && (h = e.replacer.call(r, c, h)), we(e, t + 1, c, !0, !0, !0) && (u = e.tag !== null && e.tag !== "?" || e.dump && e.dump.length > 1024, u && (e.dump && Oi === e.dump.charCodeAt(0) ? f += "?" : f += "? "), f += e.dump, u && (f += Hn(e, t)), we(e, t + 1, h, !0, u) && (e.dump && Oi === e.dump.charCodeAt(0) ? f += ":" : f += ": ", f += e.dump, n += f));
+ e.tag = a, e.dump = n || "{}";
+}
+d(Cf, "writeBlockMapping");
+function zs(e, t, r) {
+ var i, n, a, o, s, l;
+ for (n = r ? e.explicitTypes : e.implicitTypes, a = 0, o = n.length; a < o; a += 1)
+ if (s = n[a], (s.instanceOf || s.predicate) && (!s.instanceOf || typeof t == "object" && t instanceof s.instanceOf) && (!s.predicate || s.predicate(t))) {
+ if (r ? s.multi && s.representName ? e.tag = s.representName(t) : e.tag = s.tag : e.tag = "?", s.represent) {
+ if (l = e.styleMap[s.tag] || s.defaultStyle, Qu.call(s.represent) === "[object Function]")
+ i = s.represent(t, l);
+ else if (Ju.call(s.represent, l))
+ i = s.represent[l](t, l);
+ else
+ throw new Kt("!<" + s.tag + '> tag resolver accepts not "' + l + '" style');
+ e.dump = i;
+ }
+ return !0;
+ }
+ return !1;
+}
+d(zs, "detectType");
+function we(e, t, r, i, n, a, o) {
+ e.tag = null, e.dump = r, zs(e, r, !1) || zs(e, r, !0);
+ var s = Qu.call(e.dump), l = i, c;
+ i && (i = e.flowLevel < 0 || e.flowLevel > t);
+ var h = s === "[object Object]" || s === "[object Array]", u, f;
+ if (h && (u = e.duplicates.indexOf(r), f = u !== -1), (e.tag !== null && e.tag !== "?" || f || e.indent !== 2 && t > 0) && (n = !1), f && e.usedDuplicates[u])
+ e.dump = "*ref_" + u;
+ else {
+ if (h && f && !e.usedDuplicates[u] && (e.usedDuplicates[u] = !0), s === "[object Object]")
+ i && Object.keys(e.dump).length !== 0 ? (Cf(e, t, e.dump, n), f && (e.dump = "&ref_" + u + e.dump)) : (_f(e, t, e.dump), f && (e.dump = "&ref_" + u + " " + e.dump));
+ else if (s === "[object Array]")
+ i && e.dump.length !== 0 ? (e.noArrayIndent && !o && t > 0 ? Ns(e, t - 1, e.dump, n) : Ns(e, t, e.dump, n), f && (e.dump = "&ref_" + u + e.dump)) : (bf(e, t, e.dump), f && (e.dump = "&ref_" + u + " " + e.dump));
+ else if (s === "[object String]")
+ e.tag !== "?" && mf(e, e.dump, t, a, l);
+ else {
+ if (s === "[object Undefined]")
+ return !1;
+ if (e.skipInvalid) return !1;
+ throw new Kt("unacceptable kind of an object to dump " + s);
+ }
+ e.tag !== null && e.tag !== "?" && (c = encodeURI(
+ e.tag[0] === "!" ? e.tag.slice(1) : e.tag
+ ).replace(/!/g, "%21"), e.tag[0] === "!" ? c = "!" + c : c.slice(0, 18) === "tag:yaml.org,2002:" ? c = "!!" + c.slice(18) : c = "!<" + c + ">", e.dump = c + " " + e.dump);
+ }
+ return !0;
+}
+d(we, "writeNode");
+function wf(e, t) {
+ var r = [], i = [], n, a;
+ for (jn(e, r, i), n = 0, a = i.length; n < a; n += 1)
+ t.duplicates.push(r[i[n]]);
+ t.usedDuplicates = new Array(a);
+}
+d(wf, "getDuplicateReferences");
+function jn(e, t, r) {
+ var i, n, a;
+ if (e !== null && typeof e == "object")
+ if (n = t.indexOf(e), n !== -1)
+ r.indexOf(n) === -1 && r.push(n);
+ else if (t.push(e), Array.isArray(e))
+ for (n = 0, a = e.length; n < a; n += 1)
+ jn(e[n], t, r);
+ else
+ for (i = Object.keys(e), n = 0, a = i.length; n < a; n += 1)
+ jn(e[i[n]], t, r);
+}
+d(jn, "inspectNode");
+function yx(e, t) {
+ t = t || {};
+ var r = new lf(t);
+ r.noRefs || wf(e, r);
+ var i = e;
+ return r.replacer && (i = r.replacer.call({ "": i }, "", i)), we(r, 0, i, !0, !0) ? r.dump + `
+` : "";
+}
+d(yx, "dump$1");
+function xx(e, t) {
+ return function() {
+ throw new Error("Function yaml." + e + " is removed in js-yaml 4. Use yaml." + t + " instead, which is now safe by default.");
+ };
+}
+d(xx, "renamed");
+var bx = fu, _x = Ky.load;
+/*! Bundled license information:
+
+js-yaml/dist/js-yaml.mjs:
+ (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
+*/
+var ne = {
+ aggregation: 18,
+ extension: 18,
+ composition: 18,
+ dependency: 6,
+ lollipop: 13.5,
+ arrow_point: 4
+};
+function Ci(e, t) {
+ if (e === void 0 || t === void 0)
+ return { angle: 0, deltaX: 0, deltaY: 0 };
+ e = _t(e), t = _t(t);
+ const [r, i] = [e.x, e.y], [n, a] = [t.x, t.y], o = n - r, s = a - i;
+ return { angle: Math.atan(s / o), deltaX: o, deltaY: s };
+}
+d(Ci, "calculateDeltaAndAngle");
+var _t = /* @__PURE__ */ d((e) => Array.isArray(e) ? { x: e[0], y: e[1] } : e, "pointTransformer"), Cx = /* @__PURE__ */ d((e) => ({
+ x: /* @__PURE__ */ d(function(t, r, i) {
+ let n = 0;
+ const a = _t(i[0]).x < _t(i[i.length - 1]).x ? "left" : "right";
+ if (r === 0 && Object.hasOwn(ne, e.arrowTypeStart)) {
+ const { angle: p, deltaX: g } = Ci(i[0], i[1]);
+ n = ne[e.arrowTypeStart] * Math.cos(p) * (g >= 0 ? 1 : -1);
+ } else if (r === i.length - 1 && Object.hasOwn(ne, e.arrowTypeEnd)) {
+ const { angle: p, deltaX: g } = Ci(
+ i[i.length - 1],
+ i[i.length - 2]
+ );
+ n = ne[e.arrowTypeEnd] * Math.cos(p) * (g >= 0 ? 1 : -1);
+ }
+ const o = Math.abs(
+ _t(t).x - _t(i[i.length - 1]).x
+ ), s = Math.abs(
+ _t(t).y - _t(i[i.length - 1]).y
+ ), l = Math.abs(_t(t).x - _t(i[0]).x), c = Math.abs(_t(t).y - _t(i[0]).y), h = ne[e.arrowTypeStart], u = ne[e.arrowTypeEnd], f = 1;
+ if (o < u && o > 0 && s < u) {
+ let p = u + f - o;
+ p *= a === "right" ? -1 : 1, n -= p;
+ }
+ if (l < h && l > 0 && c < h) {
+ let p = h + f - l;
+ p *= a === "right" ? -1 : 1, n += p;
+ }
+ return _t(t).x + n;
+ }, "x"),
+ y: /* @__PURE__ */ d(function(t, r, i) {
+ let n = 0;
+ const a = _t(i[0]).y < _t(i[i.length - 1]).y ? "down" : "up";
+ if (r === 0 && Object.hasOwn(ne, e.arrowTypeStart)) {
+ const { angle: p, deltaY: g } = Ci(i[0], i[1]);
+ n = ne[e.arrowTypeStart] * Math.abs(Math.sin(p)) * (g >= 0 ? 1 : -1);
+ } else if (r === i.length - 1 && Object.hasOwn(ne, e.arrowTypeEnd)) {
+ const { angle: p, deltaY: g } = Ci(
+ i[i.length - 1],
+ i[i.length - 2]
+ );
+ n = ne[e.arrowTypeEnd] * Math.abs(Math.sin(p)) * (g >= 0 ? 1 : -1);
+ }
+ const o = Math.abs(
+ _t(t).y - _t(i[i.length - 1]).y
+ ), s = Math.abs(
+ _t(t).x - _t(i[i.length - 1]).x
+ ), l = Math.abs(_t(t).y - _t(i[0]).y), c = Math.abs(_t(t).x - _t(i[0]).x), h = ne[e.arrowTypeStart], u = ne[e.arrowTypeEnd], f = 1;
+ if (o < u && o > 0 && s < u) {
+ let p = u + f - o;
+ p *= a === "up" ? -1 : 1, n -= p;
+ }
+ if (l < h && l > 0 && c < h) {
+ let p = h + f - l;
+ p *= a === "up" ? -1 : 1, n += p;
+ }
+ return _t(t).y + n;
+ }, "y")
+}), "getLineFunctionsWithOffset"), Eo = /* @__PURE__ */ d(({
+ flowchart: e
+}) => {
+ var n, a;
+ const t = ((n = e == null ? void 0 : e.subGraphTitleMargin) == null ? void 0 : n.top) ?? 0, r = ((a = e == null ? void 0 : e.subGraphTitleMargin) == null ? void 0 : a.bottom) ?? 0, i = t + r;
+ return {
+ subGraphTitleTopMargin: t,
+ subGraphTitleBottomMargin: r,
+ subGraphTitleTotalMargin: i
+ };
+}, "getSubGraphTitleMargins"), Fo = {}, Mt = {};
+Object.defineProperty(Mt, "__esModule", { value: !0 });
+Mt.BLANK_URL = Mt.relativeFirstCharacters = Mt.whitespaceEscapeCharsRegex = Mt.urlSchemeRegex = Mt.ctrlCharactersRegex = Mt.htmlCtrlEntityRegex = Mt.htmlEntitiesRegex = Mt.invalidProtocolRegex = void 0;
+Mt.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im;
+Mt.htmlEntitiesRegex = /(\w+)(^\w|;)?/g;
+Mt.htmlCtrlEntityRegex = /&(newline|tab);/gi;
+Mt.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;
+Mt.urlSchemeRegex = /^.+(:|:)/gim;
+Mt.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;
+Mt.relativeFirstCharacters = [".", "/"];
+Mt.BLANK_URL = "about:blank";
+Object.defineProperty(Fo, "__esModule", { value: !0 });
+var vf = Fo.sanitizeUrl = void 0, It = Mt;
+function wx(e) {
+ return It.relativeFirstCharacters.indexOf(e[0]) > -1;
+}
+function vx(e) {
+ var t = e.replace(It.ctrlCharactersRegex, "");
+ return t.replace(It.htmlEntitiesRegex, function(r, i) {
+ return String.fromCharCode(i);
+ });
+}
+function kx(e) {
+ return URL.canParse(e);
+}
+function Jl(e) {
+ try {
+ return decodeURIComponent(e);
+ } catch {
+ return e;
+ }
+}
+function Sx(e) {
+ if (!e)
+ return It.BLANK_URL;
+ var t, r = Jl(e.trim());
+ do
+ r = vx(r).replace(It.htmlCtrlEntityRegex, "").replace(It.ctrlCharactersRegex, "").replace(It.whitespaceEscapeCharsRegex, "").trim(), r = Jl(r), t = r.match(It.ctrlCharactersRegex) || r.match(It.htmlEntitiesRegex) || r.match(It.htmlCtrlEntityRegex) || r.match(It.whitespaceEscapeCharsRegex);
+ while (t && t.length > 0);
+ var i = r;
+ if (!i)
+ return It.BLANK_URL;
+ if (wx(i))
+ return i;
+ var n = i.trimStart(), a = n.match(It.urlSchemeRegex);
+ if (!a)
+ return i;
+ var o = a[0].toLowerCase().trim();
+ if (It.invalidProtocolRegex.test(o))
+ return It.BLANK_URL;
+ var s = n.replace(/\\/g, "/");
+ if (o === "mailto:" || o.includes("://"))
+ return s;
+ if (o === "http:" || o === "https:") {
+ if (!kx(s))
+ return It.BLANK_URL;
+ var l = new URL(s);
+ return l.protocol = l.protocol.toLowerCase(), l.hostname = l.hostname.toLowerCase(), l.toString();
+ }
+ return s;
+}
+vf = Fo.sanitizeUrl = Sx;
+var Tx = { value: () => {
+} };
+function kf() {
+ for (var e = 0, t = arguments.length, r = {}, i; e < t; ++e) {
+ if (!(i = arguments[e] + "") || i in r || /[\s.]/.test(i)) throw new Error("illegal type: " + i);
+ r[i] = [];
+ }
+ return new Sn(r);
+}
+function Sn(e) {
+ this._ = e;
+}
+function Bx(e, t) {
+ return e.trim().split(/^|\s+/).map(function(r) {
+ var i = "", n = r.indexOf(".");
+ if (n >= 0 && (i = r.slice(n + 1), r = r.slice(0, n)), r && !t.hasOwnProperty(r)) throw new Error("unknown type: " + r);
+ return { type: r, name: i };
+ });
+}
+Sn.prototype = kf.prototype = {
+ constructor: Sn,
+ on: function(e, t) {
+ var r = this._, i = Bx(e + "", r), n, a = -1, o = i.length;
+ if (arguments.length < 2) {
+ for (; ++a < o; ) if ((n = (e = i[a]).type) && (n = Lx(r[n], e.name))) return n;
+ return;
+ }
+ if (t != null && typeof t != "function") throw new Error("invalid callback: " + t);
+ for (; ++a < o; )
+ if (n = (e = i[a]).type) r[n] = tc(r[n], e.name, t);
+ else if (t == null) for (n in r) r[n] = tc(r[n], e.name, null);
+ return this;
+ },
+ copy: function() {
+ var e = {}, t = this._;
+ for (var r in t) e[r] = t[r].slice();
+ return new Sn(e);
+ },
+ call: function(e, t) {
+ if ((n = arguments.length - 2) > 0) for (var r = new Array(n), i = 0, n, a; i < n; ++i) r[i] = arguments[i + 2];
+ if (!this._.hasOwnProperty(e)) throw new Error("unknown type: " + e);
+ for (a = this._[e], i = 0, n = a.length; i < n; ++i) a[i].value.apply(t, r);
+ },
+ apply: function(e, t, r) {
+ if (!this._.hasOwnProperty(e)) throw new Error("unknown type: " + e);
+ for (var i = this._[e], n = 0, a = i.length; n < a; ++n) i[n].value.apply(t, r);
+ }
+};
+function Lx(e, t) {
+ for (var r = 0, i = e.length, n; r < i; ++r)
+ if ((n = e[r]).name === t)
+ return n.value;
+}
+function tc(e, t, r) {
+ for (var i = 0, n = e.length; i < n; ++i)
+ if (e[i].name === t) {
+ e[i] = Tx, e = e.slice(0, i).concat(e.slice(i + 1));
+ break;
+ }
+ return r != null && e.push({ name: t, value: r }), e;
+}
+var Ws = "http://www.w3.org/1999/xhtml";
+const ec = {
+ svg: "http://www.w3.org/2000/svg",
+ xhtml: Ws,
+ xlink: "http://www.w3.org/1999/xlink",
+ xml: "http://www.w3.org/XML/1998/namespace",
+ xmlns: "http://www.w3.org/2000/xmlns/"
+};
+function va(e) {
+ var t = e += "", r = t.indexOf(":");
+ return r >= 0 && (t = e.slice(0, r)) !== "xmlns" && (e = e.slice(r + 1)), ec.hasOwnProperty(t) ? { space: ec[t], local: e } : e;
+}
+function Ax(e) {
+ return function() {
+ var t = this.ownerDocument, r = this.namespaceURI;
+ return r === Ws && t.documentElement.namespaceURI === Ws ? t.createElement(e) : t.createElementNS(r, e);
+ };
+}
+function Mx(e) {
+ return function() {
+ return this.ownerDocument.createElementNS(e.space, e.local);
+ };
+}
+function Sf(e) {
+ var t = va(e);
+ return (t.local ? Mx : Ax)(t);
+}
+function Ex() {
+}
+function $o(e) {
+ return e == null ? Ex : function() {
+ return this.querySelector(e);
+ };
+}
+function Fx(e) {
+ typeof e != "function" && (e = $o(e));
+ for (var t = this._groups, r = t.length, i = new Array(r), n = 0; n < r; ++n)
+ for (var a = t[n], o = a.length, s = i[n] = new Array(o), l, c, h = 0; h < o; ++h)
+ (l = a[h]) && (c = e.call(l, l.__data__, h, a)) && ("__data__" in l && (c.__data__ = l.__data__), s[h] = c);
+ return new re(i, this._parents);
+}
+function $x(e) {
+ return e == null ? [] : Array.isArray(e) ? e : Array.from(e);
+}
+function Ox() {
+ return [];
+}
+function Tf(e) {
+ return e == null ? Ox : function() {
+ return this.querySelectorAll(e);
+ };
+}
+function Dx(e) {
+ return function() {
+ return $x(e.apply(this, arguments));
+ };
+}
+function Rx(e) {
+ typeof e == "function" ? e = Dx(e) : e = Tf(e);
+ for (var t = this._groups, r = t.length, i = [], n = [], a = 0; a < r; ++a)
+ for (var o = t[a], s = o.length, l, c = 0; c < s; ++c)
+ (l = o[c]) && (i.push(e.call(l, l.__data__, c, o)), n.push(l));
+ return new re(i, n);
+}
+function Bf(e) {
+ return function() {
+ return this.matches(e);
+ };
+}
+function Lf(e) {
+ return function(t) {
+ return t.matches(e);
+ };
+}
+var Ix = Array.prototype.find;
+function Px(e) {
+ return function() {
+ return Ix.call(this.children, e);
+ };
+}
+function Nx() {
+ return this.firstElementChild;
+}
+function zx(e) {
+ return this.select(e == null ? Nx : Px(typeof e == "function" ? e : Lf(e)));
+}
+var Wx = Array.prototype.filter;
+function qx() {
+ return Array.from(this.children);
+}
+function Hx(e) {
+ return function() {
+ return Wx.call(this.children, e);
+ };
+}
+function jx(e) {
+ return this.selectAll(e == null ? qx : Hx(typeof e == "function" ? e : Lf(e)));
+}
+function Yx(e) {
+ typeof e != "function" && (e = Bf(e));
+ for (var t = this._groups, r = t.length, i = new Array(r), n = 0; n < r; ++n)
+ for (var a = t[n], o = a.length, s = i[n] = [], l, c = 0; c < o; ++c)
+ (l = a[c]) && e.call(l, l.__data__, c, a) && s.push(l);
+ return new re(i, this._parents);
+}
+function Af(e) {
+ return new Array(e.length);
+}
+function Ux() {
+ return new re(this._enter || this._groups.map(Af), this._parents);
+}
+function Yn(e, t) {
+ this.ownerDocument = e.ownerDocument, this.namespaceURI = e.namespaceURI, this._next = null, this._parent = e, this.__data__ = t;
+}
+Yn.prototype = {
+ constructor: Yn,
+ appendChild: function(e) {
+ return this._parent.insertBefore(e, this._next);
+ },
+ insertBefore: function(e, t) {
+ return this._parent.insertBefore(e, t);
+ },
+ querySelector: function(e) {
+ return this._parent.querySelector(e);
+ },
+ querySelectorAll: function(e) {
+ return this._parent.querySelectorAll(e);
+ }
+};
+function Gx(e) {
+ return function() {
+ return e;
+ };
+}
+function Xx(e, t, r, i, n, a) {
+ for (var o = 0, s, l = t.length, c = a.length; o < c; ++o)
+ (s = t[o]) ? (s.__data__ = a[o], i[o] = s) : r[o] = new Yn(e, a[o]);
+ for (; o < l; ++o)
+ (s = t[o]) && (n[o] = s);
+}
+function Vx(e, t, r, i, n, a, o) {
+ var s, l, c = /* @__PURE__ */ new Map(), h = t.length, u = a.length, f = new Array(h), p;
+ for (s = 0; s < h; ++s)
+ (l = t[s]) && (f[s] = p = o.call(l, l.__data__, s, t) + "", c.has(p) ? n[s] = l : c.set(p, l));
+ for (s = 0; s < u; ++s)
+ p = o.call(e, a[s], s, a) + "", (l = c.get(p)) ? (i[s] = l, l.__data__ = a[s], c.delete(p)) : r[s] = new Yn(e, a[s]);
+ for (s = 0; s < h; ++s)
+ (l = t[s]) && c.get(f[s]) === l && (n[s] = l);
+}
+function Zx(e) {
+ return e.__data__;
+}
+function Kx(e, t) {
+ if (!arguments.length) return Array.from(this, Zx);
+ var r = t ? Vx : Xx, i = this._parents, n = this._groups;
+ typeof e != "function" && (e = Gx(e));
+ for (var a = n.length, o = new Array(a), s = new Array(a), l = new Array(a), c = 0; c < a; ++c) {
+ var h = i[c], u = n[c], f = u.length, p = Qx(e.call(h, h && h.__data__, c, i)), g = p.length, m = s[c] = new Array(g), y = o[c] = new Array(g), x = l[c] = new Array(f);
+ r(h, u, m, y, x, p, t);
+ for (var b = 0, C = 0, k, v; b < g; ++b)
+ if (k = m[b]) {
+ for (b >= C && (C = b + 1); !(v = y[C]) && ++C < g; ) ;
+ k._next = v || null;
+ }
+ }
+ return o = new re(o, i), o._enter = s, o._exit = l, o;
+}
+function Qx(e) {
+ return typeof e == "object" && "length" in e ? e : Array.from(e);
+}
+function Jx() {
+ return new re(this._exit || this._groups.map(Af), this._parents);
+}
+function tb(e, t, r) {
+ var i = this.enter(), n = this, a = this.exit();
+ return typeof e == "function" ? (i = e(i), i && (i = i.selection())) : i = i.append(e + ""), t != null && (n = t(n), n && (n = n.selection())), r == null ? a.remove() : r(a), i && n ? i.merge(n).order() : n;
+}
+function eb(e) {
+ for (var t = e.selection ? e.selection() : e, r = this._groups, i = t._groups, n = r.length, a = i.length, o = Math.min(n, a), s = new Array(n), l = 0; l < o; ++l)
+ for (var c = r[l], h = i[l], u = c.length, f = s[l] = new Array(u), p, g = 0; g < u; ++g)
+ (p = c[g] || h[g]) && (f[g] = p);
+ for (; l < n; ++l)
+ s[l] = r[l];
+ return new re(s, this._parents);
+}
+function rb() {
+ for (var e = this._groups, t = -1, r = e.length; ++t < r; )
+ for (var i = e[t], n = i.length - 1, a = i[n], o; --n >= 0; )
+ (o = i[n]) && (a && o.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(o, a), a = o);
+ return this;
+}
+function ib(e) {
+ e || (e = nb);
+ function t(u, f) {
+ return u && f ? e(u.__data__, f.__data__) : !u - !f;
+ }
+ for (var r = this._groups, i = r.length, n = new Array(i), a = 0; a < i; ++a) {
+ for (var o = r[a], s = o.length, l = n[a] = new Array(s), c, h = 0; h < s; ++h)
+ (c = o[h]) && (l[h] = c);
+ l.sort(t);
+ }
+ return new re(n, this._parents).order();
+}
+function nb(e, t) {
+ return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
+}
+function ab() {
+ var e = arguments[0];
+ return arguments[0] = this, e.apply(null, arguments), this;
+}
+function sb() {
+ return Array.from(this);
+}
+function ob() {
+ for (var e = this._groups, t = 0, r = e.length; t < r; ++t)
+ for (var i = e[t], n = 0, a = i.length; n < a; ++n) {
+ var o = i[n];
+ if (o) return o;
+ }
+ return null;
+}
+function lb() {
+ let e = 0;
+ for (const t of this) ++e;
+ return e;
+}
+function cb() {
+ return !this.node();
+}
+function hb(e) {
+ for (var t = this._groups, r = 0, i = t.length; r < i; ++r)
+ for (var n = t[r], a = 0, o = n.length, s; a < o; ++a)
+ (s = n[a]) && e.call(s, s.__data__, a, n);
+ return this;
+}
+function ub(e) {
+ return function() {
+ this.removeAttribute(e);
+ };
+}
+function fb(e) {
+ return function() {
+ this.removeAttributeNS(e.space, e.local);
+ };
+}
+function pb(e, t) {
+ return function() {
+ this.setAttribute(e, t);
+ };
+}
+function db(e, t) {
+ return function() {
+ this.setAttributeNS(e.space, e.local, t);
+ };
+}
+function gb(e, t) {
+ return function() {
+ var r = t.apply(this, arguments);
+ r == null ? this.removeAttribute(e) : this.setAttribute(e, r);
+ };
+}
+function mb(e, t) {
+ return function() {
+ var r = t.apply(this, arguments);
+ r == null ? this.removeAttributeNS(e.space, e.local) : this.setAttributeNS(e.space, e.local, r);
+ };
+}
+function yb(e, t) {
+ var r = va(e);
+ if (arguments.length < 2) {
+ var i = this.node();
+ return r.local ? i.getAttributeNS(r.space, r.local) : i.getAttribute(r);
+ }
+ return this.each((t == null ? r.local ? fb : ub : typeof t == "function" ? r.local ? mb : gb : r.local ? db : pb)(r, t));
+}
+function Mf(e) {
+ return e.ownerDocument && e.ownerDocument.defaultView || e.document && e || e.defaultView;
+}
+function xb(e) {
+ return function() {
+ this.style.removeProperty(e);
+ };
+}
+function bb(e, t, r) {
+ return function() {
+ this.style.setProperty(e, t, r);
+ };
+}
+function _b(e, t, r) {
+ return function() {
+ var i = t.apply(this, arguments);
+ i == null ? this.style.removeProperty(e) : this.style.setProperty(e, i, r);
+ };
+}
+function Cb(e, t, r) {
+ return arguments.length > 1 ? this.each((t == null ? xb : typeof t == "function" ? _b : bb)(e, t, r ?? "")) : Vr(this.node(), e);
+}
+function Vr(e, t) {
+ return e.style.getPropertyValue(t) || Mf(e).getComputedStyle(e, null).getPropertyValue(t);
+}
+function wb(e) {
+ return function() {
+ delete this[e];
+ };
+}
+function vb(e, t) {
+ return function() {
+ this[e] = t;
+ };
+}
+function kb(e, t) {
+ return function() {
+ var r = t.apply(this, arguments);
+ r == null ? delete this[e] : this[e] = r;
+ };
+}
+function Sb(e, t) {
+ return arguments.length > 1 ? this.each((t == null ? wb : typeof t == "function" ? kb : vb)(e, t)) : this.node()[e];
+}
+function Ef(e) {
+ return e.trim().split(/^|\s+/);
+}
+function Oo(e) {
+ return e.classList || new Ff(e);
+}
+function Ff(e) {
+ this._node = e, this._names = Ef(e.getAttribute("class") || "");
+}
+Ff.prototype = {
+ add: function(e) {
+ var t = this._names.indexOf(e);
+ t < 0 && (this._names.push(e), this._node.setAttribute("class", this._names.join(" ")));
+ },
+ remove: function(e) {
+ var t = this._names.indexOf(e);
+ t >= 0 && (this._names.splice(t, 1), this._node.setAttribute("class", this._names.join(" ")));
+ },
+ contains: function(e) {
+ return this._names.indexOf(e) >= 0;
+ }
+};
+function $f(e, t) {
+ for (var r = Oo(e), i = -1, n = t.length; ++i < n; ) r.add(t[i]);
+}
+function Of(e, t) {
+ for (var r = Oo(e), i = -1, n = t.length; ++i < n; ) r.remove(t[i]);
+}
+function Tb(e) {
+ return function() {
+ $f(this, e);
+ };
+}
+function Bb(e) {
+ return function() {
+ Of(this, e);
+ };
+}
+function Lb(e, t) {
+ return function() {
+ (t.apply(this, arguments) ? $f : Of)(this, e);
+ };
+}
+function Ab(e, t) {
+ var r = Ef(e + "");
+ if (arguments.length < 2) {
+ for (var i = Oo(this.node()), n = -1, a = r.length; ++n < a; ) if (!i.contains(r[n])) return !1;
+ return !0;
+ }
+ return this.each((typeof t == "function" ? Lb : t ? Tb : Bb)(r, t));
+}
+function Mb() {
+ this.textContent = "";
+}
+function Eb(e) {
+ return function() {
+ this.textContent = e;
+ };
+}
+function Fb(e) {
+ return function() {
+ var t = e.apply(this, arguments);
+ this.textContent = t ?? "";
+ };
+}
+function $b(e) {
+ return arguments.length ? this.each(e == null ? Mb : (typeof e == "function" ? Fb : Eb)(e)) : this.node().textContent;
+}
+function Ob() {
+ this.innerHTML = "";
+}
+function Db(e) {
+ return function() {
+ this.innerHTML = e;
+ };
+}
+function Rb(e) {
+ return function() {
+ var t = e.apply(this, arguments);
+ this.innerHTML = t ?? "";
+ };
+}
+function Ib(e) {
+ return arguments.length ? this.each(e == null ? Ob : (typeof e == "function" ? Rb : Db)(e)) : this.node().innerHTML;
+}
+function Pb() {
+ this.nextSibling && this.parentNode.appendChild(this);
+}
+function Nb() {
+ return this.each(Pb);
+}
+function zb() {
+ this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
+}
+function Wb() {
+ return this.each(zb);
+}
+function qb(e) {
+ var t = typeof e == "function" ? e : Sf(e);
+ return this.select(function() {
+ return this.appendChild(t.apply(this, arguments));
+ });
+}
+function Hb() {
+ return null;
+}
+function jb(e, t) {
+ var r = typeof e == "function" ? e : Sf(e), i = t == null ? Hb : typeof t == "function" ? t : $o(t);
+ return this.select(function() {
+ return this.insertBefore(r.apply(this, arguments), i.apply(this, arguments) || null);
+ });
+}
+function Yb() {
+ var e = this.parentNode;
+ e && e.removeChild(this);
+}
+function Ub() {
+ return this.each(Yb);
+}
+function Gb() {
+ var e = this.cloneNode(!1), t = this.parentNode;
+ return t ? t.insertBefore(e, this.nextSibling) : e;
+}
+function Xb() {
+ var e = this.cloneNode(!0), t = this.parentNode;
+ return t ? t.insertBefore(e, this.nextSibling) : e;
+}
+function Vb(e) {
+ return this.select(e ? Xb : Gb);
+}
+function Zb(e) {
+ return arguments.length ? this.property("__data__", e) : this.node().__data__;
+}
+function Kb(e) {
+ return function(t) {
+ e.call(this, t, this.__data__);
+ };
+}
+function Qb(e) {
+ return e.trim().split(/^|\s+/).map(function(t) {
+ var r = "", i = t.indexOf(".");
+ return i >= 0 && (r = t.slice(i + 1), t = t.slice(0, i)), { type: t, name: r };
+ });
+}
+function Jb(e) {
+ return function() {
+ var t = this.__on;
+ if (t) {
+ for (var r = 0, i = -1, n = t.length, a; r < n; ++r)
+ a = t[r], (!e.type || a.type === e.type) && a.name === e.name ? this.removeEventListener(a.type, a.listener, a.options) : t[++i] = a;
+ ++i ? t.length = i : delete this.__on;
+ }
+ };
+}
+function t1(e, t, r) {
+ return function() {
+ var i = this.__on, n, a = Kb(t);
+ if (i) {
+ for (var o = 0, s = i.length; o < s; ++o)
+ if ((n = i[o]).type === e.type && n.name === e.name) {
+ this.removeEventListener(n.type, n.listener, n.options), this.addEventListener(n.type, n.listener = a, n.options = r), n.value = t;
+ return;
+ }
+ }
+ this.addEventListener(e.type, a, r), n = { type: e.type, name: e.name, value: t, listener: a, options: r }, i ? i.push(n) : this.__on = [n];
+ };
+}
+function e1(e, t, r) {
+ var i = Qb(e + ""), n, a = i.length, o;
+ if (arguments.length < 2) {
+ var s = this.node().__on;
+ if (s) {
+ for (var l = 0, c = s.length, h; l < c; ++l)
+ for (n = 0, h = s[l]; n < a; ++n)
+ if ((o = i[n]).type === h.type && o.name === h.name)
+ return h.value;
+ }
+ return;
+ }
+ for (s = t ? t1 : Jb, n = 0; n < a; ++n) this.each(s(i[n], t, r));
+ return this;
+}
+function Df(e, t, r) {
+ var i = Mf(e), n = i.CustomEvent;
+ typeof n == "function" ? n = new n(t, r) : (n = i.document.createEvent("Event"), r ? (n.initEvent(t, r.bubbles, r.cancelable), n.detail = r.detail) : n.initEvent(t, !1, !1)), e.dispatchEvent(n);
+}
+function r1(e, t) {
+ return function() {
+ return Df(this, e, t);
+ };
+}
+function i1(e, t) {
+ return function() {
+ return Df(this, e, t.apply(this, arguments));
+ };
+}
+function n1(e, t) {
+ return this.each((typeof t == "function" ? i1 : r1)(e, t));
+}
+function* a1() {
+ for (var e = this._groups, t = 0, r = e.length; t < r; ++t)
+ for (var i = e[t], n = 0, a = i.length, o; n < a; ++n)
+ (o = i[n]) && (yield o);
+}
+var Rf = [null];
+function re(e, t) {
+ this._groups = e, this._parents = t;
+}
+function Xi() {
+ return new re([[document.documentElement]], Rf);
+}
+function s1() {
+ return this;
+}
+re.prototype = Xi.prototype = {
+ constructor: re,
+ select: Fx,
+ selectAll: Rx,
+ selectChild: zx,
+ selectChildren: jx,
+ filter: Yx,
+ data: Kx,
+ enter: Ux,
+ exit: Jx,
+ join: tb,
+ merge: eb,
+ selection: s1,
+ order: rb,
+ sort: ib,
+ call: ab,
+ nodes: sb,
+ node: ob,
+ size: lb,
+ empty: cb,
+ each: hb,
+ attr: yb,
+ style: Cb,
+ property: Sb,
+ classed: Ab,
+ text: $b,
+ html: Ib,
+ raise: Nb,
+ lower: Wb,
+ append: qb,
+ insert: jb,
+ remove: Ub,
+ clone: Vb,
+ datum: Zb,
+ on: e1,
+ dispatch: n1,
+ [Symbol.iterator]: a1
+};
+function ct(e) {
+ return typeof e == "string" ? new re([[document.querySelector(e)]], [document.documentElement]) : new re([[e]], Rf);
+}
+function Do(e, t, r) {
+ e.prototype = t.prototype = r, r.constructor = e;
+}
+function If(e, t) {
+ var r = Object.create(e.prototype);
+ for (var i in t) r[i] = t[i];
+ return r;
+}
+function Vi() {
+}
+var Ii = 0.7, Un = 1 / Ii, Fr = "\\s*([+-]?\\d+)\\s*", Pi = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", _e = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", o1 = /^#([0-9a-f]{3,8})$/, l1 = new RegExp(`^rgb\\(${Fr},${Fr},${Fr}\\)$`), c1 = new RegExp(`^rgb\\(${_e},${_e},${_e}\\)$`), h1 = new RegExp(`^rgba\\(${Fr},${Fr},${Fr},${Pi}\\)$`), u1 = new RegExp(`^rgba\\(${_e},${_e},${_e},${Pi}\\)$`), f1 = new RegExp(`^hsl\\(${Pi},${_e},${_e}\\)$`), p1 = new RegExp(`^hsla\\(${Pi},${_e},${_e},${Pi}\\)$`), rc = {
+ aliceblue: 15792383,
+ antiquewhite: 16444375,
+ aqua: 65535,
+ aquamarine: 8388564,
+ azure: 15794175,
+ beige: 16119260,
+ bisque: 16770244,
+ black: 0,
+ blanchedalmond: 16772045,
+ blue: 255,
+ blueviolet: 9055202,
+ brown: 10824234,
+ burlywood: 14596231,
+ cadetblue: 6266528,
+ chartreuse: 8388352,
+ chocolate: 13789470,
+ coral: 16744272,
+ cornflowerblue: 6591981,
+ cornsilk: 16775388,
+ crimson: 14423100,
+ cyan: 65535,
+ darkblue: 139,
+ darkcyan: 35723,
+ darkgoldenrod: 12092939,
+ darkgray: 11119017,
+ darkgreen: 25600,
+ darkgrey: 11119017,
+ darkkhaki: 12433259,
+ darkmagenta: 9109643,
+ darkolivegreen: 5597999,
+ darkorange: 16747520,
+ darkorchid: 10040012,
+ darkred: 9109504,
+ darksalmon: 15308410,
+ darkseagreen: 9419919,
+ darkslateblue: 4734347,
+ darkslategray: 3100495,
+ darkslategrey: 3100495,
+ darkturquoise: 52945,
+ darkviolet: 9699539,
+ deeppink: 16716947,
+ deepskyblue: 49151,
+ dimgray: 6908265,
+ dimgrey: 6908265,
+ dodgerblue: 2003199,
+ firebrick: 11674146,
+ floralwhite: 16775920,
+ forestgreen: 2263842,
+ fuchsia: 16711935,
+ gainsboro: 14474460,
+ ghostwhite: 16316671,
+ gold: 16766720,
+ goldenrod: 14329120,
+ gray: 8421504,
+ green: 32768,
+ greenyellow: 11403055,
+ grey: 8421504,
+ honeydew: 15794160,
+ hotpink: 16738740,
+ indianred: 13458524,
+ indigo: 4915330,
+ ivory: 16777200,
+ khaki: 15787660,
+ lavender: 15132410,
+ lavenderblush: 16773365,
+ lawngreen: 8190976,
+ lemonchiffon: 16775885,
+ lightblue: 11393254,
+ lightcoral: 15761536,
+ lightcyan: 14745599,
+ lightgoldenrodyellow: 16448210,
+ lightgray: 13882323,
+ lightgreen: 9498256,
+ lightgrey: 13882323,
+ lightpink: 16758465,
+ lightsalmon: 16752762,
+ lightseagreen: 2142890,
+ lightskyblue: 8900346,
+ lightslategray: 7833753,
+ lightslategrey: 7833753,
+ lightsteelblue: 11584734,
+ lightyellow: 16777184,
+ lime: 65280,
+ limegreen: 3329330,
+ linen: 16445670,
+ magenta: 16711935,
+ maroon: 8388608,
+ mediumaquamarine: 6737322,
+ mediumblue: 205,
+ mediumorchid: 12211667,
+ mediumpurple: 9662683,
+ mediumseagreen: 3978097,
+ mediumslateblue: 8087790,
+ mediumspringgreen: 64154,
+ mediumturquoise: 4772300,
+ mediumvioletred: 13047173,
+ midnightblue: 1644912,
+ mintcream: 16121850,
+ mistyrose: 16770273,
+ moccasin: 16770229,
+ navajowhite: 16768685,
+ navy: 128,
+ oldlace: 16643558,
+ olive: 8421376,
+ olivedrab: 7048739,
+ orange: 16753920,
+ orangered: 16729344,
+ orchid: 14315734,
+ palegoldenrod: 15657130,
+ palegreen: 10025880,
+ paleturquoise: 11529966,
+ palevioletred: 14381203,
+ papayawhip: 16773077,
+ peachpuff: 16767673,
+ peru: 13468991,
+ pink: 16761035,
+ plum: 14524637,
+ powderblue: 11591910,
+ purple: 8388736,
+ rebeccapurple: 6697881,
+ red: 16711680,
+ rosybrown: 12357519,
+ royalblue: 4286945,
+ saddlebrown: 9127187,
+ salmon: 16416882,
+ sandybrown: 16032864,
+ seagreen: 3050327,
+ seashell: 16774638,
+ sienna: 10506797,
+ silver: 12632256,
+ skyblue: 8900331,
+ slateblue: 6970061,
+ slategray: 7372944,
+ slategrey: 7372944,
+ snow: 16775930,
+ springgreen: 65407,
+ steelblue: 4620980,
+ tan: 13808780,
+ teal: 32896,
+ thistle: 14204888,
+ tomato: 16737095,
+ turquoise: 4251856,
+ violet: 15631086,
+ wheat: 16113331,
+ white: 16777215,
+ whitesmoke: 16119285,
+ yellow: 16776960,
+ yellowgreen: 10145074
+};
+Do(Vi, Ni, {
+ copy(e) {
+ return Object.assign(new this.constructor(), this, e);
+ },
+ displayable() {
+ return this.rgb().displayable();
+ },
+ hex: ic,
+ // Deprecated! Use color.formatHex.
+ formatHex: ic,
+ formatHex8: d1,
+ formatHsl: g1,
+ formatRgb: nc,
+ toString: nc
+});
+function ic() {
+ return this.rgb().formatHex();
+}
+function d1() {
+ return this.rgb().formatHex8();
+}
+function g1() {
+ return Pf(this).formatHsl();
+}
+function nc() {
+ return this.rgb().formatRgb();
+}
+function Ni(e) {
+ var t, r;
+ return e = (e + "").trim().toLowerCase(), (t = o1.exec(e)) ? (r = t[1].length, t = parseInt(t[1], 16), r === 6 ? ac(t) : r === 3 ? new Qt(t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, (t & 15) << 4 | t & 15, 1) : r === 8 ? un(t >> 24 & 255, t >> 16 & 255, t >> 8 & 255, (t & 255) / 255) : r === 4 ? un(t >> 12 & 15 | t >> 8 & 240, t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, ((t & 15) << 4 | t & 15) / 255) : null) : (t = l1.exec(e)) ? new Qt(t[1], t[2], t[3], 1) : (t = c1.exec(e)) ? new Qt(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, 1) : (t = h1.exec(e)) ? un(t[1], t[2], t[3], t[4]) : (t = u1.exec(e)) ? un(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, t[4]) : (t = f1.exec(e)) ? lc(t[1], t[2] / 100, t[3] / 100, 1) : (t = p1.exec(e)) ? lc(t[1], t[2] / 100, t[3] / 100, t[4]) : rc.hasOwnProperty(e) ? ac(rc[e]) : e === "transparent" ? new Qt(NaN, NaN, NaN, 0) : null;
+}
+function ac(e) {
+ return new Qt(e >> 16 & 255, e >> 8 & 255, e & 255, 1);
+}
+function un(e, t, r, i) {
+ return i <= 0 && (e = t = r = NaN), new Qt(e, t, r, i);
+}
+function m1(e) {
+ return e instanceof Vi || (e = Ni(e)), e ? (e = e.rgb(), new Qt(e.r, e.g, e.b, e.opacity)) : new Qt();
+}
+function qs(e, t, r, i) {
+ return arguments.length === 1 ? m1(e) : new Qt(e, t, r, i ?? 1);
+}
+function Qt(e, t, r, i) {
+ this.r = +e, this.g = +t, this.b = +r, this.opacity = +i;
+}
+Do(Qt, qs, If(Vi, {
+ brighter(e) {
+ return e = e == null ? Un : Math.pow(Un, e), new Qt(this.r * e, this.g * e, this.b * e, this.opacity);
+ },
+ darker(e) {
+ return e = e == null ? Ii : Math.pow(Ii, e), new Qt(this.r * e, this.g * e, this.b * e, this.opacity);
+ },
+ rgb() {
+ return this;
+ },
+ clamp() {
+ return new Qt(or(this.r), or(this.g), or(this.b), Gn(this.opacity));
+ },
+ displayable() {
+ return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;
+ },
+ hex: sc,
+ // Deprecated! Use color.formatHex.
+ formatHex: sc,
+ formatHex8: y1,
+ formatRgb: oc,
+ toString: oc
+}));
+function sc() {
+ return `#${ar(this.r)}${ar(this.g)}${ar(this.b)}`;
+}
+function y1() {
+ return `#${ar(this.r)}${ar(this.g)}${ar(this.b)}${ar((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
+}
+function oc() {
+ const e = Gn(this.opacity);
+ return `${e === 1 ? "rgb(" : "rgba("}${or(this.r)}, ${or(this.g)}, ${or(this.b)}${e === 1 ? ")" : `, ${e})`}`;
+}
+function Gn(e) {
+ return isNaN(e) ? 1 : Math.max(0, Math.min(1, e));
+}
+function or(e) {
+ return Math.max(0, Math.min(255, Math.round(e) || 0));
+}
+function ar(e) {
+ return e = or(e), (e < 16 ? "0" : "") + e.toString(16);
+}
+function lc(e, t, r, i) {
+ return i <= 0 ? e = t = r = NaN : r <= 0 || r >= 1 ? e = t = NaN : t <= 0 && (e = NaN), new ce(e, t, r, i);
+}
+function Pf(e) {
+ if (e instanceof ce) return new ce(e.h, e.s, e.l, e.opacity);
+ if (e instanceof Vi || (e = Ni(e)), !e) return new ce();
+ if (e instanceof ce) return e;
+ e = e.rgb();
+ var t = e.r / 255, r = e.g / 255, i = e.b / 255, n = Math.min(t, r, i), a = Math.max(t, r, i), o = NaN, s = a - n, l = (a + n) / 2;
+ return s ? (t === a ? o = (r - i) / s + (r < i) * 6 : r === a ? o = (i - t) / s + 2 : o = (t - r) / s + 4, s /= l < 0.5 ? a + n : 2 - a - n, o *= 60) : s = l > 0 && l < 1 ? 0 : o, new ce(o, s, l, e.opacity);
+}
+function x1(e, t, r, i) {
+ return arguments.length === 1 ? Pf(e) : new ce(e, t, r, i ?? 1);
+}
+function ce(e, t, r, i) {
+ this.h = +e, this.s = +t, this.l = +r, this.opacity = +i;
+}
+Do(ce, x1, If(Vi, {
+ brighter(e) {
+ return e = e == null ? Un : Math.pow(Un, e), new ce(this.h, this.s, this.l * e, this.opacity);
+ },
+ darker(e) {
+ return e = e == null ? Ii : Math.pow(Ii, e), new ce(this.h, this.s, this.l * e, this.opacity);
+ },
+ rgb() {
+ var e = this.h % 360 + (this.h < 0) * 360, t = isNaN(e) || isNaN(this.s) ? 0 : this.s, r = this.l, i = r + (r < 0.5 ? r : 1 - r) * t, n = 2 * r - i;
+ return new Qt(
+ ns(e >= 240 ? e - 240 : e + 120, n, i),
+ ns(e, n, i),
+ ns(e < 120 ? e + 240 : e - 120, n, i),
+ this.opacity
+ );
+ },
+ clamp() {
+ return new ce(cc(this.h), fn(this.s), fn(this.l), Gn(this.opacity));
+ },
+ displayable() {
+ return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;
+ },
+ formatHsl() {
+ const e = Gn(this.opacity);
+ return `${e === 1 ? "hsl(" : "hsla("}${cc(this.h)}, ${fn(this.s) * 100}%, ${fn(this.l) * 100}%${e === 1 ? ")" : `, ${e})`}`;
+ }
+}));
+function cc(e) {
+ return e = (e || 0) % 360, e < 0 ? e + 360 : e;
+}
+function fn(e) {
+ return Math.max(0, Math.min(1, e || 0));
+}
+function ns(e, t, r) {
+ return (e < 60 ? t + (r - t) * e / 60 : e < 180 ? r : e < 240 ? t + (r - t) * (240 - e) / 60 : t) * 255;
+}
+const Ro = (e) => () => e;
+function Nf(e, t) {
+ return function(r) {
+ return e + r * t;
+ };
+}
+function b1(e, t, r) {
+ return e = Math.pow(e, r), t = Math.pow(t, r) - e, r = 1 / r, function(i) {
+ return Math.pow(e + i * t, r);
+ };
+}
+function OL(e, t) {
+ var r = t - e;
+ return r ? Nf(e, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : Ro(isNaN(e) ? t : e);
+}
+function _1(e) {
+ return (e = +e) == 1 ? zf : function(t, r) {
+ return r - t ? b1(t, r, e) : Ro(isNaN(t) ? r : t);
+ };
+}
+function zf(e, t) {
+ var r = t - e;
+ return r ? Nf(e, r) : Ro(isNaN(e) ? t : e);
+}
+const hc = function e(t) {
+ var r = _1(t);
+ function i(n, a) {
+ var o = r((n = qs(n)).r, (a = qs(a)).r), s = r(n.g, a.g), l = r(n.b, a.b), c = zf(n.opacity, a.opacity);
+ return function(h) {
+ return n.r = o(h), n.g = s(h), n.b = l(h), n.opacity = c(h), n + "";
+ };
+ }
+ return i.gamma = e, i;
+}(1);
+function He(e, t) {
+ return e = +e, t = +t, function(r) {
+ return e * (1 - r) + t * r;
+ };
+}
+var Hs = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, as = new RegExp(Hs.source, "g");
+function C1(e) {
+ return function() {
+ return e;
+ };
+}
+function w1(e) {
+ return function(t) {
+ return e(t) + "";
+ };
+}
+function v1(e, t) {
+ var r = Hs.lastIndex = as.lastIndex = 0, i, n, a, o = -1, s = [], l = [];
+ for (e = e + "", t = t + ""; (i = Hs.exec(e)) && (n = as.exec(t)); )
+ (a = n.index) > r && (a = t.slice(r, a), s[o] ? s[o] += a : s[++o] = a), (i = i[0]) === (n = n[0]) ? s[o] ? s[o] += n : s[++o] = n : (s[++o] = null, l.push({ i: o, x: He(i, n) })), r = as.lastIndex;
+ return r < t.length && (a = t.slice(r), s[o] ? s[o] += a : s[++o] = a), s.length < 2 ? l[0] ? w1(l[0].x) : C1(t) : (t = l.length, function(c) {
+ for (var h = 0, u; h < t; ++h) s[(u = l[h]).i] = u.x(c);
+ return s.join("");
+ });
+}
+var uc = 180 / Math.PI, js = {
+ translateX: 0,
+ translateY: 0,
+ rotate: 0,
+ skewX: 0,
+ scaleX: 1,
+ scaleY: 1
+};
+function Wf(e, t, r, i, n, a) {
+ var o, s, l;
+ return (o = Math.sqrt(e * e + t * t)) && (e /= o, t /= o), (l = e * r + t * i) && (r -= e * l, i -= t * l), (s = Math.sqrt(r * r + i * i)) && (r /= s, i /= s, l /= s), e * i < t * r && (e = -e, t = -t, l = -l, o = -o), {
+ translateX: n,
+ translateY: a,
+ rotate: Math.atan2(t, e) * uc,
+ skewX: Math.atan(l) * uc,
+ scaleX: o,
+ scaleY: s
+ };
+}
+var pn;
+function k1(e) {
+ const t = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(e + "");
+ return t.isIdentity ? js : Wf(t.a, t.b, t.c, t.d, t.e, t.f);
+}
+function S1(e) {
+ return e == null || (pn || (pn = document.createElementNS("http://www.w3.org/2000/svg", "g")), pn.setAttribute("transform", e), !(e = pn.transform.baseVal.consolidate())) ? js : (e = e.matrix, Wf(e.a, e.b, e.c, e.d, e.e, e.f));
+}
+function qf(e, t, r, i) {
+ function n(c) {
+ return c.length ? c.pop() + " " : "";
+ }
+ function a(c, h, u, f, p, g) {
+ if (c !== u || h !== f) {
+ var m = p.push("translate(", null, t, null, r);
+ g.push({ i: m - 4, x: He(c, u) }, { i: m - 2, x: He(h, f) });
+ } else (u || f) && p.push("translate(" + u + t + f + r);
+ }
+ function o(c, h, u, f) {
+ c !== h ? (c - h > 180 ? h += 360 : h - c > 180 && (c += 360), f.push({ i: u.push(n(u) + "rotate(", null, i) - 2, x: He(c, h) })) : h && u.push(n(u) + "rotate(" + h + i);
+ }
+ function s(c, h, u, f) {
+ c !== h ? f.push({ i: u.push(n(u) + "skewX(", null, i) - 2, x: He(c, h) }) : h && u.push(n(u) + "skewX(" + h + i);
+ }
+ function l(c, h, u, f, p, g) {
+ if (c !== u || h !== f) {
+ var m = p.push(n(p) + "scale(", null, ",", null, ")");
+ g.push({ i: m - 4, x: He(c, u) }, { i: m - 2, x: He(h, f) });
+ } else (u !== 1 || f !== 1) && p.push(n(p) + "scale(" + u + "," + f + ")");
+ }
+ return function(c, h) {
+ var u = [], f = [];
+ return c = e(c), h = e(h), a(c.translateX, c.translateY, h.translateX, h.translateY, u, f), o(c.rotate, h.rotate, u, f), s(c.skewX, h.skewX, u, f), l(c.scaleX, c.scaleY, h.scaleX, h.scaleY, u, f), c = h = null, function(p) {
+ for (var g = -1, m = f.length, y; ++g < m; ) u[(y = f[g]).i] = y.x(p);
+ return u.join("");
+ };
+ };
+}
+var T1 = qf(k1, "px, ", "px)", "deg)"), B1 = qf(S1, ", ", ")", ")"), Zr = 0, wi = 0, pi = 0, Hf = 1e3, Xn, vi, Vn = 0, ur = 0, ka = 0, zi = typeof performance == "object" && performance.now ? performance : Date, jf = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(e) {
+ setTimeout(e, 17);
+};
+function Io() {
+ return ur || (jf(L1), ur = zi.now() + ka);
+}
+function L1() {
+ ur = 0;
+}
+function Zn() {
+ this._call = this._time = this._next = null;
+}
+Zn.prototype = Yf.prototype = {
+ constructor: Zn,
+ restart: function(e, t, r) {
+ if (typeof e != "function") throw new TypeError("callback is not a function");
+ r = (r == null ? Io() : +r) + (t == null ? 0 : +t), !this._next && vi !== this && (vi ? vi._next = this : Xn = this, vi = this), this._call = e, this._time = r, Ys();
+ },
+ stop: function() {
+ this._call && (this._call = null, this._time = 1 / 0, Ys());
+ }
+};
+function Yf(e, t, r) {
+ var i = new Zn();
+ return i.restart(e, t, r), i;
+}
+function A1() {
+ Io(), ++Zr;
+ for (var e = Xn, t; e; )
+ (t = ur - e._time) >= 0 && e._call.call(void 0, t), e = e._next;
+ --Zr;
+}
+function fc() {
+ ur = (Vn = zi.now()) + ka, Zr = wi = 0;
+ try {
+ A1();
+ } finally {
+ Zr = 0, E1(), ur = 0;
+ }
+}
+function M1() {
+ var e = zi.now(), t = e - Vn;
+ t > Hf && (ka -= t, Vn = e);
+}
+function E1() {
+ for (var e, t = Xn, r, i = 1 / 0; t; )
+ t._call ? (i > t._time && (i = t._time), e = t, t = t._next) : (r = t._next, t._next = null, t = e ? e._next = r : Xn = r);
+ vi = e, Ys(i);
+}
+function Ys(e) {
+ if (!Zr) {
+ wi && (wi = clearTimeout(wi));
+ var t = e - ur;
+ t > 24 ? (e < 1 / 0 && (wi = setTimeout(fc, e - zi.now() - ka)), pi && (pi = clearInterval(pi))) : (pi || (Vn = zi.now(), pi = setInterval(M1, Hf)), Zr = 1, jf(fc));
+ }
+}
+function pc(e, t, r) {
+ var i = new Zn();
+ return t = t == null ? 0 : +t, i.restart((n) => {
+ i.stop(), e(n + t);
+ }, t, r), i;
+}
+var F1 = kf("start", "end", "cancel", "interrupt"), $1 = [], Uf = 0, dc = 1, Us = 2, Tn = 3, gc = 4, Gs = 5, Bn = 6;
+function Sa(e, t, r, i, n, a) {
+ var o = e.__transition;
+ if (!o) e.__transition = {};
+ else if (r in o) return;
+ O1(e, r, {
+ name: t,
+ index: i,
+ // For context during callback.
+ group: n,
+ // For context during callback.
+ on: F1,
+ tween: $1,
+ time: a.time,
+ delay: a.delay,
+ duration: a.duration,
+ ease: a.ease,
+ timer: null,
+ state: Uf
+ });
+}
+function Po(e, t) {
+ var r = fe(e, t);
+ if (r.state > Uf) throw new Error("too late; already scheduled");
+ return r;
+}
+function ve(e, t) {
+ var r = fe(e, t);
+ if (r.state > Tn) throw new Error("too late; already running");
+ return r;
+}
+function fe(e, t) {
+ var r = e.__transition;
+ if (!r || !(r = r[t])) throw new Error("transition not found");
+ return r;
+}
+function O1(e, t, r) {
+ var i = e.__transition, n;
+ i[t] = r, r.timer = Yf(a, 0, r.time);
+ function a(c) {
+ r.state = dc, r.timer.restart(o, r.delay, r.time), r.delay <= c && o(c - r.delay);
+ }
+ function o(c) {
+ var h, u, f, p;
+ if (r.state !== dc) return l();
+ for (h in i)
+ if (p = i[h], p.name === r.name) {
+ if (p.state === Tn) return pc(o);
+ p.state === gc ? (p.state = Bn, p.timer.stop(), p.on.call("interrupt", e, e.__data__, p.index, p.group), delete i[h]) : +h < t && (p.state = Bn, p.timer.stop(), p.on.call("cancel", e, e.__data__, p.index, p.group), delete i[h]);
+ }
+ if (pc(function() {
+ r.state === Tn && (r.state = gc, r.timer.restart(s, r.delay, r.time), s(c));
+ }), r.state = Us, r.on.call("start", e, e.__data__, r.index, r.group), r.state === Us) {
+ for (r.state = Tn, n = new Array(f = r.tween.length), h = 0, u = -1; h < f; ++h)
+ (p = r.tween[h].value.call(e, e.__data__, r.index, r.group)) && (n[++u] = p);
+ n.length = u + 1;
+ }
+ }
+ function s(c) {
+ for (var h = c < r.duration ? r.ease.call(null, c / r.duration) : (r.timer.restart(l), r.state = Gs, 1), u = -1, f = n.length; ++u < f; )
+ n[u].call(e, h);
+ r.state === Gs && (r.on.call("end", e, e.__data__, r.index, r.group), l());
+ }
+ function l() {
+ r.state = Bn, r.timer.stop(), delete i[t];
+ for (var c in i) return;
+ delete e.__transition;
+ }
+}
+function D1(e, t) {
+ var r = e.__transition, i, n, a = !0, o;
+ if (r) {
+ t = t == null ? null : t + "";
+ for (o in r) {
+ if ((i = r[o]).name !== t) {
+ a = !1;
+ continue;
+ }
+ n = i.state > Us && i.state < Gs, i.state = Bn, i.timer.stop(), i.on.call(n ? "interrupt" : "cancel", e, e.__data__, i.index, i.group), delete r[o];
+ }
+ a && delete e.__transition;
+ }
+}
+function R1(e) {
+ return this.each(function() {
+ D1(this, e);
+ });
+}
+function I1(e, t) {
+ var r, i;
+ return function() {
+ var n = ve(this, e), a = n.tween;
+ if (a !== r) {
+ i = r = a;
+ for (var o = 0, s = i.length; o < s; ++o)
+ if (i[o].name === t) {
+ i = i.slice(), i.splice(o, 1);
+ break;
+ }
+ }
+ n.tween = i;
+ };
+}
+function P1(e, t, r) {
+ var i, n;
+ if (typeof r != "function") throw new Error();
+ return function() {
+ var a = ve(this, e), o = a.tween;
+ if (o !== i) {
+ n = (i = o).slice();
+ for (var s = { name: t, value: r }, l = 0, c = n.length; l < c; ++l)
+ if (n[l].name === t) {
+ n[l] = s;
+ break;
+ }
+ l === c && n.push(s);
+ }
+ a.tween = n;
+ };
+}
+function N1(e, t) {
+ var r = this._id;
+ if (e += "", arguments.length < 2) {
+ for (var i = fe(this.node(), r).tween, n = 0, a = i.length, o; n < a; ++n)
+ if ((o = i[n]).name === e)
+ return o.value;
+ return null;
+ }
+ return this.each((t == null ? I1 : P1)(r, e, t));
+}
+function No(e, t, r) {
+ var i = e._id;
+ return e.each(function() {
+ var n = ve(this, i);
+ (n.value || (n.value = {}))[t] = r.apply(this, arguments);
+ }), function(n) {
+ return fe(n, i).value[t];
+ };
+}
+function Gf(e, t) {
+ var r;
+ return (typeof t == "number" ? He : t instanceof Ni ? hc : (r = Ni(t)) ? (t = r, hc) : v1)(e, t);
+}
+function z1(e) {
+ return function() {
+ this.removeAttribute(e);
+ };
+}
+function W1(e) {
+ return function() {
+ this.removeAttributeNS(e.space, e.local);
+ };
+}
+function q1(e, t, r) {
+ var i, n = r + "", a;
+ return function() {
+ var o = this.getAttribute(e);
+ return o === n ? null : o === i ? a : a = t(i = o, r);
+ };
+}
+function H1(e, t, r) {
+ var i, n = r + "", a;
+ return function() {
+ var o = this.getAttributeNS(e.space, e.local);
+ return o === n ? null : o === i ? a : a = t(i = o, r);
+ };
+}
+function j1(e, t, r) {
+ var i, n, a;
+ return function() {
+ var o, s = r(this), l;
+ return s == null ? void this.removeAttribute(e) : (o = this.getAttribute(e), l = s + "", o === l ? null : o === i && l === n ? a : (n = l, a = t(i = o, s)));
+ };
+}
+function Y1(e, t, r) {
+ var i, n, a;
+ return function() {
+ var o, s = r(this), l;
+ return s == null ? void this.removeAttributeNS(e.space, e.local) : (o = this.getAttributeNS(e.space, e.local), l = s + "", o === l ? null : o === i && l === n ? a : (n = l, a = t(i = o, s)));
+ };
+}
+function U1(e, t) {
+ var r = va(e), i = r === "transform" ? B1 : Gf;
+ return this.attrTween(e, typeof t == "function" ? (r.local ? Y1 : j1)(r, i, No(this, "attr." + e, t)) : t == null ? (r.local ? W1 : z1)(r) : (r.local ? H1 : q1)(r, i, t));
+}
+function G1(e, t) {
+ return function(r) {
+ this.setAttribute(e, t.call(this, r));
+ };
+}
+function X1(e, t) {
+ return function(r) {
+ this.setAttributeNS(e.space, e.local, t.call(this, r));
+ };
+}
+function V1(e, t) {
+ var r, i;
+ function n() {
+ var a = t.apply(this, arguments);
+ return a !== i && (r = (i = a) && X1(e, a)), r;
+ }
+ return n._value = t, n;
+}
+function Z1(e, t) {
+ var r, i;
+ function n() {
+ var a = t.apply(this, arguments);
+ return a !== i && (r = (i = a) && G1(e, a)), r;
+ }
+ return n._value = t, n;
+}
+function K1(e, t) {
+ var r = "attr." + e;
+ if (arguments.length < 2) return (r = this.tween(r)) && r._value;
+ if (t == null) return this.tween(r, null);
+ if (typeof t != "function") throw new Error();
+ var i = va(e);
+ return this.tween(r, (i.local ? V1 : Z1)(i, t));
+}
+function Q1(e, t) {
+ return function() {
+ Po(this, e).delay = +t.apply(this, arguments);
+ };
+}
+function J1(e, t) {
+ return t = +t, function() {
+ Po(this, e).delay = t;
+ };
+}
+function t2(e) {
+ var t = this._id;
+ return arguments.length ? this.each((typeof e == "function" ? Q1 : J1)(t, e)) : fe(this.node(), t).delay;
+}
+function e2(e, t) {
+ return function() {
+ ve(this, e).duration = +t.apply(this, arguments);
+ };
+}
+function r2(e, t) {
+ return t = +t, function() {
+ ve(this, e).duration = t;
+ };
+}
+function i2(e) {
+ var t = this._id;
+ return arguments.length ? this.each((typeof e == "function" ? e2 : r2)(t, e)) : fe(this.node(), t).duration;
+}
+function n2(e, t) {
+ if (typeof t != "function") throw new Error();
+ return function() {
+ ve(this, e).ease = t;
+ };
+}
+function a2(e) {
+ var t = this._id;
+ return arguments.length ? this.each(n2(t, e)) : fe(this.node(), t).ease;
+}
+function s2(e, t) {
+ return function() {
+ var r = t.apply(this, arguments);
+ if (typeof r != "function") throw new Error();
+ ve(this, e).ease = r;
+ };
+}
+function o2(e) {
+ if (typeof e != "function") throw new Error();
+ return this.each(s2(this._id, e));
+}
+function l2(e) {
+ typeof e != "function" && (e = Bf(e));
+ for (var t = this._groups, r = t.length, i = new Array(r), n = 0; n < r; ++n)
+ for (var a = t[n], o = a.length, s = i[n] = [], l, c = 0; c < o; ++c)
+ (l = a[c]) && e.call(l, l.__data__, c, a) && s.push(l);
+ return new Ie(i, this._parents, this._name, this._id);
+}
+function c2(e) {
+ if (e._id !== this._id) throw new Error();
+ for (var t = this._groups, r = e._groups, i = t.length, n = r.length, a = Math.min(i, n), o = new Array(i), s = 0; s < a; ++s)
+ for (var l = t[s], c = r[s], h = l.length, u = o[s] = new Array(h), f, p = 0; p < h; ++p)
+ (f = l[p] || c[p]) && (u[p] = f);
+ for (; s < i; ++s)
+ o[s] = t[s];
+ return new Ie(o, this._parents, this._name, this._id);
+}
+function h2(e) {
+ return (e + "").trim().split(/^|\s+/).every(function(t) {
+ var r = t.indexOf(".");
+ return r >= 0 && (t = t.slice(0, r)), !t || t === "start";
+ });
+}
+function u2(e, t, r) {
+ var i, n, a = h2(t) ? Po : ve;
+ return function() {
+ var o = a(this, e), s = o.on;
+ s !== i && (n = (i = s).copy()).on(t, r), o.on = n;
+ };
+}
+function f2(e, t) {
+ var r = this._id;
+ return arguments.length < 2 ? fe(this.node(), r).on.on(e) : this.each(u2(r, e, t));
+}
+function p2(e) {
+ return function() {
+ var t = this.parentNode;
+ for (var r in this.__transition) if (+r !== e) return;
+ t && t.removeChild(this);
+ };
+}
+function d2() {
+ return this.on("end.remove", p2(this._id));
+}
+function g2(e) {
+ var t = this._name, r = this._id;
+ typeof e != "function" && (e = $o(e));
+ for (var i = this._groups, n = i.length, a = new Array(n), o = 0; o < n; ++o)
+ for (var s = i[o], l = s.length, c = a[o] = new Array(l), h, u, f = 0; f < l; ++f)
+ (h = s[f]) && (u = e.call(h, h.__data__, f, s)) && ("__data__" in h && (u.__data__ = h.__data__), c[f] = u, Sa(c[f], t, r, f, c, fe(h, r)));
+ return new Ie(a, this._parents, t, r);
+}
+function m2(e) {
+ var t = this._name, r = this._id;
+ typeof e != "function" && (e = Tf(e));
+ for (var i = this._groups, n = i.length, a = [], o = [], s = 0; s < n; ++s)
+ for (var l = i[s], c = l.length, h, u = 0; u < c; ++u)
+ if (h = l[u]) {
+ for (var f = e.call(h, h.__data__, u, l), p, g = fe(h, r), m = 0, y = f.length; m < y; ++m)
+ (p = f[m]) && Sa(p, t, r, m, f, g);
+ a.push(f), o.push(h);
+ }
+ return new Ie(a, o, t, r);
+}
+var y2 = Xi.prototype.constructor;
+function x2() {
+ return new y2(this._groups, this._parents);
+}
+function b2(e, t) {
+ var r, i, n;
+ return function() {
+ var a = Vr(this, e), o = (this.style.removeProperty(e), Vr(this, e));
+ return a === o ? null : a === r && o === i ? n : n = t(r = a, i = o);
+ };
+}
+function Xf(e) {
+ return function() {
+ this.style.removeProperty(e);
+ };
+}
+function _2(e, t, r) {
+ var i, n = r + "", a;
+ return function() {
+ var o = Vr(this, e);
+ return o === n ? null : o === i ? a : a = t(i = o, r);
+ };
+}
+function C2(e, t, r) {
+ var i, n, a;
+ return function() {
+ var o = Vr(this, e), s = r(this), l = s + "";
+ return s == null && (l = s = (this.style.removeProperty(e), Vr(this, e))), o === l ? null : o === i && l === n ? a : (n = l, a = t(i = o, s));
+ };
+}
+function w2(e, t) {
+ var r, i, n, a = "style." + t, o = "end." + a, s;
+ return function() {
+ var l = ve(this, e), c = l.on, h = l.value[a] == null ? s || (s = Xf(t)) : void 0;
+ (c !== r || n !== h) && (i = (r = c).copy()).on(o, n = h), l.on = i;
+ };
+}
+function v2(e, t, r) {
+ var i = (e += "") == "transform" ? T1 : Gf;
+ return t == null ? this.styleTween(e, b2(e, i)).on("end.style." + e, Xf(e)) : typeof t == "function" ? this.styleTween(e, C2(e, i, No(this, "style." + e, t))).each(w2(this._id, e)) : this.styleTween(e, _2(e, i, t), r).on("end.style." + e, null);
+}
+function k2(e, t, r) {
+ return function(i) {
+ this.style.setProperty(e, t.call(this, i), r);
+ };
+}
+function S2(e, t, r) {
+ var i, n;
+ function a() {
+ var o = t.apply(this, arguments);
+ return o !== n && (i = (n = o) && k2(e, o, r)), i;
+ }
+ return a._value = t, a;
+}
+function T2(e, t, r) {
+ var i = "style." + (e += "");
+ if (arguments.length < 2) return (i = this.tween(i)) && i._value;
+ if (t == null) return this.tween(i, null);
+ if (typeof t != "function") throw new Error();
+ return this.tween(i, S2(e, t, r ?? ""));
+}
+function B2(e) {
+ return function() {
+ this.textContent = e;
+ };
+}
+function L2(e) {
+ return function() {
+ var t = e(this);
+ this.textContent = t ?? "";
+ };
+}
+function A2(e) {
+ return this.tween("text", typeof e == "function" ? L2(No(this, "text", e)) : B2(e == null ? "" : e + ""));
+}
+function M2(e) {
+ return function(t) {
+ this.textContent = e.call(this, t);
+ };
+}
+function E2(e) {
+ var t, r;
+ function i() {
+ var n = e.apply(this, arguments);
+ return n !== r && (t = (r = n) && M2(n)), t;
+ }
+ return i._value = e, i;
+}
+function F2(e) {
+ var t = "text";
+ if (arguments.length < 1) return (t = this.tween(t)) && t._value;
+ if (e == null) return this.tween(t, null);
+ if (typeof e != "function") throw new Error();
+ return this.tween(t, E2(e));
+}
+function $2() {
+ for (var e = this._name, t = this._id, r = Vf(), i = this._groups, n = i.length, a = 0; a < n; ++a)
+ for (var o = i[a], s = o.length, l, c = 0; c < s; ++c)
+ if (l = o[c]) {
+ var h = fe(l, t);
+ Sa(l, e, r, c, o, {
+ time: h.time + h.delay + h.duration,
+ delay: 0,
+ duration: h.duration,
+ ease: h.ease
+ });
+ }
+ return new Ie(i, this._parents, e, r);
+}
+function O2() {
+ var e, t, r = this, i = r._id, n = r.size();
+ return new Promise(function(a, o) {
+ var s = { value: o }, l = { value: function() {
+ --n === 0 && a();
+ } };
+ r.each(function() {
+ var c = ve(this, i), h = c.on;
+ h !== e && (t = (e = h).copy(), t._.cancel.push(s), t._.interrupt.push(s), t._.end.push(l)), c.on = t;
+ }), n === 0 && a();
+ });
+}
+var D2 = 0;
+function Ie(e, t, r, i) {
+ this._groups = e, this._parents = t, this._name = r, this._id = i;
+}
+function Vf() {
+ return ++D2;
+}
+var Ae = Xi.prototype;
+Ie.prototype = {
+ constructor: Ie,
+ select: g2,
+ selectAll: m2,
+ selectChild: Ae.selectChild,
+ selectChildren: Ae.selectChildren,
+ filter: l2,
+ merge: c2,
+ selection: x2,
+ transition: $2,
+ call: Ae.call,
+ nodes: Ae.nodes,
+ node: Ae.node,
+ size: Ae.size,
+ empty: Ae.empty,
+ each: Ae.each,
+ on: f2,
+ attr: U1,
+ attrTween: K1,
+ style: v2,
+ styleTween: T2,
+ text: A2,
+ textTween: F2,
+ remove: d2,
+ tween: N1,
+ delay: t2,
+ duration: i2,
+ ease: a2,
+ easeVarying: o2,
+ end: O2,
+ [Symbol.iterator]: Ae[Symbol.iterator]
+};
+function R2(e) {
+ return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2;
+}
+var I2 = {
+ time: null,
+ // Set on use.
+ delay: 0,
+ duration: 250,
+ ease: R2
+};
+function P2(e, t) {
+ for (var r; !(r = e.__transition) || !(r = r[t]); )
+ if (!(e = e.parentNode))
+ throw new Error(`transition ${t} not found`);
+ return r;
+}
+function N2(e) {
+ var t, r;
+ e instanceof Ie ? (t = e._id, e = e._name) : (t = Vf(), (r = I2).time = Io(), e = e == null ? null : e + "");
+ for (var i = this._groups, n = i.length, a = 0; a < n; ++a)
+ for (var o = i[a], s = o.length, l, c = 0; c < s; ++c)
+ (l = o[c]) && Sa(l, e, t, c, o, r || P2(l, t));
+ return new Ie(i, this._parents, e, t);
+}
+Xi.prototype.interrupt = R1;
+Xi.prototype.transition = N2;
+const Xs = Math.PI, Vs = 2 * Xs, Je = 1e-6, z2 = Vs - Je;
+function Zf(e) {
+ this._ += e[0];
+ for (let t = 1, r = e.length; t < r; ++t)
+ this._ += arguments[t] + e[t];
+}
+function W2(e) {
+ let t = Math.floor(e);
+ if (!(t >= 0)) throw new Error(`invalid digits: ${e}`);
+ if (t > 15) return Zf;
+ const r = 10 ** t;
+ return function(i) {
+ this._ += i[0];
+ for (let n = 1, a = i.length; n < a; ++n)
+ this._ += Math.round(arguments[n] * r) / r + i[n];
+ };
+}
+class q2 {
+ constructor(t) {
+ this._x0 = this._y0 = // start of current subpath
+ this._x1 = this._y1 = null, this._ = "", this._append = t == null ? Zf : W2(t);
+ }
+ moveTo(t, r) {
+ this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +r}`;
+ }
+ closePath() {
+ this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._append`Z`);
+ }
+ lineTo(t, r) {
+ this._append`L${this._x1 = +t},${this._y1 = +r}`;
+ }
+ quadraticCurveTo(t, r, i, n) {
+ this._append`Q${+t},${+r},${this._x1 = +i},${this._y1 = +n}`;
+ }
+ bezierCurveTo(t, r, i, n, a, o) {
+ this._append`C${+t},${+r},${+i},${+n},${this._x1 = +a},${this._y1 = +o}`;
+ }
+ arcTo(t, r, i, n, a) {
+ if (t = +t, r = +r, i = +i, n = +n, a = +a, a < 0) throw new Error(`negative radius: ${a}`);
+ let o = this._x1, s = this._y1, l = i - t, c = n - r, h = o - t, u = s - r, f = h * h + u * u;
+ if (this._x1 === null)
+ this._append`M${this._x1 = t},${this._y1 = r}`;
+ else if (f > Je) if (!(Math.abs(u * l - c * h) > Je) || !a)
+ this._append`L${this._x1 = t},${this._y1 = r}`;
+ else {
+ let p = i - o, g = n - s, m = l * l + c * c, y = p * p + g * g, x = Math.sqrt(m), b = Math.sqrt(f), C = a * Math.tan((Xs - Math.acos((m + f - y) / (2 * x * b))) / 2), k = C / b, v = C / x;
+ Math.abs(k - 1) > Je && this._append`L${t + k * h},${r + k * u}`, this._append`A${a},${a},0,0,${+(u * p > h * g)},${this._x1 = t + v * l},${this._y1 = r + v * c}`;
+ }
+ }
+ arc(t, r, i, n, a, o) {
+ if (t = +t, r = +r, i = +i, o = !!o, i < 0) throw new Error(`negative radius: ${i}`);
+ let s = i * Math.cos(n), l = i * Math.sin(n), c = t + s, h = r + l, u = 1 ^ o, f = o ? n - a : a - n;
+ this._x1 === null ? this._append`M${c},${h}` : (Math.abs(this._x1 - c) > Je || Math.abs(this._y1 - h) > Je) && this._append`L${c},${h}`, i && (f < 0 && (f = f % Vs + Vs), f > z2 ? this._append`A${i},${i},0,1,${u},${t - s},${r - l}A${i},${i},0,1,${u},${this._x1 = c},${this._y1 = h}` : f > Je && this._append`A${i},${i},0,${+(f >= Xs)},${u},${this._x1 = t + i * Math.cos(a)},${this._y1 = r + i * Math.sin(a)}`);
+ }
+ rect(t, r, i, n) {
+ this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +r}h${i = +i}v${+n}h${-i}Z`;
+ }
+ toString() {
+ return this._;
+ }
+}
+function Tr(e) {
+ return function() {
+ return e;
+ };
+}
+const DL = Math.abs, RL = Math.atan2, IL = Math.cos, PL = Math.max, NL = Math.min, zL = Math.sin, WL = Math.sqrt, mc = 1e-12, zo = Math.PI, yc = zo / 2, qL = 2 * zo;
+function HL(e) {
+ return e > 1 ? 0 : e < -1 ? zo : Math.acos(e);
+}
+function jL(e) {
+ return e >= 1 ? yc : e <= -1 ? -yc : Math.asin(e);
+}
+function H2(e) {
+ let t = 3;
+ return e.digits = function(r) {
+ if (!arguments.length) return t;
+ if (r == null)
+ t = null;
+ else {
+ const i = Math.floor(r);
+ if (!(i >= 0)) throw new RangeError(`invalid digits: ${r}`);
+ t = i;
+ }
+ return e;
+ }, () => new q2(t);
+}
+function j2(e) {
+ return typeof e == "object" && "length" in e ? e : Array.from(e);
+}
+function Kf(e) {
+ this._context = e;
+}
+Kf.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._point = 0;
+ },
+ lineEnd: function() {
+ (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
+ break;
+ case 1:
+ this._point = 2;
+ default:
+ this._context.lineTo(e, t);
+ break;
+ }
+ }
+};
+function Kn(e) {
+ return new Kf(e);
+}
+function Y2(e) {
+ return e[0];
+}
+function U2(e) {
+ return e[1];
+}
+function G2(e, t) {
+ var r = Tr(!0), i = null, n = Kn, a = null, o = H2(s);
+ e = typeof e == "function" ? e : e === void 0 ? Y2 : Tr(e), t = typeof t == "function" ? t : t === void 0 ? U2 : Tr(t);
+ function s(l) {
+ var c, h = (l = j2(l)).length, u, f = !1, p;
+ for (i == null && (a = n(p = o())), c = 0; c <= h; ++c)
+ !(c < h && r(u = l[c], c, l)) === f && ((f = !f) ? a.lineStart() : a.lineEnd()), f && a.point(+e(u, c, l), +t(u, c, l));
+ if (p) return a = null, p + "" || null;
+ }
+ return s.x = function(l) {
+ return arguments.length ? (e = typeof l == "function" ? l : Tr(+l), s) : e;
+ }, s.y = function(l) {
+ return arguments.length ? (t = typeof l == "function" ? l : Tr(+l), s) : t;
+ }, s.defined = function(l) {
+ return arguments.length ? (r = typeof l == "function" ? l : Tr(!!l), s) : r;
+ }, s.curve = function(l) {
+ return arguments.length ? (n = l, i != null && (a = n(i)), s) : n;
+ }, s.context = function(l) {
+ return arguments.length ? (l == null ? i = a = null : a = n(i = l), s) : i;
+ }, s;
+}
+class Qf {
+ constructor(t, r) {
+ this._context = t, this._x = r;
+ }
+ areaStart() {
+ this._line = 0;
+ }
+ areaEnd() {
+ this._line = NaN;
+ }
+ lineStart() {
+ this._point = 0;
+ }
+ lineEnd() {
+ (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
+ }
+ point(t, r) {
+ switch (t = +t, r = +r, this._point) {
+ case 0: {
+ this._point = 1, this._line ? this._context.lineTo(t, r) : this._context.moveTo(t, r);
+ break;
+ }
+ case 1:
+ this._point = 2;
+ default: {
+ this._x ? this._context.bezierCurveTo(this._x0 = (this._x0 + t) / 2, this._y0, this._x0, r, t, r) : this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + r) / 2, t, this._y0, t, r);
+ break;
+ }
+ }
+ this._x0 = t, this._y0 = r;
+ }
+}
+function Jf(e) {
+ return new Qf(e, !0);
+}
+function tp(e) {
+ return new Qf(e, !1);
+}
+function Ge() {
+}
+function Qn(e, t, r) {
+ e._context.bezierCurveTo(
+ (2 * e._x0 + e._x1) / 3,
+ (2 * e._y0 + e._y1) / 3,
+ (e._x0 + 2 * e._x1) / 3,
+ (e._y0 + 2 * e._y1) / 3,
+ (e._x0 + 4 * e._x1 + t) / 6,
+ (e._y0 + 4 * e._y1 + r) / 6
+ );
+}
+function Ta(e) {
+ this._context = e;
+}
+Ta.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 3:
+ Qn(this, this._x1, this._y1);
+ case 2:
+ this._context.lineTo(this._x1, this._y1);
+ break;
+ }
+ (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);
+ default:
+ Qn(this, e, t);
+ break;
+ }
+ this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
+ }
+};
+function Ln(e) {
+ return new Ta(e);
+}
+function ep(e) {
+ this._context = e;
+}
+ep.prototype = {
+ areaStart: Ge,
+ areaEnd: Ge,
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 1: {
+ this._context.moveTo(this._x2, this._y2), this._context.closePath();
+ break;
+ }
+ case 2: {
+ this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath();
+ break;
+ }
+ case 3: {
+ this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4);
+ break;
+ }
+ }
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1, this._x2 = e, this._y2 = t;
+ break;
+ case 1:
+ this._point = 2, this._x3 = e, this._y3 = t;
+ break;
+ case 2:
+ this._point = 3, this._x4 = e, this._y4 = t, this._context.moveTo((this._x0 + 4 * this._x1 + e) / 6, (this._y0 + 4 * this._y1 + t) / 6);
+ break;
+ default:
+ Qn(this, e, t);
+ break;
+ }
+ this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
+ }
+};
+function X2(e) {
+ return new ep(e);
+}
+function rp(e) {
+ this._context = e;
+}
+rp.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1;
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ var r = (this._x0 + 4 * this._x1 + e) / 6, i = (this._y0 + 4 * this._y1 + t) / 6;
+ this._line ? this._context.lineTo(r, i) : this._context.moveTo(r, i);
+ break;
+ case 3:
+ this._point = 4;
+ default:
+ Qn(this, e, t);
+ break;
+ }
+ this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
+ }
+};
+function V2(e) {
+ return new rp(e);
+}
+function ip(e, t) {
+ this._basis = new Ta(e), this._beta = t;
+}
+ip.prototype = {
+ lineStart: function() {
+ this._x = [], this._y = [], this._basis.lineStart();
+ },
+ lineEnd: function() {
+ var e = this._x, t = this._y, r = e.length - 1;
+ if (r > 0)
+ for (var i = e[0], n = t[0], a = e[r] - i, o = t[r] - n, s = -1, l; ++s <= r; )
+ l = s / r, this._basis.point(
+ this._beta * e[s] + (1 - this._beta) * (i + l * a),
+ this._beta * t[s] + (1 - this._beta) * (n + l * o)
+ );
+ this._x = this._y = null, this._basis.lineEnd();
+ },
+ point: function(e, t) {
+ this._x.push(+e), this._y.push(+t);
+ }
+};
+const Z2 = function e(t) {
+ function r(i) {
+ return t === 1 ? new Ta(i) : new ip(i, t);
+ }
+ return r.beta = function(i) {
+ return e(+i);
+ }, r;
+}(0.85);
+function Jn(e, t, r) {
+ e._context.bezierCurveTo(
+ e._x1 + e._k * (e._x2 - e._x0),
+ e._y1 + e._k * (e._y2 - e._y0),
+ e._x2 + e._k * (e._x1 - t),
+ e._y2 + e._k * (e._y1 - r),
+ e._x2,
+ e._y2
+ );
+}
+function Wo(e, t) {
+ this._context = e, this._k = (1 - t) / 6;
+}
+Wo.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x2, this._y2);
+ break;
+ case 3:
+ Jn(this, this._x1, this._y1);
+ break;
+ }
+ (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
+ break;
+ case 1:
+ this._point = 2, this._x1 = e, this._y1 = t;
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ Jn(this, e, t);
+ break;
+ }
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
+ }
+};
+const np = function e(t) {
+ function r(i) {
+ return new Wo(i, t);
+ }
+ return r.tension = function(i) {
+ return e(+i);
+ }, r;
+}(0);
+function qo(e, t) {
+ this._context = e, this._k = (1 - t) / 6;
+}
+qo.prototype = {
+ areaStart: Ge,
+ areaEnd: Ge,
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 1: {
+ this._context.moveTo(this._x3, this._y3), this._context.closePath();
+ break;
+ }
+ case 2: {
+ this._context.lineTo(this._x3, this._y3), this._context.closePath();
+ break;
+ }
+ case 3: {
+ this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
+ break;
+ }
+ }
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1, this._x3 = e, this._y3 = t;
+ break;
+ case 1:
+ this._point = 2, this._context.moveTo(this._x4 = e, this._y4 = t);
+ break;
+ case 2:
+ this._point = 3, this._x5 = e, this._y5 = t;
+ break;
+ default:
+ Jn(this, e, t);
+ break;
+ }
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
+ }
+};
+const K2 = function e(t) {
+ function r(i) {
+ return new qo(i, t);
+ }
+ return r.tension = function(i) {
+ return e(+i);
+ }, r;
+}(0);
+function Ho(e, t) {
+ this._context = e, this._k = (1 - t) / 6;
+}
+Ho.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1;
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
+ break;
+ case 3:
+ this._point = 4;
+ default:
+ Jn(this, e, t);
+ break;
+ }
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
+ }
+};
+const Q2 = function e(t) {
+ function r(i) {
+ return new Ho(i, t);
+ }
+ return r.tension = function(i) {
+ return e(+i);
+ }, r;
+}(0);
+function jo(e, t, r) {
+ var i = e._x1, n = e._y1, a = e._x2, o = e._y2;
+ if (e._l01_a > mc) {
+ var s = 2 * e._l01_2a + 3 * e._l01_a * e._l12_a + e._l12_2a, l = 3 * e._l01_a * (e._l01_a + e._l12_a);
+ i = (i * s - e._x0 * e._l12_2a + e._x2 * e._l01_2a) / l, n = (n * s - e._y0 * e._l12_2a + e._y2 * e._l01_2a) / l;
+ }
+ if (e._l23_a > mc) {
+ var c = 2 * e._l23_2a + 3 * e._l23_a * e._l12_a + e._l12_2a, h = 3 * e._l23_a * (e._l23_a + e._l12_a);
+ a = (a * c + e._x1 * e._l23_2a - t * e._l12_2a) / h, o = (o * c + e._y1 * e._l23_2a - r * e._l12_2a) / h;
+ }
+ e._context.bezierCurveTo(i, n, a, o, e._x2, e._y2);
+}
+function ap(e, t) {
+ this._context = e, this._alpha = t;
+}
+ap.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x2, this._y2);
+ break;
+ case 3:
+ this.point(this._x2, this._y2);
+ break;
+ }
+ (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ if (e = +e, t = +t, this._point) {
+ var r = this._x2 - e, i = this._y2 - t;
+ this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + i * i, this._alpha));
+ }
+ switch (this._point) {
+ case 0:
+ this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ jo(this, e, t);
+ break;
+ }
+ this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
+ }
+};
+const sp = function e(t) {
+ function r(i) {
+ return t ? new ap(i, t) : new Wo(i, 0);
+ }
+ return r.alpha = function(i) {
+ return e(+i);
+ }, r;
+}(0.5);
+function op(e, t) {
+ this._context = e, this._alpha = t;
+}
+op.prototype = {
+ areaStart: Ge,
+ areaEnd: Ge,
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 1: {
+ this._context.moveTo(this._x3, this._y3), this._context.closePath();
+ break;
+ }
+ case 2: {
+ this._context.lineTo(this._x3, this._y3), this._context.closePath();
+ break;
+ }
+ case 3: {
+ this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
+ break;
+ }
+ }
+ },
+ point: function(e, t) {
+ if (e = +e, t = +t, this._point) {
+ var r = this._x2 - e, i = this._y2 - t;
+ this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + i * i, this._alpha));
+ }
+ switch (this._point) {
+ case 0:
+ this._point = 1, this._x3 = e, this._y3 = t;
+ break;
+ case 1:
+ this._point = 2, this._context.moveTo(this._x4 = e, this._y4 = t);
+ break;
+ case 2:
+ this._point = 3, this._x5 = e, this._y5 = t;
+ break;
+ default:
+ jo(this, e, t);
+ break;
+ }
+ this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
+ }
+};
+const J2 = function e(t) {
+ function r(i) {
+ return t ? new op(i, t) : new qo(i, 0);
+ }
+ return r.alpha = function(i) {
+ return e(+i);
+ }, r;
+}(0.5);
+function lp(e, t) {
+ this._context = e, this._alpha = t;
+}
+lp.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
+ },
+ lineEnd: function() {
+ (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ if (e = +e, t = +t, this._point) {
+ var r = this._x2 - e, i = this._y2 - t;
+ this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + i * i, this._alpha));
+ }
+ switch (this._point) {
+ case 0:
+ this._point = 1;
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
+ break;
+ case 3:
+ this._point = 4;
+ default:
+ jo(this, e, t);
+ break;
+ }
+ this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
+ }
+};
+const t_ = function e(t) {
+ function r(i) {
+ return t ? new lp(i, t) : new Ho(i, 0);
+ }
+ return r.alpha = function(i) {
+ return e(+i);
+ }, r;
+}(0.5);
+function cp(e) {
+ this._context = e;
+}
+cp.prototype = {
+ areaStart: Ge,
+ areaEnd: Ge,
+ lineStart: function() {
+ this._point = 0;
+ },
+ lineEnd: function() {
+ this._point && this._context.closePath();
+ },
+ point: function(e, t) {
+ e = +e, t = +t, this._point ? this._context.lineTo(e, t) : (this._point = 1, this._context.moveTo(e, t));
+ }
+};
+function e_(e) {
+ return new cp(e);
+}
+function xc(e) {
+ return e < 0 ? -1 : 1;
+}
+function bc(e, t, r) {
+ var i = e._x1 - e._x0, n = t - e._x1, a = (e._y1 - e._y0) / (i || n < 0 && -0), o = (r - e._y1) / (n || i < 0 && -0), s = (a * n + o * i) / (i + n);
+ return (xc(a) + xc(o)) * Math.min(Math.abs(a), Math.abs(o), 0.5 * Math.abs(s)) || 0;
+}
+function _c(e, t) {
+ var r = e._x1 - e._x0;
+ return r ? (3 * (e._y1 - e._y0) / r - t) / 2 : t;
+}
+function ss(e, t, r) {
+ var i = e._x0, n = e._y0, a = e._x1, o = e._y1, s = (a - i) / 3;
+ e._context.bezierCurveTo(i + s, n + s * t, a - s, o - s * r, a, o);
+}
+function ta(e) {
+ this._context = e;
+}
+ta.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x1, this._y1);
+ break;
+ case 3:
+ ss(this, this._t0, _c(this, this._t0));
+ break;
+ }
+ (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
+ },
+ point: function(e, t) {
+ var r = NaN;
+ if (e = +e, t = +t, !(e === this._x1 && t === this._y1)) {
+ switch (this._point) {
+ case 0:
+ this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3, ss(this, _c(this, r = bc(this, e, t)), r);
+ break;
+ default:
+ ss(this, this._t0, r = bc(this, e, t));
+ break;
+ }
+ this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t, this._t0 = r;
+ }
+ }
+};
+function hp(e) {
+ this._context = new up(e);
+}
+(hp.prototype = Object.create(ta.prototype)).point = function(e, t) {
+ ta.prototype.point.call(this, t, e);
+};
+function up(e) {
+ this._context = e;
+}
+up.prototype = {
+ moveTo: function(e, t) {
+ this._context.moveTo(t, e);
+ },
+ closePath: function() {
+ this._context.closePath();
+ },
+ lineTo: function(e, t) {
+ this._context.lineTo(t, e);
+ },
+ bezierCurveTo: function(e, t, r, i, n, a) {
+ this._context.bezierCurveTo(t, e, i, r, a, n);
+ }
+};
+function fp(e) {
+ return new ta(e);
+}
+function pp(e) {
+ return new hp(e);
+}
+function dp(e) {
+ this._context = e;
+}
+dp.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x = [], this._y = [];
+ },
+ lineEnd: function() {
+ var e = this._x, t = this._y, r = e.length;
+ if (r)
+ if (this._line ? this._context.lineTo(e[0], t[0]) : this._context.moveTo(e[0], t[0]), r === 2)
+ this._context.lineTo(e[1], t[1]);
+ else
+ for (var i = Cc(e), n = Cc(t), a = 0, o = 1; o < r; ++a, ++o)
+ this._context.bezierCurveTo(i[0][a], n[0][a], i[1][a], n[1][a], e[o], t[o]);
+ (this._line || this._line !== 0 && r === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null;
+ },
+ point: function(e, t) {
+ this._x.push(+e), this._y.push(+t);
+ }
+};
+function Cc(e) {
+ var t, r = e.length - 1, i, n = new Array(r), a = new Array(r), o = new Array(r);
+ for (n[0] = 0, a[0] = 2, o[0] = e[0] + 2 * e[1], t = 1; t < r - 1; ++t) n[t] = 1, a[t] = 4, o[t] = 4 * e[t] + 2 * e[t + 1];
+ for (n[r - 1] = 2, a[r - 1] = 7, o[r - 1] = 8 * e[r - 1] + e[r], t = 1; t < r; ++t) i = n[t] / a[t - 1], a[t] -= i, o[t] -= i * o[t - 1];
+ for (n[r - 1] = o[r - 1] / a[r - 1], t = r - 2; t >= 0; --t) n[t] = (o[t] - n[t + 1]) / a[t];
+ for (a[r - 1] = (e[r] + n[r - 1]) / 2, t = 0; t < r - 1; ++t) a[t] = 2 * e[t + 1] - n[t + 1];
+ return [n, a];
+}
+function gp(e) {
+ return new dp(e);
+}
+function Ba(e, t) {
+ this._context = e, this._t = t;
+}
+Ba.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x = this._y = NaN, this._point = 0;
+ },
+ lineEnd: function() {
+ 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line);
+ },
+ point: function(e, t) {
+ switch (e = +e, t = +t, this._point) {
+ case 0:
+ this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
+ break;
+ case 1:
+ this._point = 2;
+ default: {
+ if (this._t <= 0)
+ this._context.lineTo(this._x, t), this._context.lineTo(e, t);
+ else {
+ var r = this._x * (1 - this._t) + e * this._t;
+ this._context.lineTo(r, this._y), this._context.lineTo(r, t);
+ }
+ break;
+ }
+ }
+ this._x = e, this._y = t;
+ }
+};
+function mp(e) {
+ return new Ba(e, 0.5);
+}
+function yp(e) {
+ return new Ba(e, 0);
+}
+function xp(e) {
+ return new Ba(e, 1);
+}
+function ki(e, t, r) {
+ this.k = e, this.x = t, this.y = r;
+}
+ki.prototype = {
+ constructor: ki,
+ scale: function(e) {
+ return e === 1 ? this : new ki(this.k * e, this.x, this.y);
+ },
+ translate: function(e, t) {
+ return e === 0 & t === 0 ? this : new ki(this.k, this.x + this.k * e, this.y + this.k * t);
+ },
+ apply: function(e) {
+ return [e[0] * this.k + this.x, e[1] * this.k + this.y];
+ },
+ applyX: function(e) {
+ return e * this.k + this.x;
+ },
+ applyY: function(e) {
+ return e * this.k + this.y;
+ },
+ invert: function(e) {
+ return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k];
+ },
+ invertX: function(e) {
+ return (e - this.x) / this.k;
+ },
+ invertY: function(e) {
+ return (e - this.y) / this.k;
+ },
+ rescaleX: function(e) {
+ return e.copy().domain(e.range().map(this.invertX, this).map(e.invert, e));
+ },
+ rescaleY: function(e) {
+ return e.copy().domain(e.range().map(this.invertY, this).map(e.invert, e));
+ },
+ toString: function() {
+ return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
+ }
+};
+ki.prototype;
+var bp = typeof global == "object" && global && global.Object === Object && global, r_ = typeof self == "object" && self && self.Object === Object && self, ke = bp || r_ || Function("return this")(), ea = ke.Symbol, _p = Object.prototype, i_ = _p.hasOwnProperty, n_ = _p.toString, di = ea ? ea.toStringTag : void 0;
+function a_(e) {
+ var t = i_.call(e, di), r = e[di];
+ try {
+ e[di] = void 0;
+ var i = !0;
+ } catch {
+ }
+ var n = n_.call(e);
+ return i && (t ? e[di] = r : delete e[di]), n;
+}
+var s_ = Object.prototype, o_ = s_.toString;
+function l_(e) {
+ return o_.call(e);
+}
+var c_ = "[object Null]", h_ = "[object Undefined]", wc = ea ? ea.toStringTag : void 0;
+function ti(e) {
+ return e == null ? e === void 0 ? h_ : c_ : wc && wc in Object(e) ? a_(e) : l_(e);
+}
+function gr(e) {
+ var t = typeof e;
+ return e != null && (t == "object" || t == "function");
+}
+var u_ = "[object AsyncFunction]", f_ = "[object Function]", p_ = "[object GeneratorFunction]", d_ = "[object Proxy]";
+function Yo(e) {
+ if (!gr(e))
+ return !1;
+ var t = ti(e);
+ return t == f_ || t == p_ || t == u_ || t == d_;
+}
+var os = ke["__core-js_shared__"], vc = function() {
+ var e = /[^.]+$/.exec(os && os.keys && os.keys.IE_PROTO || "");
+ return e ? "Symbol(src)_1." + e : "";
+}();
+function g_(e) {
+ return !!vc && vc in e;
+}
+var m_ = Function.prototype, y_ = m_.toString;
+function mr(e) {
+ if (e != null) {
+ try {
+ return y_.call(e);
+ } catch {
+ }
+ try {
+ return e + "";
+ } catch {
+ }
+ }
+ return "";
+}
+var x_ = /[\\^$.*+?()[\]{}|]/g, b_ = /^\[object .+?Constructor\]$/, __ = Function.prototype, C_ = Object.prototype, w_ = __.toString, v_ = C_.hasOwnProperty, k_ = RegExp(
+ "^" + w_.call(v_).replace(x_, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+);
+function S_(e) {
+ if (!gr(e) || g_(e))
+ return !1;
+ var t = Yo(e) ? k_ : b_;
+ return t.test(mr(e));
+}
+function T_(e, t) {
+ return e == null ? void 0 : e[t];
+}
+function yr(e, t) {
+ var r = T_(e, t);
+ return S_(r) ? r : void 0;
+}
+var Wi = yr(Object, "create");
+function B_() {
+ this.__data__ = Wi ? Wi(null) : {}, this.size = 0;
+}
+function L_(e) {
+ var t = this.has(e) && delete this.__data__[e];
+ return this.size -= t ? 1 : 0, t;
+}
+var A_ = "__lodash_hash_undefined__", M_ = Object.prototype, E_ = M_.hasOwnProperty;
+function F_(e) {
+ var t = this.__data__;
+ if (Wi) {
+ var r = t[e];
+ return r === A_ ? void 0 : r;
+ }
+ return E_.call(t, e) ? t[e] : void 0;
+}
+var $_ = Object.prototype, O_ = $_.hasOwnProperty;
+function D_(e) {
+ var t = this.__data__;
+ return Wi ? t[e] !== void 0 : O_.call(t, e);
+}
+var R_ = "__lodash_hash_undefined__";
+function I_(e, t) {
+ var r = this.__data__;
+ return this.size += this.has(e) ? 0 : 1, r[e] = Wi && t === void 0 ? R_ : t, this;
+}
+function fr(e) {
+ var t = -1, r = e == null ? 0 : e.length;
+ for (this.clear(); ++t < r; ) {
+ var i = e[t];
+ this.set(i[0], i[1]);
+ }
+}
+fr.prototype.clear = B_;
+fr.prototype.delete = L_;
+fr.prototype.get = F_;
+fr.prototype.has = D_;
+fr.prototype.set = I_;
+function P_() {
+ this.__data__ = [], this.size = 0;
+}
+function La(e, t) {
+ return e === t || e !== e && t !== t;
+}
+function Aa(e, t) {
+ for (var r = e.length; r--; )
+ if (La(e[r][0], t))
+ return r;
+ return -1;
+}
+var N_ = Array.prototype, z_ = N_.splice;
+function W_(e) {
+ var t = this.__data__, r = Aa(t, e);
+ if (r < 0)
+ return !1;
+ var i = t.length - 1;
+ return r == i ? t.pop() : z_.call(t, r, 1), --this.size, !0;
+}
+function q_(e) {
+ var t = this.__data__, r = Aa(t, e);
+ return r < 0 ? void 0 : t[r][1];
+}
+function H_(e) {
+ return Aa(this.__data__, e) > -1;
+}
+function j_(e, t) {
+ var r = this.__data__, i = Aa(r, e);
+ return i < 0 ? (++this.size, r.push([e, t])) : r[i][1] = t, this;
+}
+function Ne(e) {
+ var t = -1, r = e == null ? 0 : e.length;
+ for (this.clear(); ++t < r; ) {
+ var i = e[t];
+ this.set(i[0], i[1]);
+ }
+}
+Ne.prototype.clear = P_;
+Ne.prototype.delete = W_;
+Ne.prototype.get = q_;
+Ne.prototype.has = H_;
+Ne.prototype.set = j_;
+var qi = yr(ke, "Map");
+function Y_() {
+ this.size = 0, this.__data__ = {
+ hash: new fr(),
+ map: new (qi || Ne)(),
+ string: new fr()
+ };
+}
+function U_(e) {
+ var t = typeof e;
+ return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
+}
+function Ma(e, t) {
+ var r = e.__data__;
+ return U_(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
+}
+function G_(e) {
+ var t = Ma(this, e).delete(e);
+ return this.size -= t ? 1 : 0, t;
+}
+function X_(e) {
+ return Ma(this, e).get(e);
+}
+function V_(e) {
+ return Ma(this, e).has(e);
+}
+function Z_(e, t) {
+ var r = Ma(this, e), i = r.size;
+ return r.set(e, t), this.size += r.size == i ? 0 : 1, this;
+}
+function Ze(e) {
+ var t = -1, r = e == null ? 0 : e.length;
+ for (this.clear(); ++t < r; ) {
+ var i = e[t];
+ this.set(i[0], i[1]);
+ }
+}
+Ze.prototype.clear = Y_;
+Ze.prototype.delete = G_;
+Ze.prototype.get = X_;
+Ze.prototype.has = V_;
+Ze.prototype.set = Z_;
+var K_ = "Expected a function";
+function Zi(e, t) {
+ if (typeof e != "function" || t != null && typeof t != "function")
+ throw new TypeError(K_);
+ var r = function() {
+ var i = arguments, n = t ? t.apply(this, i) : i[0], a = r.cache;
+ if (a.has(n))
+ return a.get(n);
+ var o = e.apply(this, i);
+ return r.cache = a.set(n, o) || a, o;
+ };
+ return r.cache = new (Zi.Cache || Ze)(), r;
+}
+Zi.Cache = Ze;
+function Q_() {
+ this.__data__ = new Ne(), this.size = 0;
+}
+function J_(e) {
+ var t = this.__data__, r = t.delete(e);
+ return this.size = t.size, r;
+}
+function tC(e) {
+ return this.__data__.get(e);
+}
+function eC(e) {
+ return this.__data__.has(e);
+}
+var rC = 200;
+function iC(e, t) {
+ var r = this.__data__;
+ if (r instanceof Ne) {
+ var i = r.__data__;
+ if (!qi || i.length < rC - 1)
+ return i.push([e, t]), this.size = ++r.size, this;
+ r = this.__data__ = new Ze(i);
+ }
+ return r.set(e, t), this.size = r.size, this;
+}
+function ei(e) {
+ var t = this.__data__ = new Ne(e);
+ this.size = t.size;
+}
+ei.prototype.clear = Q_;
+ei.prototype.delete = J_;
+ei.prototype.get = tC;
+ei.prototype.has = eC;
+ei.prototype.set = iC;
+var ra = function() {
+ try {
+ var e = yr(Object, "defineProperty");
+ return e({}, "", {}), e;
+ } catch {
+ }
+}();
+function Uo(e, t, r) {
+ t == "__proto__" && ra ? ra(e, t, {
+ configurable: !0,
+ enumerable: !0,
+ value: r,
+ writable: !0
+ }) : e[t] = r;
+}
+function Zs(e, t, r) {
+ (r !== void 0 && !La(e[t], r) || r === void 0 && !(t in e)) && Uo(e, t, r);
+}
+function nC(e) {
+ return function(t, r, i) {
+ for (var n = -1, a = Object(t), o = i(t), s = o.length; s--; ) {
+ var l = o[++n];
+ if (r(a[l], l, a) === !1)
+ break;
+ }
+ return t;
+ };
+}
+var aC = nC(), Cp = typeof exports == "object" && exports && !exports.nodeType && exports, kc = Cp && typeof module == "object" && module && !module.nodeType && module, sC = kc && kc.exports === Cp, Sc = sC ? ke.Buffer : void 0, Tc = Sc ? Sc.allocUnsafe : void 0;
+function oC(e, t) {
+ if (t)
+ return e.slice();
+ var r = e.length, i = Tc ? Tc(r) : new e.constructor(r);
+ return e.copy(i), i;
+}
+var Bc = ke.Uint8Array;
+function lC(e) {
+ var t = new e.constructor(e.byteLength);
+ return new Bc(t).set(new Bc(e)), t;
+}
+function cC(e, t) {
+ var r = t ? lC(e.buffer) : e.buffer;
+ return new e.constructor(r, e.byteOffset, e.length);
+}
+function hC(e, t) {
+ var r = -1, i = e.length;
+ for (t || (t = Array(i)); ++r < i; )
+ t[r] = e[r];
+ return t;
+}
+var Lc = Object.create, uC = /* @__PURE__ */ function() {
+ function e() {
+ }
+ return function(t) {
+ if (!gr(t))
+ return {};
+ if (Lc)
+ return Lc(t);
+ e.prototype = t;
+ var r = new e();
+ return e.prototype = void 0, r;
+ };
+}();
+function wp(e, t) {
+ return function(r) {
+ return e(t(r));
+ };
+}
+var vp = wp(Object.getPrototypeOf, Object), fC = Object.prototype;
+function Ea(e) {
+ var t = e && e.constructor, r = typeof t == "function" && t.prototype || fC;
+ return e === r;
+}
+function pC(e) {
+ return typeof e.constructor == "function" && !Ea(e) ? uC(vp(e)) : {};
+}
+function Ki(e) {
+ return e != null && typeof e == "object";
+}
+var dC = "[object Arguments]";
+function Ac(e) {
+ return Ki(e) && ti(e) == dC;
+}
+var kp = Object.prototype, gC = kp.hasOwnProperty, mC = kp.propertyIsEnumerable, ia = Ac(/* @__PURE__ */ function() {
+ return arguments;
+}()) ? Ac : function(e) {
+ return Ki(e) && gC.call(e, "callee") && !mC.call(e, "callee");
+}, na = Array.isArray, yC = 9007199254740991;
+function Sp(e) {
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= yC;
+}
+function Fa(e) {
+ return e != null && Sp(e.length) && !Yo(e);
+}
+function xC(e) {
+ return Ki(e) && Fa(e);
+}
+function bC() {
+ return !1;
+}
+var Tp = typeof exports == "object" && exports && !exports.nodeType && exports, Mc = Tp && typeof module == "object" && module && !module.nodeType && module, _C = Mc && Mc.exports === Tp, Ec = _C ? ke.Buffer : void 0, CC = Ec ? Ec.isBuffer : void 0, Go = CC || bC, wC = "[object Object]", vC = Function.prototype, kC = Object.prototype, Bp = vC.toString, SC = kC.hasOwnProperty, TC = Bp.call(Object);
+function BC(e) {
+ if (!Ki(e) || ti(e) != wC)
+ return !1;
+ var t = vp(e);
+ if (t === null)
+ return !0;
+ var r = SC.call(t, "constructor") && t.constructor;
+ return typeof r == "function" && r instanceof r && Bp.call(r) == TC;
+}
+var LC = "[object Arguments]", AC = "[object Array]", MC = "[object Boolean]", EC = "[object Date]", FC = "[object Error]", $C = "[object Function]", OC = "[object Map]", DC = "[object Number]", RC = "[object Object]", IC = "[object RegExp]", PC = "[object Set]", NC = "[object String]", zC = "[object WeakMap]", WC = "[object ArrayBuffer]", qC = "[object DataView]", HC = "[object Float32Array]", jC = "[object Float64Array]", YC = "[object Int8Array]", UC = "[object Int16Array]", GC = "[object Int32Array]", XC = "[object Uint8Array]", VC = "[object Uint8ClampedArray]", ZC = "[object Uint16Array]", KC = "[object Uint32Array]", xt = {};
+xt[HC] = xt[jC] = xt[YC] = xt[UC] = xt[GC] = xt[XC] = xt[VC] = xt[ZC] = xt[KC] = !0;
+xt[LC] = xt[AC] = xt[WC] = xt[MC] = xt[qC] = xt[EC] = xt[FC] = xt[$C] = xt[OC] = xt[DC] = xt[RC] = xt[IC] = xt[PC] = xt[NC] = xt[zC] = !1;
+function QC(e) {
+ return Ki(e) && Sp(e.length) && !!xt[ti(e)];
+}
+function JC(e) {
+ return function(t) {
+ return e(t);
+ };
+}
+var Lp = typeof exports == "object" && exports && !exports.nodeType && exports, Ei = Lp && typeof module == "object" && module && !module.nodeType && module, tw = Ei && Ei.exports === Lp, ls = tw && bp.process, Fc = function() {
+ try {
+ var e = Ei && Ei.require && Ei.require("util").types;
+ return e || ls && ls.binding && ls.binding("util");
+ } catch {
+ }
+}(), $c = Fc && Fc.isTypedArray, Xo = $c ? JC($c) : QC;
+function Ks(e, t) {
+ if (!(t === "constructor" && typeof e[t] == "function") && t != "__proto__")
+ return e[t];
+}
+var ew = Object.prototype, rw = ew.hasOwnProperty;
+function iw(e, t, r) {
+ var i = e[t];
+ (!(rw.call(e, t) && La(i, r)) || r === void 0 && !(t in e)) && Uo(e, t, r);
+}
+function nw(e, t, r, i) {
+ var n = !r;
+ r || (r = {});
+ for (var a = -1, o = t.length; ++a < o; ) {
+ var s = t[a], l = void 0;
+ l === void 0 && (l = e[s]), n ? Uo(r, s, l) : iw(r, s, l);
+ }
+ return r;
+}
+function aw(e, t) {
+ for (var r = -1, i = Array(e); ++r < e; )
+ i[r] = t(r);
+ return i;
+}
+var sw = 9007199254740991, ow = /^(?:0|[1-9]\d*)$/;
+function Ap(e, t) {
+ var r = typeof e;
+ return t = t ?? sw, !!t && (r == "number" || r != "symbol" && ow.test(e)) && e > -1 && e % 1 == 0 && e < t;
+}
+var lw = Object.prototype, cw = lw.hasOwnProperty;
+function hw(e, t) {
+ var r = na(e), i = !r && ia(e), n = !r && !i && Go(e), a = !r && !i && !n && Xo(e), o = r || i || n || a, s = o ? aw(e.length, String) : [], l = s.length;
+ for (var c in e)
+ (t || cw.call(e, c)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.
+ (c == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+ n && (c == "offset" || c == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+ a && (c == "buffer" || c == "byteLength" || c == "byteOffset") || // Skip index properties.
+ Ap(c, l))) && s.push(c);
+ return s;
+}
+function uw(e) {
+ var t = [];
+ if (e != null)
+ for (var r in Object(e))
+ t.push(r);
+ return t;
+}
+var fw = Object.prototype, pw = fw.hasOwnProperty;
+function dw(e) {
+ if (!gr(e))
+ return uw(e);
+ var t = Ea(e), r = [];
+ for (var i in e)
+ i == "constructor" && (t || !pw.call(e, i)) || r.push(i);
+ return r;
+}
+function Mp(e) {
+ return Fa(e) ? hw(e, !0) : dw(e);
+}
+function gw(e) {
+ return nw(e, Mp(e));
+}
+function mw(e, t, r, i, n, a, o) {
+ var s = Ks(e, r), l = Ks(t, r), c = o.get(l);
+ if (c) {
+ Zs(e, r, c);
+ return;
+ }
+ var h = a ? a(s, l, r + "", e, t, o) : void 0, u = h === void 0;
+ if (u) {
+ var f = na(l), p = !f && Go(l), g = !f && !p && Xo(l);
+ h = l, f || p || g ? na(s) ? h = s : xC(s) ? h = hC(s) : p ? (u = !1, h = oC(l, !0)) : g ? (u = !1, h = cC(l, !0)) : h = [] : BC(l) || ia(l) ? (h = s, ia(s) ? h = gw(s) : (!gr(s) || Yo(s)) && (h = pC(l))) : u = !1;
+ }
+ u && (o.set(l, h), n(h, l, i, a, o), o.delete(l)), Zs(e, r, h);
+}
+function Ep(e, t, r, i, n) {
+ e !== t && aC(t, function(a, o) {
+ if (n || (n = new ei()), gr(a))
+ mw(e, t, o, r, Ep, i, n);
+ else {
+ var s = i ? i(Ks(e, o), a, o + "", e, t, n) : void 0;
+ s === void 0 && (s = a), Zs(e, o, s);
+ }
+ }, Mp);
+}
+function Fp(e) {
+ return e;
+}
+function yw(e, t, r) {
+ switch (r.length) {
+ case 0:
+ return e.call(t);
+ case 1:
+ return e.call(t, r[0]);
+ case 2:
+ return e.call(t, r[0], r[1]);
+ case 3:
+ return e.call(t, r[0], r[1], r[2]);
+ }
+ return e.apply(t, r);
+}
+var Oc = Math.max;
+function xw(e, t, r) {
+ return t = Oc(t === void 0 ? e.length - 1 : t, 0), function() {
+ for (var i = arguments, n = -1, a = Oc(i.length - t, 0), o = Array(a); ++n < a; )
+ o[n] = i[t + n];
+ n = -1;
+ for (var s = Array(t + 1); ++n < t; )
+ s[n] = i[n];
+ return s[t] = r(o), yw(e, this, s);
+ };
+}
+function bw(e) {
+ return function() {
+ return e;
+ };
+}
+var _w = ra ? function(e, t) {
+ return ra(e, "toString", {
+ configurable: !0,
+ enumerable: !1,
+ value: bw(t),
+ writable: !0
+ });
+} : Fp, Cw = 800, ww = 16, vw = Date.now;
+function kw(e) {
+ var t = 0, r = 0;
+ return function() {
+ var i = vw(), n = ww - (i - r);
+ if (r = i, n > 0) {
+ if (++t >= Cw)
+ return arguments[0];
+ } else
+ t = 0;
+ return e.apply(void 0, arguments);
+ };
+}
+var Sw = kw(_w);
+function Tw(e, t) {
+ return Sw(xw(e, t, Fp), e + "");
+}
+function Bw(e, t, r) {
+ if (!gr(r))
+ return !1;
+ var i = typeof t;
+ return (i == "number" ? Fa(r) && Ap(t, r.length) : i == "string" && t in r) ? La(r[t], e) : !1;
+}
+function Lw(e) {
+ return Tw(function(t, r) {
+ var i = -1, n = r.length, a = n > 1 ? r[n - 1] : void 0, o = n > 2 ? r[2] : void 0;
+ for (a = e.length > 3 && typeof a == "function" ? (n--, a) : void 0, o && Bw(r[0], r[1], o) && (a = n < 3 ? void 0 : a, n = 1), t = Object(t); ++i < n; ) {
+ var s = r[i];
+ s && e(t, s, i, a);
+ }
+ return t;
+ });
+}
+var Aw = Lw(function(e, t, r) {
+ Ep(e, t, r);
+}), Mw = "​", Ew = {
+ curveBasis: Ln,
+ curveBasisClosed: X2,
+ curveBasisOpen: V2,
+ curveBumpX: Jf,
+ curveBumpY: tp,
+ curveBundle: Z2,
+ curveCardinalClosed: K2,
+ curveCardinalOpen: Q2,
+ curveCardinal: np,
+ curveCatmullRomClosed: J2,
+ curveCatmullRomOpen: t_,
+ curveCatmullRom: sp,
+ curveLinear: Kn,
+ curveLinearClosed: e_,
+ curveMonotoneX: fp,
+ curveMonotoneY: pp,
+ curveNatural: gp,
+ curveStep: mp,
+ curveStepAfter: xp,
+ curveStepBefore: yp
+}, Fw = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, $w = /* @__PURE__ */ d(function(e, t) {
+ const r = $p(e, /(?:init\b)|(?:initialize\b)/);
+ let i = {};
+ if (Array.isArray(r)) {
+ const o = r.map((s) => s.args);
+ Dn(o), i = $t(i, [...o]);
+ } else
+ i = r.args;
+ if (!i)
+ return;
+ let n = xo(e, t);
+ const a = "config";
+ return i[a] !== void 0 && (n === "flowchart-v2" && (n = "flowchart"), i[n] = i[a], delete i[a]), i;
+}, "detectInit"), $p = /* @__PURE__ */ d(function(e, t = null) {
+ var r, i;
+ try {
+ const n = new RegExp(
+ `[%]{2}(?![{]${Fw.source})(?=[}][%]{2}).*
+`,
+ "ig"
+ );
+ e = e.trim().replace(n, "").replace(/'/gm, '"'), $.debug(
+ `Detecting diagram directive${t !== null ? " type:" + t : ""} based on the text:${e}`
+ );
+ let a;
+ const o = [];
+ for (; (a = Ai.exec(e)) !== null; )
+ if (a.index === Ai.lastIndex && Ai.lastIndex++, a && !t || t && ((r = a[1]) != null && r.match(t)) || t && ((i = a[2]) != null && i.match(t))) {
+ const s = a[1] ? a[1] : a[2], l = a[3] ? a[3].trim() : a[4] ? JSON.parse(a[4].trim()) : null;
+ o.push({ type: s, args: l });
+ }
+ return o.length === 0 ? { type: e, args: null } : o.length === 1 ? o[0] : o;
+ } catch (n) {
+ return $.error(
+ `ERROR: ${n.message} - Unable to parse directive type: '${t}' based on the text: '${e}'`
+ ), { type: void 0, args: null };
+ }
+}, "detectDirective"), Ow = /* @__PURE__ */ d(function(e) {
+ return e.replace(Ai, "");
+}, "removeDirectives"), Dw = /* @__PURE__ */ d(function(e, t) {
+ for (const [r, i] of t.entries())
+ if (i.match(e))
+ return r;
+ return -1;
+}, "isSubstringInArray");
+function Vo(e, t) {
+ if (!e)
+ return t;
+ const r = `curve${e.charAt(0).toUpperCase() + e.slice(1)}`;
+ return Ew[r] ?? t;
+}
+d(Vo, "interpolateToCurve");
+function Op(e, t) {
+ const r = e.trim();
+ if (r)
+ return t.securityLevel !== "loose" ? vf(r) : r;
+}
+d(Op, "formatUrl");
+var Rw = /* @__PURE__ */ d((e, ...t) => {
+ const r = e.split("."), i = r.length - 1, n = r[i];
+ let a = window;
+ for (let o = 0; o < i; o++)
+ if (a = a[r[o]], !a) {
+ $.error(`Function name: ${e} not found in window`);
+ return;
+ }
+ a[n](...t);
+}, "runFunc");
+function Zo(e, t) {
+ return !e || !t ? 0 : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2));
+}
+d(Zo, "distance");
+function Dp(e) {
+ let t, r = 0;
+ e.forEach((n) => {
+ r += Zo(n, t), t = n;
+ });
+ const i = r / 2;
+ return Ko(e, i);
+}
+d(Dp, "traverseEdge");
+function Rp(e) {
+ return e.length === 1 ? e[0] : Dp(e);
+}
+d(Rp, "calcLabelPosition");
+var Dc = /* @__PURE__ */ d((e, t = 2) => {
+ const r = Math.pow(10, t);
+ return Math.round(e * r) / r;
+}, "roundNumber"), Ko = /* @__PURE__ */ d((e, t) => {
+ let r, i = t;
+ for (const n of e) {
+ if (r) {
+ const a = Zo(n, r);
+ if (a === 0)
+ return r;
+ if (a < i)
+ i -= a;
+ else {
+ const o = i / a;
+ if (o <= 0)
+ return r;
+ if (o >= 1)
+ return { x: n.x, y: n.y };
+ if (o > 0 && o < 1)
+ return {
+ x: Dc((1 - o) * r.x + o * n.x, 5),
+ y: Dc((1 - o) * r.y + o * n.y, 5)
+ };
+ }
+ }
+ r = n;
+ }
+ throw new Error("Could not find a suitable point for the given distance");
+}, "calculatePoint"), Iw = /* @__PURE__ */ d((e, t, r) => {
+ $.info(`our points ${JSON.stringify(t)}`), t[0] !== r && (t = t.reverse());
+ const n = Ko(t, 25), a = e ? 10 : 5, o = Math.atan2(t[0].y - n.y, t[0].x - n.x), s = { x: 0, y: 0 };
+ return s.x = Math.sin(o) * a + (t[0].x + n.x) / 2, s.y = -Math.cos(o) * a + (t[0].y + n.y) / 2, s;
+}, "calcCardinalityPosition");
+function Ip(e, t, r) {
+ const i = structuredClone(r);
+ $.info("our points", i), t !== "start_left" && t !== "start_right" && i.reverse();
+ const n = 25 + e, a = Ko(i, n), o = 10 + e * 0.5, s = Math.atan2(i[0].y - a.y, i[0].x - a.x), l = { x: 0, y: 0 };
+ return t === "start_left" ? (l.x = Math.sin(s + Math.PI) * o + (i[0].x + a.x) / 2, l.y = -Math.cos(s + Math.PI) * o + (i[0].y + a.y) / 2) : t === "end_right" ? (l.x = Math.sin(s - Math.PI) * o + (i[0].x + a.x) / 2 - 5, l.y = -Math.cos(s - Math.PI) * o + (i[0].y + a.y) / 2 - 5) : t === "end_left" ? (l.x = Math.sin(s) * o + (i[0].x + a.x) / 2 - 5, l.y = -Math.cos(s) * o + (i[0].y + a.y) / 2 - 5) : (l.x = Math.sin(s) * o + (i[0].x + a.x) / 2, l.y = -Math.cos(s) * o + (i[0].y + a.y) / 2), l;
+}
+d(Ip, "calcTerminalLabelPosition");
+function Pp(e) {
+ let t = "", r = "";
+ for (const i of e)
+ i !== void 0 && (i.startsWith("color:") || i.startsWith("text-align:") ? r = r + i + ";" : t = t + i + ";");
+ return { style: t, labelStyle: r };
+}
+d(Pp, "getStylesFromArray");
+var Rc = 0, Pw = /* @__PURE__ */ d(() => (Rc++, "id-" + Math.random().toString(36).substr(2, 12) + "-" + Rc), "generateId");
+function Np(e) {
+ let t = "";
+ const r = "0123456789abcdef", i = r.length;
+ for (let n = 0; n < e; n++)
+ t += r.charAt(Math.floor(Math.random() * i));
+ return t;
+}
+d(Np, "makeRandomHex");
+var Nw = /* @__PURE__ */ d((e) => Np(e.length), "random"), zw = /* @__PURE__ */ d(function() {
+ return {
+ x: 0,
+ y: 0,
+ fill: void 0,
+ anchor: "start",
+ style: "#666",
+ width: 100,
+ height: 100,
+ textMargin: 0,
+ rx: 0,
+ ry: 0,
+ valign: void 0,
+ text: ""
+ };
+}, "getTextObj"), Ww = /* @__PURE__ */ d(function(e, t) {
+ const r = t.text.replace(Jr.lineBreakRegex, " "), [, i] = $a(t.fontSize), n = e.append("text");
+ n.attr("x", t.x), n.attr("y", t.y), n.style("text-anchor", t.anchor), n.style("font-family", t.fontFamily), n.style("font-size", i), n.style("font-weight", t.fontWeight), n.attr("fill", t.fill), t.class !== void 0 && n.attr("class", t.class);
+ const a = n.append("tspan");
+ return a.attr("x", t.x + t.textMargin * 2), a.attr("fill", t.fill), a.text(r), n;
+}, "drawSimpleText"), qw = Zi(
+ (e, t, r) => {
+ if (!e || (r = Object.assign(
+ { fontSize: 12, fontWeight: 400, fontFamily: "Arial", joinWith: "
" },
+ r
+ ), Jr.lineBreakRegex.test(e)))
+ return e;
+ const i = e.split(" ").filter(Boolean), n = [];
+ let a = "";
+ return i.forEach((o, s) => {
+ const l = Pe(`${o} `, r), c = Pe(a, r);
+ if (l > t) {
+ const { hyphenatedStrings: f, remainingWord: p } = Hw(o, t, "-", r);
+ n.push(a, ...f), a = p;
+ } else c + l >= t ? (n.push(a), a = o) : a = [a, o].filter(Boolean).join(" ");
+ s + 1 === i.length && n.push(a);
+ }), n.filter((o) => o !== "").join(r.joinWith);
+ },
+ (e, t, r) => `${e}${t}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`
+), Hw = Zi(
+ (e, t, r = "-", i) => {
+ i = Object.assign(
+ { fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 0 },
+ i
+ );
+ const n = [...e], a = [];
+ let o = "";
+ return n.forEach((s, l) => {
+ const c = `${o}${s}`;
+ if (Pe(c, i) >= t) {
+ const u = l + 1, f = n.length === u, p = `${c}${r}`;
+ a.push(f ? c : p), o = "";
+ } else
+ o = c;
+ }), { hyphenatedStrings: a, remainingWord: o };
+ },
+ (e, t, r = "-", i) => `${e}${t}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`
+);
+function zp(e, t) {
+ return Qo(e, t).height;
+}
+d(zp, "calculateTextHeight");
+function Pe(e, t) {
+ return Qo(e, t).width;
+}
+d(Pe, "calculateTextWidth");
+var Qo = Zi(
+ (e, t) => {
+ const { fontSize: r = 12, fontFamily: i = "Arial", fontWeight: n = 400 } = t;
+ if (!e)
+ return { width: 0, height: 0 };
+ const [, a] = $a(r), o = ["sans-serif", i], s = e.split(Jr.lineBreakRegex), l = [], c = ct("body");
+ if (!c.remove)
+ return { width: 0, height: 0, lineHeight: 0 };
+ const h = c.append("svg");
+ for (const f of o) {
+ let p = 0;
+ const g = { width: 0, height: 0, lineHeight: 0 };
+ for (const m of s) {
+ const y = zw();
+ y.text = m || Mw;
+ const x = Ww(h, y).style("font-size", a).style("font-weight", n).style("font-family", f), b = (x._groups || x)[0][0].getBBox();
+ if (b.width === 0 && b.height === 0)
+ throw new Error("svg element not in render tree");
+ g.width = Math.round(Math.max(g.width, b.width)), p = Math.round(b.height), g.height += p, g.lineHeight = Math.round(Math.max(g.lineHeight, p));
+ }
+ l.push(g);
+ }
+ h.remove();
+ const u = isNaN(l[1].height) || isNaN(l[1].width) || isNaN(l[1].lineHeight) || l[0].height > l[1].height && l[0].width > l[1].width && l[0].lineHeight > l[1].lineHeight ? 0 : 1;
+ return l[u];
+ },
+ (e, t) => `${e}${t.fontSize}${t.fontWeight}${t.fontFamily}`
+), Wr, jw = (Wr = class {
+ constructor(t = !1, r) {
+ this.count = 0, this.count = r ? r.length : 0, this.next = t ? () => this.count++ : () => Date.now();
+ }
+}, d(Wr, "InitIDGenerator"), Wr), dn, Yw = /* @__PURE__ */ d(function(e) {
+ return dn = dn || document.createElement("div"), e = escape(e).replace(/%26/g, "&").replace(/%23/g, "#").replace(/%3B/g, ";"), dn.innerHTML = e, unescape(dn.textContent);
+}, "entityDecode");
+function Jo(e) {
+ return "str" in e;
+}
+d(Jo, "isDetailedError");
+var Uw = /* @__PURE__ */ d((e, t, r, i) => {
+ var a;
+ if (!i)
+ return;
+ const n = (a = e.node()) == null ? void 0 : a.getBBox();
+ n && e.append("text").text(i).attr("text-anchor", "middle").attr("x", n.x + n.width / 2).attr("y", -r).attr("class", t);
+}, "insertTitle"), $a = /* @__PURE__ */ d((e) => {
+ if (typeof e == "number")
+ return [e, e + "px"];
+ const t = parseInt(e ?? "", 10);
+ return Number.isNaN(t) ? [void 0, void 0] : e === String(t) ? [t, e + "px"] : [t, e];
+}, "parseFontSize");
+function tl(e, t) {
+ return Aw({}, e, t);
+}
+d(tl, "cleanAndMerge");
+var be = {
+ assignWithDepth: $t,
+ wrapLabel: qw,
+ calculateTextHeight: zp,
+ calculateTextWidth: Pe,
+ calculateTextDimensions: Qo,
+ cleanAndMerge: tl,
+ detectInit: $w,
+ detectDirective: $p,
+ isSubstringInArray: Dw,
+ interpolateToCurve: Vo,
+ calcLabelPosition: Rp,
+ calcCardinalityPosition: Iw,
+ calcTerminalLabelPosition: Ip,
+ formatUrl: Op,
+ getStylesFromArray: Pp,
+ generateId: Pw,
+ random: Nw,
+ runFunc: Rw,
+ entityDecode: Yw,
+ insertTitle: Uw,
+ parseFontSize: $a,
+ InitIDGenerator: jw
+}, Gw = /* @__PURE__ */ d(function(e) {
+ let t = e;
+ return t = t.replace(/style.*:\S*#.*;/g, function(r) {
+ return r.substring(0, r.length - 1);
+ }), t = t.replace(/classDef.*:\S*#.*;/g, function(r) {
+ return r.substring(0, r.length - 1);
+ }), t = t.replace(/#\w+;/g, function(r) {
+ const i = r.substring(1, r.length - 1);
+ return /^\+?\d+$/.test(i) ? "fl°°" + i + "¶ß" : "fl°" + i + "¶ß";
+ }), t;
+}, "encodeEntities"), xr = /* @__PURE__ */ d(function(e) {
+ return e.replace(/fl°°/g, "").replace(/fl°/g, "&").replace(/¶ß/g, ";");
+}, "decodeEntities"), YL = /* @__PURE__ */ d((e, t, {
+ counter: r = 0,
+ prefix: i,
+ suffix: n
+}, a) => a || `${i ? `${i}_` : ""}${e}_${t}_${r}${n ? `_${n}` : ""}`, "getEdgeId");
+function Yt(e) {
+ return e ?? null;
+}
+d(Yt, "handleUndefinedAttr");
+const Xw = Object.freeze(
+ {
+ left: 0,
+ top: 0,
+ width: 16,
+ height: 16
+ }
+), aa = Object.freeze({
+ rotate: 0,
+ vFlip: !1,
+ hFlip: !1
+}), Wp = Object.freeze({
+ ...Xw,
+ ...aa
+}), Vw = Object.freeze({
+ ...Wp,
+ body: "",
+ hidden: !1
+}), Zw = Object.freeze({
+ width: null,
+ height: null
+}), Kw = Object.freeze({
+ // Dimensions
+ ...Zw,
+ // Transformations
+ ...aa
+}), Qw = (e, t, r, i = "") => {
+ const n = e.split(":");
+ if (e.slice(0, 1) === "@") {
+ if (n.length < 2 || n.length > 3)
+ return null;
+ i = n.shift().slice(1);
+ }
+ if (n.length > 3 || !n.length)
+ return null;
+ if (n.length > 1) {
+ const s = n.pop(), l = n.pop(), c = {
+ // Allow provider without '@': "provider:prefix:name"
+ provider: n.length > 0 ? n[0] : i,
+ prefix: l,
+ name: s
+ };
+ return cs(c) ? c : null;
+ }
+ const a = n[0], o = a.split("-");
+ if (o.length > 1) {
+ const s = {
+ provider: i,
+ prefix: o.shift(),
+ name: o.join("-")
+ };
+ return cs(s) ? s : null;
+ }
+ if (r && i === "") {
+ const s = {
+ provider: i,
+ prefix: "",
+ name: a
+ };
+ return cs(s, r) ? s : null;
+ }
+ return null;
+}, cs = (e, t) => e ? !!// Check prefix: cannot be empty, unless allowSimpleName is enabled
+// Check name: cannot be empty
+((t && e.prefix === "" || e.prefix) && e.name) : !1;
+function Jw(e, t) {
+ const r = {};
+ !e.hFlip != !t.hFlip && (r.hFlip = !0), !e.vFlip != !t.vFlip && (r.vFlip = !0);
+ const i = ((e.rotate || 0) + (t.rotate || 0)) % 4;
+ return i && (r.rotate = i), r;
+}
+function Ic(e, t) {
+ const r = Jw(e, t);
+ for (const i in Vw)
+ i in aa ? i in e && !(i in r) && (r[i] = aa[i]) : i in t ? r[i] = t[i] : i in e && (r[i] = e[i]);
+ return r;
+}
+function tv(e, t) {
+ const r = e.icons, i = e.aliases || /* @__PURE__ */ Object.create(null), n = /* @__PURE__ */ Object.create(null);
+ function a(o) {
+ if (r[o])
+ return n[o] = [];
+ if (!(o in n)) {
+ n[o] = null;
+ const s = i[o] && i[o].parent, l = s && a(s);
+ l && (n[o] = [s].concat(l));
+ }
+ return n[o];
+ }
+ return (t || Object.keys(r).concat(Object.keys(i))).forEach(a), n;
+}
+function Pc(e, t, r) {
+ const i = e.icons, n = e.aliases || /* @__PURE__ */ Object.create(null);
+ let a = {};
+ function o(s) {
+ a = Ic(
+ i[s] || n[s],
+ a
+ );
+ }
+ return o(t), r.forEach(o), Ic(e, a);
+}
+function ev(e, t) {
+ if (e.icons[t])
+ return Pc(e, t, []);
+ const r = tv(e, [t])[t];
+ return r ? Pc(e, t, r) : null;
+}
+const rv = /(-?[0-9.]*[0-9]+[0-9.]*)/g, iv = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
+function Nc(e, t, r) {
+ if (t === 1)
+ return e;
+ if (r = r || 100, typeof e == "number")
+ return Math.ceil(e * t * r) / r;
+ if (typeof e != "string")
+ return e;
+ const i = e.split(rv);
+ if (i === null || !i.length)
+ return e;
+ const n = [];
+ let a = i.shift(), o = iv.test(a);
+ for (; ; ) {
+ if (o) {
+ const s = parseFloat(a);
+ isNaN(s) ? n.push(a) : n.push(Math.ceil(s * t * r) / r);
+ } else
+ n.push(a);
+ if (a = i.shift(), a === void 0)
+ return n.join("");
+ o = !o;
+ }
+}
+function nv(e, t = "defs") {
+ let r = "";
+ const i = e.indexOf("<" + t);
+ for (; i >= 0; ) {
+ const n = e.indexOf(">", i), a = e.indexOf("" + t);
+ if (n === -1 || a === -1)
+ break;
+ const o = e.indexOf(">", a);
+ if (o === -1)
+ break;
+ r += e.slice(n + 1, a).trim(), e = e.slice(0, i).trim() + e.slice(o + 1);
+ }
+ return {
+ defs: r,
+ content: e
+ };
+}
+function av(e, t) {
+ return e ? "" + e + "" + t : t;
+}
+function sv(e, t, r) {
+ const i = nv(e);
+ return av(i.defs, t + i.content + r);
+}
+const ov = (e) => e === "unset" || e === "undefined" || e === "none";
+function lv(e, t) {
+ const r = {
+ ...Wp,
+ ...e
+ }, i = {
+ ...Kw,
+ ...t
+ }, n = {
+ left: r.left,
+ top: r.top,
+ width: r.width,
+ height: r.height
+ };
+ let a = r.body;
+ [r, i].forEach((m) => {
+ const y = [], x = m.hFlip, b = m.vFlip;
+ let C = m.rotate;
+ x ? b ? C += 2 : (y.push(
+ "translate(" + (n.width + n.left).toString() + " " + (0 - n.top).toString() + ")"
+ ), y.push("scale(-1 1)"), n.top = n.left = 0) : b && (y.push(
+ "translate(" + (0 - n.left).toString() + " " + (n.height + n.top).toString() + ")"
+ ), y.push("scale(1 -1)"), n.top = n.left = 0);
+ let k;
+ switch (C < 0 && (C -= Math.floor(C / 4) * 4), C = C % 4, C) {
+ case 1:
+ k = n.height / 2 + n.top, y.unshift(
+ "rotate(90 " + k.toString() + " " + k.toString() + ")"
+ );
+ break;
+ case 2:
+ y.unshift(
+ "rotate(180 " + (n.width / 2 + n.left).toString() + " " + (n.height / 2 + n.top).toString() + ")"
+ );
+ break;
+ case 3:
+ k = n.width / 2 + n.left, y.unshift(
+ "rotate(-90 " + k.toString() + " " + k.toString() + ")"
+ );
+ break;
+ }
+ C % 2 === 1 && (n.left !== n.top && (k = n.left, n.left = n.top, n.top = k), n.width !== n.height && (k = n.width, n.width = n.height, n.height = k)), y.length && (a = sv(
+ a,
+ '',
+ ""
+ ));
+ });
+ const o = i.width, s = i.height, l = n.width, c = n.height;
+ let h, u;
+ o === null ? (u = s === null ? "1em" : s === "auto" ? c : s, h = Nc(u, l / c)) : (h = o === "auto" ? l : o, u = s === null ? Nc(h, c / l) : s === "auto" ? c : s);
+ const f = {}, p = (m, y) => {
+ ov(y) || (f[m] = y.toString());
+ };
+ p("width", h), p("height", u);
+ const g = [n.left, n.top, l, c];
+ return f.viewBox = g.join(" "), {
+ attributes: f,
+ viewBox: g,
+ body: a
+ };
+}
+const cv = /\sid="(\S+)"/g, hv = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);
+let uv = 0;
+function fv(e, t = hv) {
+ const r = [];
+ let i;
+ for (; i = cv.exec(e); )
+ r.push(i[1]);
+ if (!r.length)
+ return e;
+ const n = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
+ return r.forEach((a) => {
+ const o = typeof t == "function" ? t(a) : t + (uv++).toString(), s = a.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+ e = e.replace(
+ // Allowed characters before id: [#;"]
+ // Allowed characters after id: [)"], .[a-z]
+ new RegExp('([#;"])(' + s + ')([")]|\\.[a-z])', "g"),
+ "$1" + o + n + "$3"
+ );
+ }), e = e.replace(new RegExp(n, "g"), ""), e;
+}
+function pv(e, t) {
+ let r = e.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
+ for (const i in t)
+ r += " " + i + '="' + t[i] + '"';
+ return '";
+}
+function el() {
+ return {
+ async: !1,
+ breaks: !1,
+ extensions: null,
+ gfm: !0,
+ hooks: null,
+ pedantic: !1,
+ renderer: null,
+ silent: !1,
+ tokenizer: null,
+ walkTokens: null
+ };
+}
+var br = el();
+function qp(e) {
+ br = e;
+}
+var Fi = { exec: () => null };
+function pt(e, t = "") {
+ let r = typeof e == "string" ? e : e.source;
+ const i = {
+ replace: (n, a) => {
+ let o = typeof a == "string" ? a : a.source;
+ return o = o.replace(jt.caret, "$1"), r = r.replace(n, o), i;
+ },
+ getRegex: () => new RegExp(r, t)
+ };
+ return i;
+}
+var jt = {
+ codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
+ outputLinkReplace: /\\([\[\]])/g,
+ indentCodeCompensation: /^(\s+)(?:```)/,
+ beginningSpace: /^\s+/,
+ endingHash: /#$/,
+ startingSpaceChar: /^ /,
+ endingSpaceChar: / $/,
+ nonSpaceChar: /[^ ]/,
+ newLineCharGlobal: /\n/g,
+ tabCharGlobal: /\t/g,
+ multipleSpaceGlobal: /\s+/g,
+ blankLine: /^[ \t]*$/,
+ doubleBlankLine: /\n[ \t]*\n[ \t]*$/,
+ blockquoteStart: /^ {0,3}>/,
+ blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
+ blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm,
+ listReplaceTabs: /^\t+/,
+ listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,
+ listIsTask: /^\[[ xX]\] /,
+ listReplaceTask: /^\[[ xX]\] +/,
+ anyLine: /\n.*\n/,
+ hrefBrackets: /^<(.*)>$/,
+ tableDelimiter: /[:|]/,
+ tableAlignChars: /^\||\| *$/g,
+ tableRowBlankLine: /\n[ \t]*$/,
+ tableAlignRight: /^ *-+: *$/,
+ tableAlignCenter: /^ *:-+: *$/,
+ tableAlignLeft: /^ *:-+ *$/,
+ startATag: /^/i,
+ startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i,
+ endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i,
+ startAngleBracket: /^,
+ endAngleBracket: />$/,
+ pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/,
+ unicodeAlphaNumeric: /[\p{L}\p{N}]/u,
+ escapeTest: /[&<>"']/,
+ escapeReplace: /[&<>"']/g,
+ escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,
+ escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,
+ unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,
+ caret: /(^|[^\[])\^/g,
+ percentDecode: /%25/g,
+ findPipe: /\|/g,
+ splitPipe: / \|/,
+ slashPipe: /\\\|/g,
+ carriageReturn: /\r\n|\r/g,
+ spaceLine: /^ +$/gm,
+ notSpaceStart: /^\S*/,
+ endingNewline: /\n$/,
+ listItemRegex: (e) => new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),
+ nextBulletRegex: (e) => new RegExp(`^ {0,${Math.min(3, e - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),
+ hrRegex: (e) => new RegExp(`^ {0,${Math.min(3, e - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),
+ fencesBeginRegex: (e) => new RegExp(`^ {0,${Math.min(3, e - 1)}}(?:\`\`\`|~~~)`),
+ headingBeginRegex: (e) => new RegExp(`^ {0,${Math.min(3, e - 1)}}#`),
+ htmlBeginRegex: (e) => new RegExp(`^ {0,${Math.min(3, e - 1)}}<(?:[a-z].*>|!--)`, "i")
+}, dv = /^(?:[ \t]*(?:\n|$))+/, gv = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, mv = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, Qi = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, yv = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, rl = /(?:[*+-]|\d{1,9}[.)])/, Hp = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, jp = pt(Hp).replace(/bull/g, rl).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), xv = pt(Hp).replace(/bull/g, rl).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), il = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, bv = /^[^\n]+/, nl = /(?!\s*\])(?:\\.|[^\[\]\\])+/, _v = pt(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", nl).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Cv = pt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, rl).getRegex(), Oa = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", al = /|$))/, wv = pt(
+ "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))",
+ "i"
+).replace("comment", al).replace("tag", Oa).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Yp = pt(il).replace("hr", Qi).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oa).getRegex(), vv = pt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Yp).getRegex(), sl = {
+ blockquote: vv,
+ code: gv,
+ def: _v,
+ fences: mv,
+ heading: yv,
+ hr: Qi,
+ html: wv,
+ lheading: jp,
+ list: Cv,
+ newline: dv,
+ paragraph: Yp,
+ table: Fi,
+ text: bv
+}, zc = pt(
+ "^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"
+).replace("hr", Qi).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oa).getRegex(), kv = {
+ ...sl,
+ lheading: xv,
+ table: zc,
+ paragraph: pt(il).replace("hr", Qi).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", zc).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oa).getRegex()
+}, Sv = {
+ ...sl,
+ html: pt(
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
+ ).replace("comment", al).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
+ def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
+ heading: /^(#{1,6})(.*)(?:\n+|$)/,
+ fences: Fi,
+ // fences not supported
+ lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
+ paragraph: pt(il).replace("hr", Qi).replace("heading", ` *#{1,6} *[^
+]`).replace("lheading", jp).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
+}, Tv = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Bv = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Up = /^( {2,}|\\)\n(?!\s*$)/, Lv = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g, Vp = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, $v = pt(Vp, "u").replace(/punct/g, Da).getRegex(), Ov = pt(Vp, "u").replace(/punct/g, Xp).getRegex(), Zp = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Dv = pt(Zp, "gu").replace(/notPunctSpace/g, Gp).replace(/punctSpace/g, ol).replace(/punct/g, Da).getRegex(), Rv = pt(Zp, "gu").replace(/notPunctSpace/g, Ev).replace(/punctSpace/g, Mv).replace(/punct/g, Xp).getRegex(), Iv = pt(
+ "^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)",
+ "gu"
+).replace(/notPunctSpace/g, Gp).replace(/punctSpace/g, ol).replace(/punct/g, Da).getRegex(), Pv = pt(/\\(punct)/, "gu").replace(/punct/g, Da).getRegex(), Nv = pt(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), zv = pt(al).replace("(?:-->|$)", "-->").getRegex(), Wv = pt(
+ "^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^"
+).replace("comment", zv).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), sa = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, qv = pt(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", sa).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Kp = pt(/^!?\[(label)\]\[(ref)\]/).replace("label", sa).replace("ref", nl).getRegex(), Qp = pt(/^!?\[(ref)\](?:\[\])?/).replace("ref", nl).getRegex(), Hv = pt("reflink|nolink(?!\\()", "g").replace("reflink", Kp).replace("nolink", Qp).getRegex(), ll = {
+ _backpedal: Fi,
+ // only used for GFM url
+ anyPunctuation: Pv,
+ autolink: Nv,
+ blockSkip: Fv,
+ br: Up,
+ code: Bv,
+ del: Fi,
+ emStrongLDelim: $v,
+ emStrongRDelimAst: Dv,
+ emStrongRDelimUnd: Iv,
+ escape: Tv,
+ link: qv,
+ nolink: Qp,
+ punctuation: Av,
+ reflink: Kp,
+ reflinkSearch: Hv,
+ tag: Wv,
+ text: Lv,
+ url: Fi
+}, jv = {
+ ...ll,
+ link: pt(/^!?\[(label)\]\((.*?)\)/).replace("label", sa).getRegex(),
+ reflink: pt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", sa).getRegex()
+}, Qs = {
+ ...ll,
+ emStrongRDelimAst: Rv,
+ emStrongLDelim: Ov,
+ url: pt(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i").replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
+ _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
+ del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,
+ text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\": ">",
+ '"': """,
+ "'": "'"
+}, Wc = (e) => Uv[e];
+function me(e, t) {
+ if (t) {
+ if (jt.escapeTest.test(e))
+ return e.replace(jt.escapeReplace, Wc);
+ } else if (jt.escapeTestNoEncode.test(e))
+ return e.replace(jt.escapeReplaceNoEncode, Wc);
+ return e;
+}
+function qc(e) {
+ try {
+ e = encodeURI(e).replace(jt.percentDecode, "%");
+ } catch {
+ return null;
+ }
+ return e;
+}
+function Hc(e, t) {
+ var a;
+ const r = e.replace(jt.findPipe, (o, s, l) => {
+ let c = !1, h = s;
+ for (; --h >= 0 && l[h] === "\\"; ) c = !c;
+ return c ? "|" : " |";
+ }), i = r.split(jt.splitPipe);
+ let n = 0;
+ if (i[0].trim() || i.shift(), i.length > 0 && !((a = i.at(-1)) != null && a.trim()) && i.pop(), t)
+ if (i.length > t)
+ i.splice(t);
+ else
+ for (; i.length < t; ) i.push("");
+ for (; n < i.length; n++)
+ i[n] = i[n].trim().replace(jt.slashPipe, "|");
+ return i;
+}
+function mi(e, t, r) {
+ const i = e.length;
+ if (i === 0)
+ return "";
+ let n = 0;
+ for (; n < i && e.charAt(i - n - 1) === t; )
+ n++;
+ return e.slice(0, i - n);
+}
+function Gv(e, t) {
+ if (e.indexOf(t[1]) === -1)
+ return -1;
+ let r = 0;
+ for (let i = 0; i < e.length; i++)
+ if (e[i] === "\\")
+ i++;
+ else if (e[i] === t[0])
+ r++;
+ else if (e[i] === t[1] && (r--, r < 0))
+ return i;
+ return r > 0 ? -2 : -1;
+}
+function jc(e, t, r, i, n) {
+ const a = t.href, o = t.title || null, s = e[1].replace(n.other.outputLinkReplace, "$1");
+ i.state.inLink = !0;
+ const l = {
+ type: e[0].charAt(0) === "!" ? "image" : "link",
+ raw: r,
+ href: a,
+ title: o,
+ text: s,
+ tokens: i.inlineTokens(s)
+ };
+ return i.state.inLink = !1, l;
+}
+function Xv(e, t, r) {
+ const i = e.match(r.other.indentCodeCompensation);
+ if (i === null)
+ return t;
+ const n = i[1];
+ return t.split(`
+`).map((a) => {
+ const o = a.match(r.other.beginningSpace);
+ if (o === null)
+ return a;
+ const [s] = o;
+ return s.length >= n.length ? a.slice(n.length) : a;
+ }).join(`
+`);
+}
+var oa = class {
+ // set by the lexer
+ constructor(e) {
+ gt(this, "options");
+ gt(this, "rules");
+ // set by the lexer
+ gt(this, "lexer");
+ this.options = e || br;
+ }
+ space(e) {
+ const t = this.rules.block.newline.exec(e);
+ if (t && t[0].length > 0)
+ return {
+ type: "space",
+ raw: t[0]
+ };
+ }
+ code(e) {
+ const t = this.rules.block.code.exec(e);
+ if (t) {
+ const r = t[0].replace(this.rules.other.codeRemoveIndent, "");
+ return {
+ type: "code",
+ raw: t[0],
+ codeBlockStyle: "indented",
+ text: this.options.pedantic ? r : mi(r, `
+`)
+ };
+ }
+ }
+ fences(e) {
+ const t = this.rules.block.fences.exec(e);
+ if (t) {
+ const r = t[0], i = Xv(r, t[3] || "", this.rules);
+ return {
+ type: "code",
+ raw: r,
+ lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2],
+ text: i
+ };
+ }
+ }
+ heading(e) {
+ const t = this.rules.block.heading.exec(e);
+ if (t) {
+ let r = t[2].trim();
+ if (this.rules.other.endingHash.test(r)) {
+ const i = mi(r, "#");
+ (this.options.pedantic || !i || this.rules.other.endingSpaceChar.test(i)) && (r = i.trim());
+ }
+ return {
+ type: "heading",
+ raw: t[0],
+ depth: t[1].length,
+ text: r,
+ tokens: this.lexer.inline(r)
+ };
+ }
+ }
+ hr(e) {
+ const t = this.rules.block.hr.exec(e);
+ if (t)
+ return {
+ type: "hr",
+ raw: mi(t[0], `
+`)
+ };
+ }
+ blockquote(e) {
+ const t = this.rules.block.blockquote.exec(e);
+ if (t) {
+ let r = mi(t[0], `
+`).split(`
+`), i = "", n = "";
+ const a = [];
+ for (; r.length > 0; ) {
+ let o = !1;
+ const s = [];
+ let l;
+ for (l = 0; l < r.length; l++)
+ if (this.rules.other.blockquoteStart.test(r[l]))
+ s.push(r[l]), o = !0;
+ else if (!o)
+ s.push(r[l]);
+ else
+ break;
+ r = r.slice(l);
+ const c = s.join(`
+`), h = c.replace(this.rules.other.blockquoteSetextReplace, `
+ $1`).replace(this.rules.other.blockquoteSetextReplace2, "");
+ i = i ? `${i}
+${c}` : c, n = n ? `${n}
+${h}` : h;
+ const u = this.lexer.state.top;
+ if (this.lexer.state.top = !0, this.lexer.blockTokens(h, a, !0), this.lexer.state.top = u, r.length === 0)
+ break;
+ const f = a.at(-1);
+ if ((f == null ? void 0 : f.type) === "code")
+ break;
+ if ((f == null ? void 0 : f.type) === "blockquote") {
+ const p = f, g = p.raw + `
+` + r.join(`
+`), m = this.blockquote(g);
+ a[a.length - 1] = m, i = i.substring(0, i.length - p.raw.length) + m.raw, n = n.substring(0, n.length - p.text.length) + m.text;
+ break;
+ } else if ((f == null ? void 0 : f.type) === "list") {
+ const p = f, g = p.raw + `
+` + r.join(`
+`), m = this.list(g);
+ a[a.length - 1] = m, i = i.substring(0, i.length - f.raw.length) + m.raw, n = n.substring(0, n.length - p.raw.length) + m.raw, r = g.substring(a.at(-1).raw.length).split(`
+`);
+ continue;
+ }
+ }
+ return {
+ type: "blockquote",
+ raw: i,
+ tokens: a,
+ text: n
+ };
+ }
+ }
+ list(e) {
+ let t = this.rules.block.list.exec(e);
+ if (t) {
+ let r = t[1].trim();
+ const i = r.length > 1, n = {
+ type: "list",
+ raw: "",
+ ordered: i,
+ start: i ? +r.slice(0, -1) : "",
+ loose: !1,
+ items: []
+ };
+ r = i ? `\\d{1,9}\\${r.slice(-1)}` : `\\${r}`, this.options.pedantic && (r = i ? r : "[*+-]");
+ const a = this.rules.other.listItemRegex(r);
+ let o = !1;
+ for (; e; ) {
+ let l = !1, c = "", h = "";
+ if (!(t = a.exec(e)) || this.rules.block.hr.test(e))
+ break;
+ c = t[0], e = e.substring(c.length);
+ let u = t[2].split(`
+`, 1)[0].replace(this.rules.other.listReplaceTabs, (x) => " ".repeat(3 * x.length)), f = e.split(`
+`, 1)[0], p = !u.trim(), g = 0;
+ if (this.options.pedantic ? (g = 2, h = u.trimStart()) : p ? g = t[1].length + 1 : (g = t[2].search(this.rules.other.nonSpaceChar), g = g > 4 ? 1 : g, h = u.slice(g), g += t[1].length), p && this.rules.other.blankLine.test(f) && (c += f + `
+`, e = e.substring(f.length + 1), l = !0), !l) {
+ const x = this.rules.other.nextBulletRegex(g), b = this.rules.other.hrRegex(g), C = this.rules.other.fencesBeginRegex(g), k = this.rules.other.headingBeginRegex(g), v = this.rules.other.htmlBeginRegex(g);
+ for (; e; ) {
+ const _ = e.split(`
+`, 1)[0];
+ let S;
+ if (f = _, this.options.pedantic ? (f = f.replace(this.rules.other.listReplaceNesting, " "), S = f) : S = f.replace(this.rules.other.tabCharGlobal, " "), C.test(f) || k.test(f) || v.test(f) || x.test(f) || b.test(f))
+ break;
+ if (S.search(this.rules.other.nonSpaceChar) >= g || !f.trim())
+ h += `
+` + S.slice(g);
+ else {
+ if (p || u.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || C.test(u) || k.test(u) || b.test(u))
+ break;
+ h += `
+` + f;
+ }
+ !p && !f.trim() && (p = !0), c += _ + `
+`, e = e.substring(_.length + 1), u = S.slice(g);
+ }
+ }
+ n.loose || (o ? n.loose = !0 : this.rules.other.doubleBlankLine.test(c) && (o = !0));
+ let m = null, y;
+ this.options.gfm && (m = this.rules.other.listIsTask.exec(h), m && (y = m[0] !== "[ ] ", h = h.replace(this.rules.other.listReplaceTask, ""))), n.items.push({
+ type: "list_item",
+ raw: c,
+ task: !!m,
+ checked: y,
+ loose: !1,
+ text: h,
+ tokens: []
+ }), n.raw += c;
+ }
+ const s = n.items.at(-1);
+ if (s)
+ s.raw = s.raw.trimEnd(), s.text = s.text.trimEnd();
+ else
+ return;
+ n.raw = n.raw.trimEnd();
+ for (let l = 0; l < n.items.length; l++)
+ if (this.lexer.state.top = !1, n.items[l].tokens = this.lexer.blockTokens(n.items[l].text, []), !n.loose) {
+ const c = n.items[l].tokens.filter((u) => u.type === "space"), h = c.length > 0 && c.some((u) => this.rules.other.anyLine.test(u.raw));
+ n.loose = h;
+ }
+ if (n.loose)
+ for (let l = 0; l < n.items.length; l++)
+ n.items[l].loose = !0;
+ return n;
+ }
+ }
+ html(e) {
+ const t = this.rules.block.html.exec(e);
+ if (t)
+ return {
+ type: "html",
+ block: !0,
+ raw: t[0],
+ pre: t[1] === "pre" || t[1] === "script" || t[1] === "style",
+ text: t[0]
+ };
+ }
+ def(e) {
+ const t = this.rules.block.def.exec(e);
+ if (t) {
+ const r = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), i = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", n = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
+ return {
+ type: "def",
+ tag: r,
+ raw: t[0],
+ href: i,
+ title: n
+ };
+ }
+ }
+ table(e) {
+ var o;
+ const t = this.rules.block.table.exec(e);
+ if (!t || !this.rules.other.tableDelimiter.test(t[2]))
+ return;
+ const r = Hc(t[1]), i = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), n = (o = t[3]) != null && o.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split(`
+`) : [], a = {
+ type: "table",
+ raw: t[0],
+ header: [],
+ align: [],
+ rows: []
+ };
+ if (r.length === i.length) {
+ for (const s of i)
+ this.rules.other.tableAlignRight.test(s) ? a.align.push("right") : this.rules.other.tableAlignCenter.test(s) ? a.align.push("center") : this.rules.other.tableAlignLeft.test(s) ? a.align.push("left") : a.align.push(null);
+ for (let s = 0; s < r.length; s++)
+ a.header.push({
+ text: r[s],
+ tokens: this.lexer.inline(r[s]),
+ header: !0,
+ align: a.align[s]
+ });
+ for (const s of n)
+ a.rows.push(Hc(s, a.header.length).map((l, c) => ({
+ text: l,
+ tokens: this.lexer.inline(l),
+ header: !1,
+ align: a.align[c]
+ })));
+ return a;
+ }
+ }
+ lheading(e) {
+ const t = this.rules.block.lheading.exec(e);
+ if (t)
+ return {
+ type: "heading",
+ raw: t[0],
+ depth: t[2].charAt(0) === "=" ? 1 : 2,
+ text: t[1],
+ tokens: this.lexer.inline(t[1])
+ };
+ }
+ paragraph(e) {
+ const t = this.rules.block.paragraph.exec(e);
+ if (t) {
+ const r = t[1].charAt(t[1].length - 1) === `
+` ? t[1].slice(0, -1) : t[1];
+ return {
+ type: "paragraph",
+ raw: t[0],
+ text: r,
+ tokens: this.lexer.inline(r)
+ };
+ }
+ }
+ text(e) {
+ const t = this.rules.block.text.exec(e);
+ if (t)
+ return {
+ type: "text",
+ raw: t[0],
+ text: t[0],
+ tokens: this.lexer.inline(t[0])
+ };
+ }
+ escape(e) {
+ const t = this.rules.inline.escape.exec(e);
+ if (t)
+ return {
+ type: "escape",
+ raw: t[0],
+ text: t[1]
+ };
+ }
+ tag(e) {
+ const t = this.rules.inline.tag.exec(e);
+ if (t)
+ return !this.lexer.state.inLink && this.rules.other.startATag.test(t[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(t[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t[0]) && (this.lexer.state.inRawBlock = !1), {
+ type: "html",
+ raw: t[0],
+ inLink: this.lexer.state.inLink,
+ inRawBlock: this.lexer.state.inRawBlock,
+ block: !1,
+ text: t[0]
+ };
+ }
+ link(e) {
+ const t = this.rules.inline.link.exec(e);
+ if (t) {
+ const r = t[2].trim();
+ if (!this.options.pedantic && this.rules.other.startAngleBracket.test(r)) {
+ if (!this.rules.other.endAngleBracket.test(r))
+ return;
+ const a = mi(r.slice(0, -1), "\\");
+ if ((r.length - a.length) % 2 === 0)
+ return;
+ } else {
+ const a = Gv(t[2], "()");
+ if (a === -2)
+ return;
+ if (a > -1) {
+ const s = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + a;
+ t[2] = t[2].substring(0, a), t[0] = t[0].substring(0, s).trim(), t[3] = "";
+ }
+ }
+ let i = t[2], n = "";
+ if (this.options.pedantic) {
+ const a = this.rules.other.pedanticHrefTitle.exec(i);
+ a && (i = a[1], n = a[3]);
+ } else
+ n = t[3] ? t[3].slice(1, -1) : "";
+ return i = i.trim(), this.rules.other.startAngleBracket.test(i) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(r) ? i = i.slice(1) : i = i.slice(1, -1)), jc(t, {
+ href: i && i.replace(this.rules.inline.anyPunctuation, "$1"),
+ title: n && n.replace(this.rules.inline.anyPunctuation, "$1")
+ }, t[0], this.lexer, this.rules);
+ }
+ }
+ reflink(e, t) {
+ let r;
+ if ((r = this.rules.inline.reflink.exec(e)) || (r = this.rules.inline.nolink.exec(e))) {
+ const i = (r[2] || r[1]).replace(this.rules.other.multipleSpaceGlobal, " "), n = t[i.toLowerCase()];
+ if (!n) {
+ const a = r[0].charAt(0);
+ return {
+ type: "text",
+ raw: a,
+ text: a
+ };
+ }
+ return jc(r, n, r[0], this.lexer, this.rules);
+ }
+ }
+ emStrong(e, t, r = "") {
+ let i = this.rules.inline.emStrongLDelim.exec(e);
+ if (!i || i[3] && r.match(this.rules.other.unicodeAlphaNumeric)) return;
+ if (!(i[1] || i[2] || "") || !r || this.rules.inline.punctuation.exec(r)) {
+ const a = [...i[0]].length - 1;
+ let o, s, l = a, c = 0;
+ const h = i[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
+ for (h.lastIndex = 0, t = t.slice(-1 * e.length + a); (i = h.exec(t)) != null; ) {
+ if (o = i[1] || i[2] || i[3] || i[4] || i[5] || i[6], !o) continue;
+ if (s = [...o].length, i[3] || i[4]) {
+ l += s;
+ continue;
+ } else if ((i[5] || i[6]) && a % 3 && !((a + s) % 3)) {
+ c += s;
+ continue;
+ }
+ if (l -= s, l > 0) continue;
+ s = Math.min(s, s + l + c);
+ const u = [...i[0]][0].length, f = e.slice(0, a + i.index + u + s);
+ if (Math.min(a, s) % 2) {
+ const g = f.slice(1, -1);
+ return {
+ type: "em",
+ raw: f,
+ text: g,
+ tokens: this.lexer.inlineTokens(g)
+ };
+ }
+ const p = f.slice(2, -2);
+ return {
+ type: "strong",
+ raw: f,
+ text: p,
+ tokens: this.lexer.inlineTokens(p)
+ };
+ }
+ }
+ }
+ codespan(e) {
+ const t = this.rules.inline.code.exec(e);
+ if (t) {
+ let r = t[2].replace(this.rules.other.newLineCharGlobal, " ");
+ const i = this.rules.other.nonSpaceChar.test(r), n = this.rules.other.startingSpaceChar.test(r) && this.rules.other.endingSpaceChar.test(r);
+ return i && n && (r = r.substring(1, r.length - 1)), {
+ type: "codespan",
+ raw: t[0],
+ text: r
+ };
+ }
+ }
+ br(e) {
+ const t = this.rules.inline.br.exec(e);
+ if (t)
+ return {
+ type: "br",
+ raw: t[0]
+ };
+ }
+ del(e) {
+ const t = this.rules.inline.del.exec(e);
+ if (t)
+ return {
+ type: "del",
+ raw: t[0],
+ text: t[2],
+ tokens: this.lexer.inlineTokens(t[2])
+ };
+ }
+ autolink(e) {
+ const t = this.rules.inline.autolink.exec(e);
+ if (t) {
+ let r, i;
+ return t[2] === "@" ? (r = t[1], i = "mailto:" + r) : (r = t[1], i = r), {
+ type: "link",
+ raw: t[0],
+ text: r,
+ href: i,
+ tokens: [
+ {
+ type: "text",
+ raw: r,
+ text: r
+ }
+ ]
+ };
+ }
+ }
+ url(e) {
+ var r;
+ let t;
+ if (t = this.rules.inline.url.exec(e)) {
+ let i, n;
+ if (t[2] === "@")
+ i = t[0], n = "mailto:" + i;
+ else {
+ let a;
+ do
+ a = t[0], t[0] = ((r = this.rules.inline._backpedal.exec(t[0])) == null ? void 0 : r[0]) ?? "";
+ while (a !== t[0]);
+ i = t[0], t[1] === "www." ? n = "http://" + t[0] : n = t[0];
+ }
+ return {
+ type: "link",
+ raw: t[0],
+ text: i,
+ href: n,
+ tokens: [
+ {
+ type: "text",
+ raw: i,
+ text: i
+ }
+ ]
+ };
+ }
+ }
+ inlineText(e) {
+ const t = this.rules.inline.text.exec(e);
+ if (t) {
+ const r = this.lexer.state.inRawBlock;
+ return {
+ type: "text",
+ raw: t[0],
+ text: t[0],
+ escaped: r
+ };
+ }
+ }
+}, $e = class Js {
+ constructor(t) {
+ gt(this, "tokens");
+ gt(this, "options");
+ gt(this, "state");
+ gt(this, "tokenizer");
+ gt(this, "inlineQueue");
+ this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = t || br, this.options.tokenizer = this.options.tokenizer || new oa(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
+ inLink: !1,
+ inRawBlock: !1,
+ top: !0
+ };
+ const r = {
+ other: jt,
+ block: gn.normal,
+ inline: gi.normal
+ };
+ this.options.pedantic ? (r.block = gn.pedantic, r.inline = gi.pedantic) : this.options.gfm && (r.block = gn.gfm, this.options.breaks ? r.inline = gi.breaks : r.inline = gi.gfm), this.tokenizer.rules = r;
+ }
+ /**
+ * Expose Rules
+ */
+ static get rules() {
+ return {
+ block: gn,
+ inline: gi
+ };
+ }
+ /**
+ * Static Lex Method
+ */
+ static lex(t, r) {
+ return new Js(r).lex(t);
+ }
+ /**
+ * Static Lex Inline Method
+ */
+ static lexInline(t, r) {
+ return new Js(r).inlineTokens(t);
+ }
+ /**
+ * Preprocessing
+ */
+ lex(t) {
+ t = t.replace(jt.carriageReturn, `
+`), this.blockTokens(t, this.tokens);
+ for (let r = 0; r < this.inlineQueue.length; r++) {
+ const i = this.inlineQueue[r];
+ this.inlineTokens(i.src, i.tokens);
+ }
+ return this.inlineQueue = [], this.tokens;
+ }
+ blockTokens(t, r = [], i = !1) {
+ var n, a, o;
+ for (this.options.pedantic && (t = t.replace(jt.tabCharGlobal, " ").replace(jt.spaceLine, "")); t; ) {
+ let s;
+ if ((a = (n = this.options.extensions) == null ? void 0 : n.block) != null && a.some((c) => (s = c.call({ lexer: this }, t, r)) ? (t = t.substring(s.raw.length), r.push(s), !0) : !1))
+ continue;
+ if (s = this.tokenizer.space(t)) {
+ t = t.substring(s.raw.length);
+ const c = r.at(-1);
+ s.raw.length === 1 && c !== void 0 ? c.raw += `
+` : r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.code(t)) {
+ t = t.substring(s.raw.length);
+ const c = r.at(-1);
+ (c == null ? void 0 : c.type) === "paragraph" || (c == null ? void 0 : c.type) === "text" ? (c.raw += `
+` + s.raw, c.text += `
+` + s.text, this.inlineQueue.at(-1).src = c.text) : r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.fences(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.heading(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.hr(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.blockquote(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.list(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.html(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.def(t)) {
+ t = t.substring(s.raw.length);
+ const c = r.at(-1);
+ (c == null ? void 0 : c.type) === "paragraph" || (c == null ? void 0 : c.type) === "text" ? (c.raw += `
+` + s.raw, c.text += `
+` + s.raw, this.inlineQueue.at(-1).src = c.text) : this.tokens.links[s.tag] || (this.tokens.links[s.tag] = {
+ href: s.href,
+ title: s.title
+ });
+ continue;
+ }
+ if (s = this.tokenizer.table(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ if (s = this.tokenizer.lheading(t)) {
+ t = t.substring(s.raw.length), r.push(s);
+ continue;
+ }
+ let l = t;
+ if ((o = this.options.extensions) != null && o.startBlock) {
+ let c = 1 / 0;
+ const h = t.slice(1);
+ let u;
+ this.options.extensions.startBlock.forEach((f) => {
+ u = f.call({ lexer: this }, h), typeof u == "number" && u >= 0 && (c = Math.min(c, u));
+ }), c < 1 / 0 && c >= 0 && (l = t.substring(0, c + 1));
+ }
+ if (this.state.top && (s = this.tokenizer.paragraph(l))) {
+ const c = r.at(-1);
+ i && (c == null ? void 0 : c.type) === "paragraph" ? (c.raw += `
+` + s.raw, c.text += `
+` + s.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = c.text) : r.push(s), i = l.length !== t.length, t = t.substring(s.raw.length);
+ continue;
+ }
+ if (s = this.tokenizer.text(t)) {
+ t = t.substring(s.raw.length);
+ const c = r.at(-1);
+ (c == null ? void 0 : c.type) === "text" ? (c.raw += `
+` + s.raw, c.text += `
+` + s.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = c.text) : r.push(s);
+ continue;
+ }
+ if (t) {
+ const c = "Infinite loop on byte: " + t.charCodeAt(0);
+ if (this.options.silent) {
+ console.error(c);
+ break;
+ } else
+ throw new Error(c);
+ }
+ }
+ return this.state.top = !0, r;
+ }
+ inline(t, r = []) {
+ return this.inlineQueue.push({ src: t, tokens: r }), r;
+ }
+ /**
+ * Lexing/Compiling
+ */
+ inlineTokens(t, r = []) {
+ var s, l, c;
+ let i = t, n = null;
+ if (this.tokens.links) {
+ const h = Object.keys(this.tokens.links);
+ if (h.length > 0)
+ for (; (n = this.tokenizer.rules.inline.reflinkSearch.exec(i)) != null; )
+ h.includes(n[0].slice(n[0].lastIndexOf("[") + 1, -1)) && (i = i.slice(0, n.index) + "[" + "a".repeat(n[0].length - 2) + "]" + i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
+ }
+ for (; (n = this.tokenizer.rules.inline.anyPunctuation.exec(i)) != null; )
+ i = i.slice(0, n.index) + "++" + i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
+ for (; (n = this.tokenizer.rules.inline.blockSkip.exec(i)) != null; )
+ i = i.slice(0, n.index) + "[" + "a".repeat(n[0].length - 2) + "]" + i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
+ let a = !1, o = "";
+ for (; t; ) {
+ a || (o = ""), a = !1;
+ let h;
+ if ((l = (s = this.options.extensions) == null ? void 0 : s.inline) != null && l.some((f) => (h = f.call({ lexer: this }, t, r)) ? (t = t.substring(h.raw.length), r.push(h), !0) : !1))
+ continue;
+ if (h = this.tokenizer.escape(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.tag(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.link(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.reflink(t, this.tokens.links)) {
+ t = t.substring(h.raw.length);
+ const f = r.at(-1);
+ h.type === "text" && (f == null ? void 0 : f.type) === "text" ? (f.raw += h.raw, f.text += h.text) : r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.emStrong(t, i, o)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.codespan(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.br(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.del(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (h = this.tokenizer.autolink(t)) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ if (!this.state.inLink && (h = this.tokenizer.url(t))) {
+ t = t.substring(h.raw.length), r.push(h);
+ continue;
+ }
+ let u = t;
+ if ((c = this.options.extensions) != null && c.startInline) {
+ let f = 1 / 0;
+ const p = t.slice(1);
+ let g;
+ this.options.extensions.startInline.forEach((m) => {
+ g = m.call({ lexer: this }, p), typeof g == "number" && g >= 0 && (f = Math.min(f, g));
+ }), f < 1 / 0 && f >= 0 && (u = t.substring(0, f + 1));
+ }
+ if (h = this.tokenizer.inlineText(u)) {
+ t = t.substring(h.raw.length), h.raw.slice(-1) !== "_" && (o = h.raw.slice(-1)), a = !0;
+ const f = r.at(-1);
+ (f == null ? void 0 : f.type) === "text" ? (f.raw += h.raw, f.text += h.text) : r.push(h);
+ continue;
+ }
+ if (t) {
+ const f = "Infinite loop on byte: " + t.charCodeAt(0);
+ if (this.options.silent) {
+ console.error(f);
+ break;
+ } else
+ throw new Error(f);
+ }
+ }
+ return r;
+ }
+}, la = class {
+ // set by the parser
+ constructor(e) {
+ gt(this, "options");
+ gt(this, "parser");
+ this.options = e || br;
+ }
+ space(e) {
+ return "";
+ }
+ code({ text: e, lang: t, escaped: r }) {
+ var a;
+ const i = (a = (t || "").match(jt.notSpaceStart)) == null ? void 0 : a[0], n = e.replace(jt.endingNewline, "") + `
+`;
+ return i ? '' + (r ? n : me(n, !0)) + `
+` : "" + (r ? n : me(n, !0)) + `
+`;
+ }
+ blockquote({ tokens: e }) {
+ return `
+${this.parser.parse(e)}
+`;
+ }
+ html({ text: e }) {
+ return e;
+ }
+ heading({ tokens: e, depth: t }) {
+ return `${this.parser.parseInline(e)}
+`;
+ }
+ hr(e) {
+ return `
+`;
+ }
+ list(e) {
+ const t = e.ordered, r = e.start;
+ let i = "";
+ for (let o = 0; o < e.items.length; o++) {
+ const s = e.items[o];
+ i += this.listitem(s);
+ }
+ const n = t ? "ol" : "ul", a = t && r !== 1 ? ' start="' + r + '"' : "";
+ return "<" + n + a + `>
+` + i + "" + n + `>
+`;
+ }
+ listitem(e) {
+ var r;
+ let t = "";
+ if (e.task) {
+ const i = this.checkbox({ checked: !!e.checked });
+ e.loose ? ((r = e.tokens[0]) == null ? void 0 : r.type) === "paragraph" ? (e.tokens[0].text = i + " " + e.tokens[0].text, e.tokens[0].tokens && e.tokens[0].tokens.length > 0 && e.tokens[0].tokens[0].type === "text" && (e.tokens[0].tokens[0].text = i + " " + me(e.tokens[0].tokens[0].text), e.tokens[0].tokens[0].escaped = !0)) : e.tokens.unshift({
+ type: "text",
+ raw: i + " ",
+ text: i + " ",
+ escaped: !0
+ }) : t += i + " ";
+ }
+ return t += this.parser.parse(e.tokens, !!e.loose), `${t}
+`;
+ }
+ checkbox({ checked: e }) {
+ return "';
+ }
+ paragraph({ tokens: e }) {
+ return `${this.parser.parseInline(e)}
+`;
+ }
+ table(e) {
+ let t = "", r = "";
+ for (let n = 0; n < e.header.length; n++)
+ r += this.tablecell(e.header[n]);
+ t += this.tablerow({ text: r });
+ let i = "";
+ for (let n = 0; n < e.rows.length; n++) {
+ const a = e.rows[n];
+ r = "";
+ for (let o = 0; o < a.length; o++)
+ r += this.tablecell(a[o]);
+ i += this.tablerow({ text: r });
+ }
+ return i && (i = `${i}`), `
+`;
+ }
+ tablerow({ text: e }) {
+ return `
+${e}
+`;
+ }
+ tablecell(e) {
+ const t = this.parser.parseInline(e.tokens), r = e.header ? "th" : "td";
+ return (e.align ? `<${r} align="${e.align}">` : `<${r}>`) + t + `${r}>
+`;
+ }
+ /**
+ * span level renderer
+ */
+ strong({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ em({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ codespan({ text: e }) {
+ return `${me(e, !0)}
`;
+ }
+ br(e) {
+ return "
";
+ }
+ del({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ link({ href: e, title: t, tokens: r }) {
+ const i = this.parser.parseInline(r), n = qc(e);
+ if (n === null)
+ return i;
+ e = n;
+ let a = '" + i + "", a;
+ }
+ image({ href: e, title: t, text: r, tokens: i }) {
+ i && (r = this.parser.parseInline(i, this.parser.textRenderer));
+ const n = qc(e);
+ if (n === null)
+ return me(r);
+ e = n;
+ let a = `
", a;
+ }
+ text(e) {
+ return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : me(e.text);
+ }
+}, cl = class {
+ // no need for block level renderers
+ strong({ text: e }) {
+ return e;
+ }
+ em({ text: e }) {
+ return e;
+ }
+ codespan({ text: e }) {
+ return e;
+ }
+ del({ text: e }) {
+ return e;
+ }
+ html({ text: e }) {
+ return e;
+ }
+ text({ text: e }) {
+ return e;
+ }
+ link({ text: e }) {
+ return "" + e;
+ }
+ image({ text: e }) {
+ return "" + e;
+ }
+ br() {
+ return "";
+ }
+}, Oe = class to {
+ constructor(t) {
+ gt(this, "options");
+ gt(this, "renderer");
+ gt(this, "textRenderer");
+ this.options = t || br, this.options.renderer = this.options.renderer || new la(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new cl();
+ }
+ /**
+ * Static Parse Method
+ */
+ static parse(t, r) {
+ return new to(r).parse(t);
+ }
+ /**
+ * Static Parse Inline Method
+ */
+ static parseInline(t, r) {
+ return new to(r).parseInline(t);
+ }
+ /**
+ * Parse Loop
+ */
+ parse(t, r = !0) {
+ var n, a;
+ let i = "";
+ for (let o = 0; o < t.length; o++) {
+ const s = t[o];
+ if ((a = (n = this.options.extensions) == null ? void 0 : n.renderers) != null && a[s.type]) {
+ const c = s, h = this.options.extensions.renderers[c.type].call({ parser: this }, c);
+ if (h !== !1 || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(c.type)) {
+ i += h || "";
+ continue;
+ }
+ }
+ const l = s;
+ switch (l.type) {
+ case "space": {
+ i += this.renderer.space(l);
+ continue;
+ }
+ case "hr": {
+ i += this.renderer.hr(l);
+ continue;
+ }
+ case "heading": {
+ i += this.renderer.heading(l);
+ continue;
+ }
+ case "code": {
+ i += this.renderer.code(l);
+ continue;
+ }
+ case "table": {
+ i += this.renderer.table(l);
+ continue;
+ }
+ case "blockquote": {
+ i += this.renderer.blockquote(l);
+ continue;
+ }
+ case "list": {
+ i += this.renderer.list(l);
+ continue;
+ }
+ case "html": {
+ i += this.renderer.html(l);
+ continue;
+ }
+ case "paragraph": {
+ i += this.renderer.paragraph(l);
+ continue;
+ }
+ case "text": {
+ let c = l, h = this.renderer.text(c);
+ for (; o + 1 < t.length && t[o + 1].type === "text"; )
+ c = t[++o], h += `
+` + this.renderer.text(c);
+ r ? i += this.renderer.paragraph({
+ type: "paragraph",
+ raw: h,
+ text: h,
+ tokens: [{ type: "text", raw: h, text: h, escaped: !0 }]
+ }) : i += h;
+ continue;
+ }
+ default: {
+ const c = 'Token with "' + l.type + '" type was not found.';
+ if (this.options.silent)
+ return console.error(c), "";
+ throw new Error(c);
+ }
+ }
+ }
+ return i;
+ }
+ /**
+ * Parse Inline Tokens
+ */
+ parseInline(t, r = this.renderer) {
+ var n, a;
+ let i = "";
+ for (let o = 0; o < t.length; o++) {
+ const s = t[o];
+ if ((a = (n = this.options.extensions) == null ? void 0 : n.renderers) != null && a[s.type]) {
+ const c = this.options.extensions.renderers[s.type].call({ parser: this }, s);
+ if (c !== !1 || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(s.type)) {
+ i += c || "";
+ continue;
+ }
+ }
+ const l = s;
+ switch (l.type) {
+ case "escape": {
+ i += r.text(l);
+ break;
+ }
+ case "html": {
+ i += r.html(l);
+ break;
+ }
+ case "link": {
+ i += r.link(l);
+ break;
+ }
+ case "image": {
+ i += r.image(l);
+ break;
+ }
+ case "strong": {
+ i += r.strong(l);
+ break;
+ }
+ case "em": {
+ i += r.em(l);
+ break;
+ }
+ case "codespan": {
+ i += r.codespan(l);
+ break;
+ }
+ case "br": {
+ i += r.br(l);
+ break;
+ }
+ case "del": {
+ i += r.del(l);
+ break;
+ }
+ case "text": {
+ i += r.text(l);
+ break;
+ }
+ default: {
+ const c = 'Token with "' + l.type + '" type was not found.';
+ if (this.options.silent)
+ return console.error(c), "";
+ throw new Error(c);
+ }
+ }
+ }
+ return i;
+ }
+}, xs, An = (xs = class {
+ constructor(e) {
+ gt(this, "options");
+ gt(this, "block");
+ this.options = e || br;
+ }
+ /**
+ * Process markdown before marked
+ */
+ preprocess(e) {
+ return e;
+ }
+ /**
+ * Process HTML after marked is finished
+ */
+ postprocess(e) {
+ return e;
+ }
+ /**
+ * Process all tokens before walk tokens
+ */
+ processAllTokens(e) {
+ return e;
+ }
+ /**
+ * Provide function to tokenize markdown
+ */
+ provideLexer() {
+ return this.block ? $e.lex : $e.lexInline;
+ }
+ /**
+ * Provide function to parse tokens
+ */
+ provideParser() {
+ return this.block ? Oe.parse : Oe.parseInline;
+ }
+}, gt(xs, "passThroughHooks", /* @__PURE__ */ new Set([
+ "preprocess",
+ "postprocess",
+ "processAllTokens"
+])), xs), Vv = class {
+ constructor(...e) {
+ gt(this, "defaults", el());
+ gt(this, "options", this.setOptions);
+ gt(this, "parse", this.parseMarkdown(!0));
+ gt(this, "parseInline", this.parseMarkdown(!1));
+ gt(this, "Parser", Oe);
+ gt(this, "Renderer", la);
+ gt(this, "TextRenderer", cl);
+ gt(this, "Lexer", $e);
+ gt(this, "Tokenizer", oa);
+ gt(this, "Hooks", An);
+ this.use(...e);
+ }
+ /**
+ * Run callback for every token
+ */
+ walkTokens(e, t) {
+ var i, n;
+ let r = [];
+ for (const a of e)
+ switch (r = r.concat(t.call(this, a)), a.type) {
+ case "table": {
+ const o = a;
+ for (const s of o.header)
+ r = r.concat(this.walkTokens(s.tokens, t));
+ for (const s of o.rows)
+ for (const l of s)
+ r = r.concat(this.walkTokens(l.tokens, t));
+ break;
+ }
+ case "list": {
+ const o = a;
+ r = r.concat(this.walkTokens(o.items, t));
+ break;
+ }
+ default: {
+ const o = a;
+ (n = (i = this.defaults.extensions) == null ? void 0 : i.childTokens) != null && n[o.type] ? this.defaults.extensions.childTokens[o.type].forEach((s) => {
+ const l = o[s].flat(1 / 0);
+ r = r.concat(this.walkTokens(l, t));
+ }) : o.tokens && (r = r.concat(this.walkTokens(o.tokens, t)));
+ }
+ }
+ return r;
+ }
+ use(...e) {
+ const t = this.defaults.extensions || { renderers: {}, childTokens: {} };
+ return e.forEach((r) => {
+ const i = { ...r };
+ if (i.async = this.defaults.async || i.async || !1, r.extensions && (r.extensions.forEach((n) => {
+ if (!n.name)
+ throw new Error("extension name required");
+ if ("renderer" in n) {
+ const a = t.renderers[n.name];
+ a ? t.renderers[n.name] = function(...o) {
+ let s = n.renderer.apply(this, o);
+ return s === !1 && (s = a.apply(this, o)), s;
+ } : t.renderers[n.name] = n.renderer;
+ }
+ if ("tokenizer" in n) {
+ if (!n.level || n.level !== "block" && n.level !== "inline")
+ throw new Error("extension level must be 'block' or 'inline'");
+ const a = t[n.level];
+ a ? a.unshift(n.tokenizer) : t[n.level] = [n.tokenizer], n.start && (n.level === "block" ? t.startBlock ? t.startBlock.push(n.start) : t.startBlock = [n.start] : n.level === "inline" && (t.startInline ? t.startInline.push(n.start) : t.startInline = [n.start]));
+ }
+ "childTokens" in n && n.childTokens && (t.childTokens[n.name] = n.childTokens);
+ }), i.extensions = t), r.renderer) {
+ const n = this.defaults.renderer || new la(this.defaults);
+ for (const a in r.renderer) {
+ if (!(a in n))
+ throw new Error(`renderer '${a}' does not exist`);
+ if (["options", "parser"].includes(a))
+ continue;
+ const o = a, s = r.renderer[o], l = n[o];
+ n[o] = (...c) => {
+ let h = s.apply(n, c);
+ return h === !1 && (h = l.apply(n, c)), h || "";
+ };
+ }
+ i.renderer = n;
+ }
+ if (r.tokenizer) {
+ const n = this.defaults.tokenizer || new oa(this.defaults);
+ for (const a in r.tokenizer) {
+ if (!(a in n))
+ throw new Error(`tokenizer '${a}' does not exist`);
+ if (["options", "rules", "lexer"].includes(a))
+ continue;
+ const o = a, s = r.tokenizer[o], l = n[o];
+ n[o] = (...c) => {
+ let h = s.apply(n, c);
+ return h === !1 && (h = l.apply(n, c)), h;
+ };
+ }
+ i.tokenizer = n;
+ }
+ if (r.hooks) {
+ const n = this.defaults.hooks || new An();
+ for (const a in r.hooks) {
+ if (!(a in n))
+ throw new Error(`hook '${a}' does not exist`);
+ if (["options", "block"].includes(a))
+ continue;
+ const o = a, s = r.hooks[o], l = n[o];
+ An.passThroughHooks.has(a) ? n[o] = (c) => {
+ if (this.defaults.async)
+ return Promise.resolve(s.call(n, c)).then((u) => l.call(n, u));
+ const h = s.call(n, c);
+ return l.call(n, h);
+ } : n[o] = (...c) => {
+ let h = s.apply(n, c);
+ return h === !1 && (h = l.apply(n, c)), h;
+ };
+ }
+ i.hooks = n;
+ }
+ if (r.walkTokens) {
+ const n = this.defaults.walkTokens, a = r.walkTokens;
+ i.walkTokens = function(o) {
+ let s = [];
+ return s.push(a.call(this, o)), n && (s = s.concat(n.call(this, o))), s;
+ };
+ }
+ this.defaults = { ...this.defaults, ...i };
+ }), this;
+ }
+ setOptions(e) {
+ return this.defaults = { ...this.defaults, ...e }, this;
+ }
+ lexer(e, t) {
+ return $e.lex(e, t ?? this.defaults);
+ }
+ parser(e, t) {
+ return Oe.parse(e, t ?? this.defaults);
+ }
+ parseMarkdown(e) {
+ return (r, i) => {
+ const n = { ...i }, a = { ...this.defaults, ...n }, o = this.onError(!!a.silent, !!a.async);
+ if (this.defaults.async === !0 && n.async === !1)
+ return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
+ if (typeof r > "u" || r === null)
+ return o(new Error("marked(): input parameter is undefined or null"));
+ if (typeof r != "string")
+ return o(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(r) + ", string expected"));
+ a.hooks && (a.hooks.options = a, a.hooks.block = e);
+ const s = a.hooks ? a.hooks.provideLexer() : e ? $e.lex : $e.lexInline, l = a.hooks ? a.hooks.provideParser() : e ? Oe.parse : Oe.parseInline;
+ if (a.async)
+ return Promise.resolve(a.hooks ? a.hooks.preprocess(r) : r).then((c) => s(c, a)).then((c) => a.hooks ? a.hooks.processAllTokens(c) : c).then((c) => a.walkTokens ? Promise.all(this.walkTokens(c, a.walkTokens)).then(() => c) : c).then((c) => l(c, a)).then((c) => a.hooks ? a.hooks.postprocess(c) : c).catch(o);
+ try {
+ a.hooks && (r = a.hooks.preprocess(r));
+ let c = s(r, a);
+ a.hooks && (c = a.hooks.processAllTokens(c)), a.walkTokens && this.walkTokens(c, a.walkTokens);
+ let h = l(c, a);
+ return a.hooks && (h = a.hooks.postprocess(h)), h;
+ } catch (c) {
+ return o(c);
+ }
+ };
+ }
+ onError(e, t) {
+ return (r) => {
+ if (r.message += `
+Please report this to https://github.com/markedjs/marked.`, e) {
+ const i = "An error occurred:
" + me(r.message + "", !0) + "
";
+ return t ? Promise.resolve(i) : i;
+ }
+ if (t)
+ return Promise.reject(r);
+ throw r;
+ };
+ }
+}, pr = new Vv();
+function ft(e, t) {
+ return pr.parse(e, t);
+}
+ft.options = ft.setOptions = function(e) {
+ return pr.setOptions(e), ft.defaults = pr.defaults, qp(ft.defaults), ft;
+};
+ft.getDefaults = el;
+ft.defaults = br;
+ft.use = function(...e) {
+ return pr.use(...e), ft.defaults = pr.defaults, qp(ft.defaults), ft;
+};
+ft.walkTokens = function(e, t) {
+ return pr.walkTokens(e, t);
+};
+ft.parseInline = pr.parseInline;
+ft.Parser = Oe;
+ft.parser = Oe.parse;
+ft.Renderer = la;
+ft.TextRenderer = cl;
+ft.Lexer = $e;
+ft.lexer = $e.lex;
+ft.Tokenizer = oa;
+ft.Hooks = An;
+ft.parse = ft;
+ft.options;
+ft.setOptions;
+ft.use;
+ft.walkTokens;
+ft.parseInline;
+Oe.parse;
+$e.lex;
+function Jp(e) {
+ for (var t = [], r = 1; r < arguments.length; r++)
+ t[r - 1] = arguments[r];
+ var i = Array.from(typeof e == "string" ? [e] : e);
+ i[i.length - 1] = i[i.length - 1].replace(/\r?\n([\t ]*)$/, "");
+ var n = i.reduce(function(s, l) {
+ var c = l.match(/\n([\t ]+|(?!\s).)/g);
+ return c ? s.concat(c.map(function(h) {
+ var u, f;
+ return (f = (u = h.match(/[\t ]/g)) === null || u === void 0 ? void 0 : u.length) !== null && f !== void 0 ? f : 0;
+ })) : s;
+ }, []);
+ if (n.length) {
+ var a = new RegExp(`
+[ ]{` + Math.min.apply(Math, n) + "}", "g");
+ i = i.map(function(s) {
+ return s.replace(a, `
+`);
+ });
+ }
+ i[0] = i[0].replace(/^\r?\n/, "");
+ var o = i[0];
+ return t.forEach(function(s, l) {
+ var c = o.match(/(?:^|\n)( *)$/), h = c ? c[1] : "", u = s;
+ typeof s == "string" && s.includes(`
+`) && (u = String(s).split(`
+`).map(function(f, p) {
+ return p === 0 ? f : "" + h + f;
+ }).join(`
+`)), o += u + i[l + 1];
+ }), o;
+}
+var Zv = {
+ body: '?',
+ height: 80,
+ width: 80
+}, eo = /* @__PURE__ */ new Map(), td = /* @__PURE__ */ new Map(), Kv = /* @__PURE__ */ d((e) => {
+ for (const t of e) {
+ if (!t.name)
+ throw new Error(
+ 'Invalid icon loader. Must have a "name" property with non-empty string value.'
+ );
+ if ($.debug("Registering icon pack:", t.name), "loader" in t)
+ td.set(t.name, t.loader);
+ else if ("icons" in t)
+ eo.set(t.name, t.icons);
+ else
+ throw $.error("Invalid icon loader:", t), new Error('Invalid icon loader. Must have either "icons" or "loader" property.');
+ }
+}, "registerIconPacks"), ed = /* @__PURE__ */ d(async (e, t) => {
+ const r = Qw(e, !0, t !== void 0);
+ if (!r)
+ throw new Error(`Invalid icon name: ${e}`);
+ const i = r.prefix || t;
+ if (!i)
+ throw new Error(`Icon name must contain a prefix: ${e}`);
+ let n = eo.get(i);
+ if (!n) {
+ const o = td.get(i);
+ if (!o)
+ throw new Error(`Icon set not found: ${r.prefix}`);
+ try {
+ n = { ...await o(), prefix: i }, eo.set(i, n);
+ } catch (s) {
+ throw $.error(s), new Error(`Failed to load icon set: ${r.prefix}`);
+ }
+ }
+ const a = ev(n, r.name);
+ if (!a)
+ throw new Error(`Icon not found: ${e}`);
+ return a;
+}, "getRegisteredIconData"), Qv = /* @__PURE__ */ d(async (e) => {
+ try {
+ return await ed(e), !0;
+ } catch {
+ return !1;
+ }
+}, "isIconAvailable"), Ji = /* @__PURE__ */ d(async (e, t, r) => {
+ let i;
+ try {
+ i = await ed(e, t == null ? void 0 : t.fallbackPrefix);
+ } catch (o) {
+ $.error(o), i = Zv;
+ }
+ const n = lv(i, t);
+ return pv(fv(n.body), {
+ ...n.attributes,
+ ...r
+ });
+}, "getIconSVG");
+function rd(e, { markdownAutoWrap: t }) {
+ const i = e.replace(/
/g, `
+`).replace(/\n{2,}/g, `
+`), n = Jp(i);
+ return t === !1 ? n.replace(/ /g, " ") : n;
+}
+d(rd, "preprocessMarkdown");
+function id(e, t = {}) {
+ const r = rd(e, t), i = ft.lexer(r), n = [[]];
+ let a = 0;
+ function o(s, l = "normal") {
+ s.type === "text" ? s.text.split(`
+`).forEach((h, u) => {
+ u !== 0 && (a++, n.push([])), h.split(" ").forEach((f) => {
+ f = f.replace(/'/g, "'"), f && n[a].push({ content: f, type: l });
+ });
+ }) : s.type === "strong" || s.type === "em" ? s.tokens.forEach((c) => {
+ o(c, s.type);
+ }) : s.type === "html" && n[a].push({ content: s.text, type: "normal" });
+ }
+ return d(o, "processNode"), i.forEach((s) => {
+ var l;
+ s.type === "paragraph" ? (l = s.tokens) == null || l.forEach((c) => {
+ o(c);
+ }) : s.type === "html" && n[a].push({ content: s.text, type: "normal" });
+ }), n;
+}
+d(id, "markdownToLines");
+function nd(e, { markdownAutoWrap: t } = {}) {
+ const r = ft.lexer(e);
+ function i(n) {
+ var a, o, s;
+ return n.type === "text" ? t === !1 ? n.text.replace(/\n */g, "
").replace(/ /g, " ") : n.text.replace(/\n */g, "
") : n.type === "strong" ? `${(a = n.tokens) == null ? void 0 : a.map(i).join("")}` : n.type === "em" ? `${(o = n.tokens) == null ? void 0 : o.map(i).join("")}` : n.type === "paragraph" ? `${(s = n.tokens) == null ? void 0 : s.map(i).join("")}
` : n.type === "space" ? "" : n.type === "html" ? `${n.text}` : n.type === "escape" ? n.text : `Unsupported markdown: ${n.type}`;
+ }
+ return d(i, "output"), r.map(i).join("");
+}
+d(nd, "markdownToHTML");
+function ad(e) {
+ return Intl.Segmenter ? [...new Intl.Segmenter().segment(e)].map((t) => t.segment) : [...e];
+}
+d(ad, "splitTextToChars");
+function sd(e, t) {
+ const r = ad(t.content);
+ return hl(e, [], r, t.type);
+}
+d(sd, "splitWordToFitWidth");
+function hl(e, t, r, i) {
+ if (r.length === 0)
+ return [
+ { content: t.join(""), type: i },
+ { content: "", type: i }
+ ];
+ const [n, ...a] = r, o = [...t, n];
+ return e([{ content: o.join(""), type: i }]) ? hl(e, o, a, i) : (t.length === 0 && n && (t.push(n), r.shift()), [
+ { content: t.join(""), type: i },
+ { content: r.join(""), type: i }
+ ]);
+}
+d(hl, "splitWordToFitWidthRecursion");
+function od(e, t) {
+ if (e.some(({ content: r }) => r.includes(`
+`)))
+ throw new Error("splitLineToFitWidth does not support newlines in the line");
+ return ca(e, t);
+}
+d(od, "splitLineToFitWidth");
+function ca(e, t, r = [], i = []) {
+ if (e.length === 0)
+ return i.length > 0 && r.push(i), r.length > 0 ? r : [];
+ let n = "";
+ e[0].content === " " && (n = " ", e.shift());
+ const a = e.shift() ?? { content: " ", type: "normal" }, o = [...i];
+ if (n !== "" && o.push({ content: n, type: "normal" }), o.push(a), t(o))
+ return ca(e, t, r, o);
+ if (i.length > 0)
+ r.push(i), e.unshift(a);
+ else if (a.content) {
+ const [s, l] = sd(t, a);
+ r.push([s]), l.content && e.unshift(l);
+ }
+ return ca(e, t, r);
+}
+d(ca, "splitLineToFitWidthRecursion");
+function ro(e, t) {
+ t && e.attr("style", t);
+}
+d(ro, "applyStyle");
+async function ld(e, t, r, i, n = !1) {
+ const a = e.append("foreignObject");
+ a.attr("width", `${10 * r}px`), a.attr("height", `${10 * r}px`);
+ const o = a.append("xhtml:div");
+ let s = t.label;
+ t.label && Ur(t.label) && (s = await bo(t.label.replace(Jr.lineBreakRegex, `
+`), ut()));
+ const l = t.isNode ? "nodeLabel" : "edgeLabel", c = o.append("span");
+ c.html(s), ro(c, t.labelStyle), c.attr("class", `${l} ${i}`), ro(o, t.labelStyle), o.style("display", "table-cell"), o.style("white-space", "nowrap"), o.style("line-height", "1.5"), o.style("max-width", r + "px"), o.style("text-align", "center"), o.attr("xmlns", "http://www.w3.org/1999/xhtml"), n && o.attr("class", "labelBkg");
+ let h = o.node().getBoundingClientRect();
+ return h.width === r && (o.style("display", "table"), o.style("white-space", "break-spaces"), o.style("width", r + "px"), h = o.node().getBoundingClientRect()), a.node();
+}
+d(ld, "addHtmlSpan");
+function Ra(e, t, r) {
+ return e.append("tspan").attr("class", "text-outer-tspan").attr("x", 0).attr("y", t * r - 0.1 + "em").attr("dy", r + "em");
+}
+d(Ra, "createTspan");
+function cd(e, t, r) {
+ const i = e.append("text"), n = Ra(i, 1, t);
+ Ia(n, r);
+ const a = n.node().getComputedTextLength();
+ return i.remove(), a;
+}
+d(cd, "computeWidthOfText");
+function Jv(e, t, r) {
+ var o;
+ const i = e.append("text"), n = Ra(i, 1, t);
+ Ia(n, [{ content: r, type: "normal" }]);
+ const a = (o = n.node()) == null ? void 0 : o.getBoundingClientRect();
+ return a && i.remove(), a;
+}
+d(Jv, "computeDimensionOfText");
+function hd(e, t, r, i = !1) {
+ const a = t.append("g"), o = a.insert("rect").attr("class", "background").attr("style", "stroke: none"), s = a.append("text").attr("y", "-10.1");
+ let l = 0;
+ for (const c of r) {
+ const h = /* @__PURE__ */ d((f) => cd(a, 1.1, f) <= e, "checkWidth"), u = h(c) ? [c] : od(c, h);
+ for (const f of u) {
+ const p = Ra(s, l, 1.1);
+ Ia(p, f), l++;
+ }
+ }
+ if (i) {
+ const c = s.node().getBBox(), h = 2;
+ return o.attr("x", c.x - h).attr("y", c.y - h).attr("width", c.width + 2 * h).attr("height", c.height + 2 * h), a.node();
+ } else
+ return s.node();
+}
+d(hd, "createFormattedText");
+function Ia(e, t) {
+ e.text(""), t.forEach((r, i) => {
+ const n = e.append("tspan").attr("font-style", r.type === "em" ? "italic" : "normal").attr("class", "text-inner-tspan").attr("font-weight", r.type === "strong" ? "bold" : "normal");
+ i === 0 ? n.text(r.content) : n.text(" " + r.content);
+ });
+}
+d(Ia, "updateTextContentAndStyles");
+async function ud(e) {
+ const t = [];
+ e.replace(/(fa[bklrs]?):fa-([\w-]+)/g, (i, n, a) => (t.push(
+ (async () => {
+ const o = `${n}:${a}`;
+ return await Qv(o) ? await Ji(o, void 0, { class: "label-icon" }) : ``;
+ })()
+ ), i));
+ const r = await Promise.all(t);
+ return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g, () => r.shift() ?? "");
+}
+d(ud, "replaceIconSubstring");
+var Ke = /* @__PURE__ */ d(async (e, t = "", {
+ style: r = "",
+ isTitle: i = !1,
+ classes: n = "",
+ useHtmlLabels: a = !0,
+ isNode: o = !0,
+ width: s = 200,
+ addSvgBackground: l = !1
+} = {}, c) => {
+ if ($.debug(
+ "XYZ createText",
+ t,
+ r,
+ i,
+ n,
+ a,
+ o,
+ "addSvgBackground: ",
+ l
+ ), a) {
+ const h = nd(t, c), u = await ud(xr(h)), f = t.replace(/\\\\/g, "\\"), p = {
+ isNode: o,
+ label: Ur(t) ? f : u,
+ labelStyle: r.replace("fill:", "color:")
+ };
+ return await ld(e, p, s, n, l);
+ } else {
+ const h = t.replace(/
/g, "
"), u = id(h.replace("
", "
"), c), f = hd(
+ s,
+ e,
+ u,
+ t ? l : !1
+ );
+ if (o) {
+ /stroke:/.exec(r) && (r = r.replace("stroke:", "lineColor:"));
+ const p = r.replace(/stroke:[^;]+;?/g, "").replace(/stroke-width:[^;]+;?/g, "").replace(/fill:[^;]+;?/g, "").replace(/color:/g, "fill:");
+ ct(f).attr("style", p);
+ } else {
+ const p = r.replace(/stroke:[^;]+;?/g, "").replace(/stroke-width:[^;]+;?/g, "").replace(/fill:[^;]+;?/g, "").replace(/background:/g, "fill:");
+ ct(f).select("rect").attr("style", p.replace(/background:/g, "fill:"));
+ const g = r.replace(/stroke:[^;]+;?/g, "").replace(/stroke-width:[^;]+;?/g, "").replace(/fill:[^;]+;?/g, "").replace(/color:/g, "fill:");
+ ct(f).select("text").attr("style", g);
+ }
+ return f;
+ }
+}, "createText");
+function hs(e, t, r) {
+ if (e && e.length) {
+ const [i, n] = t, a = Math.PI / 180 * r, o = Math.cos(a), s = Math.sin(a);
+ for (const l of e) {
+ const [c, h] = l;
+ l[0] = (c - i) * o - (h - n) * s + i, l[1] = (c - i) * s + (h - n) * o + n;
+ }
+ }
+}
+function tk(e, t) {
+ return e[0] === t[0] && e[1] === t[1];
+}
+function ek(e, t, r, i = 1) {
+ const n = r, a = Math.max(t, 0.1), o = e[0] && e[0][0] && typeof e[0][0] == "number" ? [e] : e, s = [0, 0];
+ if (n) for (const c of o) hs(c, s, n);
+ const l = function(c, h, u) {
+ const f = [];
+ for (const b of c) {
+ const C = [...b];
+ tk(C[0], C[C.length - 1]) || C.push([C[0][0], C[0][1]]), C.length > 2 && f.push(C);
+ }
+ const p = [];
+ h = Math.max(h, 0.1);
+ const g = [];
+ for (const b of f) for (let C = 0; C < b.length - 1; C++) {
+ const k = b[C], v = b[C + 1];
+ if (k[1] !== v[1]) {
+ const _ = Math.min(k[1], v[1]);
+ g.push({ ymin: _, ymax: Math.max(k[1], v[1]), x: _ === k[1] ? k[0] : v[0], islope: (v[0] - k[0]) / (v[1] - k[1]) });
+ }
+ }
+ if (g.sort((b, C) => b.ymin < C.ymin ? -1 : b.ymin > C.ymin ? 1 : b.x < C.x ? -1 : b.x > C.x ? 1 : b.ymax === C.ymax ? 0 : (b.ymax - C.ymax) / Math.abs(b.ymax - C.ymax)), !g.length) return p;
+ let m = [], y = g[0].ymin, x = 0;
+ for (; m.length || g.length; ) {
+ if (g.length) {
+ let b = -1;
+ for (let C = 0; C < g.length && !(g[C].ymin > y); C++) b = C;
+ g.splice(0, b + 1).forEach((C) => {
+ m.push({ s: y, edge: C });
+ });
+ }
+ if (m = m.filter((b) => !(b.edge.ymax <= y)), m.sort((b, C) => b.edge.x === C.edge.x ? 0 : (b.edge.x - C.edge.x) / Math.abs(b.edge.x - C.edge.x)), (u !== 1 || x % h == 0) && m.length > 1) for (let b = 0; b < m.length; b += 2) {
+ const C = b + 1;
+ if (C >= m.length) break;
+ const k = m[b].edge, v = m[C].edge;
+ p.push([[Math.round(k.x), y], [Math.round(v.x), y]]);
+ }
+ y += u, m.forEach((b) => {
+ b.edge.x = b.edge.x + u * b.edge.islope;
+ }), x++;
+ }
+ return p;
+ }(o, a, i);
+ if (n) {
+ for (const c of o) hs(c, s, -n);
+ (function(c, h, u) {
+ const f = [];
+ c.forEach((p) => f.push(...p)), hs(f, h, u);
+ })(l, s, -n);
+ }
+ return l;
+}
+function tn(e, t) {
+ var r;
+ const i = t.hachureAngle + 90;
+ let n = t.hachureGap;
+ n < 0 && (n = 4 * t.strokeWidth), n = Math.round(Math.max(n, 0.1));
+ let a = 1;
+ return t.roughness >= 1 && (((r = t.randomizer) === null || r === void 0 ? void 0 : r.next()) || Math.random()) > 0.7 && (a = n), ek(e, n, i, a || 1);
+}
+class ul {
+ constructor(t) {
+ this.helper = t;
+ }
+ fillPolygons(t, r) {
+ return this._fillPolygons(t, r);
+ }
+ _fillPolygons(t, r) {
+ const i = tn(t, r);
+ return { type: "fillSketch", ops: this.renderLines(i, r) };
+ }
+ renderLines(t, r) {
+ const i = [];
+ for (const n of t) i.push(...this.helper.doubleLineOps(n[0][0], n[0][1], n[1][0], n[1][1], r));
+ return i;
+ }
+}
+function Pa(e) {
+ const t = e[0], r = e[1];
+ return Math.sqrt(Math.pow(t[0] - r[0], 2) + Math.pow(t[1] - r[1], 2));
+}
+class rk extends ul {
+ fillPolygons(t, r) {
+ let i = r.hachureGap;
+ i < 0 && (i = 4 * r.strokeWidth), i = Math.max(i, 0.1);
+ const n = tn(t, Object.assign({}, r, { hachureGap: i })), a = Math.PI / 180 * r.hachureAngle, o = [], s = 0.5 * i * Math.cos(a), l = 0.5 * i * Math.sin(a);
+ for (const [c, h] of n) Pa([c, h]) && o.push([[c[0] - s, c[1] + l], [...h]], [[c[0] + s, c[1] - l], [...h]]);
+ return { type: "fillSketch", ops: this.renderLines(o, r) };
+ }
+}
+class ik extends ul {
+ fillPolygons(t, r) {
+ const i = this._fillPolygons(t, r), n = Object.assign({}, r, { hachureAngle: r.hachureAngle + 90 }), a = this._fillPolygons(t, n);
+ return i.ops = i.ops.concat(a.ops), i;
+ }
+}
+class nk {
+ constructor(t) {
+ this.helper = t;
+ }
+ fillPolygons(t, r) {
+ const i = tn(t, r = Object.assign({}, r, { hachureAngle: 0 }));
+ return this.dotsOnLines(i, r);
+ }
+ dotsOnLines(t, r) {
+ const i = [];
+ let n = r.hachureGap;
+ n < 0 && (n = 4 * r.strokeWidth), n = Math.max(n, 0.1);
+ let a = r.fillWeight;
+ a < 0 && (a = r.strokeWidth / 2);
+ const o = n / 4;
+ for (const s of t) {
+ const l = Pa(s), c = l / n, h = Math.ceil(c) - 1, u = l - h * n, f = (s[0][0] + s[1][0]) / 2 - n / 4, p = Math.min(s[0][1], s[1][1]);
+ for (let g = 0; g < h; g++) {
+ const m = p + u + g * n, y = f - o + 2 * Math.random() * o, x = m - o + 2 * Math.random() * o, b = this.helper.ellipse(y, x, a, a, r);
+ i.push(...b.ops);
+ }
+ }
+ return { type: "fillSketch", ops: i };
+ }
+}
+class ak {
+ constructor(t) {
+ this.helper = t;
+ }
+ fillPolygons(t, r) {
+ const i = tn(t, r);
+ return { type: "fillSketch", ops: this.dashedLine(i, r) };
+ }
+ dashedLine(t, r) {
+ const i = r.dashOffset < 0 ? r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap : r.dashOffset, n = r.dashGap < 0 ? r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap : r.dashGap, a = [];
+ return t.forEach((o) => {
+ const s = Pa(o), l = Math.floor(s / (i + n)), c = (s + n - l * (i + n)) / 2;
+ let h = o[0], u = o[1];
+ h[0] > u[0] && (h = o[1], u = o[0]);
+ const f = Math.atan((u[1] - h[1]) / (u[0] - h[0]));
+ for (let p = 0; p < l; p++) {
+ const g = p * (i + n), m = g + i, y = [h[0] + g * Math.cos(f) + c * Math.cos(f), h[1] + g * Math.sin(f) + c * Math.sin(f)], x = [h[0] + m * Math.cos(f) + c * Math.cos(f), h[1] + m * Math.sin(f) + c * Math.sin(f)];
+ a.push(...this.helper.doubleLineOps(y[0], y[1], x[0], x[1], r));
+ }
+ }), a;
+ }
+}
+class sk {
+ constructor(t) {
+ this.helper = t;
+ }
+ fillPolygons(t, r) {
+ const i = r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap, n = r.zigzagOffset < 0 ? i : r.zigzagOffset, a = tn(t, r = Object.assign({}, r, { hachureGap: i + n }));
+ return { type: "fillSketch", ops: this.zigzagLines(a, n, r) };
+ }
+ zigzagLines(t, r, i) {
+ const n = [];
+ return t.forEach((a) => {
+ const o = Pa(a), s = Math.round(o / (2 * r));
+ let l = a[0], c = a[1];
+ l[0] > c[0] && (l = a[1], c = a[0]);
+ const h = Math.atan((c[1] - l[1]) / (c[0] - l[0]));
+ for (let u = 0; u < s; u++) {
+ const f = 2 * u * r, p = 2 * (u + 1) * r, g = Math.sqrt(2 * Math.pow(r, 2)), m = [l[0] + f * Math.cos(h), l[1] + f * Math.sin(h)], y = [l[0] + p * Math.cos(h), l[1] + p * Math.sin(h)], x = [m[0] + g * Math.cos(h + Math.PI / 4), m[1] + g * Math.sin(h + Math.PI / 4)];
+ n.push(...this.helper.doubleLineOps(m[0], m[1], x[0], x[1], i), ...this.helper.doubleLineOps(x[0], x[1], y[0], y[1], i));
+ }
+ }), n;
+ }
+}
+const Vt = {};
+class ok {
+ constructor(t) {
+ this.seed = t;
+ }
+ next() {
+ return this.seed ? (2 ** 31 - 1 & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31 : Math.random();
+ }
+}
+const lk = 0, us = 1, Yc = 2, mn = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };
+function fs(e, t) {
+ return e.type === t;
+}
+function fl(e) {
+ const t = [], r = function(o) {
+ const s = new Array();
+ for (; o !== ""; ) if (o.match(/^([ \t\r\n,]+)/)) o = o.substr(RegExp.$1.length);
+ else if (o.match(/^([aAcChHlLmMqQsStTvVzZ])/)) s[s.length] = { type: lk, text: RegExp.$1 }, o = o.substr(RegExp.$1.length);
+ else {
+ if (!o.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)) return [];
+ s[s.length] = { type: us, text: `${parseFloat(RegExp.$1)}` }, o = o.substr(RegExp.$1.length);
+ }
+ return s[s.length] = { type: Yc, text: "" }, s;
+ }(e);
+ let i = "BOD", n = 0, a = r[n];
+ for (; !fs(a, Yc); ) {
+ let o = 0;
+ const s = [];
+ if (i === "BOD") {
+ if (a.text !== "M" && a.text !== "m") return fl("M0,0" + e);
+ n++, o = mn[a.text], i = a.text;
+ } else fs(a, us) ? o = mn[i] : (n++, o = mn[a.text], i = a.text);
+ if (!(n + o < r.length)) throw new Error("Path data ended short");
+ for (let l = n; l < n + o; l++) {
+ const c = r[l];
+ if (!fs(c, us)) throw new Error("Param not a number: " + i + "," + c.text);
+ s[s.length] = +c.text;
+ }
+ if (typeof mn[i] != "number") throw new Error("Bad segment: " + i);
+ {
+ const l = { key: i, data: s };
+ t.push(l), n += o, a = r[n], i === "M" && (i = "L"), i === "m" && (i = "l");
+ }
+ }
+ return t;
+}
+function fd(e) {
+ let t = 0, r = 0, i = 0, n = 0;
+ const a = [];
+ for (const { key: o, data: s } of e) switch (o) {
+ case "M":
+ a.push({ key: "M", data: [...s] }), [t, r] = s, [i, n] = s;
+ break;
+ case "m":
+ t += s[0], r += s[1], a.push({ key: "M", data: [t, r] }), i = t, n = r;
+ break;
+ case "L":
+ a.push({ key: "L", data: [...s] }), [t, r] = s;
+ break;
+ case "l":
+ t += s[0], r += s[1], a.push({ key: "L", data: [t, r] });
+ break;
+ case "C":
+ a.push({ key: "C", data: [...s] }), t = s[4], r = s[5];
+ break;
+ case "c": {
+ const l = s.map((c, h) => h % 2 ? c + r : c + t);
+ a.push({ key: "C", data: l }), t = l[4], r = l[5];
+ break;
+ }
+ case "Q":
+ a.push({ key: "Q", data: [...s] }), t = s[2], r = s[3];
+ break;
+ case "q": {
+ const l = s.map((c, h) => h % 2 ? c + r : c + t);
+ a.push({ key: "Q", data: l }), t = l[2], r = l[3];
+ break;
+ }
+ case "A":
+ a.push({ key: "A", data: [...s] }), t = s[5], r = s[6];
+ break;
+ case "a":
+ t += s[5], r += s[6], a.push({ key: "A", data: [s[0], s[1], s[2], s[3], s[4], t, r] });
+ break;
+ case "H":
+ a.push({ key: "H", data: [...s] }), t = s[0];
+ break;
+ case "h":
+ t += s[0], a.push({ key: "H", data: [t] });
+ break;
+ case "V":
+ a.push({ key: "V", data: [...s] }), r = s[0];
+ break;
+ case "v":
+ r += s[0], a.push({ key: "V", data: [r] });
+ break;
+ case "S":
+ a.push({ key: "S", data: [...s] }), t = s[2], r = s[3];
+ break;
+ case "s": {
+ const l = s.map((c, h) => h % 2 ? c + r : c + t);
+ a.push({ key: "S", data: l }), t = l[2], r = l[3];
+ break;
+ }
+ case "T":
+ a.push({ key: "T", data: [...s] }), t = s[0], r = s[1];
+ break;
+ case "t":
+ t += s[0], r += s[1], a.push({ key: "T", data: [t, r] });
+ break;
+ case "Z":
+ case "z":
+ a.push({ key: "Z", data: [] }), t = i, r = n;
+ }
+ return a;
+}
+function pd(e) {
+ const t = [];
+ let r = "", i = 0, n = 0, a = 0, o = 0, s = 0, l = 0;
+ for (const { key: c, data: h } of e) {
+ switch (c) {
+ case "M":
+ t.push({ key: "M", data: [...h] }), [i, n] = h, [a, o] = h;
+ break;
+ case "C":
+ t.push({ key: "C", data: [...h] }), i = h[4], n = h[5], s = h[2], l = h[3];
+ break;
+ case "L":
+ t.push({ key: "L", data: [...h] }), [i, n] = h;
+ break;
+ case "H":
+ i = h[0], t.push({ key: "L", data: [i, n] });
+ break;
+ case "V":
+ n = h[0], t.push({ key: "L", data: [i, n] });
+ break;
+ case "S": {
+ let u = 0, f = 0;
+ r === "C" || r === "S" ? (u = i + (i - s), f = n + (n - l)) : (u = i, f = n), t.push({ key: "C", data: [u, f, ...h] }), s = h[0], l = h[1], i = h[2], n = h[3];
+ break;
+ }
+ case "T": {
+ const [u, f] = h;
+ let p = 0, g = 0;
+ r === "Q" || r === "T" ? (p = i + (i - s), g = n + (n - l)) : (p = i, g = n);
+ const m = i + 2 * (p - i) / 3, y = n + 2 * (g - n) / 3, x = u + 2 * (p - u) / 3, b = f + 2 * (g - f) / 3;
+ t.push({ key: "C", data: [m, y, x, b, u, f] }), s = p, l = g, i = u, n = f;
+ break;
+ }
+ case "Q": {
+ const [u, f, p, g] = h, m = i + 2 * (u - i) / 3, y = n + 2 * (f - n) / 3, x = p + 2 * (u - p) / 3, b = g + 2 * (f - g) / 3;
+ t.push({ key: "C", data: [m, y, x, b, p, g] }), s = u, l = f, i = p, n = g;
+ break;
+ }
+ case "A": {
+ const u = Math.abs(h[0]), f = Math.abs(h[1]), p = h[2], g = h[3], m = h[4], y = h[5], x = h[6];
+ u === 0 || f === 0 ? (t.push({ key: "C", data: [i, n, y, x, y, x] }), i = y, n = x) : (i !== y || n !== x) && (dd(i, n, y, x, u, f, p, g, m).forEach(function(b) {
+ t.push({ key: "C", data: b });
+ }), i = y, n = x);
+ break;
+ }
+ case "Z":
+ t.push({ key: "Z", data: [] }), i = a, n = o;
+ }
+ r = c;
+ }
+ return t;
+}
+function yi(e, t, r) {
+ return [e * Math.cos(r) - t * Math.sin(r), e * Math.sin(r) + t * Math.cos(r)];
+}
+function dd(e, t, r, i, n, a, o, s, l, c) {
+ const h = (u = o, Math.PI * u / 180);
+ var u;
+ let f = [], p = 0, g = 0, m = 0, y = 0;
+ if (c) [p, g, m, y] = c;
+ else {
+ [e, t] = yi(e, t, -h), [r, i] = yi(r, i, -h);
+ const D = (e - r) / 2, L = (t - i) / 2;
+ let M = D * D / (n * n) + L * L / (a * a);
+ M > 1 && (M = Math.sqrt(M), n *= M, a *= M);
+ const B = n * n, F = a * a, A = B * F - B * L * L - F * D * D, W = B * L * L + F * D * D, X = (s === l ? -1 : 1) * Math.sqrt(Math.abs(A / W));
+ m = X * n * L / a + (e + r) / 2, y = X * -a * D / n + (t + i) / 2, p = Math.asin(parseFloat(((t - y) / a).toFixed(9))), g = Math.asin(parseFloat(((i - y) / a).toFixed(9))), e < m && (p = Math.PI - p), r < m && (g = Math.PI - g), p < 0 && (p = 2 * Math.PI + p), g < 0 && (g = 2 * Math.PI + g), l && p > g && (p -= 2 * Math.PI), !l && g > p && (g -= 2 * Math.PI);
+ }
+ let x = g - p;
+ if (Math.abs(x) > 120 * Math.PI / 180) {
+ const D = g, L = r, M = i;
+ g = l && g > p ? p + 120 * Math.PI / 180 * 1 : p + 120 * Math.PI / 180 * -1, f = dd(r = m + n * Math.cos(g), i = y + a * Math.sin(g), L, M, n, a, o, 0, l, [g, D, m, y]);
+ }
+ x = g - p;
+ const b = Math.cos(p), C = Math.sin(p), k = Math.cos(g), v = Math.sin(g), _ = Math.tan(x / 4), S = 4 / 3 * n * _, R = 4 / 3 * a * _, P = [e, t], O = [e + S * C, t - R * b], E = [r + S * v, i - R * k], z = [r, i];
+ if (O[0] = 2 * P[0] - O[0], O[1] = 2 * P[1] - O[1], c) return [O, E, z].concat(f);
+ {
+ f = [O, E, z].concat(f);
+ const D = [];
+ for (let L = 0; L < f.length; L += 3) {
+ const M = yi(f[L][0], f[L][1], h), B = yi(f[L + 1][0], f[L + 1][1], h), F = yi(f[L + 2][0], f[L + 2][1], h);
+ D.push([M[0], M[1], B[0], B[1], F[0], F[1]]);
+ }
+ return D;
+ }
+}
+const ck = { randOffset: function(e, t) {
+ return tt(e, t);
+}, randOffsetWithRange: function(e, t, r) {
+ return ha(e, t, r);
+}, ellipse: function(e, t, r, i, n) {
+ const a = md(r, i, n);
+ return io(e, t, n, a).opset;
+}, doubleLineOps: function(e, t, r, i, n) {
+ return Xe(e, t, r, i, n, !0);
+} };
+function gd(e, t, r, i, n) {
+ return { type: "path", ops: Xe(e, t, r, i, n) };
+}
+function Mn(e, t, r) {
+ const i = (e || []).length;
+ if (i > 2) {
+ const n = [];
+ for (let a = 0; a < i - 1; a++) n.push(...Xe(e[a][0], e[a][1], e[a + 1][0], e[a + 1][1], r));
+ return t && n.push(...Xe(e[i - 1][0], e[i - 1][1], e[0][0], e[0][1], r)), { type: "path", ops: n };
+ }
+ return i === 2 ? gd(e[0][0], e[0][1], e[1][0], e[1][1], r) : { type: "path", ops: [] };
+}
+function hk(e, t, r, i, n) {
+ return function(a, o) {
+ return Mn(a, !0, o);
+ }([[e, t], [e + r, t], [e + r, t + i], [e, t + i]], n);
+}
+function Uc(e, t) {
+ if (e.length) {
+ const r = typeof e[0][0] == "number" ? [e] : e, i = yn(r[0], 1 * (1 + 0.2 * t.roughness), t), n = t.disableMultiStroke ? [] : yn(r[0], 1.5 * (1 + 0.22 * t.roughness), Vc(t));
+ for (let a = 1; a < r.length; a++) {
+ const o = r[a];
+ if (o.length) {
+ const s = yn(o, 1 * (1 + 0.2 * t.roughness), t), l = t.disableMultiStroke ? [] : yn(o, 1.5 * (1 + 0.22 * t.roughness), Vc(t));
+ for (const c of s) c.op !== "move" && i.push(c);
+ for (const c of l) c.op !== "move" && n.push(c);
+ }
+ }
+ return { type: "path", ops: i.concat(n) };
+ }
+ return { type: "path", ops: [] };
+}
+function md(e, t, r) {
+ const i = Math.sqrt(2 * Math.PI * Math.sqrt((Math.pow(e / 2, 2) + Math.pow(t / 2, 2)) / 2)), n = Math.ceil(Math.max(r.curveStepCount, r.curveStepCount / Math.sqrt(200) * i)), a = 2 * Math.PI / n;
+ let o = Math.abs(e / 2), s = Math.abs(t / 2);
+ const l = 1 - r.curveFitting;
+ return o += tt(o * l, r), s += tt(s * l, r), { increment: a, rx: o, ry: s };
+}
+function io(e, t, r, i) {
+ const [n, a] = Zc(i.increment, e, t, i.rx, i.ry, 1, i.increment * ha(0.1, ha(0.4, 1, r), r), r);
+ let o = ua(n, null, r);
+ if (!r.disableMultiStroke && r.roughness !== 0) {
+ const [s] = Zc(i.increment, e, t, i.rx, i.ry, 1.5, 0, r), l = ua(s, null, r);
+ o = o.concat(l);
+ }
+ return { estimatedPoints: a, opset: { type: "path", ops: o } };
+}
+function Gc(e, t, r, i, n, a, o, s, l) {
+ const c = e, h = t;
+ let u = Math.abs(r / 2), f = Math.abs(i / 2);
+ u += tt(0.01 * u, l), f += tt(0.01 * f, l);
+ let p = n, g = a;
+ for (; p < 0; ) p += 2 * Math.PI, g += 2 * Math.PI;
+ g - p > 2 * Math.PI && (p = 0, g = 2 * Math.PI);
+ const m = 2 * Math.PI / l.curveStepCount, y = Math.min(m / 2, (g - p) / 2), x = Kc(y, c, h, u, f, p, g, 1, l);
+ if (!l.disableMultiStroke) {
+ const b = Kc(y, c, h, u, f, p, g, 1.5, l);
+ x.push(...b);
+ }
+ return o && (s ? x.push(...Xe(c, h, c + u * Math.cos(p), h + f * Math.sin(p), l), ...Xe(c, h, c + u * Math.cos(g), h + f * Math.sin(g), l)) : x.push({ op: "lineTo", data: [c, h] }, { op: "lineTo", data: [c + u * Math.cos(p), h + f * Math.sin(p)] })), { type: "path", ops: x };
+}
+function Xc(e, t) {
+ const r = pd(fd(fl(e))), i = [];
+ let n = [0, 0], a = [0, 0];
+ for (const { key: o, data: s } of r) switch (o) {
+ case "M":
+ a = [s[0], s[1]], n = [s[0], s[1]];
+ break;
+ case "L":
+ i.push(...Xe(a[0], a[1], s[0], s[1], t)), a = [s[0], s[1]];
+ break;
+ case "C": {
+ const [l, c, h, u, f, p] = s;
+ i.push(...uk(l, c, h, u, f, p, a, t)), a = [f, p];
+ break;
+ }
+ case "Z":
+ i.push(...Xe(a[0], a[1], n[0], n[1], t)), a = [n[0], n[1]];
+ }
+ return { type: "path", ops: i };
+}
+function ps(e, t) {
+ const r = [];
+ for (const i of e) if (i.length) {
+ const n = t.maxRandomnessOffset || 0, a = i.length;
+ if (a > 2) {
+ r.push({ op: "move", data: [i[0][0] + tt(n, t), i[0][1] + tt(n, t)] });
+ for (let o = 1; o < a; o++) r.push({ op: "lineTo", data: [i[o][0] + tt(n, t), i[o][1] + tt(n, t)] });
+ }
+ }
+ return { type: "fillPath", ops: r };
+}
+function Br(e, t) {
+ return function(r, i) {
+ let n = r.fillStyle || "hachure";
+ if (!Vt[n]) switch (n) {
+ case "zigzag":
+ Vt[n] || (Vt[n] = new rk(i));
+ break;
+ case "cross-hatch":
+ Vt[n] || (Vt[n] = new ik(i));
+ break;
+ case "dots":
+ Vt[n] || (Vt[n] = new nk(i));
+ break;
+ case "dashed":
+ Vt[n] || (Vt[n] = new ak(i));
+ break;
+ case "zigzag-line":
+ Vt[n] || (Vt[n] = new sk(i));
+ break;
+ default:
+ n = "hachure", Vt[n] || (Vt[n] = new ul(i));
+ }
+ return Vt[n];
+ }(t, ck).fillPolygons(e, t);
+}
+function Vc(e) {
+ const t = Object.assign({}, e);
+ return t.randomizer = void 0, e.seed && (t.seed = e.seed + 1), t;
+}
+function yd(e) {
+ return e.randomizer || (e.randomizer = new ok(e.seed || 0)), e.randomizer.next();
+}
+function ha(e, t, r, i = 1) {
+ return r.roughness * i * (yd(r) * (t - e) + e);
+}
+function tt(e, t, r = 1) {
+ return ha(-e, e, t, r);
+}
+function Xe(e, t, r, i, n, a = !1) {
+ const o = a ? n.disableMultiStrokeFill : n.disableMultiStroke, s = no(e, t, r, i, n, !0, !1);
+ if (o) return s;
+ const l = no(e, t, r, i, n, !0, !0);
+ return s.concat(l);
+}
+function no(e, t, r, i, n, a, o) {
+ const s = Math.pow(e - r, 2) + Math.pow(t - i, 2), l = Math.sqrt(s);
+ let c = 1;
+ c = l < 200 ? 1 : l > 500 ? 0.4 : -16668e-7 * l + 1.233334;
+ let h = n.maxRandomnessOffset || 0;
+ h * h * 100 > s && (h = l / 10);
+ const u = h / 2, f = 0.2 + 0.2 * yd(n);
+ let p = n.bowing * n.maxRandomnessOffset * (i - t) / 200, g = n.bowing * n.maxRandomnessOffset * (e - r) / 200;
+ p = tt(p, n, c), g = tt(g, n, c);
+ const m = [], y = () => tt(u, n, c), x = () => tt(h, n, c), b = n.preserveVertices;
+ return o ? m.push({ op: "move", data: [e + (b ? 0 : y()), t + (b ? 0 : y())] }) : m.push({ op: "move", data: [e + (b ? 0 : tt(h, n, c)), t + (b ? 0 : tt(h, n, c))] }), o ? m.push({ op: "bcurveTo", data: [p + e + (r - e) * f + y(), g + t + (i - t) * f + y(), p + e + 2 * (r - e) * f + y(), g + t + 2 * (i - t) * f + y(), r + (b ? 0 : y()), i + (b ? 0 : y())] }) : m.push({ op: "bcurveTo", data: [p + e + (r - e) * f + x(), g + t + (i - t) * f + x(), p + e + 2 * (r - e) * f + x(), g + t + 2 * (i - t) * f + x(), r + (b ? 0 : x()), i + (b ? 0 : x())] }), m;
+}
+function yn(e, t, r) {
+ if (!e.length) return [];
+ const i = [];
+ i.push([e[0][0] + tt(t, r), e[0][1] + tt(t, r)]), i.push([e[0][0] + tt(t, r), e[0][1] + tt(t, r)]);
+ for (let n = 1; n < e.length; n++) i.push([e[n][0] + tt(t, r), e[n][1] + tt(t, r)]), n === e.length - 1 && i.push([e[n][0] + tt(t, r), e[n][1] + tt(t, r)]);
+ return ua(i, null, r);
+}
+function ua(e, t, r) {
+ const i = e.length, n = [];
+ if (i > 3) {
+ const a = [], o = 1 - r.curveTightness;
+ n.push({ op: "move", data: [e[1][0], e[1][1]] });
+ for (let s = 1; s + 2 < i; s++) {
+ const l = e[s];
+ a[0] = [l[0], l[1]], a[1] = [l[0] + (o * e[s + 1][0] - o * e[s - 1][0]) / 6, l[1] + (o * e[s + 1][1] - o * e[s - 1][1]) / 6], a[2] = [e[s + 1][0] + (o * e[s][0] - o * e[s + 2][0]) / 6, e[s + 1][1] + (o * e[s][1] - o * e[s + 2][1]) / 6], a[3] = [e[s + 1][0], e[s + 1][1]], n.push({ op: "bcurveTo", data: [a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1]] });
+ }
+ } else i === 3 ? (n.push({ op: "move", data: [e[1][0], e[1][1]] }), n.push({ op: "bcurveTo", data: [e[1][0], e[1][1], e[2][0], e[2][1], e[2][0], e[2][1]] })) : i === 2 && n.push(...no(e[0][0], e[0][1], e[1][0], e[1][1], r, !0, !0));
+ return n;
+}
+function Zc(e, t, r, i, n, a, o, s) {
+ const l = [], c = [];
+ if (s.roughness === 0) {
+ e /= 4, c.push([t + i * Math.cos(-e), r + n * Math.sin(-e)]);
+ for (let h = 0; h <= 2 * Math.PI; h += e) {
+ const u = [t + i * Math.cos(h), r + n * Math.sin(h)];
+ l.push(u), c.push(u);
+ }
+ c.push([t + i * Math.cos(0), r + n * Math.sin(0)]), c.push([t + i * Math.cos(e), r + n * Math.sin(e)]);
+ } else {
+ const h = tt(0.5, s) - Math.PI / 2;
+ c.push([tt(a, s) + t + 0.9 * i * Math.cos(h - e), tt(a, s) + r + 0.9 * n * Math.sin(h - e)]);
+ const u = 2 * Math.PI + h - 0.01;
+ for (let f = h; f < u; f += e) {
+ const p = [tt(a, s) + t + i * Math.cos(f), tt(a, s) + r + n * Math.sin(f)];
+ l.push(p), c.push(p);
+ }
+ c.push([tt(a, s) + t + i * Math.cos(h + 2 * Math.PI + 0.5 * o), tt(a, s) + r + n * Math.sin(h + 2 * Math.PI + 0.5 * o)]), c.push([tt(a, s) + t + 0.98 * i * Math.cos(h + o), tt(a, s) + r + 0.98 * n * Math.sin(h + o)]), c.push([tt(a, s) + t + 0.9 * i * Math.cos(h + 0.5 * o), tt(a, s) + r + 0.9 * n * Math.sin(h + 0.5 * o)]);
+ }
+ return [c, l];
+}
+function Kc(e, t, r, i, n, a, o, s, l) {
+ const c = a + tt(0.1, l), h = [];
+ h.push([tt(s, l) + t + 0.9 * i * Math.cos(c - e), tt(s, l) + r + 0.9 * n * Math.sin(c - e)]);
+ for (let u = c; u <= o; u += e) h.push([tt(s, l) + t + i * Math.cos(u), tt(s, l) + r + n * Math.sin(u)]);
+ return h.push([t + i * Math.cos(o), r + n * Math.sin(o)]), h.push([t + i * Math.cos(o), r + n * Math.sin(o)]), ua(h, null, l);
+}
+function uk(e, t, r, i, n, a, o, s) {
+ const l = [], c = [s.maxRandomnessOffset || 1, (s.maxRandomnessOffset || 1) + 0.3];
+ let h = [0, 0];
+ const u = s.disableMultiStroke ? 1 : 2, f = s.preserveVertices;
+ for (let p = 0; p < u; p++) p === 0 ? l.push({ op: "move", data: [o[0], o[1]] }) : l.push({ op: "move", data: [o[0] + (f ? 0 : tt(c[0], s)), o[1] + (f ? 0 : tt(c[0], s))] }), h = f ? [n, a] : [n + tt(c[p], s), a + tt(c[p], s)], l.push({ op: "bcurveTo", data: [e + tt(c[p], s), t + tt(c[p], s), r + tt(c[p], s), i + tt(c[p], s), h[0], h[1]] });
+ return l;
+}
+function xi(e) {
+ return [...e];
+}
+function Qc(e, t = 0) {
+ const r = e.length;
+ if (r < 3) throw new Error("A curve must have at least three points.");
+ const i = [];
+ if (r === 3) i.push(xi(e[0]), xi(e[1]), xi(e[2]), xi(e[2]));
+ else {
+ const n = [];
+ n.push(e[0], e[0]);
+ for (let s = 1; s < e.length; s++) n.push(e[s]), s === e.length - 1 && n.push(e[s]);
+ const a = [], o = 1 - t;
+ i.push(xi(n[0]));
+ for (let s = 1; s + 2 < n.length; s++) {
+ const l = n[s];
+ a[0] = [l[0], l[1]], a[1] = [l[0] + (o * n[s + 1][0] - o * n[s - 1][0]) / 6, l[1] + (o * n[s + 1][1] - o * n[s - 1][1]) / 6], a[2] = [n[s + 1][0] + (o * n[s][0] - o * n[s + 2][0]) / 6, n[s + 1][1] + (o * n[s][1] - o * n[s + 2][1]) / 6], a[3] = [n[s + 1][0], n[s + 1][1]], i.push(a[1], a[2], a[3]);
+ }
+ }
+ return i;
+}
+function En(e, t) {
+ return Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2);
+}
+function fk(e, t, r) {
+ const i = En(t, r);
+ if (i === 0) return En(e, t);
+ let n = ((e[0] - t[0]) * (r[0] - t[0]) + (e[1] - t[1]) * (r[1] - t[1])) / i;
+ return n = Math.max(0, Math.min(1, n)), En(e, tr(t, r, n));
+}
+function tr(e, t, r) {
+ return [e[0] + (t[0] - e[0]) * r, e[1] + (t[1] - e[1]) * r];
+}
+function ao(e, t, r, i) {
+ const n = i || [];
+ if (function(s, l) {
+ const c = s[l + 0], h = s[l + 1], u = s[l + 2], f = s[l + 3];
+ let p = 3 * h[0] - 2 * c[0] - f[0];
+ p *= p;
+ let g = 3 * h[1] - 2 * c[1] - f[1];
+ g *= g;
+ let m = 3 * u[0] - 2 * f[0] - c[0];
+ m *= m;
+ let y = 3 * u[1] - 2 * f[1] - c[1];
+ return y *= y, p < m && (p = m), g < y && (g = y), p + g;
+ }(e, t) < r) {
+ const s = e[t + 0];
+ n.length ? (a = n[n.length - 1], o = s, Math.sqrt(En(a, o)) > 1 && n.push(s)) : n.push(s), n.push(e[t + 3]);
+ } else {
+ const l = e[t + 0], c = e[t + 1], h = e[t + 2], u = e[t + 3], f = tr(l, c, 0.5), p = tr(c, h, 0.5), g = tr(h, u, 0.5), m = tr(f, p, 0.5), y = tr(p, g, 0.5), x = tr(m, y, 0.5);
+ ao([l, f, m, x], 0, r, n), ao([x, y, g, u], 0, r, n);
+ }
+ var a, o;
+ return n;
+}
+function pk(e, t) {
+ return fa(e, 0, e.length, t);
+}
+function fa(e, t, r, i, n) {
+ const a = n || [], o = e[t], s = e[r - 1];
+ let l = 0, c = 1;
+ for (let h = t + 1; h < r - 1; ++h) {
+ const u = fk(e[h], o, s);
+ u > l && (l = u, c = h);
+ }
+ return Math.sqrt(l) > i ? (fa(e, t, c + 1, i, a), fa(e, c, r, i, a)) : (a.length || a.push(o), a.push(s)), a;
+}
+function ds(e, t = 0.15, r) {
+ const i = [], n = (e.length - 1) / 3;
+ for (let a = 0; a < n; a++)
+ ao(e, 3 * a, t, i);
+ return r && r > 0 ? fa(i, 0, i.length, r) : i;
+}
+const te = "none";
+class pa {
+ constructor(t) {
+ this.defaultOptions = { maxRandomnessOffset: 2, roughness: 1, bowing: 1, stroke: "#000", strokeWidth: 1, curveTightness: 0, curveFitting: 0.95, curveStepCount: 9, fillStyle: "hachure", fillWeight: -1, hachureAngle: -41, hachureGap: -1, dashOffset: -1, dashGap: -1, zigzagOffset: -1, seed: 0, disableMultiStroke: !1, disableMultiStrokeFill: !1, preserveVertices: !1, fillShapeRoughnessGain: 0.8 }, this.config = t || {}, this.config.options && (this.defaultOptions = this._o(this.config.options));
+ }
+ static newSeed() {
+ return Math.floor(Math.random() * 2 ** 31);
+ }
+ _o(t) {
+ return t ? Object.assign({}, this.defaultOptions, t) : this.defaultOptions;
+ }
+ _d(t, r, i) {
+ return { shape: t, sets: r || [], options: i || this.defaultOptions };
+ }
+ line(t, r, i, n, a) {
+ const o = this._o(a);
+ return this._d("line", [gd(t, r, i, n, o)], o);
+ }
+ rectangle(t, r, i, n, a) {
+ const o = this._o(a), s = [], l = hk(t, r, i, n, o);
+ if (o.fill) {
+ const c = [[t, r], [t + i, r], [t + i, r + n], [t, r + n]];
+ o.fillStyle === "solid" ? s.push(ps([c], o)) : s.push(Br([c], o));
+ }
+ return o.stroke !== te && s.push(l), this._d("rectangle", s, o);
+ }
+ ellipse(t, r, i, n, a) {
+ const o = this._o(a), s = [], l = md(i, n, o), c = io(t, r, o, l);
+ if (o.fill) if (o.fillStyle === "solid") {
+ const h = io(t, r, o, l).opset;
+ h.type = "fillPath", s.push(h);
+ } else s.push(Br([c.estimatedPoints], o));
+ return o.stroke !== te && s.push(c.opset), this._d("ellipse", s, o);
+ }
+ circle(t, r, i, n) {
+ const a = this.ellipse(t, r, i, i, n);
+ return a.shape = "circle", a;
+ }
+ linearPath(t, r) {
+ const i = this._o(r);
+ return this._d("linearPath", [Mn(t, !1, i)], i);
+ }
+ arc(t, r, i, n, a, o, s = !1, l) {
+ const c = this._o(l), h = [], u = Gc(t, r, i, n, a, o, s, !0, c);
+ if (s && c.fill) if (c.fillStyle === "solid") {
+ const f = Object.assign({}, c);
+ f.disableMultiStroke = !0;
+ const p = Gc(t, r, i, n, a, o, !0, !1, f);
+ p.type = "fillPath", h.push(p);
+ } else h.push(function(f, p, g, m, y, x, b) {
+ const C = f, k = p;
+ let v = Math.abs(g / 2), _ = Math.abs(m / 2);
+ v += tt(0.01 * v, b), _ += tt(0.01 * _, b);
+ let S = y, R = x;
+ for (; S < 0; ) S += 2 * Math.PI, R += 2 * Math.PI;
+ R - S > 2 * Math.PI && (S = 0, R = 2 * Math.PI);
+ const P = (R - S) / b.curveStepCount, O = [];
+ for (let E = S; E <= R; E += P) O.push([C + v * Math.cos(E), k + _ * Math.sin(E)]);
+ return O.push([C + v * Math.cos(R), k + _ * Math.sin(R)]), O.push([C, k]), Br([O], b);
+ }(t, r, i, n, a, o, c));
+ return c.stroke !== te && h.push(u), this._d("arc", h, c);
+ }
+ curve(t, r) {
+ const i = this._o(r), n = [], a = Uc(t, i);
+ if (i.fill && i.fill !== te) if (i.fillStyle === "solid") {
+ const o = Uc(t, Object.assign(Object.assign({}, i), { disableMultiStroke: !0, roughness: i.roughness ? i.roughness + i.fillShapeRoughnessGain : 0 }));
+ n.push({ type: "fillPath", ops: this._mergedShape(o.ops) });
+ } else {
+ const o = [], s = t;
+ if (s.length) {
+ const l = typeof s[0][0] == "number" ? [s] : s;
+ for (const c of l) c.length < 3 ? o.push(...c) : c.length === 3 ? o.push(...ds(Qc([c[0], c[0], c[1], c[2]]), 10, (1 + i.roughness) / 2)) : o.push(...ds(Qc(c), 10, (1 + i.roughness) / 2));
+ }
+ o.length && n.push(Br([o], i));
+ }
+ return i.stroke !== te && n.push(a), this._d("curve", n, i);
+ }
+ polygon(t, r) {
+ const i = this._o(r), n = [], a = Mn(t, !0, i);
+ return i.fill && (i.fillStyle === "solid" ? n.push(ps([t], i)) : n.push(Br([t], i))), i.stroke !== te && n.push(a), this._d("polygon", n, i);
+ }
+ path(t, r) {
+ const i = this._o(r), n = [];
+ if (!t) return this._d("path", n, i);
+ t = (t || "").replace(/\n/g, " ").replace(/(-\s)/g, "-").replace("/(ss)/g", " ");
+ const a = i.fill && i.fill !== "transparent" && i.fill !== te, o = i.stroke !== te, s = !!(i.simplification && i.simplification < 1), l = function(h, u, f) {
+ const p = pd(fd(fl(h))), g = [];
+ let m = [], y = [0, 0], x = [];
+ const b = () => {
+ x.length >= 4 && m.push(...ds(x, u)), x = [];
+ }, C = () => {
+ b(), m.length && (g.push(m), m = []);
+ };
+ for (const { key: v, data: _ } of p) switch (v) {
+ case "M":
+ C(), y = [_[0], _[1]], m.push(y);
+ break;
+ case "L":
+ b(), m.push([_[0], _[1]]);
+ break;
+ case "C":
+ if (!x.length) {
+ const S = m.length ? m[m.length - 1] : y;
+ x.push([S[0], S[1]]);
+ }
+ x.push([_[0], _[1]]), x.push([_[2], _[3]]), x.push([_[4], _[5]]);
+ break;
+ case "Z":
+ b(), m.push([y[0], y[1]]);
+ }
+ if (C(), !f) return g;
+ const k = [];
+ for (const v of g) {
+ const _ = pk(v, f);
+ _.length && k.push(_);
+ }
+ return k;
+ }(t, 1, s ? 4 - 4 * (i.simplification || 1) : (1 + i.roughness) / 2), c = Xc(t, i);
+ if (a) if (i.fillStyle === "solid") if (l.length === 1) {
+ const h = Xc(t, Object.assign(Object.assign({}, i), { disableMultiStroke: !0, roughness: i.roughness ? i.roughness + i.fillShapeRoughnessGain : 0 }));
+ n.push({ type: "fillPath", ops: this._mergedShape(h.ops) });
+ } else n.push(ps(l, i));
+ else n.push(Br(l, i));
+ return o && (s ? l.forEach((h) => {
+ n.push(Mn(h, !1, i));
+ }) : n.push(c)), this._d("path", n, i);
+ }
+ opsToPath(t, r) {
+ let i = "";
+ for (const n of t.ops) {
+ const a = typeof r == "number" && r >= 0 ? n.data.map((o) => +o.toFixed(r)) : n.data;
+ switch (n.op) {
+ case "move":
+ i += `M${a[0]} ${a[1]} `;
+ break;
+ case "bcurveTo":
+ i += `C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;
+ break;
+ case "lineTo":
+ i += `L${a[0]} ${a[1]} `;
+ }
+ }
+ return i.trim();
+ }
+ toPaths(t) {
+ const r = t.sets || [], i = t.options || this.defaultOptions, n = [];
+ for (const a of r) {
+ let o = null;
+ switch (a.type) {
+ case "path":
+ o = { d: this.opsToPath(a), stroke: i.stroke, strokeWidth: i.strokeWidth, fill: te };
+ break;
+ case "fillPath":
+ o = { d: this.opsToPath(a), stroke: te, strokeWidth: 0, fill: i.fill || te };
+ break;
+ case "fillSketch":
+ o = this.fillSketch(a, i);
+ }
+ o && n.push(o);
+ }
+ return n;
+ }
+ fillSketch(t, r) {
+ let i = r.fillWeight;
+ return i < 0 && (i = r.strokeWidth / 2), { d: this.opsToPath(t), stroke: r.fill || te, strokeWidth: i, fill: te };
+ }
+ _mergedShape(t) {
+ return t.filter((r, i) => i === 0 || r.op !== "move");
+ }
+}
+class dk {
+ constructor(t, r) {
+ this.canvas = t, this.ctx = this.canvas.getContext("2d"), this.gen = new pa(r);
+ }
+ draw(t) {
+ const r = t.sets || [], i = t.options || this.getDefaultOptions(), n = this.ctx, a = t.options.fixedDecimalPlaceDigits;
+ for (const o of r) switch (o.type) {
+ case "path":
+ n.save(), n.strokeStyle = i.stroke === "none" ? "transparent" : i.stroke, n.lineWidth = i.strokeWidth, i.strokeLineDash && n.setLineDash(i.strokeLineDash), i.strokeLineDashOffset && (n.lineDashOffset = i.strokeLineDashOffset), this._drawToContext(n, o, a), n.restore();
+ break;
+ case "fillPath": {
+ n.save(), n.fillStyle = i.fill || "";
+ const s = t.shape === "curve" || t.shape === "polygon" || t.shape === "path" ? "evenodd" : "nonzero";
+ this._drawToContext(n, o, a, s), n.restore();
+ break;
+ }
+ case "fillSketch":
+ this.fillSketch(n, o, i);
+ }
+ }
+ fillSketch(t, r, i) {
+ let n = i.fillWeight;
+ n < 0 && (n = i.strokeWidth / 2), t.save(), i.fillLineDash && t.setLineDash(i.fillLineDash), i.fillLineDashOffset && (t.lineDashOffset = i.fillLineDashOffset), t.strokeStyle = i.fill || "", t.lineWidth = n, this._drawToContext(t, r, i.fixedDecimalPlaceDigits), t.restore();
+ }
+ _drawToContext(t, r, i, n = "nonzero") {
+ t.beginPath();
+ for (const a of r.ops) {
+ const o = typeof i == "number" && i >= 0 ? a.data.map((s) => +s.toFixed(i)) : a.data;
+ switch (a.op) {
+ case "move":
+ t.moveTo(o[0], o[1]);
+ break;
+ case "bcurveTo":
+ t.bezierCurveTo(o[0], o[1], o[2], o[3], o[4], o[5]);
+ break;
+ case "lineTo":
+ t.lineTo(o[0], o[1]);
+ }
+ }
+ r.type === "fillPath" ? t.fill(n) : t.stroke();
+ }
+ get generator() {
+ return this.gen;
+ }
+ getDefaultOptions() {
+ return this.gen.defaultOptions;
+ }
+ line(t, r, i, n, a) {
+ const o = this.gen.line(t, r, i, n, a);
+ return this.draw(o), o;
+ }
+ rectangle(t, r, i, n, a) {
+ const o = this.gen.rectangle(t, r, i, n, a);
+ return this.draw(o), o;
+ }
+ ellipse(t, r, i, n, a) {
+ const o = this.gen.ellipse(t, r, i, n, a);
+ return this.draw(o), o;
+ }
+ circle(t, r, i, n) {
+ const a = this.gen.circle(t, r, i, n);
+ return this.draw(a), a;
+ }
+ linearPath(t, r) {
+ const i = this.gen.linearPath(t, r);
+ return this.draw(i), i;
+ }
+ polygon(t, r) {
+ const i = this.gen.polygon(t, r);
+ return this.draw(i), i;
+ }
+ arc(t, r, i, n, a, o, s = !1, l) {
+ const c = this.gen.arc(t, r, i, n, a, o, s, l);
+ return this.draw(c), c;
+ }
+ curve(t, r) {
+ const i = this.gen.curve(t, r);
+ return this.draw(i), i;
+ }
+ path(t, r) {
+ const i = this.gen.path(t, r);
+ return this.draw(i), i;
+ }
+}
+const xn = "http://www.w3.org/2000/svg";
+class gk {
+ constructor(t, r) {
+ this.svg = t, this.gen = new pa(r);
+ }
+ draw(t) {
+ const r = t.sets || [], i = t.options || this.getDefaultOptions(), n = this.svg.ownerDocument || window.document, a = n.createElementNS(xn, "g"), o = t.options.fixedDecimalPlaceDigits;
+ for (const s of r) {
+ let l = null;
+ switch (s.type) {
+ case "path":
+ l = n.createElementNS(xn, "path"), l.setAttribute("d", this.opsToPath(s, o)), l.setAttribute("stroke", i.stroke), l.setAttribute("stroke-width", i.strokeWidth + ""), l.setAttribute("fill", "none"), i.strokeLineDash && l.setAttribute("stroke-dasharray", i.strokeLineDash.join(" ").trim()), i.strokeLineDashOffset && l.setAttribute("stroke-dashoffset", `${i.strokeLineDashOffset}`);
+ break;
+ case "fillPath":
+ l = n.createElementNS(xn, "path"), l.setAttribute("d", this.opsToPath(s, o)), l.setAttribute("stroke", "none"), l.setAttribute("stroke-width", "0"), l.setAttribute("fill", i.fill || ""), t.shape !== "curve" && t.shape !== "polygon" || l.setAttribute("fill-rule", "evenodd");
+ break;
+ case "fillSketch":
+ l = this.fillSketch(n, s, i);
+ }
+ l && a.appendChild(l);
+ }
+ return a;
+ }
+ fillSketch(t, r, i) {
+ let n = i.fillWeight;
+ n < 0 && (n = i.strokeWidth / 2);
+ const a = t.createElementNS(xn, "path");
+ return a.setAttribute("d", this.opsToPath(r, i.fixedDecimalPlaceDigits)), a.setAttribute("stroke", i.fill || ""), a.setAttribute("stroke-width", n + ""), a.setAttribute("fill", "none"), i.fillLineDash && a.setAttribute("stroke-dasharray", i.fillLineDash.join(" ").trim()), i.fillLineDashOffset && a.setAttribute("stroke-dashoffset", `${i.fillLineDashOffset}`), a;
+ }
+ get generator() {
+ return this.gen;
+ }
+ getDefaultOptions() {
+ return this.gen.defaultOptions;
+ }
+ opsToPath(t, r) {
+ return this.gen.opsToPath(t, r);
+ }
+ line(t, r, i, n, a) {
+ const o = this.gen.line(t, r, i, n, a);
+ return this.draw(o);
+ }
+ rectangle(t, r, i, n, a) {
+ const o = this.gen.rectangle(t, r, i, n, a);
+ return this.draw(o);
+ }
+ ellipse(t, r, i, n, a) {
+ const o = this.gen.ellipse(t, r, i, n, a);
+ return this.draw(o);
+ }
+ circle(t, r, i, n) {
+ const a = this.gen.circle(t, r, i, n);
+ return this.draw(a);
+ }
+ linearPath(t, r) {
+ const i = this.gen.linearPath(t, r);
+ return this.draw(i);
+ }
+ polygon(t, r) {
+ const i = this.gen.polygon(t, r);
+ return this.draw(i);
+ }
+ arc(t, r, i, n, a, o, s = !1, l) {
+ const c = this.gen.arc(t, r, i, n, a, o, s, l);
+ return this.draw(c);
+ }
+ curve(t, r) {
+ const i = this.gen.curve(t, r);
+ return this.draw(i);
+ }
+ path(t, r) {
+ const i = this.gen.path(t, r);
+ return this.draw(i);
+ }
+}
+var j = { canvas: (e, t) => new dk(e, t), svg: (e, t) => new gk(e, t), generator: (e) => new pa(e), newSeed: () => pa.newSeed() }, it = /* @__PURE__ */ d(async (e, t, r) => {
+ var u, f;
+ let i;
+ const n = t.useHtmlLabels || Lt((u = ut()) == null ? void 0 : u.htmlLabels);
+ r ? i = r : i = "node default";
+ const a = e.insert("g").attr("class", i).attr("id", t.domId || t.id), o = a.insert("g").attr("class", "label").attr("style", Yt(t.labelStyle));
+ let s;
+ t.label === void 0 ? s = "" : s = typeof t.label == "string" ? t.label : t.label[0];
+ const l = await Ke(o, cr(xr(s), ut()), {
+ useHtmlLabels: n,
+ width: t.width || ((f = ut().flowchart) == null ? void 0 : f.wrappingWidth),
+ // @ts-expect-error -- This is currently not used. Should this be `classes` instead?
+ cssClasses: "markdown-node-label",
+ style: t.labelStyle,
+ addSvgBackground: !!t.icon || !!t.img
+ });
+ let c = l.getBBox();
+ const h = ((t == null ? void 0 : t.padding) ?? 0) / 2;
+ if (n) {
+ const p = l.children[0], g = ct(l), m = p.getElementsByTagName("img");
+ if (m) {
+ const y = s.replace(/
]*>/g, "").trim() === "";
+ await Promise.all(
+ [...m].map(
+ (x) => new Promise((b) => {
+ function C() {
+ if (x.style.display = "flex", x.style.flexDirection = "column", y) {
+ const k = ut().fontSize ? ut().fontSize : window.getComputedStyle(document.body).fontSize, v = 5, [_ = Ah.fontSize] = $a(k), S = _ * v + "px";
+ x.style.minWidth = S, x.style.maxWidth = S;
+ } else
+ x.style.width = "100%";
+ b(x);
+ }
+ d(C, "setupImage"), setTimeout(() => {
+ x.complete && C();
+ }), x.addEventListener("error", C), x.addEventListener("load", C);
+ })
+ )
+ );
+ }
+ c = p.getBoundingClientRect(), g.attr("width", c.width), g.attr("height", c.height);
+ }
+ return n ? o.attr("transform", "translate(" + -c.width / 2 + ", " + -c.height / 2 + ")") : o.attr("transform", "translate(0, " + -c.height / 2 + ")"), t.centerLabel && o.attr("transform", "translate(" + -c.width / 2 + ", " + -c.height / 2 + ")"), o.insert("rect", ":first-child"), { shapeSvg: a, bbox: c, halfPadding: h, label: o };
+}, "labelHelper"), gs = /* @__PURE__ */ d(async (e, t, r) => {
+ var l, c, h, u, f, p;
+ const i = r.useHtmlLabels || Lt((c = (l = ut()) == null ? void 0 : l.flowchart) == null ? void 0 : c.htmlLabels), n = e.insert("g").attr("class", "label").attr("style", r.labelStyle || ""), a = await Ke(n, cr(xr(t), ut()), {
+ useHtmlLabels: i,
+ width: r.width || ((u = (h = ut()) == null ? void 0 : h.flowchart) == null ? void 0 : u.wrappingWidth),
+ style: r.labelStyle,
+ addSvgBackground: !!r.icon || !!r.img
+ });
+ let o = a.getBBox();
+ const s = r.padding / 2;
+ if (Lt((p = (f = ut()) == null ? void 0 : f.flowchart) == null ? void 0 : p.htmlLabels)) {
+ const g = a.children[0], m = ct(a);
+ o = g.getBoundingClientRect(), m.attr("width", o.width), m.attr("height", o.height);
+ }
+ return i ? n.attr("transform", "translate(" + -o.width / 2 + ", " + -o.height / 2 + ")") : n.attr("transform", "translate(0, " + -o.height / 2 + ")"), r.centerLabel && n.attr("transform", "translate(" + -o.width / 2 + ", " + -o.height / 2 + ")"), n.insert("rect", ":first-child"), { shapeSvg: e, bbox: o, halfPadding: s, label: n };
+}, "insertLabel"), V = /* @__PURE__ */ d((e, t) => {
+ const r = t.node().getBBox();
+ e.width = r.width, e.height = r.height;
+}, "updateNodeBounds"), et = /* @__PURE__ */ d((e, t) => (e.look === "handDrawn" ? "rough-node" : "node") + " " + e.cssClasses + " " + (t || ""), "getNodeClasses");
+function ht(e) {
+ const t = e.map((r, i) => `${i === 0 ? "M" : "L"}${r.x},${r.y}`);
+ return t.push("Z"), t.join(" ");
+}
+d(ht, "createPathFromPoints");
+function Ve(e, t, r, i, n, a) {
+ const o = [], l = r - e, c = i - t, h = l / a, u = 2 * Math.PI / h, f = t + c / 2;
+ for (let p = 0; p <= 50; p++) {
+ const g = p / 50, m = e + g * l, y = f + n * Math.sin(u * (m - e));
+ o.push({ x: m, y });
+ }
+ return o;
+}
+d(Ve, "generateFullSineWavePoints");
+function pl(e, t, r, i, n, a) {
+ const o = [], s = n * Math.PI / 180, h = (a * Math.PI / 180 - s) / (i - 1);
+ for (let u = 0; u < i; u++) {
+ const f = s + u * h, p = e + r * Math.cos(f), g = t + r * Math.sin(f);
+ o.push({ x: -p, y: -g });
+ }
+ return o;
+}
+d(pl, "generateCirclePoints");
+var mk = /* @__PURE__ */ d((e, t) => {
+ var r = e.x, i = e.y, n = t.x - r, a = t.y - i, o = e.width / 2, s = e.height / 2, l, c;
+ return Math.abs(a) * o > Math.abs(n) * s ? (a < 0 && (s = -s), l = a === 0 ? 0 : s * n / a, c = s) : (n < 0 && (o = -o), l = o, c = n === 0 ? 0 : o * a / n), { x: r + l, y: i + c };
+}, "intersectRect"), ri = mk;
+function xd(e, t) {
+ t && e.attr("style", t);
+}
+d(xd, "applyStyle");
+async function bd(e) {
+ const t = ct(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject")), r = t.append("xhtml:div");
+ let i = e.label;
+ e.label && Ur(e.label) && (i = await bo(e.label.replace(Jr.lineBreakRegex, `
+`), ut()));
+ const n = e.isNode ? "nodeLabel" : "edgeLabel";
+ return r.html(
+ '" + i + ""
+ ), xd(r, e.labelStyle), r.style("display", "inline-block"), r.style("padding-right", "1px"), r.style("white-space", "nowrap"), r.attr("xmlns", "http://www.w3.org/1999/xhtml"), t.node();
+}
+d(bd, "addHtmlLabel");
+var yk = /* @__PURE__ */ d(async (e, t, r, i) => {
+ let n = e || "";
+ if (typeof n == "object" && (n = n[0]), Lt(ut().flowchart.htmlLabels)) {
+ n = n.replace(/\\n|\n/g, "
"), $.info("vertexText" + n);
+ const a = {
+ isNode: i,
+ label: xr(n).replace(
+ /fa[blrs]?:fa-[\w-]+/g,
+ (s) => ``
+ ),
+ labelStyle: t && t.replace("fill:", "color:")
+ };
+ return await bd(a);
+ } else {
+ const a = document.createElementNS("http://www.w3.org/2000/svg", "text");
+ a.setAttribute("style", t.replace("color:", "fill:"));
+ let o = [];
+ typeof n == "string" ? o = n.split(/\\n|\n|
/gi) : Array.isArray(n) ? o = n : o = [];
+ for (const s of o) {
+ const l = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ l.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), l.setAttribute("dy", "1em"), l.setAttribute("x", "0"), r ? l.setAttribute("class", "title-row") : l.setAttribute("class", "row"), l.textContent = s.trim(), a.appendChild(l);
+ }
+ return a;
+ }
+}, "createLabel"), sr = yk, ze = /* @__PURE__ */ d((e, t, r, i, n) => [
+ "M",
+ e + n,
+ t,
+ // Move to the first point
+ "H",
+ e + r - n,
+ // Draw horizontal line to the beginning of the right corner
+ "A",
+ n,
+ n,
+ 0,
+ 0,
+ 1,
+ e + r,
+ t + n,
+ // Draw arc to the right top corner
+ "V",
+ t + i - n,
+ // Draw vertical line down to the beginning of the right bottom corner
+ "A",
+ n,
+ n,
+ 0,
+ 0,
+ 1,
+ e + r - n,
+ t + i,
+ // Draw arc to the right bottom corner
+ "H",
+ e + n,
+ // Draw horizontal line to the beginning of the left bottom corner
+ "A",
+ n,
+ n,
+ 0,
+ 0,
+ 1,
+ e,
+ t + i - n,
+ // Draw arc to the left bottom corner
+ "V",
+ t + n,
+ // Draw vertical line up to the beginning of the left top corner
+ "A",
+ n,
+ n,
+ 0,
+ 0,
+ 1,
+ e + n,
+ t,
+ // Draw arc to the left top corner
+ "Z"
+ // Close the path
+].join(" "), "createRoundedRectPathD"), xk = /* @__PURE__ */ d((e) => {
+ const { handDrawnSeed: t } = ut();
+ return {
+ fill: e,
+ hachureAngle: 120,
+ // angle of hachure,
+ hachureGap: 4,
+ fillWeight: 2,
+ roughness: 0.7,
+ stroke: e,
+ seed: t
+ };
+}, "solidStateFill"), ii = /* @__PURE__ */ d((e) => {
+ const t = bk([...e.cssCompiledStyles || [], ...e.cssStyles || []]);
+ return { stylesMap: t, stylesArray: [...t] };
+}, "compileStyles"), bk = /* @__PURE__ */ d((e) => {
+ const t = /* @__PURE__ */ new Map();
+ return e.forEach((r) => {
+ const [i, n] = r.split(":");
+ t.set(i.trim(), n == null ? void 0 : n.trim());
+ }), t;
+}, "styles2Map"), _d = /* @__PURE__ */ d((e) => e === "color" || e === "font-size" || e === "font-family" || e === "font-weight" || e === "font-style" || e === "text-decoration" || e === "text-align" || e === "text-transform" || e === "line-height" || e === "letter-spacing" || e === "word-spacing" || e === "text-shadow" || e === "text-overflow" || e === "white-space" || e === "word-wrap" || e === "word-break" || e === "overflow-wrap" || e === "hyphens", "isLabelStyle"), Z = /* @__PURE__ */ d((e) => {
+ const { stylesArray: t } = ii(e), r = [], i = [], n = [], a = [];
+ return t.forEach((o) => {
+ const s = o[0];
+ _d(s) ? r.push(o.join(":") + " !important") : (i.push(o.join(":") + " !important"), s.includes("stroke") && n.push(o.join(":") + " !important"), s === "fill" && a.push(o.join(":") + " !important"));
+ }), {
+ labelStyles: r.join(";"),
+ nodeStyles: i.join(";"),
+ stylesArray: t,
+ borderStyles: n,
+ backgroundStyles: a
+ };
+}, "styles2String"), G = /* @__PURE__ */ d((e, t) => {
+ var l;
+ const { themeVariables: r, handDrawnSeed: i } = ut(), { nodeBorder: n, mainBkg: a } = r, { stylesMap: o } = ii(e);
+ return Object.assign(
+ {
+ roughness: 0.7,
+ fill: o.get("fill") || a,
+ fillStyle: "hachure",
+ // solid fill
+ fillWeight: 4,
+ hachureGap: 5.2,
+ stroke: o.get("stroke") || n,
+ seed: i,
+ strokeWidth: ((l = o.get("stroke-width")) == null ? void 0 : l.replace("px", "")) || 1.3,
+ fillLineDash: [0, 0]
+ },
+ t
+ );
+}, "userNodeOverrides"), Cd = /* @__PURE__ */ d(async (e, t) => {
+ $.info("Creating subgraph rect for ", t.id, t);
+ const r = ut(), { themeVariables: i, handDrawnSeed: n } = r, { clusterBkg: a, clusterBorder: o } = i, { labelStyles: s, nodeStyles: l, borderStyles: c, backgroundStyles: h } = Z(t), u = e.insert("g").attr("class", "cluster " + t.cssClasses).attr("id", t.id).attr("data-look", t.look), f = Lt(r.flowchart.htmlLabels), p = u.insert("g").attr("class", "cluster-label "), g = await Ke(p, t.label, {
+ style: t.labelStyle,
+ useHtmlLabels: f,
+ isNode: !0
+ });
+ let m = g.getBBox();
+ if (Lt(r.flowchart.htmlLabels)) {
+ const S = g.children[0], R = ct(g);
+ m = S.getBoundingClientRect(), R.attr("width", m.width), R.attr("height", m.height);
+ }
+ const y = t.width <= m.width + t.padding ? m.width + t.padding : t.width;
+ t.width <= m.width + t.padding ? t.diff = (y - t.width) / 2 - t.padding : t.diff = -t.padding;
+ const x = t.height, b = t.x - y / 2, C = t.y - x / 2;
+ $.trace("Data ", t, JSON.stringify(t));
+ let k;
+ if (t.look === "handDrawn") {
+ const S = j.svg(u), R = G(t, {
+ roughness: 0.7,
+ fill: a,
+ // fill: 'red',
+ stroke: o,
+ fillWeight: 3,
+ seed: n
+ }), P = S.path(ze(b, C, y, x, 0), R);
+ k = u.insert(() => ($.debug("Rough node insert CXC", P), P), ":first-child"), k.select("path:nth-child(2)").attr("style", c.join(";")), k.select("path").attr("style", h.join(";").replace("fill", "stroke"));
+ } else
+ k = u.insert("rect", ":first-child"), k.attr("style", l).attr("rx", t.rx).attr("ry", t.ry).attr("x", b).attr("y", C).attr("width", y).attr("height", x);
+ const { subGraphTitleTopMargin: v } = Eo(r);
+ if (p.attr(
+ "transform",
+ // This puts the label on top of the box instead of inside it
+ `translate(${t.x - m.width / 2}, ${t.y - t.height / 2 + v})`
+ ), s) {
+ const S = p.select("span");
+ S && S.attr("style", s);
+ }
+ const _ = k.node().getBBox();
+ return t.offsetX = 0, t.width = _.width, t.height = _.height, t.offsetY = m.height - t.padding / 2, t.intersect = function(S) {
+ return ri(t, S);
+ }, { cluster: u, labelBBox: m };
+}, "rect"), _k = /* @__PURE__ */ d((e, t) => {
+ const r = e.insert("g").attr("class", "note-cluster").attr("id", t.id), i = r.insert("rect", ":first-child"), n = 0 * t.padding, a = n / 2;
+ i.attr("rx", t.rx).attr("ry", t.ry).attr("x", t.x - t.width / 2 - a).attr("y", t.y - t.height / 2 - a).attr("width", t.width + n).attr("height", t.height + n).attr("fill", "none");
+ const o = i.node().getBBox();
+ return t.width = o.width, t.height = o.height, t.intersect = function(s) {
+ return ri(t, s);
+ }, { cluster: r, labelBBox: { width: 0, height: 0 } };
+}, "noteGroup"), Ck = /* @__PURE__ */ d(async (e, t) => {
+ const r = ut(), { themeVariables: i, handDrawnSeed: n } = r, { altBackground: a, compositeBackground: o, compositeTitleBackground: s, nodeBorder: l } = i, c = e.insert("g").attr("class", t.cssClasses).attr("id", t.id).attr("data-id", t.id).attr("data-look", t.look), h = c.insert("g", ":first-child"), u = c.insert("g").attr("class", "cluster-label");
+ let f = c.append("rect");
+ const p = u.node().appendChild(await sr(t.label, t.labelStyle, void 0, !0));
+ let g = p.getBBox();
+ if (Lt(r.flowchart.htmlLabels)) {
+ const P = p.children[0], O = ct(p);
+ g = P.getBoundingClientRect(), O.attr("width", g.width), O.attr("height", g.height);
+ }
+ const m = 0 * t.padding, y = m / 2, x = (t.width <= g.width + t.padding ? g.width + t.padding : t.width) + m;
+ t.width <= g.width + t.padding ? t.diff = (x - t.width) / 2 - t.padding : t.diff = -t.padding;
+ const b = t.height + m, C = t.height + m - g.height - 6, k = t.x - x / 2, v = t.y - b / 2;
+ t.width = x;
+ const _ = t.y - t.height / 2 - y + g.height + 2;
+ let S;
+ if (t.look === "handDrawn") {
+ const P = t.cssClasses.includes("statediagram-cluster-alt"), O = j.svg(c), E = t.rx || t.ry ? O.path(ze(k, v, x, b, 10), {
+ roughness: 0.7,
+ fill: s,
+ fillStyle: "solid",
+ stroke: l,
+ seed: n
+ }) : O.rectangle(k, v, x, b, { seed: n });
+ S = c.insert(() => E, ":first-child");
+ const z = O.rectangle(k, _, x, C, {
+ fill: P ? a : o,
+ fillStyle: P ? "hachure" : "solid",
+ stroke: l,
+ seed: n
+ });
+ S = c.insert(() => E, ":first-child"), f = c.insert(() => z);
+ } else
+ S = h.insert("rect", ":first-child"), S.attr("class", "outer").attr("x", k).attr("y", v).attr("width", x).attr("height", b).attr("data-look", t.look), f.attr("class", "inner").attr("x", k).attr("y", _).attr("width", x).attr("height", C);
+ u.attr(
+ "transform",
+ `translate(${t.x - g.width / 2}, ${v + 1 - (Lt(r.flowchart.htmlLabels) ? 0 : 3)})`
+ );
+ const R = S.node().getBBox();
+ return t.height = R.height, t.offsetX = 0, t.offsetY = g.height - t.padding / 2, t.labelBBox = g, t.intersect = function(P) {
+ return ri(t, P);
+ }, { cluster: c, labelBBox: g };
+}, "roundedWithTitle"), wk = /* @__PURE__ */ d(async (e, t) => {
+ $.info("Creating subgraph rect for ", t.id, t);
+ const r = ut(), { themeVariables: i, handDrawnSeed: n } = r, { clusterBkg: a, clusterBorder: o } = i, { labelStyles: s, nodeStyles: l, borderStyles: c, backgroundStyles: h } = Z(t), u = e.insert("g").attr("class", "cluster " + t.cssClasses).attr("id", t.id).attr("data-look", t.look), f = Lt(r.flowchart.htmlLabels), p = u.insert("g").attr("class", "cluster-label "), g = await Ke(p, t.label, {
+ style: t.labelStyle,
+ useHtmlLabels: f,
+ isNode: !0,
+ width: t.width
+ });
+ let m = g.getBBox();
+ if (Lt(r.flowchart.htmlLabels)) {
+ const S = g.children[0], R = ct(g);
+ m = S.getBoundingClientRect(), R.attr("width", m.width), R.attr("height", m.height);
+ }
+ const y = t.width <= m.width + t.padding ? m.width + t.padding : t.width;
+ t.width <= m.width + t.padding ? t.diff = (y - t.width) / 2 - t.padding : t.diff = -t.padding;
+ const x = t.height, b = t.x - y / 2, C = t.y - x / 2;
+ $.trace("Data ", t, JSON.stringify(t));
+ let k;
+ if (t.look === "handDrawn") {
+ const S = j.svg(u), R = G(t, {
+ roughness: 0.7,
+ fill: a,
+ // fill: 'red',
+ stroke: o,
+ fillWeight: 4,
+ seed: n
+ }), P = S.path(ze(b, C, y, x, t.rx), R);
+ k = u.insert(() => ($.debug("Rough node insert CXC", P), P), ":first-child"), k.select("path:nth-child(2)").attr("style", c.join(";")), k.select("path").attr("style", h.join(";").replace("fill", "stroke"));
+ } else
+ k = u.insert("rect", ":first-child"), k.attr("style", l).attr("rx", t.rx).attr("ry", t.ry).attr("x", b).attr("y", C).attr("width", y).attr("height", x);
+ const { subGraphTitleTopMargin: v } = Eo(r);
+ if (p.attr(
+ "transform",
+ // This puts the label on top of the box instead of inside it
+ `translate(${t.x - m.width / 2}, ${t.y - t.height / 2 + v})`
+ ), s) {
+ const S = p.select("span");
+ S && S.attr("style", s);
+ }
+ const _ = k.node().getBBox();
+ return t.offsetX = 0, t.width = _.width, t.height = _.height, t.offsetY = m.height - t.padding / 2, t.intersect = function(S) {
+ return ri(t, S);
+ }, { cluster: u, labelBBox: m };
+}, "kanbanSection"), vk = /* @__PURE__ */ d((e, t) => {
+ const r = ut(), { themeVariables: i, handDrawnSeed: n } = r, { nodeBorder: a } = i, o = e.insert("g").attr("class", t.cssClasses).attr("id", t.id).attr("data-look", t.look), s = o.insert("g", ":first-child"), l = 0 * t.padding, c = t.width + l;
+ t.diff = -t.padding;
+ const h = t.height + l, u = t.x - c / 2, f = t.y - h / 2;
+ t.width = c;
+ let p;
+ if (t.look === "handDrawn") {
+ const y = j.svg(o).rectangle(u, f, c, h, {
+ fill: "lightgrey",
+ roughness: 0.5,
+ strokeLineDash: [5],
+ stroke: a,
+ seed: n
+ });
+ p = o.insert(() => y, ":first-child");
+ } else
+ p = s.insert("rect", ":first-child"), p.attr("class", "divider").attr("x", u).attr("y", f).attr("width", c).attr("height", h).attr("data-look", t.look);
+ const g = p.node().getBBox();
+ return t.height = g.height, t.offsetX = 0, t.offsetY = 0, t.intersect = function(m) {
+ return ri(t, m);
+ }, { cluster: o, labelBBox: {} };
+}, "divider"), kk = Cd, Sk = {
+ rect: Cd,
+ squareRect: kk,
+ roundedWithTitle: Ck,
+ noteGroup: _k,
+ divider: vk,
+ kanbanSection: wk
+}, wd = /* @__PURE__ */ new Map(), Tk = /* @__PURE__ */ d(async (e, t) => {
+ const r = t.shape || "rect", i = await Sk[r](e, t);
+ return wd.set(t.id, i), i;
+}, "insertCluster"), UL = /* @__PURE__ */ d(() => {
+ wd = /* @__PURE__ */ new Map();
+}, "clear");
+function vd(e, t) {
+ return e.intersect(t);
+}
+d(vd, "intersectNode");
+var Bk = vd;
+function kd(e, t, r, i) {
+ var n = e.x, a = e.y, o = n - i.x, s = a - i.y, l = Math.sqrt(t * t * s * s + r * r * o * o), c = Math.abs(t * r * o / l);
+ i.x < n && (c = -c);
+ var h = Math.abs(t * r * s / l);
+ return i.y < a && (h = -h), { x: n + c, y: a + h };
+}
+d(kd, "intersectEllipse");
+var Sd = kd;
+function Td(e, t, r) {
+ return Sd(e, t, t, r);
+}
+d(Td, "intersectCircle");
+var Lk = Td;
+function Bd(e, t, r, i) {
+ var n, a, o, s, l, c, h, u, f, p, g, m, y, x, b;
+ if (n = t.y - e.y, o = e.x - t.x, l = t.x * e.y - e.x * t.y, f = n * r.x + o * r.y + l, p = n * i.x + o * i.y + l, !(f !== 0 && p !== 0 && so(f, p)) && (a = i.y - r.y, s = r.x - i.x, c = i.x * r.y - r.x * i.y, h = a * e.x + s * e.y + c, u = a * t.x + s * t.y + c, !(h !== 0 && u !== 0 && so(h, u)) && (g = n * s - a * o, g !== 0)))
+ return m = Math.abs(g / 2), y = o * c - s * l, x = y < 0 ? (y - m) / g : (y + m) / g, y = a * l - n * c, b = y < 0 ? (y - m) / g : (y + m) / g, { x, y: b };
+}
+d(Bd, "intersectLine");
+function so(e, t) {
+ return e * t > 0;
+}
+d(so, "sameSign");
+var Ak = Bd;
+function Ld(e, t, r) {
+ let i = e.x, n = e.y, a = [], o = Number.POSITIVE_INFINITY, s = Number.POSITIVE_INFINITY;
+ typeof t.forEach == "function" ? t.forEach(function(h) {
+ o = Math.min(o, h.x), s = Math.min(s, h.y);
+ }) : (o = Math.min(o, t.x), s = Math.min(s, t.y));
+ let l = i - e.width / 2 - o, c = n - e.height / 2 - s;
+ for (let h = 0; h < t.length; h++) {
+ let u = t[h], f = t[h < t.length - 1 ? h + 1 : 0], p = Ak(
+ e,
+ r,
+ { x: l + u.x, y: c + u.y },
+ { x: l + f.x, y: c + f.y }
+ );
+ p && a.push(p);
+ }
+ return a.length ? (a.length > 1 && a.sort(function(h, u) {
+ let f = h.x - r.x, p = h.y - r.y, g = Math.sqrt(f * f + p * p), m = u.x - r.x, y = u.y - r.y, x = Math.sqrt(m * m + y * y);
+ return g < x ? -1 : g === x ? 0 : 1;
+ }), a[0]) : e;
+}
+d(Ld, "intersectPolygon");
+var Mk = Ld, H = {
+ node: Bk,
+ circle: Lk,
+ ellipse: Sd,
+ polygon: Mk,
+ rect: ri
+};
+function Ad(e, t) {
+ const { labelStyles: r } = Z(t);
+ t.labelStyle = r;
+ const i = et(t);
+ let n = i;
+ i || (n = "anchor");
+ const a = e.insert("g").attr("class", n).attr("id", t.domId || t.id), o = 1, { cssStyles: s } = t, l = j.svg(a), c = G(t, { fill: "black", stroke: "none", fillStyle: "solid" });
+ t.look !== "handDrawn" && (c.roughness = 0);
+ const h = l.circle(0, 0, o * 2, c), u = a.insert(() => h, ":first-child");
+ return u.attr("class", "anchor").attr("style", Yt(s)), V(t, u), t.intersect = function(f) {
+ return $.info("Circle intersect", t, o, f), H.circle(t, o, f);
+ }, a;
+}
+d(Ad, "anchor");
+function oo(e, t, r, i, n, a, o) {
+ const l = (e + r) / 2, c = (t + i) / 2, h = Math.atan2(i - t, r - e), u = (r - e) / 2, f = (i - t) / 2, p = u / n, g = f / a, m = Math.sqrt(p ** 2 + g ** 2);
+ if (m > 1)
+ throw new Error("The given radii are too small to create an arc between the points.");
+ const y = Math.sqrt(1 - m ** 2), x = l + y * a * Math.sin(h) * (o ? -1 : 1), b = c - y * n * Math.cos(h) * (o ? -1 : 1), C = Math.atan2((t - b) / a, (e - x) / n);
+ let v = Math.atan2((i - b) / a, (r - x) / n) - C;
+ o && v < 0 && (v += 2 * Math.PI), !o && v > 0 && (v -= 2 * Math.PI);
+ const _ = [];
+ for (let S = 0; S < 20; S++) {
+ const R = S / 19, P = C + R * v, O = x + n * Math.cos(P), E = b + a * Math.sin(P);
+ _.push({ x: O, y: E });
+ }
+ return _;
+}
+d(oo, "generateArcPoints");
+async function Md(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = a.width + t.padding + 20, s = a.height + t.padding, l = s / 2, c = l / (2.5 + s / 50), { cssStyles: h } = t, u = [
+ { x: o / 2, y: -s / 2 },
+ { x: -o / 2, y: -s / 2 },
+ ...oo(-o / 2, -s / 2, -o / 2, s / 2, c, l, !1),
+ { x: o / 2, y: s / 2 },
+ ...oo(o / 2, s / 2, o / 2, -s / 2, c, l, !0)
+ ], f = j.svg(n), p = G(t, {});
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = ht(u), m = f.path(g, p), y = n.insert(() => m, ":first-child");
+ return y.attr("class", "basic label-container"), h && t.look !== "handDrawn" && y.selectAll("path").attr("style", h), i && t.look !== "handDrawn" && y.selectAll("path").attr("style", i), y.attr("transform", `translate(${c / 2}, 0)`), V(t, y), t.intersect = function(x) {
+ return H.polygon(t, u, x);
+ }, n;
+}
+d(Md, "bowTieRect");
+function We(e, t, r, i) {
+ return e.insert("polygon", ":first-child").attr(
+ "points",
+ i.map(function(n) {
+ return n.x + "," + n.y;
+ }).join(" ")
+ ).attr("class", "label-container").attr("transform", "translate(" + -t / 2 + "," + r / 2 + ")");
+}
+d(We, "insertPolygonShape");
+async function Ed(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = a.height + t.padding, s = 12, l = a.width + t.padding + s, c = 0, h = l, u = -o, f = 0, p = [
+ { x: c + s, y: u },
+ { x: h, y: u },
+ { x: h, y: f },
+ { x: c, y: f },
+ { x: c, y: u + s },
+ { x: c + s, y: u }
+ ];
+ let g;
+ const { cssStyles: m } = t;
+ if (t.look === "handDrawn") {
+ const y = j.svg(n), x = G(t, {}), b = ht(p), C = y.path(b, x);
+ g = n.insert(() => C, ":first-child").attr("transform", `translate(${-l / 2}, ${o / 2})`), m && g.attr("style", m);
+ } else
+ g = We(n, l, o, p);
+ return i && g.attr("style", i), V(t, g), t.intersect = function(y) {
+ return H.polygon(t, p, y);
+ }, n;
+}
+d(Ed, "card");
+function Fd(e, t) {
+ const { nodeStyles: r } = Z(t);
+ t.label = "";
+ const i = e.insert("g").attr("class", et(t)).attr("id", t.domId ?? t.id), { cssStyles: n } = t, a = Math.max(28, t.width ?? 0), o = [
+ { x: 0, y: a / 2 },
+ { x: a / 2, y: 0 },
+ { x: 0, y: -a / 2 },
+ { x: -a / 2, y: 0 }
+ ], s = j.svg(i), l = G(t, {});
+ t.look !== "handDrawn" && (l.roughness = 0, l.fillStyle = "solid");
+ const c = ht(o), h = s.path(c, l), u = i.insert(() => h, ":first-child");
+ return n && t.look !== "handDrawn" && u.selectAll("path").attr("style", n), r && t.look !== "handDrawn" && u.selectAll("path").attr("style", r), t.width = 28, t.height = 28, t.intersect = function(f) {
+ return H.polygon(t, o, f);
+ }, i;
+}
+d(Fd, "choice");
+async function $d(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, halfPadding: o } = await it(e, t, et(t)), s = a.width / 2 + o;
+ let l;
+ const { cssStyles: c } = t;
+ if (t.look === "handDrawn") {
+ const h = j.svg(n), u = G(t, {}), f = h.circle(0, 0, s * 2, u);
+ l = n.insert(() => f, ":first-child"), l.attr("class", "basic label-container").attr("style", Yt(c));
+ } else
+ l = n.insert("circle", ":first-child").attr("class", "basic label-container").attr("style", i).attr("r", s).attr("cx", 0).attr("cy", 0);
+ return V(t, l), t.intersect = function(h) {
+ return $.info("Circle intersect", t, s, h), H.circle(t, s, h);
+ }, n;
+}
+d($d, "circle");
+function Od(e) {
+ const t = Math.cos(Math.PI / 4), r = Math.sin(Math.PI / 4), i = e * 2, n = { x: i / 2 * t, y: i / 2 * r }, a = { x: -(i / 2) * t, y: i / 2 * r }, o = { x: -(i / 2) * t, y: -(i / 2) * r }, s = { x: i / 2 * t, y: -(i / 2) * r };
+ return `M ${a.x},${a.y} L ${s.x},${s.y}
+ M ${n.x},${n.y} L ${o.x},${o.y}`;
+}
+d(Od, "createLine");
+function Dd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r, t.label = "";
+ const n = e.insert("g").attr("class", et(t)).attr("id", t.domId ?? t.id), a = Math.max(30, (t == null ? void 0 : t.width) ?? 0), { cssStyles: o } = t, s = j.svg(n), l = G(t, {});
+ t.look !== "handDrawn" && (l.roughness = 0, l.fillStyle = "solid");
+ const c = s.circle(0, 0, a * 2, l), h = Od(a), u = s.path(h, l), f = n.insert(() => c, ":first-child");
+ return f.insert(() => u), o && t.look !== "handDrawn" && f.selectAll("path").attr("style", o), i && t.look !== "handDrawn" && f.selectAll("path").attr("style", i), V(t, f), t.intersect = function(p) {
+ return $.info("crossedCircle intersect", t, { radius: a, point: p }), H.circle(t, a, p);
+ }, n;
+}
+d(Dd, "crossedCircle");
+function Ee(e, t, r, i = 100, n = 0, a = 180) {
+ const o = [], s = n * Math.PI / 180, h = (a * Math.PI / 180 - s) / (i - 1);
+ for (let u = 0; u < i; u++) {
+ const f = s + u * h, p = e + r * Math.cos(f), g = t + r * Math.sin(f);
+ o.push({ x: -p, y: -g });
+ }
+ return o;
+}
+d(Ee, "generateCirclePoints");
+async function Rd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = a.width + (t.padding ?? 0), l = a.height + (t.padding ?? 0), c = Math.max(5, l * 0.1), { cssStyles: h } = t, u = [
+ ...Ee(s / 2, -l / 2, c, 30, -90, 0),
+ { x: -s / 2 - c, y: c },
+ ...Ee(s / 2 + c * 2, -c, c, 20, -180, -270),
+ ...Ee(s / 2 + c * 2, c, c, 20, -90, -180),
+ { x: -s / 2 - c, y: -l / 2 },
+ ...Ee(s / 2, l / 2, c, 20, 0, 90)
+ ], f = [
+ { x: s / 2, y: -l / 2 - c },
+ { x: -s / 2, y: -l / 2 - c },
+ ...Ee(s / 2, -l / 2, c, 20, -90, 0),
+ { x: -s / 2 - c, y: -c },
+ ...Ee(s / 2 + s * 0.1, -c, c, 20, -180, -270),
+ ...Ee(s / 2 + s * 0.1, c, c, 20, -90, -180),
+ { x: -s / 2 - c, y: l / 2 },
+ ...Ee(s / 2, l / 2, c, 20, 0, 90),
+ { x: -s / 2, y: l / 2 + c },
+ { x: s / 2, y: l / 2 + c }
+ ], p = j.svg(n), g = G(t, { fill: "none" });
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const y = ht(u).replace("Z", ""), x = p.path(y, g), b = ht(f), C = p.path(b, { ...g }), k = n.insert("g", ":first-child");
+ return k.insert(() => C, ":first-child").attr("stroke-opacity", 0), k.insert(() => x, ":first-child"), k.attr("class", "text"), h && t.look !== "handDrawn" && k.selectAll("path").attr("style", h), i && t.look !== "handDrawn" && k.selectAll("path").attr("style", i), k.attr("transform", `translate(${c}, 0)`), o.attr(
+ "transform",
+ `translate(${-s / 2 + c - (a.x - (a.left ?? 0))},${-l / 2 + (t.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, k), t.intersect = function(v) {
+ return H.polygon(t, f, v);
+ }, n;
+}
+d(Rd, "curlyBraceLeft");
+function Fe(e, t, r, i = 100, n = 0, a = 180) {
+ const o = [], s = n * Math.PI / 180, h = (a * Math.PI / 180 - s) / (i - 1);
+ for (let u = 0; u < i; u++) {
+ const f = s + u * h, p = e + r * Math.cos(f), g = t + r * Math.sin(f);
+ o.push({ x: p, y: g });
+ }
+ return o;
+}
+d(Fe, "generateCirclePoints");
+async function Id(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = a.width + (t.padding ?? 0), l = a.height + (t.padding ?? 0), c = Math.max(5, l * 0.1), { cssStyles: h } = t, u = [
+ ...Fe(s / 2, -l / 2, c, 20, -90, 0),
+ { x: s / 2 + c, y: -c },
+ ...Fe(s / 2 + c * 2, -c, c, 20, -180, -270),
+ ...Fe(s / 2 + c * 2, c, c, 20, -90, -180),
+ { x: s / 2 + c, y: l / 2 },
+ ...Fe(s / 2, l / 2, c, 20, 0, 90)
+ ], f = [
+ { x: -s / 2, y: -l / 2 - c },
+ { x: s / 2, y: -l / 2 - c },
+ ...Fe(s / 2, -l / 2, c, 20, -90, 0),
+ { x: s / 2 + c, y: -c },
+ ...Fe(s / 2 + c * 2, -c, c, 20, -180, -270),
+ ...Fe(s / 2 + c * 2, c, c, 20, -90, -180),
+ { x: s / 2 + c, y: l / 2 },
+ ...Fe(s / 2, l / 2, c, 20, 0, 90),
+ { x: s / 2, y: l / 2 + c },
+ { x: -s / 2, y: l / 2 + c }
+ ], p = j.svg(n), g = G(t, { fill: "none" });
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const y = ht(u).replace("Z", ""), x = p.path(y, g), b = ht(f), C = p.path(b, { ...g }), k = n.insert("g", ":first-child");
+ return k.insert(() => C, ":first-child").attr("stroke-opacity", 0), k.insert(() => x, ":first-child"), k.attr("class", "text"), h && t.look !== "handDrawn" && k.selectAll("path").attr("style", h), i && t.look !== "handDrawn" && k.selectAll("path").attr("style", i), k.attr("transform", `translate(${-c}, 0)`), o.attr(
+ "transform",
+ `translate(${-s / 2 + (t.padding ?? 0) / 2 - (a.x - (a.left ?? 0))},${-l / 2 + (t.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, k), t.intersect = function(v) {
+ return H.polygon(t, f, v);
+ }, n;
+}
+d(Id, "curlyBraceRight");
+function Et(e, t, r, i = 100, n = 0, a = 180) {
+ const o = [], s = n * Math.PI / 180, h = (a * Math.PI / 180 - s) / (i - 1);
+ for (let u = 0; u < i; u++) {
+ const f = s + u * h, p = e + r * Math.cos(f), g = t + r * Math.sin(f);
+ o.push({ x: -p, y: -g });
+ }
+ return o;
+}
+d(Et, "generateCirclePoints");
+async function Pd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = a.width + (t.padding ?? 0), l = a.height + (t.padding ?? 0), c = Math.max(5, l * 0.1), { cssStyles: h } = t, u = [
+ ...Et(s / 2, -l / 2, c, 30, -90, 0),
+ { x: -s / 2 - c, y: c },
+ ...Et(s / 2 + c * 2, -c, c, 20, -180, -270),
+ ...Et(s / 2 + c * 2, c, c, 20, -90, -180),
+ { x: -s / 2 - c, y: -l / 2 },
+ ...Et(s / 2, l / 2, c, 20, 0, 90)
+ ], f = [
+ ...Et(-s / 2 + c + c / 2, -l / 2, c, 20, -90, -180),
+ { x: s / 2 - c / 2, y: c },
+ ...Et(-s / 2 - c / 2, -c, c, 20, 0, 90),
+ ...Et(-s / 2 - c / 2, c, c, 20, -90, 0),
+ { x: s / 2 - c / 2, y: -c },
+ ...Et(-s / 2 + c + c / 2, l / 2, c, 30, -180, -270)
+ ], p = [
+ { x: s / 2, y: -l / 2 - c },
+ { x: -s / 2, y: -l / 2 - c },
+ ...Et(s / 2, -l / 2, c, 20, -90, 0),
+ { x: -s / 2 - c, y: -c },
+ ...Et(s / 2 + c * 2, -c, c, 20, -180, -270),
+ ...Et(s / 2 + c * 2, c, c, 20, -90, -180),
+ { x: -s / 2 - c, y: l / 2 },
+ ...Et(s / 2, l / 2, c, 20, 0, 90),
+ { x: -s / 2, y: l / 2 + c },
+ { x: s / 2 - c - c / 2, y: l / 2 + c },
+ ...Et(-s / 2 + c + c / 2, -l / 2, c, 20, -90, -180),
+ { x: s / 2 - c / 2, y: c },
+ ...Et(-s / 2 - c / 2, -c, c, 20, 0, 90),
+ ...Et(-s / 2 - c / 2, c, c, 20, -90, 0),
+ { x: s / 2 - c / 2, y: -c },
+ ...Et(-s / 2 + c + c / 2, l / 2, c, 30, -180, -270)
+ ], g = j.svg(n), m = G(t, { fill: "none" });
+ t.look !== "handDrawn" && (m.roughness = 0, m.fillStyle = "solid");
+ const x = ht(u).replace("Z", ""), b = g.path(x, m), k = ht(f).replace("Z", ""), v = g.path(k, m), _ = ht(p), S = g.path(_, { ...m }), R = n.insert("g", ":first-child");
+ return R.insert(() => S, ":first-child").attr("stroke-opacity", 0), R.insert(() => b, ":first-child"), R.insert(() => v, ":first-child"), R.attr("class", "text"), h && t.look !== "handDrawn" && R.selectAll("path").attr("style", h), i && t.look !== "handDrawn" && R.selectAll("path").attr("style", i), R.attr("transform", `translate(${c - c / 4}, 0)`), o.attr(
+ "transform",
+ `translate(${-s / 2 + (t.padding ?? 0) / 2 - (a.x - (a.left ?? 0))},${-l / 2 + (t.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, R), t.intersect = function(P) {
+ return H.polygon(t, p, P);
+ }, n;
+}
+d(Pd, "curlyBraces");
+async function Nd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = 80, s = 20, l = Math.max(o, (a.width + (t.padding ?? 0) * 2) * 1.25, (t == null ? void 0 : t.width) ?? 0), c = Math.max(s, a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), h = c / 2, { cssStyles: u } = t, f = j.svg(n), p = G(t, {});
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = l, m = c, y = g - h, x = m / 4, b = [
+ { x: y, y: 0 },
+ { x, y: 0 },
+ { x: 0, y: m / 2 },
+ { x, y: m },
+ { x: y, y: m },
+ ...pl(-y, -m / 2, h, 50, 270, 90)
+ ], C = ht(b), k = f.path(C, p), v = n.insert(() => k, ":first-child");
+ return v.attr("class", "basic label-container"), u && t.look !== "handDrawn" && v.selectChildren("path").attr("style", u), i && t.look !== "handDrawn" && v.selectChildren("path").attr("style", i), v.attr("transform", `translate(${-l / 2}, ${-c / 2})`), V(t, v), t.intersect = function(_) {
+ return H.polygon(t, b, _);
+ }, n;
+}
+d(Nd, "curvedTrapezoid");
+var Ek = /* @__PURE__ */ d((e, t, r, i, n, a) => [
+ `M${e},${t + a}`,
+ `a${n},${a} 0,0,0 ${r},0`,
+ `a${n},${a} 0,0,0 ${-r},0`,
+ `l0,${i}`,
+ `a${n},${a} 0,0,0 ${r},0`,
+ `l0,${-i}`
+].join(" "), "createCylinderPathD"), Fk = /* @__PURE__ */ d((e, t, r, i, n, a) => [
+ `M${e},${t + a}`,
+ `M${e + r},${t + a}`,
+ `a${n},${a} 0,0,0 ${-r},0`,
+ `l0,${i}`,
+ `a${n},${a} 0,0,0 ${r},0`,
+ `l0,${-i}`
+].join(" "), "createOuterCylinderPathD"), $k = /* @__PURE__ */ d((e, t, r, i, n, a) => [`M${e - r / 2},${-i / 2}`, `a${n},${a} 0,0,0 ${r},0`].join(" "), "createInnerCylinderPathD");
+async function zd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + t.padding, t.width ?? 0), l = s / 2, c = l / (2.5 + s / 50), h = Math.max(a.height + c + t.padding, t.height ?? 0);
+ let u;
+ const { cssStyles: f } = t;
+ if (t.look === "handDrawn") {
+ const p = j.svg(n), g = Fk(0, 0, s, h, l, c), m = $k(0, c, s, h, l, c), y = p.path(g, G(t, {})), x = p.path(m, G(t, { fill: "none" }));
+ u = n.insert(() => x, ":first-child"), u = n.insert(() => y, ":first-child"), u.attr("class", "basic label-container"), f && u.attr("style", f);
+ } else {
+ const p = Ek(0, 0, s, h, l, c);
+ u = n.insert("path", ":first-child").attr("d", p).attr("class", "basic label-container").attr("style", Yt(f)).attr("style", i);
+ }
+ return u.attr("label-offset-y", c), u.attr("transform", `translate(${-s / 2}, ${-(h / 2 + c)})`), V(t, u), o.attr(
+ "transform",
+ `translate(${-(a.width / 2) - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + (t.padding ?? 0) / 1.5 - (a.y - (a.top ?? 0))})`
+ ), t.intersect = function(p) {
+ const g = H.rect(t, p), m = g.x - (t.x ?? 0);
+ if (l != 0 && (Math.abs(m) < (t.width ?? 0) / 2 || Math.abs(m) == (t.width ?? 0) / 2 && Math.abs(g.y - (t.y ?? 0)) > (t.height ?? 0) / 2 - c)) {
+ let y = c * c * (1 - m * m / (l * l));
+ y > 0 && (y = Math.sqrt(y)), y = c - y, p.y - (t.y ?? 0) > 0 && (y = -y), g.y += y;
+ }
+ return g;
+ }, n;
+}
+d(zd, "cylinder");
+async function Wd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = a.width + t.padding, l = a.height + t.padding, c = l * 0.2, h = -s / 2, u = -l / 2 - c / 2, { cssStyles: f } = t, p = j.svg(n), g = G(t, {});
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const m = [
+ { x: h, y: u + c },
+ { x: -h, y: u + c },
+ { x: -h, y: -u },
+ { x: h, y: -u },
+ { x: h, y: u },
+ { x: -h, y: u },
+ { x: -h, y: u + c }
+ ], y = p.polygon(
+ m.map((b) => [b.x, b.y]),
+ g
+ ), x = n.insert(() => y, ":first-child");
+ return x.attr("class", "basic label-container"), f && t.look !== "handDrawn" && x.selectAll("path").attr("style", f), i && t.look !== "handDrawn" && x.selectAll("path").attr("style", i), o.attr(
+ "transform",
+ `translate(${h + (t.padding ?? 0) / 2 - (a.x - (a.left ?? 0))}, ${u + c + (t.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, x), t.intersect = function(b) {
+ return H.rect(t, b);
+ }, n;
+}
+d(Wd, "dividedRectangle");
+async function qd(e, t) {
+ var f, p;
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, halfPadding: o } = await it(e, t, et(t)), l = a.width / 2 + o + 5, c = a.width / 2 + o;
+ let h;
+ const { cssStyles: u } = t;
+ if (t.look === "handDrawn") {
+ const g = j.svg(n), m = G(t, { roughness: 0.2, strokeWidth: 2.5 }), y = G(t, { roughness: 0.2, strokeWidth: 1.5 }), x = g.circle(0, 0, l * 2, m), b = g.circle(0, 0, c * 2, y);
+ h = n.insert("g", ":first-child"), h.attr("class", Yt(t.cssClasses)).attr("style", Yt(u)), (f = h.node()) == null || f.appendChild(x), (p = h.node()) == null || p.appendChild(b);
+ } else {
+ h = n.insert("g", ":first-child");
+ const g = h.insert("circle", ":first-child"), m = h.insert("circle");
+ h.attr("class", "basic label-container").attr("style", i), g.attr("class", "outer-circle").attr("style", i).attr("r", l).attr("cx", 0).attr("cy", 0), m.attr("class", "inner-circle").attr("style", i).attr("r", c).attr("cx", 0).attr("cy", 0);
+ }
+ return V(t, h), t.intersect = function(g) {
+ return $.info("DoubleCircle intersect", t, l, g), H.circle(t, l, g);
+ }, n;
+}
+d(qd, "doublecircle");
+function Hd(e, t, { config: { themeVariables: r } }) {
+ const { labelStyles: i, nodeStyles: n } = Z(t);
+ t.label = "", t.labelStyle = i;
+ const a = e.insert("g").attr("class", et(t)).attr("id", t.domId ?? t.id), o = 7, { cssStyles: s } = t, l = j.svg(a), { nodeBorder: c } = r, h = G(t, { fillStyle: "solid" });
+ t.look !== "handDrawn" && (h.roughness = 0);
+ const u = l.circle(0, 0, o * 2, h), f = a.insert(() => u, ":first-child");
+ return f.selectAll("path").attr("style", `fill: ${c} !important;`), s && s.length > 0 && t.look !== "handDrawn" && f.selectAll("path").attr("style", s), n && t.look !== "handDrawn" && f.selectAll("path").attr("style", n), V(t, f), t.intersect = function(p) {
+ return $.info("filledCircle intersect", t, { radius: o, point: p }), H.circle(t, o, p);
+ }, a;
+}
+d(Hd, "filledCircle");
+async function jd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = a.width + (t.padding ?? 0), l = s + a.height, c = s + a.height, h = [
+ { x: 0, y: -l },
+ { x: c, y: -l },
+ { x: c / 2, y: 0 }
+ ], { cssStyles: u } = t, f = j.svg(n), p = G(t, {});
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = ht(h), m = f.path(g, p), y = n.insert(() => m, ":first-child").attr("transform", `translate(${-l / 2}, ${l / 2})`);
+ return u && t.look !== "handDrawn" && y.selectChildren("path").attr("style", u), i && t.look !== "handDrawn" && y.selectChildren("path").attr("style", i), t.width = s, t.height = l, V(t, y), o.attr(
+ "transform",
+ `translate(${-a.width / 2 - (a.x - (a.left ?? 0))}, ${-l / 2 + (t.padding ?? 0) / 2 + (a.y - (a.top ?? 0))})`
+ ), t.intersect = function(x) {
+ return $.info("Triangle intersect", t, h, x), H.polygon(t, h, x);
+ }, n;
+}
+d(jd, "flippedTriangle");
+function Yd(e, t, { dir: r, config: { state: i, themeVariables: n } }) {
+ const { nodeStyles: a } = Z(t);
+ t.label = "";
+ const o = e.insert("g").attr("class", et(t)).attr("id", t.domId ?? t.id), { cssStyles: s } = t;
+ let l = Math.max(70, (t == null ? void 0 : t.width) ?? 0), c = Math.max(10, (t == null ? void 0 : t.height) ?? 0);
+ r === "LR" && (l = Math.max(10, (t == null ? void 0 : t.width) ?? 0), c = Math.max(70, (t == null ? void 0 : t.height) ?? 0));
+ const h = -1 * l / 2, u = -1 * c / 2, f = j.svg(o), p = G(t, {
+ stroke: n.lineColor,
+ fill: n.lineColor
+ });
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = f.rectangle(h, u, l, c, p), m = o.insert(() => g, ":first-child");
+ s && t.look !== "handDrawn" && m.selectAll("path").attr("style", s), a && t.look !== "handDrawn" && m.selectAll("path").attr("style", a), V(t, m);
+ const y = (i == null ? void 0 : i.padding) ?? 0;
+ return t.width && t.height && (t.width += y / 2 || 0, t.height += y / 2 || 0), t.intersect = function(x) {
+ return H.rect(t, x);
+ }, o;
+}
+d(Yd, "forkJoin");
+async function Ud(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const n = 80, a = 50, { shapeSvg: o, bbox: s } = await it(e, t, et(t)), l = Math.max(n, s.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), c = Math.max(a, s.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), h = c / 2, { cssStyles: u } = t, f = j.svg(o), p = G(t, {});
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = [
+ { x: -l / 2, y: -c / 2 },
+ { x: l / 2 - h, y: -c / 2 },
+ ...pl(-l / 2 + h, 0, h, 50, 90, 270),
+ { x: l / 2 - h, y: c / 2 },
+ { x: -l / 2, y: c / 2 }
+ ], m = ht(g), y = f.path(m, p), x = o.insert(() => y, ":first-child");
+ return x.attr("class", "basic label-container"), u && t.look !== "handDrawn" && x.selectChildren("path").attr("style", u), i && t.look !== "handDrawn" && x.selectChildren("path").attr("style", i), V(t, x), t.intersect = function(b) {
+ return $.info("Pill intersect", t, { radius: h, point: b }), H.polygon(t, g, b);
+ }, o;
+}
+d(Ud, "halfRoundedRectangle");
+var Ok = /* @__PURE__ */ d((e, t, r, i, n) => [
+ `M${e + n},${t}`,
+ `L${e + r - n},${t}`,
+ `L${e + r},${t - i / 2}`,
+ `L${e + r - n},${t - i}`,
+ `L${e + n},${t - i}`,
+ `L${e},${t - i / 2}`,
+ "Z"
+].join(" "), "createHexagonPathD");
+async function Gd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = 4, s = a.height + t.padding, l = s / o, c = a.width + 2 * l + t.padding, h = [
+ { x: l, y: 0 },
+ { x: c - l, y: 0 },
+ { x: c, y: -s / 2 },
+ { x: c - l, y: -s },
+ { x: l, y: -s },
+ { x: 0, y: -s / 2 }
+ ];
+ let u;
+ const { cssStyles: f } = t;
+ if (t.look === "handDrawn") {
+ const p = j.svg(n), g = G(t, {}), m = Ok(0, 0, c, s, l), y = p.path(m, g);
+ u = n.insert(() => y, ":first-child").attr("transform", `translate(${-c / 2}, ${s / 2})`), f && u.attr("style", f);
+ } else
+ u = We(n, c, s, h);
+ return i && u.attr("style", i), t.width = c, t.height = s, V(t, u), t.intersect = function(p) {
+ return H.polygon(t, h, p);
+ }, n;
+}
+d(Gd, "hexagon");
+async function Xd(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.label = "", t.labelStyle = r;
+ const { shapeSvg: n } = await it(e, t, et(t)), a = Math.max(30, (t == null ? void 0 : t.width) ?? 0), o = Math.max(30, (t == null ? void 0 : t.height) ?? 0), { cssStyles: s } = t, l = j.svg(n), c = G(t, {});
+ t.look !== "handDrawn" && (c.roughness = 0, c.fillStyle = "solid");
+ const h = [
+ { x: 0, y: 0 },
+ { x: a, y: 0 },
+ { x: 0, y: o },
+ { x: a, y: o }
+ ], u = ht(h), f = l.path(u, c), p = n.insert(() => f, ":first-child");
+ return p.attr("class", "basic label-container"), s && t.look !== "handDrawn" && p.selectChildren("path").attr("style", s), i && t.look !== "handDrawn" && p.selectChildren("path").attr("style", i), p.attr("transform", `translate(${-a / 2}, ${-o / 2})`), V(t, p), t.intersect = function(g) {
+ return $.info("Pill intersect", t, { points: h }), H.polygon(t, h, g);
+ }, n;
+}
+d(Xd, "hourglass");
+async function Vd(e, t, { config: { themeVariables: r, flowchart: i } }) {
+ const { labelStyles: n } = Z(t);
+ t.labelStyle = n;
+ const a = t.assetHeight ?? 48, o = t.assetWidth ?? 48, s = Math.max(a, o), l = i == null ? void 0 : i.wrappingWidth;
+ t.width = Math.max(s, l ?? 0);
+ const { shapeSvg: c, bbox: h, label: u } = await it(e, t, "icon-shape default"), f = t.pos === "t", p = s, g = s, { nodeBorder: m } = r, { stylesMap: y } = ii(t), x = -g / 2, b = -p / 2, C = t.label ? 8 : 0, k = j.svg(c), v = G(t, { stroke: "none", fill: "none" });
+ t.look !== "handDrawn" && (v.roughness = 0, v.fillStyle = "solid");
+ const _ = k.rectangle(x, b, g, p, v), S = Math.max(g, h.width), R = p + h.height + C, P = k.rectangle(-S / 2, -R / 2, S, R, {
+ ...v,
+ fill: "transparent",
+ stroke: "none"
+ }), O = c.insert(() => _, ":first-child"), E = c.insert(() => P);
+ if (t.icon) {
+ const z = c.append("g");
+ z.html(
+ `${await Ji(t.icon, {
+ height: s,
+ width: s,
+ fallbackPrefix: ""
+ })}`
+ );
+ const D = z.node().getBBox(), L = D.width, M = D.height, B = D.x, F = D.y;
+ z.attr(
+ "transform",
+ `translate(${-L / 2 - B},${f ? h.height / 2 + C / 2 - M / 2 - F : -h.height / 2 - C / 2 - M / 2 - F})`
+ ), z.attr("style", `color: ${y.get("stroke") ?? m};`);
+ }
+ return u.attr(
+ "transform",
+ `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${f ? -R / 2 : R / 2 - h.height})`
+ ), O.attr(
+ "transform",
+ `translate(0,${f ? h.height / 2 + C / 2 : -h.height / 2 - C / 2})`
+ ), V(t, E), t.intersect = function(z) {
+ if ($.info("iconSquare intersect", t, z), !t.label)
+ return H.rect(t, z);
+ const D = t.x ?? 0, L = t.y ?? 0, M = t.height ?? 0;
+ let B = [];
+ return f ? B = [
+ { x: D - h.width / 2, y: L - M / 2 },
+ { x: D + h.width / 2, y: L - M / 2 },
+ { x: D + h.width / 2, y: L - M / 2 + h.height + C },
+ { x: D + g / 2, y: L - M / 2 + h.height + C },
+ { x: D + g / 2, y: L + M / 2 },
+ { x: D - g / 2, y: L + M / 2 },
+ { x: D - g / 2, y: L - M / 2 + h.height + C },
+ { x: D - h.width / 2, y: L - M / 2 + h.height + C }
+ ] : B = [
+ { x: D - g / 2, y: L - M / 2 },
+ { x: D + g / 2, y: L - M / 2 },
+ { x: D + g / 2, y: L - M / 2 + p },
+ { x: D + h.width / 2, y: L - M / 2 + p },
+ { x: D + h.width / 2 / 2, y: L + M / 2 },
+ { x: D - h.width / 2, y: L + M / 2 },
+ { x: D - h.width / 2, y: L - M / 2 + p },
+ { x: D - g / 2, y: L - M / 2 + p }
+ ], H.polygon(t, B, z);
+ }, c;
+}
+d(Vd, "icon");
+async function Zd(e, t, { config: { themeVariables: r, flowchart: i } }) {
+ const { labelStyles: n } = Z(t);
+ t.labelStyle = n;
+ const a = t.assetHeight ?? 48, o = t.assetWidth ?? 48, s = Math.max(a, o), l = i == null ? void 0 : i.wrappingWidth;
+ t.width = Math.max(s, l ?? 0);
+ const { shapeSvg: c, bbox: h, label: u } = await it(e, t, "icon-shape default"), f = 20, p = t.label ? 8 : 0, g = t.pos === "t", { nodeBorder: m, mainBkg: y } = r, { stylesMap: x } = ii(t), b = j.svg(c), C = G(t, {});
+ t.look !== "handDrawn" && (C.roughness = 0, C.fillStyle = "solid");
+ const k = x.get("fill");
+ C.stroke = k ?? y;
+ const v = c.append("g");
+ t.icon && v.html(
+ `${await Ji(t.icon, {
+ height: s,
+ width: s,
+ fallbackPrefix: ""
+ })}`
+ );
+ const _ = v.node().getBBox(), S = _.width, R = _.height, P = _.x, O = _.y, E = Math.max(S, R) * Math.SQRT2 + f * 2, z = b.circle(0, 0, E, C), D = Math.max(E, h.width), L = E + h.height + p, M = b.rectangle(-D / 2, -L / 2, D, L, {
+ ...C,
+ fill: "transparent",
+ stroke: "none"
+ }), B = c.insert(() => z, ":first-child"), F = c.insert(() => M);
+ return v.attr(
+ "transform",
+ `translate(${-S / 2 - P},${g ? h.height / 2 + p / 2 - R / 2 - O : -h.height / 2 - p / 2 - R / 2 - O})`
+ ), v.attr("style", `color: ${x.get("stroke") ?? m};`), u.attr(
+ "transform",
+ `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${g ? -L / 2 : L / 2 - h.height})`
+ ), B.attr(
+ "transform",
+ `translate(0,${g ? h.height / 2 + p / 2 : -h.height / 2 - p / 2})`
+ ), V(t, F), t.intersect = function(A) {
+ return $.info("iconSquare intersect", t, A), H.rect(t, A);
+ }, c;
+}
+d(Zd, "iconCircle");
+async function Kd(e, t, { config: { themeVariables: r, flowchart: i } }) {
+ const { labelStyles: n } = Z(t);
+ t.labelStyle = n;
+ const a = t.assetHeight ?? 48, o = t.assetWidth ?? 48, s = Math.max(a, o), l = i == null ? void 0 : i.wrappingWidth;
+ t.width = Math.max(s, l ?? 0);
+ const { shapeSvg: c, bbox: h, halfPadding: u, label: f } = await it(
+ e,
+ t,
+ "icon-shape default"
+ ), p = t.pos === "t", g = s + u * 2, m = s + u * 2, { nodeBorder: y, mainBkg: x } = r, { stylesMap: b } = ii(t), C = -m / 2, k = -g / 2, v = t.label ? 8 : 0, _ = j.svg(c), S = G(t, {});
+ t.look !== "handDrawn" && (S.roughness = 0, S.fillStyle = "solid");
+ const R = b.get("fill");
+ S.stroke = R ?? x;
+ const P = _.path(ze(C, k, m, g, 5), S), O = Math.max(m, h.width), E = g + h.height + v, z = _.rectangle(-O / 2, -E / 2, O, E, {
+ ...S,
+ fill: "transparent",
+ stroke: "none"
+ }), D = c.insert(() => P, ":first-child").attr("class", "icon-shape2"), L = c.insert(() => z);
+ if (t.icon) {
+ const M = c.append("g");
+ M.html(
+ `${await Ji(t.icon, {
+ height: s,
+ width: s,
+ fallbackPrefix: ""
+ })}`
+ );
+ const B = M.node().getBBox(), F = B.width, A = B.height, W = B.x, X = B.y;
+ M.attr(
+ "transform",
+ `translate(${-F / 2 - W},${p ? h.height / 2 + v / 2 - A / 2 - X : -h.height / 2 - v / 2 - A / 2 - X})`
+ ), M.attr("style", `color: ${b.get("stroke") ?? y};`);
+ }
+ return f.attr(
+ "transform",
+ `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${p ? -E / 2 : E / 2 - h.height})`
+ ), D.attr(
+ "transform",
+ `translate(0,${p ? h.height / 2 + v / 2 : -h.height / 2 - v / 2})`
+ ), V(t, L), t.intersect = function(M) {
+ if ($.info("iconSquare intersect", t, M), !t.label)
+ return H.rect(t, M);
+ const B = t.x ?? 0, F = t.y ?? 0, A = t.height ?? 0;
+ let W = [];
+ return p ? W = [
+ { x: B - h.width / 2, y: F - A / 2 },
+ { x: B + h.width / 2, y: F - A / 2 },
+ { x: B + h.width / 2, y: F - A / 2 + h.height + v },
+ { x: B + m / 2, y: F - A / 2 + h.height + v },
+ { x: B + m / 2, y: F + A / 2 },
+ { x: B - m / 2, y: F + A / 2 },
+ { x: B - m / 2, y: F - A / 2 + h.height + v },
+ { x: B - h.width / 2, y: F - A / 2 + h.height + v }
+ ] : W = [
+ { x: B - m / 2, y: F - A / 2 },
+ { x: B + m / 2, y: F - A / 2 },
+ { x: B + m / 2, y: F - A / 2 + g },
+ { x: B + h.width / 2, y: F - A / 2 + g },
+ { x: B + h.width / 2 / 2, y: F + A / 2 },
+ { x: B - h.width / 2, y: F + A / 2 },
+ { x: B - h.width / 2, y: F - A / 2 + g },
+ { x: B - m / 2, y: F - A / 2 + g }
+ ], H.polygon(t, W, M);
+ }, c;
+}
+d(Kd, "iconRounded");
+async function Qd(e, t, { config: { themeVariables: r, flowchart: i } }) {
+ const { labelStyles: n } = Z(t);
+ t.labelStyle = n;
+ const a = t.assetHeight ?? 48, o = t.assetWidth ?? 48, s = Math.max(a, o), l = i == null ? void 0 : i.wrappingWidth;
+ t.width = Math.max(s, l ?? 0);
+ const { shapeSvg: c, bbox: h, halfPadding: u, label: f } = await it(
+ e,
+ t,
+ "icon-shape default"
+ ), p = t.pos === "t", g = s + u * 2, m = s + u * 2, { nodeBorder: y, mainBkg: x } = r, { stylesMap: b } = ii(t), C = -m / 2, k = -g / 2, v = t.label ? 8 : 0, _ = j.svg(c), S = G(t, {});
+ t.look !== "handDrawn" && (S.roughness = 0, S.fillStyle = "solid");
+ const R = b.get("fill");
+ S.stroke = R ?? x;
+ const P = _.path(ze(C, k, m, g, 0.1), S), O = Math.max(m, h.width), E = g + h.height + v, z = _.rectangle(-O / 2, -E / 2, O, E, {
+ ...S,
+ fill: "transparent",
+ stroke: "none"
+ }), D = c.insert(() => P, ":first-child"), L = c.insert(() => z);
+ if (t.icon) {
+ const M = c.append("g");
+ M.html(
+ `${await Ji(t.icon, {
+ height: s,
+ width: s,
+ fallbackPrefix: ""
+ })}`
+ );
+ const B = M.node().getBBox(), F = B.width, A = B.height, W = B.x, X = B.y;
+ M.attr(
+ "transform",
+ `translate(${-F / 2 - W},${p ? h.height / 2 + v / 2 - A / 2 - X : -h.height / 2 - v / 2 - A / 2 - X})`
+ ), M.attr("style", `color: ${b.get("stroke") ?? y};`);
+ }
+ return f.attr(
+ "transform",
+ `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${p ? -E / 2 : E / 2 - h.height})`
+ ), D.attr(
+ "transform",
+ `translate(0,${p ? h.height / 2 + v / 2 : -h.height / 2 - v / 2})`
+ ), V(t, L), t.intersect = function(M) {
+ if ($.info("iconSquare intersect", t, M), !t.label)
+ return H.rect(t, M);
+ const B = t.x ?? 0, F = t.y ?? 0, A = t.height ?? 0;
+ let W = [];
+ return p ? W = [
+ { x: B - h.width / 2, y: F - A / 2 },
+ { x: B + h.width / 2, y: F - A / 2 },
+ { x: B + h.width / 2, y: F - A / 2 + h.height + v },
+ { x: B + m / 2, y: F - A / 2 + h.height + v },
+ { x: B + m / 2, y: F + A / 2 },
+ { x: B - m / 2, y: F + A / 2 },
+ { x: B - m / 2, y: F - A / 2 + h.height + v },
+ { x: B - h.width / 2, y: F - A / 2 + h.height + v }
+ ] : W = [
+ { x: B - m / 2, y: F - A / 2 },
+ { x: B + m / 2, y: F - A / 2 },
+ { x: B + m / 2, y: F - A / 2 + g },
+ { x: B + h.width / 2, y: F - A / 2 + g },
+ { x: B + h.width / 2 / 2, y: F + A / 2 },
+ { x: B - h.width / 2, y: F + A / 2 },
+ { x: B - h.width / 2, y: F - A / 2 + g },
+ { x: B - m / 2, y: F - A / 2 + g }
+ ], H.polygon(t, W, M);
+ }, c;
+}
+d(Qd, "iconSquare");
+async function Jd(e, t, { config: { flowchart: r } }) {
+ const i = new Image();
+ i.src = (t == null ? void 0 : t.img) ?? "", await i.decode();
+ const n = Number(i.naturalWidth.toString().replace("px", "")), a = Number(i.naturalHeight.toString().replace("px", ""));
+ t.imageAspectRatio = n / a;
+ const { labelStyles: o } = Z(t);
+ t.labelStyle = o;
+ const s = r == null ? void 0 : r.wrappingWidth;
+ t.defaultWidth = r == null ? void 0 : r.wrappingWidth;
+ const l = Math.max(
+ t.label ? s ?? 0 : 0,
+ (t == null ? void 0 : t.assetWidth) ?? n
+ ), c = t.constraint === "on" && t != null && t.assetHeight ? t.assetHeight * t.imageAspectRatio : l, h = t.constraint === "on" ? c / t.imageAspectRatio : (t == null ? void 0 : t.assetHeight) ?? a;
+ t.width = Math.max(c, s ?? 0);
+ const { shapeSvg: u, bbox: f, label: p } = await it(e, t, "image-shape default"), g = t.pos === "t", m = -c / 2, y = -h / 2, x = t.label ? 8 : 0, b = j.svg(u), C = G(t, {});
+ t.look !== "handDrawn" && (C.roughness = 0, C.fillStyle = "solid");
+ const k = b.rectangle(m, y, c, h, C), v = Math.max(c, f.width), _ = h + f.height + x, S = b.rectangle(-v / 2, -_ / 2, v, _, {
+ ...C,
+ fill: "none",
+ stroke: "none"
+ }), R = u.insert(() => k, ":first-child"), P = u.insert(() => S);
+ if (t.img) {
+ const O = u.append("image");
+ O.attr("href", t.img), O.attr("width", c), O.attr("height", h), O.attr("preserveAspectRatio", "none"), O.attr(
+ "transform",
+ `translate(${-c / 2},${g ? _ / 2 - h : -_ / 2})`
+ );
+ }
+ return p.attr(
+ "transform",
+ `translate(${-f.width / 2 - (f.x - (f.left ?? 0))},${g ? -h / 2 - f.height / 2 - x / 2 : h / 2 - f.height / 2 + x / 2})`
+ ), R.attr(
+ "transform",
+ `translate(0,${g ? f.height / 2 + x / 2 : -f.height / 2 - x / 2})`
+ ), V(t, P), t.intersect = function(O) {
+ if ($.info("iconSquare intersect", t, O), !t.label)
+ return H.rect(t, O);
+ const E = t.x ?? 0, z = t.y ?? 0, D = t.height ?? 0;
+ let L = [];
+ return g ? L = [
+ { x: E - f.width / 2, y: z - D / 2 },
+ { x: E + f.width / 2, y: z - D / 2 },
+ { x: E + f.width / 2, y: z - D / 2 + f.height + x },
+ { x: E + c / 2, y: z - D / 2 + f.height + x },
+ { x: E + c / 2, y: z + D / 2 },
+ { x: E - c / 2, y: z + D / 2 },
+ { x: E - c / 2, y: z - D / 2 + f.height + x },
+ { x: E - f.width / 2, y: z - D / 2 + f.height + x }
+ ] : L = [
+ { x: E - c / 2, y: z - D / 2 },
+ { x: E + c / 2, y: z - D / 2 },
+ { x: E + c / 2, y: z - D / 2 + h },
+ { x: E + f.width / 2, y: z - D / 2 + h },
+ { x: E + f.width / 2 / 2, y: z + D / 2 },
+ { x: E - f.width / 2, y: z + D / 2 },
+ { x: E - f.width / 2, y: z - D / 2 + h },
+ { x: E - c / 2, y: z - D / 2 + h }
+ ], H.polygon(t, L, O);
+ }, u;
+}
+d(Jd, "imageSquare");
+async function tg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), s = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), l = [
+ { x: 0, y: 0 },
+ { x: o, y: 0 },
+ { x: o + 3 * s / 6, y: -s },
+ { x: -3 * s / 6, y: -s }
+ ];
+ let c;
+ const { cssStyles: h } = t;
+ if (t.look === "handDrawn") {
+ const u = j.svg(n), f = G(t, {}), p = ht(l), g = u.path(p, f);
+ c = n.insert(() => g, ":first-child").attr("transform", `translate(${-o / 2}, ${s / 2})`), h && c.attr("style", h);
+ } else
+ c = We(n, o, s, l);
+ return i && c.attr("style", i), t.width = o, t.height = s, V(t, c), t.intersect = function(u) {
+ return H.polygon(t, l, u);
+ }, n;
+}
+d(tg, "inv_trapezoid");
+async function en(e, t, r) {
+ const { labelStyles: i, nodeStyles: n } = Z(t);
+ t.labelStyle = i;
+ const { shapeSvg: a, bbox: o } = await it(e, t, et(t)), s = Math.max(o.width + r.labelPaddingX * 2, (t == null ? void 0 : t.width) || 0), l = Math.max(o.height + r.labelPaddingY * 2, (t == null ? void 0 : t.height) || 0), c = -s / 2, h = -l / 2;
+ let u, { rx: f, ry: p } = t;
+ const { cssStyles: g } = t;
+ if (r != null && r.rx && r.ry && (f = r.rx, p = r.ry), t.look === "handDrawn") {
+ const m = j.svg(a), y = G(t, {}), x = f || p ? m.path(ze(c, h, s, l, f || 0), y) : m.rectangle(c, h, s, l, y);
+ u = a.insert(() => x, ":first-child"), u.attr("class", "basic label-container").attr("style", Yt(g));
+ } else
+ u = a.insert("rect", ":first-child"), u.attr("class", "basic label-container").attr("style", n).attr("rx", Yt(f)).attr("ry", Yt(p)).attr("x", c).attr("y", h).attr("width", s).attr("height", l);
+ return V(t, u), t.intersect = function(m) {
+ return H.rect(t, m);
+ }, a;
+}
+d(en, "drawRect");
+async function eg(e, t) {
+ const { shapeSvg: r, bbox: i, label: n } = await it(e, t, "label"), a = r.insert("rect", ":first-child");
+ return a.attr("width", 0.1).attr("height", 0.1), r.attr("class", "label edgeLabel"), n.attr(
+ "transform",
+ `translate(${-(i.width / 2) - (i.x - (i.left ?? 0))}, ${-(i.height / 2) - (i.y - (i.top ?? 0))})`
+ ), V(t, a), t.intersect = function(l) {
+ return H.rect(t, l);
+ }, r;
+}
+d(eg, "labelRect");
+async function rg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = Math.max(a.width + (t.padding ?? 0), (t == null ? void 0 : t.width) ?? 0), s = Math.max(a.height + (t.padding ?? 0), (t == null ? void 0 : t.height) ?? 0), l = [
+ { x: 0, y: 0 },
+ { x: o + 3 * s / 6, y: 0 },
+ { x: o, y: -s },
+ { x: -(3 * s) / 6, y: -s }
+ ];
+ let c;
+ const { cssStyles: h } = t;
+ if (t.look === "handDrawn") {
+ const u = j.svg(n), f = G(t, {}), p = ht(l), g = u.path(p, f);
+ c = n.insert(() => g, ":first-child").attr("transform", `translate(${-o / 2}, ${s / 2})`), h && c.attr("style", h);
+ } else
+ c = We(n, o, s, l);
+ return i && c.attr("style", i), t.width = o, t.height = s, V(t, c), t.intersect = function(u) {
+ return H.polygon(t, l, u);
+ }, n;
+}
+d(rg, "lean_left");
+async function ig(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = Math.max(a.width + (t.padding ?? 0), (t == null ? void 0 : t.width) ?? 0), s = Math.max(a.height + (t.padding ?? 0), (t == null ? void 0 : t.height) ?? 0), l = [
+ { x: -3 * s / 6, y: 0 },
+ { x: o, y: 0 },
+ { x: o + 3 * s / 6, y: -s },
+ { x: 0, y: -s }
+ ];
+ let c;
+ const { cssStyles: h } = t;
+ if (t.look === "handDrawn") {
+ const u = j.svg(n), f = G(t, {}), p = ht(l), g = u.path(p, f);
+ c = n.insert(() => g, ":first-child").attr("transform", `translate(${-o / 2}, ${s / 2})`), h && c.attr("style", h);
+ } else
+ c = We(n, o, s, l);
+ return i && c.attr("style", i), t.width = o, t.height = s, V(t, c), t.intersect = function(u) {
+ return H.polygon(t, l, u);
+ }, n;
+}
+d(ig, "lean_right");
+function ng(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.label = "", t.labelStyle = r;
+ const n = e.insert("g").attr("class", et(t)).attr("id", t.domId ?? t.id), { cssStyles: a } = t, o = Math.max(35, (t == null ? void 0 : t.width) ?? 0), s = Math.max(35, (t == null ? void 0 : t.height) ?? 0), l = 7, c = [
+ { x: o, y: 0 },
+ { x: 0, y: s + l / 2 },
+ { x: o - 2 * l, y: s + l / 2 },
+ { x: 0, y: 2 * s },
+ { x: o, y: s - l / 2 },
+ { x: 2 * l, y: s - l / 2 }
+ ], h = j.svg(n), u = G(t, {});
+ t.look !== "handDrawn" && (u.roughness = 0, u.fillStyle = "solid");
+ const f = ht(c), p = h.path(f, u), g = n.insert(() => p, ":first-child");
+ return a && t.look !== "handDrawn" && g.selectAll("path").attr("style", a), i && t.look !== "handDrawn" && g.selectAll("path").attr("style", i), g.attr("transform", `translate(-${o / 2},${-s})`), V(t, g), t.intersect = function(m) {
+ return $.info("lightningBolt intersect", t, m), H.polygon(t, c, m);
+ }, n;
+}
+d(ng, "lightningBolt");
+var Dk = /* @__PURE__ */ d((e, t, r, i, n, a, o) => [
+ `M${e},${t + a}`,
+ `a${n},${a} 0,0,0 ${r},0`,
+ `a${n},${a} 0,0,0 ${-r},0`,
+ `l0,${i}`,
+ `a${n},${a} 0,0,0 ${r},0`,
+ `l0,${-i}`,
+ `M${e},${t + a + o}`,
+ `a${n},${a} 0,0,0 ${r},0`
+].join(" "), "createCylinderPathD"), Rk = /* @__PURE__ */ d((e, t, r, i, n, a, o) => [
+ `M${e},${t + a}`,
+ `M${e + r},${t + a}`,
+ `a${n},${a} 0,0,0 ${-r},0`,
+ `l0,${i}`,
+ `a${n},${a} 0,0,0 ${r},0`,
+ `l0,${-i}`,
+ `M${e},${t + a + o}`,
+ `a${n},${a} 0,0,0 ${r},0`
+].join(" "), "createOuterCylinderPathD"), Ik = /* @__PURE__ */ d((e, t, r, i, n, a) => [`M${e - r / 2},${-i / 2}`, `a${n},${a} 0,0,0 ${r},0`].join(" "), "createInnerCylinderPathD");
+async function ag(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0), t.width ?? 0), l = s / 2, c = l / (2.5 + s / 50), h = Math.max(a.height + c + (t.padding ?? 0), t.height ?? 0), u = h * 0.1;
+ let f;
+ const { cssStyles: p } = t;
+ if (t.look === "handDrawn") {
+ const g = j.svg(n), m = Rk(0, 0, s, h, l, c, u), y = Ik(0, c, s, h, l, c), x = G(t, {}), b = g.path(m, x), C = g.path(y, x);
+ n.insert(() => C, ":first-child").attr("class", "line"), f = n.insert(() => b, ":first-child"), f.attr("class", "basic label-container"), p && f.attr("style", p);
+ } else {
+ const g = Dk(0, 0, s, h, l, c, u);
+ f = n.insert("path", ":first-child").attr("d", g).attr("class", "basic label-container").attr("style", Yt(p)).attr("style", i);
+ }
+ return f.attr("label-offset-y", c), f.attr("transform", `translate(${-s / 2}, ${-(h / 2 + c)})`), V(t, f), o.attr(
+ "transform",
+ `translate(${-(a.width / 2) - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + c - (a.y - (a.top ?? 0))})`
+ ), t.intersect = function(g) {
+ const m = H.rect(t, g), y = m.x - (t.x ?? 0);
+ if (l != 0 && (Math.abs(y) < (t.width ?? 0) / 2 || Math.abs(y) == (t.width ?? 0) / 2 && Math.abs(m.y - (t.y ?? 0)) > (t.height ?? 0) / 2 - c)) {
+ let x = c * c * (1 - y * y / (l * l));
+ x > 0 && (x = Math.sqrt(x)), x = c - x, g.y - (t.y ?? 0) > 0 && (x = -x), m.y += x;
+ }
+ return m;
+ }, n;
+}
+d(ag, "linedCylinder");
+async function sg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = l / 4, h = l + c, { cssStyles: u } = t, f = j.svg(n), p = G(t, {});
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = [
+ { x: -s / 2 - s / 2 * 0.1, y: -h / 2 },
+ { x: -s / 2 - s / 2 * 0.1, y: h / 2 },
+ ...Ve(
+ -s / 2 - s / 2 * 0.1,
+ h / 2,
+ s / 2 + s / 2 * 0.1,
+ h / 2,
+ c,
+ 0.8
+ ),
+ { x: s / 2 + s / 2 * 0.1, y: -h / 2 },
+ { x: -s / 2 - s / 2 * 0.1, y: -h / 2 },
+ { x: -s / 2, y: -h / 2 },
+ { x: -s / 2, y: h / 2 * 1.1 },
+ { x: -s / 2, y: -h / 2 }
+ ], m = f.polygon(
+ g.map((x) => [x.x, x.y]),
+ p
+ ), y = n.insert(() => m, ":first-child");
+ return y.attr("class", "basic label-container"), u && t.look !== "handDrawn" && y.selectAll("path").attr("style", u), i && t.look !== "handDrawn" && y.selectAll("path").attr("style", i), y.attr("transform", `translate(0,${-c / 2})`), o.attr(
+ "transform",
+ `translate(${-s / 2 + (t.padding ?? 0) + s / 2 * 0.1 / 2 - (a.x - (a.left ?? 0))},${-l / 2 + (t.padding ?? 0) - c / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, y), t.intersect = function(x) {
+ return H.polygon(t, g, x);
+ }, n;
+}
+d(sg, "linedWaveEdgedRect");
+async function og(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = 5, h = -s / 2, u = -l / 2, { cssStyles: f } = t, p = j.svg(n), g = G(t, {}), m = [
+ { x: h - c, y: u + c },
+ { x: h - c, y: u + l + c },
+ { x: h + s - c, y: u + l + c },
+ { x: h + s - c, y: u + l },
+ { x: h + s, y: u + l },
+ { x: h + s, y: u + l - c },
+ { x: h + s + c, y: u + l - c },
+ { x: h + s + c, y: u - c },
+ { x: h + c, y: u - c },
+ { x: h + c, y: u },
+ { x: h, y: u },
+ { x: h, y: u + c }
+ ], y = [
+ { x: h, y: u + c },
+ { x: h + s - c, y: u + c },
+ { x: h + s - c, y: u + l },
+ { x: h + s, y: u + l },
+ { x: h + s, y: u },
+ { x: h, y: u }
+ ];
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const x = ht(m), b = p.path(x, g), C = ht(y), k = p.path(C, { ...g, fill: "none" }), v = n.insert(() => k, ":first-child");
+ return v.insert(() => b, ":first-child"), v.attr("class", "basic label-container"), f && t.look !== "handDrawn" && v.selectAll("path").attr("style", f), i && t.look !== "handDrawn" && v.selectAll("path").attr("style", i), o.attr(
+ "transform",
+ `translate(${-(a.width / 2) - c - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + c - (a.y - (a.top ?? 0))})`
+ ), V(t, v), t.intersect = function(_) {
+ return H.polygon(t, m, _);
+ }, n;
+}
+d(og, "multiRect");
+async function lg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = l / 4, h = l + c, u = -s / 2, f = -h / 2, p = 5, { cssStyles: g } = t, m = Ve(
+ u - p,
+ f + h + p,
+ u + s - p,
+ f + h + p,
+ c,
+ 0.8
+ ), y = m == null ? void 0 : m[m.length - 1], x = [
+ { x: u - p, y: f + p },
+ { x: u - p, y: f + h + p },
+ ...m,
+ { x: u + s - p, y: y.y - p },
+ { x: u + s, y: y.y - p },
+ { x: u + s, y: y.y - 2 * p },
+ { x: u + s + p, y: y.y - 2 * p },
+ { x: u + s + p, y: f - p },
+ { x: u + p, y: f - p },
+ { x: u + p, y: f },
+ { x: u, y: f },
+ { x: u, y: f + p }
+ ], b = [
+ { x: u, y: f + p },
+ { x: u + s - p, y: f + p },
+ { x: u + s - p, y: y.y - p },
+ { x: u + s, y: y.y - p },
+ { x: u + s, y: f },
+ { x: u, y: f }
+ ], C = j.svg(n), k = G(t, {});
+ t.look !== "handDrawn" && (k.roughness = 0, k.fillStyle = "solid");
+ const v = ht(x), _ = C.path(v, k), S = ht(b), R = C.path(S, k), P = n.insert(() => _, ":first-child");
+ return P.insert(() => R), P.attr("class", "basic label-container"), g && t.look !== "handDrawn" && P.selectAll("path").attr("style", g), i && t.look !== "handDrawn" && P.selectAll("path").attr("style", i), P.attr("transform", `translate(0,${-c / 2})`), o.attr(
+ "transform",
+ `translate(${-(a.width / 2) - p - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + p - c / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, P), t.intersect = function(O) {
+ return H.polygon(t, x, O);
+ }, n;
+}
+d(lg, "multiWaveEdgedRectangle");
+async function cg(e, t, { config: { themeVariables: r } }) {
+ var x;
+ const { labelStyles: i, nodeStyles: n } = Z(t);
+ t.labelStyle = i, t.useHtmlLabels || ((x = Jt().flowchart) == null ? void 0 : x.htmlLabels) !== !1 || (t.centerLabel = !0);
+ const { shapeSvg: o, bbox: s } = await it(e, t, et(t)), l = Math.max(s.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), c = Math.max(s.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), h = -l / 2, u = -c / 2, { cssStyles: f } = t, p = j.svg(o), g = G(t, {
+ fill: r.noteBkgColor,
+ stroke: r.noteBorderColor
+ });
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const m = p.rectangle(h, u, l, c, g), y = o.insert(() => m, ":first-child");
+ return y.attr("class", "basic label-container"), f && t.look !== "handDrawn" && y.selectAll("path").attr("style", f), n && t.look !== "handDrawn" && y.selectAll("path").attr("style", n), V(t, y), t.intersect = function(b) {
+ return H.rect(t, b);
+ }, o;
+}
+d(cg, "note");
+var Pk = /* @__PURE__ */ d((e, t, r) => [
+ `M${e + r / 2},${t}`,
+ `L${e + r},${t - r / 2}`,
+ `L${e + r / 2},${t - r}`,
+ `L${e},${t - r / 2}`,
+ "Z"
+].join(" "), "createDecisionBoxPathD");
+async function hg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = a.width + t.padding, s = a.height + t.padding, l = o + s, c = [
+ { x: l / 2, y: 0 },
+ { x: l, y: -l / 2 },
+ { x: l / 2, y: -l },
+ { x: 0, y: -l / 2 }
+ ];
+ let h;
+ const { cssStyles: u } = t;
+ if (t.look === "handDrawn") {
+ const f = j.svg(n), p = G(t, {}), g = Pk(0, 0, l), m = f.path(g, p);
+ h = n.insert(() => m, ":first-child").attr("transform", `translate(${-l / 2}, ${l / 2})`), u && h.attr("style", u);
+ } else
+ h = We(n, l, l, c);
+ return i && h.attr("style", i), V(t, h), t.intersect = function(f) {
+ return $.debug(
+ `APA12 Intersect called SPLIT
+point:`,
+ f,
+ `
+node:
+`,
+ t,
+ `
+res:`,
+ H.polygon(t, c, f)
+ ), H.polygon(t, c, f);
+ }, n;
+}
+d(hg, "question");
+async function ug(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0), (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0), (t == null ? void 0 : t.height) ?? 0), c = -s / 2, h = -l / 2, u = h / 2, f = [
+ { x: c + u, y: h },
+ { x: c, y: 0 },
+ { x: c + u, y: -h },
+ { x: -c, y: -h },
+ { x: -c, y: h }
+ ], { cssStyles: p } = t, g = j.svg(n), m = G(t, {});
+ t.look !== "handDrawn" && (m.roughness = 0, m.fillStyle = "solid");
+ const y = ht(f), x = g.path(y, m), b = n.insert(() => x, ":first-child");
+ return b.attr("class", "basic label-container"), p && t.look !== "handDrawn" && b.selectAll("path").attr("style", p), i && t.look !== "handDrawn" && b.selectAll("path").attr("style", i), b.attr("transform", `translate(${-u / 2},0)`), o.attr(
+ "transform",
+ `translate(${-u / 2 - a.width / 2 - (a.x - (a.left ?? 0))}, ${-(a.height / 2) - (a.y - (a.top ?? 0))})`
+ ), V(t, b), t.intersect = function(C) {
+ return H.polygon(t, f, C);
+ }, n;
+}
+d(ug, "rect_left_inv_arrow");
+async function fg(e, t) {
+ var R, P;
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ let n;
+ t.cssClasses ? n = "node " + t.cssClasses : n = "node default";
+ const a = e.insert("g").attr("class", n).attr("id", t.domId || t.id), o = a.insert("g"), s = a.insert("g").attr("class", "label").attr("style", i), l = t.description, c = t.label, h = s.node().appendChild(await sr(c, t.labelStyle, !0, !0));
+ let u = { width: 0, height: 0 };
+ if (Lt((P = (R = ut()) == null ? void 0 : R.flowchart) == null ? void 0 : P.htmlLabels)) {
+ const O = h.children[0], E = ct(h);
+ u = O.getBoundingClientRect(), E.attr("width", u.width), E.attr("height", u.height);
+ }
+ $.info("Text 2", l);
+ const f = l || [], p = h.getBBox(), g = s.node().appendChild(
+ await sr(
+ f.join ? f.join("
") : f,
+ t.labelStyle,
+ !0,
+ !0
+ )
+ ), m = g.children[0], y = ct(g);
+ u = m.getBoundingClientRect(), y.attr("width", u.width), y.attr("height", u.height);
+ const x = (t.padding || 0) / 2;
+ ct(g).attr(
+ "transform",
+ "translate( " + (u.width > p.width ? 0 : (p.width - u.width) / 2) + ", " + (p.height + x + 5) + ")"
+ ), ct(h).attr(
+ "transform",
+ "translate( " + (u.width < p.width ? 0 : -(p.width - u.width) / 2) + ", 0)"
+ ), u = s.node().getBBox(), s.attr(
+ "transform",
+ "translate(" + -u.width / 2 + ", " + (-u.height / 2 - x + 3) + ")"
+ );
+ const b = u.width + (t.padding || 0), C = u.height + (t.padding || 0), k = -u.width / 2 - x, v = -u.height / 2 - x;
+ let _, S;
+ if (t.look === "handDrawn") {
+ const O = j.svg(a), E = G(t, {}), z = O.path(
+ ze(k, v, b, C, t.rx || 0),
+ E
+ ), D = O.line(
+ -u.width / 2 - x,
+ -u.height / 2 - x + p.height + x,
+ u.width / 2 + x,
+ -u.height / 2 - x + p.height + x,
+ E
+ );
+ S = a.insert(() => ($.debug("Rough node insert CXC", z), D), ":first-child"), _ = a.insert(() => ($.debug("Rough node insert CXC", z), z), ":first-child");
+ } else
+ _ = o.insert("rect", ":first-child"), S = o.insert("line"), _.attr("class", "outer title-state").attr("style", i).attr("x", -u.width / 2 - x).attr("y", -u.height / 2 - x).attr("width", u.width + (t.padding || 0)).attr("height", u.height + (t.padding || 0)), S.attr("class", "divider").attr("x1", -u.width / 2 - x).attr("x2", u.width / 2 + x).attr("y1", -u.height / 2 - x + p.height + x).attr("y2", -u.height / 2 - x + p.height + x);
+ return V(t, _), t.intersect = function(O) {
+ return H.rect(t, O);
+ }, a;
+}
+d(fg, "rectWithTitle");
+async function pg(e, t) {
+ const r = {
+ rx: 5,
+ ry: 5,
+ labelPaddingX: ((t == null ? void 0 : t.padding) || 0) * 1,
+ labelPaddingY: ((t == null ? void 0 : t.padding) || 0) * 1
+ };
+ return en(e, t, r);
+}
+d(pg, "roundedRect");
+async function dg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = (t == null ? void 0 : t.padding) ?? 0, l = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), c = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), h = -a.width / 2 - s, u = -a.height / 2 - s, { cssStyles: f } = t, p = j.svg(n), g = G(t, {});
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const m = [
+ { x: h, y: u },
+ { x: h + l + 8, y: u },
+ { x: h + l + 8, y: u + c },
+ { x: h - 8, y: u + c },
+ { x: h - 8, y: u },
+ { x: h, y: u },
+ { x: h, y: u + c }
+ ], y = p.polygon(
+ m.map((b) => [b.x, b.y]),
+ g
+ ), x = n.insert(() => y, ":first-child");
+ return x.attr("class", "basic label-container").attr("style", Yt(f)), i && t.look !== "handDrawn" && x.selectAll("path").attr("style", i), f && t.look !== "handDrawn" && x.selectAll("path").attr("style", i), o.attr(
+ "transform",
+ `translate(${-l / 2 + 4 + (t.padding ?? 0) - (a.x - (a.left ?? 0))},${-c / 2 + (t.padding ?? 0) - (a.y - (a.top ?? 0))})`
+ ), V(t, x), t.intersect = function(b) {
+ return H.rect(t, b);
+ }, n;
+}
+d(dg, "shadedProcess");
+async function gg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = -s / 2, h = -l / 2, { cssStyles: u } = t, f = j.svg(n), p = G(t, {});
+ t.look !== "handDrawn" && (p.roughness = 0, p.fillStyle = "solid");
+ const g = [
+ { x: c, y: h },
+ { x: c, y: h + l },
+ { x: c + s, y: h + l },
+ { x: c + s, y: h - l / 2 }
+ ], m = ht(g), y = f.path(m, p), x = n.insert(() => y, ":first-child");
+ return x.attr("class", "basic label-container"), u && t.look !== "handDrawn" && x.selectChildren("path").attr("style", u), i && t.look !== "handDrawn" && x.selectChildren("path").attr("style", i), x.attr("transform", `translate(0, ${l / 4})`), o.attr(
+ "transform",
+ `translate(${-s / 2 + (t.padding ?? 0) - (a.x - (a.left ?? 0))}, ${-l / 4 + (t.padding ?? 0) - (a.y - (a.top ?? 0))})`
+ ), V(t, x), t.intersect = function(b) {
+ return H.polygon(t, g, b);
+ }, n;
+}
+d(gg, "slopedRect");
+async function mg(e, t) {
+ const r = {
+ rx: 0,
+ ry: 0,
+ labelPaddingX: ((t == null ? void 0 : t.padding) || 0) * 2,
+ labelPaddingY: ((t == null ? void 0 : t.padding) || 0) * 1
+ };
+ return en(e, t, r);
+}
+d(mg, "squareRect");
+async function yg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = a.height + t.padding, s = a.width + o / 4 + t.padding;
+ let l;
+ const { cssStyles: c } = t;
+ if (t.look === "handDrawn") {
+ const h = j.svg(n), u = G(t, {}), f = ze(-s / 2, -o / 2, s, o, o / 2), p = h.path(f, u);
+ l = n.insert(() => p, ":first-child"), l.attr("class", "basic label-container").attr("style", Yt(c));
+ } else
+ l = n.insert("rect", ":first-child"), l.attr("class", "basic label-container").attr("style", i).attr("rx", o / 2).attr("ry", o / 2).attr("x", -s / 2).attr("y", -o / 2).attr("width", s).attr("height", o);
+ return V(t, l), t.intersect = function(h) {
+ return H.rect(t, h);
+ }, n;
+}
+d(yg, "stadium");
+async function xg(e, t) {
+ return en(e, t, {
+ rx: 5,
+ ry: 5
+ });
+}
+d(xg, "state");
+function bg(e, t, { config: { themeVariables: r } }) {
+ const { labelStyles: i, nodeStyles: n } = Z(t);
+ t.labelStyle = i;
+ const { cssStyles: a } = t, { lineColor: o, stateBorder: s, nodeBorder: l } = r, c = e.insert("g").attr("class", "node default").attr("id", t.domId || t.id), h = j.svg(c), u = G(t, {});
+ t.look !== "handDrawn" && (u.roughness = 0, u.fillStyle = "solid");
+ const f = h.circle(0, 0, 14, {
+ ...u,
+ stroke: o,
+ strokeWidth: 2
+ }), p = s ?? l, g = h.circle(0, 0, 5, {
+ ...u,
+ fill: p,
+ stroke: p,
+ strokeWidth: 2,
+ fillStyle: "solid"
+ }), m = c.insert(() => f, ":first-child");
+ return m.insert(() => g), a && m.selectAll("path").attr("style", a), n && m.selectAll("path").attr("style", n), V(t, m), t.intersect = function(y) {
+ return H.circle(t, 7, y);
+ }, c;
+}
+d(bg, "stateEnd");
+function _g(e, t, { config: { themeVariables: r } }) {
+ const { lineColor: i } = r, n = e.insert("g").attr("class", "node default").attr("id", t.domId || t.id);
+ let a;
+ if (t.look === "handDrawn") {
+ const s = j.svg(n).circle(0, 0, 14, xk(i));
+ a = n.insert(() => s), a.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14);
+ } else
+ a = n.insert("circle", ":first-child"), a.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14);
+ return V(t, a), t.intersect = function(o) {
+ return H.circle(t, 7, o);
+ }, n;
+}
+d(_g, "stateStart");
+async function Cg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = ((t == null ? void 0 : t.padding) || 0) / 2, s = a.width + t.padding, l = a.height + t.padding, c = -a.width / 2 - o, h = -a.height / 2 - o, u = [
+ { x: 0, y: 0 },
+ { x: s, y: 0 },
+ { x: s, y: -l },
+ { x: 0, y: -l },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: s + 8, y: 0 },
+ { x: s + 8, y: -l },
+ { x: -8, y: -l },
+ { x: -8, y: 0 }
+ ];
+ if (t.look === "handDrawn") {
+ const f = j.svg(n), p = G(t, {}), g = f.rectangle(c - 8, h, s + 16, l, p), m = f.line(c, h, c, h + l, p), y = f.line(c + s, h, c + s, h + l, p);
+ n.insert(() => m, ":first-child"), n.insert(() => y, ":first-child");
+ const x = n.insert(() => g, ":first-child"), { cssStyles: b } = t;
+ x.attr("class", "basic label-container").attr("style", Yt(b)), V(t, x);
+ } else {
+ const f = We(n, s, l, u);
+ i && f.attr("style", i), V(t, f);
+ }
+ return t.intersect = function(f) {
+ return H.polygon(t, u, f);
+ }, n;
+}
+d(Cg, "subroutine");
+async function wg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), s = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), l = -o / 2, c = -s / 2, h = 0.2 * s, u = 0.2 * s, { cssStyles: f } = t, p = j.svg(n), g = G(t, {}), m = [
+ { x: l - h / 2, y: c },
+ { x: l + o + h / 2, y: c },
+ { x: l + o + h / 2, y: c + s },
+ { x: l - h / 2, y: c + s }
+ ], y = [
+ { x: l + o - h / 2, y: c + s },
+ { x: l + o + h / 2, y: c + s },
+ { x: l + o + h / 2, y: c + s - u }
+ ];
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const x = ht(m), b = p.path(x, g), C = ht(y), k = p.path(C, { ...g, fillStyle: "solid" }), v = n.insert(() => k, ":first-child");
+ return v.insert(() => b, ":first-child"), v.attr("class", "basic label-container"), f && t.look !== "handDrawn" && v.selectAll("path").attr("style", f), i && t.look !== "handDrawn" && v.selectAll("path").attr("style", i), V(t, v), t.intersect = function(_) {
+ return H.polygon(t, m, _);
+ }, n;
+}
+d(wg, "taggedRect");
+async function vg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = l / 4, h = 0.2 * s, u = 0.2 * l, f = l + c, { cssStyles: p } = t, g = j.svg(n), m = G(t, {});
+ t.look !== "handDrawn" && (m.roughness = 0, m.fillStyle = "solid");
+ const y = [
+ { x: -s / 2 - s / 2 * 0.1, y: f / 2 },
+ ...Ve(
+ -s / 2 - s / 2 * 0.1,
+ f / 2,
+ s / 2 + s / 2 * 0.1,
+ f / 2,
+ c,
+ 0.8
+ ),
+ { x: s / 2 + s / 2 * 0.1, y: -f / 2 },
+ { x: -s / 2 - s / 2 * 0.1, y: -f / 2 }
+ ], x = -s / 2 + s / 2 * 0.1, b = -f / 2 - u * 0.4, C = [
+ { x: x + s - h, y: (b + l) * 1.4 },
+ { x: x + s, y: b + l - u },
+ { x: x + s, y: (b + l) * 0.9 },
+ ...Ve(
+ x + s,
+ (b + l) * 1.3,
+ x + s - h,
+ (b + l) * 1.5,
+ -l * 0.03,
+ 0.5
+ )
+ ], k = ht(y), v = g.path(k, m), _ = ht(C), S = g.path(_, {
+ ...m,
+ fillStyle: "solid"
+ }), R = n.insert(() => S, ":first-child");
+ return R.insert(() => v, ":first-child"), R.attr("class", "basic label-container"), p && t.look !== "handDrawn" && R.selectAll("path").attr("style", p), i && t.look !== "handDrawn" && R.selectAll("path").attr("style", i), R.attr("transform", `translate(0,${-c / 2})`), o.attr(
+ "transform",
+ `translate(${-s / 2 + (t.padding ?? 0) - (a.x - (a.left ?? 0))},${-l / 2 + (t.padding ?? 0) - c / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, R), t.intersect = function(P) {
+ return H.polygon(t, y, P);
+ }, n;
+}
+d(vg, "taggedWaveEdgedRectangle");
+async function kg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = Math.max(a.width + t.padding, (t == null ? void 0 : t.width) || 0), s = Math.max(a.height + t.padding, (t == null ? void 0 : t.height) || 0), l = -o / 2, c = -s / 2, h = n.insert("rect", ":first-child");
+ return h.attr("class", "text").attr("style", i).attr("rx", 0).attr("ry", 0).attr("x", l).attr("y", c).attr("width", o).attr("height", s), V(t, h), t.intersect = function(u) {
+ return H.rect(t, u);
+ }, n;
+}
+d(kg, "text");
+var Nk = /* @__PURE__ */ d((e, t, r, i, n, a) => `M${e},${t}
+ a${n},${a} 0,0,1 0,${-i}
+ l${r},0
+ a${n},${a} 0,0,1 0,${i}
+ M${r},${-i}
+ a${n},${a} 0,0,0 0,${i}
+ l${-r},0`, "createCylinderPathD"), zk = /* @__PURE__ */ d((e, t, r, i, n, a) => [
+ `M${e},${t}`,
+ `M${e + r},${t}`,
+ `a${n},${a} 0,0,0 0,${-i}`,
+ `l${-r},0`,
+ `a${n},${a} 0,0,0 0,${i}`,
+ `l${r},0`
+].join(" "), "createOuterCylinderPathD"), Wk = /* @__PURE__ */ d((e, t, r, i, n, a) => [`M${e + r / 2},${-i / 2}`, `a${n},${a} 0,0,0 0,${i}`].join(" "), "createInnerCylinderPathD");
+async function Sg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o, halfPadding: s } = await it(
+ e,
+ t,
+ et(t)
+ ), l = t.look === "neo" ? s * 2 : s, c = a.height + l, h = c / 2, u = h / (2.5 + c / 50), f = a.width + u + l, { cssStyles: p } = t;
+ let g;
+ if (t.look === "handDrawn") {
+ const m = j.svg(n), y = zk(0, 0, f, c, u, h), x = Wk(0, 0, f, c, u, h), b = m.path(y, G(t, {})), C = m.path(x, G(t, { fill: "none" }));
+ g = n.insert(() => C, ":first-child"), g = n.insert(() => b, ":first-child"), g.attr("class", "basic label-container"), p && g.attr("style", p);
+ } else {
+ const m = Nk(0, 0, f, c, u, h);
+ g = n.insert("path", ":first-child").attr("d", m).attr("class", "basic label-container").attr("style", Yt(p)).attr("style", i), g.attr("class", "basic label-container"), p && g.selectAll("path").attr("style", p), i && g.selectAll("path").attr("style", i);
+ }
+ return g.attr("label-offset-x", u), g.attr("transform", `translate(${-f / 2}, ${c / 2} )`), o.attr(
+ "transform",
+ `translate(${-(a.width / 2) - u - (a.x - (a.left ?? 0))}, ${-(a.height / 2) - (a.y - (a.top ?? 0))})`
+ ), V(t, g), t.intersect = function(m) {
+ const y = H.rect(t, m), x = y.y - (t.y ?? 0);
+ if (h != 0 && (Math.abs(x) < (t.height ?? 0) / 2 || Math.abs(x) == (t.height ?? 0) / 2 && Math.abs(y.x - (t.x ?? 0)) > (t.width ?? 0) / 2 - u)) {
+ let b = u * u * (1 - x * x / (h * h));
+ b != 0 && (b = Math.sqrt(Math.abs(b))), b = u - b, m.x - (t.x ?? 0) > 0 && (b = -b), y.x += b;
+ }
+ return y;
+ }, n;
+}
+d(Sg, "tiltedCylinder");
+async function Tg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = a.width + t.padding, s = a.height + t.padding, l = [
+ { x: -3 * s / 6, y: 0 },
+ { x: o + 3 * s / 6, y: 0 },
+ { x: o, y: -s },
+ { x: 0, y: -s }
+ ];
+ let c;
+ const { cssStyles: h } = t;
+ if (t.look === "handDrawn") {
+ const u = j.svg(n), f = G(t, {}), p = ht(l), g = u.path(p, f);
+ c = n.insert(() => g, ":first-child").attr("transform", `translate(${-o / 2}, ${s / 2})`), h && c.attr("style", h);
+ } else
+ c = We(n, o, s, l);
+ return i && c.attr("style", i), t.width = o, t.height = s, V(t, c), t.intersect = function(u) {
+ return H.polygon(t, l, u);
+ }, n;
+}
+d(Tg, "trapezoid");
+async function Bg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = 60, s = 20, l = Math.max(o, a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), c = Math.max(s, a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), { cssStyles: h } = t, u = j.svg(n), f = G(t, {});
+ t.look !== "handDrawn" && (f.roughness = 0, f.fillStyle = "solid");
+ const p = [
+ { x: -l / 2 * 0.8, y: -c / 2 },
+ { x: l / 2 * 0.8, y: -c / 2 },
+ { x: l / 2, y: -c / 2 * 0.6 },
+ { x: l / 2, y: c / 2 },
+ { x: -l / 2, y: c / 2 },
+ { x: -l / 2, y: -c / 2 * 0.6 }
+ ], g = ht(p), m = u.path(g, f), y = n.insert(() => m, ":first-child");
+ return y.attr("class", "basic label-container"), h && t.look !== "handDrawn" && y.selectChildren("path").attr("style", h), i && t.look !== "handDrawn" && y.selectChildren("path").attr("style", i), V(t, y), t.intersect = function(x) {
+ return H.polygon(t, p, x);
+ }, n;
+}
+d(Bg, "trapezoidalPentagon");
+async function Lg(e, t) {
+ var b;
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Lt((b = ut().flowchart) == null ? void 0 : b.htmlLabels), l = a.width + (t.padding ?? 0), c = l + a.height, h = l + a.height, u = [
+ { x: 0, y: 0 },
+ { x: h, y: 0 },
+ { x: h / 2, y: -c }
+ ], { cssStyles: f } = t, p = j.svg(n), g = G(t, {});
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const m = ht(u), y = p.path(m, g), x = n.insert(() => y, ":first-child").attr("transform", `translate(${-c / 2}, ${c / 2})`);
+ return f && t.look !== "handDrawn" && x.selectChildren("path").attr("style", f), i && t.look !== "handDrawn" && x.selectChildren("path").attr("style", i), t.width = l, t.height = c, V(t, x), o.attr(
+ "transform",
+ `translate(${-a.width / 2 - (a.x - (a.left ?? 0))}, ${c / 2 - (a.height + (t.padding ?? 0) / (s ? 2 : 1) - (a.y - (a.top ?? 0)))})`
+ ), t.intersect = function(C) {
+ return $.info("Triangle intersect", t, u, C), H.polygon(t, u, C);
+ }, n;
+}
+d(Lg, "triangle");
+async function Ag(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = l / 8, h = l + c, { cssStyles: u } = t, p = 70 - s, g = p > 0 ? p / 2 : 0, m = j.svg(n), y = G(t, {});
+ t.look !== "handDrawn" && (y.roughness = 0, y.fillStyle = "solid");
+ const x = [
+ { x: -s / 2 - g, y: h / 2 },
+ ...Ve(
+ -s / 2 - g,
+ h / 2,
+ s / 2 + g,
+ h / 2,
+ c,
+ 0.8
+ ),
+ { x: s / 2 + g, y: -h / 2 },
+ { x: -s / 2 - g, y: -h / 2 }
+ ], b = ht(x), C = m.path(b, y), k = n.insert(() => C, ":first-child");
+ return k.attr("class", "basic label-container"), u && t.look !== "handDrawn" && k.selectAll("path").attr("style", u), i && t.look !== "handDrawn" && k.selectAll("path").attr("style", i), k.attr("transform", `translate(0,${-c / 2})`), o.attr(
+ "transform",
+ `translate(${-s / 2 + (t.padding ?? 0) - (a.x - (a.left ?? 0))},${-l / 2 + (t.padding ?? 0) - c - (a.y - (a.top ?? 0))})`
+ ), V(t, k), t.intersect = function(v) {
+ return H.polygon(t, x, v);
+ }, n;
+}
+d(Ag, "waveEdgedRectangle");
+async function Mg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a } = await it(e, t, et(t)), o = 100, s = 50, l = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), c = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), h = l / c;
+ let u = l, f = c;
+ u > f * h ? f = u / h : u = f * h, u = Math.max(u, o), f = Math.max(f, s);
+ const p = Math.min(f * 0.2, f / 4), g = f + p * 2, { cssStyles: m } = t, y = j.svg(n), x = G(t, {});
+ t.look !== "handDrawn" && (x.roughness = 0, x.fillStyle = "solid");
+ const b = [
+ { x: -u / 2, y: g / 2 },
+ ...Ve(-u / 2, g / 2, u / 2, g / 2, p, 1),
+ { x: u / 2, y: -g / 2 },
+ ...Ve(u / 2, -g / 2, -u / 2, -g / 2, p, -1)
+ ], C = ht(b), k = y.path(C, x), v = n.insert(() => k, ":first-child");
+ return v.attr("class", "basic label-container"), m && t.look !== "handDrawn" && v.selectAll("path").attr("style", m), i && t.look !== "handDrawn" && v.selectAll("path").attr("style", i), V(t, v), t.intersect = function(_) {
+ return H.polygon(t, b, _);
+ }, n;
+}
+d(Mg, "waveRectangle");
+async function Eg(e, t) {
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const { shapeSvg: n, bbox: a, label: o } = await it(e, t, et(t)), s = Math.max(a.width + (t.padding ?? 0) * 2, (t == null ? void 0 : t.width) ?? 0), l = Math.max(a.height + (t.padding ?? 0) * 2, (t == null ? void 0 : t.height) ?? 0), c = 5, h = -s / 2, u = -l / 2, { cssStyles: f } = t, p = j.svg(n), g = G(t, {}), m = [
+ { x: h - c, y: u - c },
+ { x: h - c, y: u + l },
+ { x: h + s, y: u + l },
+ { x: h + s, y: u - c }
+ ], y = `M${h - c},${u - c} L${h + s},${u - c} L${h + s},${u + l} L${h - c},${u + l} L${h - c},${u - c}
+ M${h - c},${u} L${h + s},${u}
+ M${h},${u - c} L${h},${u + l}`;
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const x = p.path(y, g), b = n.insert(() => x, ":first-child");
+ return b.attr("transform", `translate(${c / 2}, ${c / 2})`), b.attr("class", "basic label-container"), f && t.look !== "handDrawn" && b.selectAll("path").attr("style", f), i && t.look !== "handDrawn" && b.selectAll("path").attr("style", i), o.attr(
+ "transform",
+ `translate(${-(a.width / 2) + c / 2 - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + c / 2 - (a.y - (a.top ?? 0))})`
+ ), V(t, b), t.intersect = function(C) {
+ return H.polygon(t, m, C);
+ }, n;
+}
+d(Eg, "windowPane");
+async function dl(e, t) {
+ var dt, at, wt, st;
+ const r = t;
+ if (r.alias && (t.label = r.alias), t.look === "handDrawn") {
+ const { themeVariables: nt } = Jt(), { background: lt } = nt, Ct = {
+ ...t,
+ id: t.id + "-background",
+ look: "default",
+ cssStyles: ["stroke: none", `fill: ${lt}`]
+ };
+ await dl(e, Ct);
+ }
+ const i = Jt();
+ t.useHtmlLabels = i.htmlLabels;
+ let n = ((dt = i.er) == null ? void 0 : dt.diagramPadding) ?? 10, a = ((at = i.er) == null ? void 0 : at.entityPadding) ?? 6;
+ const { cssStyles: o } = t, { labelStyles: s, nodeStyles: l } = Z(t);
+ if (r.attributes.length === 0 && t.label) {
+ const nt = {
+ rx: 0,
+ ry: 0,
+ labelPaddingX: n,
+ labelPaddingY: n * 1.5
+ };
+ Pe(t.label, i) + nt.labelPaddingX * 2 < i.er.minEntityWidth && (t.width = i.er.minEntityWidth);
+ const lt = await en(e, t, nt);
+ if (!Lt(i.htmlLabels)) {
+ const Ct = lt.select("text"), mt = (wt = Ct.node()) == null ? void 0 : wt.getBBox();
+ Ct.attr("transform", `translate(${-mt.width / 2}, 0)`);
+ }
+ return lt;
+ }
+ i.htmlLabels || (n *= 1.25, a *= 1.25);
+ let c = et(t);
+ c || (c = "node default");
+ const h = e.insert("g").attr("class", c).attr("id", t.domId || t.id), u = await Ar(h, t.label ?? "", i, 0, 0, ["name"], s);
+ u.height += a;
+ let f = 0;
+ const p = [], g = [];
+ let m = 0, y = 0, x = 0, b = 0, C = !0, k = !0;
+ for (const nt of r.attributes) {
+ const lt = await Ar(
+ h,
+ nt.type,
+ i,
+ 0,
+ f,
+ ["attribute-type"],
+ s
+ );
+ m = Math.max(m, lt.width + n);
+ const Ct = await Ar(
+ h,
+ nt.name,
+ i,
+ 0,
+ f,
+ ["attribute-name"],
+ s
+ );
+ y = Math.max(y, Ct.width + n);
+ const mt = await Ar(
+ h,
+ nt.keys.join(),
+ i,
+ 0,
+ f,
+ ["attribute-keys"],
+ s
+ );
+ x = Math.max(x, mt.width + n);
+ const yt = await Ar(
+ h,
+ nt.comment,
+ i,
+ 0,
+ f,
+ ["attribute-comment"],
+ s
+ );
+ b = Math.max(b, yt.width + n);
+ const kt = Math.max(lt.height, Ct.height, mt.height, yt.height) + a;
+ g.push({ yOffset: f, rowHeight: kt }), f += kt;
+ }
+ let v = 4;
+ x <= n && (C = !1, x = 0, v--), b <= n && (k = !1, b = 0, v--);
+ const _ = h.node().getBBox();
+ if (u.width + n * 2 - (m + y + x + b) > 0) {
+ const nt = u.width + n * 2 - (m + y + x + b);
+ m += nt / v, y += nt / v, x > 0 && (x += nt / v), b > 0 && (b += nt / v);
+ }
+ const S = m + y + x + b, R = j.svg(h), P = G(t, {});
+ t.look !== "handDrawn" && (P.roughness = 0, P.fillStyle = "solid");
+ let O = 0;
+ g.length > 0 && (O = g.reduce((nt, lt) => nt + ((lt == null ? void 0 : lt.rowHeight) ?? 0), 0));
+ const E = Math.max(_.width + n * 2, (t == null ? void 0 : t.width) || 0, S), z = Math.max((O ?? 0) + u.height, (t == null ? void 0 : t.height) || 0), D = -E / 2, L = -z / 2;
+ h.selectAll("g:not(:first-child)").each((nt, lt, Ct) => {
+ const mt = ct(Ct[lt]), yt = mt.attr("transform");
+ let kt = 0, zt = 0;
+ if (yt) {
+ const oe = RegExp(/translate\(([^,]+),([^)]+)\)/).exec(yt);
+ oe && (kt = parseFloat(oe[1]), zt = parseFloat(oe[2]), mt.attr("class").includes("attribute-name") ? kt += m : mt.attr("class").includes("attribute-keys") ? kt += m + y : mt.attr("class").includes("attribute-comment") && (kt += m + y + x));
+ }
+ mt.attr(
+ "transform",
+ `translate(${D + n / 2 + kt}, ${zt + L + u.height + a / 2})`
+ );
+ }), h.select(".name").attr("transform", "translate(" + -u.width / 2 + ", " + (L + a / 2) + ")");
+ const M = R.rectangle(D, L, E, z, P), B = h.insert(() => M, ":first-child").attr("style", o.join("")), { themeVariables: F } = Jt(), { rowEven: A, rowOdd: W, nodeBorder: X } = F;
+ p.push(0);
+ for (const [nt, lt] of g.entries()) {
+ const mt = (nt + 1) % 2 === 0 && lt.yOffset !== 0, yt = R.rectangle(D, u.height + L + (lt == null ? void 0 : lt.yOffset), E, lt == null ? void 0 : lt.rowHeight, {
+ ...P,
+ fill: mt ? A : W,
+ stroke: X
+ });
+ h.insert(() => yt, "g.label").attr("style", o.join("")).attr("class", `row-rect-${mt ? "even" : "odd"}`);
+ }
+ let Y = R.line(D, u.height + L, E + D, u.height + L, P);
+ h.insert(() => Y).attr("class", "divider"), Y = R.line(m + D, u.height + L, m + D, z + L, P), h.insert(() => Y).attr("class", "divider"), C && (Y = R.line(
+ m + y + D,
+ u.height + L,
+ m + y + D,
+ z + L,
+ P
+ ), h.insert(() => Y).attr("class", "divider")), k && (Y = R.line(
+ m + y + x + D,
+ u.height + L,
+ m + y + x + D,
+ z + L,
+ P
+ ), h.insert(() => Y).attr("class", "divider"));
+ for (const nt of p)
+ Y = R.line(
+ D,
+ u.height + L + nt,
+ E + D,
+ u.height + L + nt,
+ P
+ ), h.insert(() => Y).attr("class", "divider");
+ if (V(t, B), l && t.look !== "handDrawn") {
+ const nt = l.split(";"), lt = (st = nt == null ? void 0 : nt.filter((Ct) => Ct.includes("stroke"))) == null ? void 0 : st.map((Ct) => `${Ct}`).join("; ");
+ h.selectAll("path").attr("style", lt ?? ""), h.selectAll(".row-rect-even path").attr("style", l);
+ }
+ return t.intersect = function(nt) {
+ return H.rect(t, nt);
+ }, h;
+}
+d(dl, "erBox");
+async function Ar(e, t, r, i = 0, n = 0, a = [], o = "") {
+ const s = e.insert("g").attr("class", `label ${a.join(" ")}`).attr("transform", `translate(${i}, ${n})`).attr("style", o);
+ t !== Xl(t) && (t = Xl(t), t = t.replaceAll("<", "<").replaceAll(">", ">"));
+ const l = s.node().appendChild(
+ await Ke(
+ s,
+ t,
+ {
+ width: Pe(t, r) + 100,
+ style: o,
+ useHtmlLabels: r.htmlLabels
+ },
+ r
+ )
+ );
+ if (t.includes("<") || t.includes(">")) {
+ let h = l.children[0];
+ for (h.textContent = h.textContent.replaceAll("<", "<").replaceAll(">", ">"); h.childNodes[0]; )
+ h = h.childNodes[0], h.textContent = h.textContent.replaceAll("<", "<").replaceAll(">", ">");
+ }
+ let c = l.getBBox();
+ if (Lt(r.htmlLabels)) {
+ const h = l.children[0];
+ h.style.textAlign = "start";
+ const u = ct(l);
+ c = h.getBoundingClientRect(), u.attr("width", c.width), u.attr("height", c.height);
+ }
+ return c;
+}
+d(Ar, "addText");
+async function Fg(e, t, r, i, n = r.class.padding ?? 12) {
+ const a = i ? 0 : 3, o = e.insert("g").attr("class", et(t)).attr("id", t.domId || t.id);
+ let s = null, l = null, c = null, h = null, u = 0, f = 0, p = 0;
+ if (s = o.insert("g").attr("class", "annotation-group text"), t.annotations.length > 0) {
+ const b = t.annotations[0];
+ await Si(s, { text: `«${b}»` }, 0), u = s.node().getBBox().height;
+ }
+ l = o.insert("g").attr("class", "label-group text"), await Si(l, t, 0, ["font-weight: bolder"]);
+ const g = l.node().getBBox();
+ f = g.height, c = o.insert("g").attr("class", "members-group text");
+ let m = 0;
+ for (const b of t.members) {
+ const C = await Si(c, b, m, [b.parseClassifier()]);
+ m += C + a;
+ }
+ p = c.node().getBBox().height, p <= 0 && (p = n / 2), h = o.insert("g").attr("class", "methods-group text");
+ let y = 0;
+ for (const b of t.methods) {
+ const C = await Si(h, b, y, [b.parseClassifier()]);
+ y += C + a;
+ }
+ let x = o.node().getBBox();
+ if (s !== null) {
+ const b = s.node().getBBox();
+ s.attr("transform", `translate(${-b.width / 2})`);
+ }
+ return l.attr("transform", `translate(${-g.width / 2}, ${u})`), x = o.node().getBBox(), c.attr(
+ "transform",
+ `translate(0, ${u + f + n * 2})`
+ ), x = o.node().getBBox(), h.attr(
+ "transform",
+ `translate(0, ${u + f + (p ? p + n * 4 : n * 2)})`
+ ), x = o.node().getBBox(), { shapeSvg: o, bbox: x };
+}
+d(Fg, "textHelper");
+async function Si(e, t, r, i = []) {
+ const n = e.insert("g").attr("class", "label").attr("style", i.join("; ")), a = Jt();
+ let o = "useHtmlLabels" in t ? t.useHtmlLabels : Lt(a.htmlLabels) ?? !0, s = "";
+ "text" in t ? s = t.text : s = t.label, !o && s.startsWith("\\") && (s = s.substring(1)), Ur(s) && (o = !0);
+ const l = await Ke(
+ n,
+ _a(xr(s)),
+ {
+ width: Pe(s, a) + 50,
+ // Add room for error when splitting text into multiple lines
+ classes: "markdown-node-label",
+ useHtmlLabels: o
+ },
+ a
+ );
+ let c, h = 1;
+ if (o) {
+ const u = l.children[0], f = ct(l);
+ h = u.innerHTML.split("
").length, u.innerHTML.includes("") && (h += u.innerHTML.split("").length - 1);
+ const p = u.getElementsByTagName("img");
+ if (p) {
+ const g = s.replace(/
]*>/g, "").trim() === "";
+ await Promise.all(
+ [...p].map(
+ (m) => new Promise((y) => {
+ function x() {
+ var b;
+ if (m.style.display = "flex", m.style.flexDirection = "column", g) {
+ const C = ((b = a.fontSize) == null ? void 0 : b.toString()) ?? window.getComputedStyle(document.body).fontSize, v = parseInt(C, 10) * 5 + "px";
+ m.style.minWidth = v, m.style.maxWidth = v;
+ } else
+ m.style.width = "100%";
+ y(m);
+ }
+ d(x, "setupImage"), setTimeout(() => {
+ m.complete && x();
+ }), m.addEventListener("error", x), m.addEventListener("load", x);
+ })
+ )
+ );
+ }
+ c = u.getBoundingClientRect(), f.attr("width", c.width), f.attr("height", c.height);
+ } else {
+ i.includes("font-weight: bolder") && ct(l).selectAll("tspan").attr("font-weight", ""), h = l.children.length;
+ const u = l.children[0];
+ (l.textContent === "" || l.textContent.includes(">")) && (u.textContent = s[0] + s.substring(1).replaceAll(">", ">").replaceAll("<", "<").trim(), s[1] === " " && (u.textContent = u.textContent[0] + " " + u.textContent.substring(1))), u.textContent === "undefined" && (u.textContent = ""), c = l.getBBox();
+ }
+ return n.attr("transform", "translate(0," + (-c.height / (2 * h) + r) + ")"), c.height;
+}
+d(Si, "addText");
+async function $g(e, t) {
+ var P, O;
+ const r = ut(), i = r.class.padding ?? 12, n = i, a = t.useHtmlLabels ?? Lt(r.htmlLabels) ?? !0, o = t;
+ o.annotations = o.annotations ?? [], o.members = o.members ?? [], o.methods = o.methods ?? [];
+ const { shapeSvg: s, bbox: l } = await Fg(e, t, r, a, n), { labelStyles: c, nodeStyles: h } = Z(t);
+ t.labelStyle = c, t.cssStyles = o.styles || "";
+ const u = ((P = o.styles) == null ? void 0 : P.join(";")) || h || "";
+ t.cssStyles || (t.cssStyles = u.replaceAll("!important", "").split(";"));
+ const f = o.members.length === 0 && o.methods.length === 0 && !((O = r.class) != null && O.hideEmptyMembersBox), p = j.svg(s), g = G(t, {});
+ t.look !== "handDrawn" && (g.roughness = 0, g.fillStyle = "solid");
+ const m = l.width;
+ let y = l.height;
+ o.members.length === 0 && o.methods.length === 0 ? y += n : o.members.length > 0 && o.methods.length === 0 && (y += n * 2);
+ const x = -m / 2, b = -y / 2, C = p.rectangle(
+ x - i,
+ b - i - (f ? i : o.members.length === 0 && o.methods.length === 0 ? -i / 2 : 0),
+ m + 2 * i,
+ y + 2 * i + (f ? i * 2 : o.members.length === 0 && o.methods.length === 0 ? -i : 0),
+ g
+ ), k = s.insert(() => C, ":first-child");
+ k.attr("class", "basic label-container");
+ const v = k.node().getBBox();
+ s.selectAll(".text").each((E, z, D) => {
+ var W;
+ const L = ct(D[z]), M = L.attr("transform");
+ let B = 0;
+ if (M) {
+ const Y = RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);
+ Y && (B = parseFloat(Y[2]));
+ }
+ let F = B + b + i - (f ? i : o.members.length === 0 && o.methods.length === 0 ? -i / 2 : 0);
+ a || (F -= 4);
+ let A = x;
+ (L.attr("class").includes("label-group") || L.attr("class").includes("annotation-group")) && (A = -((W = L.node()) == null ? void 0 : W.getBBox().width) / 2 || 0, s.selectAll("text").each(function(X, Y, dt) {
+ window.getComputedStyle(dt[Y]).textAnchor === "middle" && (A = 0);
+ })), L.attr("transform", `translate(${A}, ${F})`);
+ });
+ const _ = s.select(".annotation-group").node().getBBox().height - (f ? i / 2 : 0) || 0, S = s.select(".label-group").node().getBBox().height - (f ? i / 2 : 0) || 0, R = s.select(".members-group").node().getBBox().height - (f ? i / 2 : 0) || 0;
+ if (o.members.length > 0 || o.methods.length > 0 || f) {
+ const E = p.line(
+ v.x,
+ _ + S + b + i,
+ v.x + v.width,
+ _ + S + b + i,
+ g
+ );
+ s.insert(() => E).attr("class", "divider").attr("style", u);
+ }
+ if (f || o.members.length > 0 || o.methods.length > 0) {
+ const E = p.line(
+ v.x,
+ _ + S + R + b + n * 2 + i,
+ v.x + v.width,
+ _ + S + R + b + i + n * 2,
+ g
+ );
+ s.insert(() => E).attr("class", "divider").attr("style", u);
+ }
+ if (o.look !== "handDrawn" && s.selectAll("path").attr("style", u), k.select(":nth-child(2)").attr("style", u), s.selectAll(".divider").select("path").attr("style", u), t.labelStyle ? s.selectAll("span").attr("style", t.labelStyle) : s.selectAll("span").attr("style", u), !a) {
+ const E = RegExp(/color\s*:\s*([^;]*)/), z = E.exec(u);
+ if (z) {
+ const D = z[0].replace("color", "fill");
+ s.selectAll("tspan").attr("style", D);
+ } else if (c) {
+ const D = E.exec(c);
+ if (D) {
+ const L = D[0].replace("color", "fill");
+ s.selectAll("tspan").attr("style", L);
+ }
+ }
+ }
+ return V(t, k), t.intersect = function(E) {
+ return H.rect(t, E);
+ }, s;
+}
+d($g, "classBox");
+async function Og(e, t) {
+ var _, S;
+ const { labelStyles: r, nodeStyles: i } = Z(t);
+ t.labelStyle = r;
+ const n = t, a = t, o = 20, s = 20, l = "verifyMethod" in t, c = et(t), h = e.insert("g").attr("class", c).attr("id", t.domId ?? t.id);
+ let u;
+ l ? u = await ye(
+ h,
+ `<<${n.type}>>`,
+ 0,
+ t.labelStyle
+ ) : u = await ye(h, "<<Element>>", 0, t.labelStyle);
+ let f = u;
+ const p = await ye(
+ h,
+ n.name,
+ f,
+ t.labelStyle + "; font-weight: bold;"
+ );
+ if (f += p + s, l) {
+ const R = await ye(
+ h,
+ `${n.requirementId ? `id: ${n.requirementId}` : ""}`,
+ f,
+ t.labelStyle
+ );
+ f += R;
+ const P = await ye(
+ h,
+ `${n.text ? `Text: ${n.text}` : ""}`,
+ f,
+ t.labelStyle
+ );
+ f += P;
+ const O = await ye(
+ h,
+ `${n.risk ? `Risk: ${n.risk}` : ""}`,
+ f,
+ t.labelStyle
+ );
+ f += O, await ye(
+ h,
+ `${n.verifyMethod ? `Verification: ${n.verifyMethod}` : ""}`,
+ f,
+ t.labelStyle
+ );
+ } else {
+ const R = await ye(
+ h,
+ `${a.type ? `Type: ${a.type}` : ""}`,
+ f,
+ t.labelStyle
+ );
+ f += R, await ye(
+ h,
+ `${a.docRef ? `Doc Ref: ${a.docRef}` : ""}`,
+ f,
+ t.labelStyle
+ );
+ }
+ const g = (((_ = h.node()) == null ? void 0 : _.getBBox().width) ?? 200) + o, m = (((S = h.node()) == null ? void 0 : S.getBBox().height) ?? 200) + o, y = -g / 2, x = -m / 2, b = j.svg(h), C = G(t, {});
+ t.look !== "handDrawn" && (C.roughness = 0, C.fillStyle = "solid");
+ const k = b.rectangle(y, x, g, m, C), v = h.insert(() => k, ":first-child");
+ if (v.attr("class", "basic label-container").attr("style", i), h.selectAll(".label").each((R, P, O) => {
+ const E = ct(O[P]), z = E.attr("transform");
+ let D = 0, L = 0;
+ if (z) {
+ const A = RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);
+ A && (D = parseFloat(A[1]), L = parseFloat(A[2]));
+ }
+ const M = L - m / 2;
+ let B = y + o / 2;
+ (P === 0 || P === 1) && (B = D), E.attr("transform", `translate(${B}, ${M + o})`);
+ }), f > u + p + s) {
+ const R = b.line(
+ y,
+ x + u + p + s,
+ y + g,
+ x + u + p + s,
+ C
+ );
+ h.insert(() => R).attr("style", i);
+ }
+ return V(t, v), t.intersect = function(R) {
+ return H.rect(t, R);
+ }, h;
+}
+d(Og, "requirementBox");
+async function ye(e, t, r, i = "") {
+ if (t === "")
+ return 0;
+ const n = e.insert("g").attr("class", "label").attr("style", i), a = ut(), o = a.htmlLabels ?? !0, s = await Ke(
+ n,
+ _a(xr(t)),
+ {
+ width: Pe(t, a) + 50,
+ // Add room for error when splitting text into multiple lines
+ classes: "markdown-node-label",
+ useHtmlLabels: o,
+ style: i
+ },
+ a
+ );
+ let l;
+ if (o) {
+ const c = s.children[0], h = ct(s);
+ l = c.getBoundingClientRect(), h.attr("width", l.width), h.attr("height", l.height);
+ } else {
+ const c = s.children[0];
+ for (const h of c.children)
+ h.textContent = h.textContent.replaceAll(">", ">").replaceAll("<", "<"), i && h.setAttribute("style", i);
+ l = s.getBBox(), l.height += 6;
+ }
+ return n.attr("transform", `translate(${-l.width / 2},${-l.height / 2 + r})`), l.height;
+}
+d(ye, "addText");
+var qk = /* @__PURE__ */ d((e) => {
+ switch (e) {
+ case "Very High":
+ return "red";
+ case "High":
+ return "orange";
+ case "Medium":
+ return null;
+ case "Low":
+ return "blue";
+ case "Very Low":
+ return "lightblue";
+ }
+}, "colorFromPriority");
+async function Dg(e, t, { config: r }) {
+ var z, D;
+ const { labelStyles: i, nodeStyles: n } = Z(t);
+ t.labelStyle = i || "";
+ const a = 10, o = t.width;
+ t.width = (t.width ?? 200) - 10;
+ const {
+ shapeSvg: s,
+ bbox: l,
+ label: c
+ } = await it(e, t, et(t)), h = t.padding || 10;
+ let u = "", f;
+ "ticket" in t && t.ticket && ((z = r == null ? void 0 : r.kanban) != null && z.ticketBaseUrl) && (u = (D = r == null ? void 0 : r.kanban) == null ? void 0 : D.ticketBaseUrl.replace("#TICKET#", t.ticket), f = s.insert("svg:a", ":first-child").attr("class", "kanban-ticket-link").attr("xlink:href", u).attr("target", "_blank"));
+ const p = {
+ useHtmlLabels: t.useHtmlLabels,
+ labelStyle: t.labelStyle || "",
+ width: t.width,
+ img: t.img,
+ padding: t.padding || 8,
+ centerLabel: !1
+ };
+ let g, m;
+ f ? { label: g, bbox: m } = await gs(
+ f,
+ "ticket" in t && t.ticket || "",
+ p
+ ) : { label: g, bbox: m } = await gs(
+ s,
+ "ticket" in t && t.ticket || "",
+ p
+ );
+ const { label: y, bbox: x } = await gs(
+ s,
+ "assigned" in t && t.assigned || "",
+ p
+ );
+ t.width = o;
+ const b = 10, C = (t == null ? void 0 : t.width) || 0, k = Math.max(m.height, x.height) / 2, v = Math.max(l.height + b * 2, (t == null ? void 0 : t.height) || 0) + k, _ = -C / 2, S = -v / 2;
+ c.attr(
+ "transform",
+ "translate(" + (h - C / 2) + ", " + (-k - l.height / 2) + ")"
+ ), g.attr(
+ "transform",
+ "translate(" + (h - C / 2) + ", " + (-k + l.height / 2) + ")"
+ ), y.attr(
+ "transform",
+ "translate(" + (h + C / 2 - x.width - 2 * a) + ", " + (-k + l.height / 2) + ")"
+ );
+ let R;
+ const { rx: P, ry: O } = t, { cssStyles: E } = t;
+ if (t.look === "handDrawn") {
+ const L = j.svg(s), M = G(t, {}), B = P || O ? L.path(ze(_, S, C, v, P || 0), M) : L.rectangle(_, S, C, v, M);
+ R = s.insert(() => B, ":first-child"), R.attr("class", "basic label-container").attr("style", E || null);
+ } else {
+ R = s.insert("rect", ":first-child"), R.attr("class", "basic label-container __APA__").attr("style", n).attr("rx", P ?? 5).attr("ry", O ?? 5).attr("x", _).attr("y", S).attr("width", C).attr("height", v);
+ const L = "priority" in t && t.priority;
+ if (L) {
+ const M = s.append("line"), B = _ + 2, F = S + Math.floor((P ?? 0) / 2), A = S + v - Math.floor((P ?? 0) / 2);
+ M.attr("x1", B).attr("y1", F).attr("x2", B).attr("y2", A).attr("stroke-width", "4").attr("stroke", qk(L));
+ }
+ }
+ return V(t, R), t.height = v, t.intersect = function(L) {
+ return H.rect(t, L);
+ }, s;
+}
+d(Dg, "kanbanItem");
+var Hk = [
+ {
+ semanticName: "Process",
+ name: "Rectangle",
+ shortName: "rect",
+ description: "Standard process shape",
+ aliases: ["proc", "process", "rectangle"],
+ internalAliases: ["squareRect"],
+ handler: mg
+ },
+ {
+ semanticName: "Event",
+ name: "Rounded Rectangle",
+ shortName: "rounded",
+ description: "Represents an event",
+ aliases: ["event"],
+ internalAliases: ["roundedRect"],
+ handler: pg
+ },
+ {
+ semanticName: "Terminal Point",
+ name: "Stadium",
+ shortName: "stadium",
+ description: "Terminal point",
+ aliases: ["terminal", "pill"],
+ handler: yg
+ },
+ {
+ semanticName: "Subprocess",
+ name: "Framed Rectangle",
+ shortName: "fr-rect",
+ description: "Subprocess",
+ aliases: ["subprocess", "subproc", "framed-rectangle", "subroutine"],
+ handler: Cg
+ },
+ {
+ semanticName: "Database",
+ name: "Cylinder",
+ shortName: "cyl",
+ description: "Database storage",
+ aliases: ["db", "database", "cylinder"],
+ handler: zd
+ },
+ {
+ semanticName: "Start",
+ name: "Circle",
+ shortName: "circle",
+ description: "Starting point",
+ aliases: ["circ"],
+ handler: $d
+ },
+ {
+ semanticName: "Decision",
+ name: "Diamond",
+ shortName: "diam",
+ description: "Decision-making step",
+ aliases: ["decision", "diamond", "question"],
+ handler: hg
+ },
+ {
+ semanticName: "Prepare Conditional",
+ name: "Hexagon",
+ shortName: "hex",
+ description: "Preparation or condition step",
+ aliases: ["hexagon", "prepare"],
+ handler: Gd
+ },
+ {
+ semanticName: "Data Input/Output",
+ name: "Lean Right",
+ shortName: "lean-r",
+ description: "Represents input or output",
+ aliases: ["lean-right", "in-out"],
+ internalAliases: ["lean_right"],
+ handler: ig
+ },
+ {
+ semanticName: "Data Input/Output",
+ name: "Lean Left",
+ shortName: "lean-l",
+ description: "Represents output or input",
+ aliases: ["lean-left", "out-in"],
+ internalAliases: ["lean_left"],
+ handler: rg
+ },
+ {
+ semanticName: "Priority Action",
+ name: "Trapezoid Base Bottom",
+ shortName: "trap-b",
+ description: "Priority action",
+ aliases: ["priority", "trapezoid-bottom", "trapezoid"],
+ handler: Tg
+ },
+ {
+ semanticName: "Manual Operation",
+ name: "Trapezoid Base Top",
+ shortName: "trap-t",
+ description: "Represents a manual task",
+ aliases: ["manual", "trapezoid-top", "inv-trapezoid"],
+ internalAliases: ["inv_trapezoid"],
+ handler: tg
+ },
+ {
+ semanticName: "Stop",
+ name: "Double Circle",
+ shortName: "dbl-circ",
+ description: "Represents a stop point",
+ aliases: ["double-circle"],
+ internalAliases: ["doublecircle"],
+ handler: qd
+ },
+ {
+ semanticName: "Text Block",
+ name: "Text Block",
+ shortName: "text",
+ description: "Text block",
+ handler: kg
+ },
+ {
+ semanticName: "Card",
+ name: "Notched Rectangle",
+ shortName: "notch-rect",
+ description: "Represents a card",
+ aliases: ["card", "notched-rectangle"],
+ handler: Ed
+ },
+ {
+ semanticName: "Lined/Shaded Process",
+ name: "Lined Rectangle",
+ shortName: "lin-rect",
+ description: "Lined process shape",
+ aliases: ["lined-rectangle", "lined-process", "lin-proc", "shaded-process"],
+ handler: dg
+ },
+ {
+ semanticName: "Start",
+ name: "Small Circle",
+ shortName: "sm-circ",
+ description: "Small starting point",
+ aliases: ["start", "small-circle"],
+ internalAliases: ["stateStart"],
+ handler: _g
+ },
+ {
+ semanticName: "Stop",
+ name: "Framed Circle",
+ shortName: "fr-circ",
+ description: "Stop point",
+ aliases: ["stop", "framed-circle"],
+ internalAliases: ["stateEnd"],
+ handler: bg
+ },
+ {
+ semanticName: "Fork/Join",
+ name: "Filled Rectangle",
+ shortName: "fork",
+ description: "Fork or join in process flow",
+ aliases: ["join"],
+ internalAliases: ["forkJoin"],
+ handler: Yd
+ },
+ {
+ semanticName: "Collate",
+ name: "Hourglass",
+ shortName: "hourglass",
+ description: "Represents a collate operation",
+ aliases: ["hourglass", "collate"],
+ handler: Xd
+ },
+ {
+ semanticName: "Comment",
+ name: "Curly Brace",
+ shortName: "brace",
+ description: "Adds a comment",
+ aliases: ["comment", "brace-l"],
+ handler: Rd
+ },
+ {
+ semanticName: "Comment Right",
+ name: "Curly Brace",
+ shortName: "brace-r",
+ description: "Adds a comment",
+ handler: Id
+ },
+ {
+ semanticName: "Comment with braces on both sides",
+ name: "Curly Braces",
+ shortName: "braces",
+ description: "Adds a comment",
+ handler: Pd
+ },
+ {
+ semanticName: "Com Link",
+ name: "Lightning Bolt",
+ shortName: "bolt",
+ description: "Communication link",
+ aliases: ["com-link", "lightning-bolt"],
+ handler: ng
+ },
+ {
+ semanticName: "Document",
+ name: "Document",
+ shortName: "doc",
+ description: "Represents a document",
+ aliases: ["doc", "document"],
+ handler: Ag
+ },
+ {
+ semanticName: "Delay",
+ name: "Half-Rounded Rectangle",
+ shortName: "delay",
+ description: "Represents a delay",
+ aliases: ["half-rounded-rectangle"],
+ handler: Ud
+ },
+ {
+ semanticName: "Direct Access Storage",
+ name: "Horizontal Cylinder",
+ shortName: "h-cyl",
+ description: "Direct access storage",
+ aliases: ["das", "horizontal-cylinder"],
+ handler: Sg
+ },
+ {
+ semanticName: "Disk Storage",
+ name: "Lined Cylinder",
+ shortName: "lin-cyl",
+ description: "Disk storage",
+ aliases: ["disk", "lined-cylinder"],
+ handler: ag
+ },
+ {
+ semanticName: "Display",
+ name: "Curved Trapezoid",
+ shortName: "curv-trap",
+ description: "Represents a display",
+ aliases: ["curved-trapezoid", "display"],
+ handler: Nd
+ },
+ {
+ semanticName: "Divided Process",
+ name: "Divided Rectangle",
+ shortName: "div-rect",
+ description: "Divided process shape",
+ aliases: ["div-proc", "divided-rectangle", "divided-process"],
+ handler: Wd
+ },
+ {
+ semanticName: "Extract",
+ name: "Triangle",
+ shortName: "tri",
+ description: "Extraction process",
+ aliases: ["extract", "triangle"],
+ handler: Lg
+ },
+ {
+ semanticName: "Internal Storage",
+ name: "Window Pane",
+ shortName: "win-pane",
+ description: "Internal storage",
+ aliases: ["internal-storage", "window-pane"],
+ handler: Eg
+ },
+ {
+ semanticName: "Junction",
+ name: "Filled Circle",
+ shortName: "f-circ",
+ description: "Junction point",
+ aliases: ["junction", "filled-circle"],
+ handler: Hd
+ },
+ {
+ semanticName: "Loop Limit",
+ name: "Trapezoidal Pentagon",
+ shortName: "notch-pent",
+ description: "Loop limit step",
+ aliases: ["loop-limit", "notched-pentagon"],
+ handler: Bg
+ },
+ {
+ semanticName: "Manual File",
+ name: "Flipped Triangle",
+ shortName: "flip-tri",
+ description: "Manual file operation",
+ aliases: ["manual-file", "flipped-triangle"],
+ handler: jd
+ },
+ {
+ semanticName: "Manual Input",
+ name: "Sloped Rectangle",
+ shortName: "sl-rect",
+ description: "Manual input step",
+ aliases: ["manual-input", "sloped-rectangle"],
+ handler: gg
+ },
+ {
+ semanticName: "Multi-Document",
+ name: "Stacked Document",
+ shortName: "docs",
+ description: "Multiple documents",
+ aliases: ["documents", "st-doc", "stacked-document"],
+ handler: lg
+ },
+ {
+ semanticName: "Multi-Process",
+ name: "Stacked Rectangle",
+ shortName: "st-rect",
+ description: "Multiple processes",
+ aliases: ["procs", "processes", "stacked-rectangle"],
+ handler: og
+ },
+ {
+ semanticName: "Stored Data",
+ name: "Bow Tie Rectangle",
+ shortName: "bow-rect",
+ description: "Stored data",
+ aliases: ["stored-data", "bow-tie-rectangle"],
+ handler: Md
+ },
+ {
+ semanticName: "Summary",
+ name: "Crossed Circle",
+ shortName: "cross-circ",
+ description: "Summary",
+ aliases: ["summary", "crossed-circle"],
+ handler: Dd
+ },
+ {
+ semanticName: "Tagged Document",
+ name: "Tagged Document",
+ shortName: "tag-doc",
+ description: "Tagged document",
+ aliases: ["tag-doc", "tagged-document"],
+ handler: vg
+ },
+ {
+ semanticName: "Tagged Process",
+ name: "Tagged Rectangle",
+ shortName: "tag-rect",
+ description: "Tagged process",
+ aliases: ["tagged-rectangle", "tag-proc", "tagged-process"],
+ handler: wg
+ },
+ {
+ semanticName: "Paper Tape",
+ name: "Flag",
+ shortName: "flag",
+ description: "Paper tape",
+ aliases: ["paper-tape"],
+ handler: Mg
+ },
+ {
+ semanticName: "Odd",
+ name: "Odd",
+ shortName: "odd",
+ description: "Odd shape",
+ internalAliases: ["rect_left_inv_arrow"],
+ handler: ug
+ },
+ {
+ semanticName: "Lined Document",
+ name: "Lined Document",
+ shortName: "lin-doc",
+ description: "Lined document",
+ aliases: ["lined-document"],
+ handler: sg
+ }
+], jk = /* @__PURE__ */ d(() => {
+ const t = [
+ ...Object.entries({
+ // States
+ state: xg,
+ choice: Fd,
+ note: cg,
+ // Rectangles
+ rectWithTitle: fg,
+ labelRect: eg,
+ // Icons
+ iconSquare: Qd,
+ iconCircle: Zd,
+ icon: Vd,
+ iconRounded: Kd,
+ imageSquare: Jd,
+ anchor: Ad,
+ // Kanban diagram
+ kanbanItem: Dg,
+ // class diagram
+ classBox: $g,
+ // er diagram
+ erBox: dl,
+ // Requirement diagram
+ requirementBox: Og
+ }),
+ ...Hk.flatMap((r) => [
+ r.shortName,
+ ..."aliases" in r ? r.aliases : [],
+ ..."internalAliases" in r ? r.internalAliases : []
+ ].map((n) => [n, r.handler]))
+ ];
+ return Object.fromEntries(t);
+}, "generateShapeMap"), Rg = jk();
+function Yk(e) {
+ return e in Rg;
+}
+d(Yk, "isValidShape");
+var Na = /* @__PURE__ */ new Map();
+async function Ig(e, t, r) {
+ let i, n;
+ t.shape === "rect" && (t.rx && t.ry ? t.shape = "roundedRect" : t.shape = "squareRect");
+ const a = t.shape ? Rg[t.shape] : void 0;
+ if (!a)
+ throw new Error(`No such shape: ${t.shape}. Please check your syntax.`);
+ if (t.link) {
+ let o;
+ r.config.securityLevel === "sandbox" ? o = "_top" : t.linkTarget && (o = t.linkTarget || "_blank"), i = e.insert("svg:a").attr("xlink:href", t.link).attr("target", o ?? null), n = await a(i, t, r);
+ } else
+ n = await a(e, t, r), i = n;
+ return t.tooltip && n.attr("title", t.tooltip), Na.set(t.id, i), t.haveCallback && i.attr("class", i.attr("class") + " clickable"), i;
+}
+d(Ig, "insertNode");
+var GL = /* @__PURE__ */ d((e, t) => {
+ Na.set(t.id, e);
+}, "setNodeElem"), XL = /* @__PURE__ */ d(() => {
+ Na.clear();
+}, "clear"), VL = /* @__PURE__ */ d((e) => {
+ const t = Na.get(e.id);
+ $.trace(
+ "Transforming node",
+ e.diff,
+ e,
+ "translate(" + (e.x - e.width / 2 - 5) + ", " + e.width / 2 + ")"
+ );
+ const r = 8, i = e.diff || 0;
+ return e.clusterNode ? t.attr(
+ "transform",
+ "translate(" + (e.x + i - e.width / 2) + ", " + (e.y - e.height / 2 - r) + ")"
+ ) : t.attr("transform", "translate(" + e.x + ", " + e.y + ")"), i;
+}, "positionNode"), Uk = /* @__PURE__ */ d((e, t, r, i, n, a) => {
+ t.arrowTypeStart && Jc(e, "start", t.arrowTypeStart, r, i, n, a), t.arrowTypeEnd && Jc(e, "end", t.arrowTypeEnd, r, i, n, a);
+}, "addEdgeMarkers"), Gk = {
+ arrow_cross: { type: "cross", fill: !1 },
+ arrow_point: { type: "point", fill: !0 },
+ arrow_barb: { type: "barb", fill: !0 },
+ arrow_circle: { type: "circle", fill: !1 },
+ aggregation: { type: "aggregation", fill: !1 },
+ extension: { type: "extension", fill: !1 },
+ composition: { type: "composition", fill: !0 },
+ dependency: { type: "dependency", fill: !0 },
+ lollipop: { type: "lollipop", fill: !1 },
+ only_one: { type: "onlyOne", fill: !1 },
+ zero_or_one: { type: "zeroOrOne", fill: !1 },
+ one_or_more: { type: "oneOrMore", fill: !1 },
+ zero_or_more: { type: "zeroOrMore", fill: !1 },
+ requirement_arrow: { type: "requirement_arrow", fill: !1 },
+ requirement_contains: { type: "requirement_contains", fill: !1 }
+}, Jc = /* @__PURE__ */ d((e, t, r, i, n, a, o) => {
+ var u;
+ const s = Gk[r];
+ if (!s) {
+ $.warn(`Unknown arrow type: ${r}`);
+ return;
+ }
+ const l = s.type, h = `${n}_${a}-${l}${t === "start" ? "Start" : "End"}`;
+ if (o && o.trim() !== "") {
+ const f = o.replace(/[^\dA-Za-z]/g, "_"), p = `${h}_${f}`;
+ if (!document.getElementById(p)) {
+ const g = document.getElementById(h);
+ if (g) {
+ const m = g.cloneNode(!0);
+ m.id = p, m.querySelectorAll("path, circle, line").forEach((x) => {
+ x.setAttribute("stroke", o), s.fill && x.setAttribute("fill", o);
+ }), (u = g.parentNode) == null || u.appendChild(m);
+ }
+ }
+ e.attr(`marker-${t}`, `url(${i}#${p})`);
+ } else
+ e.attr(`marker-${t}`, `url(${i}#${h})`);
+}, "addEdgeMarker"), da = /* @__PURE__ */ new Map(), Ft = /* @__PURE__ */ new Map(), ZL = /* @__PURE__ */ d(() => {
+ da.clear(), Ft.clear();
+}, "clear"), bi = /* @__PURE__ */ d((e) => e ? e.reduce((r, i) => r + ";" + i, "") : "", "getLabelStyles"), Xk = /* @__PURE__ */ d(async (e, t) => {
+ let r = Lt(ut().flowchart.htmlLabels);
+ const i = await Ke(e, t.label, {
+ style: bi(t.labelStyle),
+ useHtmlLabels: r,
+ addSvgBackground: !0,
+ isNode: !1
+ });
+ $.info("abc82", t, t.labelType);
+ const n = e.insert("g").attr("class", "edgeLabel"), a = n.insert("g").attr("class", "label");
+ a.node().appendChild(i);
+ let o = i.getBBox();
+ if (r) {
+ const l = i.children[0], c = ct(i);
+ o = l.getBoundingClientRect(), c.attr("width", o.width), c.attr("height", o.height);
+ }
+ a.attr("transform", "translate(" + -o.width / 2 + ", " + -o.height / 2 + ")"), da.set(t.id, n), t.width = o.width, t.height = o.height;
+ let s;
+ if (t.startLabelLeft) {
+ const l = await sr(
+ t.startLabelLeft,
+ bi(t.labelStyle)
+ ), c = e.insert("g").attr("class", "edgeTerminals"), h = c.insert("g").attr("class", "inner");
+ s = h.node().appendChild(l);
+ const u = l.getBBox();
+ h.attr("transform", "translate(" + -u.width / 2 + ", " + -u.height / 2 + ")"), Ft.get(t.id) || Ft.set(t.id, {}), Ft.get(t.id).startLeft = c, Ti(s, t.startLabelLeft);
+ }
+ if (t.startLabelRight) {
+ const l = await sr(
+ t.startLabelRight,
+ bi(t.labelStyle)
+ ), c = e.insert("g").attr("class", "edgeTerminals"), h = c.insert("g").attr("class", "inner");
+ s = c.node().appendChild(l), h.node().appendChild(l);
+ const u = l.getBBox();
+ h.attr("transform", "translate(" + -u.width / 2 + ", " + -u.height / 2 + ")"), Ft.get(t.id) || Ft.set(t.id, {}), Ft.get(t.id).startRight = c, Ti(s, t.startLabelRight);
+ }
+ if (t.endLabelLeft) {
+ const l = await sr(t.endLabelLeft, bi(t.labelStyle)), c = e.insert("g").attr("class", "edgeTerminals"), h = c.insert("g").attr("class", "inner");
+ s = h.node().appendChild(l);
+ const u = l.getBBox();
+ h.attr("transform", "translate(" + -u.width / 2 + ", " + -u.height / 2 + ")"), c.node().appendChild(l), Ft.get(t.id) || Ft.set(t.id, {}), Ft.get(t.id).endLeft = c, Ti(s, t.endLabelLeft);
+ }
+ if (t.endLabelRight) {
+ const l = await sr(t.endLabelRight, bi(t.labelStyle)), c = e.insert("g").attr("class", "edgeTerminals"), h = c.insert("g").attr("class", "inner");
+ s = h.node().appendChild(l);
+ const u = l.getBBox();
+ h.attr("transform", "translate(" + -u.width / 2 + ", " + -u.height / 2 + ")"), c.node().appendChild(l), Ft.get(t.id) || Ft.set(t.id, {}), Ft.get(t.id).endRight = c, Ti(s, t.endLabelRight);
+ }
+ return i;
+}, "insertEdgeLabel");
+function Ti(e, t) {
+ ut().flowchart.htmlLabels && e && (e.style.width = t.length * 9 + "px", e.style.height = "12px");
+}
+d(Ti, "setTerminalWidth");
+var Vk = /* @__PURE__ */ d((e, t) => {
+ $.debug("Moving label abc88 ", e.id, e.label, da.get(e.id), t);
+ let r = t.updatedPath ? t.updatedPath : t.originalPath;
+ const i = ut(), { subGraphTitleTotalMargin: n } = Eo(i);
+ if (e.label) {
+ const a = da.get(e.id);
+ let o = e.x, s = e.y;
+ if (r) {
+ const l = be.calcLabelPosition(r);
+ $.debug(
+ "Moving label " + e.label + " from (",
+ o,
+ ",",
+ s,
+ ") to (",
+ l.x,
+ ",",
+ l.y,
+ ") abc88"
+ ), t.updatedPath && (o = l.x, s = l.y);
+ }
+ a.attr("transform", `translate(${o}, ${s + n / 2})`);
+ }
+ if (e.startLabelLeft) {
+ const a = Ft.get(e.id).startLeft;
+ let o = e.x, s = e.y;
+ if (r) {
+ const l = be.calcTerminalLabelPosition(e.arrowTypeStart ? 10 : 0, "start_left", r);
+ o = l.x, s = l.y;
+ }
+ a.attr("transform", `translate(${o}, ${s})`);
+ }
+ if (e.startLabelRight) {
+ const a = Ft.get(e.id).startRight;
+ let o = e.x, s = e.y;
+ if (r) {
+ const l = be.calcTerminalLabelPosition(
+ e.arrowTypeStart ? 10 : 0,
+ "start_right",
+ r
+ );
+ o = l.x, s = l.y;
+ }
+ a.attr("transform", `translate(${o}, ${s})`);
+ }
+ if (e.endLabelLeft) {
+ const a = Ft.get(e.id).endLeft;
+ let o = e.x, s = e.y;
+ if (r) {
+ const l = be.calcTerminalLabelPosition(e.arrowTypeEnd ? 10 : 0, "end_left", r);
+ o = l.x, s = l.y;
+ }
+ a.attr("transform", `translate(${o}, ${s})`);
+ }
+ if (e.endLabelRight) {
+ const a = Ft.get(e.id).endRight;
+ let o = e.x, s = e.y;
+ if (r) {
+ const l = be.calcTerminalLabelPosition(e.arrowTypeEnd ? 10 : 0, "end_right", r);
+ o = l.x, s = l.y;
+ }
+ a.attr("transform", `translate(${o}, ${s})`);
+ }
+}, "positionEdgeLabel"), Zk = /* @__PURE__ */ d((e, t) => {
+ const r = e.x, i = e.y, n = Math.abs(t.x - r), a = Math.abs(t.y - i), o = e.width / 2, s = e.height / 2;
+ return n >= o || a >= s;
+}, "outsideNode"), Kk = /* @__PURE__ */ d((e, t, r) => {
+ $.debug(`intersection calc abc89:
+ outsidePoint: ${JSON.stringify(t)}
+ insidePoint : ${JSON.stringify(r)}
+ node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);
+ const i = e.x, n = e.y, a = Math.abs(i - r.x), o = e.width / 2;
+ let s = r.x < t.x ? o - a : o + a;
+ const l = e.height / 2, c = Math.abs(t.y - r.y), h = Math.abs(t.x - r.x);
+ if (Math.abs(n - t.y) * o > Math.abs(i - t.x) * l) {
+ let u = r.y < t.y ? t.y - l - n : n - l - t.y;
+ s = h * u / c;
+ const f = {
+ x: r.x < t.x ? r.x + s : r.x - h + s,
+ y: r.y < t.y ? r.y + c - u : r.y - c + u
+ };
+ return s === 0 && (f.x = t.x, f.y = t.y), h === 0 && (f.x = t.x), c === 0 && (f.y = t.y), $.debug(`abc89 top/bottom calc, Q ${c}, q ${u}, R ${h}, r ${s}`, f), f;
+ } else {
+ r.x < t.x ? s = t.x - o - i : s = i - o - t.x;
+ let u = c * s / h, f = r.x < t.x ? r.x + h - s : r.x - h + s, p = r.y < t.y ? r.y + u : r.y - u;
+ return $.debug(`sides calc abc89, Q ${c}, q ${u}, R ${h}, r ${s}`, { _x: f, _y: p }), s === 0 && (f = t.x, p = t.y), h === 0 && (f = t.x), c === 0 && (p = t.y), { x: f, y: p };
+ }
+}, "intersection"), th = /* @__PURE__ */ d((e, t) => {
+ $.warn("abc88 cutPathAtIntersect", e, t);
+ let r = [], i = e[0], n = !1;
+ return e.forEach((a) => {
+ if ($.info("abc88 checking point", a, t), !Zk(t, a) && !n) {
+ const o = Kk(t, i, a);
+ $.debug("abc88 inside", a, i, o), $.debug("abc88 intersection", o, t);
+ let s = !1;
+ r.forEach((l) => {
+ s = s || l.x === o.x && l.y === o.y;
+ }), r.some((l) => l.x === o.x && l.y === o.y) ? $.warn("abc88 no intersect", o, r) : r.push(o), n = !0;
+ } else
+ $.warn("abc88 outside", a, i), i = a, n || r.push(a);
+ }), $.debug("returning points", r), r;
+}, "cutPathAtIntersect");
+function Pg(e) {
+ const t = [], r = [];
+ for (let i = 1; i < e.length - 1; i++) {
+ const n = e[i - 1], a = e[i], o = e[i + 1];
+ (n.x === a.x && a.y === o.y && Math.abs(a.x - o.x) > 5 && Math.abs(a.y - n.y) > 5 || n.y === a.y && a.x === o.x && Math.abs(a.x - n.x) > 5 && Math.abs(a.y - o.y) > 5) && (t.push(a), r.push(i));
+ }
+ return { cornerPoints: t, cornerPointPositions: r };
+}
+d(Pg, "extractCornerPoints");
+var eh = /* @__PURE__ */ d(function(e, t, r) {
+ const i = t.x - e.x, n = t.y - e.y, a = Math.sqrt(i * i + n * n), o = r / a;
+ return { x: t.x - o * i, y: t.y - o * n };
+}, "findAdjacentPoint"), Qk = /* @__PURE__ */ d(function(e) {
+ const { cornerPointPositions: t } = Pg(e), r = [];
+ for (let i = 0; i < e.length; i++)
+ if (t.includes(i)) {
+ const n = e[i - 1], a = e[i + 1], o = e[i], s = eh(n, o, 5), l = eh(a, o, 5), c = l.x - s.x, h = l.y - s.y;
+ r.push(s);
+ const u = Math.sqrt(2) * 2;
+ let f = { x: o.x, y: o.y };
+ if (Math.abs(a.x - n.x) > 10 && Math.abs(a.y - n.y) >= 10) {
+ $.debug(
+ "Corner point fixing",
+ Math.abs(a.x - n.x),
+ Math.abs(a.y - n.y)
+ );
+ const p = 5;
+ o.x === s.x ? f = {
+ x: c < 0 ? s.x - p + u : s.x + p - u,
+ y: h < 0 ? s.y - u : s.y + u
+ } : f = {
+ x: c < 0 ? s.x - u : s.x + u,
+ y: h < 0 ? s.y - p + u : s.y + p - u
+ };
+ } else
+ $.debug(
+ "Corner point skipping fixing",
+ Math.abs(a.x - n.x),
+ Math.abs(a.y - n.y)
+ );
+ r.push(f, l);
+ } else
+ r.push(e[i]);
+ return r;
+}, "fixCorners"), Jk = /* @__PURE__ */ d(function(e, t, r, i, n, a, o) {
+ var P;
+ const { handDrawnSeed: s } = ut();
+ let l = t.points, c = !1;
+ const h = n;
+ var u = a;
+ const f = [];
+ for (const O in t.cssCompiledStyles)
+ _d(O) || f.push(t.cssCompiledStyles[O]);
+ u.intersect && h.intersect && (l = l.slice(1, t.points.length - 1), l.unshift(h.intersect(l[0])), $.debug(
+ "Last point APA12",
+ t.start,
+ "-->",
+ t.end,
+ l[l.length - 1],
+ u,
+ u.intersect(l[l.length - 1])
+ ), l.push(u.intersect(l[l.length - 1]))), t.toCluster && ($.info("to cluster abc88", r.get(t.toCluster)), l = th(t.points, r.get(t.toCluster).node), c = !0), t.fromCluster && ($.debug(
+ "from cluster abc88",
+ r.get(t.fromCluster),
+ JSON.stringify(l, null, 2)
+ ), l = th(l.reverse(), r.get(t.fromCluster).node).reverse(), c = !0);
+ let p = l.filter((O) => !Number.isNaN(O.y));
+ p = Qk(p);
+ let g = Ln;
+ switch (g = Kn, t.curve) {
+ case "linear":
+ g = Kn;
+ break;
+ case "basis":
+ g = Ln;
+ break;
+ case "cardinal":
+ g = np;
+ break;
+ case "bumpX":
+ g = Jf;
+ break;
+ case "bumpY":
+ g = tp;
+ break;
+ case "catmullRom":
+ g = sp;
+ break;
+ case "monotoneX":
+ g = fp;
+ break;
+ case "monotoneY":
+ g = pp;
+ break;
+ case "natural":
+ g = gp;
+ break;
+ case "step":
+ g = mp;
+ break;
+ case "stepAfter":
+ g = xp;
+ break;
+ case "stepBefore":
+ g = yp;
+ break;
+ default:
+ g = Ln;
+ }
+ const { x: m, y } = Cx(t), x = G2().x(m).y(y).curve(g);
+ let b;
+ switch (t.thickness) {
+ case "normal":
+ b = "edge-thickness-normal";
+ break;
+ case "thick":
+ b = "edge-thickness-thick";
+ break;
+ case "invisible":
+ b = "edge-thickness-invisible";
+ break;
+ default:
+ b = "edge-thickness-normal";
+ }
+ switch (t.pattern) {
+ case "solid":
+ b += " edge-pattern-solid";
+ break;
+ case "dotted":
+ b += " edge-pattern-dotted";
+ break;
+ case "dashed":
+ b += " edge-pattern-dashed";
+ break;
+ default:
+ b += " edge-pattern-solid";
+ }
+ let C, k = x(p);
+ const v = Array.isArray(t.style) ? t.style : t.style ? [t.style] : [];
+ let _ = v.find((O) => O == null ? void 0 : O.startsWith("stroke:"));
+ if (t.look === "handDrawn") {
+ const O = j.svg(e);
+ Object.assign([], p);
+ const E = O.path(k, {
+ roughness: 0.3,
+ seed: s
+ });
+ b += " transition", C = ct(E).select("path").attr("id", t.id).attr("class", " " + b + (t.classes ? " " + t.classes : "")).attr("style", v ? v.reduce((D, L) => D + ";" + L, "") : "");
+ let z = C.attr("d");
+ C.attr("d", z), e.node().appendChild(C.node());
+ } else {
+ const O = f.join(";"), E = v ? v.reduce((L, M) => L + M + ";", "") : "";
+ let z = "";
+ t.animate && (z = " edge-animation-fast"), t.animation && (z = " edge-animation-" + t.animation);
+ const D = O ? O + ";" + E + ";" : E;
+ C = e.append("path").attr("d", k).attr("id", t.id).attr(
+ "class",
+ " " + b + (t.classes ? " " + t.classes : "") + (z ?? "")
+ ).attr("style", D), _ = (P = D.match(/stroke:([^;]+)/)) == null ? void 0 : P[1];
+ }
+ let S = "";
+ (ut().flowchart.arrowMarkerAbsolute || ut().state.arrowMarkerAbsolute) && (S = Ph(!0)), $.info("arrowTypeStart", t.arrowTypeStart), $.info("arrowTypeEnd", t.arrowTypeEnd), Uk(C, t, S, o, i, _);
+ let R = {};
+ return c && (R.updatedPath = l), R.originalPath = t.points, R;
+}, "insertEdge"), tS = /* @__PURE__ */ d((e, t, r, i) => {
+ t.forEach((n) => {
+ mS[n](e, r, i);
+ });
+}, "insertMarkers"), eS = /* @__PURE__ */ d((e, t, r) => {
+ $.trace("Making markers for ", r), e.append("defs").append("marker").attr("id", r + "_" + t + "-extensionStart").attr("class", "marker extension " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), e.append("defs").append("marker").attr("id", r + "_" + t + "-extensionEnd").attr("class", "marker extension " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z");
+}, "extension"), rS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-compositionStart").attr("class", "marker composition " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), e.append("defs").append("marker").attr("id", r + "_" + t + "-compositionEnd").attr("class", "marker composition " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
+}, "composition"), iS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-aggregationStart").attr("class", "marker aggregation " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), e.append("defs").append("marker").attr("id", r + "_" + t + "-aggregationEnd").attr("class", "marker aggregation " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
+}, "aggregation"), nS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-dependencyStart").attr("class", "marker dependency " + t).attr("refX", 6).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), e.append("defs").append("marker").attr("id", r + "_" + t + "-dependencyEnd").attr("class", "marker dependency " + t).attr("refX", 13).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
+}, "dependency"), aS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-lollipopStart").attr("class", "marker lollipop " + t).attr("refX", 13).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6), e.append("defs").append("marker").attr("id", r + "_" + t + "-lollipopEnd").attr("class", "marker lollipop " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
+}, "lollipop"), sS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("marker").attr("id", r + "_" + t + "-pointEnd").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), e.append("marker").attr("id", r + "_" + t + "-pointStart").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 4.5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 10 L 10 0 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
+}, "point"), oS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("marker").attr("id", r + "_" + t + "-circleEnd").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 11).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), e.append("marker").attr("id", r + "_" + t + "-circleStart").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", -1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
+}, "circle"), lS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("marker").attr("id", r + "_" + t + "-crossEnd").attr("class", "marker cross " + t).attr("viewBox", "0 0 11 11").attr("refX", 12).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0"), e.append("marker").attr("id", r + "_" + t + "-crossStart").attr("class", "marker cross " + t).attr("viewBox", "0 0 11 11").attr("refX", -1).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
+}, "cross"), cS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-barbEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 14).attr("markerUnits", "userSpaceOnUse").attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
+}, "barb"), hS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-onlyOneStart").attr("class", "marker onlyOne " + t).attr("refX", 0).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("d", "M9,0 L9,18 M15,0 L15,18"), e.append("defs").append("marker").attr("id", r + "_" + t + "-onlyOneEnd").attr("class", "marker onlyOne " + t).attr("refX", 18).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("d", "M3,0 L3,18 M9,0 L9,18");
+}, "only_one"), uS = /* @__PURE__ */ d((e, t, r) => {
+ const i = e.append("defs").append("marker").attr("id", r + "_" + t + "-zeroOrOneStart").attr("class", "marker zeroOrOne " + t).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
+ i.append("circle").attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6), i.append("path").attr("d", "M9,0 L9,18");
+ const n = e.append("defs").append("marker").attr("id", r + "_" + t + "-zeroOrOneEnd").attr("class", "marker zeroOrOne " + t).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
+ n.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6), n.append("path").attr("d", "M21,0 L21,18");
+}, "zero_or_one"), fS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-oneOrMoreStart").attr("class", "marker oneOrMore " + t).attr("refX", 18).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"), e.append("defs").append("marker").attr("id", r + "_" + t + "-oneOrMoreEnd").attr("class", "marker oneOrMore " + t).attr("refX", 27).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18");
+}, "one_or_more"), pS = /* @__PURE__ */ d((e, t, r) => {
+ const i = e.append("defs").append("marker").attr("id", r + "_" + t + "-zeroOrMoreStart").attr("class", "marker zeroOrMore " + t).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
+ i.append("circle").attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6), i.append("path").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18");
+ const n = e.append("defs").append("marker").attr("id", r + "_" + t + "-zeroOrMoreEnd").attr("class", "marker zeroOrMore " + t).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
+ n.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6), n.append("path").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18");
+}, "zero_or_more"), dS = /* @__PURE__ */ d((e, t, r) => {
+ e.append("defs").append("marker").attr("id", r + "_" + t + "-requirement_arrowEnd").attr("refX", 20).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("path").attr(
+ "d",
+ `M0,0
+ L20,10
+ M20,10
+ L0,20`
+ );
+}, "requirement_arrow"), gS = /* @__PURE__ */ d((e, t, r) => {
+ const i = e.append("defs").append("marker").attr("id", r + "_" + t + "-requirement_containsStart").attr("refX", 0).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("g");
+ i.append("circle").attr("cx", 10).attr("cy", 10).attr("r", 9).attr("fill", "none"), i.append("line").attr("x1", 1).attr("x2", 19).attr("y1", 10).attr("y2", 10), i.append("line").attr("y1", 1).attr("y2", 19).attr("x1", 10).attr("x2", 10);
+}, "requirement_contains"), mS = {
+ extension: eS,
+ composition: rS,
+ aggregation: iS,
+ dependency: nS,
+ lollipop: aS,
+ point: sS,
+ circle: oS,
+ cross: lS,
+ barb: cS,
+ only_one: hS,
+ zero_or_one: uS,
+ one_or_more: fS,
+ zero_or_more: pS,
+ requirement_arrow: dS,
+ requirement_contains: gS
+}, yS = tS, xS = {
+ common: Jr,
+ getConfig: Jt,
+ insertCluster: Tk,
+ insertEdge: Jk,
+ insertEdgeLabel: Xk,
+ insertMarkers: yS,
+ insertNode: Ig,
+ interpolateToCurve: Vo,
+ labelHelper: it,
+ log: $,
+ positionEdgeLabel: Vk
+}, Hi = {}, Ng = /* @__PURE__ */ d((e) => {
+ for (const t of e)
+ Hi[t.name] = t;
+}, "registerLayoutLoaders"), bS = /* @__PURE__ */ d(() => {
+ Ng([
+ {
+ name: "dagre",
+ loader: /* @__PURE__ */ d(async () => await import("./dagre-IE2X5DAH-duWuOiqv.js"), "loader")
+ }
+ ]);
+}, "registerDefaultLayoutLoaders");
+bS();
+var KL = /* @__PURE__ */ d(async (e, t) => {
+ if (!(e.layoutAlgorithm in Hi))
+ throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);
+ const r = Hi[e.layoutAlgorithm];
+ return (await r.loader()).render(e, t, xS, {
+ algorithm: r.algorithm
+ });
+}, "render"), QL = /* @__PURE__ */ d((e = "", { fallback: t = "dagre" } = {}) => {
+ if (e in Hi)
+ return e;
+ if (t in Hi)
+ return $.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`), t;
+ throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`);
+}, "getRegisteredLayoutAlgorithm"), rh = {
+ name: "mermaid",
+ version: "11.7.0",
+ description: "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",
+ type: "module",
+ module: "./dist/mermaid.core.mjs",
+ types: "./dist/mermaid.d.ts",
+ exports: {
+ ".": {
+ types: "./dist/mermaid.d.ts",
+ import: "./dist/mermaid.core.mjs",
+ default: "./dist/mermaid.core.mjs"
+ },
+ "./*": "./*"
+ },
+ keywords: [
+ "diagram",
+ "markdown",
+ "flowchart",
+ "sequence diagram",
+ "gantt",
+ "class diagram",
+ "git graph",
+ "mindmap",
+ "packet diagram",
+ "c4 diagram",
+ "er diagram",
+ "pie chart",
+ "pie diagram",
+ "quadrant chart",
+ "requirement diagram",
+ "graph"
+ ],
+ scripts: {
+ clean: "rimraf dist",
+ dev: "pnpm -w dev",
+ "docs:code": "typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup",
+ "docs:build": "rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts",
+ "docs:verify": "pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify",
+ "docs:pre:vitepress": "pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts",
+ "docs:build:vitepress": "pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing",
+ "docs:dev": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',
+ "docs:dev:docker": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',
+ "docs:serve": "pnpm docs:build:vitepress && vitepress serve src/vitepress",
+ "docs:spellcheck": 'cspell "src/docs/**/*.md"',
+ "docs:release-version": "tsx scripts/update-release-version.mts",
+ "docs:verify-version": "tsx scripts/update-release-version.mts --verify",
+ "types:build-config": "tsx scripts/create-types-from-json-schema.mts",
+ "types:verify-config": "tsx scripts/create-types-from-json-schema.mts --verify",
+ checkCircle: "npx madge --circular ./src",
+ prepublishOnly: "pnpm docs:verify-version"
+ },
+ repository: {
+ type: "git",
+ url: "https://github.com/mermaid-js/mermaid"
+ },
+ author: "Knut Sveidqvist",
+ license: "MIT",
+ standard: {
+ ignore: [
+ "**/parser/*.js",
+ "dist/**/*.js",
+ "cypress/**/*.js"
+ ],
+ globals: [
+ "page"
+ ]
+ },
+ dependencies: {
+ "@braintree/sanitize-url": "^7.0.4",
+ "@iconify/utils": "^2.1.33",
+ "@mermaid-js/parser": "workspace:^",
+ "@types/d3": "^7.4.3",
+ cytoscape: "^3.29.3",
+ "cytoscape-cose-bilkent": "^4.1.0",
+ "cytoscape-fcose": "^2.2.0",
+ d3: "^7.9.0",
+ "d3-sankey": "^0.12.3",
+ "dagre-d3-es": "7.0.11",
+ dayjs: "^1.11.13",
+ dompurify: "^3.2.5",
+ katex: "^0.16.9",
+ khroma: "^2.1.0",
+ "lodash-es": "^4.17.21",
+ marked: "^15.0.7",
+ roughjs: "^4.6.6",
+ stylis: "^4.3.6",
+ "ts-dedent": "^2.2.0",
+ uuid: "^11.1.0"
+ },
+ devDependencies: {
+ "@adobe/jsonschema2md": "^8.0.2",
+ "@iconify/types": "^2.0.0",
+ "@types/cytoscape": "^3.21.9",
+ "@types/cytoscape-fcose": "^2.2.4",
+ "@types/d3-sankey": "^0.12.4",
+ "@types/d3-scale": "^4.0.9",
+ "@types/d3-scale-chromatic": "^3.1.0",
+ "@types/d3-selection": "^3.0.11",
+ "@types/d3-shape": "^3.1.7",
+ "@types/jsdom": "^21.1.7",
+ "@types/katex": "^0.16.7",
+ "@types/lodash-es": "^4.17.12",
+ "@types/micromatch": "^4.0.9",
+ "@types/stylis": "^4.2.7",
+ "@types/uuid": "^10.0.0",
+ ajv: "^8.17.1",
+ chokidar: "^4.0.3",
+ concurrently: "^9.1.2",
+ "csstree-validator": "^4.0.1",
+ globby: "^14.0.2",
+ jison: "^0.4.18",
+ "js-base64": "^3.7.7",
+ jsdom: "^26.0.0",
+ "json-schema-to-typescript": "^15.0.4",
+ micromatch: "^4.0.8",
+ "path-browserify": "^1.0.1",
+ prettier: "^3.5.2",
+ remark: "^15.0.1",
+ "remark-frontmatter": "^5.0.0",
+ "remark-gfm": "^4.0.1",
+ rimraf: "^6.0.1",
+ "start-server-and-test": "^2.0.10",
+ "type-fest": "^4.35.0",
+ typedoc: "^0.27.8",
+ "typedoc-plugin-markdown": "^4.4.2",
+ typescript: "~5.7.3",
+ "unist-util-flatmap": "^1.0.0",
+ "unist-util-visit": "^5.0.0",
+ vitepress: "^1.0.2",
+ "vitepress-plugin-search": "1.0.4-alpha.22"
+ },
+ files: [
+ "dist/",
+ "README.md"
+ ],
+ publishConfig: {
+ access: "public"
+ }
+}, _S = /* @__PURE__ */ d((e) => {
+ var n;
+ const { securityLevel: t } = ut();
+ let r = ct("body");
+ if (t === "sandbox") {
+ const o = ((n = ct(`#i${e}`).node()) == null ? void 0 : n.contentDocument) ?? document;
+ r = ct(o.body);
+ }
+ return r.select(`#${e}`);
+}, "selectSvgElement"), zg = "comm", Wg = "rule", qg = "decl", CS = "@import", wS = "@namespace", vS = "@keyframes", kS = "@layer", Hg = Math.abs, gl = String.fromCharCode;
+function jg(e) {
+ return e.trim();
+}
+function Fn(e, t, r) {
+ return e.replace(t, r);
+}
+function SS(e, t, r) {
+ return e.indexOf(t, r);
+}
+function $r(e, t) {
+ return e.charCodeAt(t) | 0;
+}
+function Kr(e, t, r) {
+ return e.slice(t, r);
+}
+function xe(e) {
+ return e.length;
+}
+function TS(e) {
+ return e.length;
+}
+function bn(e, t) {
+ return t.push(e), e;
+}
+var za = 1, Qr = 1, Yg = 0, se = 0, St = 0, ni = "";
+function ml(e, t, r, i, n, a, o, s) {
+ return { value: e, root: t, parent: r, type: i, props: n, children: a, line: za, column: Qr, length: o, return: "", siblings: s };
+}
+function BS() {
+ return St;
+}
+function LS() {
+ return St = se > 0 ? $r(ni, --se) : 0, Qr--, St === 10 && (Qr = 1, za--), St;
+}
+function ue() {
+ return St = se < Yg ? $r(ni, se++) : 0, Qr++, St === 10 && (Qr = 1, za++), St;
+}
+function je() {
+ return $r(ni, se);
+}
+function $n() {
+ return se;
+}
+function Wa(e, t) {
+ return Kr(ni, e, t);
+}
+function ji(e) {
+ switch (e) {
+ case 0:
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ return 5;
+ case 33:
+ case 43:
+ case 44:
+ case 47:
+ case 62:
+ case 64:
+ case 126:
+ case 59:
+ case 123:
+ case 125:
+ return 4;
+ case 58:
+ return 3;
+ case 34:
+ case 39:
+ case 40:
+ case 91:
+ return 2;
+ case 41:
+ case 93:
+ return 1;
+ }
+ return 0;
+}
+function AS(e) {
+ return za = Qr = 1, Yg = xe(ni = e), se = 0, [];
+}
+function MS(e) {
+ return ni = "", e;
+}
+function ms(e) {
+ return jg(Wa(se - 1, lo(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
+}
+function ES(e) {
+ for (; (St = je()) && St < 33; )
+ ue();
+ return ji(e) > 2 || ji(St) > 3 ? "" : " ";
+}
+function FS(e, t) {
+ for (; --t && ue() && !(St < 48 || St > 102 || St > 57 && St < 65 || St > 70 && St < 97); )
+ ;
+ return Wa(e, $n() + (t < 6 && je() == 32 && ue() == 32));
+}
+function lo(e) {
+ for (; ue(); )
+ switch (St) {
+ case e:
+ return se;
+ case 34:
+ case 39:
+ e !== 34 && e !== 39 && lo(St);
+ break;
+ case 40:
+ e === 41 && lo(e);
+ break;
+ case 92:
+ ue();
+ break;
+ }
+ return se;
+}
+function $S(e, t) {
+ for (; ue() && e + St !== 57; )
+ if (e + St === 84 && je() === 47)
+ break;
+ return "/*" + Wa(t, se - 1) + "*" + gl(e === 47 ? e : ue());
+}
+function OS(e) {
+ for (; !ji(je()); )
+ ue();
+ return Wa(e, se);
+}
+function DS(e) {
+ return MS(On("", null, null, null, [""], e = AS(e), 0, [0], e));
+}
+function On(e, t, r, i, n, a, o, s, l) {
+ for (var c = 0, h = 0, u = o, f = 0, p = 0, g = 0, m = 1, y = 1, x = 1, b = 0, C = "", k = n, v = a, _ = i, S = C; y; )
+ switch (g = b, b = ue()) {
+ case 40:
+ if (g != 108 && $r(S, u - 1) == 58) {
+ SS(S += Fn(ms(b), "&", "&\f"), "&\f", Hg(c ? s[c - 1] : 0)) != -1 && (x = -1);
+ break;
+ }
+ case 34:
+ case 39:
+ case 91:
+ S += ms(b);
+ break;
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ S += ES(g);
+ break;
+ case 92:
+ S += FS($n() - 1, 7);
+ continue;
+ case 47:
+ switch (je()) {
+ case 42:
+ case 47:
+ bn(RS($S(ue(), $n()), t, r, l), l), (ji(g || 1) == 5 || ji(je() || 1) == 5) && xe(S) && Kr(S, -1, void 0) !== " " && (S += " ");
+ break;
+ default:
+ S += "/";
+ }
+ break;
+ case 123 * m:
+ s[c++] = xe(S) * x;
+ case 125 * m:
+ case 59:
+ case 0:
+ switch (b) {
+ case 0:
+ case 125:
+ y = 0;
+ case 59 + h:
+ x == -1 && (S = Fn(S, /\f/g, "")), p > 0 && (xe(S) - u || m === 0 && g === 47) && bn(p > 32 ? nh(S + ";", i, r, u - 1, l) : nh(Fn(S, " ", "") + ";", i, r, u - 2, l), l);
+ break;
+ case 59:
+ S += ";";
+ default:
+ if (bn(_ = ih(S, t, r, c, h, n, s, C, k = [], v = [], u, a), a), b === 123)
+ if (h === 0)
+ On(S, t, _, _, k, a, u, s, v);
+ else {
+ switch (f) {
+ case 99:
+ if ($r(S, 3) === 110) break;
+ case 108:
+ if ($r(S, 2) === 97) break;
+ default:
+ h = 0;
+ case 100:
+ case 109:
+ case 115:
+ }
+ h ? On(e, _, _, i && bn(ih(e, _, _, 0, 0, n, s, C, n, k = [], u, v), v), n, v, u, s, i ? k : v) : On(S, _, _, _, [""], v, 0, s, v);
+ }
+ }
+ c = h = p = 0, m = x = 1, C = S = "", u = o;
+ break;
+ case 58:
+ u = 1 + xe(S), p = g;
+ default:
+ if (m < 1) {
+ if (b == 123)
+ --m;
+ else if (b == 125 && m++ == 0 && LS() == 125)
+ continue;
+ }
+ switch (S += gl(b), b * m) {
+ case 38:
+ x = h > 0 ? 1 : (S += "\f", -1);
+ break;
+ case 44:
+ s[c++] = (xe(S) - 1) * x, x = 1;
+ break;
+ case 64:
+ je() === 45 && (S += ms(ue())), f = je(), h = u = xe(C = S += OS($n())), b++;
+ break;
+ case 45:
+ g === 45 && xe(S) == 2 && (m = 0);
+ }
+ }
+ return a;
+}
+function ih(e, t, r, i, n, a, o, s, l, c, h, u) {
+ for (var f = n - 1, p = n === 0 ? a : [""], g = TS(p), m = 0, y = 0, x = 0; m < i; ++m)
+ for (var b = 0, C = Kr(e, f + 1, f = Hg(y = o[m])), k = e; b < g; ++b)
+ (k = jg(y > 0 ? p[b] + " " + C : Fn(C, /&\f/g, p[b]))) && (l[x++] = k);
+ return ml(e, t, r, n === 0 ? Wg : s, l, c, h, u);
+}
+function RS(e, t, r, i) {
+ return ml(e, t, r, zg, gl(BS()), Kr(e, 2, -2), 0, i);
+}
+function nh(e, t, r, i, n) {
+ return ml(e, t, r, qg, Kr(e, 0, i), Kr(e, i + 1, -1), i, n);
+}
+function co(e, t) {
+ for (var r = "", i = 0; i < e.length; i++)
+ r += t(e[i], i, e, t) || "";
+ return r;
+}
+function IS(e, t, r, i) {
+ switch (e.type) {
+ case kS:
+ if (e.children.length) break;
+ case CS:
+ case wS:
+ case qg:
+ return e.return = e.return || e.value;
+ case zg:
+ return "";
+ case vS:
+ return e.return = e.value + "{" + co(e.children, i) + "}";
+ case Wg:
+ if (!xe(e.value = e.props.join(","))) return "";
+ }
+ return xe(r = co(e.children, i)) ? e.return = e.value + "{" + r + "}" : "";
+}
+var PS = wp(Object.keys, Object), NS = Object.prototype, zS = NS.hasOwnProperty;
+function WS(e) {
+ if (!Ea(e))
+ return PS(e);
+ var t = [];
+ for (var r in Object(e))
+ zS.call(e, r) && r != "constructor" && t.push(r);
+ return t;
+}
+var ho = yr(ke, "DataView"), uo = yr(ke, "Promise"), fo = yr(ke, "Set"), po = yr(ke, "WeakMap"), ah = "[object Map]", qS = "[object Object]", sh = "[object Promise]", oh = "[object Set]", lh = "[object WeakMap]", ch = "[object DataView]", HS = mr(ho), jS = mr(qi), YS = mr(uo), US = mr(fo), GS = mr(po), er = ti;
+(ho && er(new ho(new ArrayBuffer(1))) != ch || qi && er(new qi()) != ah || uo && er(uo.resolve()) != sh || fo && er(new fo()) != oh || po && er(new po()) != lh) && (er = function(e) {
+ var t = ti(e), r = t == qS ? e.constructor : void 0, i = r ? mr(r) : "";
+ if (i)
+ switch (i) {
+ case HS:
+ return ch;
+ case jS:
+ return ah;
+ case YS:
+ return sh;
+ case US:
+ return oh;
+ case GS:
+ return lh;
+ }
+ return t;
+});
+var XS = "[object Map]", VS = "[object Set]", ZS = Object.prototype, KS = ZS.hasOwnProperty;
+function hh(e) {
+ if (e == null)
+ return !0;
+ if (Fa(e) && (na(e) || typeof e == "string" || typeof e.splice == "function" || Go(e) || Xo(e) || ia(e)))
+ return !e.length;
+ var t = er(e);
+ if (t == XS || t == VS)
+ return !e.size;
+ if (Ea(e))
+ return !WS(e).length;
+ for (var r in e)
+ if (KS.call(e, r))
+ return !1;
+ return !0;
+}
+var Ug = "c4", QS = /* @__PURE__ */ d((e) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e), "detector"), JS = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./c4Diagram-E5VUS4TQ-RzspGqYz.js");
+ return { id: Ug, diagram: e };
+}, "loader"), tT = {
+ id: Ug,
+ detector: QS,
+ loader: JS
+}, eT = tT, Gg = "flowchart", rT = /* @__PURE__ */ d((e, t) => {
+ var r, i;
+ return ((r = t == null ? void 0 : t.flowchart) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" || ((i = t == null ? void 0 : t.flowchart) == null ? void 0 : i.defaultRenderer) === "elk" ? !1 : /^\s*graph/.test(e);
+}, "detector"), iT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./flowDiagram-OUUYVNGO-y3hFWJ8o.js");
+ return { id: Gg, diagram: e };
+}, "loader"), nT = {
+ id: Gg,
+ detector: rT,
+ loader: iT
+}, aT = nT, Xg = "flowchart-v2", sT = /* @__PURE__ */ d((e, t) => {
+ var r, i, n;
+ return ((r = t == null ? void 0 : t.flowchart) == null ? void 0 : r.defaultRenderer) === "dagre-d3" ? !1 : (((i = t == null ? void 0 : t.flowchart) == null ? void 0 : i.defaultRenderer) === "elk" && (t.layout = "elk"), /^\s*graph/.test(e) && ((n = t == null ? void 0 : t.flowchart) == null ? void 0 : n.defaultRenderer) === "dagre-wrapper" ? !0 : /^\s*flowchart/.test(e));
+}, "detector"), oT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./flowDiagram-OUUYVNGO-y3hFWJ8o.js");
+ return { id: Xg, diagram: e };
+}, "loader"), lT = {
+ id: Xg,
+ detector: sT,
+ loader: oT
+}, cT = lT, Vg = "er", hT = /* @__PURE__ */ d((e) => /^\s*erDiagram/.test(e), "detector"), uT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./erDiagram-FWMTN743-CXWkY-HF.js");
+ return { id: Vg, diagram: e };
+}, "loader"), fT = {
+ id: Vg,
+ detector: hT,
+ loader: uT
+}, pT = fT, Zg = "gitGraph", dT = /* @__PURE__ */ d((e) => /^\s*gitGraph/.test(e), "detector"), gT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./gitGraphDiagram-SOPYED2O-CZf1STxn.js");
+ return { id: Zg, diagram: e };
+}, "loader"), mT = {
+ id: Zg,
+ detector: dT,
+ loader: gT
+}, yT = mT, Kg = "gantt", xT = /* @__PURE__ */ d((e) => /^\s*gantt/.test(e), "detector"), bT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./ganttDiagram-Y4ZJHTSR-54wJrCeT.js");
+ return { id: Kg, diagram: e };
+}, "loader"), _T = {
+ id: Kg,
+ detector: xT,
+ loader: bT
+}, CT = _T, Qg = "info", wT = /* @__PURE__ */ d((e) => /^\s*info/.test(e), "detector"), vT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./infoDiagram-LZPS564M-C96RKYDG.js");
+ return { id: Qg, diagram: e };
+}, "loader"), kT = {
+ id: Qg,
+ detector: wT,
+ loader: vT
+}, Jg = "pie", ST = /* @__PURE__ */ d((e) => /^\s*pie/.test(e), "detector"), TT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./pieDiagram-JVH3GP2A-KTfGFEz1.js");
+ return { id: Jg, diagram: e };
+}, "loader"), BT = {
+ id: Jg,
+ detector: ST,
+ loader: TT
+}, tm = "quadrantChart", LT = /* @__PURE__ */ d((e) => /^\s*quadrantChart/.test(e), "detector"), AT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./quadrantDiagram-2GFVJBMM-B40NXPB0.js");
+ return { id: tm, diagram: e };
+}, "loader"), MT = {
+ id: tm,
+ detector: LT,
+ loader: AT
+}, ET = MT, em = "xychart", FT = /* @__PURE__ */ d((e) => /^\s*xychart-beta/.test(e), "detector"), $T = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./xychartDiagram-4SJQ7YKO-DoOaPAdl.js");
+ return { id: em, diagram: e };
+}, "loader"), OT = {
+ id: em,
+ detector: FT,
+ loader: $T
+}, DT = OT, rm = "requirement", RT = /* @__PURE__ */ d((e) => /^\s*requirement(Diagram)?/.test(e), "detector"), IT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./requirementDiagram-PBTKI7ZP-BIicjjSP.js");
+ return { id: rm, diagram: e };
+}, "loader"), PT = {
+ id: rm,
+ detector: RT,
+ loader: IT
+}, NT = PT, im = "sequence", zT = /* @__PURE__ */ d((e) => /^\s*sequenceDiagram/.test(e), "detector"), WT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./sequenceDiagram-BLN7LXEI-F4guWTTV.js");
+ return { id: im, diagram: e };
+}, "loader"), qT = {
+ id: im,
+ detector: zT,
+ loader: WT
+}, HT = qT, nm = "class", jT = /* @__PURE__ */ d((e, t) => {
+ var r;
+ return ((r = t == null ? void 0 : t.class) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" ? !1 : /^\s*classDiagram/.test(e);
+}, "detector"), YT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./classDiagram-EGQPL23Y-BIUZ9-Wz.js");
+ return { id: nm, diagram: e };
+}, "loader"), UT = {
+ id: nm,
+ detector: jT,
+ loader: YT
+}, GT = UT, am = "classDiagram", XT = /* @__PURE__ */ d((e, t) => {
+ var r;
+ return /^\s*classDiagram/.test(e) && ((r = t == null ? void 0 : t.class) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" ? !0 : /^\s*classDiagram-v2/.test(e);
+}, "detector"), VT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./classDiagram-v2-4EBKGCBT-BIUZ9-Wz.js");
+ return { id: am, diagram: e };
+}, "loader"), ZT = {
+ id: am,
+ detector: XT,
+ loader: VT
+}, KT = ZT, sm = "state", QT = /* @__PURE__ */ d((e, t) => {
+ var r;
+ return ((r = t == null ? void 0 : t.state) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" ? !1 : /^\s*stateDiagram/.test(e);
+}, "detector"), JT = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./stateDiagram-WEXRT5W7-DGrao79p.js");
+ return { id: sm, diagram: e };
+}, "loader"), tB = {
+ id: sm,
+ detector: QT,
+ loader: JT
+}, eB = tB, om = "stateDiagram", rB = /* @__PURE__ */ d((e, t) => {
+ var r;
+ return !!(/^\s*stateDiagram-v2/.test(e) || /^\s*stateDiagram/.test(e) && ((r = t == null ? void 0 : t.state) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper");
+}, "detector"), iB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./stateDiagram-v2-SNKRMT2F-Dy0tflAM.js");
+ return { id: om, diagram: e };
+}, "loader"), nB = {
+ id: om,
+ detector: rB,
+ loader: iB
+}, aB = nB, lm = "journey", sB = /* @__PURE__ */ d((e) => /^\s*journey/.test(e), "detector"), oB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./journeyDiagram-KRBQ73NG-_ijLByyQ.js");
+ return { id: lm, diagram: e };
+}, "loader"), lB = {
+ id: lm,
+ detector: sB,
+ loader: oB
+}, cB = lB, hB = /* @__PURE__ */ d((e, t, r) => {
+ $.debug(`rendering svg for syntax error
+`);
+ const i = _S(t), n = i.append("g");
+ i.attr("viewBox", "0 0 2412 512"), Nh(i, 100, 512, !0), n.append("path").attr("class", "error-icon").attr(
+ "d",
+ "m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"
+ ), n.append("path").attr("class", "error-icon").attr(
+ "d",
+ "m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"
+ ), n.append("path").attr("class", "error-icon").attr(
+ "d",
+ "m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"
+ ), n.append("path").attr("class", "error-icon").attr(
+ "d",
+ "m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"
+ ), n.append("path").attr("class", "error-icon").attr(
+ "d",
+ "m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"
+ ), n.append("path").attr("class", "error-icon").attr(
+ "d",
+ "m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"
+ ), n.append("text").attr("class", "error-text").attr("x", 1440).attr("y", 250).attr("font-size", "150px").style("text-anchor", "middle").text("Syntax error in text"), n.append("text").attr("class", "error-text").attr("x", 1250).attr("y", 400).attr("font-size", "100px").style("text-anchor", "middle").text(`mermaid version ${r}`);
+}, "draw"), cm = { draw: hB }, uB = cm, fB = {
+ db: {},
+ renderer: cm,
+ parser: {
+ parse: /* @__PURE__ */ d(() => {
+ }, "parse")
+ }
+}, pB = fB, hm = "flowchart-elk", dB = /* @__PURE__ */ d((e, t = {}) => {
+ var r;
+ return (
+ // If diagram explicitly states flowchart-elk
+ /^\s*flowchart-elk/.test(e) || // If a flowchart/graph diagram has their default renderer set to elk
+ /^\s*flowchart|graph/.test(e) && ((r = t == null ? void 0 : t.flowchart) == null ? void 0 : r.defaultRenderer) === "elk" ? (t.layout = "elk", !0) : !1
+ );
+}, "detector"), gB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./flowDiagram-OUUYVNGO-y3hFWJ8o.js");
+ return { id: hm, diagram: e };
+}, "loader"), mB = {
+ id: hm,
+ detector: dB,
+ loader: gB
+}, yB = mB, um = "timeline", xB = /* @__PURE__ */ d((e) => /^\s*timeline/.test(e), "detector"), bB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./timeline-definition-GH3MJCYT-yl8O15A7.js");
+ return { id: um, diagram: e };
+}, "loader"), _B = {
+ id: um,
+ detector: xB,
+ loader: bB
+}, CB = _B, fm = "mindmap", wB = /* @__PURE__ */ d((e) => /^\s*mindmap/.test(e), "detector"), vB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./mindmap-definition-RDSO3R44-CF6GctCt.js");
+ return { id: fm, diagram: e };
+}, "loader"), kB = {
+ id: fm,
+ detector: wB,
+ loader: vB
+}, SB = kB, pm = "kanban", TB = /* @__PURE__ */ d((e) => /^\s*kanban/.test(e), "detector"), BB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./kanban-definition-TWHLSRP4-WOynQC1E.js");
+ return { id: pm, diagram: e };
+}, "loader"), LB = {
+ id: pm,
+ detector: TB,
+ loader: BB
+}, AB = LB, dm = "sankey", MB = /* @__PURE__ */ d((e) => /^\s*sankey-beta/.test(e), "detector"), EB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./sankeyDiagram-XYA53EP7-rChK_lkb.js");
+ return { id: dm, diagram: e };
+}, "loader"), FB = {
+ id: dm,
+ detector: MB,
+ loader: EB
+}, $B = FB, gm = "packet", OB = /* @__PURE__ */ d((e) => /^\s*packet-beta/.test(e), "detector"), DB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./diagram-3XXCIKAB-xC1Rc_FE.js");
+ return { id: gm, diagram: e };
+}, "loader"), RB = {
+ id: gm,
+ detector: OB,
+ loader: DB
+}, mm = "radar", IB = /* @__PURE__ */ d((e) => /^\s*radar-beta/.test(e), "detector"), PB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./diagram-DTTGSU4T-D0Xgb2P5.js");
+ return { id: mm, diagram: e };
+}, "loader"), NB = {
+ id: mm,
+ detector: IB,
+ loader: PB
+}, ym = "block", zB = /* @__PURE__ */ d((e) => /^\s*block-beta/.test(e), "detector"), WB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./blockDiagram-ZUX3OVTL-DdsqIV7C.js");
+ return { id: ym, diagram: e };
+}, "loader"), qB = {
+ id: ym,
+ detector: zB,
+ loader: WB
+}, HB = qB, xm = "architecture", jB = /* @__PURE__ */ d((e) => /^\s*architecture/.test(e), "detector"), YB = /* @__PURE__ */ d(async () => {
+ const { diagram: e } = await import("./architectureDiagram-KYWUMXXP-DfMVYVBl.js");
+ return { id: xm, diagram: e };
+}, "loader"), UB = {
+ id: xm,
+ detector: jB,
+ loader: YB
+}, GB = UB, uh = !1, qa = /* @__PURE__ */ d(() => {
+ uh || (uh = !0, Pn("error", pB, (e) => e.toLowerCase().trim() === "error"), Pn(
+ "---",
+ // --- diagram type may appear if YAML front-matter is not parsed correctly
+ {
+ db: {
+ clear: /* @__PURE__ */ d(() => {
+ }, "clear")
+ },
+ styles: {},
+ // should never be used
+ renderer: {
+ draw: /* @__PURE__ */ d(() => {
+ }, "draw")
+ },
+ parser: {
+ parse: /* @__PURE__ */ d(() => {
+ throw new Error(
+ "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks"
+ );
+ }, "parse")
+ },
+ init: /* @__PURE__ */ d(() => null, "init")
+ // no op
+ },
+ (e) => e.toLowerCase().trimStart().startsWith("---")
+ ), Cs(yB, SB, GB), Cs(
+ eT,
+ AB,
+ KT,
+ GT,
+ pT,
+ CT,
+ kT,
+ BT,
+ NT,
+ HT,
+ cT,
+ aT,
+ CB,
+ yT,
+ aB,
+ eB,
+ cB,
+ ET,
+ $B,
+ RB,
+ DT,
+ HB,
+ NB
+ ));
+}, "addDiagrams"), XB = /* @__PURE__ */ d(async () => {
+ $.debug("Loading registered diagrams");
+ const t = (await Promise.allSettled(
+ Object.entries(Hr).map(async ([r, { detector: i, loader: n }]) => {
+ if (n)
+ try {
+ Ss(r);
+ } catch {
+ try {
+ const { diagram: a, id: o } = await n();
+ Pn(o, a, i);
+ } catch (a) {
+ throw $.error(`Failed to load external diagram with key ${r}. Removing from detectors.`), delete Hr[r], a;
+ }
+ }
+ })
+ )).filter((r) => r.status === "rejected");
+ if (t.length > 0) {
+ $.error(`Failed to load ${t.length} external diagrams`);
+ for (const r of t)
+ $.error(r);
+ throw new Error(`Failed to load ${t.length} external diagrams`);
+ }
+}, "loadRegisteredDiagrams"), VB = "graphics-document document";
+function bm(e, t) {
+ e.attr("role", VB), t !== "" && e.attr("aria-roledescription", t);
+}
+d(bm, "setA11yDiagramInfo");
+function _m(e, t, r, i) {
+ if (e.insert !== void 0) {
+ if (r) {
+ const n = `chart-desc-${i}`;
+ e.attr("aria-describedby", n), e.insert("desc", ":first-child").attr("id", n).text(r);
+ }
+ if (t) {
+ const n = `chart-title-${i}`;
+ e.attr("aria-labelledby", n), e.insert("title", ":first-child").attr("id", n).text(t);
+ }
+ }
+}
+d(_m, "addSVGa11yTitleDescription");
+var lr, go = (lr = class {
+ constructor(t, r, i, n, a) {
+ this.type = t, this.text = r, this.db = i, this.parser = n, this.renderer = a;
+ }
+ static async fromText(t, r = {}) {
+ var c, h;
+ const i = Jt(), n = xo(t, i);
+ t = Gw(t) + `
+`;
+ try {
+ Ss(n);
+ } catch {
+ const u = w0(n);
+ if (!u)
+ throw new Sh(`Diagram ${n} not found.`);
+ const { id: f, diagram: p } = await u();
+ Pn(f, p);
+ }
+ const { db: a, parser: o, renderer: s, init: l } = Ss(n);
+ return o.parser && (o.parser.yy = a), (c = a.clear) == null || c.call(a), l == null || l(i), r.title && ((h = a.setDiagramTitle) == null || h.call(a, r.title)), await o.parse(t), new lr(n, t, a, o, s);
+ }
+ async render(t, r) {
+ await this.renderer.draw(this.text, t, r, this);
+ }
+ getParser() {
+ return this.parser;
+ }
+ getType() {
+ return this.type;
+ }
+}, d(lr, "Diagram"), lr), fh = [], ZB = /* @__PURE__ */ d(() => {
+ fh.forEach((e) => {
+ e();
+ }), fh = [];
+}, "attachFunctions"), KB = /* @__PURE__ */ d((e) => e.replace(/^\s*%%(?!{)[^\n]+\n?/gm, "").trimStart(), "cleanupComments");
+function Cm(e) {
+ const t = e.match(kh);
+ if (!t)
+ return {
+ text: e,
+ metadata: {}
+ };
+ let r = _x(t[1], {
+ // To support config, we need JSON schema.
+ // https://www.yaml.org/spec/1.2/spec.html#id2803231
+ schema: bx
+ }) ?? {};
+ r = typeof r == "object" && !Array.isArray(r) ? r : {};
+ const i = {};
+ return r.displayMode && (i.displayMode = r.displayMode.toString()), r.title && (i.title = r.title.toString()), r.config && (i.config = r.config), {
+ text: e.slice(t[0].length),
+ metadata: i
+ };
+}
+d(Cm, "extractFrontMatter");
+var QB = /* @__PURE__ */ d((e) => e.replace(/\r\n?/g, `
+`).replace(
+ /<(\w+)([^>]*)>/g,
+ (t, r, i) => "<" + r + i.replace(/="([^"]*)"/g, "='$1'") + ">"
+), "cleanupText"), JB = /* @__PURE__ */ d((e) => {
+ const { text: t, metadata: r } = Cm(e), { displayMode: i, title: n, config: a = {} } = r;
+ return i && (a.gantt || (a.gantt = {}), a.gantt.displayMode = i), { title: n, config: a, text: t };
+}, "processFrontmatter"), tL = /* @__PURE__ */ d((e) => {
+ const t = be.detectInit(e) ?? {}, r = be.detectDirective(e, "wrap");
+ return Array.isArray(r) ? t.wrap = r.some(({ type: i }) => i === "wrap") : (r == null ? void 0 : r.type) === "wrap" && (t.wrap = !0), {
+ text: Ow(e),
+ directive: t
+ };
+}, "processDirectives");
+function yl(e) {
+ const t = QB(e), r = JB(t), i = tL(r.text), n = tl(r.config, i.directive);
+ return e = KB(i.text), {
+ code: e,
+ title: r.title,
+ config: n
+ };
+}
+d(yl, "preprocessDiagram");
+function wm(e) {
+ const t = new TextEncoder().encode(e), r = Array.from(t, (i) => String.fromCodePoint(i)).join("");
+ return btoa(r);
+}
+d(wm, "toBase64");
+var eL = 5e4, rL = "graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa", iL = "sandbox", nL = "loose", aL = "http://www.w3.org/2000/svg", sL = "http://www.w3.org/1999/xlink", oL = "http://www.w3.org/1999/xhtml", lL = "100%", cL = "100%", hL = "border:0;margin:0;", uL = "margin:0", fL = "allow-top-navigation-by-user-activation allow-popups", pL = 'The "iframe" tag is not supported by your browser.', dL = ["foreignobject"], gL = ["dominant-baseline"];
+function xl(e) {
+ const t = yl(e);
+ return Rn(), P0(t.config ?? {}), t;
+}
+d(xl, "processAndSetConfigs");
+async function vm(e, t) {
+ qa();
+ try {
+ const { code: r, config: i } = xl(e);
+ return { diagramType: (await Sm(r)).type, config: i };
+ } catch (r) {
+ if (t != null && t.suppressErrors)
+ return !1;
+ throw r;
+ }
+}
+d(vm, "parse");
+var ph = /* @__PURE__ */ d((e, t, r = []) => `
+.${e} ${t} { ${r.join(" !important; ")} !important; }`, "cssImportantStyles"), mL = /* @__PURE__ */ d((e, t = /* @__PURE__ */ new Map()) => {
+ var i;
+ let r = "";
+ if (e.themeCSS !== void 0 && (r += `
+${e.themeCSS}`), e.fontFamily !== void 0 && (r += `
+:root { --mermaid-font-family: ${e.fontFamily}}`), e.altFontFamily !== void 0 && (r += `
+:root { --mermaid-alt-font-family: ${e.altFontFamily}}`), t instanceof Map) {
+ const s = e.htmlLabels ?? ((i = e.flowchart) == null ? void 0 : i.htmlLabels) ? ["> *", "span"] : ["rect", "polygon", "ellipse", "circle", "path"];
+ t.forEach((l) => {
+ hh(l.styles) || s.forEach((c) => {
+ r += ph(l.id, c, l.styles);
+ }), hh(l.textStyles) || (r += ph(
+ l.id,
+ "tspan",
+ ((l == null ? void 0 : l.textStyles) || []).map((c) => c.replace("color", "fill"))
+ ));
+ });
+ }
+ return r;
+}, "createCssStyles"), yL = /* @__PURE__ */ d((e, t, r, i) => {
+ const n = mL(e, r), a = ry(t, n, e.themeVariables);
+ return co(DS(`${i}{${a}}`), IS);
+}, "createUserStyles"), xL = /* @__PURE__ */ d((e = "", t, r) => {
+ let i = e;
+ return !r && !t && (i = i.replace(
+ /marker-end="url\([\d+./:=?A-Za-z-]*?#/g,
+ 'marker-end="url(#'
+ )), i = xr(i), i = i.replace(/
/g, "
"), i;
+}, "cleanUpSvgCode"), bL = /* @__PURE__ */ d((e = "", t) => {
+ var n, a;
+ const r = (a = (n = t == null ? void 0 : t.viewBox) == null ? void 0 : n.baseVal) != null && a.height ? t.viewBox.baseVal.height + "px" : cL, i = wm(`${e}`);
+ return ``;
+}, "putIntoIFrame"), dh = /* @__PURE__ */ d((e, t, r, i, n) => {
+ const a = e.append("div");
+ a.attr("id", r), i && a.attr("style", i);
+ const o = a.append("svg").attr("id", t).attr("width", "100%").attr("xmlns", aL);
+ return n && o.attr("xmlns:xlink", n), o.append("g"), e;
+}, "appendDivSvgG");
+function mo(e, t) {
+ return e.append("iframe").attr("id", t).attr("style", "width: 100%; height: 100%;").attr("sandbox", "");
+}
+d(mo, "sandboxedIframe");
+var _L = /* @__PURE__ */ d((e, t, r, i) => {
+ var n, a, o;
+ (n = e.getElementById(t)) == null || n.remove(), (a = e.getElementById(r)) == null || a.remove(), (o = e.getElementById(i)) == null || o.remove();
+}, "removeExistingElements"), CL = /* @__PURE__ */ d(async function(e, t, r) {
+ var z, D, L, M, B, F;
+ qa();
+ const i = xl(t);
+ t = i.code;
+ const n = Jt();
+ $.debug(n), t.length > ((n == null ? void 0 : n.maxTextSize) ?? eL) && (t = rL);
+ const a = "#" + e, o = "i" + e, s = "#" + o, l = "d" + e, c = "#" + l, h = /* @__PURE__ */ d(() => {
+ const W = ct(f ? s : c).node();
+ W && "remove" in W && W.remove();
+ }, "removeTempElements");
+ let u = ct("body");
+ const f = n.securityLevel === iL, p = n.securityLevel === nL, g = n.fontFamily;
+ if (r !== void 0) {
+ if (r && (r.innerHTML = ""), f) {
+ const A = mo(ct(r), o);
+ u = ct(A.nodes()[0].contentDocument.body), u.node().style.margin = 0;
+ } else
+ u = ct(r);
+ dh(u, e, l, `font-family: ${g}`, sL);
+ } else {
+ if (_L(document, e, l, o), f) {
+ const A = mo(ct("body"), o);
+ u = ct(A.nodes()[0].contentDocument.body), u.node().style.margin = 0;
+ } else
+ u = ct("body");
+ dh(u, e, l);
+ }
+ let m, y;
+ try {
+ m = await go.fromText(t, { title: i.title });
+ } catch (A) {
+ if (n.suppressErrorRendering)
+ throw h(), A;
+ m = await go.fromText("error"), y = A;
+ }
+ const x = u.select(c).node(), b = m.type, C = x.firstChild, k = C.firstChild, v = (D = (z = m.renderer).getClasses) == null ? void 0 : D.call(z, t, m), _ = yL(n, b, v, a), S = document.createElement("style");
+ S.innerHTML = _, C.insertBefore(S, k);
+ try {
+ await m.renderer.draw(t, e, rh.version, m);
+ } catch (A) {
+ throw n.suppressErrorRendering ? h() : uB.draw(t, e, rh.version), A;
+ }
+ const R = u.select(`${c} svg`), P = (M = (L = m.db).getAccTitle) == null ? void 0 : M.call(L), O = (F = (B = m.db).getAccDescription) == null ? void 0 : F.call(B);
+ Tm(b, R, P, O), u.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns", oL);
+ let E = u.select(c).node().innerHTML;
+ if ($.debug("config.arrowMarkerAbsolute", n.arrowMarkerAbsolute), E = xL(E, f, Lt(n.arrowMarkerAbsolute)), f) {
+ const A = u.select(c + " svg").node();
+ E = bL(E, A);
+ } else p || (E = qr.sanitize(E, {
+ ADD_TAGS: dL,
+ ADD_ATTR: gL,
+ HTML_INTEGRATION_POINTS: { foreignobject: !0 }
+ }));
+ if (ZB(), y)
+ throw y;
+ return h(), {
+ diagramType: b,
+ svg: E,
+ bindFunctions: m.db.bindFunctions
+ };
+}, "render");
+function km(e = {}) {
+ var i;
+ const t = $t({}, e);
+ t != null && t.fontFamily && !((i = t.themeVariables) != null && i.fontFamily) && (t.themeVariables || (t.themeVariables = {}), t.themeVariables.fontFamily = t.fontFamily), R0(t), t != null && t.theme && t.theme in De ? t.themeVariables = De[t.theme].getThemeVariables(
+ t.themeVariables
+ ) : t && (t.themeVariables = De.default.getThemeVariables(t.themeVariables));
+ const r = typeof t == "object" ? D0(t) : Eh();
+ yo(r.logLevel), qa();
+}
+d(km, "initialize");
+var Sm = /* @__PURE__ */ d((e, t = {}) => {
+ const { code: r } = yl(e);
+ return go.fromText(r, t);
+}, "getDiagramFromText");
+function Tm(e, t, r, i) {
+ bm(t, e), _m(t, r, i, t.attr("id"));
+}
+d(Tm, "addA11yInfo");
+var dr = Object.freeze({
+ render: CL,
+ parse: vm,
+ getDiagramFromText: Sm,
+ initialize: km,
+ getConfig: Jt,
+ setConfig: Fh,
+ getSiteConfig: Eh,
+ updateSiteConfig: I0,
+ reset: /* @__PURE__ */ d(() => {
+ Rn();
+ }, "reset"),
+ globalReset: /* @__PURE__ */ d(() => {
+ Rn(jr);
+ }, "globalReset"),
+ defaultConfig: jr
+});
+yo(Jt().logLevel);
+Rn(Jt());
+var wL = /* @__PURE__ */ d((e, t, r) => {
+ $.warn(e), Jo(e) ? (r && r(e.str, e.hash), t.push({ ...e, message: e.str, error: e })) : (r && r(e), e instanceof Error && t.push({
+ str: e.message,
+ message: e.message,
+ hash: e.name,
+ error: e
+ }));
+}, "handleError"), Bm = /* @__PURE__ */ d(async function(e = {
+ querySelector: ".mermaid"
+}) {
+ try {
+ await vL(e);
+ } catch (t) {
+ if (Jo(t) && $.error(t.str), ee.parseError && ee.parseError(t), !e.suppressErrors)
+ throw $.error("Use the suppressErrors option to suppress these errors"), t;
+ }
+}, "run"), vL = /* @__PURE__ */ d(async function({ postRenderCallback: e, querySelector: t, nodes: r } = {
+ querySelector: ".mermaid"
+}) {
+ const i = dr.getConfig();
+ $.debug(`${e ? "" : "No "}Callback function found`);
+ let n;
+ if (r)
+ n = r;
+ else if (t)
+ n = document.querySelectorAll(t);
+ else
+ throw new Error("Nodes and querySelector are both undefined");
+ $.debug(`Found ${n.length} diagrams`), (i == null ? void 0 : i.startOnLoad) !== void 0 && ($.debug("Start On Load: " + (i == null ? void 0 : i.startOnLoad)), dr.updateSiteConfig({ startOnLoad: i == null ? void 0 : i.startOnLoad }));
+ const a = new be.InitIDGenerator(i.deterministicIds, i.deterministicIDSeed);
+ let o;
+ const s = [];
+ for (const l of Array.from(n)) {
+ if ($.info("Rendering diagram: " + l.id), l.getAttribute("data-processed"))
+ continue;
+ l.setAttribute("data-processed", "true");
+ const c = `mermaid-${a.next()}`;
+ o = l.innerHTML, o = Jp(be.entityDecode(o)).trim().replace(/
/gi, "
");
+ const h = be.detectInit(o);
+ h && $.debug("Detected early reinit: ", h);
+ try {
+ const { svg: u, bindFunctions: f } = await Em(c, o, l);
+ l.innerHTML = u, e && await e(c), f && f(l);
+ } catch (u) {
+ wL(u, s, ee.parseError);
+ }
+ }
+ if (s.length > 0)
+ throw s[0];
+}, "runThrowsErrors"), Lm = /* @__PURE__ */ d(function(e) {
+ dr.initialize(e);
+}, "initialize"), kL = /* @__PURE__ */ d(async function(e, t, r) {
+ $.warn("mermaid.init is deprecated. Please use run instead."), e && Lm(e);
+ const i = { postRenderCallback: r, querySelector: ".mermaid" };
+ typeof t == "string" ? i.querySelector = t : t && (t instanceof HTMLElement ? i.nodes = [t] : i.nodes = t), await Bm(i);
+}, "init"), SL = /* @__PURE__ */ d(async (e, {
+ lazyLoad: t = !0
+} = {}) => {
+ qa(), Cs(...e), t === !1 && await XB();
+}, "registerExternalDiagrams"), Am = /* @__PURE__ */ d(function() {
+ if (ee.startOnLoad) {
+ const { startOnLoad: e } = dr.getConfig();
+ e && ee.run().catch((t) => $.error("Mermaid failed to initialize", t));
+ }
+}, "contentLoaded");
+typeof document < "u" && window.addEventListener("load", Am, !1);
+var TL = /* @__PURE__ */ d(function(e) {
+ ee.parseError = e;
+}, "setParseErrorHandler"), ga = [], ys = !1, Mm = /* @__PURE__ */ d(async () => {
+ if (!ys) {
+ for (ys = !0; ga.length > 0; ) {
+ const e = ga.shift();
+ if (e)
+ try {
+ await e();
+ } catch (t) {
+ $.error("Error executing queue", t);
+ }
+ }
+ ys = !1;
+ }
+}, "executeQueue"), BL = /* @__PURE__ */ d(async (e, t) => new Promise((r, i) => {
+ const n = /* @__PURE__ */ d(() => new Promise((a, o) => {
+ dr.parse(e, t).then(
+ (s) => {
+ a(s), r(s);
+ },
+ (s) => {
+ var l;
+ $.error("Error parsing", s), (l = ee.parseError) == null || l.call(ee, s), o(s), i(s);
+ }
+ );
+ }), "performCall");
+ ga.push(n), Mm().catch(i);
+}), "parse"), Em = /* @__PURE__ */ d((e, t, r) => new Promise((i, n) => {
+ const a = /* @__PURE__ */ d(() => new Promise((o, s) => {
+ dr.render(e, t, r).then(
+ (l) => {
+ o(l), i(l);
+ },
+ (l) => {
+ var c;
+ $.error("Error parsing", l), (c = ee.parseError) == null || c.call(ee, l), s(l), n(l);
+ }
+ );
+ }), "performCall");
+ ga.push(a), Mm().catch(n);
+}), "render"), ee = {
+ startOnLoad: !0,
+ mermaidAPI: dr,
+ parse: BL,
+ render: Em,
+ init: kL,
+ run: Bm,
+ registerExternalDiagrams: SL,
+ registerLayoutLoaders: Ng,
+ initialize: Lm,
+ parseError: void 0,
+ contentLoaded: Am,
+ setParseErrorHandler: TL,
+ detectType: xo,
+ registerIconPacks: Kv
+}, LL = ee;
+/*! Check if previously processed */
+/*!
+ * Wait for document loaded before starting the execution
+ */
+const JL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+ __proto__: null,
+ default: LL
+}, Symbol.toStringTag, { value: "Module" }));
+export {
+ zh as $,
+ Li as A,
+ _0 as B,
+ uy as C,
+ tl as D,
+ Jt as E,
+ Ah as F,
+ Nw as G,
+ _S as H,
+ rh as I,
+ bx as J,
+ L0 as K,
+ Ur as L,
+ EL as M,
+ $a as N,
+ Ph as O,
+ bo as P,
+ Xl as Q,
+ G2 as R,
+ Ln as S,
+ Pw as T,
+ Ui as U,
+ J0 as V,
+ Yi as W,
+ q as X,
+ J as Y,
+ Mw as Z,
+ d as _,
+ ay as a,
+ Ro as a$,
+ H2 as a0,
+ zo as a1,
+ IL as a2,
+ zL as a3,
+ Tr as a4,
+ yc as a5,
+ mc as a6,
+ qL as a7,
+ WL as a8,
+ NL as a9,
+ Tw as aA,
+ xC as aB,
+ bw as aC,
+ Yo as aD,
+ hh as aE,
+ Jv as aF,
+ j2 as aG,
+ Ji as aH,
+ Kv as aI,
+ Zv as aJ,
+ gr as aK,
+ Bw as aL,
+ Mp as aM,
+ La as aN,
+ Fa as aO,
+ na as aP,
+ Fp as aQ,
+ Ap as aR,
+ iw as aS,
+ Qt as aT,
+ m1 as aU,
+ Do as aV,
+ If as aW,
+ Vi as aX,
+ zf as aY,
+ OL as aZ,
+ Ym as a_,
+ DL as aa,
+ RL as ab,
+ jL as ac,
+ PL as ad,
+ HL as ae,
+ Tk as af,
+ Ig as ag,
+ VL as ah,
+ Cx as ai,
+ Lt as aj,
+ Ke as ak,
+ Eo as al,
+ ud as am,
+ xr as an,
+ Pp as ao,
+ rt as ap,
+ Ce as aq,
+ yS as ar,
+ XL as as,
+ ZL as at,
+ UL as au,
+ V as av,
+ GL as aw,
+ Jk as ax,
+ Vk as ay,
+ Xk as az,
+ ny as b,
+ He as b0,
+ hc as b1,
+ v1 as b2,
+ Ni as b3,
+ Sw as b4,
+ xw as b5,
+ aC as b6,
+ Uo as b7,
+ JC as b8,
+ Aw as b9,
+ Ki as ba,
+ ti as bb,
+ ea as bc,
+ hw as bd,
+ WS as be,
+ Zi as bf,
+ ia as bg,
+ nw as bh,
+ vp as bi,
+ lC as bj,
+ cC as bk,
+ er as bl,
+ Fc as bm,
+ hC as bn,
+ Go as bo,
+ oC as bp,
+ pC as bq,
+ ei as br,
+ Ze as bs,
+ Bc as bt,
+ Xo as bu,
+ Sp as bv,
+ fo as bw,
+ Lw as bx,
+ Ea as by,
+ JL as bz,
+ ut as c,
+ ct as d,
+ Nh as e,
+ $t as f,
+ oy as g,
+ Pe as h,
+ cr as i,
+ vf as j,
+ Jr as k,
+ $ as l,
+ zp as m,
+ FL as n,
+ QL as o,
+ ly as p,
+ cy as q,
+ KL as r,
+ sy as s,
+ _x as t,
+ be as u,
+ Yk as v,
+ qw as w,
+ YL as x,
+ iy as y,
+ $L as z
+};