PageSourceSearch

https://spec.commonmark.org/dingus/commonmark.js

js commonmark.org collected 2026-09-24 06:21:54 UTC 422,534 bytes, 11,420 lines download raw bytes

1/* commonmark 0.31.0 https://github.com/commonmark/commonmark.js @license BSD3 */
2(function (global, factory) {
3    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4    typeof define === 'function' && define.amd ? define(['exports'], factory) :
5    (global = global || self, factory(global.commonmark = {}));
6}(this, (function (exports) { 'use strict';
7
8    function isContainer(node) {
9        switch (node._type) {
10            case "document":
11            case "block_quote":
12            case "list":
13            case "item":
14            case "paragraph":
15            case "heading":
16            case "emph":
17            case "strong":
18            case "link":
19            case "image":
20            case "custom_inline":
21            case "custom_block":
22                return true;
23            default:
24                return false;
25        }
26    }
27
28    var resumeAt = function(node, entering) {
29        this.current = node;
30        this.entering = entering === true;
31    };
32
33    var next = function() {
34        var cur = this.current;
35        var entering = this.entering;
36
37        if (cur === null) {
38            return null;
39        }
40
41        var container = isContainer(cur);
42
43        if (entering && container) {
44            if (cur._firstChild) {
45                this.current = cur._firstChild;
46                this.entering = true;
47            } else {
48                // stay on node but exit
49                this.entering = false;
50            }
51        } else if (cur === this.root) {
52            this.current = null;
53        } else if (cur._next === null) {
54            this.current = cur._parent;
55            this.entering = false;
56        } else {
57            this.current = cur._next;
58            this.entering = true;
59        }
60
61        return { entering: entering, node: cur };
62    };
63
64    var NodeWalker = function(root) {
65        return {
66            current: root,
67            root: root,
68            entering: true,
69            next: next,
70            resumeAt: resumeAt
71        };
72    };
73
74    var Node = function(nodeType, sourcepos) {
75        this._type = nodeType;
76        this._parent = null;
77        this._firstChild = null;
78        this._lastChild = null;
79        this._prev = null;
80        this._next = null;
81        this._sourcepos = sourcepos;
82        this._open = true;
83        this._string_content = null;
84        this._literal = null;
85        this._listData = {};
86        this._info = null;
87        this._destination = null;
88        this._title = null;
89        this._isFenced = false;
90        this._fenceChar = null;
91        this._fenceLength = 0;
92        this._fenceOffset = null;
93        this._level = null;
94        this._onEnter = null;
95        this._onExit = null;
96    };
97
98    var proto = Node.prototype;
99
100    Object.defineProperty(proto, "isContainer", {
101        get: function() {
102            return isContainer(this);
103        }
104    });
105
106    Object.defineProperty(proto, "type", {
107        get: function() {
108            return this._type;
109        }
110    });
111
112    Object.defineProperty(proto, "firstChild", {
113        get: function() {
114            return this._firstChild;
115        }
116    });
117
118    Object.defineProperty(proto, "lastChild", {
119        get: function() {
120            return this._lastChild;
121        }
122    });
123
124    Object.defineProperty(proto, "next", {
125        get: function() {
126            return this._next;
127        }
128    });
129
130    Object.defineProperty(proto, "prev", {
131        get: function() {
132            return this._prev;
133        }
134    });
135
136    Object.defineProperty(proto, "parent", {
137        get: function() {
138            return this._parent;
139        }
140    });
141
142    Object.defineProperty(proto, "sourcepos", {
143        get: function() {
144            return this._sourcepos;
145        }
146    });
147
148    Object.defineProperty(proto, "literal", {
149        get: function() {
150            return this._literal;
151        },
152        set: function(s) {
153            this._literal = s;
154        }
155    });
156
157    Object.defineProperty(proto, "destination", {
158        get: function() {
159            return this._destination;
160        },
161        set: function(s) {
162            this._destination = s;
163        }
164    });
165
166    Object.defineProperty(proto, "title", {
167        get: function() {
168            return this._title;
169        },
170        set: function(s) {
171            this._title = s;
172        }
173    });
174
175    Object.defineProperty(proto, "info", {
176        get: function() {
177            return this._info;
178        },
179        set: function(s) {
180            this._info = s;
181        }
182    });
183
184    Object.defineProperty(proto, "level", {
185        get: function() {
186            return this._level;
187        },
188        set: function(s) {
189            this._level = s;
190        }
191    });
192
193    Object.defineProperty(proto, "listType", {
194        get: function() {
195            return this._listData.type;
196        },
197        set: function(t) {
198            this._listData.type = t;
199        }
200    });
201
202    Object.defineProperty(proto, "listTight", {
203        get: function() {
204            return this._listData.tight;
205        },
206        set: function(t) {
207            this._listData.tight = t;
208        }
209    });
210
211    Object.defineProperty(proto, "listStart", {
212        get: function() {
213            return this._listData.start;
214        },
215        set: function(n) {
216            this._listData.start = n;
217        }
218    });
219
220    Object.defineProperty(proto, "listDelimiter", {
221        get: function() {
222            return this._listData.delimiter;
223        },
224        set: function(delim) {
225            this._listData.delimiter = delim;
226        }
227    });
228
229    Object.defineProperty(proto, "onEnter", {
230        get: function() {
231            return this._onEnter;
232        },
233        set: function(s) {
234            this._onEnter = s;
235        }
236    });
237
238    Object.defineProperty(proto, "onExit", {
239        get: function() {
240            return this._onExit;
241        },
242        set: function(s) {
243            this._onExit = s;
244        }
245    });
246
247    Node.prototype.appendChild = function(child) {
248        child.unlink();
249        child._parent = this;
250        if (this._lastChild) {
251            this._lastChild._next = child;
252            child._prev = this._lastChild;
253            this._lastChild = child;
254        } else {
255            this._firstChild = child;
256            this._lastChild = child;
257        }
258    };
259
260    Node.prototype.prependChild = function(child) {
261        child.unlink();
262        child._parent = this;
263        if (this._firstChild) {
264            this._firstChild._prev = child;
265            child._next = this._firstChild;
266            this._firstChild = child;
267        } else {
268            this._firstChild = child;
269            this._lastChild = child;
270        }
271    };
272
273    Node.prototype.unlink = function() {
274        if (this._prev) {
275            this._prev._next = this._next;
276        } else if (this._parent) {
277            this._parent._firstChild = this._next;
278        }
279        if (this._next) {
280            this._next._prev = this._prev;
281        } else if (this._parent) {
282            this._parent._lastChild = this._prev;
283        }
284        this._parent = null;
285        this._next = null;
286        this._prev = null;
287    };
288
289    Node.prototype.insertAfter = function(sibling) {
290        sibling.unlink();
291        sibling._next = this._next;
292        if (sibling._next) {
293            sibling._next._prev = sibling;
294        }
295        sibling._prev = this;
296        this._next = sibling;
297        sibling._parent = this._parent;
298        if (!sibling._next) {
299            sibling._parent._lastChild = sibling;
300        }
301    };
302
303    Node.prototype.insertBefore = function(sibling) {
304        sibling.unlink();
305        sibling._prev = this._prev;
306        if (sibling._prev) {
307            sibling._prev._next = sibling;
308        }
309        sibling._next = this;
310        this._prev = sibling;
311        sibling._parent = this._parent;
312        if (!sibling._prev) {
313            sibling._parent._firstChild = sibling;
314        }
315    };
316
317    Node.prototype.walker = function() {
318        var walker = new NodeWalker(this);
319        return walker;
320    };
321
322    /* Example of use of walker:
323
324     var walker = w.walker();
325     var event;
326
327     while (event = walker.next()) {
328     console.log(event.entering, event.node.type);
329     }
330
331     */
332
333    var encodeCache = {};
334
335
336    // Create a lookup array where anything but characters in `chars` string
337    // and alphanumeric chars is percent-encoded.
338    //
339    function getEncodeCache(exclude) {
340      var i, ch, cache = encodeCache[exclude];
341      if (cache) { return cache; }
342
343      cache = encodeCache[exclude] = [];
344
345      for (i = 0; i < 128; i++) {
346        ch = String.fromCharCode(i);
347
348        if (/^[0-9a-z]$/i.test(ch)) {
349          // always allow unencoded alphanumeric characters
350          cache.push(ch);
351        } else {
352          cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));
353        }
354      }
355
356      for (i = 0; i < exclude.length; i++) {
357        cache[exclude.charCodeAt(i)] = exclude[i];
358      }
359
360      return cache;
361    }
362
363
364    // Encode unsafe characters with percent-encoding, skipping already
365    // encoded sequences.
366    //
367    //  - string       - string to encode
368    //  - exclude      - list of characters to ignore (in addition to a-zA-Z0-9)
369    //  - keepEscaped  - don't encode '%' in a correct escape sequence (default: true)
370    //
371    function encode(string, exclude, keepEscaped) {
372      var i, l, code, nextCode, cache,
373          result = '';
374
375      if (typeof exclude !== 'string') {
376        // encode(string, keepEscaped)
377        keepEscaped  = exclude;
378        exclude = encode.defaultChars;
379      }
380
381      if (typeof keepEscaped === 'undefined') {
382        keepEscaped = true;
383      }
384
385      cache = getEncodeCache(exclude);
386
387      for (i = 0, l = string.length; i < l; i++) {
388        code = string.charCodeAt(i);
389
390        if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {
391          if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {
392            result += string.slice(i, i + 3);
393            i += 2;
394            continue;
395          }
396        }
397
398        if (code < 128) {
399          result += cache[code];
400          continue;
401        }
402
403        if (code >= 0xD800 && code <= 0xDFFF) {
404          if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {
405            nextCode = string.charCodeAt(i + 1);
406            if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {
407              result += encodeURIComponent(string[i] + string[i + 1]);
408              i++;
409              continue;
410            }
411          }
412          result += '%EF%BF%BD';
413          continue;
414        }
415
416        result += encodeURIComponent(string[i]);
417      }
418
419      return result;
420    }
421
422    encode.defaultChars   = ";/?:@&=+$,-_.!~*'()#";
423    encode.componentChars = "-_.!~*'()";
424
425
426    var encode_1 = encode;
427
428    var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
429
430    function unwrapExports (x) {
431    	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
432    }
433
434    function createCommonjsModule(fn, module) {
435    	return module = { exports: {} }, fn(module, module.exports), module.exports;
436    }
437
438    function getCjsExportFromNamespace (n) {
439    	return n && n['default'] || n;
440    }
441
442    var decodeDataHtml = createCommonjsModule(function (module, exports) {
443    Object.defineProperty(exports, "__esModule", { value: true });
444    // Generated using scripts/write-decode-map.ts
445    // prettier-ignore
446    exports.default = new Uint16Array([14866, 60, 237, 340, 721, 1312, 1562, 1654, 1838, 1957, 2183, 2239, 2301, 2958, 3037, 3893, 4123, 4298, 4330, 4801, 5191, 5395, 5752, 5903, 5943, 5972, 6050, 0, 0, 0, 0, 0, 0, 6135, 6565, 7422, 8183, 8738, 9242, 9503, 9938, 10189, 10573, 10637, 10715, 11950, 12246, 13539, 13950, 14445, 14533, 15364, 16514, 16980, 17390, 17763, 17849, 18036, 18125, 4096, 69, 77, 97, 98, 99, 102, 103, 108, 109, 110, 111, 112, 114, 115, 116, 117, 92, 100, 106, 115, 122, 137, 142, 151, 157, 163, 167, 182, 196, 204, 220, 229, 108, 105, 103, 33024, 198, 59, 32768, 198, 80, 33024, 38, 59, 32768, 38, 99, 117, 116, 101, 33024, 193, 59, 32768, 193, 114, 101, 118, 101, 59, 32768, 258, 512, 105, 121, 127, 134, 114, 99, 33024, 194, 59, 32768, 194, 59, 32768, 1040, 114, 59, 32896, 55349, 56580, 114, 97, 118, 101, 33024, 192, 59, 32768, 192, 112, 104, 97, 59, 32768, 913, 97, 99, 114, 59, 32768, 256, 100, 59, 32768, 10835, 512, 103, 112, 172, 177, 111, 110, 59, 32768, 260, 102, 59, 32896, 55349, 56632, 112, 108, 121, 70, 117, 110, 99, 116, 105, 111, 110, 59, 32768, 8289, 105, 110, 103, 33024, 
446197, 59, 32768, 197, 512, 99, 115, 209, 214, 114, 59, 32896, 55349, 56476, 105, 103, 110, 59, 32768, 8788, 105, 108, 100, 101, 33024, 195, 59, 32768, 195, 109, 108, 33024, 196, 59, 32768, 196, 2048, 97, 99, 101, 102, 111, 114, 115, 117, 253, 278, 282, 310, 315, 321, 327, 332, 512, 99, 114, 258, 267, 107, 115, 108, 97, 115, 104, 59, 32768, 8726, 583, 271, 274, 59, 32768, 10983, 101, 100, 59, 32768, 8966, 121, 59, 32768, 1041, 768, 99, 114, 116, 289, 296, 306, 97, 117, 115, 101, 59, 32768, 8757, 110, 111, 117, 108, 108, 105, 115, 59, 32768, 8492, 97, 59, 32768, 914, 114, 59, 32896, 55349, 56581, 112, 102, 59, 32896, 55349, 56633, 101, 118, 101, 59, 32768, 728, 99, 114, 59, 32768, 8492, 109, 112, 101, 113, 59, 32768, 8782, 3584, 72, 79, 97, 99, 100, 101, 102, 104, 105, 108, 111, 114, 115, 117, 368, 373, 380, 426, 461, 466, 487, 491, 495, 533, 593, 695, 701, 707, 99, 121, 59, 32768, 1063, 80, 89, 33024, 169, 59, 32768, 169, 768, 99, 112, 121, 387, 393, 419, 117, 116, 101, 59, 32768, 262, 512, 59, 105, 398, 400, 32768, 8914, 116, 97, 108, 68, 105, 102, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 32768, 8517, 108, 101, 121, 115, 59, 32768, 8493, 1024, 97, 101, 105, 111, 435, 441, 449, 454, 114, 111, 110, 59, 32768, 268, 100, 105, 108, 33024, 199, 59, 32768, 199, 114, 99, 59, 32768, 264, 110, 105, 110, 116, 59, 32768, 8752, 111, 116, 59, 32768, 266, 512, 100, 110, 471, 478, 105, 108, 108, 97, 59, 32768, 184, 116, 101, 114, 68, 111, 116, 59, 32768, 183, 114, 59, 32768, 8493, 105, 59, 32768, 935, 114, 99, 108, 101, 1024, 68, 77, 80, 84, 508, 513, 520, 526, 111, 116, 59, 32768, 8857, 105, 110, 117, 115, 59, 32768, 8854, 108, 117, 115, 59, 32768, 8853, 105, 109, 101, 115, 59, 32768, 8855, 111, 512, 99, 115, 539, 562, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8754, 101, 67, 117, 114, 108, 121, 512, 68, 81, 573, 586, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 32768, 8221, 117, 111, 116, 101, 59, 32768, 8217, 1024, 108, 110, 112, 117, 602, 614, 648, 664, 111, 110, 512, 59, 101, 609, 611, 32768, 8759, 59, 32768, 10868, 768, 103, 105, 116, 621, 629, 634, 114, 117, 101, 110, 116, 59, 32768, 8801, 110, 116, 59, 32768, 8751, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8750, 512, 102, 114, 653, 656, 59, 32768, 8450, 111, 100, 117, 99, 116, 59, 32768, 8720, 110, 116, 101, 114, 67, 108, 111, 99, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8755, 111, 115, 115, 59, 32768, 10799, 99, 114, 59, 32896, 55349, 56478, 112, 512, 59, 67, 713, 715, 32768, 8915, 97, 112, 59, 32768, 8781, 2816, 68, 74, 83, 90, 97, 99, 101, 102, 105, 111, 115, 743, 758, 763, 768, 773, 795, 809, 821, 826, 910, 1295, 512, 59, 111, 748, 750, 32768, 8517, 116, 114, 97, 104, 100, 59, 32768, 10513, 99, 121, 59, 32768, 1026, 99, 121, 59, 32768, 1029, 99, 121, 59, 32768, 1039, 768, 103, 114, 115, 780, 786, 790, 103, 101, 114, 59, 32768, 8225, 114, 59, 32768, 8609, 104, 118, 59, 32768, 10980, 512, 97, 121, 800, 806, 114, 111, 110, 59, 32768, 270, 59, 32768, 1044, 108, 512, 59, 116, 815, 817, 32768, 8711, 97, 59, 32768, 916, 114, 59, 32896, 55349, 56583, 512, 97, 102, 831, 897, 512, 99, 109, 836, 891, 114, 105, 116, 105, 99, 97, 108, 1024, 65, 68, 71, 84, 852, 859, 877, 884, 99, 117, 116, 101, 59, 32768, 180, 111, 581, 864, 867, 59, 32768, 729, 98, 108, 101, 65, 99, 117, 116, 101, 59, 32768, 733, 114, 97, 118, 101, 59, 32768, 96, 105, 108, 100, 101, 59, 32768, 732, 111, 110, 100, 59, 32768, 8900, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 32768, 8518, 2113, 920, 0, 0, 0, 925, 946, 0, 1139, 102, 59, 32896, 55349, 56635, 768, 59, 68, 69, 931, 933, 938, 32768, 168, 111, 116, 59, 32768, 8412, 113, 117, 97, 108, 59, 32768, 8784, 98, 108, 101, 1536, 67, 68, 76, 82, 85, 86, 961, 978, 996, 1080, 1101, 1125, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8751, 111, 1093, 985, 0, 0, 988, 59, 32768, 168, 110, 65, 114, 114, 111, 119, 59, 32768, 8659, 512, 101, 111, 1001, 1034, 102, 116, 768, 65, 82, 84, 1010, 1017, 1029, 114, 114, 111, 119, 59, 32768, 8656, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8660, 101, 101, 59, 32768, 10980, 110, 103, 512, 76, 82, 1041, 1068, 101, 102, 116, 512, 65, 82, 1049, 1056, 114, 114, 111, 119, 59, 32768, 10232, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10234, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10233, 105, 103, 104, 116, 512, 65, 84, 1089, 1096, 114, 114, 111, 119, 59, 32768, 8658, 101, 101, 59, 32768, 8872, 112, 1042, 1108, 0, 0, 1115, 114, 114, 111, 119, 59, 32768, 8657, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8661, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 32768, 8741, 110, 1536, 65, 66, 76, 82, 84, 97, 1152, 1179, 1186, 1236, 1272, 1288, 114, 114, 111, 119, 768, 59, 66, 85, 1163, 1165, 1170, 32768, 8595, 97, 114, 59, 32768, 10515, 112, 65, 114, 114, 111, 119, 59, 32768, 8693, 114, 101, 118, 101, 59, 32768, 785, 101, 102, 116, 1315, 1196, 0, 1209, 0, 1220, 105, 103, 104, 116, 86, 101, 99, 116, 111, 114, 59, 32768, 10576, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10590, 101, 99, 116, 111, 114, 512, 59, 66, 1229, 1231, 32768, 8637, 97, 114, 59, 32768, 10582, 105, 103, 104, 116, 805, 1245, 0, 1256, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10591, 101, 99, 116, 111, 114, 512, 59, 66, 1265, 1267, 32768, 8641, 97, 114, 59, 32768, 10583, 101, 101, 512, 59, 65, 1279, 1281, 32768, 8868, 114, 114, 111, 119, 59, 32768, 8615, 114, 114, 111, 119, 59, 32768, 8659, 512, 99, 116, 1300, 1305, 114, 59, 32896, 55349, 56479, 114, 111, 107, 59, 32768, 272, 4096, 78, 84, 97, 99, 100, 102, 103, 108, 109, 111, 112, 113, 115, 116, 117, 120, 1344, 1348, 1354, 1363, 1386, 1391, 1396, 1405, 1413, 1460, 1475, 1483, 1514, 1527, 1531, 1538, 71, 59, 32768, 330, 72, 33024, 208, 59, 32768, 208, 99, 117, 116, 101, 33024, 201, 59, 32768, 201, 768, 97, 105, 121, 1370, 1376, 1383, 114, 111, 110, 59, 32768, 282, 114, 99, 33024, 202, 59, 32768, 202, 59, 32768, 1069, 111, 116, 59, 32768, 278, 114, 59, 32896, 55349, 56584, 114, 97, 118, 101, 33024, 200, 59, 32768, 200, 101, 109, 101, 110, 116, 59, 32768, 8712, 512, 97, 112, 1418, 1423, 99, 114, 59, 32768, 274, 116, 121, 1060, 1431, 0, 0, 1444, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9723, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9643, 512, 103, 112, 1465, 1470, 111, 110, 59, 32768, 280, 102, 59, 32896, 55349, 56636, 115, 105, 108, 111, 110, 59, 32768, 917, 117, 512, 97, 105, 1489, 1504, 108, 512, 59, 84, 1495, 1497, 32768, 10869, 105, 108, 100, 101, 59, 32768, 8770, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 8652, 512, 99, 105, 1519, 1523, 114, 59, 32768, 8496, 109, 59, 32768, 10867, 97, 59, 32768, 919, 109, 108, 33024, 203, 59, 32768, 203, 512, 105, 112, 1543, 1549, 115, 116, 115, 59, 32768, 8707, 111, 110, 101, 110, 116, 105, 97, 108, 69, 59, 32768, 8519, 1280, 99, 102, 105, 111, 115, 1572, 1576, 1581, 1620, 1648, 121, 59, 32768, 1060, 114, 59, 32896, 55349, 56585, 108, 108, 101, 100, 1060, 1591, 0, 0, 1604, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9724, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9642, 1601, 1628, 0, 1633, 0, 0, 1639, 102, 59, 32896, 55349, 56637, 65, 108, 108, 59, 32768, 8704, 114, 105, 101, 114, 116, 114, 102, 59, 32768, 8497, 99, 114, 59, 32768, 8497, 3072, 74, 84, 97, 98, 99, 100, 102, 103, 111, 114, 115, 116, 1678, 1683, 1688, 1701, 1708, 1729, 1734, 1739, 1742, 1748, 1828, 1834, 99, 121, 59, 32768, 1027, 33024, 62, 59, 32768, 62, 109, 109, 97, 512, 59, 100, 1696, 1698, 32768, 915, 59, 32768, 988, 114, 101, 118, 101, 59, 32768, 28
4466, 768, 101, 105, 121, 1715, 1721, 1726, 100, 105, 108, 59, 32768, 290, 114, 99, 59, 32768, 284, 59, 32768, 1043, 111, 116, 59, 32768, 288, 114, 59, 32896, 55349, 56586, 59, 32768, 8921, 112, 102, 59, 32896, 55349, 56638, 101, 97, 116, 101, 114, 1536, 69, 70, 71, 76, 83, 84, 1766, 1783, 1794, 1803, 1809, 1821, 113, 117, 97, 108, 512, 59, 76, 1775, 1777, 32768, 8805, 101, 115, 115, 59, 32768, 8923, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8807, 114, 101, 97, 116, 101, 114, 59, 32768, 10914, 101, 115, 115, 59, 32768, 8823, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 10878, 105, 108, 100, 101, 59, 32768, 8819, 99, 114, 59, 32896, 55349, 56482, 59, 32768, 8811, 2048, 65, 97, 99, 102, 105, 111, 115, 117, 1854, 1861, 1874, 1880, 1884, 1897, 1919, 1934, 82, 68, 99, 121, 59, 32768, 1066, 512, 99, 116, 1866, 1871, 101, 107, 59, 32768, 711, 59, 32768, 94, 105, 114, 99, 59, 32768, 292, 114, 59, 32768, 8460, 108, 98, 101, 114, 116, 83, 112, 97, 99, 101, 59, 32768, 8459, 833, 1902, 0, 1906, 102, 59, 32768, 8461, 105, 122, 111, 110, 116, 97, 108, 76, 105, 110, 101, 59, 32768, 9472, 512, 99, 116, 1924, 1928, 114, 59, 32768, 8459, 114, 111, 107, 59, 32768, 294, 109, 112, 533, 1940, 1950, 111, 119, 110, 72, 117, 109, 112, 59, 32768, 8782, 113, 117, 97, 108, 59, 32768, 8783, 3584, 69, 74, 79, 97, 99, 100, 102, 103, 109, 110, 111, 115, 116, 117, 1985, 1990, 1996, 2001, 2010, 2025, 2030, 2034, 2043, 2077, 2134, 2155, 2160, 2167, 99, 121, 59, 32768, 1045, 108, 105, 103, 59, 32768, 306, 99, 121, 59, 32768, 1025, 99, 117, 116, 101, 33024, 205, 59, 32768, 205, 512, 105, 121, 2015, 2022, 114, 99, 33024, 206, 59, 32768, 206, 59, 32768, 1048, 111, 116, 59, 32768, 304, 114, 59, 32768, 8465, 114, 97, 118, 101, 33024, 204, 59, 32768, 204, 768, 59, 97, 112, 2050, 2052, 2070, 32768, 8465, 512, 99, 103, 2057, 2061, 114, 59, 32768, 298, 105, 110, 97, 114, 121, 73, 59, 32768, 8520, 108, 105, 101, 115, 59, 32768, 8658, 837, 2082, 0, 2110, 512, 59, 101, 2086, 2088, 32768, 8748, 512, 103, 114, 2093, 2099, 114, 97, 108, 59, 32768, 8747, 115, 101, 99, 116, 105, 111, 110, 59, 32768, 8898, 105, 115, 105, 98, 108, 101, 512, 67, 84, 2120, 2127, 111, 109, 109, 97, 59, 32768, 8291, 105, 109, 101, 115, 59, 32768, 8290, 768, 103, 112, 116, 2141, 2146, 2151, 111, 110, 59, 32768, 302, 102, 59, 32896, 55349, 56640, 97, 59, 32768, 921, 99, 114, 59, 32768, 8464, 105, 108, 100, 101, 59, 32768, 296, 828, 2172, 0, 2177, 99, 121, 59, 32768, 1030, 108, 33024, 207, 59, 32768, 207, 1280, 99, 102, 111, 115, 117, 2193, 2206, 2211, 2217, 2232, 512, 105, 121, 2198, 2203, 114, 99, 59, 32768, 308, 59, 32768, 1049, 114, 59, 32896, 55349, 56589, 112, 102, 59, 32896, 55349, 56641, 820, 2222, 0, 2227, 114, 59, 32896, 55349, 56485, 114, 99, 121, 59, 32768, 1032, 107, 99, 121, 59, 32768, 1028, 1792, 72, 74, 97, 99, 102, 111, 115, 2253, 2258, 2263, 2269, 2283, 2288, 2294, 99, 121, 59, 32768, 1061, 99, 121, 59, 32768, 1036, 112, 112, 97, 59, 32768, 922, 512, 101, 121, 2274, 2280, 100, 105, 108, 59, 32768, 310, 59, 32768, 1050, 114, 59, 32896, 55349, 56590, 112, 102, 59, 32896, 55349, 56642, 99, 114, 59, 32896, 55349, 56486, 2816, 74, 84, 97, 99, 101, 102, 108, 109, 111, 115, 116, 2323, 2328, 2333, 2374, 2396, 2775, 2780, 2797, 2804, 2934, 2954, 99, 121, 59, 32768, 1033, 33024, 60, 59, 32768, 60, 1280, 99, 109, 110, 112, 114, 2344, 2350, 2356, 2360, 2370, 117, 116, 101, 59, 32768, 313, 98, 100, 97, 59, 32768, 923, 103, 59, 32768, 10218, 108, 97, 99, 101, 116, 114, 102, 59, 32768, 8466, 114, 59, 32768, 8606, 768, 97, 101, 121, 2381, 2387, 2393, 114, 111, 110, 59, 32768, 317, 100, 105, 108, 59, 32768, 315, 59, 32768, 1051, 512, 102, 115, 2401, 2702, 116, 2560, 65, 67, 68, 70, 82, 84, 85, 86, 97, 114, 2423, 2470, 2479, 2530, 2537, 2561, 2618, 2666, 2683, 2690, 512, 110, 114, 2428, 2441, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10216, 114, 111, 119, 768, 59, 66, 82, 2451, 2453, 2458, 32768, 8592, 97, 114, 59, 32768, 8676, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8646, 101, 105, 108, 105, 110, 103, 59, 32768, 8968, 111, 838, 2485, 0, 2498, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10214, 110, 805, 2503, 0, 2514, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10593, 101, 99, 116, 111, 114, 512, 59, 66, 2523, 2525, 32768, 8643, 97, 114, 59, 32768, 10585, 108, 111, 111, 114, 59, 32768, 8970, 105, 103, 104, 116, 512, 65, 86, 2546, 2553, 114, 114, 111, 119, 59, 32768, 8596, 101, 99, 116, 111, 114, 59, 32768, 10574, 512, 101, 114, 2566, 2591, 101, 768, 59, 65, 86, 2574, 2576, 2583, 32768, 8867, 114, 114, 111, 119, 59, 32768, 8612, 101, 99, 116, 111, 114, 59, 32768, 10586, 105, 97, 110, 103, 
446108, 101, 768, 59, 66, 69, 2604, 2606, 2611, 32768, 8882, 97, 114, 59, 32768, 10703, 113, 117, 97, 108, 59, 32768, 8884, 112, 768, 68, 84, 86, 2626, 2638, 2649, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 32768, 10577, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10592, 101, 99, 116, 111, 114, 512, 59, 66, 2659, 2661, 32768, 8639, 97, 114, 59, 32768, 10584, 101, 99, 116, 111, 114, 512, 59, 66, 2676, 2678, 32768, 8636, 97, 114, 59, 32768, 10578, 114, 114, 111, 119, 59, 32768, 8656, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8660, 115, 1536, 69, 70, 71, 76, 83, 84, 2716, 2730, 2741, 2750, 2756, 2768, 113, 117, 97, 108, 71, 114, 101, 97, 116, 101, 114, 59, 32768, 8922, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8806, 114, 101, 97, 116, 101, 114, 59, 32768, 8822, 101, 115, 115, 59, 32768, 10913, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 10877, 105, 108, 100, 101, 59, 32768, 8818, 114, 59, 32896, 55349, 56591, 512, 59, 101, 2785, 2787, 32768, 8920, 102, 116, 97, 114, 114, 111, 119, 59, 32768, 8666, 105, 100, 111, 116, 59, 32768, 319, 768, 110, 112, 119, 2811, 2899, 2904, 103, 1024, 76, 82, 108, 114, 2821, 2848, 2860, 2887, 101, 102, 116, 512, 65, 82, 2829, 2836, 114, 114, 111, 119, 59, 32768, 10229, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10231, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10230, 101, 102, 116, 512, 97, 114, 2868, 2875, 114, 114, 111, 119, 59, 32768, 10232, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10234, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10233, 102, 59, 32896, 55349, 56643, 101, 114, 512, 76, 82, 2911, 2922, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8601, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8600, 768, 99, 104, 116, 2941, 2945, 2948, 114, 59, 32768, 8466, 59, 32768, 8624, 114, 111, 107, 59, 32768, 321, 59, 32768, 8810, 2048, 97, 99, 101, 102, 105, 111, 115, 117, 2974, 2978, 2982, 3007, 3012, 3022, 3028, 3033, 112, 59, 32768, 10501, 121, 59, 32768, 1052, 512, 100, 108, 2987, 2998, 105, 117, 109, 83, 112, 97, 99, 101, 59, 32768, 8287, 108, 105, 110, 116, 114, 102, 59, 32768, 8499, 114, 59, 32896, 55349, 56592, 110, 117, 115, 80, 108, 117, 115, 59, 32768, 8723, 112, 102, 59, 32896, 55349, 56644, 99, 114, 59, 32768, 8499, 59, 32768, 924, 2304, 74, 97, 99, 101, 102, 111, 115, 116, 117, 3055, 3060, 3067, 3089, 3201, 3206, 3874, 3880, 3889, 99, 121, 59, 32768, 1034, 99, 117, 116, 101, 59, 32768, 323, 768, 97, 101, 121, 3074, 3080, 3086, 114, 111, 110, 59, 32768, 327, 100, 105, 108, 59, 32768, 325, 59, 32768, 1053, 768, 103, 115, 119, 3096, 3160, 3194, 97, 116, 105, 118, 101, 768, 77, 84, 86, 3108, 3121, 3145, 101, 100, 105, 117, 109, 83, 112, 97, 99, 101, 59, 32768, 8203, 104, 105, 512, 99, 110, 3128, 3137, 107, 83, 112, 97, 99, 101, 59, 32768, 8203, 83, 112, 97, 99, 101, 59, 32768, 8203, 101, 114, 121, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 32768, 8203, 116, 101, 100, 512, 71, 76, 3168, 3184, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 32768, 8811, 101, 115, 115, 76, 101, 115, 115, 59, 32768, 8810, 76, 105, 110, 101, 59, 32768, 10, 114, 59, 32896, 55349, 56593, 1024, 66, 110, 112, 116, 3215, 3222, 3238, 3242, 114, 101, 97, 107, 59, 32768, 8288, 66, 114, 101, 97, 107, 105, 110, 103, 83, 112, 97, 99, 101, 59, 32768, 160, 102, 59, 32768, 8469, 3328, 59, 67, 68, 69, 71, 72, 76, 78, 80, 82, 83, 84, 86, 3269, 3271, 3293, 3312, 3352, 3430, 3455, 3551, 3589, 3625, 3678, 3821, 3861, 32768, 10988, 512, 111, 117, 3276, 3286, 110, 103, 114, 117, 101, 110, 116, 59, 32768, 8802, 112, 67, 97, 112, 59, 32768, 8813, 111, 117, 98, 108, 101, 86, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 32768, 8742, 768, 108, 113, 120, 3319, 3327, 3345, 101, 109, 101, 110, 116, 59, 32768, 8713, 117, 97, 108, 512, 59, 84, 3335, 3337, 32768, 8800, 105, 108, 100, 101, 59, 32896, 8770, 824, 105, 115, 116, 115, 59, 32768, 8708, 114, 101, 97, 116, 101, 114, 1792, 59, 69, 70, 71, 76, 83, 84, 3373, 3375, 3382, 3394, 3404, 3410, 3423, 32768, 8815, 113, 117, 97, 108, 59, 32768, 8817, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32896, 8807, 824, 114, 101, 97, 116, 101, 114, 59, 32896, 8811, 824, 101, 115, 115, 59, 32768, 8825, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32896, 10878, 824, 105, 108, 100, 101, 59, 32768, 8821, 117, 109, 112, 533, 3437, 3448, 111, 119, 110, 72, 117, 109, 112, 59, 32896, 8782, 824, 113, 117, 97, 108, 59, 32896, 8783, 824, 101, 512, 102, 115, 3461, 3492, 116, 84, 114, 105, 97, 110, 103, 
446108, 101, 768, 59, 66, 69, 3477, 3479, 3485, 32768, 8938, 97, 114, 59, 32896, 10703, 824, 113, 117, 97, 108, 59, 32768, 8940, 115, 1536, 59, 69, 71, 76, 83, 84, 3506, 3508, 3515, 3524, 3531, 3544, 32768, 8814, 113, 117, 97, 108, 59, 32768, 8816, 114, 101, 97, 116, 101, 114, 59, 32768, 8824, 101, 115, 115, 59, 32896, 8810, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32896, 10877, 824, 105, 108, 100, 101, 59, 32768, 8820, 101, 115, 116, 101, 100, 512, 71, 76, 3561, 3578, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 32896, 10914, 824, 101, 115, 115, 76, 101, 115, 115, 59, 32896, 10913, 824, 114, 101, 99, 101, 100, 101, 115, 768, 59, 69, 83, 3603, 3605, 3613, 32768, 8832, 113, 117, 97, 108, 59, 32896, 10927, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8928, 512, 101, 105, 3630, 3645, 118, 101, 114, 115, 101, 69, 108, 101, 109, 101, 110, 116, 59, 32768, 8716, 103, 104, 116, 84, 114, 105, 97, 110, 103, 108, 101, 768, 59, 66, 69, 3663, 3665, 3671, 32768, 8939, 97, 114, 59, 32896, 10704, 824, 113, 117, 97, 108, 59, 32768, 8941, 512, 113, 117, 3683, 3732, 117, 97, 114, 101, 83, 117, 512, 98, 112, 3694, 3712, 115, 101, 116, 512, 59, 69, 3702, 3705, 32896, 8847, 824, 113, 117, 97, 108, 59, 32768, 8930, 101, 114, 115, 101, 116, 512, 59, 69, 3722, 3725, 32896, 8848, 824, 113, 117, 97, 108, 59, 32768, 8931, 768, 98, 99, 112, 3739, 3757, 3801, 115, 101, 116, 512, 59, 69, 3747, 3750, 32896, 8834, 8402, 113, 117, 97, 108, 59, 32768, 8840, 99, 101, 101, 100, 115, 1024, 59, 69, 83, 84, 3771, 3773, 3781, 3793, 32768, 8833, 113, 117, 97, 108, 59, 32896, 10928, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8929, 105, 108, 100, 101, 59, 32896, 8831, 824, 101, 114, 115, 101, 116, 512, 59, 69, 3811, 3814, 32896, 8835, 8402, 113, 117, 97, 108, 59, 32768, 8841, 105, 108, 100, 101, 1024, 59, 69, 70, 84, 3834, 3836, 3843, 3854, 32768, 8769, 113, 117, 97, 108, 59, 32768, 8772, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8775, 105, 108, 100, 101, 59, 32768, 8777, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 32768, 8740, 99, 114, 59, 32896, 55349, 56489, 105, 108, 100, 101, 33024, 209, 59, 32768, 209, 59, 32768, 925, 3584, 69, 97, 99, 100, 102, 103, 109, 111, 112, 114, 115, 116, 117, 118, 3921, 3927, 3936, 3951, 3958, 3963, 3972, 3996, 4002, 4034, 4037, 4055, 4071, 4078, 108, 105, 103, 59, 32768, 338, 99, 117, 116, 101, 33024, 211, 59, 32768, 211, 512, 105, 121, 3941, 3948, 114, 99, 33024, 212, 59, 32768, 212, 59, 32768, 1054, 98, 108, 97, 99, 59, 32768, 336, 114, 59, 32896, 55349, 56594, 114, 97, 118, 101, 33024, 210, 59, 32768, 210, 768, 97, 101, 105, 3979, 3984, 3989, 99, 114, 59, 32768, 332, 103, 97, 59, 32768, 937, 99, 114, 111, 110, 59, 32768, 927, 112, 102, 59, 32896, 55349, 56646, 101, 110, 67, 117, 114, 108, 121, 512, 68, 81, 4014, 4027, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 32768, 8220, 117, 111, 116, 101, 59, 32768, 8216, 59, 32768, 10836, 512, 99, 108, 4042, 4047, 114, 59, 32896, 55349, 56490, 97, 115, 104, 33024, 216, 59, 32768, 216, 105, 573, 4060, 4067, 100, 101, 33024, 213, 59, 32768, 213, 101, 115, 59, 32768, 10807, 109, 108, 33024, 214, 59, 32768, 214, 101, 114, 512, 66, 80, 4085, 4109, 512, 97, 114, 4090, 4094, 114, 59, 32768, 8254, 97, 99, 512, 101, 107, 4101, 4104, 59, 32768, 9182, 101, 116, 59, 32768, 9140, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 32768, 9180, 2304, 97, 99, 102, 104, 105, 108, 111, 114, 115, 4141, 4150, 4154, 4159, 4163, 4166, 4176, 4198, 4284, 114, 116, 105, 97, 108, 68, 59, 32768, 8706, 121, 59, 32768, 1055, 114, 59, 32896, 55349, 56595, 105, 59, 32768, 934, 59, 32768, 928, 117, 115, 77, 105, 110, 117, 115, 59, 32768, 177, 512, 105, 112, 4181, 4194, 110, 99, 97, 114, 101, 112, 108, 97, 110, 101, 59, 32768, 8460, 102, 59, 32768, 8473, 1024, 59, 101, 105, 111, 4207, 4209, 4251, 4256, 32768, 10939, 99, 101, 100, 101, 115, 1024, 59, 69, 83, 84, 4223, 4225, 4232, 4244, 32768, 8826, 113, 117, 97, 108, 59, 32768, 10927, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8828, 105, 108, 100, 101, 59, 32768, 8830, 109, 101, 59, 32768, 8243, 512, 100, 112, 4261, 4267, 117, 99, 116, 59, 32768, 8719, 111, 114, 116, 105, 111, 110, 512, 59, 97, 4278, 4280, 32768, 8759, 108, 59, 32768, 8733, 512, 99, 105, 4289, 4294, 114, 59, 32896, 55349, 56491, 59, 32768, 936, 1024, 85, 102, 111, 115, 4306, 4313, 4318, 4323, 79, 84, 33024, 34, 59, 32768, 34, 114, 59, 32896, 55349, 56596, 112, 102, 59, 32768, 8474, 99, 114, 59, 32896, 55349, 56492, 3072, 66, 69, 97, 99, 101, 102, 104, 105, 111, 114, 115, 117, 4354, 4360, 4366, 4395, 4417, 4473, 4477, 4481, 4743, 4764, 4776, 4788, 97, 114, 114, 59, 32768, 10512, 71, 33024, 
446174, 59, 32768, 174, 768, 99, 110, 114, 4373, 4379, 4383, 117, 116, 101, 59, 32768, 340, 103, 59, 32768, 10219, 114, 512, 59, 116, 4389, 4391, 32768, 8608, 108, 59, 32768, 10518, 768, 97, 101, 121, 4402, 4408, 4414, 114, 111, 110, 59, 32768, 344, 100, 105, 108, 59, 32768, 342, 59, 32768, 1056, 512, 59, 118, 4422, 4424, 32768, 8476, 101, 114, 115, 101, 512, 69, 85, 4433, 4458, 512, 108, 113, 4438, 4446, 101, 109, 101, 110, 116, 59, 32768, 8715, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 8651, 112, 69, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 10607, 114, 59, 32768, 8476, 111, 59, 32768, 929, 103, 104, 116, 2048, 65, 67, 68, 70, 84, 85, 86, 97, 4501, 4547, 4556, 4607, 4614, 4671, 4719, 4736, 512, 110, 114, 4506, 4519, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10217, 114, 111, 119, 768, 59, 66, 76, 4529, 4531, 4536, 32768, 8594, 97, 114, 59, 32768, 8677, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8644, 101, 105, 108, 105, 110, 103, 59, 32768, 8969, 111, 838, 4562, 0, 4575, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10215, 110, 805, 4580, 0, 4591, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10589, 101, 99, 116, 111, 114, 512, 59, 66, 4600, 4602, 32768, 8642, 97, 114, 59, 32768, 10581, 108, 111, 111, 114, 59, 32768, 8971, 512, 101, 114, 4619, 4644, 101, 768, 59, 65, 86, 4627, 4629, 4636, 32768, 8866, 114, 114, 111, 119, 59, 32768, 8614, 101, 99, 116, 111, 114, 59, 32768, 10587, 105, 97, 110, 103, 108, 101, 768, 59, 66, 69, 4657, 4659, 4664, 32768, 8883, 97, 114, 59, 32768, 10704, 113, 117, 97, 108, 59, 32768, 8885, 112, 768, 68, 84, 86, 4679, 4691, 4702, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 32768, 10575, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10588, 101, 99, 116, 111, 114, 512, 59, 66, 4712, 4714, 32768, 8638, 97, 114, 59, 32768, 10580, 101, 99, 116, 111, 114, 512, 59, 66, 4729, 4731, 32768, 8640, 97, 114, 59, 32768, 10579, 114, 114, 111, 119, 59, 32768, 8658, 512, 112, 117, 4748, 4752, 102, 59, 32768, 8477, 110, 100, 73, 109, 112, 108, 105, 101, 115, 59, 32768, 10608, 
446105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8667, 512, 99, 104, 4781, 4785, 114, 59, 32768, 8475, 59, 32768, 8625, 108, 101, 68, 101, 108, 97, 121, 101, 100, 59, 32768, 10740, 3328, 72, 79, 97, 99, 102, 104, 105, 109, 111, 113, 115, 116, 117, 4827, 4842, 4849, 4856, 4889, 4894, 4949, 4955, 4967, 4973, 5059, 5065, 5070, 512, 67, 99, 4832, 4838, 72, 99, 121, 59, 32768, 1065, 121, 59, 32768, 1064, 70, 84, 99, 121, 59, 32768, 1068, 99, 117, 116, 101, 59, 32768, 346, 1280, 59, 97, 101, 105, 121, 4867, 4869, 4875, 4881, 4886, 32768, 10940, 114, 111, 110, 59, 32768, 352, 100, 105, 108, 59, 32768, 350, 114, 99, 59, 32768, 348, 59, 32768, 1057, 114, 59, 32896, 55349, 56598, 111, 114, 116, 1024, 68, 76, 82, 85, 4906, 4917, 4928, 4940, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8595, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8592, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8594, 112, 65, 114, 114, 111, 119, 59, 32768, 8593, 103, 109, 97, 59, 32768, 931, 97, 108, 108, 67, 105, 114, 99, 108, 101, 59, 32768, 8728, 112, 102, 59, 32896, 55349, 56650, 1091, 4979, 0, 0, 4983, 116, 59, 32768, 8730, 97, 114, 101, 1024, 59, 73, 83, 85, 4994, 4996, 5010, 5052, 32768, 9633, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 59, 32768, 8851, 117, 512, 98, 112, 5016, 5033, 115, 101, 116, 512, 59, 69, 5024, 5026, 32768, 8847, 113, 117, 97, 108, 59, 32768, 8849, 101, 114, 115, 101, 116, 512, 59, 69, 5043, 5045, 32768, 8848, 113, 117, 97, 108, 59, 32768, 8850, 110, 105, 111, 110, 59, 32768, 8852, 99, 114, 59, 32896, 55349, 56494, 97, 114, 59, 32768, 8902, 1024, 98, 99, 109, 112, 5079, 5102, 5155, 5158, 512, 59, 115, 5084, 5086, 32768, 8912, 101, 116, 512, 59, 69, 5093, 5095, 32768, 8912, 113, 117, 97, 108, 59, 32768, 8838, 512, 99, 104, 5107, 5148, 101, 101, 100, 115, 1024, 59, 69, 83, 84, 5120, 5122, 5129, 5141, 32768, 8827, 113, 117, 97, 108, 59, 32768, 10928, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8829, 105, 108, 100, 101, 59, 32768, 8831, 84, 104, 97, 116, 59, 32768, 8715, 59, 32768, 8721, 768, 59, 101, 115, 5165, 5167, 5185, 32768, 8913, 114, 115, 101, 116, 512, 59, 69, 5176, 5178, 32768, 8835, 113, 117, 97, 108, 59, 32768, 8839, 101, 116, 59, 32768, 8913, 2816, 72, 82, 83, 97, 99, 102, 104, 105, 111, 114, 115, 5213, 5221, 5227, 5241, 5252, 5274, 5279, 5323, 5362, 5368, 5378, 79, 82, 78, 33024, 222, 59, 32768, 222, 65, 68, 69, 59, 32768, 8482, 512, 72, 99, 5232, 5237, 99, 121, 59, 32768, 1035, 121, 59, 32768, 1062, 512, 98, 117, 5246, 5249, 59, 32768, 9, 59, 32768, 932, 768, 97, 101, 121, 5259, 5265, 5271, 114, 111, 110, 59, 32768, 356, 100, 105, 108, 59, 32768, 354, 59, 32768, 1058, 114, 59, 32896, 55349, 56599, 512, 101, 105, 5284, 5300, 835, 5289, 0, 5297, 101, 102, 111, 114, 101, 59, 32768, 8756, 97, 59, 32768, 920, 512, 99, 110, 5305, 5315, 107, 83, 112, 97, 99, 101, 59, 32896, 8287, 8202, 83, 112, 97, 99, 101, 59, 32768, 8201, 108, 100, 101, 1024, 59, 69, 70, 84, 5335, 5337, 5344, 5355, 32768, 8764, 113, 117, 97, 108, 59, 32768, 8771, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8773, 105, 108, 100, 101, 59, 32768, 8776, 112, 102, 59, 32896, 55349, 56651, 105, 112, 108, 101, 68, 111, 116, 59, 32768, 8411, 512, 99, 116, 5383, 5388, 114, 59, 32896, 55349, 56495, 114, 111, 107, 59, 32768, 358, 5426, 5417, 5444, 5458, 5473, 0, 5480, 5485, 0, 0, 0, 0, 0, 5494, 5500, 5564, 5579, 0, 5726, 5732, 5738, 5745, 512, 99, 114, 5421, 5429, 117, 116, 101, 33024, 218, 59, 32768, 218, 114, 512, 59, 111, 5435, 5437, 32768, 8607, 99, 105, 114, 59, 32768, 10569, 114, 820, 5449, 0, 5453, 121, 59, 32768, 1038, 118, 101, 59, 32768, 364, 512, 105, 121, 5462, 5469, 114, 99, 33024, 219, 59, 32768, 219, 59, 32768, 1059, 98, 108, 97, 99, 59, 32768, 368, 114, 59, 32896, 55349, 56600, 114, 97, 118, 101, 33024, 217, 59, 32768, 217, 97, 99, 114, 59, 32768, 362, 512, 100, 105, 5504, 5548, 101, 114, 512, 66, 80, 5511, 5535, 512, 97, 114, 5516, 5520, 114, 59, 32768, 95, 97, 99, 512, 101, 107, 5527, 5530, 59, 32768, 9183, 101, 116, 59, 32768, 9141, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 32768, 9181, 111, 110, 512, 59, 80, 5555, 5557, 32768, 8899, 108, 117, 115, 59, 32768, 8846, 512, 103, 112, 5568, 5573, 111, 110, 59, 32768, 370, 102, 59, 32896, 55349, 56652, 2048, 65, 68, 69, 84, 97, 100, 112, 115, 5595, 5624, 5635, 5648, 5664, 5671, 5682, 5712, 114, 114, 111, 119, 768, 59, 66, 68, 5606, 5608, 5613, 32768, 8593, 97, 114, 59, 32768, 10514, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8645, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8597, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 10606, 101, 101, 512, 59, 65, 5655, 5657, 32768, 8869, 114, 114, 111, 119, 59, 32768, 8613, 114, 114, 111, 119, 59, 32768, 8657, 111, 119, 110, 97, 114, 114, 111, 119, 59, 32768, 8661, 101, 114, 512, 76, 82, 5689, 5700, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8598, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8599, 105, 512, 59, 108, 5718, 5720, 32768, 978, 111, 110, 59, 32768, 933, 105, 110, 103, 59, 32768, 366, 99, 114, 59, 32896, 55349, 56496, 105, 108, 100, 101, 59, 32768, 360, 109, 108, 33024, 220, 59, 32768, 220, 2304, 68, 98, 99, 100, 101, 102, 111, 115, 118, 5770, 5776, 5781, 5785, 5798, 5878, 5883, 5889, 5895, 97, 115, 104, 59, 32768, 8875, 97, 114, 59, 32768, 10987, 121, 59, 32768, 1042, 97, 115, 104, 512, 59, 108, 5793, 5795, 32768, 8873, 59, 32768, 10982, 512, 101, 114, 5803, 5806, 59, 32768, 8897, 768, 98, 116, 121, 5813, 5818, 5866, 97, 114, 59, 32768, 8214, 512, 59, 105, 5823, 5825, 32768, 8214, 99, 97, 108, 1024, 66, 76, 83, 84, 5837, 5842, 5848, 5859, 97, 114, 59, 32768, 8739, 105, 110, 101, 59, 32768, 124, 101, 112, 97, 114, 97, 116, 111, 114, 59, 32768, 10072, 105, 108, 100, 101, 59, 32768, 8768, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 32768, 8202, 114, 59, 32896, 55349, 56601, 112, 102, 59, 32896, 55349, 56653, 99, 114, 59, 32896, 55349, 56497, 100, 97, 115, 104, 59, 32768, 8874, 1280, 99, 101, 102, 111, 115, 5913, 5919, 5925, 5930, 5936, 105, 114, 99, 59, 32768, 372, 100, 103, 
446101, 59, 32768, 8896, 114, 59, 32896, 55349, 56602, 112, 102, 59, 32896, 55349, 56654, 99, 114, 59, 32896, 55349, 56498, 1024, 102, 105, 111, 115, 5951, 5956, 5959, 5965, 114, 59, 32896, 55349, 56603, 59, 32768, 926, 112, 102, 59, 32896, 55349, 56655, 99, 114, 59, 32896, 55349, 56499, 2304, 65, 73, 85, 97, 99, 102, 111, 115, 117, 5990, 5995, 6000, 6005, 6014, 6027, 6032, 6038, 6044, 99, 121, 59, 32768, 1071, 99, 121, 59, 32768, 1031, 99, 121, 59, 32768, 1070, 99, 117, 116, 101, 33024, 221, 59, 32768, 221, 512, 105, 121, 6019, 6024, 114, 99, 59, 32768, 374, 59, 32768, 1067, 114, 59, 32896, 55349, 56604, 112, 102, 59, 32896, 55349, 56656, 99, 114, 59, 32896, 55349, 56500, 109, 108, 59, 32768, 376, 2048, 72, 97, 99, 100, 101, 102, 111, 115, 6066, 6071, 6078, 6092, 6097, 6119, 6123, 6128, 99, 121, 59, 32768, 1046, 99, 117, 116, 101, 59, 32768, 377, 512, 97, 121, 6083, 6089, 114, 111, 110, 59, 32768, 381, 59, 32768, 1047, 111, 116, 59, 32768, 379, 835, 6102, 0, 6116, 111, 87, 105, 100, 116, 104, 83, 112, 97, 99, 101, 59, 32768, 8203, 97, 59, 32768, 918, 114, 59, 32768, 8488, 112, 102, 59, 32768, 8484, 99, 114, 59, 32896, 55349, 56501, 5938, 6159, 6168, 6175, 0, 6214, 6222, 6233, 0, 0, 0, 0, 6242, 6267, 6290, 6429, 6444, 0, 6495, 6503, 6531, 6540, 0, 6547, 99, 117, 116, 101, 33024, 225, 59, 32768, 225, 114, 101, 118, 101, 59, 32768, 259, 1536, 59, 69, 100, 105, 117, 121, 6187, 6189, 6193, 6196, 6203, 6210, 32768, 8766, 59, 32896, 8766, 819, 59, 32768, 8767, 114, 99, 33024, 226, 59, 32768, 226, 116, 101, 33024, 180, 59, 32768, 180, 59, 32768, 1072, 108, 105, 103, 33024, 230, 59, 32768, 230, 512, 59, 114, 6226, 6228, 32768, 8289, 59, 32896, 55349, 56606, 114, 97, 118, 101, 33024, 224, 59, 32768, 224, 512, 101, 112, 6246, 6261, 512, 102, 112, 6251, 6257, 115, 121, 109, 59, 32768, 8501, 104, 59, 32768, 8501, 104, 97, 59, 32768, 945, 512, 97, 112, 6271, 6284, 512, 99, 108, 6276, 6280, 114, 59, 32768, 257, 103, 59, 32768, 10815, 33024, 38, 59, 32768, 38, 1077, 6295, 0, 0, 6326, 1280, 59, 97, 100, 115, 118, 6305, 6307, 6312, 6315, 6322, 32768, 8743, 110, 100, 59, 32768, 10837, 59, 32768, 10844, 108, 111, 112, 101, 59, 32768, 10840, 59, 32768, 10842, 1792, 59, 101, 108, 109, 114, 115, 122, 6340, 6342, 6345, 6349, 6391, 6410, 6422, 32768, 8736, 59, 32768, 10660, 101, 59, 32768, 8736, 115, 100, 512, 59, 97, 6356, 6358, 32768, 8737, 2098, 6368, 6371, 6374, 6377, 6380, 6383, 6386, 6389, 59, 32768, 10664, 59, 32768, 10665, 59, 32768, 10666, 59, 32768, 10667, 59, 32768, 10668, 59, 32768, 10669, 59, 32768, 10670, 59, 32768, 10671, 116, 512, 59, 118, 6397, 6399, 32768, 8735, 98, 512, 59, 100, 6405, 6407, 32768, 8894, 59, 32768, 10653, 512, 112, 116, 6415, 6419, 104, 59, 32768, 8738, 59, 32768, 197, 97, 114, 114, 59, 32768, 9084, 512, 103, 112, 6433, 6438, 111, 110, 59, 32768, 261, 102, 59, 32896, 55349, 56658, 1792, 59, 69, 97, 101, 105, 111, 112, 6458, 6460, 6463, 6469, 6472, 6476, 6480, 32768, 8776, 59, 32768, 10864, 99, 105, 114, 59, 32768, 10863, 59, 32768, 8778, 100, 59, 32768, 8779, 115, 59, 32768, 39, 114, 111, 120, 512, 59, 101, 6488, 6490, 32768, 8776, 113, 59, 32768, 8778, 105, 110, 103, 33024, 229, 59, 32768, 229, 768, 99, 116, 121, 6509, 6514, 6517, 114, 59, 32896, 55349, 56502, 59, 32768, 42, 109, 112, 512, 59, 101, 6524, 6526, 32768, 8776, 113, 59, 32768, 8781, 105, 108, 100, 101, 33024, 227, 59, 32768, 227, 109, 108, 33024, 228, 59, 32768, 228, 512, 99, 105, 6551, 6559, 111, 110, 105, 110, 116, 59, 32768, 8755, 110, 116, 59, 32768, 10769, 4096, 78, 97, 98, 99, 100, 101, 102, 105, 107, 108, 110, 111, 112, 114, 115, 117, 6597, 6602, 6673, 6688, 6701, 6707, 6768, 6773, 6891, 6898, 6999, 7023, 7309, 7316, 7334, 7383, 111, 116, 59, 32768, 10989, 512, 99, 114, 6607, 6652, 107, 1024, 99, 101, 112, 115, 6617, 6623, 6632, 6639, 111, 110, 103, 59, 32768, 8780, 112, 115, 105, 108, 111, 110, 59, 32768, 1014, 114, 105, 109, 101, 59, 32768, 8245, 105, 109, 512, 59, 101, 6646, 6648, 32768, 8765, 113, 59, 32768, 8909, 583, 6656, 6661, 101, 101, 59, 32768, 8893, 101, 100, 512, 59, 103, 6667, 6669, 32768, 8965, 101, 59, 32768, 8965, 114, 107, 512, 59, 116, 6680, 6682, 32768, 9141, 98, 114, 107, 59, 32768, 9142, 512, 111, 12
4461, 6693, 6698, 110, 103, 59, 32768, 8780, 59, 32768, 1073, 113, 117, 111, 59, 32768, 8222, 1280, 99, 109, 112, 114, 116, 6718, 6731, 6738, 6743, 6749, 97, 117, 115, 512, 59, 101, 6726, 6728, 32768, 8757, 59, 32768, 8757, 112, 116, 121, 118, 59, 32768, 10672, 115, 105, 59, 32768, 1014, 110, 111, 117, 59, 32768, 8492, 768, 97, 104, 119, 6756, 6759, 6762, 59, 32768, 946, 59, 32768, 8502, 101, 101, 110, 59, 32768, 8812, 114, 59, 32896, 55349, 56607, 103, 1792, 99, 111, 115, 116, 117, 118, 119, 6789, 6809, 6834, 6850, 6872, 6879, 6884, 768, 97, 105, 117, 6796, 6800, 6805, 112, 59, 32768, 8898, 114, 99, 59, 32768, 9711, 112, 59, 32768, 8899, 768, 100, 112, 116, 6816, 6821, 6827, 111, 116, 59, 32768, 10752, 108, 117, 115, 59, 32768, 10753, 105, 109, 101, 115, 59, 32768, 10754, 1090, 6840, 0, 0, 6846, 99, 117, 112, 59, 32768, 10758, 97, 114, 59, 32768, 9733, 114, 105, 97, 110, 103, 108, 101, 512, 100, 117, 6862, 6868, 111, 119, 110, 59, 32768, 9661, 112, 59, 32768, 9651, 112, 108, 117, 115, 59, 32768, 10756, 101, 101, 59, 32768, 8897, 101, 100, 103, 101, 59, 32768, 8896, 97, 114, 111, 119, 59, 32768, 10509, 768, 97, 107, 111, 6905, 6976, 6994, 512, 99, 110, 6910, 6972, 107, 768, 108, 115, 116, 6918, 6927, 6935, 111, 122, 101, 110, 103, 101, 59, 32768, 10731, 113, 117, 97, 114, 101, 59, 32768, 9642, 114, 105, 97, 110, 103, 108, 101, 1024, 59, 100, 108, 114, 6951, 6953, 6959, 6965, 32768, 9652, 111, 119, 110, 59, 32768, 9662, 101, 102, 116, 59, 32768, 9666, 105, 103, 104, 116, 59, 32768, 9656, 107, 59, 32768, 9251, 770, 6981, 0, 6991, 771, 6985, 0, 6988, 59, 32768, 9618, 59, 32768, 9617, 52, 59, 32768, 9619, 99, 107, 59, 32768, 9608, 512, 101, 111, 7004, 7019, 512, 59, 113, 7009, 7012, 32896, 61, 8421, 117, 105, 118, 59, 32896, 8801, 8421, 116, 59, 32768, 8976, 1024, 112, 116, 119, 120, 7032, 7037, 7049, 7055, 102, 59, 32896, 55349, 56659, 512, 59, 116, 7042, 7044, 32768, 8869, 111, 109, 59, 32768, 8869, 116, 105, 101, 59, 32768, 8904, 3072, 68, 72, 85, 86, 98, 100, 104, 109, 112, 116, 117, 118, 7080, 7101, 7126, 7147, 7182, 7187, 7208, 7233, 7240, 7246, 7253, 7274, 1024, 76, 82, 108, 114, 7089, 7092, 7095, 7098, 59, 32768, 9559, 59, 32768, 9556, 59, 32768, 9558, 59, 32768, 9555, 1280, 59, 68, 85, 100, 117, 7112, 7114, 7117, 7120, 7123, 32768, 9552, 59, 32768, 9574, 59, 32768, 9577, 59, 32768, 9572, 59, 32768, 9575, 1024, 76, 82, 108, 114, 7135, 7138, 7141, 7144, 59, 32768, 9565, 59, 32768, 9562, 59, 32768, 9564, 59, 32768, 9561, 1792, 59, 72, 76, 82, 104, 108, 114, 7162, 7164, 7167, 7170, 7173, 7176, 7179, 32768, 9553, 59, 32768, 9580, 59, 32768, 9571, 59, 32768, 9568, 59, 32768, 9579, 59, 32768, 9570, 59, 32768, 9567, 111, 120, 59, 32768, 10697, 1024, 76, 82, 108, 114, 7196, 7199, 7202, 7205, 59, 32768, 9557, 59, 32768, 9554, 59, 32768, 9488, 59, 32768, 9484, 1280, 59, 68, 85, 100, 117, 7219, 7221, 7224, 7227, 7230, 32768, 9472, 59, 32768, 9573, 59, 32768, 9576, 59, 32768, 9516, 59, 32768, 9524, 105, 110, 117, 115, 59, 32768, 8863, 108, 117, 115, 59, 32768, 8862, 105, 109, 101, 115, 59, 32768, 8864, 1024, 76, 82, 108, 114, 7262, 7265, 7268, 7271, 59, 32768, 9563, 59, 32768, 9560, 59, 32768, 9496, 59, 32768, 9492, 1792, 59, 72, 76, 82, 104, 108, 114, 7289, 7291, 7294, 7297, 7300, 7303, 7306, 32768, 9474, 59, 32768, 9578, 59, 32768, 9569, 59, 32768, 9566, 59, 32768, 9532, 59, 32768, 9508, 59, 32768, 9500, 114, 105, 109, 101, 59, 32768, 8245, 512, 101, 118, 7321, 7326, 118, 101, 59, 32768, 728, 98, 97, 114, 33024, 166, 59, 32768, 166, 1024, 99, 101, 105, 111, 7343, 7348, 7353, 7364, 114, 59, 32896, 55349, 56503, 109, 105, 59, 32768, 8271, 109, 512, 59, 101, 7359, 7361, 32768, 8765, 59, 32768, 8909, 108, 768, 59, 98, 104, 7372, 7374, 7377, 32768, 92, 59, 32768, 10693, 115, 117, 98, 59, 32768, 10184, 573, 7387, 7399, 108, 512, 59, 101, 7392, 7394, 32768, 8226, 116, 59, 32768, 8226, 112, 768, 59, 69, 101, 7406, 7408, 7411, 32768, 8782, 59, 32768, 10926, 512, 59, 113, 7416, 7418, 32768, 8783, 59, 32768, 8783, 6450, 7448, 0, 7523, 7571, 7576, 7613, 0, 7618, 7647, 0, 0, 7764, 0, 0, 7779, 0, 0, 7899, 7914, 7949, 7955, 0, 8158, 0, 8176, 768, 99, 112, 114, 7454, 7460, 7509, 117, 116, 101, 59, 32768, 263, 1536, 59, 97, 98, 99, 100, 115, 7473, 7475, 7480, 7487, 7500, 7505, 32768, 8745, 110, 100, 59, 32768, 10820, 114, 99, 117, 112, 59, 32768, 10825, 512, 97, 117, 7492, 7496, 112, 59, 32768, 10827, 112, 59, 32768, 10823, 111, 116, 59, 32768, 10816, 59, 32896, 8745, 65024, 512, 101, 111, 7514, 7518, 116, 59, 32768, 8257, 110, 59, 32768, 711, 1024, 97, 101, 105, 117, 7531, 7544, 7552, 7557, 833, 7536, 0, 7540, 115, 59, 32768, 10829, 111, 110, 59, 32768, 269, 100, 105, 108, 33024, 231, 59, 32768, 231, 114, 99, 59, 32768, 265, 112, 115, 512, 59, 115, 7564, 7566, 32768, 10828, 109, 59, 32768, 10832, 111, 116, 59, 32768, 267, 768, 100, 109, 110, 7582, 7589, 7596, 105, 108, 33024, 
446184, 59, 32768, 184, 112, 116, 121, 118, 59, 32768, 10674, 116, 33280, 162, 59, 101, 7603, 7605, 32768, 162, 114, 100, 111, 116, 59, 32768, 183, 114, 59, 32896, 55349, 56608, 768, 99, 101, 105, 7624, 7628, 7643, 121, 59, 32768, 1095, 99, 107, 512, 59, 109, 7635, 7637, 32768, 10003, 97, 114, 107, 59, 32768, 10003, 59, 32768, 967, 114, 1792, 59, 69, 99, 101, 102, 109, 115, 7662, 7664, 7667, 7742, 7745, 7752, 7757, 32768, 9675, 59, 32768, 10691, 768, 59, 101, 108, 7674, 7676, 7680, 32768, 710, 113, 59, 32768, 8791, 101, 1074, 7687, 0, 0, 7709, 114, 114, 111, 119, 512, 108, 114, 7695, 7701, 101, 102, 116, 59, 32768, 8634, 105, 103, 104, 116, 59, 32768, 8635, 1280, 82, 83, 97, 99, 100, 7719, 7722, 7725, 7730, 7736, 59, 32768, 174, 59, 32768, 9416, 115, 116, 59, 32768, 8859, 105, 114, 99, 59, 32768, 8858, 97, 115, 104, 59, 32768, 8861, 59, 32768, 8791, 110, 105, 110, 116, 59, 32768, 10768, 105, 100, 59, 32768, 10991, 99, 105, 114, 59, 32768, 10690, 117, 98, 115, 512, 59, 117, 7771, 7773, 32768, 9827, 105, 116, 59, 32768, 9827, 1341, 7785, 7804, 7850, 0, 7871, 111, 110, 512, 59, 101, 7791, 7793, 32768, 58, 512, 59, 113, 7798, 7800, 32768, 8788, 59, 32768, 8788, 1086, 7809, 0, 0, 7820, 97, 512, 59, 116, 7814, 7816, 32768, 44, 59, 32768, 64, 768, 59, 102, 108, 7826, 7828, 7832, 32768, 8705, 110, 59, 32768, 8728, 101, 512, 109, 120, 7838, 7844, 101, 110, 116, 59, 32768, 8705, 101, 115, 59, 32768, 8450, 824, 7854, 0, 7866, 512, 59, 100, 7858, 7860, 32768, 8773, 111, 116, 59, 32768, 10861, 110, 116, 59, 32768, 8750, 768, 102, 114, 121, 7877, 7881, 7886, 59, 32896, 55349, 56660, 111, 100, 59, 32768, 8720, 33280, 169, 59, 115, 7892, 7894, 32768, 169, 114, 59, 32768, 8471, 512, 97, 111, 7903, 7908, 114, 114, 59, 32768, 8629, 115, 115, 59, 32768, 10007, 512, 99, 117, 7918, 7923, 114, 59, 32896, 55349, 56504, 512, 98, 112, 7928, 7938, 512, 59, 101, 7933, 7935, 32768, 10959, 59, 32768, 10961, 512, 59, 101, 7943, 7945, 32768, 10960, 59, 32768, 10962, 100, 111, 116, 59, 32768, 8943, 1792, 100, 101, 108, 112, 114, 118, 119, 7969, 7983, 7996, 8009, 8057, 8147, 8152, 97, 114, 114, 512, 108, 114, 7977, 7980, 59, 32768, 10552, 59, 32768, 10549, 1089, 7989, 0, 0, 7993, 114, 59, 32768, 8926, 99, 59, 32768, 8927, 97, 114, 114, 512, 59, 112, 8004, 8006, 32768, 8630, 59, 32768, 10557, 1536, 59, 98, 99, 100, 111, 115, 8022, 8024, 8031, 8044, 8049, 8053, 32768, 8746, 114, 99, 97, 112, 59, 32768, 10824, 512, 97, 117, 8036, 8040, 112, 59, 32768, 10822, 112, 59, 32768, 10826, 111, 116, 59, 32768, 8845, 114, 59, 32768, 10821, 59, 32896, 8746, 65024, 1024, 97, 108, 114, 118, 8066, 8078, 8116, 8123, 114, 114, 512, 59, 109, 8073, 8075, 32768, 8631, 59, 32768, 10556, 121, 768, 101, 118, 119, 8086, 8104, 8109, 113, 1089, 8093, 0, 0, 8099, 114, 101, 99, 59, 32768, 8926, 117, 99, 99, 59, 32768, 8927, 101, 101, 59, 32768, 8910, 101, 100, 103, 101, 59, 32768, 8911, 101, 110, 33024, 164, 59, 32768, 164, 101, 97, 114, 114, 111, 119, 512, 108, 114, 8134, 8140, 101, 102, 116, 59, 32768, 8630, 105, 103, 104, 116, 59, 32768, 8631, 101, 101, 59, 32768, 8910, 101, 100, 59, 32768, 8911, 512, 99, 105, 8162, 8170, 111, 110, 105, 110, 116, 59, 32768, 8754, 110, 116, 59, 32768, 8753, 108, 99, 116, 121, 59, 32768, 9005, 4864, 65, 72, 97, 98, 99, 100, 101, 102, 104, 105, 106, 108, 111, 114, 115, 116, 117, 119, 122, 8221, 8226, 8231, 8267, 8282, 8296, 8327, 8351, 8366, 8379, 8466, 8471, 8487, 8621, 8647, 8676, 8697, 8712, 8720, 114, 114, 59, 32768, 8659, 97, 114, 59, 32768, 10597, 1024, 103, 108, 114, 115, 8240, 8246, 8252, 8256, 103, 101, 114, 59, 32768, 8224, 101, 116, 104, 59, 32768, 8504, 114, 59, 32768, 8595, 104, 512, 59, 118, 8262, 8264, 32768, 8208, 59, 32768, 8867, 572, 8271, 8278, 97, 114, 111, 119, 59, 32768, 10511, 97, 99, 59, 32768, 733, 512, 97, 121, 8287, 8293, 114, 111, 110, 59, 32768, 271, 59, 32768, 1076, 768, 59, 97, 111, 8303, 8305, 8320, 32768, 8518, 512, 103, 114, 8310, 8316, 103, 101, 114, 59, 32768, 8225, 114, 59, 32768, 8650, 116, 115, 101, 113, 59, 32768, 10871, 768, 103, 108, 109, 8334, 8339, 8344, 33024, 176, 59, 32768, 176, 116, 97, 59, 32768, 948, 112, 116, 121, 118, 59, 32768, 10673, 512, 105, 114, 8356, 8362, 115, 104, 116, 59, 32768, 10623, 59, 32896, 55349, 56609, 97, 114, 512, 108, 114, 8373, 8376, 59, 32768, 8643, 59, 32768, 8642, 1280, 97, 101, 103, 
446115, 118, 8390, 8418, 8421, 8428, 8433, 109, 768, 59, 111, 115, 8398, 8400, 8415, 32768, 8900, 110, 100, 512, 59, 115, 8407, 8409, 32768, 8900, 117, 105, 116, 59, 32768, 9830, 59, 32768, 9830, 59, 32768, 168, 97, 109, 109, 97, 59, 32768, 989, 105, 110, 59, 32768, 8946, 768, 59, 105, 111, 8440, 8442, 8461, 32768, 247, 100, 101, 33280, 247, 59, 111, 8450, 8452, 32768, 247, 110, 116, 105, 109, 101, 115, 59, 32768, 8903, 110, 120, 59, 32768, 8903, 99, 121, 59, 32768, 1106, 99, 1088, 8478, 0, 0, 8483, 114, 110, 59, 32768, 8990, 111, 112, 59, 32768, 8973, 1280, 108, 112, 116, 117, 119, 8498, 8504, 8509, 8556, 8570, 108, 97, 114, 59, 32768, 36, 102, 59, 32896, 55349, 56661, 1280, 59, 101, 109, 112, 115, 8520, 8522, 8535, 8542, 8548, 32768, 729, 113, 512, 59, 100, 8528, 8530, 32768, 8784, 111, 116, 59, 32768, 8785, 105, 110, 117, 115, 59, 32768, 8760, 108, 117, 115, 59, 32768, 8724, 113, 117, 97, 114, 101, 59, 32768, 8865, 98, 108, 101, 98, 97, 114, 119, 101, 100, 103, 101, 59, 32768, 8966, 110, 768, 97, 100, 104, 8578, 8585, 8597, 114, 114, 111, 119, 59, 32768, 8595, 111, 119, 110, 97, 114, 114, 111, 119, 115, 59, 32768, 8650, 97, 114, 112, 111, 111, 110, 512, 108, 114, 8608, 8614, 101, 102, 116, 59, 32768, 8643, 105, 103, 104, 116, 59, 32768, 8642, 563, 8625, 8633, 107, 97, 114, 111, 119, 59, 32768, 10512, 1088, 8638, 0, 0, 8643, 114, 110, 59, 32768, 8991, 111, 112, 59, 32768, 8972, 768, 99, 111, 116, 8654, 8666, 8670, 512, 114, 121, 8659, 8663, 59, 32896, 55349, 56505, 59, 32768, 1109, 108, 59, 32768, 10742, 114, 111, 107, 59, 32768, 273, 512, 100, 114, 8681, 8686, 111, 116, 59, 32768, 8945, 105, 512, 59, 102, 8692, 8694, 32768, 9663, 59, 32768, 9662, 512, 97, 104, 8702, 8707, 114, 114, 59, 32768, 8693, 97, 114, 59, 32768, 10607, 97, 110, 103, 108, 101, 59, 32768, 10662, 512, 99, 105, 8725, 8729, 121, 59, 32768, 1119, 103, 114, 97, 114, 114, 59, 32768, 10239, 4608, 68, 97, 99, 100, 101, 102, 103, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 8774, 8788, 8807, 8844, 8849, 8852, 8866, 8895, 8929, 8977, 8989, 9004, 9046, 9136, 9151, 9171, 9184, 9199, 512, 68, 111, 8779, 8784, 111, 116, 59, 32768, 10871, 116, 59, 32768, 8785, 512, 99, 115, 8793, 8801, 117, 116, 101, 33024, 233, 59, 32768, 233, 116, 101, 114, 59, 32768, 10862, 1024, 97, 105, 111, 121, 8816, 8822, 8835, 8841, 114, 111, 110, 59, 32768, 283, 114, 512, 59, 99, 8828, 8830, 32768, 8790, 33024, 234, 59, 32768, 234, 108, 111, 110, 59, 32768, 8789, 59, 32768, 1101, 111, 116, 59, 32768, 279, 59, 32768, 8519, 512, 68, 114, 8857, 8862, 111, 116, 59, 32768, 8786, 59, 32896, 55349, 56610, 768, 59, 114, 115, 8873, 8875, 8883, 32768, 10906, 97, 118, 101, 33024, 232, 59, 32768, 232, 512, 59, 100, 8888, 8890, 32768, 10902, 111, 116, 59, 32768, 10904, 1024, 59, 105, 108, 115, 8904, 8906, 8914, 8917, 32768, 10905, 110, 116, 101, 114, 115, 59, 32768, 9191, 59, 32768, 8467, 512, 59, 100, 8922, 8924, 32768, 10901, 111, 116, 59, 32768, 10903, 768, 97, 112, 115, 8936, 8941, 8960, 99, 114, 59, 32768, 275, 116, 121, 768, 59, 115, 118, 8950, 8952, 8957, 32768, 8709, 101, 116, 59, 32768, 8709, 59, 32768, 8709, 112, 512, 49, 59, 8966, 8975, 516, 8970, 8973, 59, 32768, 8196, 59, 32768, 8197, 32768, 8195, 512, 103, 115, 8982, 8985, 59, 32768, 331, 112, 59, 32768, 8194, 512, 103, 112, 8994, 8999, 111, 110, 59, 32768, 281, 102, 59, 32896, 55349, 56662, 768, 97, 108, 115, 9011, 9023, 9028, 114, 512, 59, 115, 9017, 9019, 32768, 8917, 108, 59, 32768, 10723, 117, 115, 59, 32768, 10865, 105, 768, 59, 108, 118, 9036, 9038, 9043, 32768, 949, 111, 110, 59, 32768, 949, 59, 32768, 1013, 1024, 99, 115, 117, 118, 9055, 9071, 9099, 9128, 512, 105, 111, 9060, 9065, 114, 99, 59, 32768, 8790, 108, 111, 110, 59, 32768, 8789, 1082, 9077, 0, 0, 9081, 109, 59, 32768, 8770, 97, 110, 116, 512, 103, 108, 9088, 9093, 116, 114, 59, 32768, 10902, 101, 115, 115, 59, 32768, 10901, 768, 97, 101, 105, 9106, 9111, 9116, 108, 115, 59, 32768, 61, 115, 116, 59, 32768, 8799, 118, 512, 59, 68, 9122, 9124, 32768, 8801, 68, 59, 32768, 10872, 112, 97, 114, 115, 108, 59, 32768, 10725, 512, 68, 97, 9141, 9146, 111, 116, 59, 32768, 8787, 114, 114, 59, 32768, 10609, 768, 99, 100, 105, 9158, 9162, 9167, 114, 59, 32768, 8495, 111, 116, 59, 32768, 8784, 109, 59, 32768, 8770, 512, 97, 104, 9176, 9179, 59, 32768, 951, 33024, 240, 59, 32768, 240, 512, 109, 114, 9189, 9195, 108, 33024, 235, 59, 32768, 235, 111, 59, 32768, 8364, 768, 99, 105, 112, 9206, 9210, 9215, 108, 59, 32768, 33, 115, 116, 59, 32768, 8707, 512, 101, 111, 9220, 9230, 99, 116, 97, 116, 105, 111, 110, 59, 32768, 8496, 110, 101, 110, 116, 105, 97, 108, 101, 59, 32768, 8519, 4914, 9262, 0, 9276, 0, 9280, 9287, 0, 0, 9318, 9324, 0, 9331, 0, 9352, 9357, 9386, 0, 9395, 9497, 108, 108, 105, 110, 103, 
446100, 111, 116, 115, 101, 113, 59, 32768, 8786, 121, 59, 32768, 1092, 109, 97, 108, 101, 59, 32768, 9792, 768, 105, 108, 114, 9293, 9299, 9313, 108, 105, 103, 59, 32768, 64259, 1082, 9305, 0, 0, 9309, 103, 59, 32768, 64256, 105, 103, 59, 32768, 64260, 59, 32896, 55349, 56611, 108, 105, 103, 59, 32768, 64257, 108, 105, 103, 59, 32896, 102, 106, 768, 97, 108, 116, 9337, 9341, 9346, 116, 59, 32768, 9837, 105, 103, 59, 32768, 64258, 110, 115, 59, 32768, 9649, 111, 102, 59, 32768, 402, 833, 9361, 0, 9366, 102, 59, 32896, 55349, 56663, 512, 97, 107, 9370, 9375, 108, 108, 59, 32768, 8704, 512, 59, 118, 9380, 9382, 32768, 8916, 59, 32768, 10969, 97, 114, 116, 105, 110, 116, 59, 32768, 10765, 512, 97, 111, 9399, 9491, 512, 99, 115, 9404, 9487, 1794, 9413, 9443, 9453, 9470, 9474, 0, 9484, 1795, 9421, 9426, 9429, 9434, 9437, 0, 9440, 33024, 189, 59, 32768, 189, 59, 32768, 8531, 33024, 188, 59, 32768, 188, 59, 32768, 8533, 59, 32768, 8537, 59, 32768, 8539, 772, 9447, 0, 9450, 59, 32768, 8532, 59, 32768, 8534, 1285, 9459, 9464, 0, 0, 9467, 33024, 190, 59, 32768, 190, 59, 32768, 8535, 59, 32768, 8540, 53, 59, 32768, 8536, 775, 9478, 0, 9481, 59, 32768, 8538, 59, 32768, 8541, 56, 59, 32768, 8542, 108, 59, 32768, 8260, 119, 110, 59, 32768, 8994, 99, 114, 59, 32896, 55349, 56507, 4352, 69, 97, 98, 99, 100, 101, 102, 103, 105, 106, 108, 110, 111, 114, 115, 116, 118, 9537, 9547, 9575, 9582, 9595, 9600, 9679, 9684, 9694, 9700, 9705, 9725, 9773, 9779, 9785, 9810, 9917, 512, 59, 108, 9542, 9544, 32768, 8807, 59, 32768, 10892, 768, 99, 109, 112, 9554, 9560, 9572, 117, 116, 101, 59, 32768, 501, 109, 97, 512, 59, 100, 9567, 9569, 32768, 947, 59, 32768, 989, 59, 32768, 10886, 114, 101, 118, 101, 59, 32768, 287, 512, 105, 121, 9587, 9592, 114, 99, 59, 32768, 285, 59, 32768, 1075, 111, 116, 59, 32768, 289, 1024, 59, 108, 113, 115, 9609, 9611, 9614, 9633, 32768, 8805, 59, 32768, 8923, 768, 59, 113, 115, 9621, 9623, 9626, 32768, 8805, 59, 32768, 8807, 108, 97, 110, 116, 59, 32768, 10878, 1024, 59, 99, 100, 108, 9642, 9644, 9648, 9667, 32768, 10878, 99, 59, 32768, 10921, 111, 116, 512, 59, 111, 9655, 9657, 32768, 10880, 512, 59, 108, 9662, 9664, 32768, 10882, 59, 32768, 10884, 512, 59, 101, 9672, 9675, 32896, 8923, 65024, 115, 59, 32768, 10900, 114, 59, 32896, 55349, 56612, 512, 59, 103, 9689, 9691, 32768, 8811, 59, 32768, 8921, 109, 101, 108, 59, 32768, 8503, 99, 121, 59, 32768, 1107, 1024, 59, 69, 97, 106, 9714, 9716, 9719, 9722, 32768, 8823, 59, 32768, 10898, 59, 32768, 10917, 59, 32768, 10916, 1024, 69, 97, 101, 115, 9734, 9737, 9751, 9768, 59, 32768, 8809, 112, 512, 59, 112, 9743, 9745, 32768, 10890, 114, 111, 120, 59, 32768, 10890, 512, 59, 113, 9756, 9758, 32768, 10888, 512, 59, 113, 9763, 9765, 32768, 10888, 59, 32768, 8809, 105, 109, 59, 32768, 8935, 112, 102, 59, 32896, 55349, 56664, 97, 118, 101, 59, 32768, 96, 512, 99, 105, 9790, 9794, 114, 59, 32768, 8458, 109, 768, 59, 101, 108, 9802, 9804, 9807, 32768, 8819, 59, 32768, 10894, 59, 32768, 10896, 34304, 62, 59, 99, 100, 108, 113, 114, 9824, 9826, 9838, 9843, 9849, 9856, 32768, 62, 512, 99, 105, 9831, 9834, 59, 32768, 10919, 114, 59, 32768, 10874, 111, 116, 59, 32768, 8919, 80, 97, 114, 59, 32768, 10645, 117, 101, 115, 116, 59, 32768, 10876, 1280, 97, 100, 101, 108, 115, 9867, 9882, 9887, 9906, 9912, 833, 9872, 0, 9879, 112, 114, 111, 120, 59, 32768, 10886, 114, 59, 32768, 10616, 111, 116, 59, 32768, 8919, 113, 512, 108, 113, 9893, 9899, 101, 115, 115, 59, 32768, 8923, 108, 101, 115, 115, 59, 32768, 10892, 101, 115, 115, 59, 32768, 8823, 105, 109, 59, 32768, 8819, 512, 101, 110, 9922, 9932, 114, 116, 110, 101, 113, 113, 59, 32896, 8809, 65024, 69, 59, 32896, 8809, 65024, 2560, 65, 97, 98, 99, 101, 102, 107, 111, 115, 121, 9958, 9963, 10015, 10020, 10026, 10060, 10065, 10085, 10147, 10171, 114, 114, 59, 32768, 8660, 1024, 105, 108, 109, 114, 9972, 9978, 9982, 9988, 114, 115, 112, 59, 32768, 8202, 102, 59, 32768, 189, 105, 108, 116, 59, 32768, 8459, 512, 100, 114, 9993, 9998, 99, 121, 59, 32768, 1098, 768, 59, 99, 119, 10005, 10007, 10012, 32768, 8596, 105, 114, 59, 32768, 10568, 59, 32768, 8621, 97, 114, 59, 32768, 8463, 105, 114, 99, 59, 32768, 293, 768, 97, 108, 114, 10033, 10048, 10054, 114, 116, 115, 512, 59, 117, 10041, 10043, 32768, 9829, 105, 116, 59, 32768, 9829, 108, 105, 112, 59, 32768, 8230, 99, 111, 110, 59, 32768, 8889, 114, 59, 32896, 55349, 56613, 115, 512, 101, 119, 10071, 10078, 97, 114, 111, 119, 59, 32768, 10533, 97, 114, 111, 119, 59, 32768, 10534, 1280, 97, 109, 111, 112, 114, 10096, 10101, 10107, 10136, 10141, 114, 114, 59, 32768, 8703, 116, 104, 116, 59, 32768, 8763, 107, 512, 108, 114, 10113, 10124, 101, 102, 116, 97, 114, 114, 111, 119, 59, 32768, 8617, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8618, 102, 59, 32896, 55349, 56665, 98, 97, 114, 59, 32768, 8213, 768, 99, 108, 116, 10154, 10159, 10165, 114, 59, 32896, 55349, 56509, 97, 115, 104, 59, 32768, 8463, 114, 111, 107, 59, 32768, 295, 512, 98, 112, 10176, 10182, 117, 108, 108, 59, 32768, 8259, 104, 101, 110, 59, 32768, 8208, 5426, 10211, 0, 10220, 0, 10239, 10255, 10267, 0, 10276, 10312, 0, 0, 10318, 10371, 10458, 10485, 10491, 0, 10500, 10545, 10558, 99, 117, 116, 101, 33024, 237, 59, 32768, 237, 768, 59, 105, 121, 10226, 10228, 10235, 32768, 8291, 114, 99, 33024, 238, 59, 32768, 238, 59, 32768, 1080, 512, 99, 120, 10243, 10247, 121, 59, 32768, 1077, 99, 108, 33024, 
446161, 59, 32768, 161, 512, 102, 114, 10259, 10262, 59, 32768, 8660, 59, 32896, 55349, 56614, 114, 97, 118, 101, 33024, 236, 59, 32768, 236, 1024, 59, 105, 110, 111, 10284, 10286, 10300, 10306, 32768, 8520, 512, 105, 110, 10291, 10296, 110, 116, 59, 32768, 10764, 116, 59, 32768, 8749, 102, 105, 110, 59, 32768, 10716, 116, 97, 59, 32768, 8489, 108, 105, 103, 59, 32768, 307, 768, 97, 111, 112, 10324, 10361, 10365, 768, 99, 103, 116, 10331, 10335, 10357, 114, 59, 32768, 299, 768, 101, 108, 112, 10342, 10345, 10351, 59, 32768, 8465, 105, 110, 101, 59, 32768, 8464, 97, 114, 116, 59, 32768, 8465, 104, 59, 32768, 305, 102, 59, 32768, 8887, 101, 100, 59, 32768, 437, 1280, 59, 99, 102, 111, 116, 10381, 10383, 10389, 10403, 10409, 32768, 8712, 97, 114, 101, 59, 32768, 8453, 105, 110, 512, 59, 116, 10396, 10398, 32768, 8734, 105, 101, 59, 32768, 10717, 100, 111, 116, 59, 32768, 305, 1280, 59, 99, 101, 108, 112, 10420, 10422, 10427, 10444, 10451, 32768, 8747, 97, 108, 59, 32768, 8890, 512, 103, 114, 10432, 10438, 101, 114, 115, 59, 32768, 8484, 99, 97, 108, 59, 32768, 8890, 97, 114, 104, 107, 59, 32768, 10775, 114, 111, 100, 59, 32768, 10812, 1024, 99, 103, 112, 116, 10466, 10470, 10475, 10480, 121, 59, 32768, 1105, 111, 110, 59, 32768, 303, 102, 59, 32896, 55349, 56666, 97, 59, 32768, 953, 114, 111, 100, 59, 32768, 10812, 117, 101, 115, 116, 33024, 191, 59, 32768, 191, 512, 99, 105, 10504, 10509, 114, 59, 32896, 55349, 56510, 110, 1280, 59, 69, 100, 115, 118, 10521, 10523, 10526, 10531, 10541, 32768, 8712, 59, 32768, 8953, 111, 116, 59, 32768, 8949, 512, 59, 118, 10536, 10538, 32768, 8948, 59, 32768, 8947, 59, 32768, 8712, 512, 59, 105, 10549, 10551, 32768, 8290, 108, 100, 101, 59, 32768, 297, 828, 10562, 0, 10567, 99, 121, 59, 32768, 1110, 108, 33024, 239, 59, 32768, 239, 1536, 99, 102, 109, 111, 115, 117, 10585, 10598, 10603, 10609, 10615, 10630, 512, 105, 121, 10590, 10595, 114, 99, 59, 32768, 309, 59, 32768, 1081, 114, 59, 32896, 55349, 56615, 97, 116, 104, 59, 32768, 567, 112, 102, 59, 32896, 55349, 56667, 820, 10620, 0, 10625, 114, 59, 32896, 55349, 56511, 114, 99, 121, 59, 32768, 1112, 107, 99, 121, 59, 32768, 1108, 2048, 97, 99, 102, 103, 104, 106, 111, 115, 10653, 10666, 10680, 10685, 10692, 10697, 10702, 10708, 112, 112, 97, 512, 59, 118, 10661, 10663, 32768, 954, 59, 32768, 1008, 512, 101, 121, 10671, 10677, 100, 105, 108, 59, 32768, 311, 59, 32768, 1082, 114, 59, 32896, 55349, 56616, 114, 101, 101, 110, 59, 32768, 312, 99, 121, 59, 32768, 1093, 99, 121, 59, 32768, 1116, 112, 102, 59, 32896, 55349, 56668, 99, 114, 59, 32896, 55349, 56512, 5888, 65, 66, 69, 72, 97, 98, 99, 100, 101, 102, 103, 104, 106, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 10761, 10783, 10789, 10799, 10804, 10957, 11011, 11047, 11094, 11349, 11372, 11382, 11409, 11414, 11451, 11478, 11526, 11698, 11711, 11755, 11823, 11910, 11929, 768, 97, 114, 116, 10768, 10773, 10777, 114, 114, 59, 32768, 8666, 114, 59, 32768, 8656, 97, 105, 108, 59, 32768, 10523, 97, 114, 114, 59, 32768, 10510, 512, 59, 103, 10794, 10796, 32768, 8806, 59, 32768, 10891, 97, 114, 59, 32768, 10594, 4660, 10824, 0, 10830, 0, 10838, 0, 0, 0, 0, 0, 10844, 10850, 0, 10867, 10870, 10877, 0, 10933, 117, 116, 101, 59, 32768, 314, 109, 112, 116, 121, 118, 59, 32768, 10676, 114, 97, 110, 59, 32768, 8466, 98, 100, 97, 59, 32768, 955, 103, 768, 59, 100, 108, 10857, 10859, 10862, 32768, 10216, 59, 32768, 10641, 101, 59, 32768, 10216, 59, 32768, 10885, 117, 111, 33024, 171, 59, 32768, 171, 114, 2048, 59, 98, 102, 104, 108, 112, 115, 116, 10894, 10896, 10907, 10911, 10915, 10919, 10923, 10928, 32768, 8592, 512, 59, 102, 10901, 10903, 32768, 8676, 115, 59, 32768, 10527, 115, 59, 32768, 10525, 107, 59, 32768, 8617, 112, 59, 32768, 8619, 108, 59, 32768, 10553, 105, 109, 59, 32768, 10611, 108, 59, 32768, 8610, 768, 59, 97, 101, 10939, 10941, 10946, 32768, 10923, 105, 108, 59, 32768, 10521, 512, 59, 115, 10951, 10953, 32768, 10925, 59, 32896, 10925, 65024, 768, 97, 98, 114, 10964, 10969, 10974, 114, 114, 59, 32768, 10508, 114, 107, 59, 32768, 10098, 512, 97, 107, 10979, 10991, 99, 512, 101, 107, 10985, 10988, 59, 32768, 123, 59, 32768, 91, 512, 101, 115, 10996, 10999, 59, 32768, 10635, 108, 512, 100, 117, 11005, 11008, 59, 32768, 10639, 59, 32768, 10637, 1024, 97, 101, 117, 121, 11020, 11026, 11040, 11044, 114, 111, 110, 59, 32768, 318, 512, 100, 105, 11031, 11036, 105, 108, 59, 32768, 316, 108, 59, 32768, 8968, 98, 59, 32768, 123, 59, 32768, 1083, 1024, 99, 113, 114, 115, 11056, 11060, 11072, 11090, 97, 59, 32768, 10550, 117, 111, 512, 59, 114, 11067, 11069, 32768, 8220, 59, 32768, 8222, 512, 100, 117, 11077, 11083, 104, 97, 114, 59, 32768, 10599, 115, 104, 97, 114, 59, 32768, 10571, 104, 59, 32768, 8626, 1280, 59, 102, 103, 113, 115, 11105, 11107, 11228, 11231, 11250, 32768, 8804, 116, 1280, 97, 104, 108, 114, 116, 11119, 11136, 11157, 11169, 11216, 114, 114, 111, 119, 512, 59, 116, 11128, 11130, 32768, 8592, 97, 105, 108, 59, 32768, 8610, 97, 114, 112, 111, 111, 110, 512, 100, 117, 11147, 11153, 111, 119, 110, 59, 32768, 8637, 112, 59, 32768, 8636, 101, 102, 116, 97, 114, 114, 111, 119, 115, 59, 32768, 8647, 105, 103, 104, 116, 768, 97, 104, 115, 11180, 11194, 11204, 114, 114, 111, 119, 512, 59, 115, 11189, 11191, 32768, 8596, 59, 32768, 8646, 97, 114, 112, 111, 111, 110, 115, 59, 32768, 8651, 113, 117, 105, 103, 97, 114, 114, 111, 119, 59, 32768, 8621, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 32768, 8907, 59, 32768, 8922, 768, 59, 113, 115, 11238, 11240, 11243, 32768, 8804, 59, 32768, 8806, 108, 97, 110, 116, 59, 32768, 10877, 1280, 59, 99, 100, 103, 
446115, 11261, 11263, 11267, 11286, 11298, 32768, 10877, 99, 59, 32768, 10920, 111, 116, 512, 59, 111, 11274, 11276, 32768, 10879, 512, 59, 114, 11281, 11283, 32768, 10881, 59, 32768, 10883, 512, 59, 101, 11291, 11294, 32896, 8922, 65024, 115, 59, 32768, 10899, 1280, 97, 100, 101, 103, 115, 11309, 11317, 11322, 11339, 11344, 112, 112, 114, 111, 120, 59, 32768, 10885, 111, 116, 59, 32768, 8918, 113, 512, 103, 113, 11328, 11333, 116, 114, 59, 32768, 8922, 103, 116, 114, 59, 32768, 10891, 116, 114, 59, 32768, 8822, 105, 109, 59, 32768, 8818, 768, 105, 108, 114, 11356, 11362, 11368, 115, 104, 116, 59, 32768, 10620, 111, 111, 114, 59, 32768, 8970, 59, 32896, 55349, 56617, 512, 59, 69, 11377, 11379, 32768, 8822, 59, 32768, 10897, 562, 11386, 11405, 114, 512, 100, 117, 11391, 11394, 59, 32768, 8637, 512, 59, 108, 11399, 11401, 32768, 8636, 59, 32768, 10602, 108, 107, 59, 32768, 9604, 99, 121, 59, 32768, 1113, 1280, 59, 97, 99, 104, 116, 11425, 11427, 11432, 11440, 11446, 32768, 8810, 114, 114, 59, 32768, 8647, 111, 114, 110, 101, 114, 59, 32768, 8990, 97, 114, 100, 59, 32768, 10603, 114, 105, 59, 32768, 9722, 512, 105, 111, 11456, 11462, 100, 111, 116, 59, 32768, 320, 117, 115, 116, 512, 59, 97, 11470, 11472, 32768, 9136, 99, 104, 101, 59, 32768, 9136, 1024, 69, 97, 101, 115, 11487, 11490, 11504, 11521, 59, 32768, 8808, 112, 512, 59, 112, 11496, 11498, 32768, 10889, 114, 111, 120, 59, 32768, 10889, 512, 59, 113, 11509, 11511, 32768, 10887, 512, 59, 113, 11516, 11518, 32768, 10887, 59, 32768, 8808, 105, 109, 59, 32768, 8934, 2048, 97, 98, 110, 111, 112, 116, 119, 122, 11543, 11556, 11561, 11616, 11640, 11660, 11667, 11680, 512, 110, 114, 11548, 11552, 103, 59, 32768, 10220, 114, 59, 32768, 8701, 114, 107, 59, 32768, 10214, 103, 768, 108, 109, 114, 11569, 11596, 11604, 101, 102, 116, 512, 97, 114, 11577, 11584, 114, 114, 111, 119, 59, 32768, 10229, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10231, 97, 112, 115, 116, 111, 59, 32768, 10236, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10230, 112, 97, 114, 114, 111, 119, 512, 108, 114, 11627, 11633, 101, 102, 116, 59, 32768, 8619, 105, 103, 104, 116, 59, 32768, 8620, 768, 97, 102, 108, 11647, 11651, 11655, 114, 59, 32768, 10629, 59, 32896, 55349, 56669, 117, 115, 59, 32768, 10797, 105, 109, 101, 115, 59, 32768, 10804, 562, 11671, 11676, 115, 116, 59, 32768, 8727, 97, 114, 59, 32768, 95, 768, 59, 101, 102, 11687, 11689, 11695, 32768, 9674, 110, 103, 101, 59, 32768, 9674, 59, 32768, 10731, 97, 114, 512, 59, 108, 11705, 11707, 32768, 40, 116, 59, 32768, 10643, 1280, 97, 99, 104, 109, 116, 11722, 11727, 11735, 11747, 11750, 114, 114, 59, 32768, 8646, 111, 114, 110, 101, 114, 59, 32768, 8991, 97, 114, 512, 59, 100, 11742, 11744, 32768, 8651, 59, 32768, 10605, 59, 32768, 8206, 114, 105, 59, 32768, 8895, 1536, 97, 99, 104, 105, 113, 116, 11768, 11774, 11779, 11782, 11798, 11817, 113, 117, 111, 59, 32768, 8249, 114, 59, 32896, 55349, 56513, 59, 32768, 8624, 109, 768, 59, 101, 103, 11790, 11792, 11795, 32768, 8818, 59, 32768, 10893, 59, 32768, 10895, 512, 98, 117, 11803, 11806, 59, 32768, 91, 111, 512, 59, 114, 11812, 11814, 32768, 8216, 59, 32768, 8218, 114, 111, 107, 59, 32768, 322, 34816, 60, 59, 99, 100, 104, 105, 108, 113, 114, 11841, 11843, 11855, 11860, 11866, 11872, 11878, 11885, 32768, 60, 512, 99, 105, 11848, 11851, 59, 32768, 10918, 114, 59, 32768, 10873, 111, 116, 59, 32768, 8918, 114, 101, 101, 59, 32768, 8907, 109, 101, 115, 59, 32768, 8905, 97, 114, 114, 59, 32768, 10614, 117, 101, 115, 116, 59, 32768, 10875, 512, 80, 105, 11890, 11895, 97, 114, 59, 32768, 10646, 768, 59, 101, 102, 11902, 11904, 11907, 32768, 9667, 59, 32768, 8884, 59, 32768, 9666, 114, 512, 100, 117, 11916, 11923, 115, 104, 97, 114, 59, 32768, 10570, 104, 97, 114, 59, 32768, 10598, 512, 101, 110, 11934, 11944, 114, 116, 110, 101, 113, 113, 59, 32896, 8808, 65024, 69, 59, 32896, 8808, 65024, 3584, 68, 97, 99, 100, 101, 102, 104, 105, 108, 110, 111, 112, 115, 117, 11978, 11984, 12061, 12075, 12081, 12095, 12100, 12104, 12170, 12181, 12188, 12204, 12207, 12223, 68, 111, 116, 59, 32768, 8762, 1024, 99, 108, 112, 114, 11993, 11999, 12019, 12055, 114, 33024, 
446175, 59, 32768, 175, 512, 101, 116, 12004, 12007, 59, 32768, 9794, 512, 59, 101, 12012, 12014, 32768, 10016, 115, 101, 59, 32768, 10016, 512, 59, 115, 12024, 12026, 32768, 8614, 116, 111, 1024, 59, 100, 108, 117, 12037, 12039, 12045, 12051, 32768, 8614, 111, 119, 110, 59, 32768, 8615, 101, 102, 116, 59, 32768, 8612, 112, 59, 32768, 8613, 107, 101, 114, 59, 32768, 9646, 512, 111, 121, 12066, 12072, 109, 109, 97, 59, 32768, 10793, 59, 32768, 1084, 97, 115, 104, 59, 32768, 8212, 97, 115, 117, 114, 101, 100, 97, 110, 103, 108, 101, 59, 32768, 8737, 114, 59, 32896, 55349, 56618, 111, 59, 32768, 8487, 768, 99, 100, 110, 12111, 12118, 12146, 114, 111, 33024, 181, 59, 32768, 181, 1024, 59, 97, 99, 100, 12127, 12129, 12134, 12139, 32768, 8739, 115, 116, 59, 32768, 42, 105, 114, 59, 32768, 10992, 111, 116, 33024, 183, 59, 32768, 183, 117, 115, 768, 59, 98, 100, 12155, 12157, 12160, 32768, 8722, 59, 32768, 8863, 512, 59, 117, 12165, 12167, 32768, 8760, 59, 32768, 10794, 564, 12174, 12178, 112, 59, 32768, 10971, 114, 59, 32768, 8230, 112, 108, 117, 115, 59, 32768, 8723, 512, 100, 112, 12193, 12199, 101, 108, 115, 59, 32768, 8871, 102, 59, 32896, 55349, 56670, 59, 32768, 8723, 512, 99, 116, 12212, 12217, 114, 59, 32896, 55349, 56514, 112, 111, 115, 59, 32768, 8766, 768, 59, 108, 109, 12230, 12232, 12240, 32768, 956, 116, 105, 109, 97, 112, 59, 32768, 8888, 97, 112, 59, 32768, 8888, 6144, 71, 76, 82, 86, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 12294, 12315, 12364, 12376, 12393, 12472, 12496, 12547, 12553, 12636, 12641, 12703, 12725, 12747, 12752, 12876, 12881, 12957, 13033, 13089, 13294, 13359, 13384, 13499, 512, 103, 116, 12299, 12303, 59, 32896, 8921, 824, 512, 59, 118, 12308, 12311, 32896, 8811, 8402, 59, 32896, 8811, 824, 768, 101, 108, 116, 12322, 12348, 12352, 102, 116, 512, 97, 114, 12329, 12336, 114, 114, 111, 119, 59, 32768, 8653, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8654, 59, 32896, 8920, 824, 512, 59, 118, 12357, 12360, 32896, 8810, 8402, 59, 32896, 8810, 824, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8655, 512, 68, 100, 12381, 12387, 97, 115, 104, 59, 32768, 8879, 97, 115, 104, 59, 32768, 8878, 1280, 98, 99, 110, 112, 116, 12404, 12409, 12415, 12420, 12452, 108, 97, 59, 32768, 8711, 117, 116, 101, 59, 32768, 324, 103, 59, 32896, 8736, 8402, 1280, 59, 69, 105, 111, 112, 12431, 12433, 12437, 12442, 12446, 32768, 8777, 59, 32896, 10864, 824, 100, 59, 32896, 8779, 824, 115, 59, 32768, 329, 114, 111, 120, 59, 32768, 8777, 117, 114, 512, 59, 97, 12459, 12461, 32768, 9838, 108, 512, 59, 115, 12467, 12469, 32768, 9838, 59, 32768, 8469, 836, 12477, 0, 12483, 112, 33024, 160, 59, 32768, 160, 109, 112, 512, 59, 101, 12489, 12492, 32896, 8782, 824, 59, 32896, 8783, 824, 1280, 97, 101, 111, 117, 121, 12507, 12519, 12525, 12540, 12544, 833, 12512, 0, 12515, 59, 32768, 10819, 111, 110, 59, 32768, 328, 100, 105, 108, 59, 32768, 326, 110, 103, 512, 59, 100, 12532, 12534, 32768, 8775, 111, 116, 59, 32896, 10861, 824, 112, 59, 32768, 10818, 59, 32768, 1085, 97, 115, 104, 59, 32768, 8211, 1792, 59, 65, 97, 100, 113, 115, 120, 12568, 12570, 12575, 12596, 12602, 12608, 12623, 32768, 8800, 114, 114, 59, 32768, 8663, 114, 512, 104, 114, 12581, 12585, 107, 59, 32768, 10532, 512, 59, 111, 12590, 12592, 32768, 8599, 119, 59, 32768, 8599, 111, 116, 59, 32896, 8784, 824, 117, 105, 118, 59, 32768, 8802, 512, 101, 105, 12613, 12618, 97, 114, 59, 32768, 10536, 109, 59, 32896, 8770, 824, 105, 115, 116, 512, 59, 115, 12631, 12633, 32768, 8708, 59, 32768, 8708, 114, 59, 32896, 55349, 56619, 1024, 69, 101, 115, 116, 12650, 12654, 12688, 12693, 59, 32896, 8807, 824, 768, 59, 113, 115, 12661, 12663, 12684, 32768, 8817, 768, 59, 113, 115, 12670, 12672, 12676, 32768, 8817, 59, 32896, 8807, 824, 108, 97, 110, 116, 59, 32896, 10878, 824, 59, 32896, 10878, 824, 105, 109, 59, 32768, 8821, 512, 59, 114, 12698, 12700, 32768, 8815, 59, 32768, 8815, 768, 65, 97, 112, 12710, 12715, 12720, 114, 114, 59, 32768, 8654, 114, 114, 59, 32768, 8622, 97, 114, 59, 32768, 10994, 768, 59, 115, 118, 12732, 12734, 12744, 32768, 8715, 512, 59, 100, 12739, 12741, 32768, 8956, 59, 32768, 8954, 59, 32768, 8715, 99, 121, 59, 32768, 1114, 1792, 65, 69, 97, 100, 101, 115, 116, 12767, 12772, 12776, 12781, 12785, 12853, 12858, 114, 114, 59, 32768, 8653, 59, 32896, 8806, 824, 114, 114, 59, 32768, 8602, 114, 59, 32768, 8229, 1024, 59, 102, 113, 115, 12794, 12796, 12821, 12842, 32768, 8816, 116, 512, 97, 114, 12802, 12809, 114, 114, 111, 119, 59, 32768, 8602, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8622, 768, 59, 113, 115, 12828, 12830, 12834, 32768, 8816, 59, 32896, 8806, 824, 108, 97, 110, 116, 59, 32896, 10877, 824, 512, 59, 115, 12847, 12850, 32896, 10877, 824, 59, 32768, 8814, 105, 109, 59, 32768, 8820, 512, 59, 114, 12863, 12865, 32768, 8814, 105, 512, 59, 101, 12871, 12873, 32768, 8938, 59, 32768, 8940, 105, 100, 59, 32768, 8740, 512, 112, 116, 12886, 12891, 102, 59, 32896, 55349, 56671, 33536, 172, 59, 105, 110, 12899, 12901, 12936, 32768, 172, 110, 1024, 59, 69, 100, 118, 12911, 12913, 12917, 12923, 32768, 8713, 59, 32896, 8953, 824, 111, 116, 59, 32896, 8949, 824, 818, 12928, 12931, 12934, 59, 32768, 8713, 59, 32768, 8951, 59, 32768, 8950, 105, 512, 59, 118, 12942, 12944, 32768, 8716, 818, 12949, 12952, 12955, 59, 32768, 8716, 59, 32768, 8958, 59, 32768, 8957, 768, 97, 111, 114, 12964, 12992, 12999, 114, 1024, 59, 97, 115, 116, 12974, 12976, 12983, 12988, 32768, 8742, 108, 108, 101, 108, 59, 32768, 8742, 108, 59, 32896, 11005, 8421, 59, 32896, 8706, 824, 108, 105, 110, 116, 59, 32768, 10772, 768, 59, 99, 101, 13006, 13008, 13013, 32768, 8832, 117, 101, 59, 32768, 8928, 512, 59, 99, 13018, 13021, 32896, 10927, 824, 512, 59, 101, 13026, 13028, 32768, 8832, 113, 59, 32896, 10927, 824, 1024, 65, 97, 105, 116, 13042, 13047, 13066, 13077, 114, 114, 59, 32768, 8655, 114, 114, 768, 59, 99, 119, 13056, 13058, 13062, 32768, 8603, 59, 32896, 10547, 824, 59, 32896, 8605, 824, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8603, 
446114, 105, 512, 59, 101, 13084, 13086, 32768, 8939, 59, 32768, 8941, 1792, 99, 104, 105, 109, 112, 113, 117, 13104, 13128, 13151, 13169, 13174, 13179, 13194, 1024, 59, 99, 101, 114, 13113, 13115, 13120, 13124, 32768, 8833, 117, 101, 59, 32768, 8929, 59, 32896, 10928, 824, 59, 32896, 55349, 56515, 111, 114, 116, 1086, 13137, 0, 0, 13142, 105, 100, 59, 32768, 8740, 97, 114, 97, 108, 108, 101, 108, 59, 32768, 8742, 109, 512, 59, 101, 13157, 13159, 32768, 8769, 512, 59, 113, 13164, 13166, 32768, 8772, 59, 32768, 8772, 105, 100, 59, 32768, 8740, 97, 114, 59, 32768, 8742, 115, 117, 512, 98, 112, 13186, 13190, 101, 59, 32768, 8930, 101, 59, 32768, 8931, 768, 98, 99, 112, 13201, 13241, 13254, 1024, 59, 69, 101, 115, 13210, 13212, 13216, 13219, 32768, 8836, 59, 32896, 10949, 824, 59, 32768, 8840, 101, 116, 512, 59, 101, 13226, 13229, 32896, 8834, 8402, 113, 512, 59, 113, 13235, 13237, 32768, 8840, 59, 32896, 10949, 824, 99, 512, 59, 101, 13247, 13249, 32768, 8833, 113, 59, 32896, 10928, 824, 1024, 59, 69, 101, 115, 13263, 13265, 13269, 13272, 32768, 8837, 59, 32896, 10950, 824, 59, 32768, 8841, 101, 116, 512, 59, 101, 13279, 13282, 32896, 8835, 8402, 113, 512, 59, 113, 13288, 13290, 32768, 8841, 59, 32896, 10950, 824, 1024, 103, 105, 108, 114, 13303, 13307, 13315, 13319, 108, 59, 32768, 8825, 108, 100, 101, 33024, 241, 59, 32768, 241, 103, 59, 32768, 8824, 105, 97, 110, 103, 108, 101, 512, 108, 114, 13330, 13344, 101, 102, 116, 512, 59, 101, 13338, 13340, 32768, 8938, 113, 59, 32768, 8940, 105, 103, 104, 116, 512, 59, 101, 13353, 13355, 32768, 8939, 113, 59, 32768, 8941, 512, 59, 109, 13364, 13366, 32768, 957, 768, 59, 101, 115, 13373, 13375, 13380, 32768, 35, 114, 111, 59, 32768, 8470, 112, 59, 32768, 8199, 2304, 68, 72, 97, 100, 103, 105, 108, 114, 115, 13403, 13409, 13415, 13420, 13426, 13439, 13446, 13476, 13493, 97, 115, 104, 59, 32768, 8877, 97, 114, 114, 59, 32768, 10500, 112, 59, 32896, 8781, 8402, 97, 115, 104, 59, 32768, 8876, 512, 101, 116, 13431, 13435, 59, 32896, 8805, 8402, 59, 32896, 62, 8402, 110, 102, 105, 110, 59, 32768, 10718, 768, 65, 101, 116, 13453, 13458, 13462, 114, 114, 59, 32768, 10498, 59, 32896, 8804, 8402, 512, 59, 114, 13467, 13470, 32896, 60, 8402, 105, 101, 59, 32896, 8884, 8402, 512, 65, 116, 13481, 13486, 114, 114, 59, 32768, 10499, 114, 105, 101, 59, 32896, 8885, 8402, 105, 109, 59, 32896, 8764, 8402, 768, 65, 97, 110, 13506, 13511, 13532, 114, 114, 59, 32768, 8662, 114, 512, 104, 114, 13517, 13521, 107, 59, 32768, 10531, 512, 59, 111, 13526, 13528, 32768, 8598, 119, 59, 32768, 8598, 101, 97, 114, 59, 32768, 10535, 9252, 13576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13579, 0, 13596, 13617, 13653, 13659, 13673, 13695, 13708, 0, 0, 13713, 13750, 0, 13788, 13794, 0, 13815, 13890, 13913, 13937, 13944, 59, 32768, 9416, 512, 99, 115, 13583, 13591, 117, 116, 101, 33024, 243, 59, 32768, 243, 116, 59, 32768, 8859, 512, 105, 121, 13600, 13613, 114, 512, 59, 99, 13606, 13608, 32768, 8858, 33024, 244, 59, 32768, 244, 59, 32768, 1086, 1280, 97, 98, 105, 111, 115, 13627, 13632, 13638, 13642, 13646, 115, 104, 59, 32768, 8861, 108, 97, 99, 59, 32768, 337, 118, 59, 32768, 10808, 116, 59, 32768, 8857, 111, 108, 100, 59, 32768, 10684, 108, 105, 103, 59, 32768, 339, 512, 99, 114, 13663, 13668, 105, 114, 59, 32768, 10687, 59, 32896, 55349, 56620, 1600, 13680, 0, 0, 13684, 0, 13692, 110, 59, 32768, 731, 97, 118, 101, 33024, 242, 59, 32768, 242, 59, 32768, 10689, 512, 98, 109, 13699, 13704, 97, 114, 59, 32768, 10677, 59, 32768, 937, 110, 116, 59, 32768, 8750, 1024, 97, 99, 105, 116, 13721, 13726, 13741, 13746, 114, 114, 59, 32768, 8634, 512, 105, 114, 13731, 13735, 114, 59, 32768, 10686, 111, 115, 115, 59, 32768, 10683, 110, 101, 59, 32768, 8254, 59, 32768, 10688, 768, 97, 101, 105, 13756, 13761, 13766, 99, 114, 59, 32768, 333, 103, 97, 59, 32768, 969, 768, 99, 100, 110, 13773, 13779, 13782, 114, 111, 110, 59, 32768, 959, 59, 32768, 10678, 117, 115, 59, 32768, 8854, 112, 102, 59, 32896, 55349, 56672, 768, 97, 101, 108, 13800, 13804, 13809, 114, 59, 32768, 10679, 114, 112, 59, 32768, 10681, 117, 115, 59, 32768, 8853, 1792, 59, 97, 100, 105, 111, 115, 118, 13829, 13831, 13836, 13869, 13875, 13879, 13886, 32768, 8744, 
446114, 114, 59, 32768, 8635, 1024, 59, 101, 102, 109, 13845, 13847, 13859, 13864, 32768, 10845, 114, 512, 59, 111, 13853, 13855, 32768, 8500, 102, 59, 32768, 8500, 33024, 170, 59, 32768, 170, 33024, 186, 59, 32768, 186, 103, 111, 102, 59, 32768, 8886, 114, 59, 32768, 10838, 108, 111, 112, 101, 59, 32768, 10839, 59, 32768, 10843, 768, 99, 108, 111, 13896, 13900, 13908, 114, 59, 32768, 8500, 97, 115, 104, 33024, 248, 59, 32768, 248, 108, 59, 32768, 8856, 105, 573, 13917, 13924, 100, 101, 33024, 245, 59, 32768, 245, 101, 115, 512, 59, 97, 13930, 13932, 32768, 8855, 115, 59, 32768, 10806, 109, 108, 33024, 246, 59, 32768, 246, 98, 97, 114, 59, 32768, 9021, 5426, 13972, 0, 14013, 0, 14017, 14053, 0, 14058, 14086, 0, 0, 14107, 14199, 0, 14202, 0, 0, 14229, 14425, 0, 14438, 114, 1024, 59, 97, 115, 116, 13981, 13983, 13997, 14009, 32768, 8741, 33280, 182, 59, 108, 13989, 13991, 32768, 182, 108, 101, 108, 59, 32768, 8741, 1082, 14003, 0, 0, 14007, 109, 59, 32768, 10995, 59, 32768, 11005, 59, 32768, 8706, 121, 59, 32768, 1087, 114, 1280, 99, 105, 109, 112, 116, 14028, 14033, 14038, 14043, 14046, 110, 116, 59, 32768, 37, 111, 100, 59, 32768, 46, 105, 108, 59, 32768, 8240, 59, 32768, 8869, 101, 110, 107, 59, 32768, 8241, 114, 59, 32896, 55349, 56621, 768, 105, 109, 111, 14064, 14074, 14080, 512, 59, 118, 14069, 14071, 32768, 966, 59, 32768, 981, 109, 97, 116, 59, 32768, 8499, 110, 101, 59, 32768, 9742, 768, 59, 116, 118, 14092, 14094, 14103, 32768, 960, 99, 104, 102, 111, 114, 107, 59, 32768, 8916, 59, 32768, 982, 512, 97, 117, 14111, 14132, 110, 512, 99, 107, 14117, 14128, 107, 512, 59, 104, 14123, 14125, 32768, 8463, 59, 32768, 8462, 118, 59, 32768, 8463, 115, 2304, 59, 97, 98, 99, 100, 101, 109, 115, 116, 14152, 14154, 14160, 14163, 14168, 14179, 14182, 14188, 14193, 32768, 43, 99, 105, 114, 59, 32768, 10787, 59, 32768, 8862, 105, 114, 59, 32768, 10786, 512, 111, 117, 14173, 14176, 59, 32768, 8724, 59, 32768, 10789, 59, 32768, 10866, 110, 33024, 177, 59, 32768, 177, 105, 109, 59, 32768, 10790, 119, 111, 59, 32768, 10791, 59, 32768, 177, 768, 105, 112, 117, 14208, 14216, 14221, 110, 116, 105, 110, 116, 59, 32768, 10773, 102, 59, 32896, 55349, 56673, 110, 100, 33024, 163, 59, 32768, 163, 2560, 59, 69, 97, 99, 101, 105, 110, 111, 115, 117, 14249, 14251, 14254, 14258, 14263, 14336, 14348, 14367, 14413, 14418, 32768, 8826, 59, 32768, 10931, 112, 59, 32768, 10935, 117, 101, 59, 32768, 8828, 512, 59, 99, 14268, 14270, 32768, 10927, 1536, 59, 97, 99, 101, 110, 115, 14283, 14285, 14293, 14302, 14306, 14331, 32768, 8826, 112, 112, 114, 111, 120, 59, 32768, 10935, 117, 114, 108, 121, 101, 113, 59, 32768, 8828, 113, 59, 32768, 10927, 768, 97, 101, 115, 14313, 14321, 14326, 112, 112, 114, 111, 120, 59, 32768, 10937, 113, 113, 59, 32768, 10933, 105, 109, 59, 32768, 8936, 105, 109, 59, 32768, 8830, 109, 101, 512, 59, 115, 14343, 14345, 32768, 8242, 59, 32768, 8473, 768, 69, 97, 115, 14355, 14358, 14362, 59, 32768, 10933, 112, 59, 32768, 10937, 105, 109, 59, 32768, 8936, 768, 100, 102, 112, 14374, 14377, 14402, 59, 32768, 8719, 768, 97, 108, 115, 14384, 14390, 14396, 108, 97, 114, 59, 32768, 9006, 105, 110, 101, 59, 32768, 8978, 117, 114, 102, 59, 32768, 8979, 512, 59, 116, 14407, 14409, 32768, 8733, 111, 59, 32768, 8733, 105, 109, 59, 32768, 8830, 114, 101, 108, 59, 32768, 8880, 512, 99, 105, 14429, 14434, 114, 59, 32896, 55349, 56517, 59, 32768, 968, 110, 99, 115, 112, 59, 32768, 8200, 1536, 102, 105, 111, 112, 115, 117, 14457, 14462, 14467, 14473, 14480, 14486, 114, 59, 32896, 55349, 56622, 110, 116, 59, 32768, 10764, 112, 102, 59, 32896, 55349, 56674, 114, 105, 109, 101, 59, 32768, 8279, 99, 114, 59, 32896, 55349, 56518, 768, 97, 101, 111, 14493, 14513, 14526, 116, 512, 101, 105, 14499, 14508, 114, 110, 105, 111, 110, 115, 59, 32768, 8461, 110, 116, 59, 32768, 10774, 115, 116, 512, 59, 101, 14520, 14522, 32768, 63, 113, 59, 32768, 8799, 116, 33024, 34, 59, 32768, 34, 5376, 65, 66, 72, 97, 98, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 114, 115, 116, 117, 120, 14575, 14597, 14603, 14608, 14775, 14829, 14865, 14901, 14943, 14966, 15000, 15139, 15159, 15176, 15182, 15236, 15261, 152
44667, 15309, 15352, 15360, 768, 97, 114, 116, 14582, 14587, 14591, 114, 114, 59, 32768, 8667, 114, 59, 32768, 8658, 97, 105, 108, 59, 32768, 10524, 97, 114, 114, 59, 32768, 10511, 97, 114, 59, 32768, 10596, 1792, 99, 100, 101, 110, 113, 114, 116, 14623, 14637, 14642, 14650, 14672, 14679, 14751, 512, 101, 117, 14628, 14632, 59, 32896, 8765, 817, 116, 101, 59, 32768, 341, 105, 99, 59, 32768, 8730, 109, 112, 116, 121, 118, 59, 32768, 10675, 103, 1024, 59, 100, 101, 108, 14660, 14662, 14665, 14668, 32768, 10217, 59, 32768, 10642, 59, 32768, 10661, 101, 59, 32768, 10217, 117, 111, 33024, 187, 59, 32768, 187, 114, 2816, 59, 97, 98, 99, 102, 104, 108, 112, 115, 116, 119, 14703, 14705, 14709, 14720, 14723, 14727, 14731, 14735, 14739, 14744, 14748, 32768, 8594, 112, 59, 32768, 10613, 512, 59, 102, 14714, 14716, 32768, 8677, 115, 59, 32768, 10528, 59, 32768, 10547, 115, 59, 32768, 10526, 107, 59, 32768, 8618, 112, 59, 32768, 8620, 108, 59, 32768, 10565, 105, 109, 59, 32768, 10612, 108, 59, 32768, 8611, 59, 32768, 8605, 512, 97, 105, 14756, 14761, 105, 108, 59, 32768, 10522, 111, 512, 59, 110, 14767, 14769, 32768, 8758, 97, 108, 115, 59, 32768, 8474, 768, 97, 98, 114, 14782, 14787, 14792, 114, 114, 59, 32768, 10509, 114, 107, 59, 32768, 10099, 512, 97, 107, 14797, 14809, 99, 512, 101, 107, 14803, 14806, 59, 32768, 125, 59, 32768, 93, 512, 101, 115, 14814, 14817, 59, 32768, 10636, 108, 512, 100, 117, 14823, 14826, 59, 32768, 10638, 59, 32768, 10640, 1024, 97, 101, 117, 121, 14838, 14844, 14858, 14862, 114, 111, 110, 59, 32768, 345, 512, 100, 105, 14849, 14854, 105, 108, 59, 32768, 343, 108, 59, 32768, 8969, 98, 59, 32768, 125, 59, 32768, 1088, 1024, 99, 108, 113, 115, 14874, 14878, 14885, 14897, 97, 59, 32768, 10551, 100, 104, 97, 114, 59, 32768, 10601, 117, 111, 512, 59, 114, 14892, 14894, 32768, 8221, 59, 32768, 8221, 104, 59, 32768, 8627, 768, 97, 99, 103, 14908, 14934, 14938, 108, 1024, 59, 105, 112, 115, 14918, 14920, 14925, 14931, 32768, 8476, 110, 101, 59, 32768, 8475, 97, 114, 116, 59, 32768, 8476, 59, 32768, 8477, 116, 59, 32768, 9645, 33024, 174, 59, 32768, 174, 768, 105, 108, 114, 14950, 14956, 14962, 115, 104, 116, 59, 32768, 10621, 111, 111, 114, 59, 32768, 8971, 59, 32896, 55349, 56623, 512, 97, 111, 14971, 14990, 114, 512, 100, 117, 14977, 14980, 59, 32768, 8641, 512, 59, 108, 14985, 14987, 32768, 8640, 59, 32768, 10604, 512, 59, 118, 14995, 14997, 32768, 961, 59, 32768, 1009, 768, 103, 110, 115, 15007, 15123, 15127, 104, 116, 1536, 97, 104, 108, 114, 115, 116, 15022, 15039, 15060, 15086, 15099, 15111, 114, 114, 111, 119, 512, 59, 116, 15031, 15033, 32768, 8594, 97, 105, 108, 59, 32768, 8611, 97, 114, 112, 111, 111, 110, 512, 100, 117, 15050, 15056, 111, 119, 110, 59, 32768, 8641, 112, 59, 32768, 8640, 101, 102, 116, 512, 97, 104, 15068, 15076, 114, 114, 111, 119, 115, 59, 32768, 8644, 97, 114, 112, 111, 111, 110, 115, 59, 32768, 8652, 105, 103, 104, 116, 97, 114, 114, 111, 119, 115, 59, 32768, 8649, 113, 117, 105, 103, 97, 114, 114, 111, 119, 59, 32768, 8605, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 32768, 8908, 103, 59, 32768, 730, 105, 110, 103, 100, 111, 116, 115, 101, 113, 59, 32768, 8787, 768, 97, 104, 109, 15146, 15151, 15156, 114, 114, 59, 32768, 8644, 97, 114, 59, 32768, 8652, 59, 32768, 8207, 111, 117, 115, 116, 512, 59, 97, 15168, 15170, 32768, 9137, 99, 104, 101, 59, 32768, 9137, 109, 105, 100, 59, 32768, 10990, 1024, 97, 98, 112, 116, 15191, 15204, 15209, 15229, 512, 110, 114, 15196, 15200, 103, 59, 32768, 10221, 114, 59, 32768, 8702, 114, 107, 59, 32768, 10215, 768, 97, 102, 108, 15216, 15220, 15224, 114, 59, 32768, 10630, 59, 32896, 55349, 56675, 117, 115, 59, 32768, 10798, 105, 109, 101, 115, 59, 32768, 10805, 512, 97, 112, 15241, 15253, 114, 512, 59, 103, 15247, 15249, 32768, 41, 116, 59, 32768, 10644, 111, 108, 105, 110, 116, 59, 32768, 10770, 97, 114, 114, 59, 32768, 8649, 1024, 97, 99, 104, 113, 15276, 15282, 15287, 15290, 113, 117, 111, 59, 32768, 8250, 114, 59, 32896, 55349, 56519, 59, 32768, 8625, 512, 98, 117, 15295, 15298, 59, 32768, 93, 111, 512, 59, 114, 15304, 15306, 32768, 8217, 59, 32768, 8217, 768, 104, 105, 114, 15316, 15322, 15328, 114, 101, 101, 59, 32768, 8908, 109, 101, 115, 59, 32768, 8906, 105, 1024, 59, 101, 102, 108, 15338, 15340, 15343, 15346, 32768, 9657, 59, 32768, 8885, 59, 32768, 9656, 116, 114, 105, 59, 32768, 10702, 108, 117, 104, 97, 114, 59, 32768, 10600, 59, 32768, 8478, 6706, 15391, 15398, 15404, 15499, 15516, 15592, 0, 15606, 15660, 0, 0, 15752, 15758, 0, 15827, 15863, 15886, 16000, 16006, 16038, 16086, 0, 16467, 0, 0, 16506, 99, 117, 116, 101, 59, 32768, 347, 113, 117, 111, 59, 32768, 8218, 2560, 59, 69, 97, 99, 101, 105, 110, 112, 115, 121, 15424, 15426, 15429, 15441, 15446, 15458, 15463, 15482, 15490, 15495, 32768, 8827, 59, 32768, 10932, 833, 15434, 0, 15437, 59, 32768, 10936, 111, 110, 59, 32768, 353, 117, 101, 59, 32768, 8829, 512, 59, 100, 15451, 15453, 32768, 10928, 105, 108, 59, 32768, 351, 114, 99, 59, 32768, 349, 768, 69, 97, 115, 15470, 15473, 15477, 59, 32768, 10934, 112, 59, 32768, 10938, 105, 109, 59, 32768, 8937, 111, 108, 105, 110, 116, 59, 32768, 10771, 105, 109, 59, 32768, 8831, 59, 32768, 1089, 111, 116, 768, 59, 98, 101, 15507, 15509, 15512, 32768, 8901, 59, 32768, 8865, 59, 32768, 10854, 1792, 65, 97, 99, 109, 115, 116, 120, 15530, 15535, 15556, 15562, 15566, 15572, 15587, 114, 114, 59, 32768, 8664, 114, 512, 104, 114, 15541, 15545, 10
4467, 59, 32768, 10533, 512, 59, 111, 15550, 15552, 32768, 8600, 119, 59, 32768, 8600, 116, 33024, 167, 59, 32768, 167, 105, 59, 32768, 59, 119, 97, 114, 59, 32768, 10537, 109, 512, 105, 110, 15578, 15584, 110, 117, 115, 59, 32768, 8726, 59, 32768, 8726, 116, 59, 32768, 10038, 114, 512, 59, 111, 15597, 15600, 32896, 55349, 56624, 119, 110, 59, 32768, 8994, 1024, 97, 99, 111, 121, 15614, 15619, 15632, 15654, 114, 112, 59, 32768, 9839, 512, 104, 121, 15624, 15629, 99, 121, 59, 32768, 1097, 59, 32768, 1096, 114, 116, 1086, 15640, 0, 0, 15645, 105, 100, 59, 32768, 8739, 97, 114, 97, 108, 108, 101, 108, 59, 32768, 8741, 33024, 173, 59, 32768, 173, 512, 103, 109, 15664, 15681, 109, 97, 768, 59, 102, 118, 15673, 15675, 15678, 32768, 963, 59, 32768, 962, 59, 32768, 962, 2048, 59, 100, 101, 103, 108, 110, 112, 114, 15698, 15700, 15705, 15715, 15725, 15735, 15739, 15745, 32768, 8764, 111, 116, 59, 32768, 10858, 512, 59, 113, 15710, 15712, 32768, 8771, 59, 32768, 8771, 512, 59, 69, 15720, 15722, 32768, 10910, 59, 32768, 10912, 512, 59, 69, 15730, 15732, 32768, 10909, 59, 32768, 10911, 101, 59, 32768, 8774, 108, 117, 115, 59, 32768, 10788, 97, 114, 114, 59, 32768, 10610, 97, 114, 114, 59, 32768, 8592, 1024, 97, 101, 105, 116, 15766, 15788, 15796, 15808, 512, 108, 115, 15771, 15783, 108, 115, 101, 116, 109, 105, 110, 117, 115, 59, 32768, 8726, 104, 112, 59, 32768, 10803, 112, 97, 114, 115, 108, 59, 32768, 10724, 512, 100, 108, 15801, 15804, 59, 32768, 8739, 101, 59, 32768, 8995, 512, 59, 101, 15813, 15815, 32768, 10922, 512, 59, 115, 15820, 15822, 32768, 10924, 59, 32896, 10924, 65024, 768, 102, 108, 112, 15833, 15839, 15857, 116, 99, 121, 59, 32768, 1100, 512, 59, 98, 15844, 15846, 32768, 47, 512, 59, 97, 15851, 15853, 32768, 10692, 114, 59, 32768, 9023, 102, 59, 32896, 55349, 56676, 97, 512, 100, 114, 15868, 15882, 101, 115, 512, 59, 117, 15875, 15877, 32768, 9824, 105, 116, 59, 32768, 9824, 59, 32768, 8741, 768, 99, 115, 117, 15892, 15921, 15977, 512, 97, 117, 15897, 15909, 112, 512, 59, 115, 15903, 15905, 32768, 8851, 59, 32896, 8851, 65024, 112, 512, 59, 115, 15915, 15917, 32768, 8852, 59, 32896, 8852, 65024, 117, 512, 98, 112, 15927, 15952, 768, 59, 101, 115, 15934, 15936, 15939, 32768, 8847, 59, 32768, 8849, 101, 116, 512, 59, 101, 15946, 15948, 32768, 8847, 113, 59, 32768, 8849, 768, 59, 101, 115, 15959, 15961, 15964, 32768, 8848, 59, 32768, 8850, 101, 116, 512, 59, 101, 15971, 15973, 32768, 8848, 113, 59, 32768, 8850, 768, 59, 97, 102, 15984, 15986, 15996, 32768, 9633, 114, 566, 15991, 15994, 59, 32768, 9633, 59, 32768, 9642, 59, 32768, 9642, 97, 114, 114, 59, 32768, 8594, 1024, 99, 101, 109, 116, 16014, 16019, 16025, 16031, 114, 59, 32896, 55349, 56520, 116, 109, 110, 59, 32768, 8726, 105, 108, 101, 59, 32768, 8995, 97, 114, 102, 59, 32768, 8902, 512, 97, 114, 16042, 16053, 114, 512, 59, 102, 16048, 16050, 32768, 9734, 59, 32768, 9733, 512, 97, 110, 16058, 16081, 105, 103, 104, 116, 512, 101, 112, 16067, 16076, 112, 115, 105, 108, 111, 110, 59, 32768, 1013, 104, 105, 59, 32768, 981, 115, 59, 32768, 175, 1280, 98, 99, 109, 110, 112, 16096, 16221, 16288, 16291, 16295, 2304, 59, 69, 100, 101, 109, 110, 112, 114, 115, 16115, 16117, 16120, 16125, 16137, 16143, 16154, 16160, 16166, 32768, 8834, 59, 32768, 10949, 111, 116, 59, 32768, 10941, 512, 59, 100, 16130, 16132, 32768, 8838, 111, 116, 59, 32768, 10947, 117, 108, 116, 59, 32768, 10945, 512, 69, 101, 16148, 16151, 59, 32768, 10955, 59, 32768, 8842, 108, 117, 115, 59, 32768, 10943, 97, 114, 114, 59, 32768, 10617, 768, 101, 105, 117, 16173, 16206, 16210, 116, 768, 59, 101, 110, 16181, 16183, 16194, 32768, 8834, 113, 512, 59, 113, 16189, 16191, 32768, 8838, 59, 32768, 10949, 101, 113, 512, 59, 113, 16201, 16203, 32768, 8842, 59, 32768, 10955, 109, 59, 32768, 10951, 512, 98, 112, 16215, 16218, 59, 32768, 10965, 59, 32768, 10963, 99, 1536, 59, 97, 99, 101, 110, 115, 16235, 16237, 16245, 16254, 16258, 16283, 32768, 8827, 112, 112, 114, 111, 120, 59, 32768, 10936, 117, 114, 108, 121, 101, 113, 59, 32768, 8829, 113, 59, 32768, 10928, 768, 97, 101, 115, 16265, 16273, 16278, 112, 112, 114, 111, 120, 59, 32768, 10938, 113, 113, 59, 32768, 10934, 105, 109, 59, 32768, 8937, 105, 109, 59, 32768, 8831, 59, 32768, 8721, 103, 59, 32768, 9834, 3328, 49, 50, 51, 59, 69, 100, 101, 104, 108, 109, 110, 112, 115, 16322, 16327, 16332, 16337, 16339, 16342, 16356, 16368, 16382, 16388, 16394, 16405, 16411, 33024, 
446185, 59, 32768, 185, 33024, 178, 59, 32768, 178, 33024, 179, 59, 32768, 179, 32768, 8835, 59, 32768, 10950, 512, 111, 115, 16347, 16351, 116, 59, 32768, 10942, 117, 98, 59, 32768, 10968, 512, 59, 100, 16361, 16363, 32768, 8839, 111, 116, 59, 32768, 10948, 115, 512, 111, 117, 16374, 16378, 108, 59, 32768, 10185, 98, 59, 32768, 10967, 97, 114, 114, 59, 32768, 10619, 117, 108, 116, 59, 32768, 10946, 512, 69, 101, 16399, 16402, 59, 32768, 10956, 59, 32768, 8843, 108, 117, 115, 59, 32768, 10944, 768, 101, 105, 117, 16418, 16451, 16455, 116, 768, 59, 101, 110, 16426, 16428, 16439, 32768, 8835, 113, 512, 59, 113, 16434, 16436, 32768, 8839, 59, 32768, 10950, 101, 113, 512, 59, 113, 16446, 16448, 32768, 8843, 59, 32768, 10956, 109, 59, 32768, 10952, 512, 98, 112, 16460, 16463, 59, 32768, 10964, 59, 32768, 10966, 768, 65, 97, 110, 16473, 16478, 16499, 114, 114, 59, 32768, 8665, 114, 512, 104, 114, 16484, 16488, 107, 59, 32768, 10534, 512, 59, 111, 16493, 16495, 32768, 8601, 119, 59, 32768, 8601, 119, 97, 114, 59, 32768, 10538, 108, 105, 103, 33024, 223, 59, 32768, 223, 5938, 16538, 16552, 16557, 16579, 16584, 16591, 0, 16596, 16692, 0, 0, 0, 0, 0, 16731, 16780, 0, 16787, 16908, 0, 0, 0, 16938, 1091, 16543, 0, 0, 16549, 103, 101, 116, 59, 32768, 8982, 59, 32768, 964, 114, 107, 59, 32768, 9140, 768, 97, 101, 121, 16563, 16569, 16575, 114, 111, 110, 59, 32768, 357, 100, 105, 108, 59, 32768, 355, 59, 32768, 1090, 111, 116, 59, 32768, 8411, 108, 114, 101, 99, 59, 32768, 8981, 114, 59, 32896, 55349, 56625, 1024, 101, 105, 107, 111, 16604, 16641, 16670, 16684, 835, 16609, 0, 16624, 101, 512, 52, 102, 16614, 16617, 59, 32768, 8756, 111, 114, 101, 59, 32768, 8756, 97, 768, 59, 115, 118, 16631, 16633, 16638, 32768, 952, 121, 109, 59, 32768, 977, 59, 32768, 977, 512, 99, 110, 16646, 16665, 107, 512, 97, 115, 16652, 16660, 112, 112, 114, 111, 120, 59, 32768, 8776, 105, 109, 59, 32768, 8764, 115, 112, 59, 32768, 8201, 512, 97, 115, 16675, 16679, 112, 59, 32768, 8776, 105, 109, 59, 32768, 8764, 114, 110, 33024, 254, 59, 32768, 254, 829, 16696, 16701, 16727, 100, 101, 59, 32768, 732, 101, 115, 33536, 215, 59, 98, 100, 16710, 16712, 16723, 32768, 215, 512, 59, 97, 16717, 16719, 32768, 8864, 114, 59, 32768, 10801, 59, 32768, 10800, 116, 59, 32768, 8749, 768, 101, 112, 115, 16737, 16741, 16775, 97, 59, 32768, 10536, 1024, 59, 98, 99, 102, 16750, 16752, 16757, 16762, 32768, 8868, 111, 116, 59, 32768, 9014, 105, 114, 59, 32768, 10993, 512, 59, 111, 16767, 16770, 32896, 55349, 56677, 114, 107, 59, 32768, 10970, 97, 59, 32768, 10537, 114, 105, 109, 101, 59, 32768, 8244, 768, 97, 105, 112, 16793, 16798, 16899, 100, 101, 59, 32768, 8482, 1792, 97, 100, 101, 109, 112, 115, 116, 16813, 16868, 16873, 16876, 16883, 16889, 16893, 110, 103, 108, 101, 1280, 59, 100, 108, 113, 114, 16828, 16830, 16836, 16850, 16853, 32768, 9653, 111, 119, 110, 59, 32768, 9663, 101, 102, 116, 512, 59, 101, 16844, 16846, 32768, 9667, 113, 59, 32768, 8884, 59, 32768, 8796, 105, 103, 104, 116, 512, 59, 101, 16862, 16864, 32768, 9657, 113, 59, 32768, 8885, 111, 116, 59, 32768, 9708, 59, 32768, 8796, 105, 110, 117, 115, 59, 32768, 10810, 108, 117, 115, 59, 32768, 10809, 98, 59, 32768, 10701, 105, 109, 101, 59, 32768, 10811, 101, 122, 105, 117, 109, 59, 32768, 9186, 768, 99, 104, 116, 16914, 16926, 16931, 512, 114, 121, 16919, 16923, 59, 32896, 55349, 56521, 59, 32768, 1094, 99, 121, 59, 32768, 1115, 114, 111, 107, 59, 32768, 359, 512, 105, 111, 16942, 16947, 120, 116, 59, 32768, 8812, 104, 101, 97, 100, 512, 108, 114, 16956, 16967, 101, 102, 116, 97, 114, 114, 111, 119, 59, 32768, 8606, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8608, 4608, 65, 72, 97, 98, 99, 100, 102, 103, 104, 108, 109, 111, 112, 114, 115, 116, 117, 119, 17016, 17021, 17026, 17043, 17057, 17072, 17095, 17110, 17119, 17139, 17172, 17187, 17202, 17290, 17330, 17336, 17365, 17381, 114, 114, 59, 32768, 8657, 97, 114, 59, 32768, 10595, 512, 99, 114, 17031, 17039, 117, 116, 101, 33024, 250, 59, 32768, 250, 114, 59, 32768, 8593, 114, 820, 17049, 0, 17053, 121, 59, 32768, 1118, 118, 101, 59, 32768, 365, 512, 105, 121, 17062, 17069, 114, 99, 33024, 251, 59, 32768, 251, 59, 32768, 1091, 768, 97, 98, 104, 17079, 17084, 17090, 114, 114, 59, 32768, 8645, 108, 97, 99, 59, 32768, 369, 97, 114, 59, 32768, 10606, 512, 105, 114, 17100, 17106, 115, 104, 116, 59, 32768, 10622, 59, 32896, 55349, 56626, 114, 97, 118, 101, 33024, 249, 59, 32768, 249, 562, 17123, 17135, 114, 512, 108, 114, 17128, 17131, 59, 32768, 8639, 59, 32768, 8638, 108, 107, 59, 32768, 9600, 512, 99, 116, 17144, 17167, 1088, 17150, 0, 0, 17163, 114, 110, 512, 59, 101, 17156, 17158, 32768, 8988, 114, 59, 32768, 8988, 111, 112, 59, 32768, 8975, 114, 105, 59, 32768, 9720, 512, 97, 108, 17177, 17182, 99, 114, 59, 32768, 363, 33024, 
446168, 59, 32768, 168, 512, 103, 112, 17192, 17197, 111, 110, 59, 32768, 371, 102, 59, 32896, 55349, 56678, 1536, 97, 100, 104, 108, 115, 117, 17215, 17222, 17233, 17257, 17262, 17280, 114, 114, 111, 119, 59, 32768, 8593, 111, 119, 110, 97, 114, 114, 111, 119, 59, 32768, 8597, 97, 114, 112, 111, 111, 110, 512, 108, 114, 17244, 17250, 101, 102, 116, 59, 32768, 8639, 105, 103, 104, 116, 59, 32768, 8638, 117, 115, 59, 32768, 8846, 105, 768, 59, 104, 108, 17270, 17272, 17275, 32768, 965, 59, 32768, 978, 111, 110, 59, 32768, 965, 112, 97, 114, 114, 111, 119, 115, 59, 32768, 8648, 768, 99, 105, 116, 17297, 17320, 17325, 1088, 17303, 0, 0, 17316, 114, 110, 512, 59, 101, 17309, 17311, 32768, 8989, 114, 59, 32768, 8989, 111, 112, 59, 32768, 8974, 110, 103, 59, 32768, 367, 114, 105, 59, 32768, 9721, 99, 114, 59, 32896, 55349, 56522, 768, 100, 105, 114, 17343, 17348, 17354, 111, 116, 59, 32768, 8944, 108, 100, 101, 59, 32768, 361, 105, 512, 59, 102, 17360, 17362, 32768, 9653, 59, 32768, 9652, 512, 97, 109, 17370, 17375, 114, 114, 59, 32768, 8648, 108, 33024, 252, 59, 32768, 252, 97, 110, 103, 108, 101, 59, 32768, 10663, 3840, 65, 66, 68, 97, 99, 100, 101, 102, 108, 110, 111, 112, 114, 115, 122, 17420, 17425, 17437, 17443, 17613, 17617, 17623, 17667, 17672, 17678, 17693, 17699, 17705, 17711, 17754, 114, 114, 59, 32768, 8661, 97, 114, 512, 59, 118, 17432, 17434, 32768, 10984, 59, 32768, 10985, 97, 115, 104, 59, 32768, 8872, 512, 110, 114, 17448, 17454, 103, 114, 116, 59, 32768, 10652, 1792, 101, 107, 110, 112, 114, 115, 116, 17469, 17478, 17485, 17494, 17515, 17526, 17578, 112, 115, 105, 108, 111, 110, 59, 32768, 1013, 97, 112, 112, 97, 59, 32768, 1008, 111, 116, 104, 105, 110, 103, 59, 32768, 8709, 768, 104, 105, 114, 17501, 17505, 17508, 105, 59, 32768, 981, 59, 32768, 982, 111, 112, 116, 111, 59, 32768, 8733, 512, 59, 104, 17520, 17522, 32768, 8597, 111, 59, 32768, 1009, 512, 105, 117, 17531, 17537, 103, 109, 97, 59, 32768, 962, 512, 98, 112, 17542, 17560, 115, 101, 116, 110, 101, 113, 512, 59, 113, 17553, 17556, 32896, 8842, 65024, 59, 32896, 10955, 65024, 115, 101, 116, 110, 101, 113, 512, 59, 113, 17571, 17574, 32896, 8843, 65024, 59, 32896, 10956, 65024, 512, 104, 114, 17583, 17589, 101, 116, 97, 59, 32768, 977, 105, 97, 110, 103, 108, 101, 512, 108, 114, 17600, 17606, 101, 102, 116, 59, 32768, 8882, 105, 103, 104, 116, 59, 32768, 8883, 121, 59, 32768, 1074, 97, 115, 104, 59, 32768, 8866, 768, 101, 108, 114, 17630, 17648, 17654, 768, 59, 98, 101, 17637, 17639, 17644, 32768, 8744, 97, 114, 59, 32768, 8891, 113, 59, 32768, 8794, 108, 105, 112, 59, 32768, 8942, 512, 98, 116, 17659, 17664, 97, 114, 59, 32768, 124, 59, 32768, 124, 114, 59, 32896, 55349, 56627, 116, 114, 105, 59, 32768, 8882, 115, 117, 512, 98, 112, 17685, 17689, 59, 32896, 8834, 8402, 59, 32896, 8835, 8402, 112, 102, 59, 32896, 55349, 56679, 114, 111, 112, 59, 32768, 8733, 116, 114, 105, 59, 32768, 8883, 512, 99, 117, 17716, 17721, 114, 59, 32896, 55349, 56523, 512, 98, 112, 17726, 17740, 110, 512, 69, 101, 17732, 17736, 59, 32896, 10955, 65024, 59, 32896, 8842, 65024, 110, 512, 69, 101, 17746, 17750, 59, 32896, 10956, 65024, 59, 32896, 8843, 65024, 105, 103, 122, 97, 103, 59, 32768, 10650, 1792, 99, 101, 102, 111, 112, 114, 115, 17777, 17783, 17815, 17820, 17826, 17829, 17842, 105, 114, 99, 59, 32768, 373, 512, 100, 105, 17788, 17809, 512, 98, 103, 17793, 17798, 97, 114, 59, 32768, 10847, 101, 512, 59, 113, 17804, 17806, 32768, 8743, 59, 32768, 8793, 101, 114, 112, 59, 32768, 8472, 114, 59, 32896, 55349, 56628, 112, 102, 59, 32896, 55349, 56680, 59, 32768, 8472, 512, 59, 101, 17834, 17836, 32768, 8768, 97, 116, 104, 59, 32768, 8768, 99, 114, 59, 32896, 55349, 56524, 5428, 17871, 17891, 0, 17897, 0, 17902, 17917, 0, 0, 17920, 17935, 17940, 17945, 0, 0, 17977, 17992, 0, 18008, 18024, 18029, 768, 97, 105, 117, 17877, 17881, 17886, 112, 59, 32768, 8898, 114, 99, 59, 32768, 9711, 112, 59, 32768, 8899, 116, 114, 105, 59, 32768, 9661, 114, 59, 32896, 55349, 56629, 512, 65, 97, 17906, 17911, 114, 114, 59, 32768, 10234, 114, 114, 59, 32768, 10231, 59, 32768, 958, 512, 65, 97, 17924, 17929, 114, 114, 59, 32768, 10232, 114, 114, 59, 32768, 10229, 97, 112, 59, 32768, 10236, 105, 115, 59, 32768, 8955, 768, 100, 112, 116, 17951, 17956, 17970, 111, 116, 59, 32768, 10752, 512, 102, 108, 17961, 17965, 59, 32896, 55349, 56681, 11
4467, 115, 59, 32768, 10753, 105, 109, 101, 59, 32768, 10754, 512, 65, 97, 17981, 17986, 114, 114, 59, 32768, 10233, 114, 114, 59, 32768, 10230, 512, 99, 113, 17996, 18001, 114, 59, 32896, 55349, 56525, 99, 117, 112, 59, 32768, 10758, 512, 112, 116, 18012, 18018, 108, 117, 115, 59, 32768, 10756, 114, 105, 59, 32768, 9651, 101, 101, 59, 32768, 8897, 101, 100, 103, 101, 59, 32768, 8896, 2048, 97, 99, 101, 102, 105, 111, 115, 117, 18052, 18068, 18081, 18087, 18092, 18097, 18103, 18109, 99, 512, 117, 121, 18058, 18065, 116, 101, 33024, 253, 59, 32768, 253, 59, 32768, 1103, 512, 105, 121, 18073, 18078, 114, 99, 59, 32768, 375, 59, 32768, 1099, 110, 33024, 165, 59, 32768, 165, 114, 59, 32896, 55349, 56630, 99, 121, 59, 32768, 1111, 112, 102, 59, 32896, 55349, 56682, 99, 114, 59, 32896, 55349, 56526, 512, 99, 109, 18114, 18118, 121, 59, 32768, 1102, 108, 33024, 255, 59, 32768, 255, 2560, 97, 99, 100, 101, 102, 104, 105, 111, 115, 119, 18145, 18152, 18166, 18171, 18186, 18191, 18196, 18204, 18210, 18216, 99, 117, 116, 101, 59, 32768, 378, 512, 97, 121, 18157, 18163, 114, 111, 110, 59, 32768, 382, 59, 32768, 1079, 111, 116, 59, 32768, 380, 512, 101, 116, 18176, 18182, 116, 114, 102, 59, 32768, 8488, 97, 59, 32768, 950, 114, 59, 32896, 55349, 56631, 99, 121, 59, 32768, 1078, 103, 114, 97, 114, 114, 59, 32768, 8669, 112, 102, 59, 32896, 55349, 56683, 99, 114, 59, 32896, 55349, 56527, 512, 106, 110, 18221, 18224, 59, 32768, 8205, 106, 59, 32768, 8204]);
447    });
448
449    unwrapExports(decodeDataHtml);
450
451    var decodeDataXml = createCommonjsModule(function (module, exports) {
452    Object.defineProperty(exports, "__esModule", { value: true });
453    // Generated using scripts/write-decode-map.ts
454    // prettier-ignore
455    exports.default = new Uint16Array([1024, 97, 103, 108, 113, 9, 23, 27, 31, 1086, 15, 0, 0, 19, 112, 59, 32768, 38, 111, 115, 59, 32768, 39, 116, 59, 32768, 62, 116, 59, 32768, 60, 117, 111, 116, 59, 32768, 34]);
456    });
457
458    unwrapExports(decodeDataXml);
459
460    var decode_codepoint = createCommonjsModule(function (module, exports) {
461    // Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134
462    Object.defineProperty(exports, "__esModule", { value: true });
463    var decodeMap = new Map([
464        [0, 65533],
465        [128, 8364],
466        [130, 8218],
467        [131, 402],
468        [132, 8222],
469        [133, 8230],
470        [134, 8224],
471        [135, 8225],
472        [136, 710],
473        [137, 8240],
474        [138, 352],
475        [139, 8249],
476        [140, 338],
477        [142, 381],
478        [145, 8216],
479        [146, 8217],
480        [147, 8220],
481        [148, 8221],
482        [149, 8226],
483        [150, 8211],
484        [151, 8212],
485        [152, 732],
486        [153, 8482],
487        [154, 353],
488        [155, 8250],
489        [156, 339],
490        [158, 382],
491        [159, 376],
492    ]);
493    var fromCodePoint = 
494    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins
495    String.fromCodePoint ||
496        function (codePoint) {
497            var output = "";
498            if (codePoint > 0xffff) {
499                codePoint -= 0x10000;
500                output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
501                codePoint = 0xdc00 | (codePoint & 0x3ff);
502            }
503            output += String.fromCharCode(codePoint);
504            return output;
505        };
506    function decodeCodePoint(codePoint) {
507        var _a;
508        if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
509            return "\uFFFD";
510        }
511        return fromCodePoint((_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint);
512    }
513    exports.default = decodeCodePoint;
514    });
515
516    unwrapExports(decode_codepoint);
517
518    var decode = createCommonjsModule(function (module, exports) {
519    var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
520        return (mod && mod.__esModule) ? mod : { "default": mod };
521    };
522    Object.defineProperty(exports, "__esModule", { value: true });
523    exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTML = exports.determineBranch = exports.JUMP_OFFSET_BASE = exports.BinTrieFlags = exp
523orts.xmlDecodeTree = exports.htmlDecodeTree = void 0;
524    var decode_data_html_1 = __importDefault(decodeDataHtml);
525    exports.htmlDecodeTree = decode_data_html_1.default;
526    var decode_data_xml_1 = __importDefault(decodeDataXml);
527    exports.xmlDecodeTree = decode_data_xml_1.default;
528    var decode_codepoint_1 = __importDefault(decode_codepoint);
529    var BinTrieFlags;
530    (function (BinTrieFlags) {
531        BinTrieFlags[BinTrieFlags["HAS_VALUE"] = 32768] = "HAS_VALUE";
532        BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 32512] = "BRANCH_LENGTH";
533        BinTrieFlags[BinTrieFlags["MULTI_BYTE"] = 128] = "MULTI_BYTE";
534        BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
535    })(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));
536    exports.JUMP_OFFSET_BASE = 48 /* ZERO */ - 1;
537    function getDecoder(decodeTree) {
538        return function decodeHTMLBinary(str, strict) {
539            var ret = "";
540            var lastIdx = 0;
541            var strIdx = 0;
542            while ((strIdx = str.indexOf("&", strIdx)) >= 0) {
543                ret += str.slice(lastIdx, strIdx);
544                lastIdx = strIdx;
545                // Skip the "&"
546                strIdx += 1;
547                // If we have a numeric entity, handle this separately.
548                if (str.charCodeAt(strIdx) === 35 /* NUM */) {
549                    // Skip the leading "&#". For hex entities, also skip the leading "x".
550                    var start = strIdx + 1;
551                    var base = 10;
552                    var cp = str.charCodeAt(start);
553                    if ((cp | 32 /* To_LOWER_BIT */) === 120 /* LOWER_X */) {
554                        base = 16;
555                        strIdx += 1;
556                        start += 1;
557                    }
558                    while (((cp = str.charCodeAt(++strIdx)) >= 48 /* ZERO */ &&
559                        cp <= 57 /* NINE */) ||
560                        (base === 16 &&
561                            (cp | 32 /* To_LOWER_BIT */) >= 97 /* LOWER_A */ &&
562                            (cp | 32 /* To_LOWER_BIT */) <= 102 /* LOWER_F */))
563                        ;
564                    if (start !== strIdx) {
565                        var entity = str.substring(start, strIdx);
566                        var parsed = parseInt(entity, base);
567                        if (str.charCodeAt(strIdx) === 59 /* SEMI */) {
568                            strIdx += 1;
569                        }
570                        else if (strict) {
571                            continue;
572                        }
573                        ret += decode_codepoint_1.default(parsed);
574                        lastIdx = strIdx;
575                    }
576                    continue;
577                }
578                var result = null;
579                var excess = 1;
580                var treeIdx = 0;
581                var current = decodeTree[treeIdx];
582                for (; strIdx < str.length; strIdx++, excess++) {
583                    treeIdx = determineBranch(decodeTree, current, treeIdx + 1, str.charCodeAt(strIdx));
584                    if (treeIdx < 0)
585                        break;
586                    current = decodeTree[treeIdx];
587                    // If the branch is a value, store it and continue
588                    if (current & BinTrieFlags.HAS_VALUE) {
589                        // If we have a legacy entity while parsing strictly, just skip the number of bytes
590                        if (strict && str.charCodeAt(strIdx) !== 59 /* SEMI */) {
591                            // No need to consider multi-byte values, as the legacy entity is always a single byte
592                            treeIdx += 1;
593                        }
594                        else {
595                            // If this is a surrogate pair, combine the higher bits from the node with the next byte
596                            result =
597                                current & BinTrieFlags.MULTI_BYTE
598                                    ? String.fromCharCode(decodeTree[++treeIdx], decodeTree[++treeIdx])
599                                    : String.fromCharCode(decodeTree[++treeIdx]);
600                            excess = 0;
601                        }
602                    }
603                }
604                if (result != null) {
605                    ret += result;
606                    lastIdx = strIdx - excess + 1;
607                }
608            }
609            return ret + str.slice(lastIdx);
610        };
611    }
612    function determineBranch(decodeTree, current, nodeIdx, char) {
613        if (current <= 128) {
614            return char === current ? nodeIdx : -1;
615        }
616        var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 8;
617        if (branchCount === 0) {
618            return -1;
619        }
620        if (branchCount === 1) {
621            return char === decodeTree[nodeIdx] ? nodeIdx + 1 : -1;
622        }
623        var jumpOffset = current & BinTrieFlags.JUMP_TABLE;
624        if (jumpOffset) {
625            var value = char - exports.JUMP_OFFSET_BASE - jumpOffset;
626            return value < 0 || value > branchCount
627                ? -1
628                : decodeTree[nodeIdx + value] - 1;
629        }
630        // Binary search for the character.
631        var lo = nodeIdx;
632        var hi = lo + branchCount - 1;
633        while (lo <= hi) {
634            var mid = (lo + hi) >>> 1;
635            var midVal = decodeTree[mid];
636            if (midVal < char) {
637                lo = mid + 1;
638            }
639            else if (midVal > char) {
640                hi = mid - 1;
641            }
642            else {
643                return decodeTree[mid + branchCount];
644            }
645        }
646        return -1;
647    }
648    exports.determineBranch = determineBranch;
649    var htmlDecoder = getDecoder(decode_data_html_1.default);
650    var xmlDecoder = getDecoder(decode_data_xml_1.default);
651    function decodeHTML(str) {
652        return htmlDecoder(str, false);
653    }
654    exports.decodeHTML = decodeHTML;
655    function decodeHTMLStrict(str) {
656        return htmlDecoder(str, true);
657    }
658    exports.decodeHTMLStrict = decodeHTMLStrict;
659    function decodeXML(str) {
660        return xmlDecoder(str, true);
661    }
662    exports.decodeXML = decodeXML;
663    });
664
665    unwrapExports(decode);
666    var decode_1 = decode.decodeXML;
667    var decode_2 = decode.decodeHTMLStrict;
668    var decode_3 = decode.decodeHTML;
669    var decode_4 = decode.determineBranch;
670    var decode_5 = decode.JUMP_OFFSET_BASE;
671    var decode_6 = decode.BinTrieFlags;
672    var decode_7 = decode.xmlDecodeTree;
673    var decode_8 = decode.htmlDecodeTree;
674
675    var amp = "&";
676    var apos = "'";
677    var gt = ">";
678    var lt = "<";
679    var quot = "\"";
680    var xml = {
681    	amp: amp,
682    	apos: apos,
683    	gt: gt,
684    	lt: lt,
685    	quot: quot
686    };
687
688    var xml$1 = /*#__PURE__*/Object.freeze({
689        __proto__: null,
690        amp: amp,
691        apos: apos,
692        gt: gt,
693        lt: lt,
694        quot: quot,
695        'default': xml
696    });
697
698    var Aacute = "Á";
699    var aacute = "á";
700    var Abreve = "Ă";
701    var abreve = "ă";
702    var ac = "∾";
703    var acd = "∿";
704    var acE = "∾̳";
705    var Acirc = "Â";
706    var acirc = "â";
707    var acute = "´";
708    var Acy = "А";
709    var acy = "а";
710    var AElig = "Æ";
711    var aelig = "æ";
712    var af = "⁡";
713    var Afr = "𝔄";
714    var afr = "𝔞";
715    var Agrave = "À";
716    var agrave = "à";
717    var alefsym = "ℵ";
718    var aleph = "ℵ";
719    var Alpha = "Α";
720    var alpha = "α";
721    var Amacr = "Ā";
722    var amacr = "ā";
723    var amalg = "⨿";
724    var amp$1 = "&";
725    var AMP = "&";
726    var andand = "⩕";
727    var And = "⩓";
728    var and = "∧";
729    var andd = "⩜";
730    var andslope = "⩘";
731    var andv = "⩚";
732    var ang = "∠";
733    var ange = "⦤";
734    var angle = "∠";
735    var angmsdaa = "⦨";
736    var angmsdab = "⦩";
737    var angmsdac = "⦪";
738    var angmsdad = "⦫";
739    var angmsdae = "⦬";
740    var angmsdaf = "⦭";
741    var angmsdag = "⦮";
742    var angmsdah = "⦯";
743    var angmsd = "∡";
744    var angrt = "∟";
745    var angrtvb = "⊾";
746    var angrtvbd = "⦝";
747    var angsph = "∢";
748    var angst = "Å";
749    var angzarr = "⍼";
750    var Aogon = "Ą";
751    var aogon = "ą";
752    var Aopf = "𝔸";
753    var aopf = "𝕒";
754    var apacir = "⩯";
755    var ap = "≈";
756    var apE = "â©°";
757    var ape = "≊";
758    var apid = "≋";
759    var apos$1 = "'";
760    var ApplyFunction = "⁡";
761    var approx = "≈";
762    var approxeq = "≊";
763    var Aring = "Å";
764    var aring = "Ã¥";
765    var Ascr = "𝒜";
766    var ascr = "𝒶";
767    var Assign = "≔";
768    var ast = "*";
769    var asymp = "≈";
770    var asympeq = "≍";
771    var Atilde = "Ã";
772    var atilde = "ã";
773    var Auml = "Ä";
774    var auml = "ä";
775    var awconint = "∳";
776    var awint = "⨑";
777    var backcong = "≌";
778    var backepsilon = "϶";
779    var backprime = "‵";
780    var backsim = "∽";
781    var backsimeq = "⋍";
782    var Backslash = "∖";
783    var Barv = "â«§";
784    var barvee = "⊽";
785    var barwed = "⌅";
786    var Barwed = "⌆";
787    var barwedge = "⌅";
788    var bbrk = "⎵";
789    var bbrktbrk = "⎶";
790    var bcong = "≌";
791    var Bcy = "Б";
792    var bcy = "б";
793    var bdquo = "„";
794    var becaus = "∵";
795    var because = "∵";
796    var Because = "∵";
797    var bemptyv = "⦰";
798    var bepsi = "϶";
799    var bernou = "ℬ";
800    var Bernoullis = "ℬ";
801    var Beta = "Β";
802    var beta = "β";
803    var beth = "ℶ";
804    var between = "≬";
805    var Bfr = "𝔅";
806    var bfr = "𝔟";
807    var bigcap = "⋂";
808    var bigcirc = "◯";
809    var bigcup = "⋃";
810    var bigodot = "⨀";
811    var bigoplus = "⨁";
812    var bigotimes = "⨂";
813    var bigsqcup = "⨆";
814    var bigstar = "★";
815    var bigtriangledown = "▽";
816    var bigtriangleup = "△";
817    var biguplus = "⨄";
818    var bigvee = "⋁";
819    var bigwedge = "⋀";
820    var bkarow = "⤍";
821    var blacklozenge = "â§«";
822    var blacksquare = "▪";
823    var blacktriangle = "▴";
824    var blacktriangledown = "▾";
825    var blacktriangleleft = "◂";
826    var blacktriangleright = "▸";
827    var blank = "␣";
828    var blk12 = "▒";
829    var blk14 = "░";
830    var blk34 = "▓";
831    var block = "█";
832    var bne = "=⃥";
833    var bnequiv = "≡⃥";
834    var bNot = "â«­";
835    var bnot = "⌐";
836    var Bopf = "𝔹";
837    var bopf = "𝕓";
838    var bot = "⊥";
839    var bottom = "⊥";
840    var bowtie = "⋈";
841    var boxbox = "⧉";
842    var boxdl = "┐";
843    var boxdL = "╕";
844    var boxDl = "╖";
845    var boxDL = "╗";
846    var boxdr = "┌";
847    var boxdR = "╒";
848    var boxDr = "╓";
849    var boxDR = "╔";
850    var boxh = "─";
851    var boxH = "═";
852    var boxhd = "┬";
853    var boxHd = "╤";
854    var boxhD = "╥";
855    var boxHD = "╦";
856    var boxhu = "┴";
857    var boxHu = "╧";
858    var boxhU = "╨";
859    var boxHU = "╩";
860    var boxminus = "⊟";
861    var boxplus = "⊞";
862    var boxtimes = "⊠";
863    var boxul = "┘";
864    var boxuL = "╛";
865    var boxUl = "╜";
866    var boxUL = "╝";
867    var boxur = "└";
868    var boxuR = "╘";
869    var boxUr = "╙";
870    var boxUR = "╚";
871    var boxv = "│";
872    var boxV = "║";
873    var boxvh = "┼";
874    var boxvH = "╪";
875    var boxVh = "╫";
876    var boxVH = "╬";
877    var boxvl = "┤";
878    var boxvL = "╡";
879    var boxVl = "╢";
880    var boxVL = "╣";
881    var boxvr = "├";
882    var boxvR = "╞";
883    var boxVr = "╟";
884    var boxVR = "╠";
885    var bprime = "‵";
886    var breve = "˘";
887    var Breve = "˘";
888    var brvbar = "¦";
889    var bscr = "𝒷";
890    var Bscr = "ℬ";
891    var bsemi = "⁏";
892    var bsim = "∽";
893    var bsime = "⋍";
894    var bsolb = "⧅";
895    var bsol = "\\";
896    var bsolhsub = "⟈";
897    var bull = "•";
898    var bullet = "•";
899    var bump = "≎";
900    var bumpE = "⪮";
901    var bumpe = "≏";
902    var Bumpeq = "≎";
903    var bumpeq = "≏";
904    var Cacute = "Ć";
905    var cacute = "ć";
906    var capand = "⩄";
907    var capbrcup = "⩉";
908    var capcap = "⩋";
909    var cap = "∩";
910    var Cap = "⋒";
911    var capcup = "⩇";
912    var capdot = "⩀";
913    var CapitalDifferentialD = "ⅅ";
914    var caps = "∩︀";
915    var caret = "⁁";
916    var caron = "ˇ";
917    var Cayleys = "ℭ";
918    var ccaps = "⩍";
919    var Ccaron = "Č";
920    var ccaron = "č";
921    var Ccedil = "Ç";
922    var ccedil = "ç";
923    var Ccirc = "Ĉ";
924    var ccirc = "ĉ";
925    var Cconint = "∰";
926    var ccups = "⩌";
927    var ccupssm = "⩐";
928    var Cdot = "Ċ";
929    var cdot = "ċ";
930    var cedil = "¸";
931    var Cedilla = "¸";
932    var cemptyv = "⦲";
933    var cent = "¢";
934    var centerdot = "·";
935    var CenterDot = "·";
936    var cfr = "𝔠";
937    var Cfr = "ℭ";
938    var CHcy = "Ч";
939    var chcy = "ч";
940    var check = "✓";
941    var checkmark = "✓";
942    var Chi = "Χ";
943    var chi = "χ";
944    var circ = "ˆ";
945    var circeq = "≗";
946    var circlearrowleft = "↺";
947    var circlearrowright = "↻";
948    var circledast = "⊛";
949    var circledcirc = "⊚";
950    var circleddash = "⊝";
951    var CircleDot = "⊙";
952    var circledR = "®";
953    var circledS = "Ⓢ";
954    var CircleMinus = "⊖";
955    var CirclePlus = "⊕";
956    var CircleTimes = "⊗";
957    var cir = "○";
958    var cirE = "⧃";
959    var cire = "≗";
960    var cirfnint = "⨐";
961    var cirmid = "⫯";
962    var cirscir = "⧂";
963    var ClockwiseContourIntegral = "∲";
964    var CloseCurlyDoubleQuote = "”";
965    var CloseCurlyQuote = "’";
966    var clubs = "♣";
967    var clubsuit = "♣";
968    var colon = ":";
969    var Colon = "∷";
970    var Colone = "â©´";
971    var colone = "≔";
972    var coloneq = "≔";
973    var comma = ",";
974    var commat = "@";
975    var comp = "∁";
976    var compfn = "∘";
977    var complement = "∁";
978    var complexes = "ℂ";
979    var cong = "≅";
980    var congdot = "â©­";
981    var Congruent = "≡";
982    var conint = "∮";
983    var Conint = "∯";
984    var ContourIntegral = "∮";
985    var copf = "𝕔";
986    var Copf = "ℂ";
987    var coprod = "∐";
988    var Coproduct = "∐";
989    var copy = "©";
990    var COPY = "©";
991    var copysr = "℗";
992    var CounterClockwiseContourIntegral = "∳";
993    var crarr = "↵";
994    var cross = "✗";
995    var Cross = "⨯";
996    var Cscr = "𝒞";
997    var cscr = "𝒸";
998    var csub = "⫏";
999    var csube = "⫑";
1000    var csup = "⫐";
1001    var csupe = "⫒";
1002    var ctdot = "⋯";
1003    var cudarrl = "⤸";
1004    var cudarrr = "⤵";
1005    var cuepr = "⋞";
1006    var cuesc = "⋟";
1007    var cularr = "↶";
1008    var cularrp = "⤽";
1009    var cupbrcap = "⩈";
1010    var cupcap = "⩆";
1011    var CupCap = "≍";
1012    var cup = "∪";
1013    var Cup = "⋓";
1014    var cupcup = "⩊";
1015    var cupdot = "⊍";
1016    var cupor = "⩅";
1017    var cups = "∪︀";
1018    var curarr = "↷";
1019    var curarrm = "⤼";
1020    var curlyeqprec = "⋞";
1021    var curlyeqsucc = "⋟";
1022    var curlyvee = "⋎";
1023    var curlywedge = "⋏";
1024    var curren = "¤";
1025    var curvearrowleft = "↶";
1026    var curvearrowright = "↷";
1027    var cuvee = "⋎";
1028    var cuwed = "⋏";
1029    var cwconint = "∲";
1030    var cwint = "∱";
1031    var cylcty = "⌭";
1032    var dagger = "†";
1033    var Dagger = "‡";
1034    var daleth = "ℸ";
1035    var darr = "↓";
1036    var Darr = "↡";
1037    var dArr = "⇓";
1038    var dash = "‐";
1039    var Dashv = "⫤";
1040    var dashv = "⊣";
1041    var dbkarow = "⤏";
1042    var dblac = "˝";
1043    var Dcaron = "Ď";
1044    var dcaron = "ď";
1045    var Dcy = "Д";
1046    var dcy = "д";
1047    var ddagger = "‡";
1048    var ddarr = "⇊";
1049    var DD = "ⅅ";
1050    var dd = "ⅆ";
1051    var DDotrahd = "⤑";
1052    var ddotseq = "â©·";
1053    var deg = "°";
1054    var Del = "∇";
1055    var Delta = "Δ";
1056    var delta = "δ";
1057    var demptyv = "⦱";
1058    var dfisht = "⥿";
1059    var Dfr = "𝔇";
1060    var dfr = "𝔡";
1061    var dHar = "⥥";
1062    var dharl = "⇃";
1063    var dharr = "⇂";
1064    var DiacriticalAcute = "´";
1065    var DiacriticalDot = "˙";
1066    var DiacriticalDoubleAcute = "˝";
1067    var DiacriticalGrave = "`";
1068    var DiacriticalTilde = "˜";
1069    var diam = "⋄";
1070    var diamond = "⋄";
1071    var Diamond = "⋄";
1072    var diamondsuit = "♦";
1073    var diams = "♦";
1074    var die = "¨";
1075    var DifferentialD = "ⅆ";
1076    var digamma = "ϝ";
1077    var disin = "⋲";
1078    var div = "÷";
1079    var divide = "÷";
1080    var divideontimes = "⋇";
1081    var divonx = "⋇";
1082    var DJcy = "Ђ";
1083    var djcy = "ђ";
1084    var dlcorn = "⌞";
1085    var dlcrop = "⌍";
1086    var dollar = "$";
1087    var Dopf = "𝔻";
1088    var dopf = "𝕕";
1089    var Dot = "¨";
1090    var dot = "˙";
1091    var DotDot = "⃜";
1092    var doteq = "≐";
1093    var doteqdot = "≑";
1094    var DotEqual = "≐";
1095    var dotminus = "∸";
1096    var dotplus = "∔";
1097    var dotsquare = "⊡";
1098    var doublebarwedge = "⌆";
1099    var DoubleContourIntegral = "∯";
1100    var DoubleDot = "¨";
1101    var DoubleDownArrow = "⇓";
1102    var DoubleLeftArrow = "⇐";
1103    var DoubleLeftRightArrow = "⇔";
1104    var DoubleLeftTee = "⫤";
1105    var DoubleLongLeftArrow = "⟸";
1106    var DoubleLongLeftRightArrow = "⟺";
1107    var DoubleLongRightArrow = "⟹";
1108    var DoubleRightArrow = "⇒";
1109    var DoubleRightTee = "⊨";
1110    var DoubleUpArrow = "⇑";
1111    var DoubleUpDownArrow = "⇕";
1112    var DoubleVerticalBar = "∥";
1113    var DownArrowBar = "⤓";
1114    var downarrow = "↓";
1115    var DownArrow = "↓";
1116    var Downarrow = "⇓";
1117    var DownArrowUpArrow = "⇵";
1118    var DownBreve = "̑";
1119    var downdownarrows = "⇊";
1120    var downharpoonleft = "⇃";
1121    var downharpoonright = "⇂";
1122    var DownLeftRightVector = "⥐";
1123    var DownLeftTeeVector = "⥞";
1124    var DownLeftVectorBar = "⥖";
1125    var DownLeftVector = "↽";
1126    var DownRightTeeVector = "⥟";
1127    var DownRightVectorBar = "⥗";
1128    var DownRightVector = "⇁";
1129    var DownTeeArrow = "↧";
1130    var DownTee = "⊤";
1131    var drbkarow = "⤐";
1132    var drcorn = "⌟";
1133    var drcrop = "⌌";
1134    var Dscr = "𝒟";
1135    var dscr = "𝒹";
1136    var DScy = "Ѕ";
1137    var dscy = "ѕ";
1138    var dsol = "â§¶";
1139    var Dstrok = "Đ";
1140    var dstrok = "đ";
1141    var dtdot = "⋱";
1142    var dtri = "▿";
1143    var dtrif = "▾";
1144    var duarr = "⇵";
1145    var duhar = "⥯";
1146    var dwangle = "⦦";
1147    var DZcy = "Џ";
1148    var dzcy = "џ";
1149    var dzigrarr = "⟿";
1150    var Eacute = "É";
1151    var eacute = "é";
1152    var easter = "â©®";
1153    var Ecaron = "Ě";
1154    var ecaron = "ě";
1155    var Ecirc = "Ê";
1156    var ecirc = "ê";
1157    var ecir = "≖";
1158    var ecolon = "≕";
1159    var Ecy = "Э";
1160    var ecy = "э";
1161    var eDDot = "â©·";
1162    var Edot = "Ė";
1163    var edot = "ė";
1164    var eDot = "≑";
1165    var ee = "ⅇ";
1166    var efDot = "≒";
1167    var Efr = "𝔈";
1168    var efr = "𝔢";
1169    var eg = "⪚";
1170    var Egrave = "È";
1171    var egrave = "è";
1172    var egs = "⪖";
1173    var egsdot = "⪘";
1174    var el = "⪙";
1175    var Element = "∈";
1176    var elinters = "⏧";
1177    var ell = "ℓ";
1178    var els = "⪕";
1179    var elsdot = "⪗";
1180    var Emacr = "Ē";
1181    var emacr = "ē";
1182    var empty = "∅";
1183    var emptyset = "∅";
1184    var EmptySmallSquare = "◻";
1185    var emptyv = "∅";
1186    var EmptyVerySmallSquare = "▫";
1187    var emsp13 = " ";
1188    var emsp14 = " ";
1189    var emsp = " ";
1190    var ENG = "Ŋ";
1191    var eng = "ŋ";
1192    var ensp = " ";
1193    var Eogon = "Ę";
1194    var eogon = "ę";
1195    var Eopf = "𝔼";
1196    var eopf = "𝕖";
1197    var epar = "⋕";
1198    var eparsl = "â§£";
1199    var eplus = "⩱";
1200    var epsi = "ε";
1201    var Epsilon = "Ε";
1202    var epsilon = "ε";
1203    var epsiv = "ϵ";
1204    var eqcirc = "≖";
1205    var eqcolon = "≕";
1206    var eqsim = "≂";
1207    var eqslantgtr = "⪖";
1208    var eqslantless = "⪕";
1209    var Equal = "⩵";
1210    var equals = "=";
1211    var EqualTilde = "≂";
1212    var equest = "≟";
1213    var Equilibrium = "⇌";
1214    var equiv = "≡";
1215    var equivDD = "⩸";
1216    var eqvparsl = "â§¥";
1217    var erarr = "⥱";
1218    var erDot = "≓";
1219    var escr = "ℯ";
1220    var Escr = "ℰ";
1221    var esdot = "≐";
1222    var Esim = "⩳";
1223    var esim = "≂";
1224    var Eta = "Η";
1225    var eta = "η";
1226    var ETH = "Ð";
1227    var eth = "ð";
1228    var Euml = "Ë";
1229    var euml = "ë";
1230    var euro = "€";
1231    var excl = "!";
1232    var exist = "∃";
1233    var Exists = "∃";
1234    var expectation = "ℰ";
1235    var exponentiale = "ⅇ";
1236    var ExponentialE = "ⅇ";
1237    var fallingdotseq = "≒";
1238    var Fcy = "Ф";
1239    var fcy = "ф";
1240    var female = "♀";
1241    var ffilig = "ffi";
1242    var fflig = "ff";
1243    var ffllig = "ffl";
1244    var Ffr = "𝔉";
1245    var ffr = "𝔣";
1246    var filig = "fi";
1247    var FilledSmallSquare = "◼";
1248    var FilledVerySmallSquare = "▪";
1249    var fjlig = "fj";
1250    var flat = "♭";
1251    var fllig = "fl";
1252    var fltns = "▱";
1253    var fnof = "ƒ";
1254    var Fopf = "𝔽";
1255    var fopf = "𝕗";
1256    var forall = "∀";
1257    var ForAll = "∀";
1258    var fork = "⋔";
1259    var forkv = "⫙";
1260    var Fouriertrf = "ℱ";
1261    var fpartint = "⨍";
1262    var frac12 = "½";
1263    var frac13 = "⅓";
1264    var frac14 = "¼";
1265    var frac15 = "⅕";
1266    var frac16 = "⅙";
1267    var frac18 = "⅛";
1268    var frac23 = "⅔";
1269    var frac25 = "⅖";
1270    var frac34 = "¾";
1271    var frac35 = "⅗";
1272    var frac38 = "⅜";
1273    var frac45 = "⅘";
1274    var frac56 = "⅚";
1275    var frac58 = "⅝";
1276    var frac78 = "⅞";
1277    var frasl = "⁄";
1278    var frown = "⌢";
1279    var fscr = "𝒻";
1280    var Fscr = "ℱ";
1281    var gacute = "ǵ";
1282    var Gamma = "Γ";
1283    var gamma = "γ";
1284    var Gammad = "Ϝ";
1285    var gammad = "ϝ";
1286    var gap = "⪆";
1287    var Gbreve = "Ğ";
1288    var gbreve = "ğ";
1289    var Gcedil = "Ä¢";
1290    var Gcirc = "Ĝ";
1291    var gcirc = "ĝ";
1292    var Gcy = "Г";
1293    var gcy = "г";
1294    var Gdot = "Ä ";
1295    var gdot = "Ä¡";
1296    var ge = "≥";
1297    var gE = "≧";
1298    var gEl = "⪌";
1299    var gel = "⋛";
1300    var geq = "≥";
1301    var geqq = "≧";
1302    var geqslant = "⩾";
1303    var gescc = "⪩";
1304    var ges = "⩾";
1305    var gesdot = "⪀";
1306    var gesdoto = "⪂";
1307    var gesdotol = "⪄";
1308    var gesl = "⋛︀";
1309    var gesles = "⪔";
1310    var Gfr = "𝔊";
1311    var gfr = "𝔤";
1312    var gg = "≫";
1313    var Gg = "⋙";
1314    var ggg = "⋙";
1315    var gimel = "ℷ";
1316    var GJcy = "Ѓ";
1317    var gjcy = "ѓ";
1318    var gla = "⪥";
1319    var gl = "≷";
1320    var glE = "⪒";
1321    var glj = "⪤";
1322    var gnap = "⪊";
1323    var gnapprox = "⪊";
1324    var gne = "⪈";
1325    var gnE = "≩";
1326    var gneq = "⪈";
1327    var gneqq = "≩";
1328    var gnsim = "⋧";
1329    var Gopf = "𝔾";
1330    var gopf = "𝕘";
1331    var grave = "`";
1332    var GreaterEqual = "≥";
1333    var GreaterEqualLess = "⋛";
1334    var GreaterFullEqual = "≧";
1335    var GreaterGreater = "⪢";
1336    var GreaterLess = "≷";
1337    var GreaterSlantEqual = "⩾";
1338    var GreaterTilde = "≳";
1339    var Gscr = "𝒢";
1340    var gscr = "ℊ";
1341    var gsim = "≳";
1342    var gsime = "⪎";
1343    var gsiml = "⪐";
1344    var gtcc = "⪧";
1345    var gtcir = "⩺";
1346    var gt$1 = ">";
1347    var GT = ">";
1348    var Gt = "≫";
1349    var gtdot = "⋗";
1350    var gtlPar = "⦕";
1351    var gtquest = "⩼";
1352    var gtrapprox = "⪆";
1353    var gtrarr = "⥸";
1354    var gtrdot = "⋗";
1355    var gtreqless = "⋛";
1356    var gtreqqless = "⪌";
1357    var gtrless = "≷";
1358    var gtrsim = "≳";
1359    var gvertneqq = "≩︀";
1360    var gvnE = "≩︀";
1361    var Hacek = "ˇ";
1362    var hairsp = " ";
1363    var half = "½";
1364    var hamilt = "ℋ";
1365    var HARDcy = "Ъ";
1366    var hardcy = "ъ";
1367    var harrcir = "⥈";
1368    var harr = "↔";
1369    var hArr = "⇔";
1370    var harrw = "↭";
1371    var Hat = "^";
1372    var hbar = "ℏ";
1373    var Hcirc = "Ĥ";
1374    var hcirc = "Ä¥";
1375    var hearts = "♥";
1376    var heartsuit = "♥";
1377    var hellip = "…";
1378    var hercon = "⊹";
1379    var hfr = "𝔥";
1380    var Hfr = "ℌ";
1381    var HilbertSpace = "ℋ";
1382    var hksearow = "⤥";
1383    var hkswarow = "⤦";
1384    var hoarr = "⇿";
1385    var homtht = "∻";
1386    var hookleftarrow = "↩";
1387    var hookrightarrow = "↪";
1388    var hopf = "𝕙";
1389    var Hopf = "ℍ";
1390    var horbar = "―";
1391    var HorizontalLine = "─";
1392    var hscr = "𝒽";
1393    var Hscr = "ℋ";
1394    var hslash = "ℏ";
1395    var Hstrok = "Ħ";
1396    var hstrok = "ħ";
1397    var HumpDownHump = "≎";
1398    var HumpEqual = "≏";
1399    var hybull = "⁃";
1400    var hyphen = "‐";
1401    var Iacute = "Í";
1402    var iacute = "í";
1403    var ic = "⁣";
1404    var Icirc = "Î";
1405    var icirc = "î";
1406    var Icy = "И";
1407    var icy = "и";
1408    var Idot = "İ";
1409    var IEcy = "Е";
1410    var iecy = "е";
1411    var iexcl = "¡";
1412    var iff = "⇔";
1413    var ifr = "𝔦";
1414    var Ifr = "ℑ";
1415    var Igrave = "Ì";
1416    var igrave = "ì";
1417    var ii = "ⅈ";
1418    var iiiint = "⨌";
1419    var iiint = "∭";
1420    var iinfin = "⧜";
1421    var iiota = "℩";
1422    var IJlig = "IJ";
1423    var ijlig = "ij";
1424    var Imacr = "Ī";
1425    var imacr = "Ä«";
1426    var image = "ℑ";
1427    var ImaginaryI = "ⅈ";
1428    var imagline = "ℐ";
1429    var imagpart = "ℑ";
1430    var imath = "ı";
1431    var Im = "ℑ";
1432    var imof = "⊷";
1433    var imped = "Ƶ";
1434    var Implies = "⇒";
1435    var incare = "℅";
1436    var infin = "∞";
1437    var infintie = "⧝";
1438    var inodot = "ı";
1439    var intcal = "⊺";
1440    var int = "∫";
1441    var Int = "∬";
1442    var integers = "ℤ";
1443    var Integral = "∫";
1444    var intercal = "⊺";
1445    var Intersection = "⋂";
1446    var intlarhk = "⨗";
1447    var intprod = "⨼";
1448    var InvisibleComma = "⁣";
1449    var InvisibleTimes = "⁢";
1450    var IOcy = "Ё";
1451    var iocy = "ё";
1452    var Iogon = "Ä®";
1453    var iogon = "į";
1454    var Iopf = "𝕀";
1455    var iopf = "𝕚";
1456    var Iota = "Ι";
1457    var iota = "ι";
1458    var iprod = "⨼";
1459    var iquest = "¿";
1460    var iscr = "𝒾";
1461    var Iscr = "ℐ";
1462    var isin = "∈";
1463    var isindot = "⋵";
1464    var isinE = "⋹";
1465    var isins = "⋴";
1466    var isinsv = "⋳";
1467    var isinv = "∈";
1468    var it = "⁢";
1469    var Itilde = "Ĩ";
1470    var itilde = "Ä©";
1471    var Iukcy = "І";
1472    var iukcy = "і";
1473    var Iuml = "Ï";
1474    var iuml = "ï";
1475    var Jcirc = "Ä´";
1476    var jcirc = "ĵ";
1477    var Jcy = "Й";
1478    var jcy = "й";
1479    var Jfr = "𝔍";
1480    var jfr = "𝔧";
1481    var jmath = "È·";
1482    var Jopf = "𝕁";
1483    var jopf = "𝕛";
1484    var Jscr = "𝒥";
1485    var jscr = "𝒿";
1486    var Jsercy = "Ј";
1487    var jsercy = "ј";
1488    var Jukcy = "Є";
1489    var jukcy = "є";
1490    var Kappa = "Κ";
1491    var kappa = "κ";
1492    var kappav = "ϰ";
1493    var Kcedil = "Ķ";
1494    var kcedil = "Ä·";
1495    var Kcy = "К";
1496    var kcy = "к";
1497    var Kfr = "𝔎";
1498    var kfr = "𝔨";
1499    var kgreen = "ĸ";
1500    var KHcy = "Ð¥";
1501    var khcy = "х";
1502    var KJcy = "Ќ";
1503    var kjcy = "ќ";
1504    var Kopf = "𝕂";
1505    var kopf = "𝕜";
1506    var Kscr = "𝒦";
1507    var kscr = "𝓀";
1508    var lAarr = "⇚";
1509    var Lacute = "Ĺ";
1510    var lacute = "ĺ";
1511    var laemptyv = "⦴";
1512    var lagran = "ℒ";
1513    var Lambda = "Λ";
1514    var lambda = "λ";
1515    var lang = "⟨";
1516    var Lang = "⟪";
1517    var langd = "⦑";
1518    var langle = "⟨";
1519    var lap = "⪅";
1520    var Laplacetrf = "ℒ";
1521    var laquo = "«";
1522    var larrb = "⇤";
1523    var larrbfs = "⤟";
1524    var larr = "←";
1525    var Larr = "↞";
1526    var lArr = "⇐";
1527    var larrfs = "⤝";
1528    var larrhk = "↩";
1529    var larrlp = "↫";
1530    var larrpl = "⤹";
1531    var larrsim = "⥳";
1532    var larrtl = "↢";
1533    var latail = "⤙";
1534    var lAtail = "⤛";
1535    var lat = "⪫";
1536    var late = "⪭";
1537    var lates = "⪭︀";
1538    var lbarr = "⤌";
1539    var lBarr = "⤎";
1540    var lbbrk = "❲";
1541    var lbrace = "{";
1542    var lbrack = "[";
1543    var lbrke = "⦋";
1544    var lbrksld = "⦏";
1545    var lbrkslu = "⦍";
1546    var Lcaron = "Ľ";
1547    var lcaron = "ľ";
1548    var Lcedil = "Ä»";
1549    var lcedil = "ļ";
1550    var lceil = "⌈";
1551    var lcub = "{";
1552    var Lcy = "Л";
1553    var lcy = "л";
1554    var ldca = "⤶";
1555    var ldquo = "“";
1556    var ldquor = "„";
1557    var ldrdhar = "⥧";
1558    var ldrushar = "⥋";
1559    var ldsh = "↲";
1560    var le = "≤";
1561    var lE = "≦";
1562    var LeftAngleBracket = "⟨";
1563    var LeftArrowBar = "⇤";
1564    var leftarrow = "←";
1565    var LeftArrow = "←";
1566    var Leftarrow = "⇐";
1567    var LeftArrowRightArrow = "⇆";
1568    var leftarrowtail = "↢";
1569    var LeftCeiling = "⌈";
1570    var LeftDoubleBracket = "⟦";
1571    var LeftDownTeeVector = "⥡";
1572    var LeftDownVectorBar = "⥙";
1573    var LeftDownVector = "⇃";
1574    var LeftFloor = "⌊";
1575    var leftharpoondown = "↽";
1576    var leftharpoonup = "↼";
1577    var leftleftarrows = "⇇";
1578    var leftrightarrow = "↔";
1579    var LeftRightArrow = "↔";
1580    var Leftrightarrow = "⇔";
1581    var leftrightarrows = "⇆";
1582    var leftrightharpoons = "⇋";
1583    var leftrightsquigarrow = "↭";
1584    var LeftRightVector = "⥎";
1585    var LeftTeeArrow = "↤";
1586    var LeftTee = "⊣";
1587    var LeftTeeVector = "⥚";
1588    var leftthreetimes = "⋋";
1589    var LeftTriangleBar = "⧏";
1590    var LeftTriangle = "⊲";
1591    var LeftTriangleEqual = "⊴";
1592    var LeftUpDownVector = "⥑";
1593    var LeftUpTeeVector = "⥠";
1594    var LeftUpVectorBar = "⥘";
1595    var LeftUpVector = "↿";
1596    var LeftVectorBar = "⥒";
1597    var LeftVector = "↼";
1598    var lEg = "⪋";
1599    var leg = "⋚";
1600    var leq = "≤";
1601    var leqq = "≦";
1602    var leqslant = "⩽";
1603    var lescc = "⪨";
1604    var les = "⩽";
1605    var lesdot = "â©¿";
1606    var lesdoto = "⪁";
1607    var lesdotor = "⪃";
1608    var lesg = "⋚︀";
1609    var lesges = "⪓";
1610    var lessapprox = "⪅";
1611    var lessdot = "⋖";
1612    var lesseqgtr = "⋚";
1613    var lesseqqgtr = "⪋";
1614    var LessEqualGreater = "⋚";
1615    var LessFullEqual = "≦";
1616    var LessGreater = "≶";
1617    var lessgtr = "≶";
1618    var LessLess = "⪡";
1619    var lesssim = "≲";
1620    var LessSlantEqual = "⩽";
1621    var LessTilde = "≲";
1622    var lfisht = "⥼";
1623    var lfloor = "⌊";
1624    var Lfr = "𝔏";
1625    var lfr = "𝔩";
1626    var lg = "≶";
1627    var lgE = "⪑";
1628    var lHar = "⥢";
1629    var lhard = "↽";
1630    var lharu = "↼";
1631    var lharul = "⥪";
1632    var lhblk = "▄";
1633    var LJcy = "Љ";
1634    var ljcy = "љ";
1635    var llarr = "⇇";
1636    var ll = "≪";
1637    var Ll = "⋘";
1638    var llcorner = "⌞";
1639    var Lleftarrow = "⇚";
1640    var llhard = "⥫";
1641    var lltri = "◺";
1642    var Lmidot = "Ä¿";
1643    var lmidot = "ŀ";
1644    var lmoustache = "⎰";
1645    var lmoust = "⎰";
1646    var lnap = "⪉";
1647    var lnapprox = "⪉";
1648    var lne = "⪇";
1649    var lnE = "≨";
1650    var lneq = "⪇";
1651    var lneqq = "≨";
1652    var lnsim = "⋦";
1653    var loang = "⟬";
1654    var loarr = "⇽";
1655    var lobrk = "⟦";
1656    var longleftarrow = "⟵";
1657    var LongLeftArrow = "⟵";
1658    var Longleftarrow = "⟸";
1659    var longleftrightarrow = "⟷";
1660    var LongLeftRightArrow = "⟷";
1661    var Longleftrightarrow = "⟺";
1662    var longmapsto = "⟼";
1663    var longrightarrow = "⟶";
1664    var LongRightArrow = "⟶";
1665    var Longrightarrow = "⟹";
1666    var looparrowleft = "↫";
1667    var looparrowright = "↬";
1668    var lopar = "⦅";
1669    var Lopf = "𝕃";
1670    var lopf = "𝕝";
1671    var loplus = "⨭";
1672    var lotimes = "⨴";
1673    var lowast = "∗";
1674    var lowbar = "_";
1675    var LowerLeftArrow = "↙";
1676    var LowerRightArrow = "↘";
1677    var loz = "◊";
1678    var lozenge = "◊";
1679    var lozf = "â§«";
1680    var lpar = "(";
1681    var lparlt = "⦓";
1682    var lrarr = "⇆";
1683    var lrcorner = "⌟";
1684    var lrhar = "⇋";
1685    var lrhard = "⥭";
1686    var lrm = "‎";
1687    var lrtri = "⊿";
1688    var lsaquo = "‹";
1689    var lscr = "𝓁";
1690    var Lscr = "ℒ";
1691    var lsh = "↰";
1692    var Lsh = "↰";
1693    var lsim = "≲";
1694    var lsime = "⪍";
1695    var lsimg = "⪏";
1696    var lsqb = "[";
1697    var lsquo = "‘";
1698    var lsquor = "‚";
1699    var Lstrok = "Ł";
1700    var lstrok = "ł";
1701    var ltcc = "⪦";
1702    var ltcir = "⩹";
1703    var lt$1 = "<";
1704    var LT = "<";
1705    var Lt = "≪";
1706    var ltdot = "⋖";
1707    var lthree = "⋋";
1708    var ltimes = "⋉";
1709    var ltlarr = "⥶";
1710    var ltquest = "â©»";
1711    var ltri = "◃";
1712    var ltrie = "⊴";
1713    var ltrif = "◂";
1714    var ltrPar = "⦖";
1715    var lurdshar = "⥊";
1716    var luruhar = "⥦";
1717    var lvertneqq = "≨︀";
1718    var lvnE = "≨︀";
1719    var macr = "¯";
1720    var male = "♂";
1721    var malt = "✠";
1722    var maltese = "✠";
1723    var map = "↦";
1724    var mapsto = "↦";
1725    var mapstodown = "↧";
1726    var mapstoleft = "↤";
1727    var mapstoup = "↥";
1728    var marker = "▮";
1729    var mcomma = "⨩";
1730    var Mcy = "М";
1731    var mcy = "м";
1732    var mdash = "—";
1733    var mDDot = "∺";
1734    var measuredangle = "∡";
1735    var MediumSpace = " ";
1736    var Mellintrf = "ℳ";
1737    var Mfr = "𝔐";
1738    var mfr = "𝔪";
1739    var mho = "℧";
1740    var micro = "µ";
1741    var midast = "*";
1742    var midcir = "â«°";
1743    var mid = "∣";
1744    var middot = "·";
1745    var minusb = "⊟";
1746    var minus = "−";
1747    var minusd = "∸";
1748    var minusdu = "⨪";
1749    var MinusPlus = "∓";
1750    var mlcp = "⫛";
1751    var mldr = "…";
1752    var mnplus = "∓";
1753    var models = "⊧";
1754    var Mopf = "𝕄";
1755    var mopf = "𝕞";
1756    var mp = "∓";
1757    var mscr = "𝓂";
1758    var Mscr = "ℳ";
1759    var mstpos = "∾";
1760    var Mu = "Μ";
1761    var mu = "μ";
1762    var multimap = "⊸";
1763    var mumap = "⊸";
1764    var nabla = "∇";
1765    var Nacute = "Ń";
1766    var nacute = "ń";
1767    var nang = "∠⃒";
1768    var nap = "≉";
1769    var napE = "⩰̸";
1770    var napid = "≋̸";
1771    var napos = "ʼn";
1772    var napprox = "≉";
1773    var natural = "♮";
1774    var naturals = "ℕ";
1775    var natur = "♮";
1776    var nbsp = " ";
1777    var nbump = "≎̸";
1778    var nbumpe = "≏̸";
1779    var ncap = "⩃";
1780    var Ncaron = "Ň";
1781    var ncaron = "ň";
1782    var Ncedil = "Ņ";
1783    var ncedil = "ņ";
1784    var ncong = "≇";
1785    var ncongdot = "⩭̸";
1786    var ncup = "⩂";
1787    var Ncy = "Н";
1788    var ncy = "н";
1789    var ndash = "–";
1790    var nearhk = "⤤";
1791    var nearr = "↗";
1792    var neArr = "⇗";
1793    var nearrow = "↗";
1794    var ne = "≠";
1795    var nedot = "≐̸";
1796    var NegativeMediumSpace = "​";
1797    var NegativeThickSpace = "​";
1798    var NegativeThinSpace = "​";
1799    var NegativeVeryThinSpace = "​";
1800    var nequiv = "≢";
1801    var nesear = "⤨";
1802    var nesim = "≂̸";
1803    var NestedGreaterGreater = "≫";
1804    var NestedLessLess = "≪";
1805    var NewLine = "\n";
1806    var nexist = "∄";
1807    var nexists = "∄";
1808    var Nfr = "𝔑";
1809    var nfr = "𝔫";
1810    var ngE = "≧̸";
1811    var nge = "≱";
1812    var ngeq = "≱";
1813    var ngeqq = "≧̸";
1814    var ngeqslant = "⩾̸";
1815    var nges = "⩾̸";
1816    var nGg = "⋙̸";
1817    var ngsim = "≵";
1818    var nGt = "≫⃒";
1819    var ngt = "≯";
1820    var ngtr = "≯";
1821    var nGtv = "≫̸";
1822    var nharr = "↮";
1823    var nhArr = "⇎";
1824    var nhpar = "⫲";
1825    var ni = "∋";
1826    var nis = "⋼";
1827    var nisd = "⋺";
1828    var niv = "∋";
1829    var NJcy = "Њ";
1830    var njcy = "њ";
1831    var nlarr = "↚";
1832    var nlArr = "⇍";
1833    var nldr = "‥";
1834    var nlE = "≦̸";
1835    var nle = "≰";
1836    var nleftarrow = "↚";
1837    var nLeftarrow = "⇍";
1838    var nleftrightarrow = "↮";
1839    var nLeftrightarrow = "⇎";
1840    var nleq = "≰";
1841    var nleqq = "≦̸";
1842    var nleqslant = "⩽̸";
1843    var nles = "⩽̸";
1844    var nless = "≮";
1845    var nLl = "⋘̸";
1846    var nlsim = "≴";
1847    var nLt = "≪⃒";
1848    var nlt = "≮";
1849    var nltri = "⋪";
1850    var nltrie = "⋬";
1851    var nLtv = "≪̸";
1852    var nmid = "∤";
1853    var NoBreak = "⁠";
1854    var NonBreakingSpace = " ";
1855    var nopf = "𝕟";
1856    var Nopf = "ℕ";
1857    var Not = "⫬";
1858    var not = "¬";
1859    var NotCongruent = "≢";
1860    var NotCupCap = "≭";
1861    var NotDoubleVerticalBar = "∦";
1862    var NotElement = "∉";
1863    var NotEqual = "≠";
1864    var NotEqualTilde = "≂̸";
1865    var NotExists = "∄";
1866    var NotGreater = "≯";
1867    var NotGreaterEqual = "≱";
1868    var NotGreaterFullEqual = "≧̸";
1869    var NotGreaterGreater = "≫̸";
1870    var NotGreaterLess = "≹";
1871    var NotGreaterSlantEqual = "⩾̸";
1872    var NotGreaterTilde = "≵";
1873    var NotHumpDownHump = "≎̸";
1874    var NotHumpEqual = "≏̸";
1875    var notin = "∉";
1876    var notindot = "⋵̸";
1877    var notinE = "⋹̸";
1878    var notinva = "∉";
1879    var notinvb = "⋷";
1880    var notinvc = "⋶";
1881    var NotLeftTriangleBar = "⧏̸";
1882    var NotLeftTriangle = "⋪";
1883    var NotLeftTriangleEqual = "⋬";
1884    var NotLess = "≮";
1885    var NotLessEqual = "≰";
1886    var NotLessGreater = "≸";
1887    var NotLessLess = "≪̸";
1888    var NotLessSlantEqual = "⩽̸";
1889    var NotLessTilde = "≴";
1890    var NotNestedGreaterGreater = "⪢̸";
1891    var NotNestedLessLess = "⪡̸";
1892    var notni = "∌";
1893    var notniva = "∌";
1894    var notnivb = "⋾";
1895    var notnivc = "⋽";
1896    var NotPrecedes = "⊀";
1897    var NotPrecedesEqual = "⪯̸";
1898    var NotPrecedesSlantEqual = "⋠";
1899    var NotReverseElement = "∌";
1900    var NotRightTriangleBar = "⧐̸";
1901    var NotRightTriangle = "⋫";
1902    var NotRightTriangleEqual = "⋭";
1903    var NotSquareSubset = "⊏̸";
1904    var NotSquareSubsetEqual = "⋢";
1905    var NotSquareSuperset = "⊐̸";
1906    var NotSquareSupersetEqual = "⋣";
1907    var NotSubset = "⊂⃒";
1908    var NotSubsetEqual = "⊈";
1909    var NotSucceeds = "⊁";
1910    var NotSucceedsEqual = "⪰̸";
1911    var NotSucceedsSlantEqual = "⋡";
1912    var NotSucceedsTilde = "≿̸";
1913    var NotSuperset = "⊃⃒";
1914    var NotSupersetEqual = "⊉";
1915    var NotTilde = "≁";
1916    var NotTildeEqual = "≄";
1917    var NotTildeFullEqual = "≇";
1918    var NotTildeTilde = "≉";
1919    var NotVerticalBar = "∤";
1920    var nparallel = "∦";
1921    var npar = "∦";
1922    var nparsl = "⫽⃥";
1923    var npart = "∂̸";
1924    var npolint = "⨔";
1925    var npr = "⊀";
1926    var nprcue = "⋠";
1927    var nprec = "⊀";
1928    var npreceq = "⪯̸";
1929    var npre = "⪯̸";
1930    var nrarrc = "⤳̸";
1931    var nrarr = "↛";
1932    var nrArr = "⇏";
1933    var nrarrw = "↝̸";
1934    var nrightarrow = "↛";
1935    var nRightarrow = "⇏";
1936    var nrtri = "⋫";
1937    var nrtrie = "⋭";
1938    var nsc = "⊁";
1939    var nsccue = "⋡";
1940    var nsce = "⪰̸";
1941    var Nscr = "𝒩";
1942    var nscr = "𝓃";
1943    var nshortmid = "∤";
1944    var nshortparallel = "∦";
1945    var nsim = "≁";
1946    var nsime = "≄";
1947    var nsimeq = "≄";
1948    var nsmid = "∤";
1949    var nspar = "∦";
1950    var nsqsube = "⋢";
1951    var nsqsupe = "⋣";
1952    var nsub = "⊄";
1953    var nsubE = "⫅̸";
1954    var nsube = "⊈";
1955    var nsubset = "⊂⃒";
1956    var nsubseteq = "⊈";
1957    var nsubseteqq = "⫅̸";
1958    var nsucc = "⊁";
1959    var nsucceq = "⪰̸";
1960    var nsup = "⊅";
1961    var nsupE = "⫆̸";
1962    var nsupe = "⊉";
1963    var nsupset = "⊃⃒";
1964    var nsupseteq = "⊉";
1965    var nsupseteqq = "⫆̸";
1966    var ntgl = "≹";
1967    var Ntilde = "Ñ";
1968    var ntilde = "ñ";
1969    var ntlg = "≸";
1970    var ntriangleleft = "⋪";
1971    var ntrianglelefteq = "⋬";
1972    var ntriangleright = "⋫";
1973    var ntrianglerighteq = "⋭";
1974    var Nu = "Ν";
1975    var nu = "ν";
1976    var num = "#";
1977    var numero = "№";
1978    var numsp = " ";
1979    var nvap = "≍⃒";
1980    var nvdash = "⊬";
1981    var nvDash = "⊭";
1982    var nVdash = "⊮";
1983    var nVDash = "⊯";
1984    var nvge = "≥⃒";
1985    var nvgt = ">⃒";
1986    var nvHarr = "⤄";
1987    var nvinfin = "⧞";
1988    var nvlArr = "⤂";
1989    var nvle = "≤⃒";
1990    var nvlt = "<⃒";
1991    var nvltrie = "⊴⃒";
1992    var nvrArr = "⤃";
1993    var nvrtrie = "⊵⃒";
1994    var nvsim = "∼⃒";
1995    var nwarhk = "⤣";
1996    var nwarr = "↖";
1997    var nwArr = "⇖";
1998    var nwarrow = "↖";
1999    var nwnear = "⤧";
2000    var Oacute = "Ó";
2001    var oacute = "ó";
2002    var oast = "⊛";
2003    var Ocirc = "Ô";
2004    var ocirc = "ô";
2005    var ocir = "⊚";
2006    var Ocy = "О";
2007    var ocy = "о";
2008    var odash = "⊝";
2009    var Odblac = "Ő";
2010    var odblac = "ő";
2011    var odiv = "⨸";
2012    var odot = "⊙";
2013    var odsold = "⦼";
2014    var OElig = "Œ";
2015    var oelig = "œ";
2016    var ofcir = "⦿";
2017    var Ofr = "𝔒";
2018    var ofr = "𝔬";
2019    var ogon = "˛";
2020    var Ograve = "Ò";
2021    var ograve = "ò";
2022    var ogt = "⧁";
2023    var ohbar = "⦵";
2024    var ohm = "Ω";
2025    var oint = "∮";
2026    var olarr = "↺";
2027    var olcir = "⦾";
2028    var olcross = "⦻";
2029    var oline = "‾";
2030    var olt = "⧀";
2031    var Omacr = "Ō";
2032    var omacr = "ō";
2033    var Omega = "Ω";
2034    var omega = "ω";
2035    var Omicron = "Ο";
2036    var omicron = "ο";
2037    var omid = "⦶";
2038    var ominus = "⊖";
2039    var Oopf = "𝕆";
2040    var oopf = "𝕠";
2041    var opar = "⦷";
2042    var OpenCurlyDoubleQuote = "“";
2043    var OpenCurlyQuote = "‘";
2044    var operp = "⦹";
2045    var oplus = "⊕";
2046    var orarr = "↻";
2047    var Or = "⩔";
2048    var or = "∨";
2049    var ord = "⩝";
2050    var order = "ℴ";
2051    var orderof = "ℴ";
2052    var ordf = "ª";
2053    var ordm = "º";
2054    var origof = "⊶";
2055    var oror = "⩖";
2056    var orslope = "⩗";
2057    var orv = "⩛";
2058    var oS = "Ⓢ";
2059    var Oscr = "𝒪";
2060    var oscr = "ℴ";
2061    var Oslash = "Ø";
2062    var oslash = "ø";
2063    var osol = "⊘";
2064    var Otilde = "Õ";
2065    var otilde = "õ";
2066    var otimesas = "⨶";
2067    var Otimes = "⨷";
2068    var otimes = "⊗";
2069    var Ouml = "Ö";
2070    var ouml = "ö";
2071    var ovbar = "⌽";
2072    var OverBar = "‾";
2073    var OverBrace = "⏞";
2074    var OverBracket = "⎴";
2075    var OverParenthesis = "⏜";
2076    var para = "¶";
2077    var parallel = "∥";
2078    var par = "∥";
2079    var parsim = "⫳";
2080    var parsl = "⫽";
2081    var part = "∂";
2082    var PartialD = "∂";
2083    var Pcy = "П";
2084    var pcy = "п";
2085    var percnt = "%";
2086    var period = ".";
2087    var permil = "‰";
2088    var perp = "⊥";
2089    var pertenk = "‱";
2090    var Pfr = "𝔓";
2091    var pfr = "𝔭";
2092    var Phi = "Φ";
2093    var phi = "φ";
2094    var phiv = "ϕ";
2095    var phmmat = "ℳ";
2096    var phone = "☎";
2097    var Pi = "Π";
2098    var pi = "π";
2099    var pitchfork = "⋔";
2100    var piv = "ϖ";
2101    var planck = "ℏ";
2102    var planckh = "ℎ";
2103    var plankv = "ℏ";
2104    var plusacir = "⨣";
2105    var plusb = "⊞";
2106    var pluscir = "⨢";
2107    var plus = "+";
2108    var plusdo = "∔";
2109    var plusdu = "⨥";
2110    var pluse = "⩲";
2111    var PlusMinus = "±";
2112    var plusmn = "±";
2113    var plussim = "⨦";
2114    var plustwo = "⨧";
2115    var pm = "±";
2116    var Poincareplane = "ℌ";
2117    var pointint = "⨕";
2118    var popf = "𝕡";
2119    var Popf = "ℙ";
2120    var pound = "£";
2121    var prap = "⪷";
2122    var Pr = "⪻";
2123    var pr = "≺";
2124    var prcue = "≼";
2125    var precapprox = "⪷";
2126    var prec = "≺";
2127    var preccurlyeq = "≼";
2128    var Precedes = "≺";
2129    var PrecedesEqual = "⪯";
2130    var PrecedesSlantEqual = "≼";
2131    var PrecedesTilde = "≾";
2132    var preceq = "⪯";
2133    var precnapprox = "⪹";
2134    var precneqq = "⪵";
2135    var precnsim = "⋨";
2136    var pre = "⪯";
2137    var prE = "⪳";
2138    var precsim = "≾";
2139    var prime = "′";
2140    var Prime = "″";
2141    var primes = "ℙ";
2142    var prnap = "⪹";
2143    var prnE = "⪵";
2144    var prnsim = "⋨";
2145    var prod = "∏";
2146    var Product = "∏";
2147    var profalar = "⌮";
2148    var profline = "⌒";
2149    var profsurf = "⌓";
2150    var prop = "∝";
2151    var Proportional = "∝";
2152    var Proportion = "∷";
2153    var propto = "∝";
2154    var prsim = "≾";
2155    var prurel = "⊰";
2156    var Pscr = "𝒫";
2157    var pscr = "𝓅";
2158    var Psi = "Ψ";
2159    var psi = "ψ";
2160    var puncsp = " ";
2161    var Qfr = "𝔔";
2162    var qfr = "𝔮";
2163    var qint = "⨌";
2164    var qopf = "𝕢";
2165    var Qopf = "ℚ";
2166    var qprime = "⁗";
2167    var Qscr = "𝒬";
2168    var qscr = "𝓆";
2169    var quaternions = "ℍ";
2170    var quatint = "⨖";
2171    var quest = "?";
2172    var questeq = "≟";
2173    var quot$1 = "\"";
2174    var QUOT = "\"";
2175    var rAarr = "⇛";
2176    var race = "∽̱";
2177    var Racute = "Ŕ";
2178    var racute = "ŕ";
2179    var radic = "√";
2180    var raemptyv = "⦳";
2181    var rang = "⟩";
2182    var Rang = "⟫";
2183    var rangd = "⦒";
2184    var range = "⦥";
2185    var rangle = "⟩";
2186    var raquo = "»";
2187    var rarrap = "⥵";
2188    var rarrb = "⇥";
2189    var rarrbfs = "⤠";
2190    var rarrc = "⤳";
2191    var rarr = "→";
2192    var Rarr = "↠";
2193    var rArr = "⇒";
2194    var rarrfs = "⤞";
2195    var rarrhk = "↪";
2196    var rarrlp = "↬";
2197    var rarrpl = "⥅";
2198    var rarrsim = "⥴";
2199    var Rarrtl = "⤖";
2200    var rarrtl = "↣";
2201    var rarrw = "↝";
2202    var ratail = "⤚";
2203    var rAtail = "⤜";
2204    var ratio = "∶";
2205    var rationals = "ℚ";
2206    var rbarr = "⤍";
2207    var rBarr = "⤏";
2208    var RBarr = "⤐";
2209    var rbbrk = "❳";
2210    var rbrace = "}";
2211    var rbrack = "]";
2212    var rbrke = "⦌";
2213    var rbrksld = "⦎";
2214    var rbrkslu = "⦐";
2215    var Rcaron = "Ř";
2216    var rcaron = "ř";
2217    var Rcedil = "Ŗ";
2218    var rcedil = "ŗ";
2219    var rceil = "⌉";
2220    var rcub = "}";
2221    var Rcy = "Р";
2222    var rcy = "р";
2223    var rdca = "⤷";
2224    var rdldhar = "⥩";
2225    var rdquo = "”";
2226    var rdquor = "”";
2227    var rdsh = "↳";
2228    var real = "ℜ";
2229    var realine = "ℛ";
2230    var realpart = "ℜ";
2231    var reals = "ℝ";
2232    var Re = "ℜ";
2233    var rect = "▭";
2234    var reg = "®";
2235    var REG = "®";
2236    var ReverseElement = "∋";
2237    var ReverseEquilibrium = "⇋";
2238    var ReverseUpEquilibrium = "⥯";
2239    var rfisht = "⥽";
2240    var rfloor = "⌋";
2241    var rfr = "𝔯";
2242    var Rfr = "ℜ";
2243    var rHar = "⥤";
2244    var rhard = "⇁";
2245    var rharu = "⇀";
2246    var rharul = "⥬";
2247    var Rho = "Ρ";
2248    var rho = "ρ";
2249    var rhov = "ϱ";
2250    var RightAngleBracket = "⟩";
2251    var RightArrowBar = "⇥";
2252    var rightarrow = "→";
2253    var RightArrow = "→";
2254    var Rightarrow = "⇒";
2255    var RightArrowLeftArrow = "⇄";
2256    var rightarrowtail = "↣";
2257    var RightCeiling = "⌉";
2258    var RightDoubleBracket = "⟧";
2259    var RightDownTeeVector = "⥝";
2260    var RightDownVectorBar = "⥕";
2261    var RightDownVector = "⇂";
2262    var RightFloor = "⌋";
2263    var rightharpoondown = "⇁";
2264    var rightharpoonup = "⇀";
2265    var rightleftarrows = "⇄";
2266    var rightleftharpoons = "⇌";
2267    var rightrightarrows = "⇉";
2268    var rightsquigarrow = "↝";
2269    var RightTeeArrow = "↦";
2270    var RightTee = "⊢";
2271    var RightTeeVector = "⥛";
2272    var rightthreetimes = "⋌";
2273    var RightTriangleBar = "⧐";
2274    var RightTriangle = "⊳";
2275    var RightTriangleEqual = "⊵";
2276    var RightUpDownVector = "⥏";
2277    var RightUpTeeVector = "⥜";
2278    var RightUpVectorBar = "⥔";
2279    var RightUpVector = "↾";
2280    var RightVectorBar = "⥓";
2281    var RightVector = "⇀";
2282    var ring = "˚";
2283    var risingdotseq = "≓";
2284    var rlarr = "⇄";
2285    var rlhar = "⇌";
2286    var rlm = "‏";
2287    var rmoustache = "⎱";
2288    var rmoust = "⎱";
2289    var rnmid = "â«®";
2290    var roang = "⟭";
2291    var roarr = "⇾";
2292    var robrk = "⟧";
2293    var ropar = "⦆";
2294    var ropf = "𝕣";
2295    var Ropf = "ℝ";
2296    var roplus = "⨮";
2297    var rotimes = "⨵";
2298    var RoundImplies = "⥰";
2299    var rpar = ")";
2300    var rpargt = "⦔";
2301    var rppolint = "⨒";
2302    var rrarr = "⇉";
2303    var Rrightarrow = "⇛";
2304    var rsaquo = "›";
2305    var rscr = "𝓇";
2306    var Rscr = "ℛ";
2307    var rsh = "↱";
2308    var Rsh = "↱";
2309    var rsqb = "]";
2310    var rsquo = "’";
2311    var rsquor = "’";
2312    var rthree = "⋌";
2313    var rtimes = "⋊";
2314    var rtri = "▹";
2315    var rtrie = "⊵";
2316    var rtrif = "▸";
2317    var rtriltri = "⧎";
2318    var RuleDelayed = "â§´";
2319    var ruluhar = "⥨";
2320    var rx = "℞";
2321    var Sacute = "Ś";
2322    var sacute = "ś";
2323    var sbquo = "‚";
2324    var scap = "⪸";
2325    var Scaron = "Å ";
2326    var scaron = "Å¡";
2327    var Sc = "⪼";
2328    var sc = "≻";
2329    var sccue = "≽";
2330    var sce = "⪰";
2331    var scE = "⪴";
2332    var Scedil = "Ş";
2333    var scedil = "ş";
2334    var Scirc = "Ŝ";
2335    var scirc = "ŝ";
2336    var scnap = "⪺";
2337    var scnE = "⪶";
2338    var scnsim = "⋩";
2339    var scpolint = "⨓";
2340    var scsim = "≿";
2341    var Scy = "С";
2342    var scy = "с";
2343    var sdotb = "⊡";
2344    var sdot = "⋅";
2345    var sdote = "⩦";
2346    var searhk = "⤥";
2347    var searr = "↘";
2348    var seArr = "⇘";
2349    var searrow = "↘";
2350    var sect = "§";
2351    var semi = ";";
2352    var seswar = "⤩";
2353    var setminus = "∖";
2354    var setmn = "∖";
2355    var sext = "✶";
2356    var Sfr = "𝔖";
2357    var sfr = "𝔰";
2358    var sfrown = "⌢";
2359    var sharp = "♯";
2360    var SHCHcy = "Щ";
2361    var shchcy = "щ";
2362    var SHcy = "Ш";
2363    var shcy = "ш";
2364    var ShortDownArrow = "↓";
2365    var ShortLeftArrow = "←";
2366    var shortmid = "∣";
2367    var shortparallel = "∥";
2368    var ShortRightArrow = "→";
2369    var ShortUpArrow = "↑";
2370    var shy = "­";
2371    var Sigma = "Σ";
2372    var sigma = "σ";
2373    var sigmaf = "ς";
2374    var sigmav = "ς";
2375    var sim = "∼";
2376    var simdot = "⩪";
2377    var sime = "≃";
2378    var simeq = "≃";
2379    var simg = "⪞";
2380    var simgE = "⪠";
2381    var siml = "⪝";
2382    var simlE = "⪟";
2383    var simne = "≆";
2384    var simplus = "⨤";
2385    var simrarr = "⥲";
2386    var slarr = "←";
2387    var SmallCircle = "∘";
2388    var smallsetminus = "∖";
2389    var smashp = "⨳";
2390    var smeparsl = "⧤";
2391    var smid = "∣";
2392    var smile = "⌣";
2393    var smt = "⪪";
2394    var smte = "⪬";
2395    var smtes = "⪬︀";
2396    var SOFTcy = "Ь";
2397    var softcy = "ь";
2398    var solbar = "⌿";
2399    var solb = "⧄";
2400    var sol = "/";
2401    var Sopf = "𝕊";
2402    var sopf = "𝕤";
2403    var spades = "♠";
2404    var spadesuit = "♠";
2405    var spar = "∥";
2406    var sqcap = "⊓";
2407    var sqcaps = "⊓︀";
2408    var sqcup = "⊔";
2409    var sqcups = "⊔︀";
2410    var Sqrt = "√";
2411    var sqsub = "⊏";
2412    var sqsube = "⊑";
2413    var sqsubset = "⊏";
2414    var sqsubseteq = "⊑";
2415    var sqsup = "⊐";
2416    var sqsupe = "⊒";
2417    var sqsupset = "⊐";
2418    var sqsupseteq = "⊒";
2419    var square = "□";
2420    var Square = "□";
2421    var SquareIntersection = "⊓";
2422    var SquareSubset = "⊏";
2423    var SquareSubsetEqual = "⊑";
2424    var SquareSuperset = "⊐";
2425    var SquareSupersetEqual = "⊒";
2426    var SquareUnion = "⊔";
2427    var squarf = "▪";
2428    var squ = "□";
2429    var squf = "▪";
2430    var srarr = "→";
2431    var Sscr = "𝒮";
2432    var sscr = "𝓈";
2433    var ssetmn = "∖";
2434    var ssmile = "⌣";
2435    var sstarf = "⋆";
2436    var Star = "⋆";
2437    var star = "☆";
2438    var starf = "★";
2439    var straightepsilon = "ϵ";
2440    var straightphi = "ϕ";
2441    var strns = "¯";
2442    var sub = "⊂";
2443    var Sub = "⋐";
2444    var subdot = "⪽";
2445    var subE = "⫅";
2446    var sube = "⊆";
2447    var subedot = "⫃";
2448    var submult = "⫁";
2449    var subnE = "⫋";
2450    var subne = "⊊";
2451    var subplus = "⪿";
2452    var subrarr = "⥹";
2453    var subset = "⊂";
2454    var Subset = "⋐";
2455    var subseteq = "⊆";
2456    var subseteqq = "⫅";
2457    var SubsetEqual = "⊆";
2458    var subsetneq = "⊊";
2459    var subsetneqq = "⫋";
2460    var subsim = "⫇";
2461    var subsub = "⫕";
2462    var subsup = "⫓";
2463    var succapprox = "⪸";
2464    var succ = "≻";
2465    var succcurlyeq = "≽";
2466    var Succeeds = "≻";
2467    var SucceedsEqual = "⪰";
2468    var SucceedsSlantEqual = "≽";
2469    var SucceedsTilde = "≿";
2470    var succeq = "⪰";
2471    var succnapprox = "⪺";
2472    var succneqq = "⪶";
2473    var succnsim = "⋩";
2474    var succsim = "≿";
2475    var SuchThat = "∋";
2476    var sum = "∑";
2477    var Sum = "∑";
2478    var sung = "♪";
2479    var sup1 = "¹";
2480    var sup2 = "²";
2481    var sup3 = "³";
2482    var sup = "⊃";
2483    var Sup = "⋑";
2484    var supdot = "⪾";
2485    var supdsub = "⫘";
2486    var supE = "⫆";
2487    var supe = "⊇";
2488    var supedot = "⫄";
2489    var Superset = "⊃";
2490    var SupersetEqual = "⊇";
2491    var suphsol = "⟉";
2492    var suphsub = "⫗";
2493    var suplarr = "⥻";
2494    var supmult = "⫂";
2495    var supnE = "⫌";
2496    var supne = "⊋";
2497    var supplus = "⫀";
2498    var supset = "⊃";
2499    var Supset = "⋑";
2500    var supseteq = "⊇";
2501    var supseteqq = "⫆";
2502    var supsetneq = "⊋";
2503    var supsetneqq = "⫌";
2504    var supsim = "⫈";
2505    var supsub = "⫔";
2506    var supsup = "⫖";
2507    var swarhk = "⤦";
2508    var swarr = "↙";
2509    var swArr = "⇙";
2510    var swarrow = "↙";
2511    var swnwar = "⤪";
2512    var szlig = "ß";
2513    var Tab = "\t";
2514    var target = "⌖";
2515    var Tau = "Τ";
2516    var tau = "τ";
2517    var tbrk = "⎴";
2518    var Tcaron = "Ť";
2519    var tcaron = "Å¥";
2520    var Tcedil = "Å¢";
2521    var tcedil = "Å£";
2522    var Tcy = "Т";
2523    var tcy = "т";
2524    var tdot = "⃛";
2525    var telrec = "⌕";
2526    var Tfr = "𝔗";
2527    var tfr = "𝔱";
2528    var there4 = "∴";
2529    var therefore = "∴";
2530    var Therefore = "∴";
2531    var Theta = "Θ";
2532    var theta = "θ";
2533    var thetasym = "ϑ";
2534    var thetav = "ϑ";
2535    var thickapprox = "≈";
2536    var thicksim = "∼";
2537    var ThickSpace = "  ";
2538    var ThinSpace = " ";
2539    var thinsp = " ";
2540    var thkap = "≈";
2541    var thksim = "∼";
2542    var THORN = "Þ";
2543    var thorn = "þ";
2544    var tilde = "˜";
2545    var Tilde = "∼";
2546    var TildeEqual = "≃";
2547    var TildeFullEqual = "≅";
2548    var TildeTilde = "≈";
2549    var timesbar = "⨱";
2550    var timesb = "⊠";
2551    var times = "×";
2552    var timesd = "⨰";
2553    var tint = "∭";
2554    var toea = "⤨";
2555    var topbot = "⌶";
2556    var topcir = "⫱";
2557    var top = "⊤";
2558    var Topf = "𝕋";
2559    var topf = "𝕥";
2560    var topfork = "⫚";
2561    var tosa = "⤩";
2562    var tprime = "‴";
2563    var trade = "™";
2564    var TRADE = "™";
2565    var triangle = "▵";
2566    var triangledown = "▿";
2567    var triangleleft = "◃";
2568    var trianglelefteq = "⊴";
2569    var triangleq = "≜";
2570    var triangleright = "▹";
2571    var trianglerighteq = "⊵";
2572    var tridot = "◬";
2573    var trie = "≜";
2574    var triminus = "⨺";
2575    var TripleDot = "⃛";
2576    var triplus = "⨹";
2577    var trisb = "⧍";
2578    var tritime = "⨻";
2579    var trpezium = "⏢";
2580    var Tscr = "𝒯";
2581    var tscr = "𝓉";
2582    var TScy = "Ц";
2583    var tscy = "ц";
2584    var TSHcy = "Ћ";
2585    var tshcy = "ћ";
2586    var Tstrok = "Ŧ";
2587    var tstrok = "ŧ";
2588    var twixt = "≬";
2589    var twoheadleftarrow = "↞";
2590    var twoheadrightarrow = "↠";
2591    var Uacute = "Ú";
2592    var uacute = "ú";
2593    var uarr = "↑";
2594    var Uarr = "↟";
2595    var uArr = "⇑";
2596    var Uarrocir = "⥉";
2597    var Ubrcy = "Ў";
2598    var ubrcy = "ў";
2599    var Ubreve = "Ŭ";
2600    var ubreve = "Å­";
2601    var Ucirc = "Û";
2602    var ucirc = "û";
2603    var Ucy = "У";
2604    var ucy = "у";
2605    var udarr = "⇅";
2606    var Udblac = "Ű";
2607    var udblac = "ű";
2608    var udhar = "⥮";
2609    var ufisht = "⥾";
2610    var Ufr = "𝔘";
2611    var ufr = "𝔲";
2612    var Ugrave = "Ù";
2613    var ugrave = "ù";
2614    var uHar = "⥣";
2615    var uharl = "↿";
2616    var uharr = "↾";
2617    var uhblk = "▀";
2618    var ulcorn = "⌜";
2619    var ulcorner = "⌜";
2620    var ulcrop = "⌏";
2621    var ultri = "◸";
2622    var Umacr = "Ū";
2623    var umacr = "Å«";
2624    var uml = "¨";
2625    var UnderBar = "_";
2626    var UnderBrace = "⏟";
2627    var UnderBracket = "⎵";
2628    var UnderParenthesis = "⏝";
2629    var Union = "⋃";
2630    var UnionPlus = "⊎";
2631    var Uogon = "Ų";
2632    var uogon = "ų";
2633    var Uopf = "𝕌";
2634    var uopf = "𝕦";
2635    var UpArrowBar = "⤒";
2636    var uparrow = "↑";
2637    var UpArrow = "↑";
2638    var Uparrow = "⇑";
2639    var UpArrowDownArrow = "⇅";
2640    var updownarrow = "↕";
2641    var UpDownArrow = "↕";
2642    var Updownarrow = "⇕";
2643    var UpEquilibrium = "⥮";
2644    var upharpoonleft = "↿";
2645    var upharpoonright = "↾";
2646    var uplus = "⊎";
2647    var UpperLeftArrow = "↖";
2648    var UpperRightArrow = "↗";
2649    var upsi = "υ";
2650    var Upsi = "ϒ";
2651    var upsih = "ϒ";
2652    var Upsilon = "Î¥";
2653    var upsilon = "υ";
2654    var UpTeeArrow = "↥";
2655    var UpTee = "⊥";
2656    var upuparrows = "⇈";
2657    var urcorn = "⌝";
2658    var urcorner = "⌝";
2659    var urcrop = "⌎";
2660    var Uring = "Å®";
2661    var uring = "ů";
2662    var urtri = "◹";
2663    var Uscr = "𝒰";
2664    var uscr = "𝓊";
2665    var utdot = "⋰";
2666    var Utilde = "Ũ";
2667    var utilde = "Å©";
2668    var utri = "▵";
2669    var utrif = "▴";
2670    var uuarr = "⇈";
2671    var Uuml = "Ü";
2672    var uuml = "ü";
2673    var uwangle = "⦧";
2674    var vangrt = "⦜";
2675    var varepsilon = "ϵ";
2676    var varkappa = "ϰ";
2677    var varnothing = "∅";
2678    var varphi = "ϕ";
2679    var varpi = "ϖ";
2680    var varpropto = "∝";
2681    var varr = "↕";
2682    var vArr = "⇕";
2683    var varrho = "ϱ";
2684    var varsigma = "ς";
2685    var varsubsetneq = "⊊︀";
2686    var varsubsetneqq = "⫋︀";
2687    var varsupsetneq = "⊋︀";
2688    var varsupsetneqq = "⫌︀";
2689    var vartheta = "ϑ";
2690    var vartriangleleft = "⊲";
2691    var vartriangleright = "⊳";
2692    var vBar = "⫨";
2693    var Vbar = "â««";
2694    var vBarv = "â«©";
2695    var Vcy = "В";
2696    var vcy = "в";
2697    var vdash = "⊢";
2698    var vDash = "⊨";
2699    var Vdash = "⊩";
2700    var VDash = "⊫";
2701    var Vdashl = "⫦";
2702    var veebar = "⊻";
2703    var vee = "∨";
2704    var Vee = "⋁";
2705    var veeeq = "≚";
2706    var vellip = "⋮";
2707    var verbar = "|";
2708    var Verbar = "‖";
2709    var vert = "|";
2710    var Vert = "‖";
2711    var VerticalBar = "∣";
2712    var VerticalLine = "|";
2713    var VerticalSeparator = "❘";
2714    var VerticalTilde = "≀";
2715    var VeryThinSpace = " ";
2716    var Vfr = "𝔙";
2717    var vfr = "𝔳";
2718    var vltri = "⊲";
2719    var vnsub = "⊂⃒";
2720    var vnsup = "⊃⃒";
2721    var Vopf = "𝕍";
2722    var vopf = "𝕧";
2723    var vprop = "∝";
2724    var vrtri = "⊳";
2725    var Vscr = "𝒱";
2726    var vscr = "𝓋";
2727    var vsubnE = "⫋︀";
2728    var vsubne = "⊊︀";
2729    var vsupnE = "⫌︀";
2730    var vsupne = "⊋︀";
2731    var Vvdash = "⊪";
2732    var vzigzag = "⦚";
2733    var Wcirc = "Å´";
2734    var wcirc = "ŵ";
2735    var wedbar = "⩟";
2736    var wedge = "∧";
2737    var Wedge = "⋀";
2738    var wedgeq = "≙";
2739    var weierp = "℘";
2740    var Wfr = "𝔚";
2741    var wfr = "𝔴";
2742    var Wopf = "𝕎";
2743    var wopf = "𝕨";
2744    var wp = "℘";
2745    var wr = "≀";
2746    var wreath = "≀";
2747    var Wscr = "𝒲";
2748    var wscr = "𝓌";
2749    var xcap = "⋂";
2750    var xcirc = "◯";
2751    var xcup = "⋃";
2752    var xdtri = "▽";
2753    var Xfr = "𝔛";
2754    var xfr = "𝔵";
2755    var xharr = "⟷";
2756    var xhArr = "⟺";
2757    var Xi = "Ξ";
2758    var xi = "ξ";
2759    var xlarr = "⟵";
2760    var xlArr = "⟸";
2761    var xmap = "⟼";
2762    var xnis = "⋻";
2763    var xodot = "⨀";
2764    var Xopf = "𝕏";
2765    var xopf = "𝕩";
2766    var xoplus = "⨁";
2767    var xotime = "⨂";
2768    var xrarr = "⟶";
2769    var xrArr = "⟹";
2770    var Xscr = "𝒳";
2771    var xscr = "𝓍";
2772    var xsqcup = "⨆";
2773    var xuplus = "⨄";
2774    var xutri = "△";
2775    var xvee = "⋁";
2776    var xwedge = "⋀";
2777    var Yacute = "Ý";
2778    var yacute = "ý";
2779    var YAcy = "Я";
2780    var yacy = "я";
2781    var Ycirc = "Ŷ";
2782    var ycirc = "Å·";
2783    var Ycy = "Ы";
2784    var ycy = "ы";
2785    var yen = "Â¥";
2786    var Yfr = "𝔜";
2787    var yfr = "𝔶";
2788    var YIcy = "Ї";
2789    var yicy = "ї";
2790    var Yopf = "𝕐";
2791    var yopf = "𝕪";
2792    var Yscr = "𝒴";
2793    var yscr = "𝓎";
2794    var YUcy = "Ю";
2795    var yucy = "ю";
2796    var yuml = "ÿ";
2797    var Yuml = "Ÿ";
2798    var Zacute = "Ź";
2799    var zacute = "ź";
2800    var Zcaron = "Ž";
2801    var zcaron = "ž";
2802    var Zcy = "З";
2803    var zcy = "з";
2804    var Zdot = "Å»";
2805    var zdot = "ż";
2806    var zeetrf = "ℨ";
2807    var ZeroWidthSpace = "​";
2808    var Zeta = "Ζ";
2809    var zeta = "ζ";
2810    var zfr = "𝔷";
2811    var Zfr = "ℨ";
2812    var ZHcy = "Ж";
2813    var zhcy = "ж";
2814    var zigrarr = "⇝";
2815    var zopf = "𝕫";
2816    var Zopf = "ℤ";
2817    var Zscr = "𝒵";
2818    var zscr = "𝓏";
2819    var zwj = "‍";
2820    var zwnj = "‌";
2821    var entities = {
2822    	Aacute: Aacute,
2823    	aacute: aacute,
2824    	Abreve: Abreve,
2825    	abreve: abreve,
2826    	ac: ac,
2827    	acd: acd,
2828    	acE: acE,
2829    	Acirc: Acirc,
2830    	acirc: acirc,
2831    	acute: acute,
2832    	Acy: Acy,
2833    	acy: acy,
2834    	AElig: AElig,
2835    	aelig: aelig,
2836    	af: af,
2837    	Afr: Afr,
2838    	afr: afr,
2839    	Agrave: Agrave,
2840    	agrave: agrave,
2841    	alefsym: alefsym,
2842    	aleph: aleph,
2843    	Alpha: Alpha,
2844    	alpha: alpha,
2845    	Amacr: Amacr,
2846    	amacr: amacr,
2847    	amalg: amalg,
2848    	amp: amp$1,
2849    	AMP: AMP,
2850    	andand: andand,
2851    	And: And,
2852    	and: and,
2853    	andd: andd,
2854    	andslope: andslope,
2855    	andv: andv,
2856    	ang: ang,
2857    	ange: ange,
2858    	angle: angle,
2859    	angmsdaa: angmsdaa,
2860    	angmsdab: angmsdab,
2861    	angmsdac: angmsdac,
2862    	angmsdad: angmsdad,
2863    	angmsdae: angmsdae,
2864    	angmsdaf: angmsdaf,
2865    	angmsdag: angmsdag,
2866    	angmsdah: angmsdah,
2867    	angmsd: angmsd,
2868    	angrt: angrt,
2869    	angrtvb: angrtvb,
2870    	angrtvbd: angrtvbd,
2871    	angsph: angsph,
2872    	angst: angst,
2873    	angzarr: angzarr,
2874    	Aogon: Aogon,
2875    	aogon: aogon,
2876    	Aopf: Aopf,
2877    	aopf: aopf,
2878    	apacir: apacir,
2879    	ap: ap,
2880    	apE: apE,
2881    	ape: ape,
2882    	apid: apid,
2883    	apos: apos$1,
2884    	ApplyFunction: ApplyFunction,
2885    	approx: approx,
2886    	approxeq: approxeq,
2887    	Aring: Aring,
2888    	aring: aring,
2889    	Ascr: Ascr,
2890    	ascr: ascr,
2891    	Assign: Assign,
2892    	ast: ast,
2893    	asymp: asymp,
2894    	asympeq: asympeq,
2895    	Atilde: Atilde,
2896    	atilde: atilde,
2897    	Auml: Auml,
2898    	auml: auml,
2899    	awconint: awconint,
2900    	awint: awint,
2901    	backcong: backcong,
2902    	backepsilon: backepsilon,
2903    	backprime: backprime,
2904    	backsim: backsim,
2905    	backsimeq: backsimeq,
2906    	Backslash: Backslash,
2907    	Barv: Barv,
2908    	barvee: barvee,
2909    	barwed: barwed,
2910    	Barwed: Barwed,
2911    	barwedge: barwedge,
2912    	bbrk: bbrk,
2913    	bbrktbrk: bbrktbrk,
2914    	bcong: bcong,
2915    	Bcy: Bcy,
2916    	bcy: bcy,
2917    	bdquo: bdquo,
2918    	becaus: becaus,
2919    	because: because,
2920    	Because: Because,
2921    	bemptyv: bemptyv,
2922    	bepsi: bepsi,
2923    	bernou: bernou,
2924    	Bernoullis: Bernoullis,
2925    	Beta: Beta,
2926    	beta: beta,
2927    	beth: beth,
2928    	between: between,
2929    	Bfr: Bfr,
2930    	bfr: bfr,
2931    	bigcap: bigcap,
2932    	bigcirc: bigcirc,
2933    	bigcup: bigcup,
2934    	bigodot: bigodot,
2935    	bigoplus: bigoplus,
2936    	bigotimes: bigotimes,
2937    	bigsqcup: bigsqcup,
2938    	bigstar: bigstar,
2939    	bigtriangledown: bigtriangledown,
2940    	bigtriangleup: bigtriangleup,
2941    	biguplus: biguplus,
2942    	bigvee: bigvee,
2943    	bigwedge: bigwedge,
2944    	bkarow: bkarow,
2945    	blacklozenge: blacklozenge,
2946    	blacksquare: blacksquare,
2947    	blacktriangle: blacktriangle,
2948    	blacktriangledown: blacktriangledown,
2949    	blacktriangleleft: blacktriangleleft,
2950    	blacktriangleright: blacktriangleright,
2951    	blank: blank,
2952    	blk12: blk12,
2953    	blk14: blk14,
2954    	blk34: blk34,
2955    	block: block,
2956    	bne: bne,
2957    	bnequiv: bnequiv,
2958    	bNot: bNot,
2959    	bnot: bnot,
2960    	Bopf: Bopf,
2961    	bopf: bopf,
2962    	bot: bot,
2963    	bottom: bottom,
2964    	bowtie: bowtie,
2965    	boxbox: boxbox,
2966    	boxdl: boxdl,
2967    	boxdL: boxdL,
2968    	boxDl: boxDl,
2969    	boxDL: boxDL,
2970    	boxdr: boxdr,
2971    	boxdR: boxdR,
2972    	boxDr: boxDr,
2973    	boxDR: boxDR,
2974    	boxh: boxh,
2975    	boxH: boxH,
2976    	boxhd: boxhd,
2977    	boxHd: boxHd,
2978    	boxhD: boxhD,
2979    	boxHD: boxHD,
2980    	boxhu: boxhu,
2981    	boxHu: boxHu,
2982    	boxhU: boxhU,
2983    	boxHU: boxHU,
2984    	boxminus: boxminus,
2985    	boxplus: boxplus,
2986    	boxtimes: boxtimes,
2987    	boxul: boxul,
2988    	boxuL: boxuL,
2989    	boxUl: boxUl,
2990    	boxUL: boxUL,
2991    	boxur: boxur,
2992    	boxuR: boxuR,
2993    	boxUr: boxUr,
2994    	boxUR: boxUR,
2995    	boxv: boxv,
2996    	boxV: boxV,
2997    	boxvh: boxvh,
2998    	boxvH: boxvH,
2999    	boxVh: boxVh,
3000    	boxVH: boxVH,
3001    	boxvl: boxvl,
3002    	boxvL: boxvL,
3003    	boxVl: boxVl,
3004    	boxVL: boxVL,
3005    	boxvr: boxvr,
3006    	boxvR: boxvR,
3007    	boxVr: boxVr,
3008    	boxVR: boxVR,
3009    	bprime: bprime,
3010    	breve: breve,
3011    	Breve: Breve,
3012    	brvbar: brvbar,
3013    	bscr: bscr,
3014    	Bscr: Bscr,
3015    	bsemi: bsemi,
3016    	bsim: bsim,
3017    	bsime: bsime,
3018    	bsolb: bsolb,
3019    	bsol: bsol,
3020    	bsolhsub: bsolhsub,
3021    	bull: bull,
3022    	bullet: bullet,
3023    	bump: bump,
3024    	bumpE: bumpE,
3025    	bumpe: bumpe,
3026    	Bumpeq: Bumpeq,
3027    	bumpeq: bumpeq,
3028    	Cacute: Cacute,
3029    	cacute: cacute,
3030    	capand: capand,
3031    	capbrcup: capbrcup,
3032    	capcap: capcap,
3033    	cap: cap,
3034    	Cap: Cap,
3035    	capcup: capcup,
3036    	capdot: capdot,
3037    	CapitalDifferentialD: CapitalDifferentialD,
3038    	caps: caps,
3039    	caret: caret,
3040    	caron: caron,
3041    	Cayleys: Cayleys,
3042    	ccaps: ccaps,
3043    	Ccaron: Ccaron,
3044    	ccaron: ccaron,
3045    	Ccedil: Ccedil,
3046    	ccedil: ccedil,
3047    	Ccirc: Ccirc,
3048    	ccirc: ccirc,
3049    	Cconint: Cconint,
3050    	ccups: ccups,
3051    	ccupssm: ccupssm,
3052    	Cdot: Cdot,
3053    	cdot: cdot,
3054    	cedil: cedil,
3055    	Cedilla: Cedilla,
3056    	cemptyv: cemptyv,
3057    	cent: cent,
3058    	centerdot: centerdot,
3059    	CenterDot: CenterDot,
3060    	cfr: cfr,
3061    	Cfr: Cfr,
3062    	CHcy: CHcy,
3063    	chcy: chcy,
3064    	check: check,
3065    	checkmark: checkmark,
3066    	Chi: Chi,
3067    	chi: chi,
3068    	circ: circ,
3069    	circeq: circeq,
3070    	circlearrowleft: circlearrowleft,
3071    	circlearrowright: circlearrowright,
3072    	circledast: circledast,
3073    	circledcirc: circledcirc,
3074    	circleddash: circleddash,
3075    	CircleDot: CircleDot,
3076    	circledR: circledR,
3077    	circledS: circledS,
3078    	CircleMinus: CircleMinus,
3079    	CirclePlus: CirclePlus,
3080    	CircleTimes: CircleTimes,
3081    	cir: cir,
3082    	cirE: cirE,
3083    	cire: cire,
3084    	cirfnint: cirfnint,
3085    	cirmid: cirmid,
3086    	cirscir: cirscir,
3087    	ClockwiseContourIntegral: ClockwiseContourIntegral,
3088    	CloseCurlyDoubleQuote: CloseCurlyDoubleQuote,
3089    	CloseCurlyQuote: CloseCurlyQuote,
3090    	clubs: clubs,
3091    	clubsuit: clubsuit,
3092    	colon: colon,
3093    	Colon: Colon,
3094    	Colone: Colone,
3095    	colone: colone,
3096    	coloneq: coloneq,
3097    	comma: comma,
3098    	commat: commat,
3099    	comp: comp,
3100    	compfn: compfn,
3101    	complement: complement,
3102    	complexes: complexes,
3103    	cong: cong,
3104    	congdot: congdot,
3105    	Congruent: Congruent,
3106    	conint: conint,
3107    	Conint: Conint,
3108    	ContourIntegral: ContourIntegral,
3109    	copf: copf,
3110    	Copf: Copf,
3111    	coprod: coprod,
3112    	Coproduct: Coproduct,
3113    	copy: copy,
3114    	COPY: COPY,
3115    	copysr: copysr,
3116    	CounterClockwiseContourIntegral: CounterClockwiseContourIntegral,
3117    	crarr: crarr,
3118    	cross: cross,
3119    	Cross: Cross,
3120    	Cscr: Cscr,
3121    	cscr: cscr,
3122    	csub: csub,
3123    	csube: csube,
3124    	csup: csup,
3125    	csupe: csupe,
3126    	ctdot: ctdot,
3127    	cudarrl: cudarrl,
3128    	cudarrr: cudarrr,
3129    	cuepr: cuepr,
3130    	cuesc: cuesc,
3131    	cularr: cularr,
3132    	cularrp: cularrp,
3133    	cupbrcap: cupbrcap,
3134    	cupcap: cupcap,
3135    	CupCap: CupCap,
3136    	cup: cup,
3137    	Cup: Cup,
3138    	cupcup: cupcup,
3139    	cupdot: cupdot,
3140    	cupor: cupor,
3141    	cups: cups,
3142    	curarr: curarr,
3143    	curarrm: curarrm,
3144    	curlyeqprec: curlyeqprec,
3145    	curlyeqsucc: curlyeqsucc,
3146    	curlyvee: curlyvee,
3147    	curlywedge: curlywedge,
3148    	curren: curren,
3149    	curvearrowleft: curvearrowleft,
3150    	curvearrowright: curvearrowright,
3151    	cuvee: cuvee,
3152    	cuwed: cuwed,
3153    	cwconint: cwconint,
3154    	cwint: cwint,
3155    	cylcty: cylcty,
3156    	dagger: dagger,
3157    	Dagger: Dagger,
3158    	daleth: daleth,
3159    	darr: darr,
3160    	Darr: Darr,
3161    	dArr: dArr,
3162    	dash: dash,
3163    	Dashv: Dashv,
3164    	dashv: dashv,
3165    	dbkarow: dbkarow,
3166    	dblac: dblac,
3167    	Dcaron: Dcaron,
3168    	dcaron: dcaron,
3169    	Dcy: Dcy,
3170    	dcy: dcy,
3171    	ddagger: ddagger,
3172    	ddarr: ddarr,
3173    	DD: DD,
3174    	dd: dd,
3175    	DDotrahd: DDotrahd,
3176    	ddotseq: ddotseq,
3177    	deg: deg,
3178    	Del: Del,
3179    	Delta: Delta,
3180    	delta: delta,
3181    	demptyv: demptyv,
3182    	dfisht: dfisht,
3183    	Dfr: Dfr,
3184    	dfr: dfr,
3185    	dHar: dHar,
3186    	dharl: dharl,
3187    	dharr: dharr,
3188    	DiacriticalAcute: DiacriticalAcute,
3189    	DiacriticalDot: DiacriticalDot,
3190    	DiacriticalDoubleAcute: DiacriticalDoubleAcute,
3191    	DiacriticalGrave: DiacriticalGrave,
3192    	DiacriticalTilde: DiacriticalTilde,
3193    	diam: diam,
3194    	diamond: diamond,
3195    	Diamond: Diamond,
3196    	diamondsuit: diamondsuit,
3197    	diams: diams,
3198    	die: die,
3199    	DifferentialD: DifferentialD,
3200    	digamma: digamma,
3201    	disin: disin,
3202    	div: div,
3203    	divide: divide,
3204    	divideontimes: divideontimes,
3205    	divonx: divonx,
3206    	DJcy: DJcy,
3207    	djcy: djcy,
3208    	dlcorn: dlcorn,
3209    	dlcrop: dlcrop,
3210    	dollar: dollar,
3211    	Dopf: Dopf,
3212    	dopf: dopf,
3213    	Dot: Dot,
3214    	dot: dot,
3215    	DotDot: DotDot,
3216    	doteq: doteq,
3217    	doteqdot: doteqdot,
3218    	DotEqual: DotEqual,
3219    	dotminus: dotminus,
3220    	dotplus: dotplus,
3221    	dotsquare: dotsquare,
3222    	doublebarwedge: doublebarwedge,
3223    	DoubleContourIntegral: DoubleContourIntegral,
3224    	DoubleDot: DoubleDot,
3225    	DoubleDownArrow: DoubleDownArrow,
3226    	DoubleLeftArrow: DoubleLeftArrow,
3227    	DoubleLeftRightArrow: DoubleLeftRightArrow,
3228    	DoubleLeftTee: DoubleLeftTee,
3229    	DoubleLongLeftArrow: DoubleLongLeftArrow,
3230    	DoubleLongLeftRightArrow: DoubleLongLeftRightArrow,
3231    	DoubleLongRightArrow: DoubleLongRightArrow,
3232    	DoubleRightArrow: DoubleRightArrow,
3233    	DoubleRightTee: DoubleRightTee,
3234    	DoubleUpArrow: DoubleUpArrow,
3235    	DoubleUpDownArrow: DoubleUpDownArrow,
3236    	DoubleVerticalBar: DoubleVerticalBar,
3237    	DownArrowBar: DownArrowBar,
3238    	downarrow: downarrow,
3239    	DownArrow: DownArrow,
3240    	Downarrow: Downarrow,
3241    	DownArrowUpArrow: DownArrowUpArrow,
3242    	DownBreve: DownBreve,
3243    	downdownarrows: downdownarrows,
3244    	downharpoonleft: downharpoonleft,
3245    	downharpoonright: downharpoonright,
3246    	DownLeftRightVector: DownLeftRightVector,
3247    	DownLeftTeeVector: DownLeftTeeVector,
3248    	DownLeftVectorBar: DownLeftVectorBar,
3249    	DownLeftVector: DownLeftVector,
3250    	DownRightTeeVector: DownRightTeeVector,
3251    	DownRightVectorBar: DownRightVectorBar,
3252    	DownRightVector: DownRightVector,
3253    	DownTeeArrow: DownTeeArrow,
3254    	DownTee: DownTee,
3255    	drbkarow: drbkarow,
3256    	drcorn: drcorn,
3257    	drcrop: drcrop,
3258    	Dscr: Dscr,
3259    	dscr: dscr,
3260    	DScy: DScy,
3261    	dscy: dscy,
3262    	dsol: dsol,
3263    	Dstrok: Dstrok,
3264    	dstrok: dstrok,
3265    	dtdot: dtdot,
3266    	dtri: dtri,
3267    	dtrif: dtrif,
3268    	duarr: duarr,
3269    	duhar: duhar,
3270    	dwangle: dwangle,
3271    	DZcy: DZcy,
3272    	dzcy: dzcy,
3273    	dzigrarr: dzigrarr,
3274    	Eacute: Eacute,
3275    	eacute: eacute,
3276    	easter: easter,
3277    	Ecaron: Ecaron,
3278    	ecaron: ecaron,
3279    	Ecirc: Ecirc,
3280    	ecirc: ecirc,
3281    	ecir: ecir,
3282    	ecolon: ecolon,
3283    	Ecy: Ecy,
3284    	ecy: ecy,
3285    	eDDot: eDDot,
3286    	Edot: Edot,
3287    	edot: edot,
3288    	eDot: eDot,
3289    	ee: ee,
3290    	efDot: efDot,
3291    	Efr: Efr,
3292    	efr: efr,
3293    	eg: eg,
3294    	Egrave: Egrave,
3295    	egrave: egrave,
3296    	egs: egs,
3297    	egsdot: egsdot,
3298    	el: el,
3299    	Element: Element,
3300    	elinters: elinters,
3301    	ell: ell,
3302    	els: els,
3303    	elsdot: elsdot,
3304    	Emacr: Emacr,
3305    	emacr: emacr,
3306    	empty: empty,
3307    	emptyset: emptyset,
3308    	EmptySmallSquare: EmptySmallSquare,
3309    	emptyv: emptyv,
3310    	EmptyVerySmallSquare: EmptyVerySmallSquare,
3311    	emsp13: emsp13,
3312    	emsp14: emsp14,
3313    	emsp: emsp,
3314    	ENG: ENG,
3315    	eng: eng,
3316    	ensp: ensp,
3317    	Eogon: Eogon,
3318    	eogon: eogon,
3319    	Eopf: Eopf,
3320    	eopf: eopf,
3321    	epar: epar,
3322    	eparsl: eparsl,
3323    	eplus: eplus,
3324    	epsi: epsi,
3325    	Epsilon: Epsilon,
3326    	epsilon: epsilon,
3327    	epsiv: epsiv,
3328    	eqcirc: eqcirc,
3329    	eqcolon: eqcolon,
3330    	eqsim: eqsim,
3331    	eqslantgtr: eqslantgtr,
3332    	eqslantless: eqslantless,
3333    	Equal: Equal,
3334    	equals: equals,
3335    	EqualTilde: EqualTilde,
3336    	equest: equest,
3337    	Equilibrium: Equilibrium,
3338    	equiv: equiv,
3339    	equivDD: equivDD,
3340    	eqvparsl: eqvparsl,
3341    	erarr: erarr,
3342    	erDot: erDot,
3343    	escr: escr,
3344    	Escr: Escr,
3345    	esdot: esdot,
3346    	Esim: Esim,
3347    	esim: esim,
3348    	Eta: Eta,
3349    	eta: eta,
3350    	ETH: ETH,
3351    	eth: eth,
3352    	Euml: Euml,
3353    	euml: euml,
3354    	euro: euro,
3355    	excl: excl,
3356    	exist: exist,
3357    	Exists: Exists,
3358    	expectation: expectation,
3359    	exponentiale: exponentiale,
3360    	ExponentialE: ExponentialE,
3361    	fallingdotseq: fallingdotseq,
3362    	Fcy: Fcy,
3363    	fcy: fcy,
3364    	female: female,
3365    	ffilig: ffilig,
3366    	fflig: fflig,
3367    	ffllig: ffllig,
3368    	Ffr: Ffr,
3369    	ffr: ffr,
3370    	filig: filig,
3371    	FilledSmallSquare: FilledSmallSquare,
3372    	FilledVerySmallSquare: FilledVerySmallSquare,
3373    	fjlig: fjlig,
3374    	flat: flat,
3375    	fllig: fllig,
3376    	fltns: fltns,
3377    	fnof: fnof,
3378    	Fopf: Fopf,
3379    	fopf: fopf,
3380    	forall: forall,
3381    	ForAll: ForAll,
3382    	fork: fork,
3383    	forkv: forkv,
3384    	Fouriertrf: Fouriertrf,
3385    	fpartint: fpartint,
3386    	frac12: frac12,
3387    	frac13: frac13,
3388    	frac14: frac14,
3389    	frac15: frac15,
3390    	frac16: frac16,
3391    	frac18: frac18,
3392    	frac23: frac23,
3393    	frac25: frac25,
3394    	frac34: frac34,
3395    	frac35: frac35,
3396    	frac38: frac38,
3397    	frac45: frac45,
3398    	frac56: frac56,
3399    	frac58: frac58,
3400    	frac78: frac78,
3401    	frasl: frasl,
3402    	frown: frown,
3403    	fscr: fscr,
3404    	Fscr: Fscr,
3405    	gacute: gacute,
3406    	Gamma: Gamma,
3407    	gamma: gamma,
3408    	Gammad: Gammad,
3409    	gammad: gammad,
3410    	gap: gap,
3411    	Gbreve: Gbreve,
3412    	gbreve: gbreve,
3413    	Gcedil: Gcedil,
3414    	Gcirc: Gcirc,
3415    	gcirc: gcirc,
3416    	Gcy: Gcy,
3417    	gcy: gcy,
3418    	Gdot: Gdot,
3419    	gdot: gdot,
3420    	ge: ge,
3421    	gE: gE,
3422    	gEl: gEl,
3423    	gel: gel,
3424    	geq: geq,
3425    	geqq: geqq,
3426    	geqslant: geqslant,
3427    	gescc: gescc,
3428    	ges: ges,
3429    	gesdot: gesdot,
3430    	gesdoto: gesdoto,
3431    	gesdotol: gesdotol,
3432    	gesl: gesl,
3433    	gesles: gesles,
3434    	Gfr: Gfr,
3435    	gfr: gfr,
3436    	gg: gg,
3437    	Gg: Gg,
3438    	ggg: ggg,
3439    	gimel: gimel,
3440    	GJcy: GJcy,
3441    	gjcy: gjcy,
3442    	gla: gla,
3443    	gl: gl,
3444    	glE: glE,
3445    	glj: glj,
3446    	gnap: gnap,
3447    	gnapprox: gnapprox,
3448    	gne: gne,
3449    	gnE: gnE,
3450    	gneq: gneq,
3451    	gneqq: gneqq,
3452    	gnsim: gnsim,
3453    	Gopf: Gopf,
3454    	gopf: gopf,
3455    	grave: grave,
3456    	GreaterEqual: GreaterEqual,
3457    	GreaterEqualLess: GreaterEqualLess,
3458    	GreaterFullEqual: GreaterFullEqual,
3459    	GreaterGreater: GreaterGreater,
3460    	GreaterLess: GreaterLess,
3461    	GreaterSlantEqual: GreaterSlantEqual,
3462    	GreaterTilde: GreaterTilde,
3463    	Gscr: Gscr,
3464    	gscr: gscr,
3465    	gsim: gsim,
3466    	gsime: gsime,
3467    	gsiml: gsiml,
3468    	gtcc: gtcc,
3469    	gtcir: gtcir,
3470    	gt: gt$1,
3471    	GT: GT,
3472    	Gt: Gt,
3473    	gtdot: gtdot,
3474    	gtlPar: gtlPar,
3475    	gtquest: gtquest,
3476    	gtrapprox: gtrapprox,
3477    	gtrarr: gtrarr,
3478    	gtrdot: gtrdot,
3479    	gtreqless: gtreqless,
3480    	gtreqqless: gtreqqless,
3481    	gtrless: gtrless,
3482    	gtrsim: gtrsim,
3483    	gvertneqq: gvertneqq,
3484    	gvnE: gvnE,
3485    	Hacek: Hacek,
3486    	hairsp: hairsp,
3487    	half: half,
3488    	hamilt: hamilt,
3489    	HARDcy: HARDcy,
3490    	hardcy: hardcy,
3491    	harrcir: harrcir,
3492    	harr: harr,
3493    	hArr: hArr,
3494    	harrw: harrw,
3495    	Hat: Hat,
3496    	hbar: hbar,
3497    	Hcirc: Hcirc,
3498    	hcirc: hcirc,
3499    	hearts: hearts,
3500    	heartsuit: heartsuit,
3501    	hellip: hellip,
3502    	hercon: hercon,
3503    	hfr: hfr,
3504    	Hfr: Hfr,
3505    	HilbertSpace: HilbertSpace,
3506    	hksearow: hksearow,
3507    	hkswarow: hkswarow,
3508    	hoarr: hoarr,
3509    	homtht: homtht,
3510    	hookleftarrow: hookleftarrow,
3511    	hookrightarrow: hookrightarrow,
3512    	hopf: hopf,
3513    	Hopf: Hopf,
3514    	horbar: horbar,
3515    	HorizontalLine: HorizontalLine,
3516    	hscr: hscr,
3517    	Hscr: Hscr,
3518    	hslash: hslash,
3519    	Hstrok: Hstrok,
3520    	hstrok: hstrok,
3521    	HumpDownHump: HumpDownHump,
3522    	HumpEqual: HumpEqual,
3523    	hybull: hybull,
3524    	hyphen: hyphen,
3525    	Iacute: Iacute,
3526    	iacute: iacute,
3527    	ic: ic,
3528    	Icirc: Icirc,
3529    	icirc: icirc,
3530    	Icy: Icy,
3531    	icy: icy,
3532    	Idot: Idot,
3533    	IEcy: IEcy,
3534    	iecy: iecy,
3535    	iexcl: iexcl,
3536    	iff: iff,
3537    	ifr: ifr,
3538    	Ifr: Ifr,
3539    	Igrave: Igrave,
3540    	igrave: igrave,
3541    	ii: ii,
3542    	iiiint: iiiint,
3543    	iiint: iiint,
3544    	iinfin: iinfin,
3545    	iiota: iiota,
3546    	IJlig: IJlig,
3547    	ijlig: ijlig,
3548    	Imacr: Imacr,
3549    	imacr: imacr,
3550    	image: image,
3551    	ImaginaryI: ImaginaryI,
3552    	imagline: imagline,
3553    	imagpart: imagpart,
3554    	imath: imath,
3555    	Im: Im,
3556    	imof: imof,
3557    	imped: imped,
3558    	Implies: Implies,
3559    	incare: incare,
3560    	"in": "∈",
3561    	infin: infin,
3562    	infintie: infintie,
3563    	inodot: inodot,
3564    	intcal: intcal,
3565    	int: int,
3566    	Int: Int,
3567    	integers: integers,
3568    	Integral: Integral,
3569    	intercal: intercal,
3570    	Intersection: Intersection,
3571    	intlarhk: intlarhk,
3572    	intprod: intprod,
3573    	InvisibleComma: InvisibleComma,
3574    	InvisibleTimes: InvisibleTimes,
3575    	IOcy: IOcy,
3576    	iocy: iocy,
3577    	Iogon: Iogon,
3578    	iogon: iogon,
3579    	Iopf: Iopf,
3580    	iopf: iopf,
3581    	Iota: Iota,
3582    	iota: iota,
3583    	iprod: iprod,
3584    	iquest: iquest,
3585    	iscr: iscr,
3586    	Iscr: Iscr,
3587    	isin: isin,
3588    	isindot: isindot,
3589    	isinE: isinE,
3590    	isins: isins,
3591    	isinsv: isinsv,
3592    	isinv: isinv,
3593    	it: it,
3594    	Itilde: Itilde,
3595    	itilde: itilde,
3596    	Iukcy: Iukcy,
3597    	iukcy: iukcy,
3598    	Iuml: Iuml,
3599    	iuml: iuml,
3600    	Jcirc: Jcirc,
3601    	jcirc: jcirc,
3602    	Jcy: Jcy,
3603    	jcy: jcy,
3604    	Jfr: Jfr,
3605    	jfr: jfr,
3606    	jmath: jmath,
3607    	Jopf: Jopf,
3608    	jopf: jopf,
3609    	Jscr: Jscr,
3610    	jscr: jscr,
3611    	Jsercy: Jsercy,
3612    	jsercy: jsercy,
3613    	Jukcy: Jukcy,
3614    	jukcy: jukcy,
3615    	Kappa: Kappa,
3616    	kappa: kappa,
3617    	kappav: kappav,
3618    	Kcedil: Kcedil,
3619    	kcedil: kcedil,
3620    	Kcy: Kcy,
3621    	kcy: kcy,
3622    	Kfr: Kfr,
3623    	kfr: kfr,
3624    	kgreen: kgreen,
3625    	KHcy: KHcy,
3626    	khcy: khcy,
3627    	KJcy: KJcy,
3628    	kjcy: kjcy,
3629    	Kopf: Kopf,
3630    	kopf: kopf,
3631    	Kscr: Kscr,
3632    	kscr: kscr,
3633    	lAarr: lAarr,
3634    	Lacute: Lacute,
3635    	lacute: lacute,
3636    	laemptyv: laemptyv,
3637    	lagran: lagran,
3638    	Lambda: Lambda,
3639    	lambda: lambda,
3640    	lang: lang,
3641    	Lang: Lang,
3642    	langd: langd,
3643    	langle: langle,
3644    	lap: lap,
3645    	Laplacetrf: Laplacetrf,
3646    	laquo: laquo,
3647    	larrb: larrb,
3648    	larrbfs: larrbfs,
3649    	larr: larr,
3650    	Larr: Larr,
3651    	lArr: lArr,
3652    	larrfs: larrfs,
3653    	larrhk: larrhk,
3654    	larrlp: larrlp,
3655    	larrpl: larrpl,
3656    	larrsim: larrsim,
3657    	larrtl: larrtl,
3658    	latail: latail,
3659    	lAtail: lAtail,
3660    	lat: lat,
3661    	late: late,
3662    	lates: lates,
3663    	lbarr: lbarr,
3664    	lBarr: lBarr,
3665    	lbbrk: lbbrk,
3666    	lbrace: lbrace,
3667    	lbrack: lbrack,
3668    	lbrke: lbrke,
3669    	lbrksld: lbrksld,
3670    	lbrkslu: lbrkslu,
3671    	Lcaron: Lcaron,
3672    	lcaron: lcaron,
3673    	Lcedil: Lcedil,
3674    	lcedil: lcedil,
3675    	lceil: lceil,
3676    	lcub: lcub,
3677    	Lcy: Lcy,
3678    	lcy: lcy,
3679    	ldca: ldca,
3680    	ldquo: ldquo,
3681    	ldquor: ldquor,
3682    	ldrdhar: ldrdhar,
3683    	ldrushar: ldrushar,
3684    	ldsh: ldsh,
3685    	le: le,
3686    	lE: lE,
3687    	LeftAngleBracket: LeftAngleBracket,
3688    	LeftArrowBar: LeftArrowBar,
3689    	leftarrow: leftarrow,
3690    	LeftArrow: LeftArrow,
3691    	Leftarrow: Leftarrow,
3692    	LeftArrowRightArrow: LeftArrowRightArrow,
3693    	leftarrowtail: leftarrowtail,
3694    	LeftCeiling: LeftCeiling,
3695    	LeftDoubleBracket: LeftDoubleBracket,
3696    	LeftDownTeeVector: LeftDownTeeVector,
3697    	LeftDownVectorBar: LeftDownVectorBar,
3698    	LeftDownVector: LeftDownVector,
3699    	LeftFloor: LeftFloor,
3700    	leftharpoondown: leftharpoondown,
3701    	leftharpoonup: leftharpoonup,
3702    	leftleftarrows: leftleftarrows,
3703    	leftrightarrow: leftrightarrow,
3704    	LeftRightArrow: LeftRightArrow,
3705    	Leftrightarrow: Leftrightarrow,
3706    	leftrightarrows: leftrightarrows,
3707    	leftrightharpoons: leftrightharpoons,
3708    	leftrightsquigarrow: leftrightsquigarrow,
3709    	LeftRightVector: LeftRightVector,
3710    	LeftTeeArrow: LeftTeeArrow,
3711    	LeftTee: LeftTee,
3712    	LeftTeeVector: LeftTeeVector,
3713    	leftthreetimes: leftthreetimes,
3714    	LeftTriangleBar: LeftTriangleBar,
3715    	LeftTriangle: LeftTriangle,
3716    	LeftTriangleEqual: LeftTriangleEqual,
3717    	LeftUpDownVector: LeftUpDownVector,
3718    	LeftUpTeeVector: LeftUpTeeVector,
3719    	LeftUpVectorBar: LeftUpVectorBar,
3720    	LeftUpVector: LeftUpVector,
3721    	LeftVectorBar: LeftVectorBar,
3722    	LeftVector: LeftVector,
3723    	lEg: lEg,
3724    	leg: leg,
3725    	leq: leq,
3726    	leqq: leqq,
3727    	leqslant: leqslant,
3728    	lescc: lescc,
3729    	les: les,
3730    	lesdot: lesdot,
3731    	lesdoto: lesdoto,
3732    	lesdotor: lesdotor,
3733    	lesg: lesg,
3734    	lesges: lesges,
3735    	lessapprox: lessapprox,
3736    	lessdot: lessdot,
3737    	lesseqgtr: lesseqgtr,
3738    	lesseqqgtr: lesseqqgtr,
3739    	LessEqualGreater: LessEqualGreater,
3740    	LessFullEqual: LessFullEqual,
3741    	LessGreater: LessGreater,
3742    	lessgtr: lessgtr,
3743    	LessLess: LessLess,
3744    	lesssim: lesssim,
3745    	LessSlantEqual: LessSlantEqual,
3746    	LessTilde: LessTilde,
3747    	lfisht: lfisht,
3748    	lfloor: lfloor,
3749    	Lfr: Lfr,
3750    	lfr: lfr,
3751    	lg: lg,
3752    	lgE: lgE,
3753    	lHar: lHar,
3754    	lhard: lhard,
3755    	lharu: lharu,
3756    	lharul: lharul,
3757    	lhblk: lhblk,
3758    	LJcy: LJcy,
3759    	ljcy: ljcy,
3760    	llarr: llarr,
3761    	ll: ll,
3762    	Ll: Ll,
3763    	llcorner: llcorner,
3764    	Lleftarrow: Lleftarrow,
3765    	llhard: llhard,
3766    	lltri: lltri,
3767    	Lmidot: Lmidot,
3768    	lmidot: lmidot,
3769    	lmoustache: lmoustache,
3770    	lmoust: lmoust,
3771    	lnap: lnap,
3772    	lnapprox: lnapprox,
3773    	lne: lne,
3774    	lnE: lnE,
3775    	lneq: lneq,
3776    	lneqq: lneqq,
3777    	lnsim: lnsim,
3778    	loang: loang,
3779    	loarr: loarr,
3780    	lobrk: lobrk,
3781    	longleftarrow: longleftarrow,
3782    	LongLeftArrow: LongLeftArrow,
3783    	Longleftarrow: Longleftarrow,
3784    	longleftrightarrow: longleftrightarrow,
3785    	LongLeftRightArrow: LongLeftRightArrow,
3786    	Longleftrightarrow: Longleftrightarrow,
3787    	longmapsto: longmapsto,
3788    	longrightarrow: longrightarrow,
3789    	LongRightArrow: LongRightArrow,
3790    	Longrightarrow: Longrightarrow,
3791    	looparrowleft: looparrowleft,
3792    	looparrowright: looparrowright,
3793    	lopar: lopar,
3794    	Lopf: Lopf,
3795    	lopf: lopf,
3796    	loplus: loplus,
3797    	lotimes: lotimes,
3798    	lowast: lowast,
3799    	lowbar: lowbar,
3800    	LowerLeftArrow: LowerLeftArrow,
3801    	LowerRightArrow: LowerRightArrow,
3802    	loz: loz,
3803    	lozenge: lozenge,
3804    	lozf: lozf,
3805    	lpar: lpar,
3806    	lparlt: lparlt,
3807    	lrarr: lrarr,
3808    	lrcorner: lrcorner,
3809    	lrhar: lrhar,
3810    	lrhard: lrhard,
3811    	lrm: lrm,
3812    	lrtri: lrtri,
3813    	lsaquo: lsaquo,
3814    	lscr: lscr,
3815    	Lscr: Lscr,
3816    	lsh: lsh,
3817    	Lsh: Lsh,
3818    	lsim: lsim,
3819    	lsime: lsime,
3820    	lsimg: lsimg,
3821    	lsqb: lsqb,
3822    	lsquo: lsquo,
3823    	lsquor: lsquor,
3824    	Lstrok: Lstrok,
3825    	lstrok: lstrok,
3826    	ltcc: ltcc,
3827    	ltcir: ltcir,
3828    	lt: lt$1,
3829    	LT: LT,
3830    	Lt: Lt,
3831    	ltdot: ltdot,
3832    	lthree: lthree,
3833    	ltimes: ltimes,
3834    	ltlarr: ltlarr,
3835    	ltquest: ltquest,
3836    	ltri: ltri,
3837    	ltrie: ltrie,
3838    	ltrif: ltrif,
3839    	ltrPar: ltrPar,
3840    	lurdshar: lurdshar,
3841    	luruhar: luruhar,
3842    	lvertneqq: lvertneqq,
3843    	lvnE: lvnE,
3844    	macr: macr,
3845    	male: male,
3846    	malt: malt,
3847    	maltese: maltese,
3848    	"Map": "⤅",
3849    	map: map,
3850    	mapsto: mapsto,
3851    	mapstodown: mapstodown,
3852    	mapstoleft: mapstoleft,
3853    	mapstoup: mapstoup,
3854    	marker: marker,
3855    	mcomma: mcomma,
3856    	Mcy: Mcy,
3857    	mcy: mcy,
3858    	mdash: mdash,
3859    	mDDot: mDDot,
3860    	measuredangle: measuredangle,
3861    	MediumSpace: MediumSpace,
3862    	Mellintrf: Mellintrf,
3863    	Mfr: Mfr,
3864    	mfr: mfr,
3865    	mho: mho,
3866    	micro: micro,
3867    	midast: midast,
3868    	midcir: midcir,
3869    	mid: mid,
3870    	middot: middot,
3871    	minusb: minusb,
3872    	minus: minus,
3873    	minusd: minusd,
3874    	minusdu: minusdu,
3875    	MinusPlus: MinusPlus,
3876    	mlcp: mlcp,
3877    	mldr: mldr,
3878    	mnplus: mnplus,
3879    	models: models,
3880    	Mopf: Mopf,
3881    	mopf: mopf,
3882    	mp: mp,
3883    	mscr: mscr,
3884    	Mscr: Mscr,
3885    	mstpos: mstpos,
3886    	Mu: Mu,
3887    	mu: mu,
3888    	multimap: multimap,
3889    	mumap: mumap,
3890    	nabla: nabla,
3891    	Nacute: Nacute,
3892    	nacute: nacute,
3893    	nang: nang,
3894    	nap: nap,
3895    	napE: napE,
3896    	napid: napid,
3897    	napos: napos,
3898    	napprox: napprox,
3899    	natural: natural,
3900    	naturals: naturals,
3901    	natur: natur,
3902    	nbsp: nbsp,
3903    	nbump: nbump,
3904    	nbumpe: nbumpe,
3905    	ncap: ncap,
3906    	Ncaron: Ncaron,
3907    	ncaron: ncaron,
3908    	Ncedil: Ncedil,
3909    	ncedil: ncedil,
3910    	ncong: ncong,
3911    	ncongdot: ncongdot,
3912    	ncup: ncup,
3913    	Ncy: Ncy,
3914    	ncy: ncy,
3915    	ndash: ndash,
3916    	nearhk: nearhk,
3917    	nearr: nearr,
3918    	neArr: neArr,
3919    	nearrow: nearrow,
3920    	ne: ne,
3921    	nedot: nedot,
3922    	NegativeMediumSpace: NegativeMediumSpace,
3923    	NegativeThickSpace: NegativeThickSpace,
3924    	NegativeThinSpace: NegativeThinSpace,
3925    	NegativeVeryThinSpace: NegativeVeryThinSpace,
3926    	nequiv: nequiv,
3927    	nesear: nesear,
3928    	nesim: nesim,
3929    	NestedGreaterGreater: NestedGreaterGreater,
3930    	NestedLessLess: NestedLessLess,
3931    	NewLine: NewLine,
3932    	nexist: nexist,
3933    	nexists: nexists,
3934    	Nfr: Nfr,
3935    	nfr: nfr,
3936    	ngE: ngE,
3937    	nge: nge,
3938    	ngeq: ngeq,
3939    	ngeqq: ngeqq,
3940    	ngeqslant: ngeqslant,
3941    	nges: nges,
3942    	nGg: nGg,
3943    	ngsim: ngsim,
3944    	nGt: nGt,
3945    	ngt: ngt,
3946    	ngtr: ngtr,
3947    	nGtv: nGtv,
3948    	nharr: nharr,
3949    	nhArr: nhArr,
3950    	nhpar: nhpar,
3951    	ni: ni,
3952    	nis: nis,
3953    	nisd: nisd,
3954    	niv: niv,
3955    	NJcy: NJcy,
3956    	njcy: njcy,
3957    	nlarr: nlarr,
3958    	nlArr: nlArr,
3959    	nldr: nldr,
3960    	nlE: nlE,
3961    	nle: nle,
3962    	nleftarrow: nleftarrow,
3963    	nLeftarrow: nLeftarrow,
3964    	nleftrightarrow: nleftrightarrow,
3965    	nLeftrightarrow: nLeftrightarrow,
3966    	nleq: nleq,
3967    	nleqq: nleqq,
3968    	nleqslant: nleqslant,
3969    	nles: nles,
3970    	nless: nless,
3971    	nLl: nLl,
3972    	nlsim: nlsim,
3973    	nLt: nLt,
3974    	nlt: nlt,
3975    	nltri: nltri,
3976    	nltrie: nltrie,
3977    	nLtv: nLtv,
3978    	nmid: nmid,
3979    	NoBreak: NoBreak,
3980    	NonBreakingSpace: NonBreakingSpace,
3981    	nopf: nopf,
3982    	Nopf: Nopf,
3983    	Not: Not,
3984    	not: not,
3985    	NotCongruent: NotCongruent,
3986    	NotCupCap: NotCupCap,
3987    	NotDoubleVerticalBar: NotDoubleVerticalBar,
3988    	NotElement: NotElement,
3989    	NotEqual: NotEqual,
3990    	NotEqualTilde: NotEqualTilde,
3991    	NotExists: NotExists,
3992    	NotGreater: NotGreater,
3993    	NotGreaterEqual: NotGreaterEqual,
3994    	NotGreaterFullEqual: NotGreaterFullEqual,
3995    	NotGreaterGreater: NotGreaterGreater,
3996    	NotGreaterLess: NotGreaterLess,
3997    	NotGreaterSlantEqual: NotGreaterSlantEqual,
3998    	NotGreaterTilde: NotGreaterTilde,
3999    	NotHumpDownHump: NotHumpDownHump,
4000    	NotHumpEqual: NotHumpEqual,
4001    	notin: notin,
4002    	notindot: notindot,
4003    	notinE: notinE,
4004    	notinva: notinva,
4005    	notinvb: notinvb,
4006    	notinvc: notinvc,
4007    	NotLeftTriangleBar: NotLeftTriangleBar,
4008    	NotLeftTriangle: NotLeftTriangle,
4009    	NotLeftTriangleEqual: NotLeftTriangleEqual,
4010    	NotLess: NotLess,
4011    	NotLessEqual: NotLessEqual,
4012    	NotLessGreater: NotLessGreater,
4013    	NotLessLess: NotLessLess,
4014    	NotLessSlantEqual: NotLessSlantEqual,
4015    	NotLessTilde: NotLessTilde,
4016    	NotNestedGreaterGreater: NotNestedGreaterGreater,
4017    	NotNestedLessLess: NotNestedLessLess,
4018    	notni: notni,
4019    	notniva: notniva,
4020    	notnivb: notnivb,
4021    	notnivc: notnivc,
4022    	NotPrecedes: NotPrecedes,
4023    	NotPrecedesEqual: NotPrecedesEqual,
4024    	NotPrecedesSlantEqual: NotPrecedesSlantEqual,
4025    	NotReverseElement: NotReverseElement,
4026    	NotRightTriangleBar: NotRightTriangleBar,
4027    	NotRightTriangle: NotRightTriangle,
4028    	NotRightTriangleEqual: NotRightTriangleEqual,
4029    	NotSquareSubset: NotSquareSubset,
4030    	NotSquareSubsetEqual: NotSquareSubsetEqual,
4031    	NotSquareSuperset: NotSquareSuperset,
4032    	NotSquareSupersetEqual: NotSquareSupersetEqual,
4033    	NotSubset: NotSubset,
4034    	NotSubsetEqual: NotSubsetEqual,
4035    	NotSucceeds: NotSucceeds,
4036    	NotSucceedsEqual: NotSucceedsEqual,
4037    	NotSucceedsSlantEqual: NotSucceedsSlantEqual,
4038    	NotSucceedsTilde: NotSucceedsTilde,
4039    	NotSuperset: NotSuperset,
4040    	NotSupersetEqual: NotSupersetEqual,
4041    	NotTilde: NotTilde,
4042    	NotTildeEqual: NotTildeEqual,
4043    	NotTildeFullEqual: NotTildeFullEqual,
4044    	NotTildeTilde: NotTildeTilde,
4045    	NotVerticalBar: NotVerticalBar,
4046    	nparallel: nparallel,
4047    	npar: npar,
4048    	nparsl: nparsl,
4049    	npart: npart,
4050    	npolint: npolint,
4051    	npr: npr,
4052    	nprcue: nprcue,
4053    	nprec: nprec,
4054    	npreceq: npreceq,
4055    	npre: npre,
4056    	nrarrc: nrarrc,
4057    	nrarr: nrarr,
4058    	nrArr: nrArr,
4059    	nrarrw: nrarrw,
4060    	nrightarrow: nrightarrow,
4061    	nRightarrow: nRightarrow,
4062    	nrtri: nrtri,
4063    	nrtrie: nrtrie,
4064    	nsc: nsc,
4065    	nsccue: nsccue,
4066    	nsce: nsce,
4067    	Nscr: Nscr,
4068    	nscr: nscr,
4069    	nshortmid: nshortmid,
4070    	nshortparallel: nshortparallel,
4071    	nsim: nsim,
4072    	nsime: nsime,
4073    	nsimeq: nsimeq,
4074    	nsmid: nsmid,
4075    	nspar: nspar,
4076    	nsqsube: nsqsube,
4077    	nsqsupe: nsqsupe,
4078    	nsub: nsub,
4079    	nsubE: nsubE,
4080    	nsube: nsube,
4081    	nsubset: nsubset,
4082    	nsubseteq: nsubseteq,
4083    	nsubseteqq: nsubseteqq,
4084    	nsucc: nsucc,
4085    	nsucceq: nsucceq,
4086    	nsup: nsup,
4087    	nsupE: nsupE,
4088    	nsupe: nsupe,
4089    	nsupset: nsupset,
4090    	nsupseteq: nsupseteq,
4091    	nsupseteqq: nsupseteqq,
4092    	ntgl: ntgl,
4093    	Ntilde: Ntilde,
4094    	ntilde: ntilde,
4095    	ntlg: ntlg,
4096    	ntriangleleft: ntriangleleft,
4097    	ntrianglelefteq: ntrianglelefteq,
4098    	ntriangleright: ntriangleright,
4099    	ntrianglerighteq: ntrianglerighteq,
4100    	Nu: Nu,
4101    	nu: nu,
4102    	num: num,
4103    	numero: numero,
4104    	numsp: numsp,
4105    	nvap: nvap,
4106    	nvdash: nvdash,
4107    	nvDash: nvDash,
4108    	nVdash: nVdash,
4109    	nVDash: nVDash,
4110    	nvge: nvge,
4111    	nvgt: nvgt,
4112    	nvHarr: nvHarr,
4113    	nvinfin: nvinfin,
4114    	nvlArr: nvlArr,
4115    	nvle: nvle,
4116    	nvlt: nvlt,
4117    	nvltrie: nvltrie,
4118    	nvrArr: nvrArr,
4119    	nvrtrie: nvrtrie,
4120    	nvsim: nvsim,
4121    	nwarhk: nwarhk,
4122    	nwarr: nwarr,
4123    	nwArr: nwArr,
4124    	nwarrow: nwarrow,
4125    	nwnear: nwnear,
4126    	Oacute: Oacute,
4127    	oacute: oacute,
4128    	oast: oast,
4129    	Ocirc: Ocirc,
4130    	ocirc: ocirc,
4131    	ocir: ocir,
4132    	Ocy: Ocy,
4133    	ocy: ocy,
4134    	odash: odash,
4135    	Odblac: Odblac,
4136    	odblac: odblac,
4137    	odiv: odiv,
4138    	odot: odot,
4139    	odsold: odsold,
4140    	OElig: OElig,
4141    	oelig: oelig,
4142    	ofcir: ofcir,
4143    	Ofr: Ofr,
4144    	ofr: ofr,
4145    	ogon: ogon,
4146    	Ograve: Ograve,
4147    	ograve: ograve,
4148    	ogt: ogt,
4149    	ohbar: ohbar,
4150    	ohm: ohm,
4151    	oint: oint,
4152    	olarr: olarr,
4153    	olcir: olcir,
4154    	olcross: olcross,
4155    	oline: oline,
4156    	olt: olt,
4157    	Omacr: Omacr,
4158    	omacr: omacr,
4159    	Omega: Omega,
4160    	omega: omega,
4161    	Omicron: Omicron,
4162    	omicron: omicron,
4163    	omid: omid,
4164    	ominus: ominus,
4165    	Oopf: Oopf,
4166    	oopf: oopf,
4167    	opar: opar,
4168    	OpenCurlyDoubleQuote: OpenCurlyDoubleQuote,
4169    	OpenCurlyQuote: OpenCurlyQuote,
4170    	operp: operp,
4171    	oplus: oplus,
4172    	orarr: orarr,
4173    	Or: Or,
4174    	or: or,
4175    	ord: ord,
4176    	order: order,
4177    	orderof: orderof,
4178    	ordf: ordf,
4179    	ordm: ordm,
4180    	origof: origof,
4181    	oror: oror,
4182    	orslope: orslope,
4183    	orv: orv,
4184    	oS: oS,
4185    	Oscr: Oscr,
4186    	oscr: oscr,
4187    	Oslash: Oslash,
4188    	oslash: oslash,
4189    	osol: osol,
4190    	Otilde: Otilde,
4191    	otilde: otilde,
4192    	otimesas: otimesas,
4193    	Otimes: Otimes,
4194    	otimes: otimes,
4195    	Ouml: Ouml,
4196    	ouml: ouml,
4197    	ovbar: ovbar,
4198    	OverBar: OverBar,
4199    	OverBrace: OverBrace,
4200    	OverBracket: OverBracket,
4201    	OverParenthesis: OverParenthesis,
4202    	para: para,
4203    	parallel: parallel,
4204    	par: par,
4205    	parsim: parsim,
4206    	parsl: parsl,
4207    	part: part,
4208    	PartialD: PartialD,
4209    	Pcy: Pcy,
4210    	pcy: pcy,
4211    	percnt: percnt,
4212    	period: period,
4213    	permil: permil,
4214    	perp: perp,
4215    	pertenk: pertenk,
4216    	Pfr: Pfr,
4217    	pfr: pfr,
4218    	Phi: Phi,
4219    	phi: phi,
4220    	phiv: phiv,
4221    	phmmat: phmmat,
4222    	phone: phone,
4223    	Pi: Pi,
4224    	pi: pi,
4225    	pitchfork: pitchfork,
4226    	piv: piv,
4227    	planck: planck,
4228    	planckh: planckh,
4229    	plankv: plankv,
4230    	plusacir: plusacir,
4231    	plusb: plusb,
4232    	pluscir: pluscir,
4233    	plus: plus,
4234    	plusdo: plusdo,
4235    	plusdu: plusdu,
4236    	pluse: pluse,
4237    	PlusMinus: PlusMinus,
4238    	plusmn: plusmn,
4239    	plussim: plussim,
4240    	plustwo: plustwo,
4241    	pm: pm,
4242    	Poincareplane: Poincareplane,
4243    	pointint: pointint,
4244    	popf: popf,
4245    	Popf: Popf,
4246    	pound: pound,
4247    	prap: prap,
4248    	Pr: Pr,
4249    	pr: pr,
4250    	prcue: prcue,
4251    	precapprox: precapprox,
4252    	prec: prec,
4253    	preccurlyeq: preccurlyeq,
4254    	Precedes: Precedes,
4255    	PrecedesEqual: PrecedesEqual,
4256    	PrecedesSlantEqual: PrecedesSlantEqual,
4257    	PrecedesTilde: PrecedesTilde,
4258    	preceq: preceq,
4259    	precnapprox: precnapprox,
4260    	precneqq: precneqq,
4261    	precnsim: precnsim,
4262    	pre: pre,
4263    	prE: prE,
4264    	precsim: precsim,
4265    	prime: prime,
4266    	Prime: Prime,
4267    	primes: primes,
4268    	prnap: prnap,
4269    	prnE: prnE,
4270    	prnsim: prnsim,
4271    	prod: prod,
4272    	Product: Product,
4273    	profalar: profalar,
4274    	profline: profline,
4275    	profsurf: profsurf,
4276    	prop: prop,
4277    	Proportional: Proportional,
4278    	Proportion: Proportion,
4279    	propto: propto,
4280    	prsim: prsim,
4281    	prurel: prurel,
4282    	Pscr: Pscr,
4283    	pscr: pscr,
4284    	Psi: Psi,
4285    	psi: psi,
4286    	puncsp: puncsp,
4287    	Qfr: Qfr,
4288    	qfr: qfr,
4289    	qint: qint,
4290    	qopf: qopf,
4291    	Qopf: Qopf,
4292    	qprime: qprime,
4293    	Qscr: Qscr,
4294    	qscr: qscr,
4295    	quaternions: quaternions,
4296    	quatint: quatint,
4297    	quest: quest,
4298    	questeq: questeq,
4299    	quot: quot$1,
4300    	QUOT: QUOT,
4301    	rAarr: rAarr,
4302    	race: race,
4303    	Racute: Racute,
4304    	racute: racute,
4305    	radic: radic,
4306    	raemptyv: raemptyv,
4307    	rang: rang,
4308    	Rang: Rang,
4309    	rangd: rangd,
4310    	range: range,
4311    	rangle: rangle,
4312    	raquo: raquo,
4313    	rarrap: rarrap,
4314    	rarrb: rarrb,
4315    	rarrbfs: rarrbfs,
4316    	rarrc: rarrc,
4317    	rarr: rarr,
4318    	Rarr: Rarr,
4319    	rArr: rArr,
4320    	rarrfs: rarrfs,
4321    	rarrhk: rarrhk,
4322    	rarrlp: rarrlp,
4323    	rarrpl: rarrpl,
4324    	rarrsim: rarrsim,
4325    	Rarrtl: Rarrtl,
4326    	rarrtl: rarrtl,
4327    	rarrw: rarrw,
4328    	ratail: ratail,
4329    	rAtail: rAtail,
4330    	ratio: ratio,
4331    	rationals: rationals,
4332    	rbarr: rbarr,
4333    	rBarr: rBarr,
4334    	RBarr: RBarr,
4335    	rbbrk: rbbrk,
4336    	rbrace: rbrace,
4337    	rbrack: rbrack,
4338    	rbrke: rbrke,
4339    	rbrksld: rbrksld,
4340    	rbrkslu: rbrkslu,
4341    	Rcaron: Rcaron,
4342    	rcaron: rcaron,
4343    	Rcedil: Rcedil,
4344    	rcedil: rcedil,
4345    	rceil: rceil,
4346    	rcub: rcub,
4347    	Rcy: Rcy,
4348    	rcy: rcy,
4349    	rdca: rdca,
4350    	rdldhar: rdldhar,
4351    	rdquo: rdquo,
4352    	rdquor: rdquor,
4353    	rdsh: rdsh,
4354    	real: real,
4355    	realine: realine,
4356    	realpart: realpart,
4357    	reals: reals,
4358    	Re: Re,
4359    	rect: rect,
4360    	reg: reg,
4361    	REG: REG,
4362    	ReverseElement: ReverseElement,
4363    	ReverseEquilibrium: ReverseEquilibrium,
4364    	ReverseUpEquilibrium: ReverseUpEquilibrium,
4365    	rfisht: rfisht,
4366    	rfloor: rfloor,
4367    	rfr: rfr,
4368    	Rfr: Rfr,
4369    	rHar: rHar,
4370    	rhard: rhard,
4371    	rharu: rharu,
4372    	rharul: rharul,
4373    	Rho: Rho,
4374    	rho: rho,
4375    	rhov: rhov,
4376    	RightAngleBracket: RightAngleBracket,
4377    	RightArrowBar: RightArrowBar,
4378    	rightarrow: rightarrow,
4379    	RightArrow: RightArrow,
4380    	Rightarrow: Rightarrow,
4381    	RightArrowLeftArrow: RightArrowLeftArrow,
4382    	rightarrowtail: rightarrowtail,
4383    	RightCeiling: RightCeiling,
4384    	RightDoubleBracket: RightDoubleBracket,
4385    	RightDownTeeVector: RightDownTeeVector,
4386    	RightDownVectorBar: RightDownVectorBar,
4387    	RightDownVector: RightDownVector,
4388    	RightFloor: RightFloor,
4389    	rightharpoondown: rightharpoondown,
4390    	rightharpoonup: rightharpoonup,
4391    	rightleftarrows: rightleftarrows,
4392    	rightleftharpoons: rightleftharpoons,
4393    	rightrightarrows: rightrightarrows,
4394    	rightsquigarrow: rightsquigarrow,
4395    	RightTeeArrow: RightTeeArrow,
4396    	RightTee: RightTee,
4397    	RightTeeVector: RightTeeVector,
4398    	rightthreetimes: rightthreetimes,
4399    	RightTriangleBar: RightTriangleBar,
4400    	RightTriangle: RightTriangle,
4401    	RightTriangleEqual: RightTriangleEqual,
4402    	RightUpDownVector: RightUpDownVector,
4403    	RightUpTeeVector: RightUpTeeVector,
4404    	RightUpVectorBar: RightUpVectorBar,
4405    	RightUpVector: RightUpVector,
4406    	RightVectorBar: RightVectorBar,
4407    	RightVector: RightVector,
4408    	ring: ring,
4409    	risingdotseq: risingdotseq,
4410    	rlarr: rlarr,
4411    	rlhar: rlhar,
4412    	rlm: rlm,
4413    	rmoustache: rmoustache,
4414    	rmoust: rmoust,
4415    	rnmid: rnmid,
4416    	roang: roang,
4417    	roarr: roarr,
4418    	robrk: robrk,
4419    	ropar: ropar,
4420    	ropf: ropf,
4421    	Ropf: Ropf,
4422    	roplus: roplus,
4423    	rotimes: rotimes,
4424    	RoundImplies: RoundImplies,
4425    	rpar: rpar,
4426    	rpargt: rpargt,
4427    	rppolint: rppolint,
4428    	rrarr: rrarr,
4429    	Rrightarrow: Rrightarrow,
4430    	rsaquo: rsaquo,
4431    	rscr: rscr,
4432    	Rscr: Rscr,
4433    	rsh: rsh,
4434    	Rsh: Rsh,
4435    	rsqb: rsqb,
4436    	rsquo: rsquo,
4437    	rsquor: rsquor,
4438    	rthree: rthree,
4439    	rtimes: rtimes,
4440    	rtri: rtri,
4441    	rtrie: rtrie,
4442    	rtrif: rtrif,
4443    	rtriltri: rtriltri,
4444    	RuleDelayed: RuleDelayed,
4445    	ruluhar: ruluhar,
4446    	rx: rx,
4447    	Sacute: Sacute,
4448    	sacute: sacute,
4449    	sbquo: sbquo,
4450    	scap: scap,
4451    	Scaron: Scaron,
4452    	scaron: scaron,
4453    	Sc: Sc,
4454    	sc: sc,
4455    	sccue: sccue,
4456    	sce: sce,
4457    	scE: scE,
4458    	Scedil: Scedil,
4459    	scedil: scedil,
4460    	Scirc: Scirc,
4461    	scirc: scirc,
4462    	scnap: scnap,
4463    	scnE: scnE,
4464    	scnsim: scnsim,
4465    	scpolint: scpolint,
4466    	scsim: scsim,
4467    	Scy: Scy,
4468    	scy: scy,
4469    	sdotb: sdotb,
4470    	sdot: sdot,
4471    	sdote: sdote,
4472    	searhk: searhk,
4473    	searr: searr,
4474    	seArr: seArr,
4475    	searrow: searrow,
4476    	sect: sect,
4477    	semi: semi,
4478    	seswar: seswar,
4479    	setminus: setminus,
4480    	setmn: setmn,
4481    	sext: sext,
4482    	Sfr: Sfr,
4483    	sfr: sfr,
4484    	sfrown: sfrown,
4485    	sharp: sharp,
4486    	SHCHcy: SHCHcy,
4487    	shchcy: shchcy,
4488    	SHcy: SHcy,
4489    	shcy: shcy,
4490    	ShortDownArrow: ShortDownArrow,
4491    	ShortLeftArrow: ShortLeftArrow,
4492    	shortmid: shortmid,
4493    	shortparallel: shortparallel,
4494    	ShortRightArrow: ShortRightArrow,
4495    	ShortUpArrow: ShortUpArrow,
4496    	shy: shy,
4497    	Sigma: Sigma,
4498    	sigma: sigma,
4499    	sigmaf: sigmaf,
4500    	sigmav: sigmav,
4501    	sim: sim,
4502    	simdot: simdot,
4503    	sime: sime,
4504    	simeq: simeq,
4505    	simg: simg,
4506    	simgE: simgE,
4507    	siml: siml,
4508    	simlE: simlE,
4509    	simne: simne,
4510    	simplus: simplus,
4511    	simrarr: simrarr,
4512    	slarr: slarr,
4513    	SmallCircle: SmallCircle,
4514    	smallsetminus: smallsetminus,
4515    	smashp: smashp,
4516    	smeparsl: smeparsl,
4517    	smid: smid,
4518    	smile: smile,
4519    	smt: smt,
4520    	smte: smte,
4521    	smtes: smtes,
4522    	SOFTcy: SOFTcy,
4523    	softcy: softcy,
4524    	solbar: solbar,
4525    	solb: solb,
4526    	sol: sol,
4527    	Sopf: Sopf,
4528    	sopf: sopf,
4529    	spades: spades,
4530    	spadesuit: spadesuit,
4531    	spar: spar,
4532    	sqcap: sqcap,
4533    	sqcaps: sqcaps,
4534    	sqcup: sqcup,
4535    	sqcups: sqcups,
4536    	Sqrt: Sqrt,
4537    	sqsub: sqsub,
4538    	sqsube: sqsube,
4539    	sqsubset: sqsubset,
4540    	sqsubseteq: sqsubseteq,
4541    	sqsup: sqsup,
4542    	sqsupe: sqsupe,
4543    	sqsupset: sqsupset,
4544    	sqsupseteq: sqsupseteq,
4545    	square: square,
4546    	Square: Square,
4547    	SquareIntersection: SquareIntersection,
4548    	SquareSubset: SquareSubset,
4549    	SquareSubsetEqual: SquareSubsetEqual,
4550    	SquareSuperset: SquareSuperset,
4551    	SquareSupersetEqual: SquareSupersetEqual,
4552    	SquareUnion: SquareUnion,
4553    	squarf: squarf,
4554    	squ: squ,
4555    	squf: squf,
4556    	srarr: srarr,
4557    	Sscr: Sscr,
4558    	sscr: sscr,
4559    	ssetmn: ssetmn,
4560    	ssmile: ssmile,
4561    	sstarf: sstarf,
4562    	Star: Star,
4563    	star: star,
4564    	starf: starf,
4565    	straightepsilon: straightepsilon,
4566    	straightphi: straightphi,
4567    	strns: strns,
4568    	sub: sub,
4569    	Sub: Sub,
4570    	subdot: subdot,
4571    	subE: subE,
4572    	sube: sube,
4573    	subedot: subedot,
4574    	submult: submult,
4575    	subnE: subnE,
4576    	subne: subne,
4577    	subplus: subplus,
4578    	subrarr: subrarr,
4579    	subset: subset,
4580    	Subset: Subset,
4581    	subseteq: subseteq,
4582    	subseteqq: subseteqq,
4583    	SubsetEqual: SubsetEqual,
4584    	subsetneq: subsetneq,
4585    	subsetneqq: subsetneqq,
4586    	subsim: subsim,
4587    	subsub: subsub,
4588    	subsup: subsup,
4589    	succapprox: succapprox,
4590    	succ: succ,
4591    	succcurlyeq: succcurlyeq,
4592    	Succeeds: Succeeds,
4593    	SucceedsEqual: SucceedsEqual,
4594    	SucceedsSlantEqual: SucceedsSlantEqual,
4595    	SucceedsTilde: SucceedsTilde,
4596    	succeq: succeq,
4597    	succnapprox: succnapprox,
4598    	succneqq: succneqq,
4599    	succnsim: succnsim,
4600    	succsim: succsim,
4601    	SuchThat: SuchThat,
4602    	sum: sum,
4603    	Sum: Sum,
4604    	sung: sung,
4605    	sup1: sup1,
4606    	sup2: sup2,
4607    	sup3: sup3,
4608    	sup: sup,
4609    	Sup: Sup,
4610    	supdot: supdot,
4611    	supdsub: supdsub,
4612    	supE: supE,
4613    	supe: supe,
4614    	supedot: supedot,
4615    	Superset: Superset,
4616    	SupersetEqual: SupersetEqual,
4617    	suphsol: suphsol,
4618    	suphsub: suphsub,
4619    	suplarr: suplarr,
4620    	supmult: supmult,
4621    	supnE: supnE,
4622    	supne: supne,
4623    	supplus: supplus,
4624    	supset: supset,
4625    	Supset: Supset,
4626    	supseteq: supseteq,
4627    	supseteqq: supseteqq,
4628    	supsetneq: supsetneq,
4629    	supsetneqq: supsetneqq,
4630    	supsim: supsim,
4631    	supsub: supsub,
4632    	supsup: supsup,
4633    	swarhk: swarhk,
4634    	swarr: swarr,
4635    	swArr: swArr,
4636    	swarrow: swarrow,
4637    	swnwar: swnwar,
4638    	szlig: szlig,
4639    	Tab: Tab,
4640    	target: target,
4641    	Tau: Tau,
4642    	tau: tau,
4643    	tbrk: tbrk,
4644    	Tcaron: Tcaron,
4645    	tcaron: tcaron,
4646    	Tcedil: Tcedil,
4647    	tcedil: tcedil,
4648    	Tcy: Tcy,
4649    	tcy: tcy,
4650    	tdot: tdot,
4651    	telrec: telrec,
4652    	Tfr: Tfr,
4653    	tfr: tfr,
4654    	there4: there4,
4655    	therefore: therefore,
4656    	Therefore: Therefore,
4657    	Theta: Theta,
4658    	theta: theta,
4659    	thetasym: thetasym,
4660    	thetav: thetav,
4661    	thickapprox: thickapprox,
4662    	thicksim: thicksim,
4663    	ThickSpace: ThickSpace,
4664    	ThinSpace: ThinSpace,
4665    	thinsp: thinsp,
4666    	thkap: thkap,
4667    	thksim: thksim,
4668    	THORN: THORN,
4669    	thorn: thorn,
4670    	tilde: tilde,
4671    	Tilde: Tilde,
4672    	TildeEqual: TildeEqual,
4673    	TildeFullEqual: TildeFullEqual,
4674    	TildeTilde: TildeTilde,
4675    	timesbar: timesbar,
4676    	timesb: timesb,
4677    	times: times,
4678    	timesd: timesd,
4679    	tint: tint,
4680    	toea: toea,
4681    	topbot: topbot,
4682    	topcir: topcir,
4683    	top: top,
4684    	Topf: Topf,
4685    	topf: topf,
4686    	topfork: topfork,
4687    	tosa: tosa,
4688    	tprime: tprime,
4689    	trade: trade,
4690    	TRADE: TRADE,
4691    	triangle: triangle,
4692    	triangledown: triangledown,
4693    	triangleleft: triangleleft,
4694    	trianglelefteq: trianglelefteq,
4695    	triangleq: triangleq,
4696    	triangleright: triangleright,
4697    	trianglerighteq: trianglerighteq,
4698    	tridot: tridot,
4699    	trie: trie,
4700    	triminus: triminus,
4701    	TripleDot: TripleDot,
4702    	triplus: triplus,
4703    	trisb: trisb,
4704    	tritime: tritime,
4705    	trpezium: trpezium,
4706    	Tscr: Tscr,
4707    	tscr: tscr,
4708    	TScy: TScy,
4709    	tscy: tscy,
4710    	TSHcy: TSHcy,
4711    	tshcy: tshcy,
4712    	Tstrok: Tstrok,
4713    	tstrok: tstrok,
4714    	twixt: twixt,
4715    	twoheadleftarrow: twoheadleftarrow,
4716    	twoheadrightarrow: twoheadrightarrow,
4717    	Uacute: Uacute,
4718    	uacute: uacute,
4719    	uarr: uarr,
4720    	Uarr: Uarr,
4721    	uArr: uArr,
4722    	Uarrocir: Uarrocir,
4723    	Ubrcy: Ubrcy,
4724    	ubrcy: ubrcy,
4725    	Ubreve: Ubreve,
4726    	ubreve: ubreve,
4727    	Ucirc: Ucirc,
4728    	ucirc: ucirc,
4729    	Ucy: Ucy,
4730    	ucy: ucy,
4731    	udarr: udarr,
4732    	Udblac: Udblac,
4733    	udblac: udblac,
4734    	udhar: udhar,
4735    	ufisht: ufisht,
4736    	Ufr: Ufr,
4737    	ufr: ufr,
4738    	Ugrave: Ugrave,
4739    	ugrave: ugrave,
4740    	uHar: uHar,
4741    	uharl: uharl,
4742    	uharr: uharr,
4743    	uhblk: uhblk,
4744    	ulcorn: ulcorn,
4745    	ulcorner: ulcorner,
4746    	ulcrop: ulcrop,
4747    	ultri: ultri,
4748    	Umacr: Umacr,
4749    	umacr: umacr,
4750    	uml: uml,
4751    	UnderBar: UnderBar,
4752    	UnderBrace: UnderBrace,
4753    	UnderBracket: UnderBracket,
4754    	UnderParenthesis: UnderParenthesis,
4755    	Union: Union,
4756    	UnionPlus: UnionPlus,
4757    	Uogon: Uogon,
4758    	uogon: uogon,
4759    	Uopf: Uopf,
4760    	uopf: uopf,
4761    	UpArrowBar: UpArrowBar,
4762    	uparrow: uparrow,
4763    	UpArrow: UpArrow,
4764    	Uparrow: Uparrow,
4765    	UpArrowDownArrow: UpArrowDownArrow,
4766    	updownarrow: updownarrow,
4767    	UpDownArrow: UpDownArrow,
4768    	Updownarrow: Updownarrow,
4769    	UpEquilibrium: UpEquilibrium,
4770    	upharpoonleft: upharpoonleft,
4771    	upharpoonright: upharpoonright,
4772    	uplus: uplus,
4773    	UpperLeftArrow: UpperLeftArrow,
4774    	UpperRightArrow: UpperRightArrow,
4775    	upsi: upsi,
4776    	Upsi: Upsi,
4777    	upsih: upsih,
4778    	Upsilon: Upsilon,
4779    	upsilon: upsilon,
4780    	UpTeeArrow: UpTeeArrow,
4781    	UpTee: UpTee,
4782    	upuparrows: upuparrows,
4783    	urcorn: urcorn,
4784    	urcorner: urcorner,
4785    	urcrop: urcrop,
4786    	Uring: Uring,
4787    	uring: uring,
4788    	urtri: urtri,
4789    	Uscr: Uscr,
4790    	uscr: uscr,
4791    	utdot: utdot,
4792    	Utilde: Utilde,
4793    	utilde: utilde,
4794    	utri: utri,
4795    	utrif: utrif,
4796    	uuarr: uuarr,
4797    	Uuml: Uuml,
4798    	uuml: uuml,
4799    	uwangle: uwangle,
4800    	vangrt: vangrt,
4801    	varepsilon: varepsilon,
4802    	varkappa: varkappa,
4803    	varnothing: varnothing,
4804    	varphi: varphi,
4805    	varpi: varpi,
4806    	varpropto: varpropto,
4807    	varr: varr,
4808    	vArr: vArr,
4809    	varrho: varrho,
4810    	varsigma: varsigma,
4811    	varsubsetneq: varsubsetneq,
4812    	varsubsetneqq: varsubsetneqq,
4813    	varsupsetneq: varsupsetneq,
4814    	varsupsetneqq: varsupsetneqq,
4815    	vartheta: vartheta,
4816    	vartriangleleft: vartriangleleft,
4817    	vartriangleright: vartriangleright,
4818    	vBar: vBar,
4819    	Vbar: Vbar,
4820    	vBarv: vBarv,
4821    	Vcy: Vcy,
4822    	vcy: vcy,
4823    	vdash: vdash,
4824    	vDash: vDash,
4825    	Vdash: Vdash,
4826    	VDash: VDash,
4827    	Vdashl: Vdashl,
4828    	veebar: veebar,
4829    	vee: vee,
4830    	Vee: Vee,
4831    	veeeq: veeeq,
4832    	vellip: vellip,
4833    	verbar: verbar,
4834    	Verbar: Verbar,
4835    	vert: vert,
4836    	Vert: Vert,
4837    	VerticalBar: VerticalBar,
4838    	VerticalLine: VerticalLine,
4839    	VerticalSeparator: VerticalSeparator,
4840    	VerticalTilde: VerticalTilde,
4841    	VeryThinSpace: VeryThinSpace,
4842    	Vfr: Vfr,
4843    	vfr: vfr,
4844    	vltri: vltri,
4845    	vnsub: vnsub,
4846    	vnsup: vnsup,
4847    	Vopf: Vopf,
4848    	vopf: vopf,
4849    	vprop: vprop,
4850    	vrtri: vrtri,
4851    	Vscr: Vscr,
4852    	vscr: vscr,
4853    	vsubnE: vsubnE,
4854    	vsubne: vsubne,
4855    	vsupnE: vsupnE,
4856    	vsupne: vsupne,
4857    	Vvdash: Vvdash,
4858    	vzigzag: vzigzag,
4859    	Wcirc: Wcirc,
4860    	wcirc: wcirc,
4861    	wedbar: wedbar,
4862    	wedge: wedge,
4863    	Wedge: Wedge,
4864    	wedgeq: wedgeq,
4865    	weierp: weierp,
4866    	Wfr: Wfr,
4867    	wfr: wfr,
4868    	Wopf: Wopf,
4869    	wopf: wopf,
4870    	wp: wp,
4871    	wr: wr,
4872    	wreath: wreath,
4873    	Wscr: Wscr,
4874    	wscr: wscr,
4875    	xcap: xcap,
4876    	xcirc: xcirc,
4877    	xcup: xcup,
4878    	xdtri: xdtri,
4879    	Xfr: Xfr,
4880    	xfr: xfr,
4881    	xharr: xharr,
4882    	xhArr: xhArr,
4883    	Xi: Xi,
4884    	xi: xi,
4885    	xlarr: xlarr,
4886    	xlArr: xlArr,
4887    	xmap: xmap,
4888    	xnis: xnis,
4889    	xodot: xodot,
4890    	Xopf: Xopf,
4891    	xopf: xopf,
4892    	xoplus: xoplus,
4893    	xotime: xotime,
4894    	xrarr: xrarr,
4895    	xrArr: xrArr,
4896    	Xscr: Xscr,
4897    	xscr: xscr,
4898    	xsqcup: xsqcup,
4899    	xuplus: xuplus,
4900    	xutri: xutri,
4901    	xvee: xvee,
4902    	xwedge: xwedge,
4903    	Yacute: Yacute,
4904    	yacute: yacute,
4905    	YAcy: YAcy,
4906    	yacy: yacy,
4907    	Ycirc: Ycirc,
4908    	ycirc: ycirc,
4909    	Ycy: Ycy,
4910    	ycy: ycy,
4911    	yen: yen,
4912    	Yfr: Yfr,
4913    	yfr: yfr,
4914    	YIcy: YIcy,
4915    	yicy: yicy,
4916    	Yopf: Yopf,
4917    	yopf: yopf,
4918    	Yscr: Yscr,
4919    	yscr: yscr,
4920    	YUcy: YUcy,
4921    	yucy: yucy,
4922    	yuml: yuml,
4923    	Yuml: Yuml,
4924    	Zacute: Zacute,
4925    	zacute: zacute,
4926    	Zcaron: Zcaron,
4927    	zcaron: zcaron,
4928    	Zcy: Zcy,
4929    	zcy: zcy,
4930    	Zdot: Zdot,
4931    	zdot: zdot,
4932    	zeetrf: zeetrf,
4933    	ZeroWidthSpace: ZeroWidthSpace,
4934    	Zeta: Zeta,
4935    	zeta: zeta,
4936    	zfr: zfr,
4937    	Zfr: Zfr,
4938    	ZHcy: ZHcy,
4939    	zhcy: zhcy,
4940    	zigrarr: zigrarr,
4941    	zopf: zopf,
4942    	Zopf: Zopf,
4943    	Zscr: Zscr,
4944    	zscr: zscr,
4945    	zwj: zwj,
4946    	zwnj: zwnj
4947    };
4948
4949    var entities$1 = /*#__PURE__*/Object.freeze({
4950        __proto__: null,
4951        Aacute: Aacute,
4952        aacute: aacute,
4953        Abreve: Abreve,
4954        abreve: abreve,
4955        ac: ac,
4956        acd: acd,
4957        acE: acE,
4958        Acirc: Acirc,
4959        acirc: acirc,
4960        acute: acute,
4961        Acy: Acy,
4962        acy: acy,
4963        AElig: AElig,
4964        aelig: aelig,
4965        af: af,
4966        Afr: Afr,
4967        afr: afr,
4968        Agrave: Agrave,
4969        agrave: agrave,
4970        alefsym: alefsym,
4971        aleph: aleph,
4972        Alpha: Alpha,
4973        alpha: alpha,
4974        Amacr: Amacr,
4975        amacr: amacr,
4976        amalg: amalg,
4977        amp: amp$1,
4978        AMP: AMP,
4979        andand: andand,
4980        And: And,
4981        and: and,
4982        andd: andd,
4983        andslope: andslope,
4984        andv: andv,
4985        ang: ang,
4986        ange: ange,
4987        angle: angle,
4988        angmsdaa: angmsdaa,
4989        angmsdab: angmsdab,
4990        angmsdac: angmsdac,
4991        angmsdad: angmsdad,
4992        angmsdae: angmsdae,
4993        angmsdaf: angmsdaf,
4994        angmsdag: angmsdag,
4995        angmsdah: angmsdah,
4996        angmsd: angmsd,
4997        angrt: angrt,
4998        angrtvb: angrtvb,
4999        angrtvbd: angrtvbd,
5000        angsph: angsph,
5001        angst: angst,
5002        angzarr: angzarr,
5003        Aogon: Aogon,
5004        aogon: aogon,
5005        Aopf: Aopf,
5006        aopf: aopf,
5007        apacir: apacir,
5008        ap: ap,
5009        apE: apE,
5010        ape: ape,
5011        apid: apid,
5012        apos: apos$1,
5013        ApplyFunction: ApplyFunction,
5014        approx: approx,
5015        approxeq: approxeq,
5016        Aring: Aring,
5017        aring: aring,
5018        Ascr: Ascr,
5019        ascr: ascr,
5020        Assign: Assign,
5021        ast: ast,
5022        asymp: asymp,
5023        asympeq: asympeq,
5024        Atilde: Atilde,
5025        atilde: atilde,
5026        Auml: Auml,
5027        auml: auml,
5028        awconint: awconint,
5029        awint: awint,
5030        backcong: backcong,
5031        backepsilon: backepsilon,
5032        backprime: backprime,
5033        backsim: backsim,
5034        backsimeq: backsimeq,
5035        Backslash: Backslash,
5036        Barv: Barv,
5037        barvee: barvee,
5038        barwed: barwed,
5039        Barwed: Barwed,
5040        barwedge: barwedge,
5041        bbrk: bbrk,
5042        bbrktbrk: bbrktbrk,
5043        bcong: bcong,
5044        Bcy: Bcy,
5045        bcy: bcy,
5046        bdquo: bdquo,
5047        becaus: becaus,
5048        because: because,
5049        Because: Because,
5050        bemptyv: bemptyv,
5051        bepsi: bepsi,
5052        bernou: bernou,
5053        Bernoullis: Bernoullis,
5054        Beta: Beta,
5055        beta: beta,
5056        beth: beth,
5057        between: between,
5058        Bfr: Bfr,
5059        bfr: bfr,
5060        bigcap: bigcap,
5061        bigcirc: bigcirc,
5062        bigcup: bigcup,
5063        bigodot: bigodot,
5064        bigoplus: bigoplus,
5065        bigotimes: bigotimes,
5066        bigsqcup: bigsqcup,
5067        bigstar: bigstar,
5068        bigtriangledown: bigtriangledown,
5069        bigtriangleup: bigtriangleup,
5070        biguplus: biguplus,
5071        bigvee: bigvee,
5072        bigwedge: bigwedge,
5073        bkarow: bkarow,
5074        blacklozenge: blacklozenge,
5075        blacksquare: blacksquare,
5076        blacktriangle: blacktriangle,
5077        blacktriangledown: blacktriangledown,
5078        blacktriangleleft: blacktriangleleft,
5079        blacktriangleright: blacktriangleright,
5080        blank: blank,
5081        blk12: blk12,
5082        blk14: blk14,
5083        blk34: blk34,
5084        block: block,
5085        bne: bne,
5086        bnequiv: bnequiv,
5087        bNot: bNot,
5088        bnot: bnot,
5089        Bopf: Bopf,
5090        bopf: bopf,
5091        bot: bot,
5092        bottom: bottom,
5093        bowtie: bowtie,
5094        boxbox: boxbox,
5095        boxdl: boxdl,
5096        boxdL: boxdL,
5097        boxDl: boxDl,
5098        boxDL: boxDL,
5099        boxdr: boxdr,
5100        boxdR: boxdR,
5101        boxDr: boxDr,
5102        boxDR: boxDR,
5103        boxh: boxh,
5104        boxH: boxH,
5105        boxhd: boxhd,
5106        boxHd: boxHd,
5107        boxhD: boxhD,
5108        boxHD: boxHD,
5109        boxhu: boxhu,
5110        boxHu: boxHu,
5111        boxhU: boxhU,
5112        boxHU: boxHU,
5113        boxminus: boxminus,
5114        boxplus: boxplus,
5115        boxtimes: boxtimes,
5116        boxul: boxul,
5117        boxuL: boxuL,
5118        boxUl: boxUl,
5119        boxUL: boxUL,
5120        boxur: boxur,
5121        boxuR: boxuR,
5122        boxUr: boxUr,
5123        boxUR: boxUR,
5124        boxv: boxv,
5125        boxV: boxV,
5126        boxvh: boxvh,
5127        boxvH: boxvH,
5128        boxVh: boxVh,
5129        boxVH: boxVH,
5130        boxvl: boxvl,
5131        boxvL: boxvL,
5132        boxVl: boxVl,
5133        boxVL: boxVL,
5134        boxvr: boxvr,
5135        boxvR: boxvR,
5136        boxVr: boxVr,
5137        boxVR: boxVR,
5138        bprime: bprime,
5139        breve: breve,
5140        Breve: Breve,
5141        brvbar: brvbar,
5142        bscr: bscr,
5143        Bscr: Bscr,
5144        bsemi: bsemi,
5145        bsim: bsim,
5146        bsime: bsime,
5147        bsolb: bsolb,
5148        bsol: bsol,
5149        bsolhsub: bsolhsub,
5150        bull: bull,
5151        bullet: bullet,
5152        bump: bump,
5153        bumpE: bumpE,
5154        bumpe: bumpe,
5155        Bumpeq: Bumpeq,
5156        bumpeq: bumpeq,
5157        Cacute: Cacute,
5158        cacute: cacute,
5159        capand: capand,
5160        capbrcup: capbrcup,
5161        capcap: capcap,
5162        cap: cap,
5163        Cap: Cap,
5164        capcup: capcup,
5165        capdot: capdot,
5166        CapitalDifferentialD: CapitalDifferentialD,
5167        caps: caps,
5168        caret: caret,
5169        caron: caron,
5170        Cayleys: Cayleys,
5171        ccaps: ccaps,
5172        Ccaron: Ccaron,
5173        ccaron: ccaron,
5174        Ccedil: Ccedil,
5175        ccedil: ccedil,
5176        Ccirc: Ccirc,
5177        ccirc: ccirc,
5178        Cconint: Cconint,
5179        ccups: ccups,
5180        ccupssm: ccupssm,
5181        Cdot: Cdot,
5182        cdot: cdot,
5183        cedil: cedil,
5184        Cedilla: Cedilla,
5185        cemptyv: cemptyv,
5186        cent: cent,
5187        centerdot: centerdot,
5188        CenterDot: CenterDot,
5189        cfr: cfr,
5190        Cfr: Cfr,
5191        CHcy: CHcy,
5192        chcy: chcy,
5193        check: check,
5194        checkmark: checkmark,
5195        Chi: Chi,
5196        chi: chi,
5197        circ: circ,
5198        circeq: circeq,
5199        circlearrowleft: circlearrowleft,
5200        circlearrowright: circlearrowright,
5201        circledast: circledast,
5202        circledcirc: circledcirc,
5203        circleddash: circleddash,
5204        CircleDot: CircleDot,
5205        circledR: circledR,
5206        circledS: circledS,
5207        CircleMinus: CircleMinus,
5208        CirclePlus: CirclePlus,
5209        CircleTimes: CircleTimes,
5210        cir: cir,
5211        cirE: cirE,
5212        cire: cire,
5213        cirfnint: cirfnint,
5214        cirmid: cirmid,
5215        cirscir: cirscir,
5216        ClockwiseContourIntegral: ClockwiseContourIntegral,
5217        CloseCurlyDoubleQuote: CloseCurlyDoubleQuote,
5218        CloseCurlyQuote: CloseCurlyQuote,
5219        clubs: clubs,
5220        clubsuit: clubsuit,
5221        colon: colon,
5222        Colon: Colon,
5223        Colone: Colone,
5224        colone: colone,
5225        coloneq: coloneq,
5226        comma: comma,
5227        commat: commat,
5228        comp: comp,
5229        compfn: compfn,
5230        complement: complement,
5231        complexes: complexes,
5232        cong: cong,
5233        congdot: congdot,
5234        Congruent: Congruent,
5235        conint: conint,
5236        Conint: Conint,
5237        ContourIntegral: ContourIntegral,
5238        copf: copf,
5239        Copf: Copf,
5240        coprod: coprod,
5241        Coproduct: Coproduct,
5242        copy: copy,
5243        COPY: COPY,
5244        copysr: copysr,
5245        CounterClockwiseContourIntegral: CounterClockwiseContourIntegral,
5246        crarr: crarr,
5247        cross: cross,
5248        Cross: Cross,
5249        Cscr: Cscr,
5250        cscr: cscr,
5251        csub: csub,
5252        csube: csube,
5253        csup: csup,
5254        csupe: csupe,
5255        ctdot: ctdot,
5256        cudarrl: cudarrl,
5257        cudarrr: cudarrr,
5258        cuepr: cuepr,
5259        cuesc: cuesc,
5260        cularr: cularr,
5261        cularrp: cularrp,
5262        cupbrcap: cupbrcap,
5263        cupcap: cupcap,
5264        CupCap: CupCap,
5265        cup: cup,
5266        Cup: Cup,
5267        cupcup: cupcup,
5268        cupdot: cupdot,
5269        cupor: cupor,
5270        cups: cups,
5271        curarr: curarr,
5272        curarrm: curarrm,
5273        curlyeqprec: curlyeqprec,
5274        curlyeqsucc: curlyeqsucc,
5275        curlyvee: curlyvee,
5276        curlywedge: curlywedge,
5277        curren: curren,
5278        curvearrowleft: curvearrowleft,
5279        curvearrowright: curvearrowright,
5280        cuvee: cuvee,
5281        cuwed: cuwed,
5282        cwconint: cwconint,
5283        cwint: cwint,
5284        cylcty: cylcty,
5285        dagger: dagger,
5286        Dagger: Dagger,
5287        daleth: daleth,
5288        darr: darr,
5289        Darr: Darr,
5290        dArr: dArr,
5291        dash: dash,
5292        Dashv: Dashv,
5293        dashv: dashv,
5294        dbkarow: dbkarow,
5295        dblac: dblac,
5296        Dcaron: Dcaron,
5297        dcaron: dcaron,
5298        Dcy: Dcy,
5299        dcy: dcy,
5300        ddagger: ddagger,
5301        ddarr: ddarr,
5302        DD: DD,
5303        dd: dd,
5304        DDotrahd: DDotrahd,
5305        ddotseq: ddotseq,
5306        deg: deg,
5307        Del: Del,
5308        Delta: Delta,
5309        delta: delta,
5310        demptyv: demptyv,
5311        dfisht: dfisht,
5312        Dfr: Dfr,
5313        dfr: dfr,
5314        dHar: dHar,
5315        dharl: dharl,
5316        dharr: dharr,
5317        DiacriticalAcute: DiacriticalAcute,
5318        DiacriticalDot: DiacriticalDot,
5319        DiacriticalDoubleAcute: DiacriticalDoubleAcute,
5320        DiacriticalGrave: DiacriticalGrave,
5321        DiacriticalTilde: DiacriticalTilde,
5322        diam: diam,
5323        diamond: diamond,
5324        Diamond: Diamond,
5325        diamondsuit: diamondsuit,
5326        diams: diams,
5327        die: die,
5328        DifferentialD: DifferentialD,
5329        digamma: digamma,
5330        disin: disin,
5331        div: div,
5332        divide: divide,
5333        divideontimes: divideontimes,
5334        divonx: divonx,
5335        DJcy: DJcy,
5336        djcy: djcy,
5337        dlcorn: dlcorn,
5338        dlcrop: dlcrop,
5339        dollar: dollar,
5340        Dopf: Dopf,
5341        dopf: dopf,
5342        Dot: Dot,
5343        dot: dot,
5344        DotDot: DotDot,
5345        doteq: doteq,
5346        doteqdot: doteqdot,
5347        DotEqual: DotEqual,
5348        dotminus: dotminus,
5349        dotplus: dotplus,
5350        dotsquare: dotsquare,
5351        doublebarwedge: doublebarwedge,
5352        DoubleContourIntegral: DoubleContourIntegral,
5353        DoubleDot: DoubleDot,
5354        DoubleDownArrow: DoubleDownArrow,
5355        DoubleLeftArrow: DoubleLeftArrow,
5356        DoubleLeftRightArrow: DoubleLeftRightArrow,
5357        DoubleLeftTee: DoubleLeftTee,
5358        DoubleLongLeftArrow: DoubleLongLeftArrow,
5359        DoubleLongLeftRightArrow: DoubleLongLeftRightArrow,
5360        DoubleLongRightArrow: DoubleLongRightArrow,
5361        DoubleRightArrow: DoubleRightArrow,
5362        DoubleRightTee: DoubleRightTee,
5363        DoubleUpArrow: DoubleUpArrow,
5364        DoubleUpDownArrow: DoubleUpDownArrow,
5365        DoubleVerticalBar: DoubleVerticalBar,
5366        DownArrowBar: DownArrowBar,
5367        downarrow: downarrow,
5368        DownArrow: DownArrow,
5369        Downarrow: Downarrow,
5370        DownArrowUpArrow: DownArrowUpArrow,
5371        DownBreve: DownBreve,
5372        downdownarrows: downdownarrows,
5373        downharpoonleft: downharpoonleft,
5374        downharpoonright: downharpoonright,
5375        DownLeftRightVector: DownLeftRightVector,
5376        DownLeftTeeVector: DownLeftTeeVector,
5377        DownLeftVectorBar: DownLeftVectorBar,
5378        DownLeftVector: DownLeftVector,
5379        DownRightTeeVector: DownRightTeeVector,
5380        DownRightVectorBar: DownRightVectorBar,
5381        DownRightVector: DownRightVector,
5382        DownTeeArrow: DownTeeArrow,
5383        DownTee: DownTee,
5384        drbkarow: drbkarow,
5385        drcorn: drcorn,
5386        drcrop: drcrop,
5387        Dscr: Dscr,
5388        dscr: dscr,
5389        DScy: DScy,
5390        dscy: dscy,
5391        dsol: dsol,
5392        Dstrok: Dstrok,
5393        dstrok: dstrok,
5394        dtdot: dtdot,
5395        dtri: dtri,
5396        dtrif: dtrif,
5397        duarr: duarr,
5398        duhar: duhar,
5399        dwangle: dwangle,
5400        DZcy: DZcy,
5401        dzcy: dzcy,
5402        dzigrarr: dzigrarr,
5403        Eacute: Eacute,
5404        eacute: eacute,
5405        easter: easter,
5406        Ecaron: Ecaron,
5407        ecaron: ecaron,
5408        Ecirc: Ecirc,
5409        ecirc: ecirc,
5410        ecir: ecir,
5411        ecolon: ecolon,
5412        Ecy: Ecy,
5413        ecy: ecy,
5414        eDDot: eDDot,
5415        Edot: Edot,
5416        edot: edot,
5417        eDot: eDot,
5418        ee: ee,
5419        efDot: efDot,
5420        Efr: Efr,
5421        efr: efr,
5422        eg: eg,
5423        Egrave: Egrave,
5424        egrave: egrave,
5425        egs: egs,
5426        egsdot: egsdot,
5427        el: el,
5428        Element: Element,
5429        elinters: elinters,
5430        ell: ell,
5431        els: els,
5432        elsdot: elsdot,
5433        Emacr: Emacr,
5434        emacr: emacr,
5435        empty: empty,
5436        emptyset: emptyset,
5437        EmptySmallSquare: EmptySmallSquare,
5438        emptyv: emptyv,
5439        EmptyVerySmallSquare: EmptyVerySmallSquare,
5440        emsp13: emsp13,
5441        emsp14: emsp14,
5442        emsp: emsp,
5443        ENG: ENG,
5444        eng: eng,
5445        ensp: ensp,
5446        Eogon: Eogon,
5447        eogon: eogon,
5448        Eopf: Eopf,
5449        eopf: eopf,
5450        epar: epar,
5451        eparsl: eparsl,
5452        eplus: eplus,
5453        epsi: epsi,
5454        Epsilon: Epsilon,
5455        epsilon: epsilon,
5456        epsiv: epsiv,
5457        eqcirc: eqcirc,
5458        eqcolon: eqcolon,
5459        eqsim: eqsim,
5460        eqslantgtr: eqslantgtr,
5461        eqslantless: eqslantless,
5462        Equal: Equal,
5463        equals: equals,
5464        EqualTilde: EqualTilde,
5465        equest: equest,
5466        Equilibrium: Equilibrium,
5467        equiv: equiv,
5468        equivDD: equivDD,
5469        eqvparsl: eqvparsl,
5470        erarr: erarr,
5471        erDot: erDot,
5472        escr: escr,
5473        Escr: Escr,
5474        esdot: esdot,
5475        Esim: Esim,
5476        esim: esim,
5477        Eta: Eta,
5478        eta: eta,
5479        ETH: ETH,
5480        eth: eth,
5481        Euml: Euml,
5482        euml: euml,
5483        euro: euro,
5484        excl: excl,
5485        exist: exist,
5486        Exists: Exists,
5487        expectation: expectation,
5488        exponentiale: exponentiale,
5489        ExponentialE: ExponentialE,
5490        fallingdotseq: fallingdotseq,
5491        Fcy: Fcy,
5492        fcy: fcy,
5493        female: female,
5494        ffilig: ffilig,
5495        fflig: fflig,
5496        ffllig: ffllig,
5497        Ffr: Ffr,
5498        ffr: ffr,
5499        filig: filig,
5500        FilledSmallSquare: FilledSmallSquare,
5501        FilledVerySmallSquare: FilledVerySmallSquare,
5502        fjlig: fjlig,
5503        flat: flat,
5504        fllig: fllig,
5505        fltns: fltns,
5506        fnof: fnof,
5507        Fopf: Fopf,
5508        fopf: fopf,
5509        forall: forall,
5510        ForAll: ForAll,
5511        fork: fork,
5512        forkv: forkv,
5513        Fouriertrf: Fouriertrf,
5514        fpartint: fpartint,
5515        frac12: frac12,
5516        frac13: frac13,
5517        frac14: frac14,
5518        frac15: frac15,
5519        frac16: frac16,
5520        frac18: frac18,
5521        frac23: frac23,
5522        frac25: frac25,
5523        frac34: frac34,
5524        frac35: frac35,
5525        frac38: frac38,
5526        frac45: frac45,
5527        frac56: frac56,
5528        frac58: frac58,
5529        frac78: frac78,
5530        frasl: frasl,
5531        frown: frown,
5532        fscr: fscr,
5533        Fscr: Fscr,
5534        gacute: gacute,
5535        Gamma: Gamma,
5536        gamma: gamma,
5537        Gammad: Gammad,
5538        gammad: gammad,
5539        gap: gap,
5540        Gbreve: Gbreve,
5541        gbreve: gbreve,
5542        Gcedil: Gcedil,
5543        Gcirc: Gcirc,
5544        gcirc: gcirc,
5545        Gcy: Gcy,
5546        gcy: gcy,
5547        Gdot: Gdot,
5548        gdot: gdot,
5549        ge: ge,
5550        gE: gE,
5551        gEl: gEl,
5552        gel: gel,
5553        geq: geq,
5554        geqq: geqq,
5555        geqslant: geqslant,
5556        gescc: gescc,
5557        ges: ges,
5558        gesdot: gesdot,
5559        gesdoto: gesdoto,
5560        gesdotol: gesdotol,
5561        gesl: gesl,
5562        gesles: gesles,
5563        Gfr: Gfr,
5564        gfr: gfr,
5565        gg: gg,
5566        Gg: Gg,
5567        ggg: ggg,
5568        gimel: gimel,
5569        GJcy: GJcy,
5570        gjcy: gjcy,
5571        gla: gla,
5572        gl: gl,
5573        glE: glE,
5574        glj: glj,
5575        gnap: gnap,
5576        gnapprox: gnapprox,
5577        gne: gne,
5578        gnE: gnE,
5579        gneq: gneq,
5580        gneqq: gneqq,
5581        gnsim: gnsim,
5582        Gopf: Gopf,
5583        gopf: gopf,
5584        grave: grave,
5585        GreaterEqual: GreaterEqual,
5586        GreaterEqualLess: GreaterEqualLess,
5587        GreaterFullEqual: GreaterFullEqual,
5588        GreaterGreater: GreaterGreater,
5589        GreaterLess: GreaterLess,
5590        GreaterSlantEqual: GreaterSlantEqual,
5591        GreaterTilde: GreaterTilde,
5592        Gscr: Gscr,
5593        gscr: gscr,
5594        gsim: gsim,
5595        gsime: gsime,
5596        gsiml: gsiml,
5597        gtcc: gtcc,
5598        gtcir: gtcir,
5599        gt: gt$1,
5600        GT: GT,
5601        Gt: Gt,
5602        gtdot: gtdot,
5603        gtlPar: gtlPar,
5604        gtquest: gtquest,
5605        gtrapprox: gtrapprox,
5606        gtrarr: gtrarr,
5607        gtrdot: gtrdot,
5608        gtreqless: gtreqless,
5609        gtreqqless: gtreqqless,
5610        gtrless: gtrless,
5611        gtrsim: gtrsim,
5612        gvertneqq: gvertneqq,
5613        gvnE: gvnE,
5614        Hacek: Hacek,
5615        hairsp: hairsp,
5616        half: half,
5617        hamilt: hamilt,
5618        HARDcy: HARDcy,
5619        hardcy: hardcy,
5620        harrcir: harrcir,
5621        harr: harr,
5622        hArr: hArr,
5623        harrw: harrw,
5624        Hat: Hat,
5625        hbar: hbar,
5626        Hcirc: Hcirc,
5627        hcirc: hcirc,
5628        hearts: hearts,
5629        heartsuit: heartsuit,
5630        hellip: hellip,
5631        hercon: hercon,
5632        hfr: hfr,
5633        Hfr: Hfr,
5634        HilbertSpace: HilbertSpace,
5635        hksearow: hksearow,
5636        hkswarow: hkswarow,
5637        hoarr: hoarr,
5638        homtht: homtht,
5639        hookleftarrow: hookleftarrow,
5640        hookrightarrow: hookrightarrow,
5641        hopf: hopf,
5642        Hopf: Hopf,
5643        horbar: horbar,
5644        HorizontalLine: HorizontalLine,
5645        hscr: hscr,
5646        Hscr: Hscr,
5647        hslash: hslash,
5648        Hstrok: Hstrok,
5649        hstrok: hstrok,
5650        HumpDownHump: HumpDownHump,
5651        HumpEqual: HumpEqual,
5652        hybull: hybull,
5653        hyphen: hyphen,
5654        Iacute: Iacute,
5655        iacute: iacute,
5656        ic: ic,
5657        Icirc: Icirc,
5658        icirc: icirc,
5659        Icy: Icy,
5660        icy: icy,
5661        Idot: Idot,
5662        IEcy: IEcy,
5663        iecy: iecy,
5664        iexcl: iexcl,
5665        iff: iff,
5666        ifr: ifr,
5667        Ifr: Ifr,
5668        Igrave: Igrave,
5669        igrave: igrave,
5670        ii: ii,
5671        iiiint: iiiint,
5672        iiint: iiint,
5673        iinfin: iinfin,
5674        iiota: iiota,
5675        IJlig: IJlig,
5676        ijlig: ijlig,
5677        Imacr: Imacr,
5678        imacr: imacr,
5679        image: image,
5680        ImaginaryI: ImaginaryI,
5681        imagline: imagline,
5682        imagpart: imagpart,
5683        imath: imath,
5684        Im: Im,
5685        imof: imof,
5686        imped: imped,
5687        Implies: Implies,
5688        incare: incare,
5689        infin: infin,
5690        infintie: infintie,
5691        inodot: inodot,
5692        intcal: intcal,
5693        int: int,
5694        Int: Int,
5695        integers: integers,
5696        Integral: Integral,
5697        intercal: intercal,
5698        Intersection: Intersection,
5699        intlarhk: intlarhk,
5700        intprod: intprod,
5701        InvisibleComma: InvisibleComma,
5702        InvisibleTimes: InvisibleTimes,
5703        IOcy: IOcy,
5704        iocy: iocy,
5705        Iogon: Iogon,
5706        iogon: iogon,
5707        Iopf: Iopf,
5708        iopf: iopf,
5709        Iota: Iota,
5710        iota: iota,
5711        iprod: iprod,
5712        iquest: iquest,
5713        iscr: iscr,
5714        Iscr: Iscr,
5715        isin: isin,
5716        isindot: isindot,
5717        isinE: isinE,
5718        isins: isins,
5719        isinsv: isinsv,
5720        isinv: isinv,
5721        it: it,
5722        Itilde: Itilde,
5723        itilde: itilde,
5724        Iukcy: Iukcy,
5725        iukcy: iukcy,
5726        Iuml: Iuml,
5727        iuml: iuml,
5728        Jcirc: Jcirc,
5729        jcirc: jcirc,
5730        Jcy: Jcy,
5731        jcy: jcy,
5732        Jfr: Jfr,
5733        jfr: jfr,
5734        jmath: jmath,
5735        Jopf: Jopf,
5736        jopf: jopf,
5737        Jscr: Jscr,
5738        jscr: jscr,
5739        Jsercy: Jsercy,
5740        jsercy: jsercy,
5741        Jukcy: Jukcy,
5742        jukcy: jukcy,
5743        Kappa: Kappa,
5744        kappa: kappa,
5745        kappav: kappav,
5746        Kcedil: Kcedil,
5747        kcedil: kcedil,
5748        Kcy: Kcy,
5749        kcy: kcy,
5750        Kfr: Kfr,
5751        kfr: kfr,
5752        kgreen: kgreen,
5753        KHcy: KHcy,
5754        khcy: khcy,
5755        KJcy: KJcy,
5756        kjcy: kjcy,
5757        Kopf: Kopf,
5758        kopf: kopf,
5759        Kscr: Kscr,
5760        kscr: kscr,
5761        lAarr: lAarr,
5762        Lacute: Lacute,
5763        lacute: lacute,
5764        laemptyv: laemptyv,
5765        lagran: lagran,
5766        Lambda: Lambda,
5767        lambda: lambda,
5768        lang: lang,
5769        Lang: Lang,
5770        langd: langd,
5771        langle: langle,
5772        lap: lap,
5773        Laplacetrf: Laplacetrf,
5774        laquo: laquo,
5775        larrb: larrb,
5776        larrbfs: larrbfs,
5777        larr: larr,
5778        Larr: Larr,
5779        lArr: lArr,
5780        larrfs: larrfs,
5781        larrhk: larrhk,
5782        larrlp: larrlp,
5783        larrpl: larrpl,
5784        larrsim: larrsim,
5785        larrtl: larrtl,
5786        latail: latail,
5787        lAtail: lAtail,
5788        lat: lat,
5789        late: late,
5790        lates: lates,
5791        lbarr: lbarr,
5792        lBarr: lBarr,
5793        lbbrk: lbbrk,
5794        lbrace: lbrace,
5795        lbrack: lbrack,
5796        lbrke: lbrke,
5797        lbrksld: lbrksld,
5798        lbrkslu: lbrkslu,
5799        Lcaron: Lcaron,
5800        lcaron: lcaron,
5801        Lcedil: Lcedil,
5802        lcedil: lcedil,
5803        lceil: lceil,
5804        lcub: lcub,
5805        Lcy: Lcy,
5806        lcy: lcy,
5807        ldca: ldca,
5808        ldquo: ldquo,
5809        ldquor: ldquor,
5810        ldrdhar: ldrdhar,
5811        ldrushar: ldrushar,
5812        ldsh: ldsh,
5813        le: le,
5814        lE: lE,
5815        LeftAngleBracket: LeftAngleBracket,
5816        LeftArrowBar: LeftArrowBar,
5817        leftarrow: leftarrow,
5818        LeftArrow: LeftArrow,
5819        Leftarrow: Leftarrow,
5820        LeftArrowRightArrow: LeftArrowRightArrow,
5821        leftarrowtail: leftarrowtail,
5822        LeftCeiling: LeftCeiling,
5823        LeftDoubleBracket: LeftDoubleBracket,
5824        LeftDownTeeVector: LeftDownTeeVector,
5825        LeftDownVectorBar: LeftDownVectorBar,
5826        LeftDownVector: LeftDownVector,
5827        LeftFloor: LeftFloor,
5828        leftharpoondown: leftharpoondown,
5829        leftharpoonup: leftharpoonup,
5830        leftleftarrows: leftleftarrows,
5831        leftrightarrow: leftrightarrow,
5832        LeftRightArrow: LeftRightArrow,
5833        Leftrightarrow: Leftrightarrow,
5834        leftrightarrows: leftrightarrows,
5835        leftrightharpoons: leftrightharpoons,
5836        leftrightsquigarrow: leftrightsquigarrow,
5837        LeftRightVector: LeftRightVector,
5838        LeftTeeArrow: LeftTeeArrow,
5839        LeftTee: LeftTee,
5840        LeftTeeVector: LeftTeeVector,
5841        leftthreetimes: leftthreetimes,
5842        LeftTriangleBar: LeftTriangleBar,
5843        LeftTriangle: LeftTriangle,
5844        LeftTriangleEqual: LeftTriangleEqual,
5845        LeftUpDownVector: LeftUpDownVector,
5846        LeftUpTeeVector: LeftUpTeeVector,
5847        LeftUpVectorBar: LeftUpVectorBar,
5848        LeftUpVector: LeftUpVector,
5849        LeftVectorBar: LeftVectorBar,
5850        LeftVector: LeftVector,
5851        lEg: lEg,
5852        leg: leg,
5853        leq: leq,
5854        leqq: leqq,
5855        leqslant: leqslant,
5856        lescc: lescc,
5857        les: les,
5858        lesdot: lesdot,
5859        lesdoto: lesdoto,
5860        lesdotor: lesdotor,
5861        lesg: lesg,
5862        lesges: lesges,
5863        lessapprox: lessapprox,
5864        lessdot: lessdot,
5865        lesseqgtr: lesseqgtr,
5866        lesseqqgtr: lesseqqgtr,
5867        LessEqualGreater: LessEqualGreater,
5868        LessFullEqual: LessFullEqual,
5869        LessGreater: LessGreater,
5870        lessgtr: lessgtr,
5871        LessLess: LessLess,
5872        lesssim: lesssim,
5873        LessSlantEqual: LessSlantEqual,
5874        LessTilde: LessTilde,
5875        lfisht: lfisht,
5876        lfloor: lfloor,
5877        Lfr: Lfr,
5878        lfr: lfr,
5879        lg: lg,
5880        lgE: lgE,
5881        lHar: lHar,
5882        lhard: lhard,
5883        lharu: lharu,
5884        lharul: lharul,
5885        lhblk: lhblk,
5886        LJcy: LJcy,
5887        ljcy: ljcy,
5888        llarr: llarr,
5889        ll: ll,
5890        Ll: Ll,
5891        llcorner: llcorner,
5892        Lleftarrow: Lleftarrow,
5893        llhard: llhard,
5894        lltri: lltri,
5895        Lmidot: Lmidot,
5896        lmidot: lmidot,
5897        lmoustache: lmoustache,
5898        lmoust: lmoust,
5899        lnap: lnap,
5900        lnapprox: lnapprox,
5901        lne: lne,
5902        lnE: lnE,
5903        lneq: lneq,
5904        lneqq: lneqq,
5905        lnsim: lnsim,
5906        loang: loang,
5907        loarr: loarr,
5908        lobrk: lobrk,
5909        longleftarrow: longleftarrow,
5910        LongLeftArrow: LongLeftArrow,
5911        Longleftarrow: Longleftarrow,
5912        longleftrightarrow: longleftrightarrow,
5913        LongLeftRightArrow: LongLeftRightArrow,
5914        Longleftrightarrow: Longleftrightarrow,
5915        longmapsto: longmapsto,
5916        longrightarrow: longrightarrow,
5917        LongRightArrow: LongRightArrow,
5918        Longrightarrow: Longrightarrow,
5919        looparrowleft: looparrowleft,
5920        looparrowright: looparrowright,
5921        lopar: lopar,
5922        Lopf: Lopf,
5923        lopf: lopf,
5924        loplus: loplus,
5925        lotimes: lotimes,
5926        lowast: lowast,
5927        lowbar: lowbar,
5928        LowerLeftArrow: LowerLeftArrow,
5929        LowerRightArrow: LowerRightArrow,
5930        loz: loz,
5931        lozenge: lozenge,
5932        lozf: lozf,
5933        lpar: lpar,
5934        lparlt: lparlt,
5935        lrarr: lrarr,
5936        lrcorner: lrcorner,
5937        lrhar: lrhar,
5938        lrhard: lrhard,
5939        lrm: lrm,
5940        lrtri: lrtri,
5941        lsaquo: lsaquo,
5942        lscr: lscr,
5943        Lscr: Lscr,
5944        lsh: lsh,
5945        Lsh: Lsh,
5946        lsim: lsim,
5947        lsime: lsime,
5948        lsimg: lsimg,
5949        lsqb: lsqb,
5950        lsquo: lsquo,
5951        lsquor: lsquor,
5952        Lstrok: Lstrok,
5953        lstrok: lstrok,
5954        ltcc: ltcc,
5955        ltcir: ltcir,
5956        lt: lt$1,
5957        LT: LT,
5958        Lt: Lt,
5959        ltdot: ltdot,
5960        lthree: lthree,
5961        ltimes: ltimes,
5962        ltlarr: ltlarr,
5963        ltquest: ltquest,
5964        ltri: ltri,
5965        ltrie: ltrie,
5966        ltrif: ltrif,
5967        ltrPar: ltrPar,
5968        lurdshar: lurdshar,
5969        luruhar: luruhar,
5970        lvertneqq: lvertneqq,
5971        lvnE: lvnE,
5972        macr: macr,
5973        male: male,
5974        malt: malt,
5975        maltese: maltese,
5976        map: map,
5977        mapsto: mapsto,
5978        mapstodown: mapstodown,
5979        mapstoleft: mapstoleft,
5980        mapstoup: mapstoup,
5981        marker: marker,
5982        mcomma: mcomma,
5983        Mcy: Mcy,
5984        mcy: mcy,
5985        mdash: mdash,
5986        mDDot: mDDot,
5987        measuredangle: measuredangle,
5988        MediumSpace: MediumSpace,
5989        Mellintrf: Mellintrf,
5990        Mfr: Mfr,
5991        mfr: mfr,
5992        mho: mho,
5993        micro: micro,
5994        midast: midast,
5995        midcir: midcir,
5996        mid: mid,
5997        middot: middot,
5998        minusb: minusb,
5999        minus: minus,
6000        minusd: minusd,
6001        minusdu: minusdu,
6002        MinusPlus: MinusPlus,
6003        mlcp: mlcp,
6004        mldr: mldr,
6005        mnplus: mnplus,
6006        models: models,
6007        Mopf: Mopf,
6008        mopf: mopf,
6009        mp: mp,
6010        mscr: mscr,
6011        Mscr: Mscr,
6012        mstpos: mstpos,
6013        Mu: Mu,
6014        mu: mu,
6015        multimap: multimap,
6016        mumap: mumap,
6017        nabla: nabla,
6018        Nacute: Nacute,
6019        nacute: nacute,
6020        nang: nang,
6021        nap: nap,
6022        napE: napE,
6023        napid: napid,
6024        napos: napos,
6025        napprox: napprox,
6026        natural: natural,
6027        naturals: naturals,
6028        natur: natur,
6029        nbsp: nbsp,
6030        nbump: nbump,
6031        nbumpe: nbumpe,
6032        ncap: ncap,
6033        Ncaron: Ncaron,
6034        ncaron: ncaron,
6035        Ncedil: Ncedil,
6036        ncedil: ncedil,
6037        ncong: ncong,
6038        ncongdot: ncongdot,
6039        ncup: ncup,
6040        Ncy: Ncy,
6041        ncy: ncy,
6042        ndash: ndash,
6043        nearhk: nearhk,
6044        nearr: nearr,
6045        neArr: neArr,
6046        nearrow: nearrow,
6047        ne: ne,
6048        nedot: nedot,
6049        NegativeMediumSpace: NegativeMediumSpace,
6050        NegativeThickSpace: NegativeThickSpace,
6051        NegativeThinSpace: NegativeThinSpace,
6052        NegativeVeryThinSpace: NegativeVeryThinSpace,
6053        nequiv: nequiv,
6054        nesear: nesear,
6055        nesim: nesim,
6056        NestedGreaterGreater: NestedGreaterGreater,
6057        NestedLessLess: NestedLessLess,
6058        NewLine: NewLine,
6059        nexist: nexist,
6060        nexists: nexists,
6061        Nfr: Nfr,
6062        nfr: nfr,
6063        ngE: ngE,
6064        nge: nge,
6065        ngeq: ngeq,
6066        ngeqq: ngeqq,
6067        ngeqslant: ngeqslant,
6068        nges: nges,
6069        nGg: nGg,
6070        ngsim: ngsim,
6071        nGt: nGt,
6072        ngt: ngt,
6073        ngtr: ngtr,
6074        nGtv: nGtv,
6075        nharr: nharr,
6076        nhArr: nhArr,
6077        nhpar: nhpar,
6078        ni: ni,
6079        nis: nis,
6080        nisd: nisd,
6081        niv: niv,
6082        NJcy: NJcy,
6083        njcy: njcy,
6084        nlarr: nlarr,
6085        nlArr: nlArr,
6086        nldr: nldr,
6087        nlE: nlE,
6088        nle: nle,
6089        nleftarrow: nleftarrow,
6090        nLeftarrow: nLeftarrow,
6091        nleftrightarrow: nleftrightarrow,
6092        nLeftrightarrow: nLeftrightarrow,
6093        nleq: nleq,
6094        nleqq: nleqq,
6095        nleqslant: nleqslant,
6096        nles: nles,
6097        nless: nless,
6098        nLl: nLl,
6099        nlsim: nlsim,
6100        nLt: nLt,
6101        nlt: nlt,
6102        nltri: nltri,
6103        nltrie: nltrie,
6104        nLtv: nLtv,
6105        nmid: nmid,
6106        NoBreak: NoBreak,
6107        NonBreakingSpace: NonBreakingSpace,
6108        nopf: nopf,
6109        Nopf: Nopf,
6110        Not: Not,
6111        not: not,
6112        NotCongruent: NotCongruent,
6113        NotCupCap: NotCupCap,
6114        NotDoubleVerticalBar: NotDoubleVerticalBar,
6115        NotElement: NotElement,
6116        NotEqual: NotEqual,
6117        NotEqualTilde: NotEqualTilde,
6118        NotExists: NotExists,
6119        NotGreater: NotGreater,
6120        NotGreaterEqual: NotGreaterEqual,
6121        NotGreaterFullEqual: NotGreaterFullEqual,
6122        NotGreaterGreater: NotGreaterGreater,
6123        NotGreaterLess: NotGreaterLess,
6124        NotGreaterSlantEqual: NotGreaterSlantEqual,
6125        NotGreaterTilde: NotGreaterTilde,
6126        NotHumpDownHump: NotHumpDownHump,
6127        NotHumpEqual: NotHumpEqual,
6128        notin: notin,
6129        notindot: notindot,
6130        notinE: notinE,
6131        notinva: notinva,
6132        notinvb: notinvb,
6133        notinvc: notinvc,
6134        NotLeftTriangleBar: NotLeftTriangleBar,
6135        NotLeftTriangle: NotLeftTriangle,
6136        NotLeftTriangleEqual: NotLeftTriangleEqual,
6137        NotLess: NotLess,
6138        NotLessEqual: NotLessEqual,
6139        NotLessGreater: NotLessGreater,
6140        NotLessLess: NotLessLess,
6141        NotLessSlantEqual: NotLessSlantEqual,
6142        NotLessTilde: NotLessTilde,
6143        NotNestedGreaterGreater: NotNestedGreaterGreater,
6144        NotNestedLessLess: NotNestedLessLess,
6145        notni: notni,
6146        notniva: notniva,
6147        notnivb: notnivb,
6148        notnivc: notnivc,
6149        NotPrecedes: NotPrecedes,
6150        NotPrecedesEqual: NotPrecedesEqual,
6151        NotPrecedesSlantEqual: NotPrecedesSlantEqual,
6152        NotReverseElement: NotReverseElement,
6153        NotRightTriangleBar: NotRightTriangleBar,
6154        NotRightTriangle: NotRightTriangle,
6155        NotRightTriangleEqual: NotRightTriangleEqual,
6156        NotSquareSubset: NotSquareSubset,
6157        NotSquareSubsetEqual: NotSquareSubsetEqual,
6158        NotSquareSuperset: NotSquareSuperset,
6159        NotSquareSupersetEqual: NotSquareSupersetEqual,
6160        NotSubset: NotSubset,
6161        NotSubsetEqual: NotSubsetEqual,
6162        NotSucceeds: NotSucceeds,
6163        NotSucceedsEqual: NotSucceedsEqual,
6164        NotSucceedsSlantEqual: NotSucceedsSlantEqual,
6165        NotSucceedsTilde: NotSucceedsTilde,
6166        NotSuperset: NotSuperset,
6167        NotSupersetEqual: NotSupersetEqual,
6168        NotTilde: NotTilde,
6169        NotTildeEqual: NotTildeEqual,
6170        NotTildeFullEqual: NotTildeFullEqual,
6171        NotTildeTilde: NotTildeTilde,
6172        NotVerticalBar: NotVerticalBar,
6173        nparallel: nparallel,
6174        npar: npar,
6175        nparsl: nparsl,
6176        npart: npart,
6177        npolint: npolint,
6178        npr: npr,
6179        nprcue: nprcue,
6180        nprec: nprec,
6181        npreceq: npreceq,
6182        npre: npre,
6183        nrarrc: nrarrc,
6184        nrarr: nrarr,
6185        nrArr: nrArr,
6186        nrarrw: nrarrw,
6187        nrightarrow: nrightarrow,
6188        nRightarrow: nRightarrow,
6189        nrtri: nrtri,
6190        nrtrie: nrtrie,
6191        nsc: nsc,
6192        nsccue: nsccue,
6193        nsce: nsce,
6194        Nscr: Nscr,
6195        nscr: nscr,
6196        nshortmid: nshortmid,
6197        nshortparallel: nshortparallel,
6198        nsim: nsim,
6199        nsime: nsime,
6200        nsimeq: nsimeq,
6201        nsmid: nsmid,
6202        nspar: nspar,
6203        nsqsube: nsqsube,
6204        nsqsupe: nsqsupe,
6205        nsub: nsub,
6206        nsubE: nsubE,
6207        nsube: nsube,
6208        nsubset: nsubset,
6209        nsubseteq: nsubseteq,
6210        nsubseteqq: nsubseteqq,
6211        nsucc: nsucc,
6212        nsucceq: nsucceq,
6213        nsup: nsup,
6214        nsupE: nsupE,
6215        nsupe: nsupe,
6216        nsupset: nsupset,
6217        nsupseteq: nsupseteq,
6218        nsupseteqq: nsupseteqq,
6219        ntgl: ntgl,
6220        Ntilde: Ntilde,
6221        ntilde: ntilde,
6222        ntlg: ntlg,
6223        ntriangleleft: ntriangleleft,
6224        ntrianglelefteq: ntrianglelefteq,
6225        ntriangleright: ntriangleright,
6226        ntrianglerighteq: ntrianglerighteq,
6227        Nu: Nu,
6228        nu: nu,
6229        num: num,
6230        numero: numero,
6231        numsp: numsp,
6232        nvap: nvap,
6233        nvdash: nvdash,
6234        nvDash: nvDash,
6235        nVdash: nVdash,
6236        nVDash: nVDash,
6237        nvge: nvge,
6238        nvgt: nvgt,
6239        nvHarr: nvHarr,
6240        nvinfin: nvinfin,
6241        nvlArr: nvlArr,
6242        nvle: nvle,
6243        nvlt: nvlt,
6244        nvltrie: nvltrie,
6245        nvrArr: nvrArr,
6246        nvrtrie: nvrtrie,
6247        nvsim: nvsim,
6248        nwarhk: nwarhk,
6249        nwarr: nwarr,
6250        nwArr: nwArr,
6251        nwarrow: nwarrow,
6252        nwnear: nwnear,
6253        Oacute: Oacute,
6254        oacute: oacute,
6255        oast: oast,
6256        Ocirc: Ocirc,
6257        ocirc: ocirc,
6258        ocir: ocir,
6259        Ocy: Ocy,
6260        ocy: ocy,
6261        odash: odash,
6262        Odblac: Odblac,
6263        odblac: odblac,
6264        odiv: odiv,
6265        odot: odot,
6266        odsold: odsold,
6267        OElig: OElig,
6268        oelig: oelig,
6269        ofcir: ofcir,
6270        Ofr: Ofr,
6271        ofr: ofr,
6272        ogon: ogon,
6273        Ograve: Ograve,
6274        ograve: ograve,
6275        ogt: ogt,
6276        ohbar: ohbar,
6277        ohm: ohm,
6278        oint: oint,
6279        olarr: olarr,
6280        olcir: olcir,
6281        olcross: olcross,
6282        oline: oline,
6283        olt: olt,
6284        Omacr: Omacr,
6285        omacr: omacr,
6286        Omega: Omega,
6287        omega: omega,
6288        Omicron: Omicron,
6289        omicron: omicron,
6290        omid: omid,
6291        ominus: ominus,
6292        Oopf: Oopf,
6293        oopf: oopf,
6294        opar: opar,
6295        OpenCurlyDoubleQuote: OpenCurlyDoubleQuote,
6296        OpenCurlyQuote: OpenCurlyQuote,
6297        operp: operp,
6298        oplus: oplus,
6299        orarr: orarr,
6300        Or: Or,
6301        or: or,
6302        ord: ord,
6303        order: order,
6304        orderof: orderof,
6305        ordf: ordf,
6306        ordm: ordm,
6307        origof: origof,
6308        oror: oror,
6309        orslope: orslope,
6310        orv: orv,
6311        oS: oS,
6312        Oscr: Oscr,
6313        oscr: oscr,
6314        Oslash: Oslash,
6315        oslash: oslash,
6316        osol: osol,
6317        Otilde: Otilde,
6318        otilde: otilde,
6319        otimesas: otimesas,
6320        Otimes: Otimes,
6321        otimes: otimes,
6322        Ouml: Ouml,
6323        ouml: ouml,
6324        ovbar: ovbar,
6325        OverBar: OverBar,
6326        OverBrace: OverBrace,
6327        OverBracket: OverBracket,
6328        OverParenthesis: OverParenthesis,
6329        para: para,
6330        parallel: parallel,
6331        par: par,
6332        parsim: parsim,
6333        parsl: parsl,
6334        part: part,
6335        PartialD: PartialD,
6336        Pcy: Pcy,
6337        pcy: pcy,
6338        percnt: percnt,
6339        period: period,
6340        permil: permil,
6341        perp: perp,
6342        pertenk: pertenk,
6343        Pfr: Pfr,
6344        pfr: pfr,
6345        Phi: Phi,
6346        phi: phi,
6347        phiv: phiv,
6348        phmmat: phmmat,
6349        phone: phone,
6350        Pi: Pi,
6351        pi: pi,
6352        pitchfork: pitchfork,
6353        piv: piv,
6354        planck: planck,
6355        planckh: planckh,
6356        plankv: plankv,
6357        plusacir: plusacir,
6358        plusb: plusb,
6359        pluscir: pluscir,
6360        plus: plus,
6361        plusdo: plusdo,
6362        plusdu: plusdu,
6363        pluse: pluse,
6364        PlusMinus: PlusMinus,
6365        plusmn: plusmn,
6366        plussim: plussim,
6367        plustwo: plustwo,
6368        pm: pm,
6369        Poincareplane: Poincareplane,
6370        pointint: pointint,
6371        popf: popf,
6372        Popf: Popf,
6373        pound: pound,
6374        prap: prap,
6375        Pr: Pr,
6376        pr: pr,
6377        prcue: prcue,
6378        precapprox: precapprox,
6379        prec: prec,
6380        preccurlyeq: preccurlyeq,
6381        Precedes: Precedes,
6382        PrecedesEqual: PrecedesEqual,
6383        PrecedesSlantEqual: PrecedesSlantEqual,
6384        PrecedesTilde: PrecedesTilde,
6385        preceq: preceq,
6386        precnapprox: precnapprox,
6387        precneqq: precneqq,
6388        precnsim: precnsim,
6389        pre: pre,
6390        prE: prE,
6391        precsim: precsim,
6392        prime: prime,
6393        Prime: Prime,
6394        primes: primes,
6395        prnap: prnap,
6396        prnE: prnE,
6397        prnsim: prnsim,
6398        prod: prod,
6399        Product: Product,
6400        profalar: profalar,
6401        profline: profline,
6402        profsurf: profsurf,
6403        prop: prop,
6404        Proportional: Proportional,
6405        Proportion: Proportion,
6406        propto: propto,
6407        prsim: prsim,
6408        prurel: prurel,
6409        Pscr: Pscr,
6410        pscr: pscr,
6411        Psi: Psi,
6412        psi: psi,
6413        puncsp: puncsp,
6414        Qfr: Qfr,
6415        qfr: qfr,
6416        qint: qint,
6417        qopf: qopf,
6418        Qopf: Qopf,
6419        qprime: qprime,
6420        Qscr: Qscr,
6421        qscr: qscr,
6422        quaternions: quaternions,
6423        quatint: quatint,
6424        quest: quest,
6425        questeq: questeq,
6426        quot: quot$1,
6427        QUOT: QUOT,
6428        rAarr: rAarr,
6429        race: race,
6430        Racute: Racute,
6431        racute: racute,
6432        radic: radic,
6433        raemptyv: raemptyv,
6434        rang: rang,
6435        Rang: Rang,
6436        rangd: rangd,
6437        range: range,
6438        rangle: rangle,
6439        raquo: raquo,
6440        rarrap: rarrap,
6441        rarrb: rarrb,
6442        rarrbfs: rarrbfs,
6443        rarrc: rarrc,
6444        rarr: rarr,
6445        Rarr: Rarr,
6446        rArr: rArr,
6447        rarrfs: rarrfs,
6448        rarrhk: rarrhk,
6449        rarrlp: rarrlp,
6450        rarrpl: rarrpl,
6451        rarrsim: rarrsim,
6452        Rarrtl: Rarrtl,
6453        rarrtl: rarrtl,
6454        rarrw: rarrw,
6455        ratail: ratail,
6456        rAtail: rAtail,
6457        ratio: ratio,
6458        rationals: rationals,
6459        rbarr: rbarr,
6460        rBarr: rBarr,
6461        RBarr: RBarr,
6462        rbbrk: rbbrk,
6463        rbrace: rbrace,
6464        rbrack: rbrack,
6465        rbrke: rbrke,
6466        rbrksld: rbrksld,
6467        rbrkslu: rbrkslu,
6468        Rcaron: Rcaron,
6469        rcaron: rcaron,
6470        Rcedil: Rcedil,
6471        rcedil: rcedil,
6472        rceil: rceil,
6473        rcub: rcub,
6474        Rcy: Rcy,
6475        rcy: rcy,
6476        rdca: rdca,
6477        rdldhar: rdldhar,
6478        rdquo: rdquo,
6479        rdquor: rdquor,
6480        rdsh: rdsh,
6481        real: real,
6482        realine: realine,
6483        realpart: realpart,
6484        reals: reals,
6485        Re: Re,
6486        rect: rect,
6487        reg: reg,
6488        REG: REG,
6489        ReverseElement: ReverseElement,
6490        ReverseEquilibrium: ReverseEquilibrium,
6491        ReverseUpEquilibrium: ReverseUpEquilibrium,
6492        rfisht: rfisht,
6493        rfloor: rfloor,
6494        rfr: rfr,
6495        Rfr: Rfr,
6496        rHar: rHar,
6497        rhard: rhard,
6498        rharu: rharu,
6499        rharul: rharul,
6500        Rho: Rho,
6501        rho: rho,
6502        rhov: rhov,
6503        RightAngleBracket: RightAngleBracket,
6504        RightArrowBar: RightArrowBar,
6505        rightarrow: rightarrow,
6506        RightArrow: RightArrow,
6507        Rightarrow: Rightarrow,
6508        RightArrowLeftArrow: RightArrowLeftArrow,
6509        rightarrowtail: rightarrowtail,
6510        RightCeiling: RightCeiling,
6511        RightDoubleBracket: RightDoubleBracket,
6512        RightDownTeeVector: RightDownTeeVector,
6513        RightDownVectorBar: RightDownVectorBar,
6514        RightDownVector: RightDownVector,
6515        RightFloor: RightFloor,
6516        rightharpoondown: rightharpoondown,
6517        rightharpoonup: rightharpoonup,
6518        rightleftarrows: rightleftarrows,
6519        rightleftharpoons: rightleftharpoons,
6520        rightrightarrows: rightrightarrows,
6521        rightsquigarrow: rightsquigarrow,
6522        RightTeeArrow: RightTeeArrow,
6523        RightTee: RightTee,
6524        RightTeeVector: RightTeeVector,
6525        rightthreetimes: rightthreetimes,
6526        RightTriangleBar: RightTriangleBar,
6527        RightTriangle: RightTriangle,
6528        RightTriangleEqual: RightTriangleEqual,
6529        RightUpDownVector: RightUpDownVector,
6530        RightUpTeeVector: RightUpTeeVector,
6531        RightUpVectorBar: RightUpVectorBar,
6532        RightUpVector: RightUpVector,
6533        RightVectorBar: RightVectorBar,
6534        RightVector: RightVector,
6535        ring: ring,
6536        risingdotseq: risingdotseq,
6537        rlarr: rlarr,
6538        rlhar: rlhar,
6539        rlm: rlm,
6540        rmoustache: rmoustache,
6541        rmoust: rmoust,
6542        rnmid: rnmid,
6543        roang: roang,
6544        roarr: roarr,
6545        robrk: robrk,
6546        ropar: ropar,
6547        ropf: ropf,
6548        Ropf: Ropf,
6549        roplus: roplus,
6550        rotimes: rotimes,
6551        RoundImplies: RoundImplies,
6552        rpar: rpar,
6553        rpargt: rpargt,
6554        rppolint: rppolint,
6555        rrarr: rrarr,
6556        Rrightarrow: Rrightarrow,
6557        rsaquo: rsaquo,
6558        rscr: rscr,
6559        Rscr: Rscr,
6560        rsh: rsh,
6561        Rsh: Rsh,
6562        rsqb: rsqb,
6563        rsquo: rsquo,
6564        rsquor: rsquor,
6565        rthree: rthree,
6566        rtimes: rtimes,
6567        rtri: rtri,
6568        rtrie: rtrie,
6569        rtrif: rtrif,
6570        rtriltri: rtriltri,
6571        RuleDelayed: RuleDelayed,
6572        ruluhar: ruluhar,
6573        rx: rx,
6574        Sacute: Sacute,
6575        sacute: sacute,
6576        sbquo: sbquo,
6577        scap: scap,
6578        Scaron: Scaron,
6579        scaron: scaron,
6580        Sc: Sc,
6581        sc: sc,
6582        sccue: sccue,
6583        sce: sce,
6584        scE: scE,
6585        Scedil: Scedil,
6586        scedil: scedil,
6587        Scirc: Scirc,
6588        scirc: scirc,
6589        scnap: scnap,
6590        scnE: scnE,
6591        scnsim: scnsim,
6592        scpolint: scpolint,
6593        scsim: scsim,
6594        Scy: Scy,
6595        scy: scy,
6596        sdotb: sdotb,
6597        sdot: sdot,
6598        sdote: sdote,
6599        searhk: searhk,
6600        searr: searr,
6601        seArr: seArr,
6602        searrow: searrow,
6603        sect: sect,
6604        semi: semi,
6605        seswar: seswar,
6606        setminus: setminus,
6607        setmn: setmn,
6608        sext: sext,
6609        Sfr: Sfr,
6610        sfr: sfr,
6611        sfrown: sfrown,
6612        sharp: sharp,
6613        SHCHcy: SHCHcy,
6614        shchcy: shchcy,
6615        SHcy: SHcy,
6616        shcy: shcy,
6617        ShortDownArrow: ShortDownArrow,
6618        ShortLeftArrow: ShortLeftArrow,
6619        shortmid: shortmid,
6620        shortparallel: shortparallel,
6621        ShortRightArrow: ShortRightArrow,
6622        ShortUpArrow: ShortUpArrow,
6623        shy: shy,
6624        Sigma: Sigma,
6625        sigma: sigma,
6626        sigmaf: sigmaf,
6627        sigmav: sigmav,
6628        sim: sim,
6629        simdot: simdot,
6630        sime: sime,
6631        simeq: simeq,
6632        simg: simg,
6633        simgE: simgE,
6634        siml: siml,
6635        simlE: simlE,
6636        simne: simne,
6637        simplus: simplus,
6638        simrarr: simrarr,
6639        slarr: slarr,
6640        SmallCircle: SmallCircle,
6641        smallsetminus: smallsetminus,
6642        smashp: smashp,
6643        smeparsl: smeparsl,
6644        smid: smid,
6645        smile: smile,
6646        smt: smt,
6647        smte: smte,
6648        smtes: smtes,
6649        SOFTcy: SOFTcy,
6650        softcy: softcy,
6651        solbar: solbar,
6652        solb: solb,
6653        sol: sol,
6654        Sopf: Sopf,
6655        sopf: sopf,
6656        spades: spades,
6657        spadesuit: spadesuit,
6658        spar: spar,
6659        sqcap: sqcap,
6660        sqcaps: sqcaps,
6661        sqcup: sqcup,
6662        sqcups: sqcups,
6663        Sqrt: Sqrt,
6664        sqsub: sqsub,
6665        sqsube: sqsube,
6666        sqsubset: sqsubset,
6667        sqsubseteq: sqsubseteq,
6668        sqsup: sqsup,
6669        sqsupe: sqsupe,
6670        sqsupset: sqsupset,
6671        sqsupseteq: sqsupseteq,
6672        square: square,
6673        Square: Square,
6674        SquareIntersection: SquareIntersection,
6675        SquareSubset: SquareSubset,
6676        SquareSubsetEqual: SquareSubsetEqual,
6677        SquareSuperset: SquareSuperset,
6678        SquareSupersetEqual: SquareSupersetEqual,
6679        SquareUnion: SquareUnion,
6680        squarf: squarf,
6681        squ: squ,
6682        squf: squf,
6683        srarr: srarr,
6684        Sscr: Sscr,
6685        sscr: sscr,
6686        ssetmn: ssetmn,
6687        ssmile: ssmile,
6688        sstarf: sstarf,
6689        Star: Star,
6690        star: star,
6691        starf: starf,
6692        straightepsilon: straightepsilon,
6693        straightphi: straightphi,
6694        strns: strns,
6695        sub: sub,
6696        Sub: Sub,
6697        subdot: subdot,
6698        subE: subE,
6699        sube: sube,
6700        subedot: subedot,
6701        submult: submult,
6702        subnE: subnE,
6703        subne: subne,
6704        subplus: subplus,
6705        subrarr: subrarr,
6706        subset: subset,
6707        Subset: Subset,
6708        subseteq: subseteq,
6709        subseteqq: subseteqq,
6710        SubsetEqual: SubsetEqual,
6711        subsetneq: subsetneq,
6712        subsetneqq: subsetneqq,
6713        subsim: subsim,
6714        subsub: subsub,
6715        subsup: subsup,
6716        succapprox: succapprox,
6717        succ: succ,
6718        succcurlyeq: succcurlyeq,
6719        Succeeds: Succeeds,
6720        SucceedsEqual: SucceedsEqual,
6721        SucceedsSlantEqual: SucceedsSlantEqual,
6722        SucceedsTilde: SucceedsTilde,
6723        succeq: succeq,
6724        succnapprox: succnapprox,
6725        succneqq: succneqq,
6726        succnsim: succnsim,
6727        succsim: succsim,
6728        SuchThat: SuchThat,
6729        sum: sum,
6730        Sum: Sum,
6731        sung: sung,
6732        sup1: sup1,
6733        sup2: sup2,
6734        sup3: sup3,
6735        sup: sup,
6736        Sup: Sup,
6737        supdot: supdot,
6738        supdsub: supdsub,
6739        supE: supE,
6740        supe: supe,
6741        supedot: supedot,
6742        Superset: Superset,
6743        SupersetEqual: SupersetEqual,
6744        suphsol: suphsol,
6745        suphsub: suphsub,
6746        suplarr: suplarr,
6747        supmult: supmult,
6748        supnE: supnE,
6749        supne: supne,
6750        supplus: supplus,
6751        supset: supset,
6752        Supset: Supset,
6753        supseteq: supseteq,
6754        supseteqq: supseteqq,
6755        supsetneq: supsetneq,
6756        supsetneqq: supsetneqq,
6757        supsim: supsim,
6758        supsub: supsub,
6759        supsup: supsup,
6760        swarhk: swarhk,
6761        swarr: swarr,
6762        swArr: swArr,
6763        swarrow: swarrow,
6764        swnwar: swnwar,
6765        szlig: szlig,
6766        Tab: Tab,
6767        target: target,
6768        Tau: Tau,
6769        tau: tau,
6770        tbrk: tbrk,
6771        Tcaron: Tcaron,
6772        tcaron: tcaron,
6773        Tcedil: Tcedil,
6774        tcedil: tcedil,
6775        Tcy: Tcy,
6776        tcy: tcy,
6777        tdot: tdot,
6778        telrec: telrec,
6779        Tfr: Tfr,
6780        tfr: tfr,
6781        there4: there4,
6782        therefore: therefore,
6783        Therefore: Therefore,
6784        Theta: Theta,
6785        theta: theta,
6786        thetasym: thetasym,
6787        thetav: thetav,
6788        thickapprox: thickapprox,
6789        thicksim: thicksim,
6790        ThickSpace: ThickSpace,
6791        ThinSpace: ThinSpace,
6792        thinsp: thinsp,
6793        thkap: thkap,
6794        thksim: thksim,
6795        THORN: THORN,
6796        thorn: thorn,
6797        tilde: tilde,
6798        Tilde: Tilde,
6799        TildeEqual: TildeEqual,
6800        TildeFullEqual: TildeFullEqual,
6801        TildeTilde: TildeTilde,
6802        timesbar: timesbar,
6803        timesb: timesb,
6804        times: times,
6805        timesd: timesd,
6806        tint: tint,
6807        toea: toea,
6808        topbot: topbot,
6809        topcir: topcir,
6810        top: top,
6811        Topf: Topf,
6812        topf: topf,
6813        topfork: topfork,
6814        tosa: tosa,
6815        tprime: tprime,
6816        trade: trade,
6817        TRADE: TRADE,
6818        triangle: triangle,
6819        triangledown: triangledown,
6820        triangleleft: triangleleft,
6821        trianglelefteq: trianglelefteq,
6822        triangleq: triangleq,
6823        triangleright: triangleright,
6824        trianglerighteq: trianglerighteq,
6825        tridot: tridot,
6826        trie: trie,
6827        triminus: triminus,
6828        TripleDot: TripleDot,
6829        triplus: triplus,
6830        trisb: trisb,
6831        tritime: tritime,
6832        trpezium: trpezium,
6833        Tscr: Tscr,
6834        tscr: tscr,
6835        TScy: TScy,
6836        tscy: tscy,
6837        TSHcy: TSHcy,
6838        tshcy: tshcy,
6839        Tstrok: Tstrok,
6840        tstrok: tstrok,
6841        twixt: twixt,
6842        twoheadleftarrow: twoheadleftarrow,
6843        twoheadrightarrow: twoheadrightarrow,
6844        Uacute: Uacute,
6845        uacute: uacute,
6846        uarr: uarr,
6847        Uarr: Uarr,
6848        uArr: uArr,
6849        Uarrocir: Uarrocir,
6850        Ubrcy: Ubrcy,
6851        ubrcy: ubrcy,
6852        Ubreve: Ubreve,
6853        ubreve: ubreve,
6854        Ucirc: Ucirc,
6855        ucirc: ucirc,
6856        Ucy: Ucy,
6857        ucy: ucy,
6858        udarr: udarr,
6859        Udblac: Udblac,
6860        udblac: udblac,
6861        udhar: udhar,
6862        ufisht: ufisht,
6863        Ufr: Ufr,
6864        ufr: ufr,
6865        Ugrave: Ugrave,
6866        ugrave: ugrave,
6867        uHar: uHar,
6868        uharl: uharl,
6869        uharr: uharr,
6870        uhblk: uhblk,
6871        ulcorn: ulcorn,
6872        ulcorner: ulcorner,
6873        ulcrop: ulcrop,
6874        ultri: ultri,
6875        Umacr: Umacr,
6876        umacr: umacr,
6877        uml: uml,
6878        UnderBar: UnderBar,
6879        UnderBrace: UnderBrace,
6880        UnderBracket: UnderBracket,
6881        UnderParenthesis: UnderParenthesis,
6882        Union: Union,
6883        UnionPlus: UnionPlus,
6884        Uogon: Uogon,
6885        uogon: uogon,
6886        Uopf: Uopf,
6887        uopf: uopf,
6888        UpArrowBar: UpArrowBar,
6889        uparrow: uparrow,
6890        UpArrow: UpArrow,
6891        Uparrow: Uparrow,
6892        UpArrowDownArrow: UpArrowDownArrow,
6893        updownarrow: updownarrow,
6894        UpDownArrow: UpDownArrow,
6895        Updownarrow: Updownarrow,
6896        UpEquilibrium: UpEquilibrium,
6897        upharpoonleft: upharpoonleft,
6898        upharpoonright: upharpoonright,
6899        uplus: uplus,
6900        UpperLeftArrow: UpperLeftArrow,
6901        UpperRightArrow: UpperRightArrow,
6902        upsi: upsi,
6903        Upsi: Upsi,
6904        upsih: upsih,
6905        Upsilon: Upsilon,
6906        upsilon: upsilon,
6907        UpTeeArrow: UpTeeArrow,
6908        UpTee: UpTee,
6909        upuparrows: upuparrows,
6910        urcorn: urcorn,
6911        urcorner: urcorner,
6912        urcrop: urcrop,
6913        Uring: Uring,
6914        uring: uring,
6915        urtri: urtri,
6916        Uscr: Uscr,
6917        uscr: uscr,
6918        utdot: utdot,
6919        Utilde: Utilde,
6920        utilde: utilde,
6921        utri: utri,
6922        utrif: utrif,
6923        uuarr: uuarr,
6924        Uuml: Uuml,
6925        uuml: uuml,
6926        uwangle: uwangle,
6927        vangrt: vangrt,
6928        varepsilon: varepsilon,
6929        varkappa: varkappa,
6930        varnothing: varnothing,
6931        varphi: varphi,
6932        varpi: varpi,
6933        varpropto: varpropto,
6934        varr: varr,
6935        vArr: vArr,
6936        varrho: varrho,
6937        varsigma: varsigma,
6938        varsubsetneq: varsubsetneq,
6939        varsubsetneqq: varsubsetneqq,
6940        varsupsetneq: varsupsetneq,
6941        varsupsetneqq: varsupsetneqq,
6942        vartheta: vartheta,
6943        vartriangleleft: vartriangleleft,
6944        vartriangleright: vartriangleright,
6945        vBar: vBar,
6946        Vbar: Vbar,
6947        vBarv: vBarv,
6948        Vcy: Vcy,
6949        vcy: vcy,
6950        vdash: vdash,
6951        vDash: vDash,
6952        Vdash: Vdash,
6953        VDash: VDash,
6954        Vdashl: Vdashl,
6955        veebar: veebar,
6956        vee: vee,
6957        Vee: Vee,
6958        veeeq: veeeq,
6959        vellip: vellip,
6960        verbar: verbar,
6961        Verbar: Verbar,
6962        vert: vert,
6963        Vert: Vert,
6964        VerticalBar: VerticalBar,
6965        VerticalLine: VerticalLine,
6966        VerticalSeparator: VerticalSeparator,
6967        VerticalTilde: VerticalTilde,
6968        VeryThinSpace: VeryThinSpace,
6969        Vfr: Vfr,
6970        vfr: vfr,
6971        vltri: vltri,
6972        vnsub: vnsub,
6973        vnsup: vnsup,
6974        Vopf: Vopf,
6975        vopf: vopf,
6976        vprop: vprop,
6977        vrtri: vrtri,
6978        Vscr: Vscr,
6979        vscr: vscr,
6980        vsubnE: vsubnE,
6981        vsubne: vsubne,
6982        vsupnE: vsupnE,
6983        vsupne: vsupne,
6984        Vvdash: Vvdash,
6985        vzigzag: vzigzag,
6986        Wcirc: Wcirc,
6987        wcirc: wcirc,
6988        wedbar: wedbar,
6989        wedge: wedge,
6990        Wedge: Wedge,
6991        wedgeq: wedgeq,
6992        weierp: weierp,
6993        Wfr: Wfr,
6994        wfr: wfr,
6995        Wopf: Wopf,
6996        wopf: wopf,
6997        wp: wp,
6998        wr: wr,
6999        wreath: wreath,
7000        Wscr: Wscr,
7001        wscr: wscr,
7002        xcap: xcap,
7003        xcirc: xcirc,
7004        xcup: xcup,
7005        xdtri: xdtri,
7006        Xfr: Xfr,
7007        xfr: xfr,
7008        xharr: xharr,
7009        xhArr: xhArr,
7010        Xi: Xi,
7011        xi: xi,
7012        xlarr: xlarr,
7013        xlArr: xlArr,
7014        xmap: xmap,
7015        xnis: xnis,
7016        xodot: xodot,
7017        Xopf: Xopf,
7018        xopf: xopf,
7019        xoplus: xoplus,
7020        xotime: xotime,
7021        xrarr: xrarr,
7022        xrArr: xrArr,
7023        Xscr: Xscr,
7024        xscr: xscr,
7025        xsqcup: xsqcup,
7026        xuplus: xuplus,
7027        xutri: xutri,
7028        xvee: xvee,
7029        xwedge: xwedge,
7030        Yacute: Yacute,
7031        yacute: yacute,
7032        YAcy: YAcy,
7033        yacy: yacy,
7034        Ycirc: Ycirc,
7035        ycirc: ycirc,
7036        Ycy: Ycy,
7037        ycy: ycy,
7038        yen: yen,
7039        Yfr: Yfr,
7040        yfr: yfr,
7041        YIcy: YIcy,
7042        yicy: yicy,
7043        Yopf: Yopf,
7044        yopf: yopf,
7045        Yscr: Yscr,
7046        yscr: yscr,
7047        YUcy: YUcy,
7048        yucy: yucy,
7049        yuml: yuml,
7050        Yuml: Yuml,
7051        Zacute: Zacute,
7052        zacute: zacute,
7053        Zcaron: Zcaron,
7054        zcaron: zcaron,
7055        Zcy: Zcy,
7056        zcy: zcy,
7057        Zdot: Zdot,
7058        zdot: zdot,
7059        zeetrf: zeetrf,
7060        ZeroWidthSpace: ZeroWidthSpace,
7061        Zeta: Zeta,
7062        zeta: zeta,
7063        zfr: zfr,
7064        Zfr: Zfr,
7065        ZHcy: ZHcy,
7066        zhcy: zhcy,
7067        zigrarr: zigrarr,
7068        zopf: zopf,
7069        Zopf: Zopf,
7070        Zscr: Zscr,
7071        zscr: zscr,
7072        zwj: zwj,
7073        zwnj: zwnj,
7074        'default': entities
7075    });
7076
7077    var require$$1 = getCjsExportFromNamespace(entities$1);
7078
7079    var encodeTrie = createCommonjsModule(function (module, exports) {
7080    var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
7081        return (mod && mod.__esModule) ? mod : { "default": mod };
7082    };
7083    Object.defineProperty(exports, "__esModule", { value: true });
7084    exports.getTrie = exports.encodeHTMLTrieRe = exports.getCodePoint = void 0;
7085    var entities_json_1 = __importDefault(require$$1);
7086    function isHighSurrugate(c) {
7087        return (c & 64512 /* Mask */) === 55296 /* High */;
7088    }
7089    // For compatibility with node < 4, we wrap `codePointAt`
7090    exports.getCodePoint = 
7091    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
7092    String.prototype.codePointAt != null
7093        ? function (str, index) { return str.codePointAt(index); }
7094        : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
7095            function (c, index) {
7096                return isHighSurrugate(c.charCodeAt(index))
7097                    ? (c.charCodeAt(index) - 55296 /* High */) * 0x400 +
7098                        c.charCodeAt(index + 1) -
7099                        0xdc00 +
7100                        0x10000
7101                    : c.charCodeAt(index);
7102            };
7103    var htmlTrie = getTrie(entities_json_1.default);
7104    function encodeHTMLTrieRe(regExp, str) {
7105        var _a;
7106        var ret = "";
7107        var lastIdx = 0;
7108        var match;
7109        while ((match = regExp.exec(str)) !== null) {
7110            var i = match.index;
7111            var char = str.charCodeAt(i);
7112            var next = htmlTrie.get(char);
7113            if (next) {
7114                if (next.next != null && i + 1 < str.length) {
7115                    var value = (_a = next.next.get(str.charCodeAt(i + 1))) === null || _a === void 0 ? void 0 : _a.value;
7116                    if (value != null) {
7117                        ret += str.substring(lastIdx, i) + value;
7118                        regExp.lastIndex += 1;
7119                        lastIdx = i + 2;
7120                        continue;
7121                    }
7122                }
7123                ret += str.substring(lastIdx, i) + next.value;
7124                lastIdx = i + 1;
7125            }
7126            else {
7127                ret += str.substring(lastIdx, i) + "&#x" + exports.getCodePoint(str, i).toString(16) + ";";
7128                // Increase by 1 if we have a surrogate pair
7129                lastIdx = regExp.lastIndex += Number(isHighSurrugate(char));
7130            }
7131        }
7132        return ret + str.substr(lastIdx);
7133    }
7134    exports.encodeHTMLTrieRe = encodeHTMLTrieRe;
7135    function getTrie(map) {
7136        var _a, _b, _c, _d;
7137        var trie = new Map();
7138        for (var _i = 0, _e = Object.keys(map); _i < _e.length; _i++) {
7139            var value = _e[_i];
7140            var key = map[value];
7141            // Resolve the key
7142            var lastMap = trie;
7143            for (var i = 0; i < key.length - 1; i++) {
7144                var char = key.charCodeAt(i);
7145                var next = (_a = lastMap.get(char)) !== null && _a !== void 0 ? _a : {};
7146                lastMap.set(char, next);
7147                lastMap = (_b = next.next) !== null && _b !== void 0 ? _b : (next.next = new Map());
7148            }
7149            var val = (_c = lastMap.get(key.charCodeAt(key.length - 1))) !== null && _c !== void 0 ? _c : {};
7150            (_d = val.value) !== null && _d !== void 0 ? _d : (val.value = "&" + value + ";");
7151            lastMap.set(key.charCodeAt(key.length - 1), val);
7152        }
7153        return trie;
7154    }
7155    exports.getTrie = getTrie;
7156    });
7157
7158    unwrapExports(encodeTrie);
7159    var encodeTrie_1 = encodeTrie.getTrie;
7160    var encodeTrie_2 = encodeTrie.encodeHTMLTrieRe;
7161    var encodeTrie_3 = encodeTrie.getCodePoint;
7162
7163    var require$$0 = getCjsExportFromNamespace(xml$1);
7164
7165    var encode$1 = createCommonjsModule(function (module, exports) {
7166    var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
7167        return (mod && mod.__esModule) ? mod : { "default": mod };
7168    };
7169    Object.defineProperty(exports, "__esModule", { value: true });
7170    exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;
7171    var xml_json_1 = __importDefault(require$$0);
7172
7173    var entities_json_1 = __importDefault(require$$1);
7174    var htmlReplacer = getCharRegExp(entities_json_1.default, true);
7175    var xmlReplacer = getCharRegExp(xml_json_1.default, true);
7176    var xmlInvalidChars = getCharRegExp(xml_json_1.default, false);
7177    var xmlCodeMap = new Map(Object.keys(xml_json_1.default).map(function (k) { return [
7178        xml_json_1.default[k].charCodeAt(0),
7179        "&" + k + ";",
7180    ]; }));
7181    /**
7182     * Encodes all non-ASCII characters, as well as characters not valid in XML
7183     * documents using XML entities.
7184     *
7185     * If a character has no equivalent entity, a
7186     * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
7187     */
7188    function encodeXML(str) {
7189        var ret = "";
7190        var lastIdx = 0;
7191        var match;
7192        while ((match = xmlReplacer.exec(str)) !== null) {
7193            var i = match.index;
7194            var char = str.charCodeAt(i);
7195            var next = xmlCodeMap.get(char);
7196            if (next) {
7197                ret += str.substring(lastIdx, i) + next;
7198                lastIdx = i + 1;
7199            }
7200            else {
7201                ret += str.substring(lastIdx, i) + "&#x" + encodeTrie.getCodePoint(str, i).toString(16) + ";";
7202                // Increase by 1 if we have a surrogate pair
7203                lastIdx = xmlReplacer.lastIndex += Number((char & 65408) === 0xd800);
7204            }
7205        }
7206        return ret + str.substr(lastIdx);
7207    }
7208    exports.encodeXML = encodeXML;
7209    /**
7210     * Encodes all entities and non-ASCII characters in the input.
7211     *
7212     * This includes characters that are valid ASCII characters in HTML documents.
7213     * For example `#` will be encoded as `&num;`. To get a more compact output,
7214     * consider using the `encodeNonAsciiHTML` function.
7215     *
7216     * If a character has no equivalent entity, a
7217     * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
7218     */
7219    function encodeHTML(data) {
7220        return encodeTrie.encodeHTMLTrieRe(htmlReplacer, data);
7221    }
7222    exports.encodeHTML = encodeHTML;
7223    /**
7224     * Encodes all non-ASCII characters, as well as characters not valid in HTML
7225     * documents using HTML entities.
7226     *
7227     * If a character has no equivalent entity, a
7228     * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
7229     */
7230    function encodeNonAsciiHTML(data) {
7231        return encodeTrie.encodeHTMLTrieRe(xmlReplacer, data);
7232    }
7233    exports.encodeNonAsciiHTML = encodeNonAsciiHTML;
7234    function getCharRegExp(map, nonAscii) {
7235        // Collect the start characters of all entities
7236        var chars = Object.keys(map)
7237            .map(function (k) { return "\\" + map[k].charAt(0); })
7238            .filter(function (v) { return !nonAscii || v.charCodeAt(1) < 128; })
7239            .sort(function (a, b) { return a.charCodeAt(1) - b.charCodeAt(1); })
7240            // Remove duplicates
7241            .filter(function (v, i, a) { return v !== a[i + 1]; });
7242        // Add ranges to single characters.
7243        for (var start = 0; start < chars.length - 1; start++) {
7244            // Find the end of a run of characters
7245            var end = start;
7246            while (end < chars.length - 1 &&
7247                chars[end].charCodeAt(1) + 1 === chars[end + 1].charCodeAt(1)) {
7248                end += 1;
7249            }
7250            var count = 1 + end - start;
7251            // We want to replace at least three characters
7252            if (count < 3)
7253                continue;
7254            chars.splice(start, count, chars[start] + "-" + chars[end]);
7255        }
7256        return new RegExp("[" + chars.join("") + (nonAscii ? "\\x80-\\uFFFF" : "") + "]", "g");
7257    }
7258    /**
7259     * Encodes all non-ASCII characters, as well as characters not val
7259id in XML
7260     * documents using numeric hexadecimal reference (eg. `&#xfc;`).
7261     *
7262     * Have a look at `escapeUTF8` if you want a more concise output at the expense
7263     * of reduced transportability.
7264     *
7265     * @param data String to escape.
7266     */
7267    exports.escape = encodeXML;
7268    /**
7269     * Encodes all characters not valid in XML documents using XML entities.
7270     *
7271     * Note that the output will be character-set dependent.
7272     *
7273     * @param data String to escape.
7274     */
7275    function escapeUTF8(data) {
7276        var match;
7277        var lastIdx = 0;
7278        var result = "";
7279        while ((match = xmlInvalidChars.exec(data))) {
7280            if (lastIdx !== match.index) {
7281                result += data.substring(lastIdx, match.index);
7282            }
7283            // We know that this chararcter will be in `inverseXML`
7284            result += xmlCodeMap.get(match[0].charCodeAt(0));
7285            // Every match will be of length 1
7286            lastIdx = match.index + 1;
7287        }
7288        return result + data.substring(lastIdx);
7289    }
7290    exports.escapeUTF8 = escapeUTF8;
7291    });
7292
7293    unwrapExports(encode$1);
7294    var encode_1$1 = encode$1.escapeUTF8;
7295    var encode_2 = encode$1.escape;
7296    var encode_3 = encode$1.encodeNonAsciiHTML;
7297    var encode_4 = encode$1.encodeHTML;
7298    var encode_5 = encode$1.encodeXML;
7299
7300    var lib = createCommonjsModule(function (module, exports) {
7301    Object.defineProperty(exports, "__esModule", { value: true });
7302    exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.DecodingMode = exports.EntityLevel = void 0;
7303
7304
7305    /** The level of entities to support. */
7306    var EntityLevel;
7307    (function (EntityLevel) {
7308        /** Support only XML entities. */
7309        EntityLevel[EntityLevel["XML"] = 0] = "XML";
7310        /** Support HTML entities, which are a superset of XML entities. */
7311        EntityLevel[EntityLevel["HTML"] = 1] = "HTML";
7312    })(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {}));
7313    /** Determines whether some entities are allowed to be written without a trailing `;`. */
7314    var DecodingMode;
7315    (function (DecodingMode) {
7316        /** Support legacy HTML entities. */
7317        DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy";
7318        /** Do not support legacy HTML entities. */
7319        DecodingMode[DecodingMode["Strict"] = 1] = "Strict";
7320    })(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));
7321    var EncodingMode;
7322    (function (EncodingMode) {
7323        /**
7324         * The output is UTF-8 encoded. Only characters that need escaping within
7325         * HTML will be escaped.
7326         */
7327        EncodingMode[EncodingMode["UTF8"] = 0] = "UTF8";
7328        /**
7329         * The output consists only of ASCII characters. Characters that need
7330         * escaping within HTML, and characters that aren't ASCII characters will
7331         * be escaped.
7332         */
7333        EncodingMode[EncodingMode["ASCII"] = 1] = "ASCII";
7334        /**
7335         * Encode all characters that have an equivalent entity, as well as all
7336         * characters that are not ASCII characters.
7337         */
7338        EncodingMode[EncodingMode["Extensive"] = 2] = "Extensive";
7339    })(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {}));
7340    /**
7341     * Decodes a string with entities.
7342     *
7343     * @param data String to decode.
7344     * @param options Decoding options.
7345     */
7346    function decode$1(data, options) {
7347        if (options === void 0) { options = EntityLevel.XML; }
7348        var opts = typeof options === "number" ? { level: options } : options;
7349        if (opts.level === EntityLevel.HTML) {
7350            if (opts.mode === DecodingMode.Strict) {
7351                return decode.decodeHTMLStrict(data);
7352            }
7353            return decode.decodeHTML(data);
7354        }
7355        return decode.decodeXML(data);
7356    }
7357    exports.decode = decode$1;
7358    /**
7359     * Decodes a string with entities. Does not allow missing trailing semicolons for entities.
7360     *
7361     * @param data String to decode.
7362     * @param options Decoding options.
7363     * @deprecated Use `decode` with the `mode` set to `Strict`.
7364     */
7365    function decodeStrict(data, options) {
7366        if (options === void 0) { options = EntityLevel.XML; }
7367        var opts = typeof options === "number" ? { level: options } : options;
7368        if (opts.level === EntityLevel.HTML) {
7369            if (opts.mode === DecodingMode.Legacy) {
7370                return decode.decodeHTML(data);
7371            }
7372            return decode.decodeHTMLStrict(data);
7373        }
7374        return decode.decodeXML(data);
7375    }
7376    exports.decodeStrict = decodeStrict;
7377    /**
7378     * Encodes a string with entities.
7379     *
7380     * @param data String to encode.
7381     * @param options Encoding options.
7382     */
7383    function encode(data, options) {
7384        if (options === void 0) { options = EntityLevel.XML; }
7385        var opts = typeof options === "number" ? { level: options } : options;
7386        // Mode `UTF8` just escapes XML entities
7387        if (opts.mode === EncodingMode.UTF8)
7388            return encode$1.escapeUTF8(data);
7389        if (opts.level === EntityLevel.HTML) {
7390            if (opts.mode === EncodingMode.ASCII) {
7391                return encode$1.encodeNonAsciiHTML(data);
7392            }
7393            return encode$1.encodeHTML(data);
7394        }
7395        // ASCII and Extensive are equivalent
7396        return encode$1.encodeXML(data);
7397    }
7398    exports.encode = encode;
7399    var encode_2 = encode$1;
7400    Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function () { return encode_2.encodeXML; } });
7401    Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function () { return encode_2.encodeHTML; } });
7402    Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: function () { return encode_2.encodeNonAsciiHTML; } });
7403    Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return encode_2.escape; } });
7404    Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: function () { return encode_2.escapeUTF8; } });
7405    // Legacy aliases (deprecated)
7406    Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function () { return encode_2.encodeHTML; } });
7407    Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function () { return encode_2.encodeHTML; } });
7408    var decode_2 = decode;
7409    Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function () { return decode_2.decodeXML; } });
7410    Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function () { return decode_2.decodeHTML; } });
7411    Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });
7412    // Legacy aliases (deprecated)
7413    Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function () { return decode_2.decodeHTML; } });
7414    Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function () { return decode_2.decodeHTML; } });
7415    Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });
7416    Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });
7417    Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function () { return decode_2.decodeXML; } });
7418    });
7419
7420    unwrapExports(lib);
7421    var lib_1 = lib.decodeXMLStrict;
7422    var lib_2 = lib.decodeHTML5Strict;
7423    var lib_3 = lib.decodeHTML4Strict;
7424    var lib_4 = lib.decodeHTML5;
7425    var lib_5 = lib.decodeHTML4;
7426    var lib_6 = lib.decodeHTMLStrict;
7427    var lib_7 = lib.decodeHTML;
7428    var lib_8 = lib.decodeXML;
7429    var lib_9 = lib.encodeHTML5;
7430    var lib_10 = lib.encodeHTML4;
7431    var lib_11 = lib.escapeUTF8;
7432    var lib_12 = lib.escape;
7433    var lib_13 = lib.encodeNonAsciiHTML;
7434    var lib_14 = lib.encodeHTML;
7435    var lib_15 = lib.encodeXML;
7436    var lib_16 = lib.encode;
7437    var lib_17 = lib.decodeStrict;
7438    var lib_18 = lib.decode;
7439    var lib_19 = lib.EncodingMode;
7440    var lib_20 = lib.DecodingMode;
7441    var lib_21 = lib.EntityLevel;
7442
7443    var C_BACKSLASH = 92;
7444
7445    var ENTITY = "&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});";
7446
7447    var TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
7448    var ATTRIBUTENAME = "[a-zA-Z_:][a-zA-Z0-9:._-]*";
7449    var UNQUOTEDVALUE = "[^\"'=<>`\\x00-\\x20]+";
7450    var SINGLEQUOTEDVALUE = "'[^']*'";
7451    var DOUBLEQUOTEDVALUE = '"[^"]*"';
7452    var ATTRIBUTEVALUE =
7453        "(?:" +
7454        UNQUOTEDVALUE +
7455        "|" +
7456        SINGLEQUOTEDVALUE +
7457        "|" +
7458        DOUBLEQUOTEDVALUE +
7459        ")";
7460    var ATTRIBUTEVALUESPEC = "(?:" + "\\s*=" + "\\s*" + ATTRIBUTEVALUE + ")";
7461    var ATTRIBUTE = "(?:" + "\\s+" + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + "?)";
7462    var OPENTAG = "<" + TAGNAME + ATTRIBUTE + "*" + "\\s*/?>";
7463    var CLOSETAG = "</" + TAGNAME + "\\s*[>]";
7464    var HTMLCOMMENT = "<!-->|<!--->|<!--(?:[^-]|-[^-]|--[^>])*-->";
7465    var PROCESSINGINSTRUCTION = "[<][?][\\s\\S]*?[?][>]";
7466    var DECLARATION = "<![A-Z]+" + "[^>]*>";
7467    var CDATA = "<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";
7468    var HTMLTAG =
7469        "(?:" +
7470        OPENTAG +
7471        "|" +
7472        CLOSETAG +
7473        "|" +
7474        HTMLCOMMENT +
7475        "|" +
7476        PROCESSINGINSTRUCTION +
7477        "|" +
7478        DECLARATION +
7479        "|" +
7480        CDATA +
7481        ")";
7482    var reHtmlTag = new RegExp("^" + HTMLTAG);
7483
7484    var reBackslashOrAmp = /[\\&]/;
7485
7486    var ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
7487
7488    var reEntityOrEscapedChar = new RegExp("\\\\" + ESCAPABLE + "|" + ENTITY, "gi");
7489
7490    var XMLSPECIAL = '[&<>"]';
7491
7492    var reXmlSpecial = new RegExp(XMLSPECIAL, "g");
7493
7494    var unescapeChar = function(s) {
7495        if (s.charCodeAt(0) === C_BACKSLASH) {
7496            return s.charAt(1);
7497        } else {
7498            return lib_6(s);
7499        }
7500    };
7501
7502    // Replace entities and backslash escapes with literal characters.
7503    var unescapeString = function(s) {
7504        if (reBackslashOrAmp.test(s)) {
7505            return s.replace(reEntityOrEscapedChar, unescapeChar);
7506        } else {
7507            return s;
7508        }
7509    };
7510
7511    var normalizeURI = function(uri) {
7512        try {
7513            return encode_1(uri);
7514        } catch (err) {
7515            return uri;
7516        }
7517    };
7518
7519    var replaceUnsafeChar = function(s) {
7520        switch (s) {
7521            case "&":
7522                return "&amp;";
7523            case "<":
7524                return "&lt;";
7525            case ">":
7526                return "&gt;";
7527            case '"':
7528                return "&quot;";
7529            default:
7530                return s;
7531        }
7532    };
7533
7534    var escapeXml = function(s) {
7535        if (reXmlSpecial.test(s)) {
7536            return s.replace(reXmlSpecial, replaceUnsafeChar);
7537        } else {
7538            return s;
7539        }
7540    };
7541
7542    // derived from https://github.com/mathiasbynens/String.fromCodePoint
7543    /*! http://mths.be/fromcodepoint v0.2.1 by @mathias */
7544
7545    var _fromCodePoint;
7546
7547    function fromCodePoint(_) {
7548        return _fromCodePoint(_);
7549    }
7550
7551    if (String.fromCodePoint) {
7552        _fromCodePoint = function(_) {
7553            try {
7554                return String.fromCodePoint(_);
7555            } catch (e) {
7556                if (e instanceof RangeError) {
7557                    return String.fromCharCode(0xfffd);
7558                }
7559                throw e;
7560            }
7561        };
7562    } else {
7563        var stringFromCharCode = String.fromCharCode;
7564        var floor = Math.floor;
7565        _fromCodePoint = function() {
7566            var MAX_SIZE = 0x4000;
7567            var codeUnits = [];
7568            var highSurrogate;
7569            var lowSurrogate;
7570            var index = -1;
7571            var length = arguments.length;
7572            if (!length) {
7573                return "";
7574            }
7575            var result = "";
7576            while (++index < length) {
7577                var codePoint = Number(arguments[index]);
7578                if (
7579                    !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
7580                    codePoint < 0 || // not a valid Unicode code point
7581                    codePoint > 0x10ffff || // not a valid Unicode code point
7582                    floor(codePoint) !== codePoint // not an integer
7583                ) {
7584                    return String.fromCharCode(0xfffd);
7585                }
7586                if (codePoint <= 0xffff) {
7587                    // BMP code point
7588                    codeUnits.push(codePoint);
7589                } else {
7590                    // Astral code point; split in surrogate halves
7591                    // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
7592                    codePoint -= 0x10000;
7593                    highSurrogate = (codePoint >> 10) + 0xd800;
7594                    lowSurrogate = (codePoint % 0x400) + 0xdc00;
7595                    codeUnits.push(highSurrogate, lowSurrogate);
7596                }
7597                if (index + 1 === length || codeUnits.length > MAX_SIZE) {
7598                    result += stringFromCharCode.apply(null, codeUnits);
7599                    codeUnits.length = 0;
7600                }
7601            }
7602            return result;
7603        };
7604    }
7605
7606    /* eslint no-invalid-this: 1 */
7607
7608    var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
7609    var slice = Array.prototype.slice;
7610    var toStr = Object.prototype.toString;
7611    var funcType = '[object Function]';
7612
7613    var implementation = function bind(that) {
7614        var target = this;
7615        if (typeof target !== 'function' || toStr.call(target) !== funcType) {
7616            throw new TypeError(ERROR_MESSAGE + target);
7617        }
7618        var args = slice.call(arguments, 1);
7619
7620        var bound;
7621        var binder = function () {
7622            if (this instanceof bound) {
7623                var result = target.apply(
7624                    this,
7625                    args.concat(slice.call(arguments))
7626                );
7627                if (Object(result) === result) {
7628                    return result;
7629                }
7630                return this;
7631            } else {
7632                return target.apply(
7633                    that,
7634                    args.concat(slice.call(arguments))
7635                );
7636            }
7637        };
7638
7639        var boundLength = Math.max(0, target.length - args.length);
7640        var boundArgs = [];
7641        for (var i = 0; i < boundLength; i++) {
7642            boundArgs.push('$' + i);
7643        }
7644
7645        bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
7646
7647        if (target.prototype) {
7648            var Empty = function Empty() {};
7649            Empty.prototype = target.prototype;
7650            bound.prototype = new Empty();
7651            Empty.prototype = null;
7652        }
7653
7654        return bound;
7655    };
7656
7657    var functionBind = Function.prototype.bind || implementation;
7658
7659    /* eslint complexity: [2, 18], max-statements: [2, 33] */
7660    var shams = function hasSymbols() {
7661    	if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
7662    	if (typeof Symbol.iterator === 'symbol') { return true; }
7663
7664    	var obj = {};
7665    	var sym = Symbol('test');
7666    	var symObj = Object(sym);
7667    	if (typeof sym === 'string') { return false; }
7668
7669    	if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
7670    	if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
7671
7672    	// temp disabled per https://github.com/ljharb/object.assign/issues/17
7673    	// if (sym instanceof Symbol) { return false; }
7674    	// temp disabled per https://github.com/WebReflection/get-own-property-symbol
7674s/issues/4
7675    	// if (!(symObj instanceof Symbol)) { return false; }
7676
7677    	// if (typeof Symbol.prototype.toString !== 'function') { return false; }
7678    	// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
7679
7680    	var symVal = 42;
7681    	obj[sym] = symVal;
7682    	for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
7683    	if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
7684
7685    	if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
7686
7687    	var syms = Object.getOwnPropertySymbols(obj);
7688    	if (syms.length !== 1 || syms[0] !== sym) { return false; }
7689
7690    	if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
7691
7692    	if (typeof Object.getOwnPropertyDescriptor === 'function') {
7693    		var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
7694    		if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
7695    	}
7696
7697    	return true;
7698    };
7699
7700    var origSymbol = typeof Symbol !== 'undefined' && Symbol;
7701
7702
7703    var hasSymbols = function hasNativeSymbols() {
7704    	if (typeof origSymbol !== 'function') { return false; }
7705    	if (typeof Symbol !== 'function') { return false; }
7706    	if (typeof origSymbol('foo') !== 'symbol') { return false; }
7707    	if (typeof Symbol('bar') !== 'symbol') { return false; }
7708
7709    	return shams();
7710    };
7711
7712    var src = functionBind.call(Function.call, Object.prototype.hasOwnProperty);
7713
7714    var undefined$1;
7715
7716    var $SyntaxError = SyntaxError;
7717    var $Function = Function;
7718    var $TypeError = TypeError;
7719
7720    // eslint-disable-next-line consistent-return
7721    var getEvalledConstructor = function (expressionSyntax) {
7722    	try {
7723    		return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
7724    	} catch (e) {}
7725    };
7726
7727    var $gOPD = Object.getOwnPropertyDescriptor;
7728    if ($gOPD) {
7729    	try {
7730    		$gOPD({}, '');
7731    	} catch (e) {
7732    		$gOPD = null; // this is IE 8, which has a broken gOPD
7733    	}
7734    }
7735
7736    var throwTypeError = function () {
7737    	throw new $TypeError();
7738    };
7739    var ThrowTypeError = $gOPD
7740    	? (function () {
7741    		try {
7742    			// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
7743    			arguments.callee; // IE 8 does not throw here
7744    			return throwTypeError;
7745    		} catch (calleeThrows) {
7746    			try {
7747    				// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
7748    				return $gOPD(arguments, 'callee').get;
7749    			} catch (gOPDthrows) {
7750    				return throwTypeError;
7751    			}
7752    		}
7753    	}())
7754    	: throwTypeError;
7755
7756    var hasSymbols$1 = hasSymbols();
7757
7758    var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
7759
7760    var needsEval = {};
7761
7762    var TypedArray = typeof Uint8Array === 'undefined' ? undefined$1 : getProto(Uint8Array);
7763
7764    var INTRINSICS = {
7765    	'%AggregateError%': typeof AggregateError === 'undefined' ? undefined$1 : AggregateError,
7766    	'%Array%': Array,
7767    	'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer,
7768    	'%ArrayIteratorPrototype%': hasSymbols$1 ? getProto([][Symbol.iterator]()) : undefined$1,
7769    	'%AsyncFromSyncIteratorPrototype%': undefined$1,
7770    	'%AsyncFunction%': needsEval,
7771    	'%AsyncGenerator%': needsEval,
7772    	'%AsyncGeneratorFunction%': needsEval,
7773    	'%AsyncIteratorPrototype%': needsEval,
7774    	'%Atomics%': typeof Atomics === 'undefined' ? undefined$1 : Atomics,
7775    	'%BigInt%': typeof BigInt === 'undefined' ? undefined$1 : BigInt,
7776    	'%Boolean%': Boolean,
7777    	'%DataView%': typeof DataView === 'undefined' ? undefined$1 : DataView,
7778    	'%Date%': Date,
7779    	'%decodeURI%': decodeURI,
7780    	'%decodeURIComponent%': decodeURIComponent,
7781    	'%encodeURI%': encodeURI,
7782    	'%encodeURIComponent%': encodeURIComponent,
7783    	'%Error%': Error,
7784    	'%eval%': eval, // eslint-disable-line no-eval
7785    	'%EvalError%': EvalError,
7786    	'%Float32Array%': typeof Float32Array === 'undefined' ? undefined$1 : Float32Array,
7787    	'%Float64Array%': typeof Float64Array === 'undefined' ? undefined$1 : Float64Array,
7788    	'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined$1 : FinalizationRegistry,
7789    	'%Function%': $Function,
7790    	'%GeneratorFunction%': needsEval,
7791    	'%Int8Array%': typeof Int8Array === 'undefined' ? undefined$1 : Int8Array,
7792    	'%Int16Array%': typeof Int16Array === 'undefined' ? undefined$1 : Int16Array,
7793    	'%Int32Array%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array,
7794    	'%isFinite%': isFinite,
7795    	'%isNaN%': isNaN,
7796    	'%IteratorPrototype%': hasSymbols$1 ? getProto(getProto([][Symbol.iterator]())) : undefined$1,
7797    	'%JSON%': typeof JSON === 'object' ? JSON : undefined$1,
7798    	'%Map%': typeof Map === 'undefined' ? undefined$1 : Map,
7799    	'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$1 ? undefined$1 : getProto(new Map()[Symbol.iterator]()),
7800    	'%Math%': Math,
7801    	'%Number%': Number,
7802    	'%Object%': Object,
7803    	'%parseFloat%': parseFloat,
7804    	'%parseInt%': parseInt,
7805    	'%Promise%': typeof Promise === 'undefined' ? undefined$1 : Promise,
7806    	'%Proxy%': typeof Proxy === 'undefined' ? undefined$1 : Proxy,
7807    	'%RangeError%': RangeError,
7808    	'%ReferenceError%': ReferenceError,
7809    	'%Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect,
7810    	'%RegExp%': RegExp,
7811    	'%Set%': typeof Set === 'undefined' ? undefined$1 : Set,
7812    	'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$1 ? undefined$1 : getProto(new Set()[Symbol.iterator]()),
7813    	'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer,
7814    	'%String%': String,
7815    	'%StringIteratorPrototype%': hasSymbols$1 ? getProto(''[Symbol.iterator]()) : undefined$1,
7816    	'%Symbol%': hasSymbols$1 ? Symbol : undefined$1,
7817    	'%SyntaxError%': $SyntaxError,
7818    	'%ThrowTypeError%': ThrowTypeError,
7819    	'%TypedArray%': TypedArray,
7820    	'%TypeError%': $TypeError,
7821    	'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined$1 : Uint8Array,
7822    	'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined$1 : Uint8ClampedArray,
7823    	'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined$1 : Uint16Array,
7824    	'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined$1 : Uint32Array,
7825    	'%URIError%': URIError,
7826    	'%WeakMap%': typeof WeakMap === 'undefined' ? undefined$1 : WeakMap,
7827    	'%WeakRef%': typeof WeakRef === 'undefined' ? undefined$1 : WeakRef,
7828    	'%WeakSet%': typeof WeakSet === 'undefined' ? undefined$1 : WeakSet
7829    };
7830
7831    var doEval = function doEval(name) {
7832    	var value;
7833    	if (name === '%AsyncFunction%') {
7834    		value = getEvalledConstructor('async function () {}');
7835    	} else if (name === '%GeneratorFunction%') {
7836    		value = getEvalledConstructor('function* () {}');
7837    	} else if (name === '%AsyncGeneratorFunction%') {
7838    		value = getEvalledConstructor('async function* () {}');
7839    	} else if (name === '%AsyncGenerator%') {
7840    		var fn = doEval('%AsyncGeneratorFunction%');
7841    		if (fn) {
7842    			value = fn.prototype;
7843    		}
7844    	} else if (name === '%AsyncIteratorPrototype%') {
7845    		var gen = doEval('%AsyncGenerator%');
7846    		if (gen) {
7847    			value = getProto(gen.prototype);
7848    		}
7849    	}
7850
7851    	INTRINSICS[name] = value;
7852
7853    	return value;
7854    };
7855
7856    var LEGACY_ALIASES = {
7857    	'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
7858    	'%ArrayPrototype%': ['Array', 'prototype'],
7859    	'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
7860    	'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
7861    	'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
7862    	'%ArrayProto_values%': ['Array', 'prototype', 'values'],
7863    	'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
7864    	'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
7865    	'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
7866    	'%BooleanPrototype%': ['Boolean', 'prototype'],
7867    	'%DataViewPrototype%': ['DataView', 'prototype'],
7868    	'%DatePrototype%': ['Date', 'prototype'],
7869    	'%ErrorPrototype%': ['Error', 'prototype'],
7870    	'%EvalErrorPrototype%': ['EvalError', 'prototype'],
7871    	'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
7872    	'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
7873    	'%FunctionPrototype%': ['Function', 'prototype'],
7874    	'%Generator%': ['GeneratorFunction', 'prototype'],
7875    	'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
vendor: 4,510 bytes, lines 7876-7977
7876    	'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
7877    	'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
7878    	'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
7879    	'%JSONParse%': ['JSON', 'parse'],
7880    	'%JSONStringify%': ['JSON', 'stringify'],
7881    	'%MapPrototype%': ['Map', 'prototype'],
7882    	'%NumberPrototype%': ['Number', 'prototype'],
7883    	'%ObjectPrototype%': ['Object', 'prototype'],
7884    	'%ObjProto_toString%': ['Object', 'prototype', 'toString'],
7885    	'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
7886    	'%PromisePrototype%': ['Promise', 'prototype'],
7887    	'%PromiseProto_then%': ['Promise', 'prototype', 'then'],
7888    	'%Promise_all%': ['Promise', 'all'],
7889    	'%Promise_reject%': ['Promise', 'reject'],
7890    	'%Promise_resolve%': ['Promise', 'resolve'],
7891    	'%RangeErrorPrototype%': ['RangeError', 'prototype'],
7892    	'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
7893    	'%RegExpPrototype%': ['RegExp', 'prototype'],
7894    	'%SetPrototype%': ['Set', 'prototype'],
7895    	'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
7896    	'%StringPrototype%': ['String', 'prototype'],
7897    	'%SymbolPrototype%': ['Symbol', 'prototype'],
7898    	'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
7899    	'%TypedArrayPrototype%': ['TypedArray', 'prototype'],
7900    	'%TypeErrorPrototype%': ['TypeError', 'prototype'],
7901    	'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
7902    	'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
7903    	'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
7904    	'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
7905    	'%URIErrorPrototype%': ['URIError', 'prototype'],
7906    	'%WeakMapPrototype%': ['WeakMap', 'prototype'],
7907    	'%WeakSetPrototype%': ['WeakSet', 'prototype']
7908    };
7909
7910
7911
7912    var $concat = functionBind.call(Function.call, Array.prototype.concat);
7913    var $spliceApply = functionBind.call(Function.apply, Array.prototype.splice);
7914    var $replace = functionBind.call(Function.call, String.prototype.replace);
7915    var $strSlice = functionBind.call(Function.call, String.prototype.slice);
7916
7917    /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
7918    var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
7919    var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
7920    var stringToPath = function stringToPath(string) {
7921    	var first = $strSlice(string, 0, 1);
7922    	var last = $strSlice(string, -1);
7923    	if (first === '%' && last !== '%') {
7924    		throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
7925    	} else if (last === '%' && first !== '%') {
7926    		throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
7927    	}
7928    	var result = [];
7929    	$replace(string, rePropName, function (match, number, quote, subString) {
7930    		result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
7931    	});
7932    	return result;
7933    };
7934    /* end adaptation */
7935
7936    var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
7937    	var intrinsicName = name;
7938    	var alias;
7939    	if (src(LEGACY_ALIASES, intrinsicName)) {
7940    		alias = LEGACY_ALIASES[intrinsicName];
7941    		intrinsicName = '%' + alias[0] + '%';
7942    	}
7943
7944    	if (src(INTRINSICS, intrinsicName)) {
7945    		var value = INTRINSICS[intrinsicName];
7946    		if (value === needsEval) {
7947    			value = doEval(intrinsicName);
7948    		}
7949    		if (typeof value === 'undefined' && !allowMissing) {
7950    			throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
7951    		}
7952
7953    		return {
7954    			alias: alias,
7955    			name: intrinsicName,
7956    			value: value
7957    		};
7958    	}
7959
7960    	throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
7961    };
7962
7963    var getIntrinsic = function GetIntrinsic(name, allowMissing) {
7964    	if (typeof name !== 'string' || name.length === 0) {
7965    		throw new $TypeError('intrinsic name must be a non-empty string');
7966    	}
7967    	if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
7968    		throw new $TypeError('"allowMissing" argument must be a boolean');
7969    	}
7970
7971    	var parts = stringToPath(name);
7972    	var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
7973
7974    	var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
7975    	var intrinsicRealName = intrinsic.name;
7976    	var value = intrinsic.value;
7977    	var skipFurtherCaching = false;
7978
7979    	var alias = intrinsic.alias;
7980    	if (alias) {
7981    		intrinsicBaseName = alias[0];
7982    		$spliceApply(parts, $concat([0, 1], alias));
7983    	}
7984
7985    	for (var i = 1, isOwn = true; i < parts.length; i += 1) {
7986    		var part = parts[i];
7987    		var first = $strSlice(part, 0, 1);
7988    		var last = $strSlice(part, -1);
7989    		if (
7990    			(
7991    				(first === '"' || first === "'" || first === '`')
7992    				|| (last === '"' || last === "'" || last === '`')
7993    			)
7994    			&& first !== last
7995    		) {
7996    			throw new $SyntaxError('property names with quotes must have matching quotes');
7997    		}
7998    		if (part === 'constructor' || !isOwn) {
7999    			skipFurtherCaching = true;
8000    		}
8001
8002    		intrinsicBaseName += '.' + part;
8003    		intrinsicRealName = '%' + intrinsicBaseName + '%';
8004
8005    		if (src(INTRINSICS, intrinsicRealName)) {
8006    			value = INTRINSICS[intrinsicRealName];
8007    		} else if (value != null) {
8008    			if (!(part in value)) {
8009    				if (!allowMissing) {
8010    					throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
8011    				}
8012    				return void undefined$1;
8013    			}
8014    			if ($gOPD && (i + 1) >= parts.length) {
8015    				var desc = $gOPD(value, part);
8016    				isOwn = !!desc;
8017
8018    				// By convention, when a data property is converted to an accessor
8019    				// property to emulate a data property that does not suffer from
8020    				// the override mistake, that accessor's getter is marked with
8021    				// an `originalValue` property. Here, when we detect this, we
8022    				// uphold the illusion by pretending to see that original data
8023    				// property, i.e., returning the value rather than the getter
8024    				// itself.
8025    				if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
8026    					value = desc.get;
8027    				} else {
8028    					value = value[part];
8029    				}
8030    			} else {
8031    				isOwn = src(value, part);
8032    				value = value[part];
8033    			}
8034
8035    			if (isOwn && !skipFurtherCaching) {
8036    				INTRINSICS[intrinsicRealName] = value;
8037    			}
8038    		}
8039    	}
8040    	return value;
8041    };
8042
8043    var callBind = createCommonjsModule(function (module) {
8044
8045
8046
8047
8048    var $apply = getIntrinsic('%Function.prototype.apply%');
8049    var $call = getIntrinsic('%Function.prototype.call%');
8050    var $reflectApply = getIntrinsic('%Reflect.apply%', true) || functionBind.call($call, $apply);
8051
8052    var $gOPD = getIntrinsic('%Object.getOwnPropertyDescriptor%', true);
8053    var $defineProperty = getIntrinsic('%Object.defineProperty%', true);
8054    var $max = getIntrinsic('%Math.max%');
8055
8056    if ($defineProperty) {
8057    	try {
8058    		$defineProperty({}, 'a', { value: 1 });
8059    	} catch (e) {
8060    		// IE 8 has a broken defineProperty
8061    		$defineProperty = null;
8062    	}
8063    }
8064
8065    module.exports = function callBind(originalFunction) {
8066    	var func = $reflectApply(functionBind, $call, arguments);
8067    	if ($gOPD && $defineProperty) {
8068    		var desc = $gOPD(func, 'length');
8069    		if (desc.configurable) {
8070    			// original length, plus the receiver, minus any additional arguments (after the receiver)
8071    			$defineProperty(
8072    				func,
8073    				'length',
8074    				{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
8075    			);
8076    		}
8077    	}
8078    	return func;
8079    };
8080
8081    var applyBind = function applyBind() {
8082    	return $reflectApply(functionBind, $apply, arguments);
8083    };
8084
8085    if ($defineProperty) {
8086    	$defineProperty(module.exports, 'apply', { value: applyBind });
8087    } else {
8088    	module.exports.apply = applyBind;
8089    }
8090    });
8091    var callBind_1 = callBind.apply;
8092
8093    // TODO; semver-major: remove
8094
8095    var callBind$1 = callBind;
8096
8097    var toStr$1 = Object.prototype.toString;
8098
8099    var isArguments = function isArguments(value) {
8100    	var str = toStr$1.call(value);
8101    	var isArgs = str === '[object Arguments]';
8102    	if (!isArgs) {
8103    		isArgs = str !== '[object Array]' &&
8104    			value !== null &&
8105    			typeof value === 'object' &&
8106    			typeof value.length === 'number' &&
8107    			value.length >= 0 &&
8108    			toStr$1.call(value.callee) === '[object Function]';
8109    	}
8110    	return isArgs;
8111    };
8112
8113    var keysShim;
8114    if (!Object.keys) {
8115    	// modified from https://github.com/es-shims/es5-shim
8116    	var has = Object.prototype.hasOwnProperty;
8117    	var toStr$2 = Object.prototype.toString;
8118    	var isArgs = isArguments; // eslint-disable-line global-require
8119    	var isEnumerable = Object.prototype.propertyIsEnumerable;
8120    	var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
8121    	var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
8122    	var dontEnums = [
8123    		'toString',
vendor: 4,351 bytes, lines 8124-8274
8124    		'toLocaleString',
8125    		'valueOf',
8126    		'hasOwnProperty',
8127    		'isPrototypeOf',
8128    		'propertyIsEnumerable',
8129    		'constructor'
8130    	];
8131    	var equalsConstructorPrototype = function (o) {
8132    		var ctor = o.constructor;
8133    		return ctor && ctor.prototype === o;
8134    	};
8135    	var excludedKeys = {
8136    		$applicationCache: true,
8137    		$console: true,
8138    		$external: true,
8139    		$frame: true,
8140    		$frameElement: true,
8141    		$frames: true,
8142    		$innerHeight: true,
8143    		$innerWidth: true,
8144    		$onmozfullscreenchange: true,
8145    		$onmozfullscreenerror: true,
8146    		$outerHeight: true,
8147    		$outerWidth: true,
8148    		$pageXOffset: true,
8149    		$pageYOffset: true,
8150    		$parent: true,
8151    		$scrollLeft: true,
8152    		$scrollTop: true,
8153    		$scrollX: true,
8154    		$scrollY: true,
8155    		$self: true,
8156    		$webkitIndexedDB: true,
8157    		$webkitStorageInfo: true,
8158    		$window: true
8159    	};
8160    	var hasAutomationEqualityBug = (function () {
8161    		/* global window */
8162    		if (typeof window === 'undefined') { return false; }
8163    		for (var k in window) {
8164    			try {
8165    				if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
8166    					try {
8167    						equalsConstructorPrototype(window[k]);
8168    					} catch (e) {
8169    						return true;
8170    					}
8171    				}
8172    			} catch (e) {
8173    				return true;
8174    			}
8175    		}
8176    		return false;
8177    	}());
8178    	var equalsConstructorPrototypeIfNotBuggy = function (o) {
8179    		/* global window */
8180    		if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
8181    			return equalsConstructorPrototype(o);
8182    		}
8183    		try {
8184    			return equalsConstructorPrototype(o);
8185    		} catch (e) {
8186    			return false;
8187    		}
8188    	};
8189
8190    	keysShim = function keys(object) {
8191    		var isObject = object !== null && typeof object === 'object';
8192    		var isFunction = toStr$2.call(object) === '[object Function]';
8193    		var isArguments = isArgs(object);
8194    		var isString = isObject && toStr$2.call(object) === '[object String]';
8195    		var theKeys = [];
8196
8197    		if (!isObject && !isFunction && !isArguments) {
8198    			throw new TypeError('Object.keys called on a non-object');
8199    		}
8200
8201    		var skipProto = hasProtoEnumBug && isFunction;
8202    		if (isString && object.length > 0 && !has.call(object, 0)) {
8203    			for (var i = 0; i < object.length; ++i) {
8204    				theKeys.push(String(i));
8205    			}
8206    		}
8207
8208    		if (isArguments && object.length > 0) {
8209    			for (var j = 0; j < object.length; ++j) {
8210    				theKeys.push(String(j));
8211    			}
8212    		} else {
8213    			for (var name in object) {
8214    				if (!(skipProto && name === 'prototype') && has.call(object, name)) {
8215    					theKeys.push(String(name));
8216    				}
8217    			}
8218    		}
8219
8220    		if (hasDontEnumBug) {
8221    			var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
8222
8223    			for (var k = 0; k < dontEnums.length; ++k) {
8224    				if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
8225    					theKeys.push(dontEnums[k]);
8226    				}
8227    			}
8228    		}
8229    		return theKeys;
8230    	};
8231    }
8232    var implementation$1 = keysShim;
8233
8234    var slice$1 = Array.prototype.slice;
8235
8236
8237    var origKeys = Object.keys;
8238    var keysShim$1 = origKeys ? function keys(o) { return origKeys(o); } : implementation$1;
8239
8240    var originalKeys = Object.keys;
8241
8242    keysShim$1.shim = function shimObjectKeys() {
8243    	if (Object.keys) {
8244    		var keysWorksWithArguments = (function () {
8245    			// Safari 5.0 bug
8246    			var args = Object.keys(arguments);
8247    			return args && args.length === arguments.length;
8248    		}(1, 2));
8249    		if (!keysWorksWithArguments) {
8250    			Object.keys = function keys(object) { // eslint-disable-line func-name-matching
8251    				if (isArguments(object)) {
8252    					return originalKeys(slice$1.call(object));
8253    				}
8254    				return originalKeys(object);
8255    			};
8256    		}
8257    	} else {
8258    		Object.keys = keysShim$1;
8259    	}
8260    	return Object.keys || keysShim$1;
8261    };
8262
8263    var objectKeys = keysShim$1;
8264
8265    var $defineProperty = getIntrinsic('%Object.defineProperty%', true);
8266
8267    var hasPropertyDescriptors = function hasPropertyDescriptors() {
8268    	if ($defineProperty) {
8269    		try {
8270    			$defineProperty({}, 'a', { value: 1 });
8271    			return true;
8272    		} catch (e) {
8273    			// IE 8 has a broken defineProperty
8274    			return false;
8275    		}
8276    	}
8277    	return false;
8278    };
8279
8280    hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {
8281    	// node v0.6 has a bug where array lengths can be Set but not Defined
8282    	if (!hasPropertyDescriptors()) {
8283    		return null;
8284    	}
8285    	try {
8286    		return $defineProperty([], 'length', { value: 1 }).length !== 1;
8287    	} catch (e) {
8288    		// In Firefox 4-22, defining length on an array throws an exception.
8289    		return true;
8290    	}
8291    };
8292
8293    var hasPropertyDescriptors_1 = hasPropertyDescriptors;
8294
8295    var hasSymbols$2 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
8296
8297    var toStr$3 = Object.prototype.toString;
8298    var concat = Array.prototype.concat;
8299    var origDefineProperty = Object.defineProperty;
8300
8301    var isFunction = function (fn) {
8302    	return typeof fn === 'function' && toStr$3.call(fn) === '[object Function]';
8303    };
8304
8305    var hasPropertyDescriptors$1 = hasPropertyDescriptors_1();
8306
8307    var supportsDescriptors = origDefineProperty && hasPropertyDescriptors$1;
8308
8309    var defineProperty = function (object, name, value, predicate) {
8310    	if (name in object && (!isFunction(predicate) || !predicate())) {
8311    		return;
8312    	}
8313    	if (supportsDescriptors) {
8314    		origDefineProperty(object, name, {
8315    			configurable: true,
8316    			enumerable: false,
8317    			value: value,
8318    			writable: true
8319    		});
8320    	} else {
8321    		object[name] = value; // eslint-disable-line no-param-reassign
8322    	}
8323    };
8324
8325    var defineProperties = function (object, map) {
8326    	var predicates = arguments.length > 2 ? arguments[2] : {};
8327    	var props = objectKeys(map);
8328    	if (hasSymbols$2) {
8329    		props = concat.call(props, Object.getOwnPropertySymbols(map));
8330    	}
8331    	for (var i = 0; i < props.length; i += 1) {
8332    		defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
8333    	}
8334    };
8335
8336    defineProperties.supportsDescriptors = !!supportsDescriptors;
8337
8338    var defineProperties_1 = defineProperties;
8339
8340    var $TypeError$1 = getIntrinsic('%TypeError%');
8341
8342    // http://262.ecma-international.org/5.1/#sec-9.10
8343
8344    var CheckObjectCoercible = function CheckObjectCoercible(value, optMessage) {
8345    	if (value == null) {
8346    		throw new $TypeError$1(optMessage || ('Cannot call method on ' + value));
8347    	}
8348    	return value;
8349    };
8350
8351    var RequireObjectCoercible = CheckObjectCoercible;
8352
8353    var $String = getIntrinsic('%String%');
8354    var $TypeError$2 = getIntrinsic('%TypeError%');
8355
8356    // https://ecma-international.org/ecma-262/6.0/#sec-tostring
8357
8358    var ToString = function ToString(argument) {
8359    	if (typeof argument === 'symbol') {
8360    		throw new $TypeError$2('Cannot convert a Symbol value to a string');
8361    	}
8362    	return $String(argument);
8363    };
8364
8365    var $abs = getIntrinsic('%Math.abs%');
8366
8367    // http://262.ecma-international.org/5.1/#sec-5.2
8368
8369    var abs = function abs(x) {
8370    	return $abs(x);
8371    };
8372
8373    // var modulo = require('./modulo');
8374    var $floor = Math.floor;
8375
8376    // http://262.ecma-international.org/5.1/#sec-5.2
8377
8378    var floor$1 = function floor(x) {
8379    	// return x - modulo(x, 1);
8380    	return $floor(x);
8381    };
8382
8383    var isPrimitive = function isPrimitive(value) {
8384    	return value === null || (typeof value !== 'function' && typeof value !== 'object');
8385    };
8386
8387    var fnToStr = Function.prototype.toString;
8388    var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;
8389    var badArrayLike;
8390    var isCallableMarker;
8391    if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {
8392    	try {
8393    		badArrayLike = Object.defineProperty({}, 'length', {
8394    			get: function () {
8395    				throw isCallableMarker;
8396    			}
8397    		});
8398    		isCallableMarker = {};
8399    		// eslint-disable-next-line no-throw-literal
8400    		reflectApply(function () { throw 42; }, null, badArrayLike);
8401    	} catch (_) {
8402    		if (_ !== isCallableMarker) {
8403    			reflectApply = null;
8404    		}
8405    	}
8406    } else {
8407    	reflectApply = null;
8408    }
8409
8410    var constructorRegex = /^\s*class\b/;
8411    var isES6ClassFn = function isES6ClassFunction(value) {
8412    	try {
8413    		var fnStr = fnToStr.call(value);
8414    		return constructorRegex.test(fnStr);
8415    	} catch (e) {
8416    		return false; // not a function
8417    	}
8418    };
8419
8420    var tryFunctionObject = function tryFunctionToStr(value) {
8421    	try {
8422    		if (isES6ClassFn(value)) { return false; }
8423    		fnToStr.call(value);
8424    		return true;
8425    	} catch (e) {
8426    		return false;
8427    	}
8428    };
8429    var toStr$4 = Object.prototype.toString;
8430    var fnClass = '[object Function]';
8431    var genClass = '[object GeneratorFunction]';
8432    var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`
8433    /* globals document: false */
8434    var documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {};
8435
8436    var isCallable = reflectApply
8437    	? function isCallable(value) {
8438    		if (value === documentDotAll) { return true; }
8439    		if (!value) { return false; }
8440    		if (typeof value !== 'function' && typeof value !== 'object') { return false; }
8441    		if (typeof value === 'function' && !value.prototype) { return true; }
8442    		try {
8443    			reflectApply(value, null, badArrayLike);
8444    		} catch (e) {
8445    			if (e !== isCallableMarker) { return false; }
8446    		}
8447    		return !isES6ClassFn(value);
8448    	}
8449    	: function isCallable(value) {
8450    		if (value === documentDotAll) { return true; }
8451    		if (!value) { return false; }
8452    		if (typeof value !== 'function' && typeof value !== 'object') { return false; }
8453    		if (typeof value === 'function' && !value.prototype) { return true; }
8454    		if (hasToStringTag) { return tryFunctionObject(value); }
8455    		if (isES6ClassFn(value)) { return false; }
8456    		var strClass = toStr$4.call(value);
8457    		return strClass === fnClass || strClass === genClass;
8458    	};
8459
8460    var toStr$5 = Object.prototype.toString;
8461
8462
8463
8464
8465
8466    // http://ecma-international.org/ecma-262/5.1/#sec-8.12.8
8467    var ES5internalSlots = {
8468    	'[[DefaultValue]]': function (O) {
8469    		var actualHint;
8470    		if (arguments.length > 1) {
8471    			actualHint = arguments[1];
8472    		} else {
8473    			actualHint = toStr$5.call(O) === '[object Date]' ? String : Number;
8474    		}
8475
8476    		if (actualHint === String || actualHint === Number) {
8477    			var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
8478    			var value, i;
8479    			for (i = 0; i < methods.length; ++i) {
8480    				if (isCallable(O[methods[i]])) {
8481    					value = O[methods[i]]();
8482    					if (isPrimitive(value)) {
8483    						return value;
8484    					}
8485    				}
8486    			}
8487    			throw new TypeError('No default value');
8488    		}
8489    		throw new TypeError('invalid [[DefaultValue]] hint supplied');
8490    	}
8491    };
8492
8493    // http://ecma-international.org/ecma-262/5.1/#sec-9.1
8494    var es5 = function ToPrimitive(input) {
8495    	if (isPrimitive(input)) {
8496    		return input;
8497    	}
8498    	if (arguments.length > 1) {
8499    		return ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);
8500    	}
8501    	return ES5internalSlots['[[DefaultValue]]'](input);
8502    };
8503
8504    // http://262.ecma-international.org/5.1/#sec-9.1
8505
8506    var ToPrimitive = es5;
8507
8508    // http://262.ecma-international.org/5.1/#sec-9.3
8509
8510    var ToNumber = function ToNumber(value) {
8511    	var prim = ToPrimitive(value, Number);
8512    	if (typeof prim !== 'string') {
8513    		return +prim; // eslint-disable-line no-implicit-coercion
8514    	}
8515
8516    	// eslint-disable-next-line no-control-regex
8517    	var trimmed = prim.replace(/^[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+|[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+$/g, '');
8518    	if ((/^0[ob]|^[+-]0x/).test(trimmed)) {
8519    		return NaN;
8520    	}
8521
8522    	return +trimmed; // eslint-disable-line no-implicit-coercion
8523    };
8524
8525    var _isNaN = Number.isNaN || function isNaN(a) {
8526    	return a !== a;
8527    };
8528
8529    var $isNaN = Number.isNaN || function (a) { return a !== a; };
8530
8531    var _isFinite = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
8532
8533    var sign = function sign(number) {
8534    	return number >= 0 ? 1 : -1;
8535    };
8536
8537    // http://262.ecma-international.org/5.1/#sec-9.4
8538
8539    var ToInteger = function ToInteger(value) {
8540    	var number = ToNumber(value);
8541    	if (_isNaN(number)) { return 0; }
8542    	if (number === 0 || !_isFinite(number)) { return number; }
8543    	return sign(number) * floor$1(abs(number));
8544    };
8545
8546    var $indexOf = callBind(getIntrinsic('String.prototype.indexOf'));
8547
8548    var callBound = function callBoundIntrinsic(name, allowMissing) {
8549    	var intrinsic = getIntrinsic(name, !!allowMissing);
8550    	if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
8551    		return callBind(intrinsic);
8552    	}
8553    	return intrinsic;
8554    };
8555
8556    var $exec = callBound('RegExp.prototype.exec');
8557
8558    var regexTester = function regexTester(regex) {
8559    	return function test(s) { return $exec(regex, s) !== null; };
8560    };
8561
8562    var isPrimitive$1 = function isPrimitive(value) {
8563    	return value === null || (typeof value !== 'function' && typeof value !== 'object');
8564    };
8565
8566    var shams$1 = function hasToStringTagShams() {
8567    	return shams() && !!Symbol.toStringTag;
8568    };
8569
8570    var getDay = Date.prototype.getDay;
8571    var tryDateObject = function tryDateGetDayCall(value) {
8572    	try {
8573    		getDay.call(value);
8574    		return true;
8575    	} catch (e) {
8576    		return false;
8577    	}
8578    };
8579
8580    var toStr$6 = Object.prototype.toString;
8581    var dateClass = '[object Date]';
8582    var hasToStringTag$1 = shams$1();
8583
8584    var isDateObject = function isDateObject(value) {
8585    	if (typeof value !== 'object' || value === null) {
8586    		return false;
8587    	}
8588    	return hasToStringTag$1 ? tryDateObject(value) : toStr$6.call(value) === dateClass;
8589    };
8590
8591    var isSymbol = createCommonjsModule(function (module) {
8592
8593    var toStr = Object.prototype.toString;
8594    var hasSymbols$1 = hasSymbols();
8595
8596    if (hasSymbols$1) {
8597    	var symToStr = Symbol.prototype.toString;
8598    	var symStringRegex = /^Symbol\(.*\)$/;
8599    	var isSymbolObject = function isRealSymbolObject(value) {
8600    		if (typeof value.valueOf() !== 'symbol') {
8601    			return false;
8602    		}
8603    		return symStringRegex.test(symToStr.call(value));
8604    	};
8605
8606    	module.exports = function isSymbol(value) {
8607    		if (typeof value === 'symbol') {
8608    			return true;
8609    		}
8610    		if (toStr.call(value) !== '[object Symbol]') {
8611    			return false;
8612    		}
8613    		try {
8614    			return isSymbolObject(value);
8615    		} catch (e) {
8616    			return false;
8617    		}
8618    	};
8619    } else {
8620
8621    	module.exports = function isSymbol(value) {
8622    		// this environment does not support Symbols.
8623    		return false ;
8624    	};
8625    }
8626    });
8627
8628    var hasSymbols$3 = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
8629
8630
8631
8632
8633
8634
8635    var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
8636    	if (typeof O === 'undefined' || O === null) {
8637    		throw new TypeError('Cannot call method on ' + O);
8638    	}
8639    	if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {
8640    		throw new TypeError('hint must be "string" or "number"');
8641    	}
8642    	var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
8643    	var method, result, i;
8644    	for (i = 0; i < methodNames.length; ++i) {
8645    		method = O[methodNames[i]];
8646    		if (isCallable(method)) {
8647    			result = method.call(O);
8648    			if (isPrimitive(result)) {
8649    				return result;
8650    			}
8651    		}
8652    	}
8653    	throw new TypeError('No default value');
8654    };
8655
8656    var GetMethod = function GetMethod(O, P) {
8657    	var func = O[P];
8658    	if (func !== null && typeof func !== 'undefined') {
8659    		if (!isCallable(func)) {
8660    			throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');
8661    		}
8662    		return func;
8663    	}
8664    	return void 0;
8665    };
8666
8667    // http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive
8668    var es2015 = function ToPrimitive(input) {
8669    	if (isPrimitive(input)) {
8670    		return input;
8671    	}
8672    	var hint = 'default';
8673    	if (arguments.length > 1) {
8674    		if (arguments[1] === String) {
8675    			hint = 'string';
8676    		} else if (arguments[1] === Number) {
8677    			hint = 'number';
8678    		}
8679    	}
8680
8681    	var exoticToPrim;
8682    	if (hasSymbols$3) {
8683    		if (Symbol.toPrimitive) {
8684    			exoticToPrim = GetMethod(input, Symbol.toPrimitive);
8685    		} else if (isSymbol(input)) {
8686    			exoticToPrim = Symbol.prototype.valueOf;
8687    		}
8688    	}
8689    	if (typeof exoticToPrim !== 'undefined') {
8690    		var result = exoticToPrim.call(input, hint);
8691    		if (isPrimitive(result)) {
8692    			return result;
8693    		}
8694    		throw new TypeError('unable to convert exotic object to primitive');
8695    	}
8696    	if (hint === 'default' && (isDateObject(input) || isSymbol(input))) {
8697    		hint = 'string';
8698    	}
8699    	return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);
8700    };
8701
8702    // https://ecma-international.org/ecma-262/6.0/#sec-toprimitive
8703
8704    var ToPrimitive$1 = function ToPrimitive(input) {
8705    	if (arguments.length > 1) {
8706    		return es2015(input, arguments[1]);
8707    	}
8708    	return es2015(input);
8709    };
8710
8711    var $TypeError$3 = getIntrinsic('%TypeError%');
8712    var $Number = getIntrinsic('%Number%');
8713    var $RegExp = getIntrinsic('%RegExp%');
8714    var $parseInteger = getIntrinsic('%parseInt%');
8715
8716
8717
8718
8719
8720    var $strSlice$1 = callBound('String.prototype.slice');
8721    var isBinary = regexTester(/^0b[01]+$/i);
8722    var isOctal = regexTester(/^0o[0-7]+$/i);
8723    var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i);
8724    var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
8725    var nonWSregex = new $RegExp('[' + nonWS + ']', 'g');
8726    var hasNonWS = regexTester(nonWSregex);
8727
8728    // whitespace from: https://es5.github.io/#x15.5.4.20
8729    // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
8730    var ws = [
8731    	'\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
8732    	'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
8733    	'\u2029\uFEFF'
8734    ].join('');
8735    var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
8736    var $replace$1 = callBound('String.prototype.replace');
8737    var $trim = function (value) {
8738    	return $replace$1(value, trimRegex, '');
8739    };
8740
8741
8742
8743    // https://ecma-international.org/ecma-262/6.0/#sec-tonumber
8744
8745    var ToNumber$1 = function ToNumber(argument) {
8746    	var value = isPrimitive$1(argument) ? argument : ToPrimitive$1(argument, $Number);
8747    	if (typeof value === 'symbol') {
8748    		throw new $TypeError$3('Cannot convert a Symbol value to a number');
8749    	}
8750    	if (typeof value === 'string') {
8751    		if (isBinary(value)) {
8752    			return ToNumber($parseInteger($strSlice$1(value, 2), 2));
8753    		} else if (isOctal(value)) {
8754    			return ToNumber($parseInteger($strSlice$1(value, 2), 8));
8755    		} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {
8756    			return NaN;
8757    		}
8758    		var trimmed = $trim(value);
8759    		if (trimmed !== value) {
8760    			return ToNumber(trimmed);
8761    		}
8762
8763    	}
8764    	return $Number(value);
8765    };
8766
8767    // https://ecma-international.org/ecma-262/6.0/#sec-tointeger
8768
8769    var ToInteger$1 = function ToInteger$1(value) {
8770    	var number = ToNumber$1(value);
8771    	return ToInteger(number);
8772    };
8773
8774    var implementation$2 = function repeat(count) {
8775    	var O = RequireObjectCoercible(this);
8776    	var string = ToString(O);
8777    	var n = ToInteger$1(count);
8778    	// Account for out-of-bounds indices
8779    	if (n < 0 || n == Infinity) {
8780    		throw RangeError('String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity');
8781    	}
8782
8783    	var result = '';
8784    	while (n) {
8785    		if (n % 2 == 1) {
8786    			result += string;
8787    		}
8788    		if (n > 1) {
8789    			string += string;
8790    		}
8791    		n >>= 1;
8792    	}
8793    	return result;
8794    };
8795
8796    var polyfill = function getPolyfill() {
8797    	return String.prototype.repeat || implementation$2;
8798    };
8799
8800    var shim = function shimRepeat() {
8801    	var polyfill$1 = polyfill();
8802
8803    	if (String.prototype.repeat !== polyfill$1) {
8804    		defineProperties_1(String.prototype, { repeat: polyfill$1 });
8805    	}
8806
8807    	return polyfill$1;
8808    };
8809
8810    var boundRepeat = callBind$1(polyfill());
8811
8812    defineProperties_1(boundRepeat, {
8813    	getPolyfill: polyfill,
8814    	implementation: implementation$2,
8815    	shim: shim
8816    });
8817
8818    var normalizeURI$1 = normalizeURI;
8819    var unescapeString$1 = unescapeString;
8820
8821    // Constants for character codes:
8822
8823    var C_NEWLINE = 10;
8824    var C_ASTERISK = 42;
8825    var C_UNDERSCORE = 95;
8826    var C_BACKTICK = 96;
8827    var C_OPEN_BRACKET = 91;
8828    var C_CLOSE_BRACKET = 93;
8829    var C_LESSTHAN = 60;
8830    var C_BANG = 33;
8831    var C_BACKSLASH$1 = 92;
8832    var C_AMPERSAND = 38;
8833    var C_OPEN_PAREN = 40;
8834    var C_CLOSE_PAREN = 41;
8835    var C_COLON = 58;
8836    var C_SINGLEQUOTE = 39;
8837    var C_DOUBLEQUOTE = 34;
8838
8839    // Some regexps used in inline parser:
8840
8841    var ESCAPABLE$1 = ESCAPABLE;
8842    var ESCAPED_CHAR = "\\\\" + ESCAPABLE$1;
8843
8844    var ENTITY$1 = ENTITY;
8845    var reHtmlTag$1 = reHtmlTag;
8846
8847    var rePunctuation = new RegExp(
8848        /^[!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~\p{P}\p{S}]/u);
8849
8850    var reLinkTitle = new RegExp(
8851        '^(?:"(' +
8852            ESCAPED_CHAR +
8853            '|\\\\[^\\\\]' +
8854            '|[^\\\\"\\x00])*"' +
8855            "|" +
8856            "'(" +
8857            ESCAPED_CHAR +
8858            '|\\\\[^\\\\]' +
8859            "|[^\\\\'\\x00])*'" +
8860            "|" +
8861            "\\((" +
8862            ESCAPED_CHAR +
8863            '|\\\\[^\\\\]' +
8864            "|[^\\\\()\\x00])*\\))"
8865    );
8866
8867    var reLinkDestinationBraces = /^(?:<(?:[^<>\n\\\x00]|\\.)*>)/;
8868
8869    var reEscapable = new RegExp("^" + ESCAPABLE$1);
8870
8871    var reEntityHere = new RegExp("^" + ENTITY$1, "i");
8872
8873    var reTicks = /`+/;
8874
8875    var reTicksHere = /^`+/;
8876
8877    var reEllipses = /\.\.\./g;
8878
8879    var reDash = /--+/g;
8880
8881    var reEmailAutolink = /^<([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])?)*)>/;
8882
8883    var reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i;
8884
8885    var reSpnl = /^ *(?:\n *)?/;
8886
8887    var reWhitespaceChar = /^[ \t\n\x0b\x0c\x0d]/;
8888
8889    var reUnicodeWhitespaceChar = /^\s/;
8890
8891    var reFinalSpace = / *$/;
8892
8893    var reInitialSpace = /^ */;
8894
8895    var reSpaceAtEndOfLine = /^ *(?:\n|$)/;
8896
8897    var reLinkLabel = /^\[(?:[^\\\[\]]|\\.){0,1000}\]/s;
8898
8899    // Matches a string of non-special characters.
8900    var reMain = /^[^\n`\[\]\\!<&*_'"]+/m;
8901
8902    var text = function(s) {
8903        var node = new Node("text");
8904        node._literal = s;
8905        return node;
8906    };
8907
8908    // normalize a reference in reference link (remove []s, trim,
8909    // collapse internal space, unicode case fold.
8910    // See commonmark/commonmark.js#168.
8911    var normalizeReference = function(string) {
8912        return string
8913            .slice(1, string.length - 1)
8914            .trim()
8915            .replace(/[ \t\r\n]+/g, " ")
8916            .toLowerCase()
8917            .toUpperCase();
8918    };
8919
8920    // INLINE PARSER
8921
8922    // These are methods of an InlineParser object, defined below.
8923    // An InlineParser keeps track of a subject (a string to be
8924    // parsed) and a position in that subject.
8925
8926    // If re matches at current position in the subject, advance
8927    // position in subject and return the match; otherwise return null.
8928    var match = function(re) {
8929        var m = re.exec(this.subject.slice(this.pos));
8930        if (m === null) {
8931            return null;
8932        } else {
8933            this.pos += m.index + m[0].length;
8934            return m[0];
8935        }
8936    };
8937
8938    // Returns the code for the character at the current subject position, or -1
8939    // there are no more characters.
8940    var peek = function() {
8941        if (this.pos < this.subject.length) {
8942            return this.subject.charCodeAt(this.pos);
8943        } else {
8944            return -1;
8945        }
8946    };
8947
8948    // Parse zero or more space characters, including at most one newline
8949    var spnl = function() {
8950        this.match(reSpnl);
8951        return true;
8952    };
8953
8954    // All of the parsers below try to match something at the current position
8955    // in the subject.  If they succeed in matching anything, they
8956    // return the inline matched, advancing the subject.
8957
8958    // Attempt to parse backticks, adding either a backtick code span or a
8959    // literal sequence of backticks.
8960    var parseBackticks = function(block) {
8961        var ticks = this.match(reTicksHere);
8962        if (ticks === null) {
8963            return false;
8964        }
8965        var afterOpenTicks = this.pos;
8966        var matched;
8967        var node;
8968        var contents;
8969        while ((matched = this.match(reTicks)) !== null) {
8970            if (matched === ticks) {
8971                node = new Node("code");
8972                contents = this.subject
8973                    .slice(afterOpenTicks, this.pos - ticks.length)
8974                    .replace(/\n/gm, " ");
8975                if (
8976                    contents.length > 0 &&
8977                    contents.match(/[^ ]/) !== null &&
8978                    contents[0] == " " &&
8979                    contents[contents.length - 1] == " "
8980                ) {
8981                    node._literal = contents.slice(1, contents.length - 1);
8982                } else {
8983                    node._literal = contents;
8984                }
8985                block.appendChild(node);
8986                return true;
8987            }
8988        }
8989        // If we got here, we didn't match a closing backtick sequence.
8990        this.pos = afterOpenTicks;
8991        block.appendChild(text(ticks));
8992        return true;
8993    };
8994
8995    // Parse a backslash-escaped special character, adding either the escaped
8996    // character, a hard line break (if the backslash is followed by a newline),
8997    // or a literal backslash to the block's children.  Assumes current character
8998    // is a backslash.
8999    var parseBackslash = function(block) {
9000        var subj = this.subject;
9001        var node;
9002        this.pos += 1;
9003        if (this.peek() === C_NEWLINE) {
9004            this.pos += 1;
9005            node = new Node("linebreak");
9006            block.appendChild(node);
9007        } else if (reEscapable.test(subj.charAt(this.pos))) {
9008            block.appendChild(text(subj.charAt(this.pos)));
9009            this.pos += 1;
9010        } else {
9011            block.appendChild(text("\\"));
9012        }
9013        return true;
9014    };
9015
9016    // Attempt to parse an autolink (URL or email in pointy brackets).
9017    var parseAutolink = function(block) {
9018        var m;
9019        var dest;
9020        var node;
9021        if ((m = this.match(reEmailAutolink))) {
9022            dest = m.slice(1, m.length - 1);
9023            node = new Node("link");
9024            node._destination = normalizeURI$1("mailto:" + dest);
9025            node._title = "";
9026            node.appendChild(text(dest));
9027            block.appendChild(node);
9028            return true;
9029        } else if ((m = this.match(reAutolink))) {
9030            dest = m.slice(1, m.length - 1);
9031            node = new Node("link");
9032            node._destination = normalizeURI$1(dest);
9033            node._title = "";
9034            node.appendChild(text(dest));
9035            block.appendChild(node);
9036            return true;
9037        } else {
9038            return false;
9039        }
9040    };
9041
9042    // Attempt to parse a raw HTML tag.
9043    var parseHtmlTag = function(block) {
9044        var m = this.match(reHtmlTag$1);
9045        if (m === null) {
9046            return false;
9047        } else {
9048            var node = new Node("html_inline");
9049            node._literal = m;
9050            block.appendChild(node);
9051            return true;
9052        }
9053    };
9054
9055    // Scan a sequence of characters with code cc, and return information about
9056    // the number of delimiters and whether they are positioned such that
9057    // they can open and/or close emphasis or strong emphasis.  A utility
9058    // function for strong/emph parsing.
9059    var scanDelims = function(cc) {
9060        var numdelims = 0;
9061        var char_before, char_after, cc_after;
9062        var startpos = this.pos;
9063        var left_flanking, right_flanking, can_open, can_close;
9064        var after_is_whitespace,
9065            after_is_punctuation,
9066            before_is_whitespace,
9067            before_is_punctuation;
9068
9069        if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {
9070            numdelims++;
9071            this.pos++;
9072        } else {
9073            while (this.peek() === cc) {
9074                numdelims++;
9075                this.pos++;
9076            }
9077        }
9078
9079        if (numdelims === 0) {
9080            return null;
9081        }
9082
9083        char_before = startpos === 0 ? "\n" : this.subject.charAt(startpos - 1);
9084
9085        cc_after = this.peek();
9086        if (cc_after === -1) {
9087            char_after = "\n";
9088        } else {
9089            char_after = fromCodePoint(cc_after);
9090        }
9091
9092        after_is_whitespace = reUnicodeWhitespaceChar.test(char_after);
9093        after_is_punctuation = rePunctuation.test(char_after);
9094        before_is_whitespace = reUnicodeWhitespaceChar.test(char_before);
9095        before_is_punctuation = rePunctuation.test(char_before);
9096
9097        left_flanking =
9098            !after_is_whitespace &&
9099            (!after_is_punctuation ||
9100                before_is_whitespace ||
9101                before_is_punctuation);
9102        right_flanking =
9103            !before_is_whitespace &&
9104            (!before_is_punctuation || after_is_whitespace || after_is_punctuation);
9105        if (cc === C_UNDERSCORE) {
9106            can_open = left_flanking && (!right_flanking || before_is_punctuation);
9107            can_close = right_flanking && (!left_flanking || after_is_punctuation);
9108        } else if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {
9109            can_open = left_flanking && !right_flanking;
9110            can_close = right_flanking;
9111        } else {
9112            can_open = left_flanking;
9113            can_close = right_flanking;
9114        }
9115        this.pos = startpos;
9116        return { numdelims: numdelims, can_open: can_open, can_close: can_close };
9117    };
9118
9119    // Handle a delimiter marker for emphasis or a quote.
9120    var handleDelim = function(cc, block) {
9121        var res = this.scanDelims(cc);
9122        if (!res) {
9123            return false;
9124        }
9125        var numdelims = res.numdelims;
9126        var startpos = this.pos;
9127        var contents;
9128
9129        this.pos += numdelims;
9130        if (cc === C_SINGLEQUOTE) {
9131            contents = "\u2019";
9132        } else if (cc === C_DOUBLEQUOTE) {
9133            contents = "\u201C";
9134        } else {
9135            contents = this.subject.slice(startpos, this.pos);
9136        }
9137        var node = text(contents);
9138        block.appendChild(node);
9139
9140        // Add entry to stack for this opener
9141        if (
9142            (res.can_open || res.can_close) &&
9143            (this.options.smart || (cc !== C_SINGLEQUOTE && cc !== C_DOUBLEQUOTE))
9144        ) {
9145            this.delimiters = {
9146                cc: cc,
9147                numdelims: numdelims,
9148                origdelims: numdelims,
9149                node: node,
9150                previous: this.delimiters,
9151                next: null,
9152                can_open: res.can_open,
9153                can_close: res.can_close
9154            };
9155            if (this.delimiters.previous !== null) {
9156                this.delimiters.previous.next = this.delimiters;
9157            }
9158        }
9159
9160        return true;
9161    };
9162
9163    var removeDelimiter = function(delim) {
9164        if (delim.previous !== null) {
9165            delim.previous.next = delim.next;
9166        }
9167        if (delim.next === null) {
9168            // top of stack
9169            this.delimiters = delim.previous;
9170        } else {
9171            delim.next.previous = delim.previous;
9172        }
9173    };
9174
9175    var removeDelimitersBetween = function(bottom, top) {
9176        if (bottom.next !== top) {
9177            bottom.next = top;
9178            top.previous = bottom;
9179        }
9180    };
9181
9182    var processEmphasis = function(stack_bottom) {
9183        var opener, closer, old_closer;
9184        var opener_inl, closer_inl;
9185        var tempstack;
9186        var use_delims;
9187        var tmp, next;
9188        var opener_found;
9189        var openers_bottom = [];
9190        var openers_bottom_index;
9191        var odd_match = false;
9192
9193        for (var i = 0; i < 14; i++) {
9194            openers_bottom[i] = stack_bottom;
9195        }
9196        // find first closer above stack_bottom:
9197        closer = this.delimiters;
9198        while (closer !== null && closer.previous !== stack_bottom) {
9199            closer = closer.previous;
9200        }
9201        // move forward, looking for closers, and handling each
9202        while (closer !== null) {
9203            var closercc = closer.cc;
9204            if (!closer.can_close) {
9205                closer = closer.next;
9206            } else {
9207                // found emphasis closer. now look back for first matching opener:
9208                opener = closer.previous;
9209                opener_found = false;
9210                switch (closercc) {
9211                   case C_SINGLEQUOTE:
9212                     openers_bottom_index = 0;
9213                     break;
9214                   case C_DOUBLEQUOTE:
9215                     openers_bottom_index = 1;
9216                     break;
9217                   case C_UNDERSCORE:
9218                     openers_bottom_index = 2 + (closer.can_open ? 3 : 0)
9219                                              + (closer.origdelims % 3);
9220                     break;
9221                   case C_ASTERISK:
9222                     openers_bottom_index = 8 + (closer.can_open ? 3 : 0)
9223                                              + (closer.origdelims % 3);
9224                     break;
9225                }
9226                while (
9227                    opener !== null &&
9228                    opener !== stack_bottom &&
9229                    opener !== openers_bottom[openers_bottom_index]
9230                ) {
9231                    odd_match =
9232                        (closer.can_open || opener.can_close) &&
9233                        closer.origdelims % 3 !== 0 &&
9234                        (opener.origdelims + closer.origdelims) % 3 === 0;
9235                    if (opener.cc === closer.cc && opener.can_open && !odd_match) {
9236                        opener_found = true;
9237                        break;
9238                    }
9239                    opener = opener.previous;
9240                }
9241                old_closer = closer;
9242
9243                if (closercc === C_ASTERISK || closercc === C_UNDERSCORE) {
9244                    if (!opener_found) {
9245                        closer = closer.next;
9246                    } else {
9247                        // calculate actual number of delimiters used from closer
9248                        use_delims =
9249                            closer.numdelims >= 2 && opener.numdelims >= 2 ? 2 : 1;
9250
9251                        opener_inl = opener.node;
9252                        closer_inl = closer.node;
9253
9254                        // remove used delimiters from stack elts and inlines
9255                        opener.numdelims -= use_delims;
9256                        closer.numdelims -= use_delims;
9257                        opener_inl._literal = opener_inl._literal.slice(
9258                            0,
9259                            opener_inl._literal.length - use_delims
9260                        );
9261                        closer_inl._literal = closer_inl._literal.slice(
9262                            0,
9263                            closer_inl._literal.length - use_delims
9264                        );
9265
9266                        // build contents for new emph element
9267                        var emph = new Node(use_delims === 1 ? "emph" : "strong");
9268
9269                        tmp = opener_inl._next;
9270                        while (tmp && tmp !== closer_inl) {
9271                            next = tmp._next;
9272                            tmp.unlink();
9273                            emph.appendChild(tmp);
9274                            tmp = next;
9275                        }
9276
9277                        opener_inl.insertAfter(emph);
9278
9279                        // remove elts between opener and closer in delimiters stack
9280                        removeDelimitersBetween(opener, closer);
9281
9282                        // if opener has 0 delims, remove it and the inline
9283                        if (opener.numdelims === 0) {
9284                            opener_inl.unlink();
9285                            this.removeDelimiter(opener);
9286                        }
9287
9288                        if (closer.numdelims === 0) {
9289                            closer_inl.unlink();
9290                            tempstack = closer.next;
9291                            this.removeDelimiter(closer);
9292                            closer = tempstack;
9293                        }
9294                    }
9295                } else if (closercc === C_SINGLEQUOTE) {
9296                    closer.node._literal = "\u2019";
9297                    if (opener_found) {
9298                        opener.node._literal = "\u2018";
9299                    }
9300                    closer = closer.next;
9301                } else if (closercc === C_DOUBLEQUOTE) {
9302                    closer.node._literal = "\u201D";
9303                    if (opener_found) {
9304                        opener.node.literal = "\u201C";
9305                    }
9306                    closer = closer.next;
9307                }
9308                if (!opener_found) {
9309                    // Set lower bound for future searches for openers:
9310                    openers_bottom[openers_bottom_index] =
9311                        old_closer.previous;
9312                    if (!old_closer.can_open) {
9313                        // We can remove a closer that can't be an opener,
9314                        // once we've seen there's no matching opener:
9315                        this.removeDelimiter(old_closer);
9316                    }
9317                }
9318            }
9319        }
9320
9321        // remove all delimiters
9322        while (this.delimiters !== null && this.delimiters !== stack_bottom) {
9323            this.removeDelimiter(this.delimiters);
9324        }
9325    };
9326
9327    // Attempt to parse link title (sans quotes), returning the string
9328    // or null if no match.
9329    var parseLinkTitle = function() {
9330        var title = this.match(reLinkTitle);
9331        if (title === null) {
9332            return null;
9333        } else {
9334            // chop off quotes from title and unescape:
9335            return unescapeString$1(title.slice(1, -1));
9336        }
9337    };
9338
9339    // Attempt to parse link destination, returning the string or
9340    // null if no match.
9341    var parseLinkDestination = function() {
9342        var res = this.match(reLinkDestinationBraces);
9343        if (res === null) {
9344            if (this.peek() === C_LESSTHAN) {
9345                return null;
9346            }
9347            // TODO handrolled parser; res should be null or the string
9348            var savepos = this.pos;
9349            var openparens = 0;
9350            var c;
9351            while ((c = this.peek()) !== -1) {
9352                if (
9353                    c === C_BACKSLASH$1 &&
9354                    reEscapable.test(this.subject.charAt(this.pos + 1))
9355                ) {
9356                    this.pos += 1;
9357                    if (this.peek() !== -1) {
9358                        this.pos += 1;
9359                    }
9360                } else if (c === C_OPEN_PAREN) {
9361                    this.pos += 1;
9362                    openparens += 1;
9363                } else if (c === C_CLOSE_PAREN) {
9364                    if (openparens < 1) {
9365                        break;
9366                    } else {
9367                        this.pos += 1;
9368                        openparens -= 1;
9369                    }
9370                } else if (reWhitespaceChar.exec(fromCodePoint(c)) !== null) {
9371                    break;
9372                } else {
9373                    this.pos += 1;
9374                }
9375            }
9376            if (this.pos === savepos && c !== C_CLOSE_PAREN) {
9377                return null;
9378            }
9379            if (openparens !== 0) {
9380                return null;
9381            }
9382            res = this.subject.slice(savepos, this.pos);
9383            return normalizeURI$1(unescapeString$1(res));
9384        } else {
9385            // chop off surrounding <..>:
9386            return normalizeURI$1(unescapeString$1(res.slice(1, -1)));
9387        }
9388    };
9389
9390    // Attempt to parse a link label, returning number of characters parsed.
9391    var parseLinkLabel = function() {
9392        var m = this.match(reLinkLabel);
9393        if (m === null || m.length > 1001) {
9394            return 0;
9395        } else {
9396            return m.length;
9397        }
9398    };
9399
9400    // Add open bracket to delimiter stack and add a text node to block's children.
9401    var parseOpenBracket = function(block) {
9402        var startpos = this.pos;
9403        this.pos += 1;
9404
9405        var node = text("[");
9406        block.appendChild(node);
9407
9408        // Add entry to stack for this opener
9409        this.addBracket(node, startpos, false);
9410        return true;
9411    };
9412
9413    // IF next character is [, and ! delimiter to delimiter stack and
9414    // add a text node to block's children.  Otherwise just add a text node.
9415    var parseBang = function(block) {
9416        var startpos = this.pos;
9417        this.pos += 1;
9418        if (this.peek() === C_OPEN_BRACKET) {
9419            this.pos += 1;
9420
9421            var node = text("![");
9422            block.appendChild(node);
9423
9424            // Add entry to stack for this opener
9425            this.addBracket(node, startpos + 1, true);
9426        } else {
9427            block.appendChild(text("!"));
9428        }
9429        return true;
9430    };
9431
9432    // Try to match close bracket against an opening in the delimiter
9433    // stack.  Add either a link or image, or a plain [ character,
9434    // to block's children.  If there is a matching delimiter,
9435    // remove it from the delimiter stack.
9436    var parseCloseBracket = function(block) {
9437        var startpos;
9438        var is_image;
9439        var dest;
9440        var title;
9441        var matched = false;
9442        var reflabel;
9443        var opener;
9444
9445        this.pos += 1;
9446        startpos = this.pos;
9447
9448        // get last [ or ![
9449        opener = this.brackets;
9450
9451        if (opener === null) {
9452            // no matched opener, just return a literal
9453            block.appendChild(text("]"));
9454            return true;
9455        }
9456
9457        if (!opener.active) {
9458            // no matched opener, just return a literal
9459            block.appendChild(text("]"));
9460            // take opener off brackets stack
9461            this.removeBracket();
9462            return true;
9463        }
9464
9465        // If we got here, open is a potential opener
9466        is_image = opener.image;
9467
9468        // Check to see if we have a link/image
9469
9470        var savepos = this.pos;
9471
9472        // Inline link?
9473        if (this.peek() === C_OPEN_PAREN) {
9474            this.pos++;
9475            if (
9476                this.spnl() &&
9477                (dest = this.parseLinkDestination()) !== null &&
9478                this.spnl() &&
9479                // make sure there's a space before the title:
9480                ((reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) &&
9481                    (title = this.parseLinkTitle())) ||
9482                    true) &&
9483                this.spnl() &&
9484                this.peek() === C_CLOSE_PAREN
9485            ) {
9486                this.pos += 1;
9487                matched = true;
9488            } else {
9489                this.pos = savepos;
9490            }
9491        }
9492
9493        if (!matched) {
9494            // Next, see if there's a link label
9495            var beforelabel = this.pos;
9496            var n = this.parseLinkLabel();
9497            if (n > 2) {
9498                reflabel = this.subject.slice(beforelabel, beforelabel + n);
9499            } else if (!opener.bracketAfter) {
9500                // Empty or missing second label means to use the first label as the reference.
9501                // The reference must not contain a bracket. If we know there's a bracket, we don't even bother checking it.
9502                reflabel = this.subject.slice(opener.index, startpos);
9503            }
9504            if (n === 0) {
9505                // If shortcut reference link, rewind before spaces we skipped.
9506                this.pos = savepos;
9507            }
9508
9509            if (reflabel) {
9510                // lookup rawlabel in refmap
9511                var link = this.refmap[normalizeReference(reflabel)];
9512                if (link) {
9513                    dest = link.destination;
9514                    title = link.title;
9515                    matched = true;
9516                }
9517            }
9518        }
9519
9520        if (matched) {
9521            var node = new Node(is_image ? "image" : "link");
9522            node._destination = dest;
9523            node._title = title || "";
9524
9525            var tmp, next;
9526            tmp = opener.node._next;
9527            while (tmp) {
9528                next = tmp._next;
9529                tmp.unlink();
9530                node.appendChild(tmp);
9531                tmp = next;
9532            }
9533            block.appendChild(node);
9534            this.processEmphasis(opener.previousDelimiter);
9535            this.removeBracket();
9536            opener.node.unlink();
9537
9538            // We remove this bracket and processEmphasis will remove later delimiters.
9539            // Now, for a link, we also deactivate earlier link openers.
9540            // (no links in links)
9541            if (!is_image) {
9542                opener = this.brackets;
9543                while (opener !== null) {
9544                    if (!opener.image) {
9545                        opener.active = false; // deactivate this opener
9546                    }
9547                    opener = opener.previous;
9548                }
9549            }
9550
9551            return true;
9552        } else {
9553            // no match
9554
9555            this.removeBracket(); // remove this opener from stack
9556            this.pos = startpos;
9557            block.appendChild(text("]"));
9558            return true;
9559        }
9560    };
9561
9562    var addBracket = function(node, index, image) {
9563        if (this.brackets !== null) {
9564            this.brackets.bracketAfter = true;
9565        }
9566        this.brackets = {
9567            node: node,
9568            previous: this.brackets,
9569            previousDelimiter: this.delimiters,
9570            index: index,
9571            image: image,
9572            active: true
9573        };
9574    };
9575
9576    var removeBracket = function() {
9577        this.brackets = this.brackets.previous;
9578    };
9579
9580    // Attempt to parse an entity.
9581    var parseEntity = function(block) {
9582        var m;
9583        if ((m = this.match(reEntityHere))) {
9584            block.appendChild(text(lib_6(m)));
9585            return true;
9586        } else {
9587            return false;
9588        }
9589    };
9590
9591    // Parse a run of ordinary characters, or a single character with
9592    // a special meaning in markdown, as a plain string.
9593    var parseString = function(block) {
9594        var m;
9595        if ((m = this.match(reMain))) {
9596            if (this.options.smart) {
9597                block.appendChild(
9598                    text(
9599                        m
9600                            .replace(reEllipses, "\u2026")
9601                            .replace(reDash, function(chars) {
9602                                var enCount = 0;
9603                                var emCount = 0;
9604                                if (chars.length % 3 === 0) {
9605                                    // If divisible by 3, use all em dashes
9606                                    emCount = chars.length / 3;
9607                                } else if (chars.length % 2 === 0) {
9608                                    // If divisible by 2, use all en dashes
9609                                    enCount = chars.length / 2;
9610                                } else if (chars.length % 3 === 2) {
9611                                    // If 2 extra dashes, use en dash for last 2; em dashes for rest
9612                                    enCount = 1;
9613                                    emCount = (chars.length - 2) / 3;
9614                                } else {
9615                                    // Use en dashes for last 4 hyphens; em dashes for rest
9616                                    enCount = 2;
9617                                    emCount = (chars.length - 4) / 3;
9618                                }
9619                                return (
9620                                    "\u2014".repeat(emCount) +
9621                                    "\u2013".repeat(enCount)
9622                                );
9623                            })
9624                    )
9625                );
9626            } else {
9627                block.appendChild(text(m));
9628            }
9629            return true;
9630        } else {
9631            return false;
9632        }
9633    };
9634
9635    // Parse a newline.  If it was preceded by two spaces, return a hard
9636    // line break; otherwise a soft line break.
9637    var parseNewline = function(block) {
9638        this.pos += 1; // assume we're at a \n
9639        // check previous node for trailing spaces
9640        var lastc = block._lastChild;
9641        if (
9642            lastc &&
9643            lastc.type === "text" &&
9644            lastc._literal[lastc._literal.length - 1] === " "
9645        ) {
9646            var hardbreak = lastc._literal[lastc._literal.length - 2] === " ";
9647            lastc._literal = lastc._literal.replace(reFinalSpace, "");
9648            block.appendChild(new Node(hardbreak ? "linebreak" : "softbreak"));
9649        } else {
9650            block.appendChild(new Node("softbreak"));
9651        }
9652        this.match(reInitialSpace); // gobble leading spaces in next line
9653        return true;
9654    };
9655
9656    // Attempt to parse a link reference, modifying refmap.
9657    var parseReference = function(s, refmap) {
9658        this.subject = s;
9659        this.pos = 0;
9660        var rawlabel;
9661        var dest;
9662        var title;
9663        var matchChars;
9664        var startpos = this.pos;
9665
9666        // label:
9667        matchChars = this.parseLinkLabel();
9668        if (matchChars === 0) {
9669            return 0;
9670        } else {
9671            rawlabel = this.subject.slice(0, matchChars);
9672        }
9673
9674        // colon:
9675        if (this.peek() === C_COLON) {
9676            this.pos++;
9677        } else {
9678            this.pos = startpos;
9679            return 0;
9680        }
9681
9682        //  link url
9683        this.spnl();
9684
9685        dest = this.parseLinkDestination();
9686        if (dest === null) {
9687            this.pos = startpos;
9688            return 0;
9689        }
9690
9691        var beforetitle = this.pos;
9692        this.spnl();
9693        if (this.pos !== beforetitle) {
9694            title = this.parseLinkTitle();
9695        }
9696        if (title === null) {
9697            title = "";
9698            // rewind before spaces
9699            this.pos = beforetitle;
9700        }
9701
9702        // make sure we're at line end:
9703        var atLineEnd = true;
9704        if (this.match(reSpaceAtEndOfLine) === null) {
9705            if (title === "") {
9706                atLineEnd = false;
9707            } else {
9708                // the potential title we found is not at the line end,
9709                // but it could still be a legal link reference if we
9710                // discard the title
9711                title = "";
9712                // rewind before spaces
9713                this.pos = beforetitle;
9714                // and instead check if the link URL is at the line end
9715                atLineEnd = this.match(reSpaceAtEndOfLine) !== null;
9716            }
9717        }
9718
9719        if (!atLineEnd) {
9720            this.pos = startpos;
9721            return 0;
9722        }
9723
9724        var normlabel = normalizeReference(rawlabel);
9725        if (normlabel === "") {
9726            // label must contain non-whitespace characters
9727            this.pos = startpos;
9728            return 0;
9729        }
9730
9731        if (!refmap[normlabel]) {
9732            refmap[normlabel] = { destination: dest, title: title };
9733        }
9734        return this.pos - startpos;
9735    };
9736
9737    // Parse the next inline element in subject, advancing subject position.
9738    // On success, add the result to block's children and return true.
9739    // On failure, return false.
9740    var parseInline = function(block) {
9741        var res = false;
9742        var c = this.peek();
9743        if (c === -1) {
9744            return false;
9745        }
9746        switch (c) {
9747            case C_NEWLINE:
9748                res = this.parseNewline(block);
9749                break;
9750            case C_BACKSLASH$1:
9751                res = this.parseBackslash(block);
9752                break;
9753            case C_BACKTICK:
9754                res = this.parseBackticks(block);
9755                break;
9756            case C_ASTERISK:
9757            case C_UNDERSCORE:
9758                res = this.handleDelim(c, block);
9759                break;
9760            case C_SINGLEQUOTE:
9761            case C_DOUBLEQUOTE:
9762                res = this.options.smart && this.handleDelim(c, block);
9763                break;
9764            case C_OPEN_BRACKET:
9765                res = this.parseOpenBracket(block);
9766                break;
9767            case C_BANG:
9768                res = this.parseBang(block);
9769                break;
9770            case C_CLOSE_BRACKET:
9771                res = this.parseCloseBracket(block);
9772                break;
9773            case C_LESSTHAN:
9774                res = this.parseAutolink(block) || this.parseHtmlTag(block);
9775                break;
9776            case C_AMPERSAND:
9777                res = this.parseEntity(block);
9778                break;
9779            default:
9780                res = this.parseString(block);
9781                break;
9782        }
9783        if (!res) {
9784            this.pos += 1;
9785            block.appendChild(text(fromCodePoint(c)));
9786        }
9787
9788        return true;
9789    };
9790
9791    // Parse string content in block into inline children,
9792    // using refmap to resolve references.
9793    var parseInlines = function(block) {
9794        this.subject = block._string_content.trim();
9795        this.pos = 0;
9796        this.delimiters = null;
9797        this.brackets = null;
9798        while (this.parseInline(block)) {}
9799        block._string_content = null; // allow raw string to be garbage collected
9800        this.processEmphasis(null);
9801    };
9802
9803    // The InlineParser object.
9804    function InlineParser(options) {
9805        return {
9806            subject: "",
9807            delimiters: null, // used by handleDelim method
9808            brackets: null,
9809            pos: 0,
9810            refmap: {},
9811            match: match,
9812            peek: peek,
9813            spnl: spnl,
9814            parseBackticks: parseBackticks,
9815            parseBackslash: parseBackslash,
9816            parseAutolink: parseAutolink,
9817            parseHtmlTag: parseHtmlTag,
9818            scanDelims: scanDelims,
9819            handleDelim: handleDelim,
9820            parseLinkTitle: parseLinkTitle,
9821            parseLinkDestination: parseLinkDestination,
9822            parseLinkLabel: parseLinkLabel,
9823            parseOpenBracket: parseOpenBracket,
9824            parseBang: parseBang,
9825            parseCloseBracket: parseCloseBracket,
9826            addBracket: addBracket,
9827            removeBracket: removeBracket,
9828            parseEntity: parseEntity,
9829            parseString: parseString,
9830            parseNewline: parseNewline,
9831            parseReference: parseReference,
9832            parseInline: parseInline,
9833            processEmphasis: processEmphasis,
9834            removeDelimiter: removeDelimiter,
9835            options: options || {},
9836            parse: parseInlines
9837        };
9838    }
9839
9840    var CODE_INDENT = 4;
9841
9842    var C_TAB = 9;
9843    var C_NEWLINE$1 = 10;
9844    var C_GREATERTHAN = 62;
9845    var C_LESSTHAN$1 = 60;
9846    var C_SPACE = 32;
9847    var C_OPEN_BRACKET$1 = 91;
9848
9849    var reHtmlBlockOpen = [
9850        /./, // dummy for 0
9851        /^<(?:script|pre|textarea|style)(?:\s|>|$)/i,
9852        /^<!--/,
9853        /^<[?]/,
9854        /^<![A-Za-z]/,
9855        /^<!\[CDATA\[/,
9856        /^<[/]?(?: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[123456]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|[/]?[>]|$)/i,
9857        new RegExp("^(?:" + OPENTAG + "|" + CLOSETAG + ")\\s*$", "i")
9858    ];
9859
9860    var reHtmlBlockClose = [
9861        /./, // dummy for 0
9862        /<\/(?:script|pre|textarea|style)>/i,
9863        /-->/,
9864        /\?>/,
9865        />/,
9866        /\]\]>/
9867    ];
9868
9869    var reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
9870
9871    var reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
9872
9873    var reNonSpace = /[^ \t\f\v\r\n]/;
9874
9875    var reBulletListMarker = /^[*+-]/;
9876
9877    var reOrderedListMarker = /^(\d{1,9})([.)])/;
9878
9879    var reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
9880
9881    var reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
9882
9883    var reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
9884
9885    var reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
9886
9887    var reLineEnding = /\r\n|\n|\r/;
9888
9889    // Returns true if string contains only space characters.
9890    var isBlank = function(s) {
9891        return !reNonSpace.test(s);
9892    };
9893
9894    var isSpaceOrTab = function(c) {
9895        return c === C_SPACE || c === C_TAB;
9896    };
9897
9898    var peek$1 = function(ln, pos) {
9899        if (pos < ln.length) {
9900            return ln.charCodeAt(pos);
9901        } else {
9902            return -1;
9903        }
9904    };
9905
9906    // DOC PARSER
9907
9908    // These are methods of a Parser object, defined below.
9909
9910    // Returns true if block ends with a blank line.
9911    var endsWithBlankLine = function(block) {
9912        return block.next &&
9913            block.sourcepos[1][0] !== block.next.sourcepos[0][0] - 1;
9914    };
9915
9916    // Add a line to the block at the tip.  We assume the tip
9917    // can accept lines -- that check should be done before calling this.
9918    var addLine = function() {
9919        if (this.partiallyConsumedTab) {
9920            this.offset += 1; // skip over tab
9921            // add space characters:
9922            var charsToTab = 4 - (this.column % 4);
9923            this.tip._string_content += " ".repeat(charsToTab);
9924        }
9925        this.tip._string_content += this.currentLine.slice(this.offset) + "\n";
9926    };
9927
9928    // Add block of type tag as a child of the tip.  If the tip can't
9929    // accept children, close and finalize it and try its parent,
9930    // and so on til we find a block that can accept children.
9931    var addChild = function(tag, offset) {
9932        while (!this.blocks[this.tip.type].canContain(tag)) {
9933            this.finalize(this.tip, this.lineNumber - 1);
9934        }
9935
9936        var column_number = offset + 1; // offset 0 = column 1
9937        var newBlock = new Node(tag, [
9938            [this.lineNumber, column_number],
9939            [0, 0]
9940        ]);
9941        newBlock._string_content = "";
9942        this.tip.appendChild(newBlock);
9943        this.tip = newBlock;
9944        return newBlock;
9945    };
9946
9947    // Parse a list marker and return data on the marker (type,
9948    // start, delimiter, bullet character, padding) or null.
9949    var parseListMarker = function(parser, container) {
9950        var rest = parser.currentLine.slice(parser.nextNonspace);
9951        var match;
9952        var nextc;
9953        var spacesStartCol;
9954        var spacesStartOffset;
9955        var data = {
9956            type: null,
9957            tight: true, // lists are tight by default
9958            bulletChar: null,
9959            start: null,
9960            delimiter: null,
9961            padding: null,
9962            markerOffset: parser.indent
9963        };
9964        if (parser.indent >= 4) {
9965            return null;
9966        }
9967        if ((match = rest.match(reBulletListMarker))) {
9968            data.type = "bullet";
9969            data.bulletChar = match[0][0];
9970        } else if (
9971            (match = rest.match(reOrderedListMarker)) &&
9972            (container.type !== "paragraph" || match[1] == 1)
9973        ) {
9974            data.type = "ordered";
9975            data.start = parseInt(match[1]);
9976            data.delimiter = match[2];
9977        } else {
9978            return null;
9979        }
9980        // make sure we have spaces after
9981        nextc = peek$1(parser.currentLine, parser.nextNonspace + match[0].length);
9982        if (!(nextc === -1 || nextc === C_TAB || nextc === C_SPACE)) {
9983            return null;
9984        }
9985
9986        // if it interrupts paragraph, make sure first line isn't blank
9987        if (
9988            container.type === "paragraph" &&
9989            !parser.currentLine
9990                .slice(parser.nextNonspace + match[0].length)
9991                .match(reNonSpace)
9992        ) {
9993            return null;
9994        }
9995
9996        // we've got a match! advance offset and calculate padding
9997        parser.advanceNextNonspace(); // to start of marker
9998        parser.advanceOffset(match[0].length, true); // to end of marker
9999        spacesStartCol = parser.column;
10000        spacesStartOffset = parser.offset;
10001        do {
10002            parser.advanceOffset(1, true);
10003            nextc = peek$1(parser.currentLine, parser.offset);
10004        } while (parser.column - spacesStartCol < 5 && isSpaceOrTab(nextc));
10005        var blank_item = peek$1(parser.currentLine, parser.offset) === -1;
10006        var spaces_after_marker = parser.column - spacesStartCol;
10007        if (spaces_after_marker >= 5 || spaces_after_marker < 1 || blank_item) {
10008            data.padding = match[0].length + 1;
10009            parser.column = spacesStartCol;
10010            parser.offset = spacesStartOffset;
10011            if (isSpaceOrTab(peek$1(parser.currentLine, parser.offset))) {
10012                parser.advanceOffset(1, true);
10013            }
10014        } else {
10015            data.padding = match[0].length + spaces_after_marker;
10016        }
10017        return data;
10018    };
10019
10020    // Returns true if the two list items are of the same type,
10021    // with the same delimiter and bullet character.  This is used
10022    // in agglomerating list items into lists.
10023    var listsMatch = function(list_data, item_data) {
10024        return (
10025            list_data.type === item_data.type &&
10026            list_data.delimiter === item_data.delimiter &&
10027            list_data.bulletChar === item_data.bulletChar
10028        );
10029    };
10030
10031    // Finalize and close any unmatched blocks.
10032    var closeUnmatchedBlocks = function() {
10033        if (!this.allClosed) {
10034            // finalize any blocks not matched
10035            while (this.oldtip !== this.lastMatchedContainer) {
10036                var parent = this.oldtip._parent;
10037                this.finalize(this.oldtip, this.lineNumber - 1);
10038                this.oldtip = parent;
10039            }
10040            this.allClosed = true;
10041        }
10042    };
10043
10044    // Remove link reference definitions from given tree.
10045    var removeLinkReferenceDefinitions = function(parser, tree) {
10046        var event, node;
10047        var walker = tree.walker();
10048        var emptyNodes = [];
10049
10050        while ((event = walker.next())) {
10051            node = event.node;
10052            if (event.entering && node.type === "paragraph") {
10053                var pos;
10054                var hasReferenceDefs = false;
10055
10056                // Try parsing the beginning as link reference definitions;
10057                // Note that link reference definitions must be the beginning of a
10058                // paragraph node since link reference definitions cannot interrupt
10059                // paragraphs.
10060                while (
10061                    peek$1(node._string_content, 0) === C_OPEN_BRACKET$1 &&
10062                        (pos = parser.inlineParser.parseReference(
10063                            node._string_content,
10064                            parser.refmap
10065                        ))
10066                ) {
10067                    const removedText = node._string_content.slice(0, pos);
10068
10069                    node._string_content = node._string_content.slice(pos);
10070                    hasReferenceDefs = true;
10071
10072                    const lines = removedText.split("\n");
10073
10074                    // -1 for final newline.
10075                    node.sourcepos[0][0] += lines.length - 1;
10076                }
10077                if (hasReferenceDefs && isBlank(node._string_content)) {
10078                    emptyNodes.push(node);
10079                }
10080            }
10081        }
10082
10083        for (node of emptyNodes) {
10084            node.unlink();
10085        }
10086    };
10087
10088    // 'finalize' is run when the block is closed.
10089    // 'continue' is run to check whether the block is continuing
10090    // at a certain line and offset (e.g. whether a block quote
10091    // contains a `>`.  It returns 0 for matched, 1 for not matched,
10092    // and 2 for "we've dealt with this line completely, go to next."
10093    var blocks = {
10094        document: {
10095            continue: function() {
10096                return 0;
10097            },
10098            finalize: function(parser, block) {
10099                removeLinkReferenceDefinitions(parser, block);
10100                return;
10101            },
10102            canContain: function(t) {
10103                return t !== "item";
10104            },
10105            acceptsLines: false
10106        },
10107        list: {
10108            continue: function() {
10109                return 0;
10110            },
10111            finalize: function(parser, block) {
10112                var item = block._firstChild;
10113                while (item) {
10114                    // check for non-final list item ending with blank line:
10115                    if (item._next && endsWithBlankLine(item)) {
10116                        block._listData.tight = false;
10117                        break;
10118                    }
10119                    // recurse into children of list item, to see if there are
10120                    // spaces between any of them:
10121                    var subitem = item._firstChild;
10122                    while (subitem) {
10123                        if (
10124                            subitem._next &&
10125                            endsWithBlankLine(subitem)
10126                        ) {
10127                            block._listData.tight = false;
10128                            break;
10129                        }
10130                        subitem = subitem._next;
10131                    }
10132                    item = item._next;
10133                }
10134                block.sourcepos[1] = block._lastChild.sourcepos[1];
10135            },
10136            canContain: function(t) {
10137                return t === "item";
10138            },
10139            acceptsLines: false
10140        },
10141        block_quote: {
10142            continue: function(parser) {
10143                var ln = parser.currentLine;
10144                if (
10145                    !parser.indented &&
10146                    peek$1(ln, parser.nextNonspace) === C_GREATERTHAN
10147                ) {
10148                    parser.advanceNextNonspace();
10149                    parser.advanceOffset(1, false);
10150                    if (isSpaceOrTab(peek$1(ln, parser.offset))) {
10151                        parser.advanceOffset(1, true);
10152                    }
10153                } else {
10154                    return 1;
10155                }
10156                return 0;
10157            },
10158            finalize: function() {
10159                return;
10160            },
10161            canContain: function(t) {
10162                return t !== "item";
10163            },
10164            acceptsLines: false
10165        },
10166        item: {
10167            continue: function(parser, container) {
10168                if (parser.blank) {
10169                    if (container._firstChild == null) {
10170                        // Blank line after empty list item
10171                        return 1;
10172                    } else {
10173                        parser.advanceNextNonspace();
10174                    }
10175                } else if (
10176                    parser.indent >=
10177                    container._listData.markerOffset + container._listData.padding
10178                ) {
10179                    parser.advanceOffset(
10180                        container._listData.markerOffset +
10181                            container._listData.padding,
10182                        true
10183                    );
10184                } else {
10185                    return 1;
10186                }
10187                return 0;
10188            },
10189            finalize: function(parser, block) {
10190                if (block._lastChild) {
10191                    block.sourcepos[1] = block._lastChild.sourcepos[1];
10192                } else {
10193                    // Empty list item
10194                    block.sourcepos[1][0] = block.sourcepos[0][0];
10195                    block.sourcepos[1][1] =
10196                        block._listData.markerOffset + block._listData.padding;
10197                }
10198
10199                return;
10200            },
10201            canContain: function(t) {
10202                return t !== "item";
10203            },
10204            acceptsLines: false
10205        },
10206        heading: {
10207            continue: function() {
10208                // a heading can never container > 1 line, so fail to match:
10209                return 1;
10210            },
10211            finalize: function() {
10212                return;
10213            },
10214            canContain: function() {
10215                return false;
10216            },
10217            acceptsLines: false
10218        },
10219        thematic_break: {
10220            continue: function() {
10221                // a thematic break can never container > 1 line, so fail to match:
10222                return 1;
10223            },
10224            finalize: function() {
10225                return;
10226            },
10227            canContain: function() {
10228                return false;
10229            },
10230            acceptsLines: false
10231        },
10232        code_block: {
10233            continue: function(parser, container) {
10234                var ln = parser.currentLine;
10235                var indent = parser.indent;
10236                if (container._isFenced) {
10237                    // fenced
10238                    var match =
10239                        indent <= 3 &&
10240                        ln.charAt(parser.nextNonspace) === container._fenceChar &&
10241                        ln.slice(parser.nextNonspace).match(reClosingCodeFence);
10242                    if (match && match[0].length >= container._fenceLength) {
10243                        // closing fence - we're at end of line, so we can return
10244                        parser.lastLineLength =
10245                            parser.offset + indent + match[0].length;
10246                        parser.finalize(container, parser.lineNumber);
10247                        return 2;
10248                    } else {
10249                        // skip optional spaces of fence offset
10250                        var i = container._fenceOffset;
10251                        while (i > 0 && isSpaceOrTab(peek$1(ln, parser.offset))) {
10252                            parser.advanceOffset(1, true);
10253                            i--;
10254                        }
10255                    }
10256                } else {
10257                    // indented
10258                    if (indent >= CODE_INDENT) {
10259                        parser.advanceOffset(CODE_INDENT, true);
10260                    } else if (parser.blank) {
10261                        parser.advanceNextNonspace();
10262                    } else {
10263                        return 1;
10264                    }
10265                }
10266                return 0;
10267            },
10268            finalize: function(parser, block) {
10269                if (block._isFenced) {
10270                    // fenced
10271                    // first line becomes info string
10272                    var content = block._string_content;
10273                    var newlinePos = content.indexOf("\n");
10274                    var firstLine = content.slice(0, newlinePos);
10275                    var rest = content.slice(newlinePos + 1);
10276                    block.info = unescapeString(firstLine.trim());
10277                    block._literal = rest;
10278                } else {
10279                    // indented
10280                    var lines = block._string_content.split("\n");
10281                    // Note that indented code block cannot be empty, so
10282                    // lines.length cannot be zero.
10283                    while (/^[ \t]*$/.test(lines[lines.length - 1])) {
10284                        lines.pop();
10285                    }
10286                    block._literal = lines.join("\n") + "\n";
10287                    block.sourcepos[1][0] =
10288                        block.sourcepos[0][0] + lines.length - 1;
10289                    block.sourcepos[1][1] =
10290                        block.sourcepos[0][1] + lines[lines.length - 1].length - 1;
10291                }
10292                block._string_content = null; // allow GC
10293            },
10294            canContain: function() {
10295                return false;
10296            },
10297            acceptsLines: true
10298        },
10299        html_block: {
10300            continue: function(parser, container) {
10301                return parser.blank &&
10302                    (container._htmlBlockType === 6 ||
10303                        container._htmlBlockType === 7)
10304                    ? 1
10305                    : 0;
10306            },
10307            finalize: function(parser, block) {
10308                block._literal = block._string_content.replace(/\n$/, '');
10309                block._string_content = null; // allow GC
10310            },
10311            canContain: function() {
10312                return false;
10313            },
10314            acceptsLines: true
10315        },
10316        paragraph: {
10317            continue: function(parser) {
10318                return parser.blank ? 1 : 0;
10319            },
10320            finalize: function() {
10321                return;
10322            },
10323            canContain: function() {
10324                return false;
10325            },
10326            acceptsLines: true
10327        }
10328    };
10329
10330    // block start functions.  Return values:
10331    // 0 = no match
10332    // 1 = matched container, keep going
10333    // 2 = matched leaf, no more block starts
10334    var blockStarts = [
10335        // block quote
10336        function(parser) {
10337            if (
10338                !parser.indented &&
10339                peek$1(parser.currentLine, parser.nextNonspace) === C_GREATERTHAN
10340            ) {
10341                parser.advanceNextNonspace();
10342                parser.advanceOffset(1, false);
10343                // optional following space
10344                if (isSpaceOrTab(peek$1(parser.currentLine, parser.offset))) {
10345                    parser.advanceOffset(1, true);
10346                }
10347                parser.closeUnmatchedBlocks();
10348                parser.addChild("block_quote", parser.nextNonspace);
10349                return 1;
10350            } else {
10351                return 0;
10352            }
10353        },
10354
10355        // ATX heading
10356        function(parser) {
10357            var match;
10358            if (
10359                !parser.indented &&
10360                (match = parser.currentLine
10361                    .slice(parser.nextNonspace)
10362                    .match(reATXHeadingMarker))
10363            ) {
10364                parser.advanceNextNonspace();
10365                parser.advanceOffset(match[0].length, false);
10366                parser.closeUnmatchedBlocks();
10367                var container = parser.addChild("heading", parser.nextNonspace);
10368                container.level = match[0].trim().length; // number of #s
10369                // remove trailing ###s:
10370                container._string_content = parser.currentLine
10371                    .slice(parser.offset)
10372                    .replace(/^[ \t]*#+[ \t]*$/, "")
10373                    .replace(/[ \t]+#+[ \t]*$/, "");
10374                parser.advanceOffset(parser.currentLine.length - parser.offset);
10375                return 2;
10376            } else {
10377                return 0;
10378            }
10379        },
10380
10381        // Fenced code block
10382        function(parser) {
10383            var match;
10384            if (
10385                !parser.indented &&
10386                (match = parser.currentLine
10387                    .slice(parser.nextNonspace)
10388                    .match(reCodeFence))
10389            ) {
10390                var fenceLength = match[0].length;
10391                parser.closeUnmatchedBlocks();
10392                var container = parser.addChild("code_block", parser.nextNonspace);
10393                container._isFenced = true;
10394                container._fenceLength = fenceLength;
10395                container._fenceChar = match[0][0];
10396                container._fenceOffset = parser.indent;
10397                parser.advanceNextNonspace();
10398                parser.advanceOffset(fenceLength, false);
10399                return 2;
10400            } else {
10401                return 0;
10402            }
10403        },
10404
10405        // HTML block
10406        function(parser, container) {
10407            if (
10408                !parser.indented &&
10409                peek$1(parser.currentLine, parser.nextNonspace) === C_LESSTHAN$1
10410            ) {
10411                var s = parser.currentLine.slice(parser.nextNonspace);
10412                var blockType;
10413
10414                for (blockType = 1; blockType <= 7; blockType++) {
10415                    if (
10416                        reHtmlBlockOpen[blockType].test(s) &&
10417                        (blockType < 7 || (container.type !== "paragraph" &&
10418                         !(!parser.allClosed && !parser.blank &&
10419                           parser.tip.type === "paragraph") // maybe lazy
10420                        ))
10421                    ) {
10422                        parser.closeUnmatchedBlocks();
10423                        // We don't adjust parser.offset;
10424                        // spaces are part of the HTML block:
10425                        var b = parser.addChild("html_block", parser.offset);
10426                        b._htmlBlockType = blockType;
10427                        return 2;
10428                    }
10429                }
10430            }
10431
10432            return 0;
10433        },
10434
10435        // Setext heading
10436        function(parser, container) {
10437            var match;
10438            if (
10439                !parser.indented &&
10440                container.type === "paragraph" &&
10441                (match = parser.currentLine
10442                    .slice(parser.nextNonspace)
10443                    .match(reSetextHeadingLine))
10444            ) {
10445                parser.closeUnmatchedBlocks();
10446                // resolve reference link definitiosn
10447                var pos;
10448                while (
10449                    peek$1(container._string_content, 0) === C_OPEN_BRACKET$1 &&
10450                    (pos = parser.inlineParser.parseReference(
10451                        container._string_content,
10452                        parser.refmap
10453                    ))
10454                ) {
10455                    container._string_content = container._string_content.slice(
10456                        pos
10457                    );
10458                }
10459                if (container._string_content.length > 0) {
10460                    var heading = new Node("heading", container.sourcepos);
10461                    heading.level = match[0][0] === "=" ? 1 : 2;
10462                    heading._string_content = container._string_content;
10463                    container.insertAfter(heading);
10464                    container.unlink();
10465                    parser.tip = heading;
10466                    parser.advanceOffset(
10467                        parser.currentLine.length - parser.offset,
10468                        false
10469                    );
10470                    return 2;
10471                } else {
10472                    return 0;
10473                }
10474            } else {
10475                return 0;
10476            }
10477        },
10478
10479        // thematic break
10480        function(parser) {
10481            if (
10482                !parser.indented &&
10483                reThematicBreak.test(parser.currentLine.slice(parser.nextNonspace))
10484            ) {
10485                parser.closeUnmatchedBlocks();
10486                parser.addChild("thematic_break", parser.nextNonspace);
10487                parser.advanceOffset(
10488                    parser.currentLine.length - parser.offset,
10489                    false
10490                );
10491                return 2;
10492            } else {
10493                return 0;
10494            }
10495        },
10496
10497        // list item
10498        function(parser, container) {
10499            var data;
10500
10501            if (
10502                (!parser.indented || container.type === "list") &&
10503                (data = parseListMarker(parser, container))
10504            ) {
10505                parser.closeUnmatchedBlocks();
10506
10507                // add the list if needed
10508                if (
10509                    parser.tip.type !== "list" ||
10510                    !listsMatch(container._listData, data)
10511                ) {
10512                    container = parser.addChild("list", parser.nextNonspace);
10513                    container._listData = data;
10514                }
10515
10516                // add the list item
10517                container = parser.addChild("item", parser.nextNonspace);
10518                container._listData = data;
10519                return 1;
10520            } else {
10521                return 0;
10522            }
10523        },
10524
10525        // indented code block
10526        function(parser) {
10527            if (
10528                parser.indented &&
10529                parser.tip.type !== "paragraph" &&
10530                !parser.blank
10531            ) {
10532                // indented code
10533                parser.advanceOffset(CODE_INDENT, true);
10534                parser.closeUnmatchedBlocks();
10535                parser.addChild("code_block", parser.offset);
10536                return 2;
10537            } else {
10538                return 0;
10539            }
10540        }
10541    ];
10542
10543    var advanceOffset = function(count, columns) {
10544        var currentLine = this.currentLine;
10545        var charsToTab, charsToAdvance;
10546        var c;
10547        while (count > 0 && (c = currentLine[this.offset])) {
10548            if (c === "\t") {
10549                charsToTab = 4 - (this.column % 4);
10550                if (columns) {
10551                    this.partiallyConsumedTab = charsToTab > count;
10552                    charsToAdvance = charsToTab > count ? count : charsToTab;
10553                    this.column += charsToAdvance;
10554                    this.offset += this.partiallyConsumedTab ? 0 : 1;
10555                    count -= charsToAdvance;
10556                } else {
10557                    this.partiallyConsumedTab = false;
10558                    this.column += charsToTab;
10559                    this.offset += 1;
10560                    count -= 1;
10561                }
10562            } else {
10563                this.partiallyConsumedTab = false;
10564                this.offset += 1;
10565                this.column += 1; // assume ascii; block starts are ascii
10566                count -= 1;
10567            }
10568        }
10569    };
10570
10571    var advanceNextNonspace = function() {
10572        this.offset = this.nextNonspace;
10573        this.column = this.nextNonspaceColumn;
10574        this.partiallyConsumedTab = false;
10575    };
10576
10577    var findNextNonspace = function() {
10578        var currentLine = this.currentLine;
10579        var i = this.offset;
10580        var cols = this.column;
10581        var c;
10582
10583        while ((c = currentLine.charAt(i)) !== "") {
10584            if (c === " ") {
10585                i++;
10586                cols++;
10587            } else if (c === "\t") {
10588                i++;
10589                cols += 4 - (cols % 4);
10590            } else {
10591                break;
10592            }
10593        }
10594        this.blank = c === "\n" || c === "\r" || c === "";
10595        this.nextNonspace = i;
10596        this.nextNonspaceColumn = cols;
10597        this.indent = this.nextNonspaceColumn - this.column;
10598        this.indented = this.indent >= CODE_INDENT;
10599    };
10600
10601    // Analyze a line of text and update the document appropriately.
10602    // We parse markdown text by calling this on each line of input,
10603    // then finalizing the document.
10604    var incorporateLine = function(ln) {
10605        var all_matched = true;
10606        var t;
10607
10608        var container = this.doc;
10609        this.oldtip = this.tip;
10610        this.offset = 0;
10611        this.column = 0;
10612        this.blank = false;
10613        this.partiallyConsumedTab = false;
10614        this.lineNumber += 1;
10615
10616        // replace NUL characters for security
10617        if (ln.indexOf("\u0000") !== -1) {
10618            ln = ln.replace(/\0/g, "\uFFFD");
10619        }
10620
10621        this.currentLine = ln;
10622
10623        // For each containing block, try to parse the associated line start.
10624        // Bail out on failure: container will point to the last matching block.
10625        // Set all_matched to false if not all containers match.
10626        var lastChild;
10627        while ((lastChild = container._lastChild) && lastChild._open) {
10628            container = lastChild;
10629
10630            this.findNextNonspace();
10631
10632            switch (this.blocks[container.type].continue(this, container)) {
10633                case 0: // we've matched, keep going
10634                    break;
10635                case 1: // we've failed to match a block
10636                    all_matched = false;
10637                    break;
10638                case 2: // we've hit end of line for fenced code close and can return
10639                    return;
10640                default:
10641                    throw "continue returned illegal value, must be 0, 1, or 2";
10642            }
10643            if (!all_matched) {
10644                container = container._parent; // back up to last matching block
10645                break;
10646            }
10647        }
10648
10649        this.allClosed = container === this.oldtip;
10650        this.lastMatchedContainer = container;
10651
10652        var matchedLeaf =
10653            container.type !== "paragraph" && blocks[container.type].acceptsLines;
10654        var starts = this.blockStarts;
10655        var startsLen = starts.length;
10656        // Unless last matched container is a code block, try new container starts,
10657        // adding children to the last matched container:
10658        while (!matchedLeaf) {
10659            this.findNextNonspace();
10660
10661            // this is a little performance optimization:
10662            if (
10663                !this.indented &&
10664                !reMaybeSpecial.test(ln.slice(this.nextNonspace))
10665            ) {
10666                this.advanceNextNonspace();
10667                break;
10668            }
10669
10670            var i = 0;
10671            while (i < startsLen) {
10672                var res = starts[i](this, container);
10673                if (res === 1) {
10674                    container = this.tip;
10675                    break;
10676                } else if (res === 2) {
10677                    container = this.tip;
10678                    matchedLeaf = true;
10679                    break;
10680                } else {
10681                    i++;
10682                }
10683            }
10684
10685            if (i === startsLen) {
10686                // nothing matched
10687                this.advanceNextNonspace();
10688                break;
10689            }
10690        }
10691
10692        // What remains at the offset is a text line.  Add the text to the
10693        // appropriate container.
10694
10695        // First check for a lazy paragraph continuation:
10696        if (!this.allClosed && !this.blank && this.tip.type === "paragraph") {
10697            // lazy paragraph continuation
10698            this.addLine();
10699        } else {
10700            // not a lazy continuation
10701
10702            // finalize any blocks not matched
10703            this.closeUnmatchedBlocks();
10704
10705            t = container.type;
10706
10707            if (this.blocks[t].acceptsLines) {
10708                this.addLine();
10709                // if HtmlBlock, check for end condition
10710                if (
10711                    t === "html_block" &&
10712                    container._htmlBlockType >= 1 &&
10713                    container._htmlBlockType <= 5 &&
10714                    reHtmlBlockClose[container._htmlBlockType].test(
10715                        this.currentLine.slice(this.offset)
10716                    )
10717                ) {
10718                    this.lastLineLength = ln.length;
10719                    this.finalize(container, this.lineNumber);
10720                }
10721            } else if (this.offset < ln.length && !this.blank) {
10722                // create paragraph container for line
10723                container = this.addChild("paragraph", this.offset);
10724                this.advanceNextNonspace();
10725                this.addLine();
10726            }
10727        }
10728        this.lastLineLength = ln.length;
10729    };
10730
10731    // Finalize a block.  Close it and do any necessary postprocessing,
10732    // e.g. creating string_content from strings, setting the 'tight'
10733    // or 'loose' status of a list, and parsing the beginnings
10734    // of paragraphs for reference definitions.  Reset the tip to the
10735    // parent of the closed block.
10736    var finalize = function(block, lineNumber) {
10737        var above = block._parent;
10738        block._open = false;
10739        block.sourcepos[1] = [lineNumber, this.lastLineLength];
10740
10741        this.blocks[block.type].finalize(this, block);
10742
10743        this.tip = above;
10744    };
10745
10746    // Walk through a block & children recursively, parsing string content
10747    // into inline content where appropriate.
10748    var processInlines = function(block) {
10749        var node, event, t;
10750        var walker = block.walker();
10751        this.inlineParser.refmap = this.refmap;
10752        this.inlineParser.options = this.options;
10753        while ((event = walker.next())) {
10754            node = event.node;
10755            t = node.type;
10756            if (!event.entering && (t === "paragraph" || t === "heading")) {
10757                this.inlineParser.parse(node);
10758            }
10759        }
10760    };
10761
10762    var Document = function() {
10763        var doc = new Node("document", [
10764            [1, 1],
10765            [0, 0]
10766        ]);
10767        return doc;
10768    };
10769
10770    // The main parsing function.  Returns a parsed document AST.
10771    var parse = function(input) {
10772        this.doc = new Document();
10773        this.tip = this.doc;
10774        this.refmap = {};
10775        this.lineNumber = 0;
10776        this.lastLineLength = 0;
10777        this.offset = 0;
10778        this.column = 0;
10779        this.lastMatchedContainer = this.doc;
10780        this.currentLine = "";
10781        if (this.options.time) {
10782            console.time("preparing input");
10783        }
10784        var lines = input.split(reLineEnding);
10785        var len = lines.length;
10786        if (input.charCodeAt(input.length - 1) === C_NEWLINE$1) {
10787            // ignore last blank line created by final newline
10788            len -= 1;
10789        }
10790        if (this.options.time) {
10791            console.timeEnd("preparing input");
10792        }
10793        if (this.options.time) {
10794            console.time("block parsing");
10795        }
10796        for (var i = 0; i < len; i++) {
10797            this.incorporateLine(lines[i]);
10798        }
10799        while (this.tip) {
10800            this.finalize(this.tip, len);
10801        }
10802        if (this.options.time) {
10803            console.timeEnd("block parsing");
10804        }
10805        if (this.options.time) {
10806            console.time("inline parsing");
10807        }
10808        this.processInlines(this.doc);
10809        if (this.options.time) {
10810            console.timeEnd("inline parsing");
10811        }
10812        return this.doc;
10813    };
10814
10815    // The Parser object.
10816    function Parser(options) {
10817        return {
10818            doc: new Document(),
10819            blocks: blocks,
10820            blockStarts: blockStarts,
10821            tip: this.doc,
10822            oldtip: this.doc,
10823            currentLine: "",
10824            lineNumber: 0,
10825            offset: 0,
10826            column: 0,
10827            nextNonspace: 0,
10828            nextNonspaceColumn: 0,
10829            indent: 0,
10830            indented: false,
10831            blank: false,
10832            partiallyConsumedTab: false,
10833            allClosed: true,
10834            lastMatchedContainer: this.doc,
10835            refmap: {},
10836            lastLineLength: 0,
10837            inlineParser: new InlineParser(options),
10838            findNextNonspace: findNextNonspace,
10839            advanceOffset: advanceOffset,
10840            advanceNextNonspace: advanceNextNonspace,
10841            addLine: addLine,
10842            addChild: addChild,
10843            incorporateLine: incorporateLine,
10844            finalize: finalize,
10845            processInlines: processInlines,
10846            closeUnmatchedBlocks: closeUnmatchedBlocks,
10847            parse: parse,
10848            options: options || {}
10849        };
10850    }
10851
10852    function Renderer() {}
10853
10854    /**
10855     *  Walks the AST and calls member methods for each Node type.
10856     *
10857     *  @param ast {Node} The root of the abstract syntax tree.
10858     */
10859    function render(ast) {
10860        var walker = ast.walker(),
10861            event,
10862            type;
10863
10864        this.buffer = "";
10865        this.lastOut = "\n";
10866
10867        while ((event = walker.next())) {
10868            type = event.node.type;
10869            if (this[type]) {
10870                this[type](event.node, event.entering);
10871            }
10872        }
10873        return this.buffer;
10874    }
10875
10876    /**
10877     *  Concatenate a literal string to the buffer.
10878     *
10879     *  @param str {String} The string to concatenate.
10880     */
10881    function lit(str) {
10882        this.buffer += str;
10883        this.lastOut = str;
10884    }
10885
10886    /**
10887     *  Output a newline to the buffer.
10888     */
10889    function cr() {
10890        if (this.lastOut !== "\n") {
10891            this.lit("\n");
10892        }
10893    }
10894
10895    /**
10896     *  Concatenate a string to the buffer possibly escaping the content.
10897     *
10898     *  Concrete renderer implementations should override this method.
10899     *
10900     *  @param str {String} The string to concatenate.
10901     */
10902    function out(str) {
10903        this.lit(str);
10904    }
10905
10906    /**
10907     *  Escape a string for the target renderer.
10908     *
10909     *  Abstract function that should be implemented by concrete
10910     *  renderer implementations.
10911     *
10912     *  @param str {String} The string to escape.
10913     */
10914    function esc(str) {
10915        return str;
10916    }
10917
10918    Renderer.prototype.render = render;
10919    Renderer.prototype.out = out;
10920    Renderer.prototype.lit = lit;
10921    Renderer.prototype.cr = cr;
10922    Renderer.prototype.esc = esc;
10923
10924    var reUnsafeProtocol = /^javascript:|vbscript:|file:|data:/i;
10925    var reSafeDataProtocol = /^data:image\/(?:png|gif|jpeg|webp)/i;
10926
10927    var potentiallyUnsafe = function(url) {
10928        return reUnsafeProtocol.test(url) && !reSafeDataProtocol.test(url);
10929    };
10930
10931    // Helper function to produce an HTML tag.
10932    function tag(name, attrs, selfclosing) {
10933        if (this.disableTags > 0) {
10934            return;
10935        }
10936        this.buffer += "<" + name;
10937        if (attrs && attrs.length > 0) {
10938            var i = 0;
10939            var attrib;
10940            while ((attrib = attrs[i]) !== undefined) {
10941                this.buffer += " " + attrib[0] + '="' + attrib[1] + '"';
10942                i++;
10943            }
10944        }
10945        if (selfclosing) {
10946            this.buffer += " /";
10947        }
10948        this.buffer += ">";
10949        this.lastOut = ">";
10950    }
10951
10952    function HtmlRenderer(options) {
10953        options = options || {};
10954        // by default, soft breaks are rendered as newlines in HTML
10955        options.softbreak = options.softbreak || "\n";
10956        // set to "<br />" to make them hard breaks
10957        // set to " " if you want to ignore line wrapping in source
10958        this.esc = options.esc || escapeXml;
10959        // escape html with a custom function
10960        // else use escapeXml
10961
10962        this.disableTags = 0;
10963        this.lastOut = "\n";
10964        this.options = options;
10965    }
10966
10967    /* Node methods */
10968
10969    function text$1(node) {
10970        this.out(node.literal);
10971    }
10972
10973    function softbreak() {
10974        this.lit(this.options.softbreak);
10975    }
10976
10977    function linebreak() {
10978        this.tag("br", [], true);
10979        this.cr();
10980    }
10981
10982    function link(node, entering) {
10983        var attrs = this.attrs(node);
10984        if (entering) {
10985            if (!(this.options.safe && potentiallyUnsafe(node.destination))) {
10986                attrs.push(["href", this.esc(node.destination)]);
10987            }
10988            if (node.title) {
10989                attrs.push(["title", this.esc(node.title)]);
10990            }
10991            this.tag("a", attrs);
10992        } else {
10993            this.tag("/a");
10994        }
10995    }
10996
10997    function image$1(node, entering) {
10998        if (entering) {
10999            if (this.disableTags === 0) {
11000                if (this.options.safe && potentiallyUnsafe(node.destination)) {
11001                    this.lit('<img src="" alt="');
11002                } else {
11003                    this.lit('<img src="' + this.esc(node.destination) + '" alt="');
11004                }
11005            }
11006            this.disableTags += 1;
11007        } else {
11008            this.disableTags -= 1;
11009            if (this.disableTags === 0) {
11010                if (node.title) {
11011                    this.lit('" title="' + this.esc(node.title));
11012                }
11013                this.lit('" />');
11014            }
11015        }
11016    }
11017
11018    function emph(node, entering) {
11019        this.tag(entering ? "em" : "/em");
11020    }
11021
11022    function strong(node, entering) {
11023        this.tag(entering ? "strong" : "/strong");
11024    }
11025
11026    function paragraph(node, entering) {
11027        var grandparent = node.parent.parent,
11028            attrs = this.attrs(node);
11029        if (grandparent !== null && grandparent.type === "list") {
11030            if (grandparent.listTight) {
11031                return;
11032            }
11033        }
11034        if (entering) {
11035            this.cr();
11036            this.tag("p", attrs);
11037        } else {
11038            this.tag("/p");
11039            this.cr();
11040        }
11041    }
11042
11043    function heading(node, entering) {
11044        var tagname = "h" + node.level,
11045            attrs = this.attrs(node);
11046        if (entering) {
11047            this.cr();
11048            this.tag(tagname, attrs);
11049        } else {
11050            this.tag("/" + tagname);
11051            this.cr();
11052        }
11053    }
11054
11055    function code(node) {
11056        this.tag("code");
11057        this.out(node.literal);
11058        this.tag("/code");
11059    }
11060
11061    function code_block(node) {
11062        var info_words = node.info ? node.info.split(/\s+/) : [],
11063            attrs = this.attrs(node);
11064        if (info_words.length > 0 && info_words[0].length > 0) {
11065            var cls = this.esc(info_words[0]);
11066            if (!/^language-/.exec(cls)) {
11067              cls = "language-" + cls;
11068            }
11069            attrs.push(["class", cls]);
11070        }
11071        this.cr();
11072        this.tag("pre");
11073        this.tag("code", attrs);
11074        this.out(node.literal);
11075        this.tag("/code");
11076        this.tag("/pre");
11077        this.cr();
11078    }
11079
11080    function thematic_break(node) {
11081        var attrs = this.attrs(node);
11082        this.cr();
11083        this.tag("hr", attrs, true);
11084        this.cr();
11085    }
11086
11087    function block_quote(node, entering) {
11088        var attrs = this.attrs(node);
11089        if (entering) {
11090            this.cr();
11091            this.tag("blockquote", attrs);
11092            this.cr();
11093        } else {
11094            this.cr();
11095            this.tag("/blockquote");
11096            this.cr();
11097        }
11098    }
11099
11100    function list(node, entering) {
11101        var tagname = node.listType === "bullet" ? "ul" : "ol",
11102            attrs = this.attrs(node);
11103
11104        if (entering) {
11105            var start = node.listStart;
11106            if (start !== null && start !== 1) {
11107                attrs.push(["start", start.toString()]);
11108            }
11109            this.cr();
11110            this.tag(tagname, attrs);
11111            this.cr();
11112        } else {
11113            this.cr();
11114            this.tag("/" + tagname);
11115            this.cr();
11116        }
11117    }
11118
11119    function item(node, entering) {
11120        var attrs = this.attrs(node);
11121        if (entering) {
11122            this.tag("li", attrs);
11123        } else {
11124            this.tag("/li");
11125            this.cr();
11126        }
11127    }
11128
11129    function html_inline(node) {
11130        if (this.options.safe) {
11131            this.lit("<!-- raw HTML omitted -->");
11132        } else {
11133            this.lit(node.literal);
11134        }
11135    }
11136
11137    function html_block(node) {
11138        this.cr();
11139        if (this.options.safe) {
11140            this.lit("<!-- raw HTML omitted -->");
11141        } else {
11142            this.lit(node.literal);
11143        }
11144        this.cr();
11145    }
11146
11147    function custom_inline(node, entering) {
11148        if (entering && node.onEnter) {
11149            this.lit(node.onEnter);
11150        } else if (!entering && node.onExit) {
11151            this.lit(node.onExit);
11152        }
11153    }
11154
11155    function custom_block(node, entering) {
11156        this.cr();
11157        if (entering && node.onEnter) {
11158            this.lit(node.onEnter);
11159        } else if (!entering && node.onExit) {
11160            this.lit(node.onExit);
11161        }
11162        this.cr();
11163    }
11164
11165    /* Helper methods */
11166
11167    function out$1(s) {
11168        this.lit(this.esc(s));
11169    }
11170
11171    function attrs(node) {
11172        var att = [];
11173        if (this.options.sourcepos) {
11174            var pos = node.sourcepos;
11175            if (pos) {
11176                att.push([
11177                    "data-sourcepos",
11178                    String(pos[0][0]) +
11179                        ":" +
11180                        String(pos[0][1]) +
11181                        "-" +
11182                        String(pos[1][0]) +
11183                        ":" +
11184                        String(pos[1][1])
11185                ]);
11186            }
11187        }
11188        return att;
11189    }
11190
11191    // quick browser-compatible inheritance
11192    HtmlRenderer.prototype = Object.create(Renderer.prototype);
11193
11194    HtmlRenderer.prototype.text = text$1;
11195    HtmlRenderer.prototype.html_inline = html_inline;
11196    HtmlRenderer.prototype.html_block = html_block;
11197    HtmlRenderer.prototype.softbreak = softbreak;
11198    HtmlRenderer.prototype.linebreak = linebreak;
11199    HtmlRenderer.prototype.link = link;
11200    HtmlRenderer.prototype.image = image$1;
11201    HtmlRenderer.prototype.emph = emph;
11202    HtmlRenderer.prototype.strong = strong;
11203    HtmlRenderer.prototype.paragraph = paragraph;
11204    HtmlRenderer.prototype.heading = heading;
11205    HtmlRenderer.prototype.code = code;
11206    HtmlRenderer.prototype.code_block = code_block;
11207    HtmlRenderer.prototype.thematic_break = thematic_break;
11208    HtmlRenderer.prototype.block_quote = block_quote;
11209    HtmlRenderer.prototype.list = list;
11210    HtmlRenderer.prototype.item = item;
11211    HtmlRenderer.prototype.custom_inline = custom_inline;
11212    HtmlRenderer.prototype.custom_block = custom_block;
11213
11214    HtmlRenderer.prototype.esc = escapeXml;
11215
11216    HtmlRenderer.prototype.out = out$1;
11217    HtmlRenderer.prototype.tag = tag;
11218    HtmlRenderer.prototype.attrs = attrs;
11219
11220    var reXMLTag = /\<[^>]*\>/;
11221
11222    function toTagName(s) {
11223        return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
11224    }
11225
11226    function XmlRenderer(options) {
11227        options = options || {};
11228
11229        this.disableTags = 0;
11230        this.lastOut = "\n";
11231
11232        this.indentLevel = 0;
11233        this.indent = "  ";
11234        
11235        this.esc = options.esc || escapeXml;
11236        // escape html with a custom function
11237        // else use escapeXml
11238
11239        this.options = options;
11240    }
11241
11242    function render$1(ast) {
11243        this.buffer = "";
11244
11245        var attrs;
11246        var tagname;
11247        var walker = ast.walker();
11248        var event, node, entering;
11249        var container;
11250        var selfClosing;
11251        var nodetype;
11252
11253        var options = this.options;
11254
11255        if (options.time) {
11256            console.time("rendering");
11257        }
11258
11259        this.buffer += '<?xml version="1.0" encoding="UTF-8"?>\n';
11260        this.buffer += '<!DOCTYPE document SYSTEM "CommonMark.dtd">\n';
11261
11262        while ((event = walker.next())) {
11263            entering = event.entering;
11264            node = event.node;
11265            nodetype = node.type;
11266
11267            container = node.isContainer;
11268
11269            selfClosing =
11270                nodetype === "thematic_break" ||
11271                nodetype === "linebreak" ||
11272                nodetype === "softbreak";
11273
11274            tagname = toTagName(nodetype);
11275
11276            if (entering) {
11277                attrs = [];
11278
11279                switch (nodetype) {
11280                    case "document":
11281                        attrs.push(["xmlns", "http://commonmark.org/xml/1.0"]);
11282                        break;
11283                    case "list":
11284                        if (node.listType !== null) {
11285                            attrs.push(["type", node.listType.toLowerCase()]);
11286                        }
11287                        if (node.listStart !== null) {
11288                            attrs.push(["start", String(node.listStart)]);
11289                        }
11290                        if (node.listTight !== null) {
11291                            attrs.push([
11292                                "tight",
11293                                node.listTight ? "true" : "false"
11294                            ]);
11295                        }
11296                        var delim = node.listDelimiter;
11297                        if (delim !== null) {
11298                            var delimword = "";
11299                            if (delim === ".") {
11300                                delimword = "period";
11301                            } else {
11302                                delimword = "paren";
11303                            }
11304                            attrs.push(["delimiter", delimword]);
11305                        }
11306                        break;
11307                    case "code_block":
11308                        if (node.info) {
11309                            attrs.push(["info", node.info]);
11310                        }
11311                        break;
11312                    case "heading":
11313                        attrs.push(["level", String(node.level)]);
11314                        break;
11315                    case "link":
11316                    case "image":
11317                        attrs.push(["destination", node.destination]);
11318                        attrs.push(["title", node.title]);
11319                        break;
11320                    case "custom_inline":
11321                    case "custom_block":
11322                        attrs.push(["on_enter", node.onEnter]);
11323                        attrs.push(["on_exit", node.onExit]);
11324                        break;
11325                }
11326                if (options.sourcepos) {
11327                    var pos = node.sourcepos;
11328                    if (pos) {
11329                        attrs.push([
11330                            "sourcepos",
11331                            String(pos[0][0]) +
11332                                ":" +
11333                                String(pos[0][1]) +
11334                                "-" +
11335                                String(pos[1][0]) +
11336                                ":" +
11337                                String(pos[1][1])
11338                        ]);
11339                    }
11340                }
11341
11342                this.cr();
11343                this.out(this.tag(tagname, attrs, selfClosing));
11344                if (container) {
11345                    this.indentLevel += 1;
11346                } else if (!container && !selfClosing) {
11347                    var lit = node.literal;
11348                    if (lit) {
11349                        this.out(this.esc(lit));
11350                    }
11351                    this.out(this.tag("/" + tagname));
11352                }
11353            } else {
11354                this.indentLevel -= 1;
11355                this.cr();
11356                this.out(this.tag("/" + tagname));
11357            }
11358        }
11359        if (options.time) {
11360            console.timeEnd("rendering");
11361        }
11362        this.buffer += "\n";
11363        return this.buffer;
11364    }
11365
11366    function out$2(s) {
11367        if (this.disableTags > 0) {
11368            this.buffer += s.replace(reXMLTag, "");
11369        } else {
11370            this.buffer += s;
11371        }
11372        this.lastOut = s;
11373    }
11374
11375    function cr$1() {
11376        if (this.lastOut !== "\n") {
11377            this.buffer += "\n";
11378            this.lastOut = "\n";
11379            for (var i = this.indentLevel; i > 0; i--) {
11380                this.buffer += this.indent;
11381            }
11382        }
11383    }
11384
11385    // Helper function to produce an XML tag.
11386    function tag$1(name, attrs, selfclosing) {
11387        var result = "<" + name;
11388        if (attrs && attrs.length > 0) {
11389            var i = 0;
11390            var attrib;
11391            while ((attrib = attrs[i]) !== undefined) {
11392                result += " " + attrib[0] + '="' + this.esc(attrib[1]) + '"';
11393                i++;
11394            }
11395        }
11396        if (selfclosing) {
11397            result += " /";
11398        }
11399        result += ">";
11400        return result;
11401    }
11402
11403    // quick browser-compatible inheritance
11404    XmlRenderer.prototype = Object.create(Renderer.prototype);
11405
11406    XmlRenderer.prototype.render = render$1;
11407    XmlRenderer.prototype.out = out$2;
11408    XmlRenderer.prototype.cr = cr$1;
11409    XmlRenderer.prototype.tag = tag$1;
11410    XmlRenderer.prototype.esc = escapeXml;
11411
11412    exports.HtmlRenderer = HtmlRenderer;
11413    exports.Node = Node;
11414    exports.Parser = Parser;
11415    exports.Renderer = Renderer;
11416    exports.XmlRenderer = XmlRenderer;
11417
11418    Object.defineProperty(exports, '__esModule', { value: true });
11419
11420})));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.