@pie-lib/math-rendering-accessible 3.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getStackData = exports.Row = exports.Line = exports.CHTMLmstack = void 0;
9
+
10
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
+
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
+
20
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
+
22
+ var _Wrapper = require("mathjax-full/js/output/chtml/Wrapper");
23
+
24
+ var _lodash = _interopRequireDefault(require("lodash"));
25
+
26
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
27
+
28
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
+
30
+ var reduceText = function reduceText(acc, n) {
31
+ if (n.node && n.node.kind === 'text') {
32
+ acc += n.node.text;
33
+ }
34
+
35
+ return acc;
36
+ };
37
+
38
+ var Line = /*#__PURE__*/function () {
39
+ function Line() {
40
+ (0, _classCallCheck2["default"])(this, Line);
41
+ this.kind = 'line';
42
+ }
43
+
44
+ (0, _createClass2["default"])(Line, [{
45
+ key: "columns",
46
+ get: function get() {
47
+ return [];
48
+ }
49
+ }]);
50
+ return Line;
51
+ }();
52
+
53
+ exports.Line = Line;
54
+
55
+ var Row = /*#__PURE__*/function () {
56
+ function Row(columns, operator) {
57
+ (0, _classCallCheck2["default"])(this, Row);
58
+ this.kind = 'row';
59
+ this.operator = operator;
60
+ this.columns = columns;
61
+ }
62
+
63
+ (0, _createClass2["default"])(Row, [{
64
+ key: "pad",
65
+ value: function pad(count) {
66
+ var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'right';
67
+
68
+ if (count < this.columns.length) {
69
+ throw new Error('no');
70
+ }
71
+
72
+ var diff = count - this.columns.length;
73
+
74
+ var padding = _lodash["default"].times(diff).map(function () {
75
+ return '__pad__';
76
+ });
77
+
78
+ return direction === 'right' ? [].concat((0, _toConsumableArray2["default"])(padding), (0, _toConsumableArray2["default"])(this.columns)) : [].concat((0, _toConsumableArray2["default"])(this.columns), (0, _toConsumableArray2["default"])(padding));
79
+ }
80
+ }]);
81
+ return Row;
82
+ }();
83
+
84
+ exports.Row = Row;
85
+
86
+ var mathNodeToCharArray = function mathNodeToCharArray(mn) {
87
+ var text = mn.childNodes.reduce(reduceText, '');
88
+ return text.split('');
89
+ };
90
+ /**
91
+ * Convert child a column entry
92
+ * @param {*} child
93
+ * @return an array of column content
94
+ */
95
+
96
+
97
+ var toColumnArray = function toColumnArray(child) {
98
+ if (!child || !child.kind) {
99
+ return [];
100
+ }
101
+
102
+ if (child.kind === 'msrow') {
103
+ throw new Error('msrow in msrow?');
104
+ }
105
+
106
+ if (child.kind === 'mo') {
107
+ // We are going to treat this operator as a text array.
108
+ // It's probably going to be a decimal point
109
+ // eslint-disable-next-line no-console
110
+ console.warn('mo that is not 1st node in msrow?');
111
+ return mathNodeToCharArray(child); // throw new Error('mo must be first child of msrow');
112
+ }
113
+
114
+ if (child.kind === 'mn') {
115
+ return mathNodeToCharArray(child);
116
+ }
117
+
118
+ if (child.toCHTML) {
119
+ return child;
120
+ }
121
+ };
122
+ /**
123
+ * convert mstack chtml childNodes into a Row
124
+ * @param child chtml child node of mstack
125
+ * @return Row | Line
126
+ */
127
+
128
+
129
+ var rowStack = function rowStack(child) {
130
+ if (!child || !child.kind) {
131
+ return;
132
+ }
133
+
134
+ if (child.kind === 'msrow') {
135
+ if (!child.childNodes || child.childNodes.length === 0) {
136
+ return new Row([]);
137
+ }
138
+
139
+ var f = _lodash["default"].first(child.childNodes);
140
+
141
+ var nodes = f && f.kind === 'mo' ? _lodash["default"].tail(child.childNodes) : child.childNodes;
142
+
143
+ var columns = _lodash["default"].flatten(nodes.map(toColumnArray));
144
+
145
+ return new Row(columns, f.kind === 'mo' ? f : undefined);
146
+ }
147
+
148
+ if (child.kind === 'mn') {
149
+ var _columns = mathNodeToCharArray(child);
150
+
151
+ return new Row(_columns, undefined);
152
+ }
153
+
154
+ if (child.kind === 'mo') {
155
+ // eslint-disable-next-line no-console
156
+ console.warn('mo on its own row?');
157
+ return new Row([], child);
158
+ }
159
+
160
+ if (child.kind === 'msline') {
161
+ return new Line();
162
+ }
163
+
164
+ if (child.toCHTML) {
165
+ return new Row([child]);
166
+ }
167
+ };
168
+ /** convert MathJax chtml tree to Row[]
169
+ * @param mstack the root of the mathjax chtml tree
170
+ * @return Row[]
171
+ */
172
+
173
+
174
+ var getStackData = function getStackData(mstack) {
175
+ if (!mstack || !mstack.childNodes) {
176
+ return [];
177
+ }
178
+
179
+ return _lodash["default"].compact(mstack.childNodes.map(rowStack));
180
+ };
181
+
182
+ exports.getStackData = getStackData;
183
+
184
+ var CHTMLmstack = /*#__PURE__*/function (_CHTMLWrapper) {
185
+ (0, _inherits2["default"])(CHTMLmstack, _CHTMLWrapper);
186
+
187
+ var _super = _createSuper(CHTMLmstack);
188
+
189
+ function CHTMLmstack(factory, node) {
190
+ var _this;
191
+
192
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
193
+ (0, _classCallCheck2["default"])(this, CHTMLmstack);
194
+ _this = _super.call(this, factory, node, parent);
195
+ _this.ce = _this.adaptor.document.createElement.bind(_this.adaptor.document);
196
+ return _this;
197
+ }
198
+
199
+ (0, _createClass2["default"])(CHTMLmstack, [{
200
+ key: "toCHTML",
201
+ value: function toCHTML(parent) {
202
+ var _this2 = this;
203
+
204
+ var chtml = this.standardCHTMLnode(parent);
205
+ var stackData = getStackData(this); // console.log('stackData', stackData);
206
+
207
+ var maxCols = stackData.reduce(function (acc, r) {
208
+ if (r && r.columns.length > acc) {
209
+ acc = r.columns.length;
210
+ }
211
+
212
+ return acc;
213
+ }, 0);
214
+ var table = this.ce('table');
215
+ chtml.appendChild(table);
216
+ stackData.forEach(function (row) {
217
+ var tr = _this2.ce('tr');
218
+
219
+ table.appendChild(tr);
220
+
221
+ if (row.kind === 'row') {
222
+ var td = _this2.ce('td');
223
+
224
+ tr.appendChild(td);
225
+
226
+ if (row.operator && row.operator.toCHTML) {
227
+ td.setAttribute('class', 'inner');
228
+ row.operator.toCHTML(td);
229
+ } else {
230
+ td.textContent = '';
231
+ } // align right for now:
232
+
233
+
234
+ var cols = row.pad(maxCols, 'right');
235
+ cols.forEach(function (c) {
236
+ var t = _this2.ce('td');
237
+
238
+ tr.appendChild(t);
239
+
240
+ if (c === '__pad__') {
241
+ t.textContent = '';
242
+ } else if (typeof c === 'string') {
243
+ t.textContent = c;
244
+ } else if (c.kind === 'none') {
245
+ t.textContent = '';
246
+ } else if (c.toCHTML) {
247
+ t.setAttribute('class', 'inner');
248
+ c.toCHTML(t);
249
+ }
250
+ });
251
+ } else if (row.kind === 'line') {
252
+ var _td = _this2.ce('td');
253
+
254
+ tr.appendChild(_td);
255
+
256
+ _td.setAttribute('colspan', maxCols + 1);
257
+
258
+ _td.setAttribute('class', 'mjx-line');
259
+
260
+ _td.textContent = '';
261
+ }
262
+ });
263
+ }
264
+ }]);
265
+ return CHTMLmstack;
266
+ }(_Wrapper.CHTMLWrapper);
267
+
268
+ exports.CHTMLmstack = CHTMLmstack;
269
+ CHTMLmstack.styles = {
270
+ 'mjx-mstack > table': {
271
+ 'line-height': 'initial',
272
+ border: 'solid 0px red',
273
+ 'border-spacing': '0em',
274
+ 'border-collapse': 'separate'
275
+ },
276
+ 'mjx-mstack > table > tr': {
277
+ 'line-height': 'initial'
278
+ },
279
+ 'mjx-mstack > table > tr > td': {
280
+ // padding: '1.2rem',
281
+ border: 'solid 0px blue',
282
+ 'font-family': 'sans-serif',
283
+ 'line-height': 'initial'
284
+ },
285
+ 'mjx-mstack > table > tr > td.inner': {
286
+ 'font-family': 'inherit'
287
+ },
288
+ 'mjx-mstack > table > tr > .mjx-line': {
289
+ padding: 0,
290
+ 'border-top': 'solid 1px black'
291
+ },
292
+ '.TEX-A': {
293
+ 'font-family': 'MJXZERO, MJXTEX !important'
294
+ }
295
+ };
296
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tc3RhY2svY2h0bWwuanMiXSwibmFtZXMiOlsicmVkdWNlVGV4dCIsImFjYyIsIm4iLCJub2RlIiwia2luZCIsInRleHQiLCJMaW5lIiwiUm93IiwiY29sdW1ucyIsIm9wZXJhdG9yIiwiY291bnQiLCJkaXJlY3Rpb24iLCJsZW5ndGgiLCJFcnJvciIsImRpZmYiLCJwYWRkaW5nIiwiXyIsInRpbWVzIiwibWFwIiwibWF0aE5vZGVUb0NoYXJBcnJheSIsIm1uIiwiY2hpbGROb2RlcyIsInJlZHVjZSIsInNwbGl0IiwidG9Db2x1bW5BcnJheSIsImNoaWxkIiwiY29uc29sZSIsIndhcm4iLCJ0b0NIVE1MIiwicm93U3RhY2siLCJmIiwiZmlyc3QiLCJub2RlcyIsInRhaWwiLCJmbGF0dGVuIiwidW5kZWZpbmVkIiwiZ2V0U3RhY2tEYXRhIiwibXN0YWNrIiwiY29tcGFjdCIsIkNIVE1MbXN0YWNrIiwiZmFjdG9yeSIsInBhcmVudCIsImNlIiwiYWRhcHRvciIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImJpbmQiLCJjaHRtbCIsInN0YW5kYXJkQ0hUTUxub2RlIiwic3RhY2tEYXRhIiwibWF4Q29scyIsInIiLCJ0YWJsZSIsImFwcGVuZENoaWxkIiwiZm9yRWFjaCIsInJvdyIsInRyIiwidGQiLCJzZXRBdHRyaWJ1dGUiLCJ0ZXh0Q29udGVudCIsImNvbHMiLCJwYWQiLCJjIiwidCIsIkNIVE1MV3JhcHBlciIsInN0eWxlcyIsImJvcmRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLEdBQUQsRUFBTUMsQ0FBTixFQUFZO0FBQzdCLE1BQUlBLENBQUMsQ0FBQ0MsSUFBRixJQUFVRCxDQUFDLENBQUNDLElBQUYsQ0FBT0MsSUFBUCxLQUFnQixNQUE5QixFQUFzQztBQUNwQ0gsSUFBQUEsR0FBRyxJQUFJQyxDQUFDLENB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QUFBQSxPQUFPLEVBQUUsQ0FENEI7QUFFckMsa0JBQWM7QUFGdUIsR0FuQnBCO0FBdUJuQixZQUFVO0FBQ1IsbUJBQWU7QUFEUDtBQXZCUyxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENIVE1MV3JhcHBlciB9IGZyb20gJ21hdGhqYXgtZnVsbC9qcy9vdXRwdXQvY2h0bWwvV3JhcHBlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCByZWR1Y2VUZXh0ID0gKGFjYywgbikgPT4ge1xuICBpZiAobi5ub2RlICYmIG4ubm9kZS5raW5kID09PSAndGV4dCcpIHtcbiAgICBhY2MgKz0gbi5ub2RlLnRleHQ7XG4gIH1cbiAgcmV0dXJuIGFjYztcbn07XG5cbmV4cG9ydCBjbGFzcyBMaW5lIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5raW5kID0gJ2xpbmUnO1xuICB9XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSb3cge1xuICBjb25zdHJ1Y3Rvcihjb2x1bW5zLCBvcGVyYXRvcikge1xuICAgIHRoaXMua2luZCA9ICdyb3cnO1xuICAgIHRoaXMub3BlcmF0b3IgPSBvcGVyYXRvcjtcbiAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zO1xuICB9XG5cbiAgcGFkKGNvdW50LCBkaXJlY3Rpb24gPSAncmlnaHQnKSB7XG4gICAgaWYgKGNvdW50IDwgdGhpcy5jb2x1bW5zLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdubycpO1xuICAgIH1cblxuICAgIGNvbnN0IGRpZmYgPSBjb3VudCAtIHRoaXMuY29sdW1ucy5sZW5ndGg7XG5cbiAgICBjb25zdCBwYWRkaW5nID0gXy50aW1lcyhkaWZmKS5tYXAoKCkgPT4gJ19fcGFkX18nKTtcbiAgICByZXR1cm4gZGlyZWN0aW9uID09PSAncmlnaHQnID8gWy4uLnBhZGRpbmcsIC4uLnRoaXMuY29sdW1uc10gOiBbLi4udGhpcy5jb2x1bW5zLCAuLi5wYWRkaW5nXTtcbiAgfVxufVxuXG5jb25zdCBtYXRoTm9kZVRvQ2hhckFycmF5ID0gKG1uKSA9PiB7XG4gIGNvbnN0IHRleHQgPSBtbi5jaGlsZE5vZGVzLnJlZHVjZShyZWR1Y2VUZXh0LCAnJyk7XG4gIHJldHVybiB0ZXh0LnNwbGl0KCcnKTtcbn07XG5cbi8qKlxuICogQ29udmVydCBjaGlsZCBhIGNvbHVtbiBlbnRyeVxuICogQHBhcmFtIHsqfSBjaGlsZFxuICogQHJldHVybiBhbiBhcnJheSBvZiBjb2x1bW4gY29udGVudFxuICovXG5jb25zdCB0b0NvbHVtbkFycmF5ID0gKGNoaWxkKSA9PiB7XG4gIGlmICghY2hpbGQgfHwgIWNoaWxkLmtpbmQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21zcm93Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignbXNyb3cgaW4gbXNyb3c/Jyk7XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21vJykge1xuICAgIC8vIFdlIGFyZSBnb2luZyB0byB0cmVhdCB0aGlzIG9wZXJhdG9yIGFzIGEgdGV4dCBhcnJheS5cbiAgICAvLyBJdCdzIHByb2JhYmx5IGdvaW5nIHRvIGJlIGEgZGVjaW1hbCBwb2ludFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS53YXJuKCdtbyB0aGF0IGlzIG5vdCAxc3Qgbm9kZSBpbiBtc3Jvdz8nKTtcbiAgICByZXR1cm4gbWF0aE5vZGVUb0NoYXJBcnJheShjaGlsZCk7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKCdtbyBtdXN0IGJlIGZpcnN0IGNoaWxkIG9mIG1zcm93Jyk7XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21uJykge1xuICAgIHJldHVybiBtYXRoTm9kZVRvQ2hhckFycmF5KGNoaWxkKTtcbiAgfVxuXG4gIGlmIChjaGlsZC50b0NIVE1MKSB7XG4gICAgcmV0dXJuIGNoaWxkO1xuICB9XG59O1xuXG4vKipcbiAqICBjb252ZXJ0IG1zdGFjayBjaHRtbCBjaGlsZE5vZGVzIGludG8gYSBSb3dcbiAqICBAcGFyYW0gY2hpbGQgY2h0bWwgY2hpbGQgbm9kZSBvZiBtc3RhY2tcbiAqICBAcmV0dXJuIFJvdyB8IExpbmVcbiAqL1xuY29uc3Qgcm93U3RhY2sgPSAoY2hpbGQpID0+IHtcbiAgaWYgKCFjaGlsZCB8fCAhY2hpbGQua2luZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjaGlsZC5raW5kID09PSAnbXNyb3cnKSB7XG4gICAgaWYgKCFjaGlsZC5jaGlsZE5vZGVzIHx8IGNoaWxkLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbmV3IFJvdyhbXSk7XG4gICAgfVxuICAgIGNvbnN0IGYgPSBfLmZpcnN0KGNoaWxkLmNoaWxkTm9kZXMpO1xuICAgIGNvbnN0IG5vZGVzID0gZiAmJiBmLmtpbmQgPT09ICdtbycgPyBfLnRhaWwoY2hpbGQuY2hpbGROb2RlcykgOiBjaGlsZC5jaGlsZE5vZGVzO1xuXG4gICAgY29uc3QgY29sdW1ucyA9IF8uZmxhdHRlbihub2Rlcy5tYXAodG9Db2x1bW5BcnJheSkpO1xuXG4gICAgcmV0dXJuIG5ldyBSb3coY29sdW1ucywgZi5raW5kID09PSAnbW8nID8gZiA6IHVuZGVmaW5lZCk7XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21uJykge1xuICAgIGNvbnN0IGNvbHVtbnMgPSBtYXRoTm9kZVRvQ2hhckFycmF5KGNoaWxkKTtcbiAgICByZXR1cm4gbmV3IFJvdyhjb2x1bW5zLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgaWYgKGNoaWxkLmtpbmQgPT09ICdtbycpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUud2FybignbW8gb24gaXRzIG93biByb3c/Jyk7XG4gICAgcmV0dXJuIG5ldyBSb3coW10sIGNoaWxkKTtcbiAgfVxuXG4gIGlmIChjaGlsZC5raW5kID09PSAnbXNsaW5lJykge1xuICAgIHJldHVybiBuZXcgTGluZSgpO1xuICB9XG5cbiAgaWYgKGNoaWxkLnRvQ0hUTUwpIHtcbiAgICByZXR1cm4gbmV3IFJvdyhbY2hpbGRdKTtcbiAgfVxufTtcblxuLyoqIGNvbnZlcnQgTWF0aEpheCBjaHRtbCB0cmVlIHRvIFJvd1tdXG4gKiBAcGFyYW0gbXN0YWNrIHRoZSByb290IG9mIHRoZSBtYXRoamF4IGNodG1sIHRyZWVcbiAqIEByZXR1cm4gUm93W11cbiAqL1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhY2tEYXRhID0gKG1zdGFjaykgPT4ge1xuICBpZiAoIW1zdGFjayB8fCAhbXN0YWNrLmNoaWxkTm9kZXMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIF8uY29tcGFjdChtc3RhY2suY2hpbGROb2Rlcy5tYXAocm93U3RhY2spKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBDSFRNTG1zdGFjayBleHRlbmRzIENIVE1MV3JhcHBlciB7XG4gIGNvbnN0cnVjdG9yKGZhY3RvcnksIG5vZGUsIHBhcmVudCA9IG51bGwpIHtcbiAgICBzdXBlcihmYWN0b3J5LCBub2RlLCBwYXJlbnQpO1xuXG4gICAgdGhpcy5jZSA9IHRoaXMuYWRhcHRvci5kb2N1bWVudC5jcmVhdGVFbGVtZW50LmJpbmQodGhpcy5hZGFwdG9yLmRvY3VtZW50KTtcbiAgfVxuXG4gIHRvQ0hUTUwocGFyZW50KSB7XG4gICAgY29uc3QgY2h0bWwgPSB0aGlzLnN0YW5kYXJkQ0hUTUxub2RlKHBhcmVudCk7XG5cbiAgICBjb25zdCBzdGFja0RhdGEgPSBnZXRTdGFja0RhdGEodGhpcyk7XG5cbiAgICAvLyBjb25zb2xlLmxvZygnc3RhY2tEYXRhJywgc3RhY2tEYXRhKTtcbiAgICBjb25zdCBtYXhDb2xzID0gc3RhY2tEYXRhLnJlZHVjZSgoYWNjLCByKSA9PiB7XG4gICAgICBpZiAociAmJiByLmNvbHVtbnMubGVuZ3RoID4gYWNjKSB7XG4gICAgICAgIGFjYyA9IHIuY29sdW1ucy5sZW5ndGg7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIDApO1xuXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmNlKCd0YWJsZScpO1xuICAgIGNodG1sLmFwcGVuZENoaWxkKHRhYmxlKTtcblxuICAgIHN0YWNrRGF0YS5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgIGNvbnN0IHRyID0gdGhpcy5jZSgndHInKTtcbiAgICAgIHRhYmxlLmFwcGVuZENoaWxkKHRyKTtcblxuICAgICAgaWYgKHJvdy5raW5kID09PSAncm93Jykge1xuICAgICAgICBjb25zdCB0ZCA9IHRoaXMuY2UoJ3RkJyk7XG4gICAgICAgIHRyLmFwcGVuZENoaWxkKHRkKTtcbiAgICAgICAgaWYgKHJvdy5vcGVyYXRvciAmJiByb3cub3BlcmF0b3IudG9DSFRNTCkge1xuICAgICAgICAgIHRkLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnaW5uZXInKTtcbiAgICAgICAgICByb3cub3BlcmF0b3IudG9DSFRNTCh0ZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGQudGV4dENvbnRlbnQgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFsaWduIHJpZ2h0IGZvciBub3c6XG4gICAgICAgIGNvbnN0IGNvbHMgPSByb3cucGFkKG1heENvbHMsICdyaWdodCcpO1xuICAgICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICBjb25zdCB0ID0gdGhpcy5jZSgndGQnKTtcbiAgICAgICAgICB0ci5hcHBlbmRDaGlsZCh0KTtcbiAgICAgICAgICBpZiAoYyA9PT0gJ19fcGFkX18nKSB7XG4gICAgICAgICAgICB0LnRleHRDb250ZW50ID0gJyc7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHQudGV4dENvbnRlbnQgPSBjO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYy5raW5kID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgIHQudGV4dENvbnRlbnQgPSAnJztcbiAgICAgICAgICB9IGVsc2UgaWYgKGMudG9DSFRNTCkge1xuICAgICAgICAgICAgdC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ2lubmVyJyk7XG4gICAgICAgICAgICBjLnRvQ0hUTUwodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAocm93LmtpbmQgPT09ICdsaW5lJykge1xuICAgICAgICBjb25zdCB0ZCA9IHRoaXMuY2UoJ3RkJyk7XG4gICAgICAgIHRyLmFwcGVuZENoaWxkKHRkKTtcbiAgICAgICAgdGQuc2V0QXR0cmlidXRlKCdjb2xzcGFuJywgbWF4Q29scyArIDEpO1xuICAgICAgICB0ZC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ21qeC1saW5lJyk7XG4gICAgICAgIHRkLnRleHRDb250ZW50ID0gJyc7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbkNIVE1MbXN0YWNrLnN0eWxlcyA9IHtcbiAgJ21qeC1tc3RhY2sgPiB0YWJsZSc6IHtcbiAgICAnbGluZS1oZWlnaHQnOiAnaW5pdGlhbCcsXG4gICAgYm9yZGVyOiAnc29saWQgMHB4IHJlZCcsXG4gICAgJ2JvcmRlci1zcGFjaW5nJzogJzBlbScsXG4gICAgJ2JvcmRlci1jb2xsYXBzZSc6ICdzZXBhcmF0ZScsXG4gIH0sXG4gICdtangtbXN0YWNrID4gdGFibGUgPiB0cic6IHtcbiAgICAnbGluZS1oZWlnaHQnOiAnaW5pdGlhbCcsXG4gIH0sXG4gICdtangtbXN0YWNrID4gdGFibGUgPiB0ciA+IHRkJzoge1xuICAgIC8vIHBhZGRpbmc6ICcxLjJyZW0nLFxuICAgIGJvcmRlcjogJ3NvbGlkIDBweCBibHVlJyxcbiAgICAnZm9udC1mYW1pbHknOiAnc2Fucy1zZXJpZicsXG4gICAgJ2xpbmUtaGVpZ2h0JzogJ2luaXRpYWwnLFxuICB9LFxuICAnbWp4LW1zdGFjayA+IHRhYmxlID4gdHIgPiB0ZC5pbm5lcic6IHtcbiAgICAnZm9udC1mYW1pbHknOiAnaW5oZXJpdCcsXG4gIH0sXG4gICdtangtbXN0YWNrID4gdGFibGUgPiB0ciA+IC5tangtbGluZSc6IHtcbiAgICBwYWRkaW5nOiAwLFxuICAgICdib3JkZXItdG9wJzogJ3NvbGlkIDFweCBibGFjaycsXG4gIH0sXG4gICcuVEVYLUEnOiB7XG4gICAgJ2ZvbnQtZmFtaWx5JzogJ01KWFpFUk8sIE1KWFRFWCAhaW1wb3J0YW50JyxcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mmlNodes = exports.chtmlNodes = void 0;
7
+
8
+ var _chtml = require("./chtml");
9
+
10
+ var _mml = require("./mml");
11
+
12
+ var chtmlNodes = {
13
+ mstack: _chtml.CHTMLmstack
14
+ };
15
+ exports.chtmlNodes = chtmlNodes;
16
+ var mmlNodes = {
17
+ mstack: _mml.MmlMstack,
18
+ msline: _mml.MmlMsline,
19
+ msrow: _mml.MmlMsrow,
20
+ none: _mml.MmlNone
21
+ };
22
+ exports.mmlNodes = mmlNodes;
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tc3RhY2svaW5kZXguanMiXSwibmFtZXMiOlsiY2h0bWxOb2RlcyIsIm1zdGFjayIsIkNIVE1MbXN0YWNrIiwibW1sTm9kZXMiLCJNbWxNc3RhY2siLCJtc2xpbmUiLCJNbWxNc2xpbmUiLCJtc3JvdyIsIk1tbE1zcm93Iiwibm9uZSIsIk1tbE5vbmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxJQUFNQSxVQUFVLEdBQUc7QUFDeEJDLEVBQUFBLE1BQU0sRUFBRUM7QUFEZ0IsQ0FBbkI7O0FBSUEsSUFBTUMsUUFBUSxHQUFHO0FBQ3RCRixFQUFBQSxNQUFNLEVBQUVHLGNBRGM7QUFFdEJDLEVBQUFBLE1BQU0sRUFBRUMsY0FGYztBQUd0QkMsRUFBQUEsS0FBSyxFQUFFQyxhQUhlO0FBSXRCQyxFQUFBQSxJQUFJLEVBQUVDO0FBSmdCLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0hUTUxtc3RhY2sgfSBmcm9tICcuL2NodG1sJztcbmltcG9ydCB7IE1tbE5vbmUsIE1tbE1zbGluZSwgTW1sTXN0YWNrLCBNbWxNc3JvdyB9IGZyb20gJy4vbW1sJztcblxuZXhwb3J0IGNvbnN0IGNodG1sTm9kZXMgPSB7XG4gIG1zdGFjazogQ0hUTUxtc3RhY2ssXG59O1xuXG5leHBvcnQgY29uc3QgbW1sTm9kZXMgPSB7XG4gIG1zdGFjazogTW1sTXN0YWNrLFxuICBtc2xpbmU6IE1tbE1zbGluZSxcbiAgbXNyb3c6IE1tbE1zcm93LFxuICBub25lOiBNbWxOb25lLFxufTtcbiJdfQ==
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.MmlNone = exports.MmlMstack = exports.MmlMsrow = exports.MmlMsline = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _MmlNode = require("mathjax-full/js/core/MmlTree/MmlNode");
21
+
22
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
+
24
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
25
+
26
+ var MmlNone = /*#__PURE__*/function (_AbstractMmlNode) {
27
+ (0, _inherits2["default"])(MmlNone, _AbstractMmlNode);
28
+
29
+ var _super = _createSuper(MmlNone);
30
+
31
+ function MmlNone() {
32
+ (0, _classCallCheck2["default"])(this, MmlNone);
33
+ return _super.apply(this, arguments);
34
+ }
35
+
36
+ (0, _createClass2["default"])(MmlNone, [{
37
+ key: "kind",
38
+ get: function get() {
39
+ return 'none';
40
+ }
41
+ }]);
42
+ return MmlNone;
43
+ }(_MmlNode.AbstractMmlNode);
44
+
45
+ exports.MmlNone = MmlNone;
46
+
47
+ var MmlMstack = /*#__PURE__*/function (_AbstractMmlNode2) {
48
+ (0, _inherits2["default"])(MmlMstack, _AbstractMmlNode2);
49
+
50
+ var _super2 = _createSuper(MmlMstack);
51
+
52
+ function MmlMstack() {
53
+ (0, _classCallCheck2["default"])(this, MmlMstack);
54
+ return _super2.apply(this, arguments);
55
+ }
56
+
57
+ (0, _createClass2["default"])(MmlMstack, [{
58
+ key: "kind",
59
+ get: function get() {
60
+ return 'mstack';
61
+ }
62
+ }]);
63
+ return MmlMstack;
64
+ }(_MmlNode.AbstractMmlNode);
65
+
66
+ exports.MmlMstack = MmlMstack;
67
+
68
+ var MmlMsrow = /*#__PURE__*/function (_AbstractMmlNode3) {
69
+ (0, _inherits2["default"])(MmlMsrow, _AbstractMmlNode3);
70
+
71
+ var _super3 = _createSuper(MmlMsrow);
72
+
73
+ function MmlMsrow() {
74
+ (0, _classCallCheck2["default"])(this, MmlMsrow);
75
+ return _super3.apply(this, arguments);
76
+ }
77
+
78
+ (0, _createClass2["default"])(MmlMsrow, [{
79
+ key: "kind",
80
+ get: function get() {
81
+ return 'msrow';
82
+ }
83
+ }]);
84
+ return MmlMsrow;
85
+ }(_MmlNode.AbstractMmlNode);
86
+
87
+ exports.MmlMsrow = MmlMsrow;
88
+
89
+ var MmlMsline = /*#__PURE__*/function (_AbstractMmlNode4) {
90
+ (0, _inherits2["default"])(MmlMsline, _AbstractMmlNode4);
91
+
92
+ var _super4 = _createSuper(MmlMsline);
93
+
94
+ function MmlMsline() {
95
+ (0, _classCallCheck2["default"])(this, MmlMsline);
96
+ return _super4.apply(this, arguments);
97
+ }
98
+
99
+ (0, _createClass2["default"])(MmlMsline, [{
100
+ key: "kind",
101
+ get: function get() {
102
+ return 'msline';
103
+ }
104
+ }]);
105
+ return MmlMsline;
106
+ }(_MmlNode.AbstractMmlNode);
107
+
108
+ exports.MmlMsline = MmlMsline;
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tc3RhY2svbW1sLmpzIl0sIm5hbWVzIjpbIk1tbE5vbmUiLCJBYnN0cmFjdE1tbE5vZGUiLCJNbWxNc3RhY2siLCJNbWxNc3JvdyIsIk1tbE1zbGluZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7SUFFYUEsTzs7Ozs7Ozs7Ozs7O1NBQ1gsZUFBVztBQUNULGFBQU8sTUFBUDtBQUNEOzs7RUFIMEJDLHdCOzs7O0lBTWhCQyxTOzs7Ozs7Ozs7Ozs7U0FDWCxlQUFXO0FBQ1QsYUFBTyxRQUFQO0FBQ0Q7OztFQUg0QkQsd0I7Ozs7SUFNbEJFLFE7Ozs7Ozs7Ozs7OztTQUNYLGVBQVc7QUFDVCxhQUFPLE9BQVA7QUFDRDs7O0VBSDJCRix3Qjs7OztJQUtqQkcsUzs7Ozs7Ozs7Ozs7O1NBQ1gsZUFBVztBQUNULGFBQU8sUUFBUDtBQUNEOzs7RUFINEJILHdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RNbWxOb2RlIH0gZnJvbSAnbWF0aGpheC1mdWxsL2pzL2NvcmUvTW1sVHJlZS9NbWxOb2RlJztcblxuZXhwb3J0IGNsYXNzIE1tbE5vbmUgZXh0ZW5kcyBBYnN0cmFjdE1tbE5vZGUge1xuICBnZXQga2luZCgpIHtcbiAgICByZXR1cm4gJ25vbmUnO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNbWxNc3RhY2sgZXh0ZW5kcyBBYnN0cmFjdE1tbE5vZGUge1xuICBnZXQga2luZCgpIHtcbiAgICByZXR1cm4gJ21zdGFjayc7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1tbE1zcm93IGV4dGVuZHMgQWJzdHJhY3RNbWxOb2RlIHtcbiAgZ2V0IGtpbmQoKSB7XG4gICAgcmV0dXJuICdtc3Jvdyc7XG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBNbWxNc2xpbmUgZXh0ZW5kcyBBYnN0cmFjdE1tbE5vZGUge1xuICBnZXQga2luZCgpIHtcbiAgICByZXR1cm4gJ21zbGluZSc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.wrapMath = exports.unWrapMath = exports.BracketTypes = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _PAIRS;
15
+
16
+ var BracketTypes = {};
17
+ exports.BracketTypes = BracketTypes;
18
+ BracketTypes.ROUND_BRACKETS = 'round_brackets';
19
+ BracketTypes.SQUARE_BRACKETS = 'square_brackets';
20
+ BracketTypes.DOLLAR = 'dollar';
21
+ BracketTypes.DOUBLE_DOLLAR = 'double_dollar';
22
+ var PAIRS = (_PAIRS = {}, (0, _defineProperty2["default"])(_PAIRS, BracketTypes.ROUND_BRACKETS, ['\\(', '\\)']), (0, _defineProperty2["default"])(_PAIRS, BracketTypes.SQUARE_BRACKETS, ['\\[', '\\]']), (0, _defineProperty2["default"])(_PAIRS, BracketTypes.DOLLAR, ['$', '$']), (0, _defineProperty2["default"])(_PAIRS, BracketTypes.DOUBLE_DOLLAR, ['$$', '$$']), _PAIRS);
23
+
24
+ var wrapMath = function wrapMath(content, wrapType) {
25
+ if (wrapType === BracketTypes.SQUARE_BRACKETS) {
26
+ console.warn('\\[...\\] is not supported yet'); // eslint-disable-line
27
+
28
+ wrapType = BracketTypes.ROUND_BRACKETS;
29
+ }
30
+
31
+ if (wrapType === BracketTypes.DOUBLE_DOLLAR) {
32
+ console.warn('$$...$$ is not supported yet'); // eslint-disable-line
33
+
34
+ wrapType = BracketTypes.DOLLAR;
35
+ }
36
+
37
+ var _ref = PAIRS[wrapType] || PAIRS[BracketTypes.ROUND_BRACKETS],
38
+ _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
39
+ start = _ref2[0],
40
+ end = _ref2[1];
41
+
42
+ return "".concat(start).concat(content).concat(end);
43
+ };
44
+
45
+ exports.wrapMath = wrapMath;
46
+
47
+ var unWrapMath = function unWrapMath(content) {
48
+ var displayStyleIndex = content.indexOf('\\displaystyle');
49
+
50
+ if (displayStyleIndex !== -1) {
51
+ console.warn('\\displaystyle is not supported - removing'); // eslint-disable-line
52
+
53
+ content = content.replace('\\displaystyle', '').trim();
54
+ }
55
+
56
+ if (content.startsWith('$$') && content.endsWith('$$')) {
57
+ console.warn('$$ syntax is not yet supported'); // eslint-disable-line
58
+
59
+ return {
60
+ unwrapped: content.substring(2, content.length - 2),
61
+ wrapType: BracketTypes.DOLLAR
62
+ };
63
+ }
64
+
65
+ if (content.startsWith('$') && content.endsWith('$')) {
66
+ return {
67
+ unwrapped: content.substring(1, content.length - 1),
68
+ wrapType: BracketTypes.DOLLAR
69
+ };
70
+ }
71
+
72
+ if (content.startsWith('\\[') && content.endsWith('\\]')) {
73
+ console.warn('\\[..\\] syntax is not yet supported'); // eslint-disable-line
74
+
75
+ return {
76
+ unwrapped: content.substring(2, content.length - 2),
77
+ wrapType: BracketTypes.ROUND_BRACKETS
78
+ };
79
+ }
80
+
81
+ if (content.startsWith('\\(') && content.endsWith('\\)')) {
82
+ return {
83
+ unwrapped: content.substring(2, content.length - 2),
84
+ wrapType: BracketTypes.ROUND_BRACKETS
85
+ };
86
+ }
87
+
88
+ return {
89
+ unwrapped: content,
90
+ wrapType: BracketTypes.ROUND_BRACKETS
91
+ };
92
+ };
93
+
94
+ exports.unWrapMath = unWrapMath;
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub3JtYWxpemF0aW9uLmpzIl0sIm5hbWVzIjpbIkJyYWNrZXRUeXBlcyIsIlJPVU5EX0JSQUNLRVRTIiwiU1FVQVJFX0JSQUNLRVRTIiwiRE9MTEFSIiwiRE9VQkxFX0RPTExBUiIsIlBBSVJTIiwid3JhcE1hdGgiLCJjb250ZW50Iiwid3JhcFR5cGUiLCJjb25zb2xlIiwid2FybiIsInN0YXJ0IiwiZW5kIiwidW5XcmFwTWF0aCIsImRpc3BsYXlTdHlsZUluZGV4IiwiaW5kZXhPZiIsInJlcGxhY2UiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwidW53cmFwcGVkIiwic3Vic3RyaW5nIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBTyxJQUFNQSxZQUFZLEdBQUcsRUFBckI7O0FBRVBBLFlBQVksQ0FBQ0MsY0FBYixHQUE4QixnQkFBOUI7QUFDQUQsWUFBWSxDQUFDRSxlQUFiLEdBQStCLGlCQUEvQjtBQUNBRixZQUFZLENBQUNHLE1BQWIsR0FBc0IsUUFBdEI7QUFDQUgsWUFBWSxDQUFDSSxhQUFiLEdBQTZCLGVBQTdCO0FBRUEsSUFBTUMsS0FBSywwREFDUkwsWUFBWSxDQUFDQyxjQURMLEVBQ3NCLENBQUMsS0FBRCxFQUFRLEtBQVIsQ0FEdEIsNENBRVJELFlBQVksQ0FBQ0UsZUFGTCxFQUV1QixDQUFDLEtBQUQsRUFBUSxLQUFSLENBRnZCLDRDQUdSRixZQUFZLENBQUNHLE1BSEwsRUFHYyxDQUFDLEdBQUQsRUFBTSxHQUFOLENBSGQsNENBSVJILFlBQVksQ0FBQ0ksYUFKTCxFQUlxQixDQUFDLElBQUQsRUFBTyxJQUFQLENBSnJCLFVBQVg7O0FBT08sSUFBTUUsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0MsT0FBRCxFQUFVQyxRQUFWLEVBQXVCO0FBQzdDLE1BQUlBLFFBQVEsS0FBS1IsWUFBWSxDQUFDRSxlQUE5QixFQUErQztBQUM3Q08sSUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsZ0NB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bEIsR0FBUDtBQUlELENBeENNIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJyYWNrZXRUeXBlcyA9IHt9O1xuXG5CcmFja2V0VHlwZXMuUk9VTkRfQlJBQ0tFVFMgPSAncm91bmRfYnJhY2tldHMnO1xuQnJhY2tldFR5cGVzLlNRVUFSRV9CUkFDS0VUUyA9ICdzcXVhcmVfYnJhY2tldHMnO1xuQnJhY2tldFR5cGVzLkRPTExBUiA9ICdkb2xsYXInO1xuQnJhY2tldFR5cGVzLkRPVUJMRV9ET0xMQVIgPSAnZG91YmxlX2RvbGxhcic7XG5cbmNvbnN0IFBBSVJTID0ge1xuICBbQnJhY2tldFR5cGVzLlJPVU5EX0JSQUNLRVRTXTogWydcXFxcKCcsICdcXFxcKSddLFxuICBbQnJhY2tldFR5cGVzLlNRVUFSRV9CUkFDS0VUU106IFsnXFxcXFsnLCAnXFxcXF0nXSxcbiAgW0JyYWNrZXRUeXBlcy5ET0xMQVJdOiBbJyQnLCAnJCddLFxuICBbQnJhY2tldFR5cGVzLkRPVUJMRV9ET0xMQVJdOiBbJyQkJywgJyQkJ10sXG59O1xuXG5leHBvcnQgY29uc3Qgd3JhcE1hdGggPSAoY29udGVudCwgd3JhcFR5cGUpID0+IHtcbiAgaWYgKHdyYXBUeXBlID09PSBCcmFja2V0VHlwZXMuU1FVQVJFX0JSQUNLRVRTKSB7XG4gICAgY29uc29sZS53YXJuKCdcXFxcWy4uLlxcXFxdIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICB3cmFwVHlwZSA9IEJyYWNrZXRUeXBlcy5ST1VORF9CUkFDS0VUUztcbiAgfVxuICBpZiAod3JhcFR5cGUgPT09IEJyYWNrZXRUeXBlcy5ET1VCTEVfRE9MTEFSKSB7XG4gICAgY29uc29sZS53YXJuKCckJC4uLiQkIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICB3cmFwVHlwZSA9IEJyYWNrZXRUeXBlcy5ET0xMQVI7XG4gIH1cblxuICBjb25zdCBbc3RhcnQsIGVuZF0gPSBQQUlSU1t3cmFwVHlwZV0gfHwgUEFJUlNbQnJhY2tldFR5cGVzLlJPVU5EX0JSQUNLRVRTXTtcbiAgcmV0dXJuIGAke3N0YXJ0fSR7Y29udGVudH0ke2VuZH1gO1xufTtcblxuZXhwb3J0IGNvbnN0IHVuV3JhcE1hdGggPSAoY29udGVudCkgPT4ge1xuICBjb25zdCBkaXNwbGF5U3R5bGVJbmRleCA9IGNvbnRlbnQuaW5kZXhPZignXFxcXGRpc3BsYXlzdHlsZScpO1xuICBpZiAoZGlzcGxheVN0eWxlSW5kZXggIT09IC0xKSB7XG4gICAgY29uc29sZS53YXJuKCdcXFxcZGlzcGxheXN0eWxlIGlzIG5vdCBzdXBwb3J0ZWQgLSByZW1vdmluZycpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgY29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgnXFxcXGRpc3BsYXlzdHlsZScsICcnKS50cmltKCk7XG4gIH1cblxuICBpZiAoY29udGVudC5zdGFydHNXaXRoKCckJCcpICYmIGNvbnRlbnQuZW5kc1dpdGgoJyQkJykpIHtcbiAgICBjb25zb2xlLndhcm4oJyQkIHN5bnRheCBpcyBub3QgeWV0IHN1cHBvcnRlZCcpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgcmV0dXJuIHtcbiAgICAgIHVud3JhcHBlZDogY29udGVudC5zdWJzdHJpbmcoMiwgY29udGVudC5sZW5ndGggLSAyKSxcbiAgICAgIHdyYXBUeXBlOiBCcmFja2V0VHlwZXMuRE9MTEFSLFxuICAgIH07XG4gIH1cbiAgaWYgKGNvbnRlbnQuc3RhcnRzV2l0aCgnJCcpICYmIGNvbnRlbnQuZW5kc1dpdGgoJyQnKSkge1xuICAgIHJldHVybiB7XG4gICAgICB1bndyYXBwZWQ6IGNvbnRlbnQuc3Vic3RyaW5nKDEsIGNvbnRlbnQubGVuZ3RoIC0gMSksXG4gICAgICB3cmFwVHlwZTogQnJhY2tldFR5cGVzLkRPTExBUixcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbnRlbnQuc3RhcnRzV2l0aCgnXFxcXFsnKSAmJiBjb250ZW50LmVuZHNXaXRoKCdcXFxcXScpKSB7XG4gICAgY29uc29sZS53YXJuKCdcXFxcWy4uXFxcXF0gc3ludGF4IGlzIG5vdCB5ZXQgc3VwcG9ydGVkJyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICByZXR1cm4ge1xuICAgICAgdW53cmFwcGVkOiBjb250ZW50LnN1YnN0cmluZygyLCBjb250ZW50Lmxlbmd0aCAtIDIpLFxuICAgICAgd3JhcFR5cGU6IEJyYWNrZXRUeXBlcy5ST1VORF9CUkFDS0VUUyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbnRlbnQuc3RhcnRzV2l0aCgnXFxcXCgnKSAmJiBjb250ZW50LmVuZHNXaXRoKCdcXFxcKScpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVud3JhcHBlZDogY29udGVudC5zdWJzdHJpbmcoMiwgY29udGVudC5sZW5ndGggLSAyKSxcbiAgICAgIHdyYXBUeXBlOiBCcmFja2V0VHlwZXMuUk9VTkRfQlJBQ0tFVFMsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdW53cmFwcGVkOiBjb250ZW50LFxuICAgIHdyYXBUeXBlOiBCcmFja2V0VHlwZXMuUk9VTkRfQlJBQ0tFVFMsXG4gIH07XG59O1xuIl19