import {
	W as vt,
	c as yt,
	T as D,
	l as ot,
	s as Lt,
	g as Ct,
	A as zt,
	B as bt,
	a as Et,
	b as Dt,
	C as It,
	h as gt,
	i as Bt,
	d as wt,
} from './index-0e3b96e2.js';
import { l as _t } from './linear-c769df2f.js';
import './index-9c042f98.js';
import './_plugin-vue_export-helper-c27b6911.js';
import './init-77b53fdd.js';
var pt = (function () {
	var e = function (K, n, r, l) {
			for (r = r || {}, l = K.length; l--; r[K[l]] = n);
			return r;
		},
		s = [1, 3],
		h = [1, 4],
		x = [1, 5],
		f = [1, 6],
		d = [1, 7],
		c = [1, 5, 13, 15, 17, 19, 20, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50],
		g = [1, 5, 6, 13, 15, 17, 19, 20, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50],
		i = [32, 33, 34],
		y = [2, 7],
		p = [1, 13],
		B = [1, 17],
		N = [1, 18],
		V = [1, 19],
		I = [1, 20],
		b = [1, 21],
		M = [1, 22],
		X = [1, 23],
		C = [1, 24],
		it = [1, 25],
		at = [1, 26],
		nt = [1, 27],
		U = [1, 30],
		Q = [1, 31],
		T = [1, 32],
		_ = [1, 33],
		m = [1, 34],
		t = [1, 35],
		A = [1, 36],
		S = [1, 37],
		k = [1, 38],
		F = [1, 39],
		P = [1, 40],
		v = [1, 41],
		L = [1, 42],
		O = [1, 57],
		Y = [1, 58],
		z = [5, 22, 26, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
		ht = {
			trace: function () {},
			yy: {},
			symbols_: {
				error: 2,
				start: 3,
				eol: 4,
				SPACE: 5,
				QUADRANT: 6,
				document: 7,
				line: 8,
				statement: 9,
				axisDetails: 10,
				quadrantDetails: 11,
				points: 12,
				title: 13,
				title_value: 14,
				acc_title: 15,
				acc_title_value: 16,
				acc_descr: 17,
				acc_descr_value: 18,
				acc_descr_multiline_value: 19,
				section: 20,
				text: 21,
				point_start: 22,
				point_x: 23,
				point_y: 24,
				'X-AXIS': 25,
				'AXIS-TEXT-DELIMITER': 26,
				'Y-AXIS': 27,
				QUADRANT_1: 28,
				QUADRANT_2: 29,
				QUADRANT_3: 30,
				QUADRANT_4: 31,
				NEWLINE: 32,
				SEMI: 33,
				EOF: 34,
				alphaNumToken: 35,
				textNoTagsToken: 36,
				STR: 37,
				MD_STR: 38,
				alphaNum: 39,
				PUNCTUATION: 40,
				AMP: 41,
				NUM: 42,
				ALPHA: 43,
				COMMA: 44,
				PLUS: 45,
				EQUALS: 46,
				MULT: 47,
				DOT: 48,
				BRKT: 49,
				UNDERSCORE: 50,
				MINUS: 51,
				$accept: 0,
				$end: 1,
			},
			terminals_: {
				2: 'error',
				5: 'SPACE',
				6: 'QUADRANT',
				13: 'title',
				14: 'title_value',
				15: 'acc_title',
				16: 'acc_title_value',
				17: 'acc_descr',
				18: 'acc_descr_value',
				19: 'acc_descr_multiline_value',
				20: 'section',
				22: 'point_start',
				23: 'point_x',
				24: 'point_y',
				25: 'X-AXIS',
				26: 'AXIS-TEXT-DELIMITER',
				27: 'Y-AXIS',
				28: 'QUADRANT_1',
				29: 'QUADRANT_2',
				30: 'QUADRANT_3',
				31: 'QUADRANT_4',
				32: 'NEWLINE',
				33: 'SEMI',
				34: 'EOF',
				37: 'STR',
				38: 'MD_STR',
				40: 'PUNCTUATION',
				41: 'AMP',
				42: 'NUM',
				43: 'ALPHA',
				44: 'COMMA',
				45: 'PLUS',
				46: 'EQUALS',
				47: 'MULT',
				48: 'DOT',
				49: 'BRKT',
				50: 'UNDERSCORE',
				51: 'MINUS',
			},
			productions_: [
				0,
				[3, 2],
				[3, 2],
				[3, 2],
				[7, 0],
				[7, 2],
				[8, 2],
				[9, 0],
				[9, 2],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 2],
				[9, 2],
				[9, 2],
				[9, 1],
				[9, 1],
				[12, 4],
				[10, 4],
				[10, 3],
				[10, 2],
				[10, 4],
				[10, 3],
				[10, 2],
				[11, 2],
				[11, 2],
				[11, 2],
				[11, 2],
				[4, 1],
				[4, 1],
				[4, 1],
				[21, 1],
				[21, 2],
				[21, 1],
				[21, 1],
				[39, 1],
				[39, 2],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[35, 1],
				[36, 1],
				[36, 1],
				[36, 1],
			],
			performAction: function (n, r, l, o, q, a, et) {
				var u = a.length - 1;
				switch (q) {
					case 12:
						(this.$ = a[u].trim()), o.setDiagramTitle(this.$);
						break;
					case 13:
						(this.$ = a[u].trim()), o.setAccTitle(this.$);
						break;
					case 14:
					case 15:
						(this.$ = a[u].trim()), o.setAccDescription(this.$);
						break;
					case 16:
						o.addSection(a[u].substr(8)), (this.$ = a[u].substr(8));
						break;
					case 17:
						o.addPoint(a[u - 3], a[u - 1], a[u]);
						break;
					case 18:
						o.setXAxisLeftText(a[u - 2]), o.setXAxisRightText(a[u]);
						break;
					case 19:
						(a[u - 1].text += ' ⟶ '), o.setXAxisLeftText(a[u - 1]);
						break;
					case 20:
						o.setXAxisLeftText(a[u]);
						break;
					case 21:
						o.setYAxisBottomText(a[u - 2]), o.setYAxisTopText(a[u]);
						break;
					case 22:
						(a[u - 1].text += ' ⟶ '), o.setYAxisBottomText(a[u - 1]);
						break;
					case 23:
						o.setYAxisBottomText(a[u]);
						break;
					case 24:
						o.setQuadrant1Text(a[u]);
						break;
					case 25:
						o.setQuadrant2Text(a[u]);
						break;
					case 26:
						o.setQuadrant3Text(a[u]);
						break;
					case 27:
						o.setQuadrant4Text(a[u]);
						break;
					case 31:
						this.$ = { text: a[u], type: 'text' };
						break;
					case 32:
						this.$ = { text: a[u - 1].text + '' + a[u], type: a[u - 1].type };
						break;
					case 33:
						this.$ = { text: a[u], type: 'text' };
						break;
					case 34:
						this.$ = { text: a[u], type: 'markdown' };
						break;
					case 35:
						this.$ = a[u];
						break;
					case 36:
						this.$ = a[u - 1] + '' + a[u];
						break;
				}
			},
			table: [
				{ 3: 1, 4: 2, 5: s, 6: h, 32: x, 33: f, 34: d },
				{ 1: [3] },
				{ 3: 8, 4: 2, 5: s, 6: h, 32: x, 33: f, 34: d },
				{ 3: 9, 4: 2, 5: s, 6: h, 32: x, 33: f, 34: d },
				e(c, [2, 4], { 7: 10 }),
				e(g, [2, 28]),
				e(g, [2, 29]),
				e(g, [2, 30]),
				{ 1: [2, 1] },
				{ 1: [2, 2] },
				e(i, y, {
					8: 11,
					9: 12,
					10: 14,
					11: 15,
					12: 16,
					21: 28,
					35: 29,
					1: [2, 3],
					5: p,
					13: B,
					15: N,
					17: V,
					19: I,
					20: b,
					25: M,
					27: X,
					28: C,
					29: it,
					30: at,
					31: nt,
					37: U,
					38: Q,
					40: T,
					41: _,
					42: m,
					43: t,
					44: A,
					45: S,
					46: k,
					47: F,
					48: P,
					49: v,
					50: L,
				}),
				e(c, [2, 5]),
				{ 4: 43, 32: x, 33: f, 34: d },
				e(i, y, {
					10: 14,
					11: 15,
					12: 16,
					21: 28,
					35: 29,
					9: 44,
					5: p,
					13: B,
					15: N,
					17: V,
					19: I,
					20: b,
					25: M,
					27: X,
					28: C,
					29: it,
					30: at,
					31: nt,
					37: U,
					38: Q,
					40: T,
					41: _,
					42: m,
					43: t,
					44: A,
					45: S,
					46: k,
					47: F,
					48: P,
					49: v,
					50: L,
				}),
				e(i, [2, 9]),
				e(i, [2, 10]),
				e(i, [2, 11]),
				{ 14: [1, 45] },
				{ 16: [1, 46] },
				{ 18: [1, 47] },
				e(i, [2, 15]),
				e(i, [2, 16]),
				{ 21: 48, 35: 29, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L },
				{ 21: 49, 35: 29, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L },
				{ 21: 50, 35: 29, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L },
				{ 21: 51, 35: 29, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L },
				{ 21: 52, 35: 29, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L },
				{ 21: 53, 35: 29, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L },
				{ 5: O, 22: [1, 54], 35: 56, 36: 55, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y },
				e(z, [2, 31]),
				e(z, [2, 33]),
				e(z, [2, 34]),
				e(z, [2, 37]),
				e(z, [2, 38]),
				e(z, [2, 39]),
				e(z, [2, 40]),
				e(z, [2, 41]),
				e(z, [2, 42]),
				e(z, [2, 43]),
				e(z, [2, 44]),
				e(z, [2, 45]),
				e(z, [2, 46]),
				e(z, [2, 47]),
				e(c, [2, 6]),
				e(i, [2, 8]),
				e(i, [2, 12]),
				e(i, [2, 13]),
				e(i, [2, 14]),
				e(i, [2, 20], { 36: 55, 35: 56, 5: O, 26: [1, 59], 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 23], { 36: 55, 35: 56, 5: O, 26: [1, 60], 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 24], { 36: 55, 35: 56, 5: O, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 25], { 36: 55, 35: 56, 5: O, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 26], { 36: 55, 35: 56, 5: O, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 27], { 36: 55, 35: 56, 5: O, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				{ 23: [1, 61] },
				e(z, [2, 32]),
				e(z, [2, 48]),
				e(z, [2, 49]),
				e(z, [2, 50]),
				e(i, [2, 19], { 35: 29, 21: 62, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L }),
				e(i, [2, 22], { 35: 29, 21: 63, 37: U, 38: Q, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L }),
				{ 24: [1, 64] },
				e(i, [2, 18], { 36: 55, 35: 56, 5: O, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 21], { 36: 55, 35: 56, 5: O, 40: T, 41: _, 42: m, 43: t, 44: A, 45: S, 46: k, 47: F, 48: P, 49: v, 50: L, 51: Y }),
				e(i, [2, 17]),
			],
			defaultActions: { 8: [2, 1], 9: [2, 2] },
			parseError: function (n, r) {
				if (r.recoverable) this.trace(n);
				else {
					var l = new Error(n);
					throw ((l.hash = r), l);
				}
			},
			parse: function (n) {
				var r = this,
					l = [0],
					o = [],
					q = [null],
					a = [],
					et = this.table,
					u = '',
					st = 0,
					qt = 0,
					St = 2,
					Tt = 1,
					kt = a.slice.call(arguments, 1),
					E = Object.create(this.lexer),
					Z = { yy: {} };
				for (var dt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, dt) && (Z.yy[dt] = this.yy[dt]);
				E.setInput(n, Z.yy), (Z.yy.lexer = E), (Z.yy.parser = this), typeof E.yylloc > 'u' && (E.yylloc = {});
				var ut = E.yylloc;
				a.push(ut);
				var Ft = E.options && E.options.ranges;
				typeof Z.yy.parseError == 'function' ? (this.parseError = Z.yy.parseError) : (this.parseError = Object.getPrototypeOf(this).parseError);
				function Pt() {
					var j;
					return (
						(j = o.pop() || E.lex() || Tt), typeof j != 'number' && (j instanceof Array && ((o = j), (j = o.pop())), (j = r.symbols_[j] || j)), j
					);
				}
				for (var W, J, H, xt, tt = {}, rt, $, mt, lt; ; ) {
					if (
						((J = l[l.length - 1]),
						this.defaultActions[J] ? (H = this.defaultActions[J]) : ((W === null || typeof W > 'u') && (W = Pt()), (H = et[J] && et[J][W])),
						typeof H > 'u' || !H.length || !H[0])
					) {
						var ft = '';
						lt = [];
						for (rt in et[J]) this.terminals_[rt] && rt > St && lt.push("'" + this.terminals_[rt] + "'");
						E.showPosition
							? (ft =
									'Parse error on line ' +
									(st + 1) +
									`:
` +
									E.showPosition() +
									`
Expecting ` +
									lt.join(', ') +
									", got '" +
									(this.terminals_[W] || W) +
									"'")
							: (ft = 'Parse error on line ' + (st + 1) + ': Unexpected ' + (W == Tt ? 'end of input' : "'" + (this.terminals_[W] || W) + "'")),
							this.parseError(ft, { text: E.match, token: this.terminals_[W] || W, line: E.yylineno, loc: ut, expected: lt });
					}
					if (H[0] instanceof Array && H.length > 1) throw new Error('Parse Error: multiple actions possible at state: ' + J + ', token: ' + W);
					switch (H[0]) {
						case 1:
							l.push(W),
								q.push(E.yytext),
								a.push(E.yylloc),
								l.push(H[1]),
								(W = null),
								(qt = E.yyleng),
								(u = E.yytext),
								(st = E.yylineno),
								(ut = E.yylloc);
							break;
						case 2:
							if (
								(($ = this.productions_[H[1]][1]),
								(tt.$ = q[q.length - $]),
								(tt._$ = {
									first_line: a[a.length - ($ || 1)].first_line,
									last_line: a[a.length - 1].last_line,
									first_column: a[a.length - ($ || 1)].first_column,
									last_column: a[a.length - 1].last_column,
								}),
								Ft && (tt._$.range = [a[a.length - ($ || 1)].range[0], a[a.length - 1].range[1]]),
								(xt = this.performAction.apply(tt, [u, qt, st, Z.yy, H[1], q, a].concat(kt))),
								typeof xt < 'u')
							)
								return xt;
							$ && ((l = l.slice(0, -1 * $ * 2)), (q = q.slice(0, -1 * $)), (a = a.slice(0, -1 * $))),
								l.push(this.productions_[H[1]][0]),
								q.push(tt.$),
								a.push(tt._$),
								(mt = et[l[l.length - 2]][l[l.length - 1]]),
								l.push(mt);
							break;
						case 3:
							return !0;
					}
				}
				return !0;
			},
		},
		At = (function () {
			var K = {
				EOF: 1,
				parseError: function (r, l) {
					if (this.yy.parser) this.yy.parser.parseError(r, l);
					else throw new Error(r);
				},
				setInput: function (n, r) {
					return (
						(this.yy = r || this.yy || {}),
						(this._input = n),
						(this._more = this._backtrack = this.done = !1),
						(this.yylineno = this.yyleng = 0),
						(this.yytext = this.matched = this.match = ''),
						(this.conditionStack = ['INITIAL']),
						(this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
						this.options.ranges && (this.yylloc.range = [0, 0]),
						(this.offset = 0),
						this
					);
				},
				input: function () {
					var n = this._input[0];
					(this.yytext += n), this.yyleng++, this.offset++, (this.match += n), (this.matched += n);
					var r = n.match(/(?:\r\n?|\n).*/g);
					return (
						r ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
						this.options.ranges && this.yylloc.range[1]++,
						(this._input = this._input.slice(1)),
						n
					);
				},
				unput: function (n) {
					var r = n.length,
						l = n.split(/(?:\r\n?|\n)/g);
					(this._input = n + this._input), (this.yytext = this.yytext.substr(0, this.yytext.length - r)), (this.offset -= r);
					var o = this.match.split(/(?:\r\n?|\n)/g);
					(this.match = this.match.substr(0, this.match.length - 1)),
						(this.matched = this.matched.substr(0, this.matched.length - 1)),
						l.length - 1 && (this.yylineno -= l.length - 1);
					var q = this.yylloc.range;
					return (
						(this.yylloc = {
							first_line: this.yylloc.first_line,
							last_line: this.yylineno + 1,
							first_column: this.yylloc.first_column,
							last_column: l
								? (l.length === o.length ? this.yylloc.first_column : 0) + o[o.length - l.length].length - l[0].length
								: this.yylloc.first_column - r,
						}),
						this.options.ranges && (this.yylloc.range = [q[0], q[0] + this.yyleng - r]),
						(this.yyleng = this.yytext.length),
						this
					);
				},
				more: function () {
					return (this._more = !0), this;
				},
				reject: function () {
					if (this.options.backtrack_lexer) this._backtrack = !0;
					else
						return this.parseError(
							'Lexical error on line ' +
								(this.yylineno + 1) +
								`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
` +
								this.showPosition(),
							{ text: '', token: null, line: this.yylineno }
						);
					return this;
				},
				less: function (n) {
					this.unput(this.match.slice(n));
				},
				pastInput: function () {
					var n = this.matched.substr(0, this.matched.length - this.match.length);
					return (n.length > 20 ? '...' : '') + n.substr(-20).replace(/\n/g, '');
				},
				upcomingInput: function () {
					var n = this.match;
					return n.length < 20 && (n += this._input.substr(0, 20 - n.length)), (n.substr(0, 20) + (n.length > 20 ? '...' : '')).replace(/\n/g, '');
				},
				showPosition: function () {
					var n = this.pastInput(),
						r = new Array(n.length + 1).join('-');
					return (
						n +
						this.upcomingInput() +
						`
` +
						r +
						'^'
					);
				},
				test_match: function (n, r) {
					var l, o, q;
					if (
						(this.options.backtrack_lexer &&
							((q = {
								yylineno: this.yylineno,
								yylloc: {
									first_line: this.yylloc.first_line,
									last_line: this.last_line,
									first_column: this.yylloc.first_column,
									last_column: this.yylloc.last_column,
								},
								yytext: this.yytext,
								match: this.match,
								matches: this.matches,
								matched: this.matched,
								yyleng: this.yyleng,
								offset: this.offset,
								_more: this._more,
								_input: this._input,
								yy: this.yy,
								conditionStack: this.conditionStack.slice(0),
								done: this.done,
							}),
							this.options.ranges && (q.yylloc.range = this.yylloc.range.slice(0))),
						(o = n[0].match(/(?:\r\n?|\n).*/g)),
						o && (this.yylineno += o.length),
						(this.yylloc = {
							first_line: this.yylloc.last_line,
							last_line: this.yylineno + 1,
							first_column: this.yylloc.last_column,
							last_column: o ? o[o.length - 1].length - o[o.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + n[0].length,
						}),
						(this.yytext += n[0]),
						(this.match += n[0]),
						(this.matches = n),
						(this.yyleng = this.yytext.length),
						this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
						(this._more = !1),
						(this._backtrack = !1),
						(this._input = this._input.slice(n[0].length)),
						(this.matched += n[0]),
						(l = this.performAction.call(this, this.yy, this, r, this.conditionStack[this.conditionStack.length - 1])),
						this.done && this._input && (this.done = !1),
						l)
					)
						return l;
					if (this._backtrack) {
						for (var a in q) this[a] = q[a];
						return !1;
					}
					return !1;
				},
				next: function () {
					if (this.done) return this.EOF;
					this._input || (this.done = !0);
					var n, r, l, o;
					this._more || ((this.yytext = ''), (this.match = ''));
					for (var q = this._currentRules(), a = 0; a < q.length; a++)
						if (((l = this._input.match(this.rules[q[a]])), l && (!r || l[0].length > r[0].length))) {
							if (((r = l), (o = a), this.options.backtrack_lexer)) {
								if (((n = this.test_match(l, q[a])), n !== !1)) return n;
								if (this._backtrack) {
									r = !1;
									continue;
								} else return !1;
							} else if (!this.options.flex) break;
						}
					return r
						? ((n = this.test_match(r, q[o])), n !== !1 ? n : !1)
						: this._input === ''
						? this.EOF
						: this.parseError(
								'Lexical error on line ' +
									(this.yylineno + 1) +
									`. Unrecognized text.
` +
									this.showPosition(),
								{ text: '', token: null, line: this.yylineno }
						  );
				},
				lex: function () {
					var r = this.next();
					return r || this.lex();
				},
				begin: function (r) {
					this.conditionStack.push(r);
				},
				popState: function () {
					var r = this.conditionStack.length - 1;
					return r > 0 ? this.conditionStack.pop() : this.conditionStack[0];
				},
				_currentRules: function () {
					return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
						? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
						: this.conditions.INITIAL.rules;
				},
				topState: function (r) {
					return (r = this.conditionStack.length - 1 - Math.abs(r || 0)), r >= 0 ? this.conditionStack[r] : 'INITIAL';
				},
				pushState: function (r) {
					this.begin(r);
				},
				stateStackSize: function () {
					return this.conditionStack.length;
				},
				options: { 'case-insensitive': !0 },
				performAction: function (r, l, o, q) {
					switch (o) {
						case 0:
							break;
						case 1:
							break;
						case 2:
							return 32;
						case 3:
							break;
						case 4:
							return this.begin('title'), 13;
						case 5:
							return this.popState(), 'title_value';
						case 6:
							return this.begin('acc_title'), 15;
						case 7:
							return this.popState(), 'acc_title_value';
						case 8:
							return this.begin('acc_descr'), 17;
						case 9:
							return this.popState(), 'acc_descr_value';
						case 10:
							this.begin('acc_descr_multiline');
							break;
						case 11:
							this.popState();
							break;
						case 12:
							return 'acc_descr_multiline_value';
						case 13:
							return 25;
						case 14:
							return 27;
						case 15:
							return 26;
						case 16:
							return 28;
						case 17:
							return 29;
						case 18:
							return 30;
						case 19:
							return 31;
						case 20:
							this.begin('md_string');
							break;
						case 21:
							return 'MD_STR';
						case 22:
							this.popState();
							break;
						case 23:
							this.begin('string');
							break;
						case 24:
							this.popState();
							break;
						case 25:
							return 'STR';
						case 26:
							return this.begin('point_start'), 22;
						case 27:
							return this.begin('point_x'), 23;
						case 28:
							this.popState();
							break;
						case 29:
							this.popState(), this.begin('point_y');
							break;
						case 30:
							return this.popState(), 24;
						case 31:
							return 6;
						case 32:
							return 43;
						case 33:
							return 'COLON';
						case 34:
							return 45;
						case 35:
							return 44;
						case 36:
							return 46;
						case 37:
							return 46;
						case 38:
							return 47;
						case 39:
							return 49;
						case 40:
							return 50;
						case 41:
							return 48;
						case 42:
							return 41;
						case 43:
							return 51;
						case 44:
							return 42;
						case 45:
							return 5;
						case 46:
							return 33;
						case 47:
							return 40;
						case 48:
							return 34;
					}
				},
				rules: [
					/^(?:%%(?!\{)[^\n]*)/i,
					/^(?:[^\}]%%[^\n]*)/i,
					/^(?:[\n\r]+)/i,
					/^(?:%%[^\n]*)/i,
					/^(?:title\b)/i,
					/^(?:(?!\n||)*[^\n]*)/i,
					/^(?:accTitle\s*:\s*)/i,
					/^(?:(?!\n||)*[^\n]*)/i,
					/^(?:accDescr\s*:\s*)/i,
					/^(?:(?!\n||)*[^\n]*)/i,
					/^(?:accDescr\s*\{\s*)/i,
					/^(?:[\}])/i,
					/^(?:[^\}]*)/i,
					/^(?: *x-axis *)/i,
					/^(?: *y-axis *)/i,
					/^(?: *--+> *)/i,
					/^(?: *quadrant-1 *)/i,
					/^(?: *quadrant-2 *)/i,
					/^(?: *quadrant-3 *)/i,
					/^(?: *quadrant-4 *)/i,
					/^(?:["][`])/i,
					/^(?:[^`"]+)/i,
					/^(?:[`]["])/i,
					/^(?:["])/i,
					/^(?:["])/i,
					/^(?:[^"]*)/i,
					/^(?:\s*:\s*\[\s*)/i,
					/^(?:(1)|(0(.\d+)?))/i,
					/^(?:\s*\] *)/i,
					/^(?:\s*,\s*)/i,
					/^(?:(1)|(0(.\d+)?))/i,
					/^(?: *quadrantChart *)/i,
					/^(?:[A-Za-z]+)/i,
					/^(?::)/i,
					/^(?:\+)/i,
					/^(?:,)/i,
					/^(?:=)/i,
					/^(?:=)/i,
					/^(?:\*)/i,
					/^(?:#)/i,
					/^(?:[\_])/i,
					/^(?:\.)/i,
					/^(?:&)/i,
					/^(?:-)/i,
					/^(?:[0-9]+)/i,
					/^(?:\s)/i,
					/^(?:;)/i,
					/^(?:[!"#$%&'*+,-.`?\\_/])/i,
					/^(?:$)/i,
				],
				conditions: {
					point_y: { rules: [30], inclusive: !1 },
					point_x: { rules: [29], inclusive: !1 },
					point_start: { rules: [27, 28], inclusive: !1 },
					acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
					acc_descr: { rules: [9], inclusive: !1 },
					acc_title: { rules: [7], inclusive: !1 },
					title: { rules: [5], inclusive: !1 },
					md_string: { rules: [21, 22], inclusive: !1 },
					string: { rules: [24, 25], inclusive: !1 },
					INITIAL: {
						rules: [
							0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 23, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
						],
						inclusive: !0,
					},
				},
			};
			return K;
		})();
	ht.lexer = At;
	function ct() {
		this.yy = {};
	}
	return (ct.prototype = ht), (ht.Parser = ct), new ct();
})();
pt.parser = pt;
const Rt = pt,
	R = vt();
class Vt {
	constructor() {
		(this.config = this.getDefaultConfig()), (this.themeConfig = this.getDefaultThemeConfig()), (this.data = this.getDefaultData());
	}
	getDefaultData() {
		return {
			titleText: '',
			quadrant1Text: '',
			quadrant2Text: '',
			quadrant3Text: '',
			quadrant4Text: '',
			xAxisLeftText: '',
			xAxisRightText: '',
			yAxisBottomText: '',
			yAxisTopText: '',
			points: [],
		};
	}
	getDefaultConfig() {
		var s, h, x, f, d, c, g, i, y, p, B, N, V, I, b, M, X, C;
		return {
			showXAxis: !0,
			showYAxis: !0,
			showTitle: !0,
			chartHeight: ((s = D.quadrantChart) == null ? void 0 : s.chartWidth) || 500,
			chartWidth: ((h = D.quadrantChart) == null ? void 0 : h.chartHeight) || 500,
			titlePadding: ((x = D.quadrantChart) == null ? void 0 : x.titlePadding) || 10,
			titleFontSize: ((f = D.quadrantChart) == null ? void 0 : f.titleFontSize) || 20,
			quadrantPadding: ((d = D.quadrantChart) == null ? void 0 : d.quadrantPadding) || 5,
			xAxisLabelPadding: ((c = D.quadrantChart) == null ? void 0 : c.xAxisLabelPadding) || 5,
			yAxisLabelPadding: ((g = D.quadrantChart) == null ? void 0 : g.yAxisLabelPadding) || 5,
			xAxisLabelFontSize: ((i = D.quadrantChart) == null ? void 0 : i.xAxisLabelFontSize) || 16,
			yAxisLabelFontSize: ((y = D.quadrantChart) == null ? void 0 : y.yAxisLabelFontSize) || 16,
			quadrantLabelFontSize: ((p = D.quadrantChart) == null ? void 0 : p.quadrantLabelFontSize) || 16,
			quadrantTextTopPadding: ((B = D.quadrantChart) == null ? void 0 : B.quadrantTextTopPadding) || 5,
			pointTextPadding: ((N = D.quadrantChart) == null ? void 0 : N.pointTextPadding) || 5,
			pointLabelFontSize: ((V = D.quadrantChart) == null ? void 0 : V.pointLabelFontSize) || 12,
			pointRadius: ((I = D.quadrantChart) == null ? void 0 : I.pointRadius) || 5,
			xAxisPosition: ((b = D.quadrantChart) == null ? void 0 : b.xAxisPosition) || 'top',
			yAxisPosition: ((M = D.quadrantChart) == null ? void 0 : M.yAxisPosition) || 'left',
			quadrantInternalBorderStrokeWidth: ((X = D.quadrantChart) == null ? void 0 : X.quadrantInternalBorderStrokeWidth) || 1,
			quadrantExternalBorderStrokeWidth: ((C = D.quadrantChart) == null ? void 0 : C.quadrantExternalBorderStrokeWidth) || 2,
		};
	}
	getDefaultThemeConfig() {
		return {
			quadrant1Fill: R.quadrant1Fill,
			quadrant2Fill: R.quadrant2Fill,
			quadrant3Fill: R.quadrant3Fill,
			quadrant4Fill: R.quadrant4Fill,
			quadrant1TextFill: R.quadrant1TextFill,
			quadrant2TextFill: R.quadrant2TextFill,
			quadrant3TextFill: R.quadrant3TextFill,
			quadrant4TextFill: R.quadrant4TextFill,
			quadrantPointFill: R.quadrantPointFill,
			quadrantPointTextFill: R.quadrantPointTextFill,
			quadrantXAxisTextFill: R.quadrantXAxisTextFill,
			quadrantYAxisTextFill: R.quadrantYAxisTextFill,
			quadrantTitleFill: R.quadrantTitleFill,
			quadrantInternalBorderStrokeFill: R.quadrantInternalBorderStrokeFill,
			quadrantExternalBorderStrokeFill: R.quadrantExternalBorderStrokeFill,
		};
	}
	clear() {
		(this.config = this.getDefaultConfig()),
			(this.themeConfig = this.getDefaultThemeConfig()),
			(this.data = this.getDefaultData()),
			ot.info('clear called');
	}
	setData(s) {
		this.data = { ...this.data, ...s };
	}
	addPoints(s) {
		this.data.points = [...s, ...this.data.points];
	}
	setConfig(s) {
		ot.trace('setConfig called with: ', s), (this.config = { ...this.config, ...s });
	}
	setThemeConfig(s) {
		ot.trace('setThemeConfig called with: ', s), (this.themeConfig = { ...this.themeConfig, ...s });
	}
	calculateSpace(s, h, x, f) {
		const d = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize,
			c = { top: s === 'top' && h ? d : 0, bottom: s === 'bottom' && h ? d : 0 },
			g = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize,
			i = { left: this.config.yAxisPosition === 'left' && x ? g : 0, right: this.config.yAxisPosition === 'right' && x ? g : 0 },
			y = this.config.titleFontSize + this.config.titlePadding * 2,
			p = { top: f ? y : 0 },
			B = this.config.quadrantPadding + i.left,
			N = this.config.quadrantPadding + c.top + p.top,
			V = this.config.chartWidth - this.config.quadrantPadding * 2 - i.left - i.right,
			I = this.config.chartHeight - this.config.quadrantPadding * 2 - c.top - c.bottom - p.top,
			b = V / 2,
			M = I / 2;
		return {
			xAxisSpace: c,
			yAxisSpace: i,
			titleSpace: p,
			quadrantSpace: { quadrantLeft: B, quadrantTop: N, quadrantWidth: V, quadrantHalfWidth: b, quadrantHeight: I, quadrantHalfHeight: M },
		};
	}
	getAxisLabels(s, h, x, f) {
		const { quadrantSpace: d, titleSpace: c } = f,
			{ quadrantHalfHeight: g, quadrantHeight: i, quadrantLeft: y, quadrantHalfWidth: p, quadrantTop: B, quadrantWidth: N } = d,
			V = !!this.data.xAxisRightText,
			I = !!this.data.yAxisTopText,
			b = [];
		return (
			this.data.xAxisLeftText &&
				h &&
				b.push({
					text: this.data.xAxisLeftText,
					fill: this.themeConfig.quadrantXAxisTextFill,
					x: y + (V ? p / 2 : 0),
					y: s === 'top' ? this.config.xAxisLabelPadding + c.top : this.config.xAxisLabelPadding + B + i + this.config.quadrantPadding,
					fontSize: this.config.xAxisLabelFontSize,
					verticalPos: V ? 'center' : 'left',
					horizontalPos: 'top',
					rotation: 0,
				}),
			this.data.xAxisRightText &&
				h &&
				b.push({
					text: this.data.xAxisRightText,
					fill: this.themeConfig.quadrantXAxisTextFill,
					x: y + p + (V ? p / 2 : 0),
					y: s === 'top' ? this.config.xAxisLabelPadding + c.top : this.config.xAxisLabelPadding + B + i + this.config.quadrantPadding,
					fontSize: this.config.xAxisLabelFontSize,
					verticalPos: V ? 'center' : 'left',
					horizontalPos: 'top',
					rotation: 0,
				}),
			this.data.yAxisBottomText &&
				x &&
				b.push({
					text: this.data.yAxisBottomText,
					fill: this.themeConfig.quadrantYAxisTextFill,
					x:
						this.config.yAxisPosition === 'left'
							? this.config.yAxisLabelPadding
							: this.config.yAxisLabelPadding + y + N + this.config.quadrantPadding,
					y: B + i - (I ? g / 2 : 0),
					fontSize: this.config.yAxisLabelFontSize,
					verticalPos: I ? 'center' : 'left',
					horizontalPos: 'top',
					rotation: -90,
				}),
			this.data.yAxisTopText &&
				x &&
				b.push({
					text: this.data.yAxisTopText,
					fill: this.themeConfig.quadrantYAxisTextFill,
					x:
						this.config.yAxisPosition === 'left'
							? this.config.yAxisLabelPadding
							: this.config.yAxisLabelPadding + y + N + this.config.quadrantPadding,
					y: B + g - (I ? g / 2 : 0),
					fontSize: this.config.yAxisLabelFontSize,
					verticalPos: I ? 'center' : 'left',
					horizontalPos: 'top',
					rotation: -90,
				}),
			b
		);
	}
	getQuadrants(s) {
		const { quadrantSpace: h } = s,
			{ quadrantHalfHeight: x, quadrantLeft: f, quadrantHalfWidth: d, quadrantTop: c } = h,
			g = [
				{
					text: {
						text: this.data.quadrant1Text,
						fill: this.themeConfig.quadrant1TextFill,
						x: 0,
						y: 0,
						fontSize: this.config.quadrantLabelFontSize,
						verticalPos: 'center',
						horizontalPos: 'middle',
						rotation: 0,
					},
					x: f + d,
					y: c,
					width: d,
					height: x,
					fill: this.themeConfig.quadrant1Fill,
				},
				{
					text: {
						text: this.data.quadrant2Text,
						fill: this.themeConfig.quadrant2TextFill,
						x: 0,
						y: 0,
						fontSize: this.config.quadrantLabelFontSize,
						verticalPos: 'center',
						horizontalPos: 'middle',
						rotation: 0,
					},
					x: f,
					y: c,
					width: d,
					height: x,
					fill: this.themeConfig.quadrant2Fill,
				},
				{
					text: {
						text: this.data.quadrant3Text,
						fill: this.themeConfig.quadrant3TextFill,
						x: 0,
						y: 0,
						fontSize: this.config.quadrantLabelFontSize,
						verticalPos: 'center',
						horizontalPos: 'middle',
						rotation: 0,
					},
					x: f,
					y: c + x,
					width: d,
					height: x,
					fill: this.themeConfig.quadrant3Fill,
				},
				{
					text: {
						text: this.data.quadrant4Text,
						fill: this.themeConfig.quadrant4TextFill,
						x: 0,
						y: 0,
						fontSize: this.config.quadrantLabelFontSize,
						verticalPos: 'center',
						horizontalPos: 'middle',
						rotation: 0,
					},
					x: f + d,
					y: c + x,
					width: d,
					height: x,
					fill: this.themeConfig.quadrant4Fill,
				},
			];
		for (const i of g)
			(i.text.x = i.x + i.width / 2),
				this.data.points.length === 0
					? ((i.text.y = i.y + i.height / 2), (i.text.horizontalPos = 'middle'))
					: ((i.text.y = i.y + this.config.quadrantTextTopPadding), (i.text.horizontalPos = 'top'));
		return g;
	}
	getQuadrantPoints(s) {
		const { quadrantSpace: h } = s,
			{ quadrantHeight: x, quadrantLeft: f, quadrantTop: d, quadrantWidth: c } = h,
			g = _t()
				.domain([0, 1])
				.range([f, c + f]),
			i = _t()
				.domain([0, 1])
				.range([x + d, d]);
		return this.data.points.map((p) => ({
			x: g(p.x),
			y: i(p.y),
			fill: this.themeConfig.quadrantPointFill,
			radius: this.config.pointRadius,
			text: {
				text: p.text,
				fill: this.themeConfig.quadrantPointTextFill,
				x: g(p.x),
				y: i(p.y) + this.config.pointTextPadding,
				verticalPos: 'center',
				horizontalPos: 'top',
				fontSize: this.config.pointLabelFontSize,
				rotation: 0,
			},
		}));
	}
	getBorders(s) {
		const h = this.config.quadrantExternalBorderStrokeWidth / 2,
			{ quadrantSpace: x } = s,
			{ quadrantHalfHeight: f, quadrantHeight: d, quadrantLeft: c, quadrantHalfWidth: g, quadrantTop: i, quadrantWidth: y } = x;
		return [
			{
				strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
				strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
				x1: c - h,
				y1: i,
				x2: c + y + h,
				y2: i,
			},
			{
				strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
				strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
				x1: c + y,
				y1: i + h,
				x2: c + y,
				y2: i + d - h,
			},
			{
				strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
				strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
				x1: c - h,
				y1: i + d,
				x2: c + y + h,
				y2: i + d,
			},
			{
				strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
				strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
				x1: c,
				y1: i + h,
				x2: c,
				y2: i + d - h,
			},
			{
				strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
				strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
				x1: c + g,
				y1: i + h,
				x2: c + g,
				y2: i + d - h,
			},
			{
				strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
				strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
				x1: c + h,
				y1: i + f,
				x2: c + y - h,
				y2: i + f,
			},
		];
	}
	getTitle(s) {
		if (s)
			return {
				text: this.data.titleText,
				fill: this.themeConfig.quadrantTitleFill,
				fontSize: this.config.titleFontSize,
				horizontalPos: 'top',
				verticalPos: 'center',
				rotation: 0,
				y: this.config.titlePadding,
				x: this.config.chartWidth / 2,
			};
	}
	build() {
		const s = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText),
			h = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText),
			x = this.config.showTitle && !!this.data.titleText,
			f = this.data.points.length > 0 ? 'bottom' : this.config.xAxisPosition,
			d = this.calculateSpace(f, s, h, x);
		return {
			points: this.getQuadrantPoints(d),
			quadrants: this.getQuadrants(d),
			axisLabels: this.getAxisLabels(f, s, h, d),
			borderLines: this.getBorders(d),
			title: this.getTitle(x),
		};
	}
}
const Wt = yt();
function G(e) {
	return wt(e.trim(), Wt);
}
const w = new Vt();
function Nt(e) {
	w.setData({ quadrant1Text: G(e.text) });
}
function Ut(e) {
	w.setData({ quadrant2Text: G(e.text) });
}
function Qt(e) {
	w.setData({ quadrant3Text: G(e.text) });
}
function Ht(e) {
	w.setData({ quadrant4Text: G(e.text) });
}
function Mt(e) {
	w.setData({ xAxisLeftText: G(e.text) });
}
function Xt(e) {
	w.setData({ xAxisRightText: G(e.text) });
}
function Ot(e) {
	w.setData({ yAxisTopText: G(e.text) });
}
function Yt(e) {
	w.setData({ yAxisBottomText: G(e.text) });
}
function $t(e, s, h) {
	w.addPoints([{ x: s, y: h, text: G(e.text) }]);
}
function jt(e) {
	w.setConfig({ chartWidth: e });
}
function Gt(e) {
	w.setConfig({ chartHeight: e });
}
function Kt() {
	const e = yt(),
		{ themeVariables: s, quadrantChart: h } = e;
	return (
		h && w.setConfig(h),
		w.setThemeConfig({
			quadrant1Fill: s.quadrant1Fill,
			quadrant2Fill: s.quadrant2Fill,
			quadrant3Fill: s.quadrant3Fill,
			quadrant4Fill: s.quadrant4Fill,
			quadrant1TextFill: s.quadrant1TextFill,
			quadrant2TextFill: s.quadrant2TextFill,
			quadrant3TextFill: s.quadrant3TextFill,
			quadrant4TextFill: s.quadrant4TextFill,
			quadrantPointFill: s.quadrantPointFill,
			quadrantPointTextFill: s.quadrantPointTextFill,
			quadrantXAxisTextFill: s.quadrantXAxisTextFill,
			quadrantYAxisTextFill: s.quadrantYAxisTextFill,
			quadrantExternalBorderStrokeFill: s.quadrantExternalBorderStrokeFill,
			quadrantInternalBorderStrokeFill: s.quadrantInternalBorderStrokeFill,
			quadrantTitleFill: s.quadrantTitleFill,
		}),
		w.setData({ titleText: bt() }),
		w.build()
	);
}
const Zt = function () {
		w.clear(), It();
	},
	Jt = {
		setWidth: jt,
		setHeight: Gt,
		setQuadrant1Text: Nt,
		setQuadrant2Text: Ut,
		setQuadrant3Text: Qt,
		setQuadrant4Text: Ht,
		setXAxisLeftText: Mt,
		setXAxisRightText: Xt,
		setYAxisTopText: Ot,
		setYAxisBottomText: Yt,
		addPoint: $t,
		getQuadrantData: Kt,
		clear: Zt,
		setAccTitle: Lt,
		getAccTitle: Ct,
		setDiagramTitle: zt,
		getDiagramTitle: bt,
		getAccDescription: Et,
		setAccDescription: Dt,
	},
	te = (e, s, h, x) => {
		var f, d, c;
		function g(t) {
			return t === 'top' ? 'hanging' : 'middle';
		}
		function i(t) {
			return t === 'left' ? 'start' : 'middle';
		}
		function y(t) {
			return `translate(${t.x}, ${t.y}) rotate(${t.rotation || 0})`;
		}
		const p = yt();
		ot.debug(
			`Rendering quadrant chart
` + e
		);
		const B = p.securityLevel;
		let N;
		B === 'sandbox' && (N = gt('#i' + s));
		const I = (B === 'sandbox' ? gt(N.nodes()[0].contentDocument.body) : gt('body')).select(`[id="${s}"]`),
			b = I.append('g').attr('class', 'main'),
			M = ((f = p.quadrantChart) == null ? void 0 : f.chartWidth) || 500,
			X = ((d = p.quadrantChart) == null ? void 0 : d.chartHeight) || 500;
		Bt(I, X, M, ((c = p.quadrantChart) == null ? void 0 : c.useMaxWidth) || !0),
			I.attr('viewBox', '0 0 ' + M + ' ' + X),
			x.db.setHeight(X),
			x.db.setWidth(M);
		const C = x.db.getQuadrantData(),
			it = b.append('g').attr('class', 'quadrants'),
			at = b.append('g').attr('class', 'border'),
			nt = b.append('g').attr('class', 'data-points'),
			U = b.append('g').attr('class', 'labels'),
			Q = b.append('g').attr('class', 'title');
		C.title &&
			Q.append('text')
				.attr('x', 0)
				.attr('y', 0)
				.attr('fill', C.title.fill)
				.attr('font-size', C.title.fontSize)
				.attr('dominant-baseline', g(C.title.horizontalPos))
				.attr('text-anchor', i(C.title.verticalPos))
				.attr('transform', y(C.title))
				.text(C.title.text),
			C.borderLines &&
				at
					.selectAll('line')
					.data(C.borderLines)
					.enter()
					.append('line')
					.attr('x1', (t) => t.x1)
					.attr('y1', (t) => t.y1)
					.attr('x2', (t) => t.x2)
					.attr('y2', (t) => t.y2)
					.style('stroke', (t) => t.strokeFill)
					.style('stroke-width', (t) => t.strokeWidth);
		const T = it.selectAll('g.quadrant').data(C.quadrants).enter().append('g').attr('class', 'quadrant');
		T.append('rect')
			.attr('x', (t) => t.x)
			.attr('y', (t) => t.y)
			.attr('width', (t) => t.width)
			.attr('height', (t) => t.height)
			.attr('fill', (t) => t.fill),
			T.append('text')
				.attr('x', 0)
				.attr('y', 0)
				.attr('fill', (t) => t.text.fill)
				.attr('font-size', (t) => t.text.fontSize)
				.attr('dominant-baseline', (t) => g(t.text.horizontalPos))
				.attr('text-anchor', (t) => i(t.text.verticalPos))
				.attr('transform', (t) => y(t.text))
				.text((t) => t.text.text),
			U.selectAll('g.label')
				.data(C.axisLabels)
				.enter()
				.append('g')
				.attr('class', 'label')
				.append('text')
				.attr('x', 0)
				.attr('y', 0)
				.text((t) => t.text)
				.attr('fill', (t) => t.fill)
				.attr('font-size', (t) => t.fontSize)
				.attr('dominant-baseline', (t) => g(t.horizontalPos))
				.attr('text-anchor', (t) => i(t.verticalPos))
				.attr('transform', (t) => y(t));
		const m = nt.selectAll('g.data-point').data(C.points).enter().append('g').attr('class', 'data-point');
		m
			.append('circle')
			.attr('cx', (t) => t.x)
			.attr('cy', (t) => t.y)
			.attr('r', (t) => t.radius)
			.attr('fill', (t) => t.fill),
			m
				.append('text')
				.attr('x', 0)
				.attr('y', 0)
				.text((t) => t.text.text)
				.attr('fill', (t) => t.text.fill)
				.attr('font-size', (t) => t.text.fontSize)
				.attr('dominant-baseline', (t) => g(t.text.horizontalPos))
				.attr('text-anchor', (t) => i(t.text.verticalPos))
				.attr('transform', (t) => y(t.text));
	},
	ee = { draw: te },
	le = { parser: Rt, db: Jt, renderer: ee, styles: () => '' };
export { le as diagram };
