xmmath 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/xmmath.es.js +191 -177
- package/dist/xmmath.es.js.map +1 -1
- package/dist/xmmath.umd.js +4 -4
- package/dist/xmmath.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/main.ts +53 -29
package/dist/xmmath.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmmath.es.js","sources":["../src/ast.ts","../src/emoji.json?raw","../src/symbols.json?raw","../src/normalize.ts","../src/vdom.ts","../src/main.ts"],"sourcesContent":["export type vtype =\n\t| \"\"\n\t| \"str\"\n\t| \"v\"\n\t| \"f\"\n\t| \"blank\"\n\t| \"group\"\n\t| \"group1\"\n\t| \"sharp\";\nexport type tree = {\n\ttype: vtype;\n\tvalue: string;\n\tchildren?: tree;\n\tesc?: boolean;\n\tkh?: string;\n\tsrc?: string;\n}[];\n\nconst Segmenter = Intl.Segmenter;\nconst segmenter = new Segmenter(\"emoji\", { granularity: \"grapheme\" });\n\nexport const init_c: { emoji: (str: string) => string } = {\n\temoji: null,\n};\n\nexport function ast(str: string): tree {\n\tconst v = /[a-zA-Z]/;\n\tconst kh = /[(){}[\\]]/;\n\tconst khl = /[({[]/;\n\tconst khr = /[)}\\]]/;\n\tconst blank = /^[ \\t\\n\\r]+$/;\n\tlet type: vtype = \"\";\n\tlet ignore: false | \"line\" | \"block\" = false;\n\tconst o: tree = [];\n\tconst p_tree: { tree: tree; close: boolean }[] = [];\n\tlet now_tree = o;\n\tlet tmp_str = \"\";\n\n\tstr = str.replace(/(\\\\u\\{[\\dA-Fa-f]+\\})/g, (v) => {\n\t\tconst codePoint = parseInt(v.slice(3, -1), 16);\n\t\treturn String.fromCodePoint(codePoint);\n\t});\n\n\tlet strl = init_c.emoji\n\t\t? init_c.emoji(str)\n\t\t: Array.from(segmenter.segment(str)).map((w) => w.segment);\n\tconst strl2 = [];\n\tfor (const i of strl) {\n\t\tif (i.length > 1 && i.includes(\",\")) strl2.push(...i);\n\t\telse strl2.push(i);\n\t}\n\tstrl = strl2;\n\n\tfor (let i = 0; i < strl.length; i++) {\n\t\tconst t = strl[i];\n\t\tconst next = strl[i + 1];\n\t\tif (t === \"/\" && next === \"/\") ignore = \"line\";\n\t\tif (ignore === \"line\" && t === \"\\n\") {\n\t\t\tignore = false;\n\t\t\tcontinue;\n\t\t}\n\t\tif (t === \"/\" && next === \"*\") ignore = \"block\";\n\t\tif (ignore === \"block\" && t === \"*\" && next === \"/\") {\n\t\t\ti++;\n\t\t\tignore = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (ignore) continue;\n\n\t\tif (type === \"blank\" && !t.match(blank)) {\n\t\t\tnow_tree.push({ type, value: \"\" });\n\t\t\ttype = \"\";\n\t\t}\n\t\tif (t === '\"' && strl[i - 1] !== \"\\\\\") {\n\t\t\tif (type !== \"str\") {\n\t\t\t\ttype = \"str\";\n\t\t\t} else {\n\t\t\t\tnow_tree.push({ type, value: tmp_str });\n\t\t\t\ttype = \"\";\n\t\t\t\ttmp_str = \"\";\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (type === \"str\") {\n\t\t\ttmp_str += t;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (t.match(blank)) {\n\t\t\ttype = \"blank\";\n\t\t}\n\n\t\tif (t === \"#\") {\n\t\t\tnow_tree.push({ type: \"sharp\", value: \"\" });\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\ttype === \"\" &&\n\t\t\t(!strl[i - 1] || !strl[i - 1].match(v)) &&\n\t\t\t(!strl[i + 1] || !strl[i + 1].match(v)) &&\n\t\t\t!t.match(kh)\n\t\t) {\n\t\t\tnow_tree.push({ type: \"v\", value: t });\n\t\t\tcontinue;\n\t\t}\n\t\tif (type === \"\" && !t.match(v) && !t.match(kh)) {\n\t\t\tnow_tree.push({ type: \"v\", value: t });\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\t((strl[i - 1] && strl[i - 1].match(v)) ||\n\t\t\t\t(strl[i + 1] && strl[i + 1].match(v))) &&\n\t\t\tt.match(v)\n\t\t) {\n\t\t\ttype = \"f\";\n\t\t}\n\t\tif (type === \"f\") {\n\t\t\ttmp_str += t;\n\t\t}\n\t\tif (type === \"f\" && (!strl[i + 1] || !strl[i + 1].match(v))) {\n\t\t\tnow_tree.push({ type, value: tmp_str });\n\t\t\ttype = \"\";\n\t\t\ttmp_str = \"\";\n\t\t}\n\n\t\tif (t.match(khl)) {\n\t\t\tif (strl[i - 1] === \"\\\\\") {\n\t\t\t\tnow_tree.push({ type: \"v\", value: t, esc: true });\n\t\t\t} else {\n\t\t\t\t// 开括号一律起组,直到遇到闭括号;到行尾仍没遇到(typst\n\t\t\t\t// `math_delimited` 走到 eof 的分支)就留成未闭合组,由渲染\n\t\t\t\t// 阶段只画开括号。旧实现把未配对的开括号退化成普通字符,\n\t\t\t\t// 会让 `1/(2 (x)` 的分母只剩一个 `(`。\n\t\t\t\tp_tree.push({ tree: now_tree, close: false });\n\t\t\t\tnow_tree.push({ type: \"group\", value: tmp_str, children: [], kh: t });\n\t\t\t\tnow_tree = now_tree.at(-1).children;\n\t\t\t\ttmp_str = \"\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif (t.match(khr)) {\n\t\t\tif (strl[i - 1] === \"\\\\\") {\n\t\t\t\tnow_tree.push({ type: \"v\", value: t, esc: true });\n\t\t\t} else if (p_tree.at(-1)) {\n\t\t\t\tif (p_tree.at(-1).close === false) {\n\t\t\t\t\tp_tree.at(-1).close = true;\n\t\t\t\t\tnow_tree = p_tree.at(-1).tree;\n\t\t\t\t\tnow_tree.at(-1).kh += t;\n\t\t\t\t\tp_tree.pop();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnow_tree.push({ type: \"v\", value: t });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn o;\n}\n","export default \"{\\n\\t\\\"abacus\\\": \\\"🧮\\\",\\n\\t\\\"abc\\\": \\\"🔤\\\",\\n\\t\\\"abcd\\\": \\\"🔡\\\",\\n\\t\\\"ABCD\\\": \\\"🔠\\\",\\n\\t\\\"accordion\\\": \\\"🪗\\\",\\n\\t\\\"aesculapius\\\": \\\"⚕️\\\",\\n\\t\\\"airplane\\\": [\\n\\t\\t\\\"✈️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"landing\\\": \\\"🛬\\\",\\n\\t\\t\\t\\\"small\\\": \\\"🛩️\\\",\\n\\t\\t\\t\\\"takeoff\\\": \\\"🛫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"alembic\\\": \\\"⚗️\\\",\\n\\t\\\"alien\\\": [\\n\\t\\t\\\"👽️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"monster\\\": \\\"👾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ambulance\\\": \\\"🚑️\\\",\\n\\t\\\"amphora\\\": \\\"🏺\\\",\\n\\t\\\"anchor\\\": \\\"⚓️\\\",\\n\\t\\\"anger\\\": \\\"💢\\\",\\n\\t\\\"ant\\\": \\\"🐜\\\",\\n\\t\\\"apple\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"green\\\": \\\"🍏\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🍎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arm\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"mech\\\": \\\"🦾\\\",\\n\\t\\t\\t\\\"muscle\\\": \\\"💪\\\",\\n\\t\\t\\t\\\"selfie\\\": \\\"🤳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrow\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r.filled\\\": \\\"➡️\\\",\\n\\t\\t\\t\\\"r.hook\\\": \\\"↪️\\\",\\n\\t\\t\\t\\\"r.soon\\\": \\\"🔜\\\",\\n\\t\\t\\t\\\"l.filled\\\": \\\"⬅️\\\",\\n\\t\\t\\t\\\"l.hook\\\": \\\"↩️\\\",\\n\\t\\t\\t\\\"l.back\\\": \\\"🔙\\\",\\n\\t\\t\\t\\\"l.end\\\": \\\"🔚\\\",\\n\\t\\t\\t\\\"t.filled\\\": \\\"⬆️\\\",\\n\\t\\t\\t\\\"t.curve\\\": \\\"⤴️\\\",\\n\\t\\t\\t\\\"t.top\\\": \\\"🔝\\\",\\n\\t\\t\\t\\\"b.filled\\\": \\\"⬇️\\\",\\n\\t\\t\\t\\\"b.curve\\\": \\\"⤵️\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"↔️\\\",\\n\\t\\t\\t\\\"l.r.on\\\": \\\"🔛\\\",\\n\\t\\t\\t\\\"t.b\\\": \\\"↕️\\\",\\n\\t\\t\\t\\\"bl\\\": \\\"↙️\\\",\\n\\t\\t\\t\\\"br\\\": \\\"↘️\\\",\\n\\t\\t\\t\\\"tl\\\": \\\"↖️\\\",\\n\\t\\t\\t\\\"tr\\\": \\\"↗️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrows\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cycle\\\": \\\"🔄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ast\\\": [\\n\\t\\t\\\"*️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"✳️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"atm\\\": \\\"🏧\\\",\\n\\t\\\"atom\\\": \\\"⚛️\\\",\\n\\t\\\"aubergine\\\": \\\"🍆\\\",\\n\\t\\\"avocado\\\": \\\"🥑\\\",\\n\\t\\\"axe\\\": \\\"🪓\\\",\\n\\t\\\"baby\\\": [\\n\\t\\t\\\"👶\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"angel\\\": \\\"👼\\\",\\n\\t\\t\\t\\\"box\\\": \\\"🚼️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"babybottle\\\": \\\"🍼\\\",\\n\\t\\\"backpack\\\": \\\"🎒\\\",\\n\\t\\\"bacon\\\": \\\"🥓\\\",\\n\\t\\\"badger\\\": \\\"🦡\\\",\\n\\t\\\"badminton\\\": \\\"🏸\\\",\\n\\t\\\"bagel\\\": \\\"🥯\\\",\\n\\t\\\"baggageclaim\\\": \\\"🛄\\\",\\n\\t\\\"baguette\\\": \\\"🥖\\\",\\n\\t\\\"balloon\\\": \\\"🎈\\\",\\n\\t\\\"ballot\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"check\\\": \\\"☑️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ballotbox\\\": \\\"🗳️\\\",\\n\\t\\\"banana\\\": \\\"🍌\\\",\\n\\t\\\"banjo\\\": \\\"🪕\\\",\\n\\t\\\"bank\\\": \\\"🏦\\\",\\n\\t\\\"barberpole\\\": \\\"💈\\\",\\n\\t\\\"baseball\\\": \\\"⚾️\\\",\\n\\t\\\"basecap\\\": \\\"🧢\\\",\\n\\t\\\"basket\\\": \\\"🧺\\\",\\n\\t\\\"basketball\\\": [\\n\\t\\t\\\"⛹️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ball\\\": \\\"🏀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bat\\\": \\\"🦇\\\",\\n\\t\\\"bathtub\\\": [\\n\\t\\t\\\"🛀\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"foam\\\": \\\"🛁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"battery\\\": [\\n\\t\\t\\\"🔋\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"low\\\": \\\"🪫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"beach\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"palm\\\": \\\"🏝️\\\",\\n\\t\\t\\t\\\"umbrella\\\": \\\"🏖️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"beads\\\": \\\"📿\\\",\\n\\t\\\"beans\\\": \\\"🫘\\\",\\n\\t\\\"bear\\\": \\\"🐻\\\",\\n\\t\\\"beaver\\\": \\\"🦫\\\",\\n\\t\\\"bed\\\": [\\n\\t\\t\\\"🛏️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"person\\\": \\\"🛌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bee\\\": \\\"🐝\\\",\\n\\t\\\"beer\\\": [\\n\\t\\t\\\"🍺\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"clink\\\": \\\"🍻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"beet\\\": \\\"\\\",\\n\\t\\\"beetle\\\": [\\n\\t\\t\\\"🪲\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"lady\\\": \\\"🐞\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bell\\\": [\\n\\t\\t\\\"🔔\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ding\\\": \\\"🛎️\\\",\\n\\t\\t\\t\\\"not\\\": \\\"🔕\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bento\\\": \\\"🍱\\\",\\n\\t\\\"bicyclist\\\": [\\n\\t\\t\\\"🚴\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"mountain\\\": \\\"🚵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bigfoot\\\": \\\"\\\",\\n\\t\\\"bike\\\": [\\n\\t\\t\\\"🚲️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bikini\\\": \\\"👙\\\",\\n\\t\\\"billiards\\\": \\\"🎱\\\",\\n\\t\\\"bin\\\": \\\"🗑️\\\",\\n\\t\\\"biohazard\\\": \\\"☣️\\\",\\n\\t\\\"bird\\\": \\\"🐦️\\\",\\n\\t\\\"bison\\\": \\\"🦬\\\",\\n\\t\\\"blood\\\": \\\"🩸\\\",\\n\\t\\\"blouse\\\": \\\"👚\\\",\\n\\t\\\"blowfish\\\": \\\"🐡\\\",\\n\\t\\\"blueberries\\\": \\\"🫐\\\",\\n\\t\\\"boar\\\": \\\"🐗\\\",\\n\\t\\\"boat\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"sail\\\": \\\"⛵️\\\",\\n\\t\\t\\t\\\"row\\\": \\\"🚣\\\",\\n\\t\\t\\t\\\"motor\\\": \\\"🛥️\\\",\\n\\t\\t\\t\\\"speed\\\": \\\"🚤\\\",\\n\\t\\t\\t\\\"canoe\\\": \\\"🛶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bolt\\\": \\\"🔩\\\",\\n\\t\\\"bomb\\\": \\\"💣️\\\",\\n\\t\\\"bone\\\": \\\"🦴\\\",\\n\\t\\\"book\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"red\\\": \\\"📕\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"📘\\\",\\n\\t\\t\\t\\\"green\\\": \\\"📗\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"📙\\\",\\n\\t\\t\\t\\\"spiral\\\": \\\"📒\\\",\\n\\t\\t\\t\\\"open\\\": \\\"📖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bookmark\\\": \\\"🔖\\\",\\n\\t\\\"books\\\": \\\"📚️\\\",\\n\\t\\\"boomerang\\\": \\\"🪃\\\",\\n\\t\\\"bordercontrol\\\": \\\"🛂\\\",\\n\\t\\\"bouquet\\\": \\\"💐\\\",\\n\\t\\\"bow\\\": \\\"🏹\\\",\\n\\t\\\"bowl\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"spoon\\\": \\\"🥣\\\",\\n\\t\\t\\t\\\"steam\\\": \\\"🍜\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bowling\\\": \\\"🎳\\\",\\n\\t\\\"boxing\\\": \\\"🥊\\\",\\n\\t\\\"boy\\\": \\\"👦\\\",\\n\\t\\\"brain\\\": \\\"🧠\\\",\\n\\t\\\"bread\\\": \\\"🍞\\\",\\n\\t\\\"brick\\\": \\\"🧱\\\",\\n\\t\\\"bride\\\": \\\"👰\\\",\\n\\t\\\"bridge\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"fog\\\": \\\"🌁\\\",\\n\\t\\t\\t\\\"night\\\": \\\"🌉\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"briefcase\\\": \\\"💼\\\",\\n\\t\\\"briefs\\\": \\\"🩲\\\",\\n\\t\\\"brightness\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"high\\\": \\\"🔆\\\",\\n\\t\\t\\t\\\"low\\\": \\\"🔅\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"broccoli\\\": \\\"🥦\\\",\\n\\t\\\"broom\\\": \\\"🧹\\\",\\n\\t\\\"brush\\\": \\\"🖌️\\\",\\n\\t\\\"bubble\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"speech.r\\\": \\\"💬\\\",\\n\\t\\t\\t\\\"speech.l\\\": \\\"🗨️\\\",\\n\\t\\t\\t\\\"thought\\\": \\\"💭\\\",\\n\\t\\t\\t\\\"anger.r\\\": \\\"🗯️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bubbles\\\": \\\"🫧\\\",\\n\\t\\\"bubbletea\\\": \\\"🧋\\\",\\n\\t\\\"bucket\\\": \\\"🪣\\\",\\n\\t\\\"buffalo\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"water\\\": \\\"🐃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bug\\\": \\\"🐛\\\",\\n\\t\\\"builder\\\": \\\"👷\\\",\\n\\t\\\"burger\\\": \\\"🍔\\\",\\n\\t\\\"burrito\\\": \\\"🌯\\\",\\n\\t\\\"bus\\\": [\\n\\t\\t\\\"🚌\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"🚍️\\\",\\n\\t\\t\\t\\\"small\\\": \\\"🚐\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"🚏\\\",\\n\\t\\t\\t\\\"trolley\\\": \\\"🚎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"butter\\\": \\\"🧈\\\",\\n\\t\\\"butterfly\\\": \\\"🦋\\\",\\n\\t\\\"button\\\": [\\n\\t\\t\\\"🔲\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"🔳\\\",\\n\\t\\t\\t\\\"radio\\\": \\\"🔘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cabinet\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"file\\\": \\\"🗄️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cablecar\\\": [\\n\\t\\t\\\"🚠\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"small\\\": \\\"🚡\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cactus\\\": \\\"🌵\\\",\\n\\t\\\"cake\\\": [\\n\\t\\t\\\"🎂\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fish\\\": \\\"🍥\\\",\\n\\t\\t\\t\\\"moon\\\": \\\"🥮\\\",\\n\\t\\t\\t\\\"slice\\\": \\\"🍰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"calendar\\\": [\\n\\t\\t\\\"📅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"spiral\\\": \\\"🗓️\\\",\\n\\t\\t\\t\\\"tearoff\\\": \\\"📆\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"camel\\\": [\\n\\t\\t\\\"🐫\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dromedar\\\": \\\"🐪\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"camera\\\": [\\n\\t\\t\\\"📷️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"flash\\\": \\\"📸\\\",\\n\\t\\t\\t\\\"movie\\\": \\\"🎥\\\",\\n\\t\\t\\t\\\"movie.box\\\": \\\"🎦\\\",\\n\\t\\t\\t\\\"video\\\": \\\"📹️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"camping\\\": \\\"🏕️\\\",\\n\\t\\\"can\\\": \\\"🥫\\\",\\n\\t\\\"candle\\\": \\\"🕯️\\\",\\n\\t\\\"candy\\\": \\\"🍬\\\",\\n\\t\\\"cane\\\": \\\"🦯\\\",\\n\\t\\\"car\\\": [\\n\\t\\t\\\"🚗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"🚘️\\\",\\n\\t\\t\\t\\\"pickup\\\": \\\"🛻\\\",\\n\\t\\t\\t\\\"police\\\": \\\"🚓\\\",\\n\\t\\t\\t\\\"police.front\\\": \\\"🚔️\\\",\\n\\t\\t\\t\\\"racing\\\": \\\"🏎️\\\",\\n\\t\\t\\t\\\"rickshaw\\\": \\\"🛺\\\",\\n\\t\\t\\t\\\"suv\\\": \\\"🚙\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"card\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"credit\\\": \\\"💳️\\\",\\n\\t\\t\\t\\\"id\\\": \\\"🪪\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cardindex\\\": \\\"📇\\\",\\n\\t\\\"carrot\\\": \\\"🥕\\\",\\n\\t\\\"cart\\\": \\\"🛒\\\",\\n\\t\\\"cassette\\\": \\\"📼\\\",\\n\\t\\\"castle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"eu\\\": \\\"🏰\\\",\\n\\t\\t\\t\\\"jp\\\": \\\"🏯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cat\\\": [\\n\\t\\t\\\"🐈️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐱\\\",\\n\\t\\t\\t\\\"face.angry\\\": \\\"😾\\\",\\n\\t\\t\\t\\\"face.cry\\\": \\\"😿\\\",\\n\\t\\t\\t\\\"face.heart\\\": \\\"😻\\\",\\n\\t\\t\\t\\\"face.joy\\\": \\\"😹\\\",\\n\\t\\t\\t\\\"face.kiss\\\": \\\"😽\\\",\\n\\t\\t\\t\\\"face.laugh\\\": \\\"😸\\\",\\n\\t\\t\\t\\\"face.shock\\\": \\\"🙀\\\",\\n\\t\\t\\t\\\"face.smile\\\": \\\"😺\\\",\\n\\t\\t\\t\\\"face.smirk\\\": \\\"😼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"chain\\\": \\\"🔗\\\",\\n\\t\\\"chains\\\": \\\"⛓️\\\",\\n\\t\\\"chair\\\": \\\"🪑\\\",\\n\\t\\\"champagne\\\": \\\"🍾\\\",\\n\\t\\\"chart\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"bar\\\": \\\"📊\\\",\\n\\t\\t\\t\\\"up\\\": \\\"📈\\\",\\n\\t\\t\\t\\\"down\\\": \\\"📉\\\",\\n\\t\\t\\t\\\"yen.up\\\": \\\"💹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"checkmark\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"heavy\\\": \\\"✔️\\\",\\n\\t\\t\\t\\\"box\\\": \\\"✅️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cheese\\\": \\\"🧀\\\",\\n\\t\\\"cherries\\\": \\\"🍒\\\",\\n\\t\\\"chess\\\": \\\"♟️\\\",\\n\\t\\\"chestnut\\\": \\\"🌰\\\",\\n\\t\\\"chicken\\\": [\\n\\t\\t\\\"🐔\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"baby\\\": \\\"🐥\\\",\\n\\t\\t\\t\\\"baby.egg\\\": \\\"🐣\\\",\\n\\t\\t\\t\\\"baby.head\\\": \\\"🐤\\\",\\n\\t\\t\\t\\\"leg\\\": \\\"🍗\\\",\\n\\t\\t\\t\\\"male\\\": \\\"🐓\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"child\\\": \\\"🧒\\\",\\n\\t\\\"chipmunk\\\": \\\"🐿️\\\",\\n\\t\\\"chocolate\\\": \\\"🍫\\\",\\n\\t\\\"chopsticks\\\": \\\"🥢\\\",\\n\\t\\\"church\\\": [\\n\\t\\t\\\"⛪️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"love\\\": \\\"💒\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cigarette\\\": [\\n\\t\\t\\\"🚬\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚭️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"circle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"black\\\": \\\"⚫️\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"🔵\\\",\\n\\t\\t\\t\\\"brown\\\": \\\"🟤\\\",\\n\\t\\t\\t\\\"green\\\": \\\"🟢\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🟠\\\",\\n\\t\\t\\t\\\"purple\\\": \\\"🟣\\\",\\n\\t\\t\\t\\\"white\\\": \\\"⚪️\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🔴\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"🟡\\\",\\n\\t\\t\\t\\\"stroked\\\": \\\"⭕️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"circus\\\": \\\"🎪\\\",\\n\\t\\\"city\\\": [\\n\\t\\t\\\"🏙️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dusk\\\": \\\"🌆\\\",\\n\\t\\t\\t\\\"night\\\": \\\"🌃\\\",\\n\\t\\t\\t\\\"sunset\\\": \\\"🌇\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"clamp\\\": \\\"🗜️\\\",\\n\\t\\\"clapperboard\\\": \\\"🎬️\\\",\\n\\t\\\"climbing\\\": \\\"🧗\\\",\\n\\t\\\"clip\\\": \\\"📎\\\",\\n\\t\\\"clipboard\\\": \\\"📋️\\\",\\n\\t\\\"clips\\\": \\\"🖇️\\\",\\n\\t\\\"clock\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"one\\\": \\\"🕐️\\\",\\n\\t\\t\\t\\\"one.thirty\\\": \\\"🕜️\\\",\\n\\t\\t\\t\\\"two\\\": \\\"🕑️\\\",\\n\\t\\t\\t\\\"two.thirty\\\": \\\"🕝️\\\",\\n\\t\\t\\t\\\"three\\\": \\\"🕒️\\\",\\n\\t\\t\\t\\\"three.thirty\\\": \\\"🕞️\\\",\\n\\t\\t\\t\\\"four\\\": \\\"🕓️\\\",\\n\\t\\t\\t\\\"four.thirty\\\": \\\"🕟️\\\",\\n\\t\\t\\t\\\"five\\\": \\\"🕔️\\\",\\n\\t\\t\\t\\\"five.thirty\\\": \\\"🕠️\\\",\\n\\t\\t\\t\\\"six\\\": \\\"🕕️\\\",\\n\\t\\t\\t\\\"six.thirty\\\": \\\"🕡️\\\",\\n\\t\\t\\t\\\"seven\\\": \\\"🕖️\\\",\\n\\t\\t\\t\\\"seven.thirty\\\": \\\"🕢️\\\",\\n\\t\\t\\t\\\"eight\\\": \\\"🕗️\\\",\\n\\t\\t\\t\\\"eight.thirty\\\": \\\"🕣️\\\",\\n\\t\\t\\t\\\"nine\\\": \\\"🕘️\\\",\\n\\t\\t\\t\\\"nine.thirty\\\": \\\"🕤️\\\",\\n\\t\\t\\t\\\"ten\\\": \\\"🕙️\\\",\\n\\t\\t\\t\\\"ten.thirty\\\": \\\"🕥️\\\",\\n\\t\\t\\t\\\"eleven\\\": \\\"🕚️\\\",\\n\\t\\t\\t\\\"eleven.thirty\\\": \\\"🕦️\\\",\\n\\t\\t\\t\\\"twelve\\\": \\\"🕛️\\\",\\n\\t\\t\\t\\\"twelve.thirty\\\": \\\"🕧️\\\",\\n\\t\\t\\t\\\"alarm\\\": \\\"⏰️\\\",\\n\\t\\t\\t\\\"old\\\": \\\"🕰️\\\",\\n\\t\\t\\t\\\"timer\\\": \\\"⏲️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cloud\\\": [\\n\\t\\t\\\"☁️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dust\\\": \\\"💨\\\",\\n\\t\\t\\t\\\"rain\\\": \\\"🌧️\\\",\\n\\t\\t\\t\\\"snow\\\": \\\"🌨️\\\",\\n\\t\\t\\t\\\"storm\\\": \\\"⛈️\\\",\\n\\t\\t\\t\\\"sun\\\": \\\"⛅️\\\",\\n\\t\\t\\t\\\"sun.hidden\\\": \\\"🌥️\\\",\\n\\t\\t\\t\\\"sun.rain\\\": \\\"🌦️\\\",\\n\\t\\t\\t\\\"thunder\\\": \\\"🌩️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"coat\\\": [\\n\\t\\t\\\"🧥\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"lab\\\": \\\"🥼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cockroach\\\": \\\"🪳\\\",\\n\\t\\\"cocktail\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"martini\\\": \\\"🍸️\\\",\\n\\t\\t\\t\\\"tropical\\\": \\\"🍹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"coconut\\\": \\\"🥥\\\",\\n\\t\\\"coffee\\\": \\\"☕️\\\",\\n\\t\\\"coffin\\\": \\\"⚰️\\\",\\n\\t\\\"coin\\\": \\\"🪙\\\",\\n\\t\\\"comet\\\": \\\"☄️\\\",\\n\\t\\\"compass\\\": \\\"🧭\\\",\\n\\t\\\"computer\\\": \\\"🖥️\\\",\\n\\t\\\"computermouse\\\": \\\"🖱️\\\",\\n\\t\\\"confetti\\\": \\\"🎊\\\",\\n\\t\\\"construction\\\": \\\"🚧\\\",\\n\\t\\\"controller\\\": \\\"🎮️\\\",\\n\\t\\\"cookie\\\": [\\n\\t\\t\\\"🍪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fortune\\\": \\\"🥠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cooking\\\": \\\"🍳\\\",\\n\\t\\\"cool\\\": \\\"🆒\\\",\\n\\t\\\"copyright\\\": \\\"©️\\\",\\n\\t\\\"coral\\\": \\\"🪸\\\",\\n\\t\\\"corn\\\": \\\"🌽\\\",\\n\\t\\\"couch\\\": \\\"🛋️\\\",\\n\\t\\\"couple\\\": \\\"💑\\\",\\n\\t\\\"cow\\\": [\\n\\t\\t\\\"🐄\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"crab\\\": \\\"🦀\\\",\\n\\t\\\"crane\\\": \\\"🏗️\\\",\\n\\t\\\"crayon\\\": \\\"🖍️\\\",\\n\\t\\\"cricket\\\": \\\"🦗\\\",\\n\\t\\\"cricketbat\\\": \\\"🏏\\\",\\n\\t\\\"crocodile\\\": \\\"🐊\\\",\\n\\t\\\"croissant\\\": \\\"🥐\\\",\\n\\t\\\"crossmark\\\": [\\n\\t\\t\\\"❌️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"❎️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"crown\\\": \\\"👑\\\",\\n\\t\\\"crutch\\\": \\\"🩼\\\",\\n\\t\\\"crystal\\\": \\\"🔮\\\",\\n\\t\\\"cucumber\\\": \\\"🥒\\\",\\n\\t\\\"cup\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"straw\\\": \\\"🥤\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cupcake\\\": \\\"🧁\\\",\\n\\t\\\"curling\\\": \\\"🥌\\\",\\n\\t\\\"curry\\\": \\\"🍛\\\",\\n\\t\\\"custard\\\": \\\"🍮\\\",\\n\\t\\\"customs\\\": \\\"🛃\\\",\\n\\t\\\"cutlery\\\": \\\"🍴\\\",\\n\\t\\\"cyclone\\\": \\\"🌀\\\",\\n\\t\\\"dancing\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"ballet\\\": \\\"🧑🩰\\\",\\n\\t\\t\\t\\\"man\\\": \\\"🕺\\\",\\n\\t\\t\\t\\\"woman\\\": \\\"💃\\\",\\n\\t\\t\\t\\\"bunny\\\": \\\"👯\\\",\\n\\t\\t\\t\\\"bunny.men\\\": \\\"👯♂\\\",\\n\\t\\t\\t\\\"bunny.women\\\": \\\"👯♀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"darts\\\": \\\"🎯\\\",\\n\\t\\\"dash\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"wave.double\\\": \\\"〰️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"deer\\\": \\\"🦌\\\",\\n\\t\\\"desert\\\": \\\"🏜️\\\",\\n\\t\\\"detective\\\": \\\"🕵️\\\",\\n\\t\\\"diamond\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"blue\\\": \\\"🔷\\\",\\n\\t\\t\\t\\\"blue.small\\\": \\\"🔹\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🔶\\\",\\n\\t\\t\\t\\\"orange.small\\\": \\\"🔸\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"💠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"die\\\": \\\"🎲\\\",\\n\\t\\\"dino\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"pod\\\": \\\"🦕\\\",\\n\\t\\t\\t\\\"rex\\\": \\\"🦖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"disc\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cd\\\": \\\"💿️\\\",\\n\\t\\t\\t\\\"dvd\\\": \\\"📀\\\",\\n\\t\\t\\t\\\"mini\\\": \\\"💽\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"discoball\\\": \\\"🪩\\\",\\n\\t\\\"diving\\\": \\\"🤿\\\",\\n\\t\\\"dodo\\\": \\\"🦤\\\",\\n\\t\\\"dog\\\": [\\n\\t\\t\\\"🐕️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐶\\\",\\n\\t\\t\\t\\\"guide\\\": \\\"🦮\\\",\\n\\t\\t\\t\\\"poodle\\\": \\\"🐩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dollar\\\": \\\"💲\\\",\\n\\t\\\"dolphin\\\": \\\"🐬\\\",\\n\\t\\\"donkey\\\": \\\"🫏\\\",\\n\\t\\\"donut\\\": \\\"🍩\\\",\\n\\t\\\"door\\\": \\\"🚪\\\",\\n\\t\\\"dove\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"peace\\\": \\\"🕊️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dragon\\\": [\\n\\t\\t\\\"🐉\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐲\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dress\\\": [\\n\\t\\t\\\"👗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"kimono\\\": \\\"👘\\\",\\n\\t\\t\\t\\\"sari\\\": \\\"🥻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"drop\\\": \\\"💧\\\",\\n\\t\\\"drops\\\": \\\"💦\\\",\\n\\t\\\"drum\\\": [\\n\\t\\t\\\"🥁\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"🪘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"duck\\\": \\\"🦆\\\",\\n\\t\\\"dumpling\\\": \\\"🥟\\\",\\n\\t\\\"eagle\\\": \\\"🦅\\\",\\n\\t\\\"ear\\\": [\\n\\t\\t\\\"👂️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"aid\\\": \\\"🦻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"egg\\\": \\\"🥚\\\",\\n\\t\\\"eighteen\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🔞\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"elephant\\\": \\\"🐘\\\",\\n\\t\\\"elevator\\\": \\\"🛗\\\",\\n\\t\\\"elf\\\": \\\"🧝\\\",\\n\\t\\\"email\\\": \\\"📧\\\",\\n\\t\\\"excl\\\": [\\n\\t\\t\\\"❗️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"white\\\": \\\"❕️\\\",\\n\\t\\t\\t\\\"double\\\": \\\"‼️\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⁉️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"explosion\\\": \\\"💥\\\",\\n\\t\\\"extinguisher\\\": \\\"🧯\\\",\\n\\t\\\"eye\\\": \\\"👁️\\\",\\n\\t\\\"eyes\\\": \\\"👀\\\",\\n\\t\\\"face\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"grin\\\": \\\"😀\\\",\\n\\t\\t\\t\\\"angry\\\": \\\"😠\\\",\\n\\t\\t\\t\\\"angry.red\\\": \\\"😡\\\",\\n\\t\\t\\t\\\"anguish\\\": \\\"😧\\\",\\n\\t\\t\\t\\\"astonish\\\": \\\"😲\\\",\\n\\t\\t\\t\\\"bandage\\\": \\\"🤕\\\",\\n\\t\\t\\t\\\"beam\\\": \\\"😁\\\",\\n\\t\\t\\t\\\"blank\\\": \\\"😶\\\",\\n\\t\\t\\t\\\"clown\\\": \\\"🤡\\\",\\n\\t\\t\\t\\\"cold\\\": \\\"🥶\\\",\\n\\t\\t\\t\\\"concern\\\": \\\"😦\\\",\\n\\t\\t\\t\\\"cool\\\": \\\"😎\\\",\\n\\t\\t\\t\\\"cover\\\": \\\"🤭\\\",\\n\\t\\t\\t\\\"cowboy\\\": \\\"🤠\\\",\\n\\t\\t\\t\\\"cry\\\": \\\"😭\\\",\\n\\t\\t\\t\\\"devil.smile\\\": \\\"😈\\\",\\n\\t\\t\\t\\\"devil.frown\\\": \\\"👿\\\",\\n\\t\\t\\t\\\"diagonal\\\": \\\"🫤\\\",\\n\\t\\t\\t\\\"disguise\\\": \\\"🥸\\\",\\n\\t\\t\\t\\\"distorted\\\": \\\"\\\",\\n\\t\\t\\t\\\"distress\\\": \\\"😫\\\",\\n\\t\\t\\t\\\"dizzy\\\": \\\"😵\\\",\\n\\t\\t\\t\\\"dotted\\\": \\\"🫥\\\",\\n\\t\\t\\t\\\"down\\\": \\\"😞\\\",\\n\\t\\t\\t\\\"down.sweat\\\": \\\"😓\\\",\\n\\t\\t\\t\\\"drool\\\": \\\"🤤\\\",\\n\\t\\t\\t\\\"explode\\\": \\\"🤯\\\",\\n\\t\\t\\t\\\"eyeroll\\\": \\\"🙄\\\",\\n\\t\\t\\t\\\"friendly\\\": \\\"☺️\\\",\\n\\t\\t\\t\\\"fear\\\": \\\"😨\\\",\\n\\t\\t\\t\\\"fear.sweat\\\": \\\"😰\\\",\\n\\t\\t\\t\\\"fever\\\": \\\"🤒\\\",\\n\\t\\t\\t\\\"flush\\\": \\\"😳\\\",\\n\\t\\t\\t\\\"frown\\\": \\\"☹️\\\",\\n\\t\\t\\t\\\"frown.slight\\\": \\\"🙁\\\",\\n\\t\\t\\t\\\"frust\\\": \\\"😣\\\",\\n\\t\\t\\t\\\"goofy\\\": \\\"🤪\\\",\\n\\t\\t\\t\\\"halo\\\": \\\"😇\\\",\\n\\t\\t\\t\\\"happy\\\": \\\"😊\\\",\\n\\t\\t\\t\\\"heart\\\": \\\"😍\\\",\\n\\t\\t\\t\\\"hearts\\\": \\\"🥰\\\",\\n\\t\\t\\t\\\"heat\\\": \\\"🥵\\\",\\n\\t\\t\\t\\\"hug\\\": \\\"🤗\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"🙃\\\",\\n\\t\\t\\t\\\"joy\\\": \\\"😂\\\",\\n\\t\\t\\t\\\"kiss\\\": \\\"😗\\\",\\n\\t\\t\\t\\\"kiss.smile\\\": \\\"😙\\\",\\n\\t\\t\\t\\\"kiss.heart\\\": \\\"😘\\\",\\n\\t\\t\\t\\\"kiss.blush\\\": \\\"😚\\\",\\n\\t\\t\\t\\\"lick\\\": \\\"😋\\\",\\n\\t\\t\\t\\\"lie\\\": \\\"🤥\\\",\\n\\t\\t\\t\\\"mask\\\": \\\"😷\\\",\\n\\t\\t\\t\\\"meh\\\": \\\"😒\\\",\\n\\t\\t\\t\\\"melt\\\": \\\"🫠\\\",\\n\\t\\t\\t\\\"money\\\": \\\"🤑\\\",\\n\\t\\t\\t\\\"monocle\\\": \\\"🧐\\\",\\n\\t\\t\\t\\\"nausea\\\": \\\"🤢\\\",\\n\\t\\t\\t\\\"nerd\\\": \\\"🤓\\\",\\n\\t\\t\\t\\\"neutral\\\": \\\"😐️\\\",\\n\\t\\t\\t\\\"open\\\": \\\"😃\\\",\\n\\t\\t\\t\\\"party\\\": \\\"🥳\\\",\\n\\t\\t\\t\\\"peek\\\": \\\"🫣\\\",\\n\\t\\t\\t\\\"plead\\\": \\\"🥺\\\",\\n\\t\\t\\t\\\"relief\\\": \\\"😌\\\",\\n\\t\\t\\t\\\"rofl\\\": \\\"🤣\\\",\\n\\t\\t\\t\\\"sad\\\": \\\"😔\\\",\\n\\t\\t\\t\\\"salute\\\": \\\"🫡\\\",\\n\\t\\t\\t\\\"shaking\\\": \\\"🫨\\\",\\n\\t\\t\\t\\\"shock\\\": \\\"😱\\\",\\n\\t\\t\\t\\\"shush\\\": \\\"🤫\\\",\\n\\t\\t\\t\\\"skeptic\\\": \\\"🤨\\\",\\n\\t\\t\\t\\\"sleep\\\": \\\"😴\\\",\\n\\t\\t\\t\\\"sleepy\\\": \\\"😪\\\",\\n\\t\\t\\t\\\"smile\\\": \\\"😄\\\",\\n\\t\\t\\t\\\"smile.slight\\\": \\\"🙂\\\",\\n\\t\\t\\t\\\"smile.sweat\\\": \\\"😅\\\",\\n\\t\\t\\t\\\"smile.tear\\\": \\\"🥲\\\",\\n\\t\\t\\t\\\"smirk\\\": \\\"😏\\\",\\n\\t\\t\\t\\\"sneeze\\\": \\\"🤧\\\",\\n\\t\\t\\t\\\"speak.not\\\": \\\"🫢\\\",\\n\\t\\t\\t\\\"squint\\\": \\\"😆\\\",\\n\\t\\t\\t\\\"stars\\\": \\\"🤩\\\",\\n\\t\\t\\t\\\"straight\\\": \\\"😑\\\",\\n\\t\\t\\t\\\"suffer\\\": \\\"😖\\\",\\n\\t\\t\\t\\\"surprise\\\": \\\"😯\\\",\\n\\t\\t\\t\\\"symbols\\\": \\\"🤬\\\",\\n\\t\\t\\t\\\"tear\\\": \\\"😢\\\",\\n\\t\\t\\t\\\"tear.relief\\\": \\\"😥\\\",\\n\\t\\t\\t\\\"tear.withheld\\\": \\\"🥹\\\",\\n\\t\\t\\t\\\"teeth\\\": \\\"😬\\\",\\n\\t\\t\\t\\\"think\\\": \\\"🤔\\\",\\n\\t\\t\\t\\\"tired\\\": \\\"\\\",\\n\\t\\t\\t\\\"tongue\\\": \\\"😛\\\",\\n\\t\\t\\t\\\"tongue.squint\\\": \\\"😝\\\",\\n\\t\\t\\t\\\"tongue.wink\\\": \\\"😜\\\",\\n\\t\\t\\t\\\"triumph\\\": \\\"😤\\\",\\n\\t\\t\\t\\\"unhappy\\\": \\\"😕\\\",\\n\\t\\t\\t\\\"vomit\\\": \\\"🤮\\\",\\n\\t\\t\\t\\\"weary\\\": \\\"😩\\\",\\n\\t\\t\\t\\\"wink\\\": \\\"😉\\\",\\n\\t\\t\\t\\\"woozy\\\": \\\"🥴\\\",\\n\\t\\t\\t\\\"worry\\\": \\\"😟\\\",\\n\\t\\t\\t\\\"wow\\\": \\\"😮\\\",\\n\\t\\t\\t\\\"yawn\\\": \\\"🥱\\\",\\n\\t\\t\\t\\\"zip\\\": \\\"🤐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"factory\\\": \\\"🏭️\\\",\\n\\t\\\"fairy\\\": \\\"🧚\\\",\\n\\t\\\"faith\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"christ\\\": \\\"✝️\\\",\\n\\t\\t\\t\\\"dharma\\\": \\\"☸️\\\",\\n\\t\\t\\t\\\"khanda\\\": \\\"🪯\\\",\\n\\t\\t\\t\\\"islam\\\": \\\"☪️\\\",\\n\\t\\t\\t\\\"judaism\\\": \\\"✡️\\\",\\n\\t\\t\\t\\\"menorah\\\": \\\"🕎\\\",\\n\\t\\t\\t\\\"om\\\": \\\"🕉️\\\",\\n\\t\\t\\t\\\"orthodox\\\": \\\"☦️\\\",\\n\\t\\t\\t\\\"peace\\\": \\\"☮️\\\",\\n\\t\\t\\t\\\"star.dot\\\": \\\"🔯\\\",\\n\\t\\t\\t\\\"worship\\\": \\\"🛐\\\",\\n\\t\\t\\t\\\"yinyang\\\": \\\"☯️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"falafel\\\": \\\"🧆\\\",\\n\\t\\\"family\\\": \\\"👪️\\\",\\n\\t\\\"fax\\\": \\\"📠\\\",\\n\\t\\\"feather\\\": \\\"🪶\\\",\\n\\t\\\"feeding\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"breast\\\": \\\"🤱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fencing\\\": \\\"🤺\\\",\\n\\t\\\"ferriswheel\\\": \\\"🎡\\\",\\n\\t\\\"fightcloud\\\": \\\"\\\",\\n\\t\\\"filebox\\\": \\\"🗃️\\\",\\n\\t\\\"filedividers\\\": \\\"🗂️\\\",\\n\\t\\\"film\\\": \\\"🎞️\\\",\\n\\t\\\"finger\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"👉️\\\",\\n\\t\\t\\t\\\"l\\\": \\\"👈️\\\",\\n\\t\\t\\t\\\"t\\\": \\\"👆️\\\",\\n\\t\\t\\t\\\"t.alt\\\": \\\"☝️\\\",\\n\\t\\t\\t\\\"b\\\": \\\"👇️\\\",\\n\\t\\t\\t\\\"front\\\": \\\"🫵\\\",\\n\\t\\t\\t\\\"m\\\": \\\"🖕\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fingerprint\\\": \\\"\\\",\\n\\t\\\"fingers\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cross\\\": \\\"🤞\\\",\\n\\t\\t\\t\\\"pinch\\\": \\\"🤌\\\",\\n\\t\\t\\t\\\"snap\\\": \\\"🫰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fire\\\": \\\"🔥\\\",\\n\\t\\\"firecracker\\\": \\\"🧨\\\",\\n\\t\\\"fireengine\\\": \\\"🚒\\\",\\n\\t\\\"fireworks\\\": \\\"🎆\\\",\\n\\t\\\"fish\\\": [\\n\\t\\t\\\"🐟️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"tropical\\\": \\\"🐠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fishing\\\": \\\"🎣\\\",\\n\\t\\\"fist\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"👊\\\",\\n\\t\\t\\t\\\"r\\\": \\\"🤜\\\",\\n\\t\\t\\t\\\"l\\\": \\\"🤛\\\",\\n\\t\\t\\t\\\"raised\\\": \\\"✊️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flag\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"black\\\": \\\"🏴\\\",\\n\\t\\t\\t\\\"white\\\": \\\"🏳️\\\",\\n\\t\\t\\t\\\"goal\\\": \\\"🏁\\\",\\n\\t\\t\\t\\\"golf\\\": \\\"⛳️\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🚩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flags\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"jp.crossed\\\": \\\"🎌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flamingo\\\": \\\"🦩\\\",\\n\\t\\\"flashlight\\\": \\\"🔦\\\",\\n\\t\\\"flatbread\\\": \\\"🫓\\\",\\n\\t\\\"fleur\\\": \\\"⚜️\\\",\\n\\t\\\"floppy\\\": \\\"💾\\\",\\n\\t\\\"flower\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"hibiscus\\\": \\\"🌺\\\",\\n\\t\\t\\t\\\"hyacinth\\\": \\\"🪻\\\",\\n\\t\\t\\t\\\"lotus\\\": \\\"🪷\\\",\\n\\t\\t\\t\\\"pink\\\": \\\"🌸\\\",\\n\\t\\t\\t\\\"rose\\\": \\\"🌹\\\",\\n\\t\\t\\t\\\"sun\\\": \\\"🌻\\\",\\n\\t\\t\\t\\\"tulip\\\": \\\"🌷\\\",\\n\\t\\t\\t\\\"white\\\": \\\"💮\\\",\\n\\t\\t\\t\\\"wilted\\\": \\\"🥀\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"🌼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flute\\\": \\\"🪈\\\",\\n\\t\\\"fly\\\": \\\"🪰\\\",\\n\\t\\\"fog\\\": \\\"🌫️\\\",\\n\\t\\\"folder\\\": [\\n\\t\\t\\\"📁\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"open\\\": \\\"📂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fondue\\\": \\\"🫕\\\",\\n\\t\\\"foot\\\": \\\"🦶\\\",\\n\\t\\\"football\\\": [\\n\\t\\t\\\"⚽️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"am\\\": \\\"🏈\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"forex\\\": \\\"💱\\\",\\n\\t\\\"fountain\\\": \\\"⛲️\\\",\\n\\t\\\"fox\\\": \\\"🦊\\\",\\n\\t\\\"free\\\": \\\"🆓\\\",\\n\\t\\\"fries\\\": \\\"🍟\\\",\\n\\t\\\"frisbee\\\": \\\"🥏\\\",\\n\\t\\\"frog\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fuelpump\\\": \\\"⛽️\\\",\\n\\t\\\"garlic\\\": \\\"🧄\\\",\\n\\t\\\"gear\\\": \\\"⚙️\\\",\\n\\t\\\"gem\\\": \\\"💎\\\",\\n\\t\\\"genie\\\": \\\"🧞\\\",\\n\\t\\\"ghost\\\": \\\"👻\\\",\\n\\t\\\"ginger\\\": \\\"🫚\\\",\\n\\t\\\"giraffe\\\": \\\"🦒\\\",\\n\\t\\\"girl\\\": \\\"👧\\\",\\n\\t\\\"glass\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"clink\\\": \\\"🥂\\\",\\n\\t\\t\\t\\\"milk\\\": \\\"🥛\\\",\\n\\t\\t\\t\\\"pour\\\": \\\"🫗\\\",\\n\\t\\t\\t\\\"tumbler\\\": \\\"🥃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"glasses\\\": [\\n\\t\\t\\\"👓️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"sun\\\": \\\"🕶️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"globe\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"am\\\": \\\"🌎️\\\",\\n\\t\\t\\t\\\"as.au\\\": \\\"🌏️\\\",\\n\\t\\t\\t\\\"eu.af\\\": \\\"🌍️\\\",\\n\\t\\t\\t\\\"meridian\\\": \\\"🌐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"gloves\\\": \\\"🧤\\\",\\n\\t\\\"goal\\\": \\\"🥅\\\",\\n\\t\\\"goat\\\": \\\"🐐\\\",\\n\\t\\\"goggles\\\": \\\"🥽\\\",\\n\\t\\\"golfing\\\": \\\"🏌️\\\",\\n\\t\\\"goose\\\": \\\"🪿\\\",\\n\\t\\\"gorilla\\\": \\\"🦍\\\",\\n\\t\\\"grapes\\\": \\\"🍇\\\",\\n\\t\\\"guard\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"man\\\": \\\"💂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"guitar\\\": \\\"🎸\\\",\\n\\t\\\"gymnastics\\\": \\\"🤸\\\",\\n\\t\\\"haircut\\\": \\\"💇\\\",\\n\\t\\\"hairpick\\\": \\\"🪮\\\",\\n\\t\\\"hammer\\\": [\\n\\t\\t\\\"🔨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"pick\\\": \\\"⚒️\\\",\\n\\t\\t\\t\\\"wrench\\\": \\\"🛠️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hamsa\\\": \\\"🪬\\\",\\n\\t\\\"hamster\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hand\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"raised\\\": \\\"✋️\\\",\\n\\t\\t\\t\\\"raised.alt\\\": \\\"🤚\\\",\\n\\t\\t\\t\\\"r\\\": \\\"🫱\\\",\\n\\t\\t\\t\\\"l\\\": \\\"🫲\\\",\\n\\t\\t\\t\\\"t\\\": \\\"🫴\\\",\\n\\t\\t\\t\\\"b\\\": \\\"🫳\\\",\\n\\t\\t\\t\\\"ok\\\": \\\"👌\\\",\\n\\t\\t\\t\\\"call\\\": \\\"🤙\\\",\\n\\t\\t\\t\\\"love\\\": \\\"🤟\\\",\\n\\t\\t\\t\\\"part\\\": \\\"🖖\\\",\\n\\t\\t\\t\\\"peace\\\": \\\"✌️\\\",\\n\\t\\t\\t\\\"pinch\\\": \\\"🤏\\\",\\n\\t\\t\\t\\\"pushing.l\\\": \\\"🫷\\\",\\n\\t\\t\\t\\\"pushing.r\\\": \\\"🫸\\\",\\n\\t\\t\\t\\\"rock\\\": \\\"🤘\\\",\\n\\t\\t\\t\\\"splay\\\": \\\"🖐️\\\",\\n\\t\\t\\t\\\"wave\\\": \\\"👋\\\",\\n\\t\\t\\t\\\"write\\\": \\\"✍️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"handbag\\\": \\\"👜\\\",\\n\\t\\\"handball\\\": \\\"🤾\\\",\\n\\t\\\"handfan\\\": \\\"🪭\\\",\\n\\t\\\"handholding\\\": [\\n\\t\\t\\\"🧑🤝🧑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"man.man\\\": \\\"👬\\\",\\n\\t\\t\\t\\\"woman.man\\\": \\\"👫\\\",\\n\\t\\t\\t\\\"woman.woman\\\": \\\"👭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hands\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"folded\\\": \\\"🙏\\\",\\n\\t\\t\\t\\\"palms\\\": \\\"🤲\\\",\\n\\t\\t\\t\\\"clap\\\": \\\"👏\\\",\\n\\t\\t\\t\\\"heart\\\": \\\"🫶\\\",\\n\\t\\t\\t\\\"open\\\": \\\"👐\\\",\\n\\t\\t\\t\\\"raised\\\": \\\"🙌\\\",\\n\\t\\t\\t\\\"shake\\\": \\\"🤝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"harp\\\": \\\"\\\",\\n\\t\\\"hash\\\": \\\"#️\\\",\\n\\t\\\"hat\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"ribbon\\\": \\\"👒\\\",\\n\\t\\t\\t\\\"top\\\": \\\"🎩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"headphone\\\": \\\"🎧️\\\",\\n\\t\\\"heart\\\": [\\n\\t\\t\\\"❤️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow\\\": \\\"💘\\\",\\n\\t\\t\\t\\\"beat\\\": \\\"💓\\\",\\n\\t\\t\\t\\\"black\\\": \\\"🖤\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"💙\\\",\\n\\t\\t\\t\\\"box\\\": \\\"💟\\\",\\n\\t\\t\\t\\\"broken\\\": \\\"💔\\\",\\n\\t\\t\\t\\\"brown\\\": \\\"🤎\\\",\\n\\t\\t\\t\\\"double\\\": \\\"💕\\\",\\n\\t\\t\\t\\\"excl\\\": \\\"❣️\\\",\\n\\t\\t\\t\\\"gray\\\": \\\"🩶\\\",\\n\\t\\t\\t\\\"green\\\": \\\"💚\\\",\\n\\t\\t\\t\\\"grow\\\": \\\"💗\\\",\\n\\t\\t\\t\\\"lightblue\\\": \\\"🩵\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🧡\\\",\\n\\t\\t\\t\\\"pink\\\": \\\"🩷\\\",\\n\\t\\t\\t\\\"purple\\\": \\\"💜\\\",\\n\\t\\t\\t\\\"real\\\": \\\"🫀\\\",\\n\\t\\t\\t\\\"revolve\\\": \\\"💞\\\",\\n\\t\\t\\t\\\"ribbon\\\": \\\"💝\\\",\\n\\t\\t\\t\\\"spark\\\": \\\"💖\\\",\\n\\t\\t\\t\\\"white\\\": \\\"🤍\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"💛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hedgehog\\\": \\\"🦔\\\",\\n\\t\\\"helicopter\\\": \\\"🚁\\\",\\n\\t\\\"helix\\\": \\\"🧬\\\",\\n\\t\\\"helmet\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cross\\\": \\\"⛑️\\\",\\n\\t\\t\\t\\\"military\\\": \\\"🪖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hippo\\\": \\\"🦛\\\",\\n\\t\\\"hockey\\\": \\\"🏑\\\",\\n\\t\\\"hole\\\": \\\"🕳️\\\",\\n\\t\\\"honey\\\": \\\"🍯\\\",\\n\\t\\\"hongbao\\\": \\\"🧧\\\",\\n\\t\\\"hook\\\": \\\"🪝\\\",\\n\\t\\\"horn\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"postal\\\": \\\"📯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"horse\\\": [\\n\\t\\t\\\"🐎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"carousel\\\": \\\"🎠\\\",\\n\\t\\t\\t\\\"face\\\": \\\"🐴\\\",\\n\\t\\t\\t\\\"race\\\": \\\"🏇\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hospital\\\": \\\"🏥\\\",\\n\\t\\\"hotdog\\\": \\\"🌭\\\",\\n\\t\\\"hotel\\\": [\\n\\t\\t\\\"🏨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"love\\\": \\\"🏩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hotspring\\\": \\\"♨️\\\",\\n\\t\\\"hourglass\\\": [\\n\\t\\t\\\"⌛️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"flow\\\": \\\"⏳️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"house\\\": [\\n\\t\\t\\\"🏠️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"derelict\\\": \\\"🏚️\\\",\\n\\t\\t\\t\\\"garden\\\": \\\"🏡\\\",\\n\\t\\t\\t\\\"multiple\\\": \\\"🏘️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hundred\\\": \\\"💯\\\",\\n\\t\\\"hut\\\": \\\"🛖\\\",\\n\\t\\\"ice\\\": \\\"🧊\\\",\\n\\t\\\"icecream\\\": [\\n\\t\\t\\\"🍨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"shaved\\\": \\\"🍧\\\",\\n\\t\\t\\t\\\"soft\\\": \\\"🍦\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"icehockey\\\": \\\"🏒\\\",\\n\\t\\\"id\\\": \\\"🆔\\\",\\n\\t\\\"info\\\": \\\"ℹ️\\\",\\n\\t\\\"izakaya\\\": \\\"🏮\\\",\\n\\t\\\"jar\\\": \\\"🫙\\\",\\n\\t\\\"jellyfish\\\": \\\"🪼\\\",\\n\\t\\\"jeans\\\": \\\"👖\\\",\\n\\t\\\"jigsaw\\\": \\\"🧩\\\",\\n\\t\\\"joystick\\\": \\\"🕹️\\\",\\n\\t\\\"juggling\\\": \\\"🤹\\\",\\n\\t\\\"juice\\\": \\\"🧃\\\",\\n\\t\\\"kaaba\\\": \\\"🕋\\\",\\n\\t\\\"kadomatsu\\\": \\\"🎍\\\",\\n\\t\\\"kangaroo\\\": \\\"🦘\\\",\\n\\t\\\"gachi\\\": \\\"🈷️\\\",\\n\\t\\\"go\\\": \\\"🈴\\\",\\n\\t\\\"hi\\\": \\\"㊙️\\\",\\n\\t\\\"ka\\\": \\\"🉑\\\",\\n\\t\\\"kachi\\\": \\\"🈹\\\",\\n\\t\\\"kara\\\": \\\"🈳\\\",\\n\\t\\\"kon\\\": \\\"🈲\\\",\\n\\t\\\"man\\\": [\\n\\t\\t\\\"👨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"🚹️\\\",\\n\\t\\t\\t\\\"crown\\\": \\\"🤴\\\",\\n\\t\\t\\t\\\"guapimao\\\": \\\"👲\\\",\\n\\t\\t\\t\\\"levitate\\\": \\\"🕴️\\\",\\n\\t\\t\\t\\\"old\\\": \\\"👴\\\",\\n\\t\\t\\t\\\"pregnant\\\": \\\"🫃\\\",\\n\\t\\t\\t\\\"turban\\\": \\\"👳\\\",\\n\\t\\t\\t\\\"tuxedo\\\": \\\"🤵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"muryo\\\": \\\"🈚️\\\",\\n\\t\\\"shin\\\": \\\"🈸\\\",\\n\\t\\\"shuku\\\": \\\"㊗️\\\",\\n\\t\\\"toku\\\": \\\"🉐\\\",\\n\\t\\\"yo\\\": \\\"🈺\\\",\\n\\t\\\"yubi\\\": \\\"🈯️\\\",\\n\\t\\\"yuryo\\\": \\\"🈶\\\",\\n\\t\\\"koko\\\": \\\"🈁\\\",\\n\\t\\\"sa\\\": \\\"🈂️\\\",\\n\\t\\\"kebab\\\": \\\"🥙\\\",\\n\\t\\\"key\\\": [\\n\\t\\t\\\"🔑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"old\\\": \\\"🗝️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"keyboard\\\": \\\"⌨️\\\",\\n\\t\\\"kiss\\\": \\\"💏\\\",\\n\\t\\\"kissmark\\\": \\\"💋\\\",\\n\\t\\\"kite\\\": \\\"🪁\\\",\\n\\t\\\"kiwi\\\": \\\"🥝\\\",\\n\\t\\\"knife\\\": [\\n\\t\\t\\\"🔪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dagger\\\": \\\"🗡️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"knot\\\": \\\"🪢\\\",\\n\\t\\\"koala\\\": \\\"🐨\\\",\\n\\t\\\"koinobori\\\": \\\"🎏\\\",\\n\\t\\\"label\\\": \\\"🏷️\\\",\\n\\t\\\"lacrosse\\\": \\\"🥍\\\",\\n\\t\\\"ladder\\\": \\\"🪜\\\",\\n\\t\\\"lamp\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"diya\\\": \\\"🪔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"landslide\\\": \\\"\\\",\\n\\t\\\"laptop\\\": \\\"💻️\\\",\\n\\t\\\"a\\\": \\\"🅰️\\\",\\n\\t\\\"ab\\\": \\\"🆎\\\",\\n\\t\\\"b\\\": \\\"🅱️\\\",\\n\\t\\\"cl\\\": \\\"🆑\\\",\\n\\t\\\"o\\\": \\\"🅾️\\\",\\n\\t\\\"leaf\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"clover.three\\\": \\\"☘️\\\",\\n\\t\\t\\t\\\"clover.four\\\": \\\"🍀\\\",\\n\\t\\t\\t\\\"fall\\\": \\\"🍂\\\",\\n\\t\\t\\t\\\"herb\\\": \\\"🌿\\\",\\n\\t\\t\\t\\\"maple\\\": \\\"🍁\\\",\\n\\t\\t\\t\\\"wind\\\": \\\"🍃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"leftluggage\\\": \\\"🛅\\\",\\n\\t\\\"leg\\\": [\\n\\t\\t\\\"🦵\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"mech\\\": \\\"🦿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lemon\\\": \\\"🍋\\\",\\n\\t\\\"leopard\\\": \\\"🐆\\\",\\n\\t\\\"letter\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"love\\\": \\\"💌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"liberty\\\": \\\"🗽\\\",\\n\\t\\\"lightbulb\\\": \\\"💡\\\",\\n\\t\\\"lightning\\\": \\\"⚡️\\\",\\n\\t\\\"lion\\\": \\\"🦁\\\",\\n\\t\\\"lipstick\\\": \\\"💄\\\",\\n\\t\\\"litter\\\": [\\n\\t\\t\\\"🚮\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lizard\\\": \\\"🦎\\\",\\n\\t\\\"llama\\\": \\\"🦙\\\",\\n\\t\\\"lobster\\\": \\\"🦞\\\",\\n\\t\\\"lock\\\": [\\n\\t\\t\\\"🔒️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"key\\\": \\\"🔐\\\",\\n\\t\\t\\t\\\"open\\\": \\\"🔓️\\\",\\n\\t\\t\\t\\\"pen\\\": \\\"🔏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lollipop\\\": \\\"🍭\\\",\\n\\t\\\"lotion\\\": \\\"🧴\\\",\\n\\t\\\"luggage\\\": \\\"🧳\\\",\\n\\t\\\"lungs\\\": \\\"🫁\\\",\\n\\t\\\"mage\\\": \\\"🧙\\\",\\n\\t\\\"magnet\\\": \\\"🧲\\\",\\n\\t\\\"magnify\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"🔎\\\",\\n\\t\\t\\t\\\"l\\\": \\\"🔍️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mahjong\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"dragon.red\\\": \\\"🀄️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mail\\\": [\\n\\t\\t\\\"✉️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow\\\": \\\"📩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mailbox\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"closed.empty\\\": \\\"📪️\\\",\\n\\t\\t\\t\\\"closed.full\\\": \\\"📫️\\\",\\n\\t\\t\\t\\\"open.empty\\\": \\\"📭️\\\",\\n\\t\\t\\t\\\"open.full\\\": \\\"📬️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mammoth\\\": \\\"🦣\\\",\\n\\t\\\"mango\\\": \\\"🥭\\\",\\n\\t\\\"map\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"world\\\": \\\"🗺️\\\",\\n\\t\\t\\t\\\"jp\\\": \\\"🗾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"maracas\\\": \\\"🪇\\\",\\n\\t\\\"martialarts\\\": \\\"🥋\\\",\\n\\t\\\"masks\\\": \\\"🎭️\\\",\\n\\t\\\"mate\\\": \\\"🧉\\\",\\n\\t\\\"matryoshka\\\": \\\"🪆\\\",\\n\\t\\\"meat\\\": [\\n\\t\\t\\\"🥩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bone\\\": \\\"🍖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"medal\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"first\\\": \\\"🥇\\\",\\n\\t\\t\\t\\\"second\\\": \\\"🥈\\\",\\n\\t\\t\\t\\\"third\\\": \\\"🥉\\\",\\n\\t\\t\\t\\\"sports\\\": \\\"🏅\\\",\\n\\t\\t\\t\\\"military\\\": \\\"🎖️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"megaphone\\\": [\\n\\t\\t\\\"📢\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"simple\\\": \\\"📣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"melon\\\": \\\"🍈\\\",\\n\\t\\\"merperson\\\": \\\"🧜\\\",\\n\\t\\\"metro\\\": \\\"Ⓜ️\\\",\\n\\t\\\"microbe\\\": \\\"🦠\\\",\\n\\t\\\"microphone\\\": [\\n\\t\\t\\\"🎤\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"studio\\\": \\\"🎙️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"microscope\\\": \\\"🔬\\\",\\n\\t\\\"milkyway\\\": \\\"🌌\\\",\\n\\t\\\"mirror\\\": \\\"🪞\\\",\\n\\t\\\"mixer\\\": \\\"🎛️\\\",\\n\\t\\\"money\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"bag\\\": \\\"💰️\\\",\\n\\t\\t\\t\\\"dollar\\\": \\\"💵\\\",\\n\\t\\t\\t\\\"euro\\\": \\\"💶\\\",\\n\\t\\t\\t\\\"pound\\\": \\\"💷\\\",\\n\\t\\t\\t\\\"yen\\\": \\\"💴\\\",\\n\\t\\t\\t\\\"wings\\\": \\\"💸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"monkey\\\": [\\n\\t\\t\\\"🐒\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐵\\\",\\n\\t\\t\\t\\\"hear.not\\\": \\\"🙉\\\",\\n\\t\\t\\t\\\"see.not\\\": \\\"🙈\\\",\\n\\t\\t\\t\\\"speak.not\\\": \\\"🙊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"moon\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"crescent\\\": \\\"🌙\\\",\\n\\t\\t\\t\\\"full\\\": \\\"🌕️\\\",\\n\\t\\t\\t\\\"full.face\\\": \\\"🌝\\\",\\n\\t\\t\\t\\\"new\\\": \\\"🌑\\\",\\n\\t\\t\\t\\\"new.face\\\": \\\"🌚\\\",\\n\\t\\t\\t\\\"wane.one\\\": \\\"🌖\\\",\\n\\t\\t\\t\\\"wane.two\\\": \\\"🌗\\\",\\n\\t\\t\\t\\\"wane.three.face\\\": \\\"🌜️\\\",\\n\\t\\t\\t\\\"wane.three\\\": \\\"🌘\\\",\\n\\t\\t\\t\\\"wax.one\\\": \\\"🌒\\\",\\n\\t\\t\\t\\\"wax.two\\\": \\\"🌓\\\",\\n\\t\\t\\t\\\"wax.two.face\\\": \\\"🌛\\\",\\n\\t\\t\\t\\\"wax.three\\\": \\\"🌔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"moose\\\": \\\"🫎\\\",\\n\\t\\\"mortarboard\\\": \\\"🎓️\\\",\\n\\t\\\"mosque\\\": \\\"🕌\\\",\\n\\t\\\"mosquito\\\": \\\"🦟\\\",\\n\\t\\\"motorcycle\\\": \\\"🏍️\\\",\\n\\t\\\"motorway\\\": \\\"🛣️\\\",\\n\\t\\\"mountain\\\": [\\n\\t\\t\\\"⛰️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fuji\\\": \\\"🗻\\\",\\n\\t\\t\\t\\\"snow\\\": \\\"🏔️\\\",\\n\\t\\t\\t\\\"sunrise\\\": \\\"🌄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mouse\\\": [\\n\\t\\t\\\"🐁\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mousetrap\\\": \\\"🪤\\\",\\n\\t\\\"mouth\\\": [\\n\\t\\t\\\"👄\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bite\\\": \\\"🫦\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"moyai\\\": \\\"🗿\\\",\\n\\t\\\"museum\\\": \\\"🏛️\\\",\\n\\t\\\"mushroom\\\": \\\"🍄\\\",\\n\\t\\\"musicalscore\\\": \\\"🎼\\\",\\n\\t\\\"nails\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"polish\\\": \\\"💅\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"namebadge\\\": \\\"📛\\\",\\n\\t\\\"nazar\\\": \\\"🧿\\\",\\n\\t\\\"necktie\\\": \\\"👔\\\",\\n\\t\\\"needle\\\": \\\"🪡\\\",\\n\\t\\\"nest\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"empty\\\": \\\"🪹\\\",\\n\\t\\t\\t\\\"eggs\\\": \\\"🪺\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"new\\\": \\\"🆕\\\",\\n\\t\\\"newspaper\\\": [\\n\\t\\t\\\"📰\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"rolled\\\": \\\"🗞️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ng\\\": \\\"🆖\\\",\\n\\t\\\"ningyo\\\": \\\"🎎\\\",\\n\\t\\\"ninja\\\": \\\"🥷\\\",\\n\\t\\\"noentry\\\": \\\"⛔️\\\",\\n\\t\\\"nose\\\": \\\"👃\\\",\\n\\t\\\"notebook\\\": [\\n\\t\\t\\\"📓\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"deco\\\": \\\"📔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"notepad\\\": \\\"🗒️\\\",\\n\\t\\\"notes\\\": [\\n\\t\\t\\\"🎵\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"triple\\\": \\\"🎶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"numbers\\\": \\\"🔢\\\",\\n\\t\\\"octopus\\\": \\\"🐙\\\",\\n\\t\\\"office\\\": \\\"🏢\\\",\\n\\t\\\"oil\\\": \\\"🛢️\\\",\\n\\t\\\"ok\\\": \\\"🆗\\\",\\n\\t\\\"olive\\\": \\\"🫒\\\",\\n\\t\\\"oni\\\": \\\"👹\\\",\\n\\t\\\"onion\\\": \\\"🧅\\\",\\n\\t\\\"orangutan\\\": \\\"🦧\\\",\\n\\t\\\"orca\\\": \\\"\\\",\\n\\t\\\"otter\\\": \\\"🦦\\\",\\n\\t\\\"owl\\\": \\\"🦉\\\",\\n\\t\\\"ox\\\": \\\"🐂\\\",\\n\\t\\\"oyster\\\": \\\"🦪\\\",\\n\\t\\\"package\\\": \\\"📦️\\\",\\n\\t\\\"paella\\\": \\\"🥘\\\",\\n\\t\\\"page\\\": [\\n\\t\\t\\\"📄\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"curl\\\": \\\"📃\\\",\\n\\t\\t\\t\\\"pencil\\\": \\\"📝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pager\\\": \\\"📟️\\\",\\n\\t\\\"pages\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"tabs\\\": \\\"📑\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"painting\\\": \\\"🖼️\\\",\\n\\t\\\"palette\\\": \\\"🎨\\\",\\n\\t\\\"pancakes\\\": \\\"🥞\\\",\\n\\t\\\"panda\\\": \\\"🐼\\\",\\n\\t\\\"parachute\\\": \\\"🪂\\\",\\n\\t\\\"park\\\": \\\"🏞️\\\",\\n\\t\\\"parking\\\": \\\"🅿️\\\",\\n\\t\\\"parrot\\\": \\\"🦜\\\",\\n\\t\\\"partalteration\\\": \\\"〽️\\\",\\n\\t\\\"party\\\": \\\"🎉\\\",\\n\\t\\\"peach\\\": \\\"🍑\\\",\\n\\t\\\"peacock\\\": \\\"🦚\\\",\\n\\t\\\"peanuts\\\": \\\"🥜\\\",\\n\\t\\\"peapod\\\": \\\"🫛\\\",\\n\\t\\\"pear\\\": \\\"🍐\\\",\\n\\t\\\"pedestrian\\\": [\\n\\t\\t\\\"🚶\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚷\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pen\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"ball\\\": \\\"🖊️\\\",\\n\\t\\t\\t\\\"fountain\\\": \\\"🖋️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pencil\\\": \\\"✏️\\\",\\n\\t\\\"penguin\\\": \\\"🐧\\\",\\n\\t\\\"pepper\\\": [\\n\\t\\t\\\"🫑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"hot\\\": \\\"🌶️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"person\\\": [\\n\\t\\t\\\"🧑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"angry\\\": \\\"🙎\\\",\\n\\t\\t\\t\\\"beard\\\": \\\"🧔\\\",\\n\\t\\t\\t\\\"blonde\\\": \\\"👱\\\",\\n\\t\\t\\t\\\"bow\\\": \\\"🙇\\\",\\n\\t\\t\\t\\\"crown\\\": \\\"🫅\\\",\\n\\t\\t\\t\\\"deaf\\\": \\\"🧏\\\",\\n\\t\\t\\t\\\"facepalm\\\": \\\"🤦\\\",\\n\\t\\t\\t\\\"frown\\\": \\\"🙍\\\",\\n\\t\\t\\t\\\"hijab\\\": \\\"🧕\\\",\\n\\t\\t\\t\\\"kneel\\\": \\\"🧎\\\",\\n\\t\\t\\t\\\"lotus\\\": \\\"🧘\\\",\\n\\t\\t\\t\\\"massage\\\": \\\"💆\\\",\\n\\t\\t\\t\\\"no\\\": \\\"🙅\\\",\\n\\t\\t\\t\\\"ok\\\": \\\"🙆\\\",\\n\\t\\t\\t\\\"old\\\": \\\"🧓\\\",\\n\\t\\t\\t\\\"pregnant\\\": \\\"🫄\\\",\\n\\t\\t\\t\\\"raise\\\": \\\"🙋\\\",\\n\\t\\t\\t\\\"sassy\\\": \\\"💁\\\",\\n\\t\\t\\t\\\"shrug\\\": \\\"🤷\\\",\\n\\t\\t\\t\\\"stand\\\": \\\"🧍\\\",\\n\\t\\t\\t\\\"steam\\\": \\\"🧖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"petri\\\": \\\"🧫\\\",\\n\\t\\\"phone\\\": [\\n\\t\\t\\\"📱\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow\\\": \\\"📲\\\",\\n\\t\\t\\t\\\"classic\\\": \\\"☎️\\\",\\n\\t\\t\\t\\\"not\\\": \\\"📵\\\",\\n\\t\\t\\t\\\"off\\\": \\\"📴\\\",\\n\\t\\t\\t\\\"receiver\\\": \\\"📞\\\",\\n\\t\\t\\t\\\"signal\\\": \\\"📶\\\",\\n\\t\\t\\t\\\"vibrate\\\": \\\"📳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"piano\\\": \\\"🎹\\\",\\n\\t\\\"pick\\\": \\\"⛏️\\\",\\n\\t\\\"pie\\\": \\\"🥧\\\",\\n\\t\\\"pig\\\": [\\n\\t\\t\\\"🐖\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐷\\\",\\n\\t\\t\\t\\\"nose\\\": \\\"🐽\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pill\\\": \\\"💊\\\",\\n\\t\\\"pin\\\": [\\n\\t\\t\\\"📌\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"round\\\": \\\"📍\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pinata\\\": \\\"🪅\\\",\\n\\t\\\"pineapple\\\": \\\"🍍\\\",\\n\\t\\\"pingpong\\\": \\\"🏓\\\",\\n\\t\\\"pistol\\\": \\\"🔫\\\",\\n\\t\\\"pizza\\\": \\\"🍕\\\",\\n\\t\\\"placard\\\": \\\"🪧\\\",\\n\\t\\\"planet\\\": \\\"🪐\\\",\\n\\t\\\"plant\\\": \\\"🪴\\\",\\n\\t\\\"plaster\\\": \\\"🩹\\\",\\n\\t\\\"plate\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cutlery\\\": \\\"🍽️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"playback\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"down\\\": \\\"⏬️\\\",\\n\\t\\t\\t\\\"eject\\\": \\\"⏏️\\\",\\n\\t\\t\\t\\\"forward\\\": \\\"⏩️\\\",\\n\\t\\t\\t\\\"pause\\\": \\\"⏸️\\\",\\n\\t\\t\\t\\\"record\\\": \\\"⏺️\\\",\\n\\t\\t\\t\\\"repeat\\\": \\\"🔁\\\",\\n\\t\\t\\t\\\"repeat.once\\\": \\\"🔂\\\",\\n\\t\\t\\t\\\"repeat.v\\\": \\\"🔃\\\",\\n\\t\\t\\t\\\"restart\\\": \\\"⏮️\\\",\\n\\t\\t\\t\\\"rewind\\\": \\\"⏪️\\\",\\n\\t\\t\\t\\\"shuffle\\\": \\\"🔀\\\",\\n\\t\\t\\t\\\"skip\\\": \\\"⏭️\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"⏹️\\\",\\n\\t\\t\\t\\\"toggle\\\": \\\"⏯️\\\",\\n\\t\\t\\t\\\"up\\\": \\\"⏫️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"playingcard\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"flower\\\": \\\"🎴\\\",\\n\\t\\t\\t\\\"joker\\\": \\\"🃏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"plunger\\\": \\\"🪠\\\",\\n\\t\\\"policeofficer\\\": \\\"👮\\\",\\n\\t\\\"poo\\\": \\\"💩\\\",\\n\\t\\\"popcorn\\\": \\\"🍿\\\",\\n\\t\\\"post\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"eu\\\": \\\"🏤\\\",\\n\\t\\t\\t\\\"jp\\\": \\\"🏣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"postbox\\\": \\\"📮\\\",\\n\\t\\\"potato\\\": [\\n\\t\\t\\\"🥔\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"sweet\\\": \\\"🍠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pouch\\\": \\\"👝\\\",\\n\\t\\\"powerplug\\\": \\\"🔌\\\",\\n\\t\\\"present\\\": \\\"🎁\\\",\\n\\t\\\"pretzel\\\": \\\"🥨\\\",\\n\\t\\\"printer\\\": \\\"🖨️\\\",\\n\\t\\\"prints\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"foot\\\": \\\"👣\\\",\\n\\t\\t\\t\\\"paw\\\": \\\"🐾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prohibited\\\": \\\"🚫\\\",\\n\\t\\\"projector\\\": \\\"📽️\\\",\\n\\t\\\"pumpkin\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"lantern\\\": \\\"🎃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"purse\\\": \\\"👛\\\",\\n\\t\\\"quest\\\": [\\n\\t\\t\\\"❓️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"white\\\": \\\"❔️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rabbit\\\": [\\n\\t\\t\\\"🐇\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"raccoon\\\": \\\"🦝\\\",\\n\\t\\\"radio\\\": \\\"📻️\\\",\\n\\t\\\"radioactive\\\": \\\"☢️\\\",\\n\\t\\\"railway\\\": \\\"🛤️\\\",\\n\\t\\\"rainbow\\\": \\\"🌈\\\",\\n\\t\\\"ram\\\": \\\"🐏\\\",\\n\\t\\\"rat\\\": \\\"🐀\\\",\\n\\t\\\"razor\\\": \\\"🪒\\\",\\n\\t\\\"receipt\\\": \\\"🧾\\\",\\n\\t\\\"recycling\\\": \\\"♻️\\\",\\n\\t\\\"reg\\\": \\\"®️\\\",\\n\\t\\\"restroom\\\": \\\"🚻\\\",\\n\\t\\\"rhino\\\": \\\"🦏\\\",\\n\\t\\\"ribbon\\\": [\\n\\t\\t\\\"🎀\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"remind\\\": \\\"🎗️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rice\\\": [\\n\\t\\t\\\"🍚\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cracker\\\": \\\"🍘\\\",\\n\\t\\t\\t\\\"ear\\\": \\\"🌾\\\",\\n\\t\\t\\t\\\"onigiri\\\": \\\"🍙\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ring\\\": \\\"💍\\\",\\n\\t\\\"ringbuoy\\\": \\\"🛟\\\",\\n\\t\\\"robot\\\": \\\"🤖\\\",\\n\\t\\\"rock\\\": \\\"🪨\\\",\\n\\t\\\"rocket\\\": \\\"🚀\\\",\\n\\t\\\"rollercoaster\\\": \\\"🎢\\\",\\n\\t\\\"rosette\\\": \\\"🏵️\\\",\\n\\t\\\"rugby\\\": \\\"🏉\\\",\\n\\t\\\"ruler\\\": [\\n\\t\\t\\\"📏\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"triangle\\\": \\\"📐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"running\\\": \\\"🏃\\\",\\n\\t\\\"safetypin\\\": \\\"🧷\\\",\\n\\t\\\"safetyvest\\\": \\\"🦺\\\",\\n\\t\\\"sake\\\": \\\"🍶\\\",\\n\\t\\\"salad\\\": \\\"🥗\\\",\\n\\t\\\"salt\\\": \\\"🧂\\\",\\n\\t\\\"sandwich\\\": \\\"🥪\\\",\\n\\t\\\"santa\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"man\\\": \\\"🎅\\\",\\n\\t\\t\\t\\\"woman\\\": \\\"🤶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"satdish\\\": \\\"📡\\\",\\n\\t\\\"satellite\\\": \\\"🛰️\\\",\\n\\t\\\"saw\\\": \\\"🪚\\\",\\n\\t\\\"saxophone\\\": \\\"🎷\\\",\\n\\t\\\"scales\\\": \\\"⚖️\\\",\\n\\t\\\"scarf\\\": \\\"🧣\\\",\\n\\t\\\"school\\\": \\\"🏫\\\",\\n\\t\\\"scissors\\\": \\\"✂️\\\",\\n\\t\\\"scooter\\\": [\\n\\t\\t\\\"🛴\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"motor\\\": \\\"🛵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"scorpion\\\": \\\"🦂\\\",\\n\\t\\\"screwdriver\\\": \\\"🪛\\\",\\n\\t\\\"scroll\\\": \\\"📜\\\",\\n\\t\\\"seal\\\": \\\"🦭\\\",\\n\\t\\\"seat\\\": \\\"💺\\\",\\n\\t\\\"seedling\\\": \\\"🌱\\\",\\n\\t\\\"shark\\\": \\\"🦈\\\",\\n\\t\\\"sheep\\\": \\\"🐑\\\",\\n\\t\\\"shell\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"spiral\\\": \\\"🐚\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shield\\\": \\\"🛡️\\\",\\n\\t\\\"ship\\\": [\\n\\t\\t\\\"🚢\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cruise\\\": \\\"🛳️\\\",\\n\\t\\t\\t\\\"ferry\\\": \\\"⛴️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shirt\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"sports\\\": \\\"🎽\\\",\\n\\t\\t\\t\\\"t\\\": \\\"👕\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shoe\\\": [\\n\\t\\t\\\"👞\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ballet\\\": \\\"🩰\\\",\\n\\t\\t\\t\\\"flat\\\": \\\"🥿\\\",\\n\\t\\t\\t\\\"heel\\\": \\\"👠\\\",\\n\\t\\t\\t\\\"hike\\\": \\\"🥾\\\",\\n\\t\\t\\t\\\"ice\\\": \\\"⛸️\\\",\\n\\t\\t\\t\\\"roller\\\": \\\"🛼\\\",\\n\\t\\t\\t\\\"sandal.heel\\\": \\\"👡\\\",\\n\\t\\t\\t\\\"ski\\\": \\\"🎿\\\",\\n\\t\\t\\t\\\"sneaker\\\": \\\"👟\\\",\\n\\t\\t\\t\\\"tall\\\": \\\"👢\\\",\\n\\t\\t\\t\\\"thong\\\": \\\"🩴\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shopping\\\": \\\"🛍️\\\",\\n\\t\\\"shorts\\\": \\\"🩳\\\",\\n\\t\\\"shoshinsha\\\": \\\"🔰\\\",\\n\\t\\\"shovel\\\": \\\"\\\",\\n\\t\\\"shower\\\": \\\"🚿\\\",\\n\\t\\\"shrimp\\\": [\\n\\t\\t\\\"🦐\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fried\\\": \\\"🍤\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shrine\\\": \\\"⛩️\\\",\\n\\t\\\"sign\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"crossing\\\": \\\"🚸\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"🛑\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"silhouette\\\": [\\n\\t\\t\\\"👤\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"👥\\\",\\n\\t\\t\\t\\\"hug\\\": \\\"🫂\\\",\\n\\t\\t\\t\\\"speak\\\": \\\"🗣️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"siren\\\": \\\"🚨\\\",\\n\\t\\\"skateboard\\\": \\\"🛹\\\",\\n\\t\\\"skewer\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"dango\\\": \\\"🍡\\\",\\n\\t\\t\\t\\\"oden\\\": \\\"🍢\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"skiing\\\": \\\"⛷️\\\",\\n\\t\\\"skull\\\": [\\n\\t\\t\\\"💀\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bones\\\": \\\"☠️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"skunk\\\": \\\"🦨\\\",\\n\\t\\\"sled\\\": \\\"🛷\\\",\\n\\t\\\"slide\\\": \\\"🛝\\\",\\n\\t\\\"slider\\\": \\\"🎚️\\\",\\n\\t\\\"sloth\\\": \\\"🦥\\\",\\n\\t\\\"slots\\\": \\\"🎰\\\",\\n\\t\\\"snail\\\": \\\"🐌\\\",\\n\\t\\\"snake\\\": \\\"🐍\\\",\\n\\t\\\"snowboarding\\\": \\\"🏂️\\\",\\n\\t\\\"snowflake\\\": \\\"❄️\\\",\\n\\t\\\"snowman\\\": [\\n\\t\\t\\\"⛄️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"snow\\\": \\\"☃️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"soap\\\": \\\"🧼\\\",\\n\\t\\\"socks\\\": \\\"🧦\\\",\\n\\t\\\"softball\\\": \\\"🥎\\\",\\n\\t\\\"sos\\\": \\\"🆘\\\",\\n\\t\\\"soup\\\": \\\"🍲\\\",\\n\\t\\\"spaghetti\\\": \\\"🍝\\\",\\n\\t\\\"sparkle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"❇️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sparkler\\\": \\\"🎇\\\",\\n\\t\\\"sparkles\\\": \\\"✨️\\\",\\n\\t\\\"speaker\\\": [\\n\\t\\t\\\"🔈️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🔇\\\",\\n\\t\\t\\t\\\"wave\\\": \\\"🔉\\\",\\n\\t\\t\\t\\\"waves\\\": \\\"🔊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"spider\\\": \\\"🕷️\\\",\\n\\t\\\"spiderweb\\\": \\\"🕸️\\\",\\n\\t\\\"spinach\\\": \\\"🥬\\\",\\n\\t\\\"splatter\\\": \\\"\\\",\\n\\t\\\"sponge\\\": \\\"🧽\\\",\\n\\t\\\"spoon\\\": \\\"🥄\\\",\\n\\t\\\"square\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"black\\\": \\\"⬛️\\\",\\n\\t\\t\\t\\\"black.tiny\\\": \\\"▪️\\\",\\n\\t\\t\\t\\\"black.small\\\": \\\"◾️\\\",\\n\\t\\t\\t\\\"black.medium\\\": \\\"◼️\\\",\\n\\t\\t\\t\\\"white\\\": \\\"⬜️\\\",\\n\\t\\t\\t\\\"white.tiny\\\": \\\"▫️\\\",\\n\\t\\t\\t\\\"white.small\\\": \\\"◽️\\\",\\n\\t\\t\\t\\\"white.medium\\\": \\\"◻️\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"🟦\\\",\\n\\t\\t\\t\\\"brown\\\": \\\"🟫\\\",\\n\\t\\t\\t\\\"green\\\": \\\"🟩\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🟧\\\",\\n\\t\\t\\t\\\"purple\\\": \\\"🟪\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🟥\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"🟨\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"squid\\\": \\\"🦑\\\",\\n\\t\\\"stadium\\\": \\\"🏟️\\\",\\n\\t\\\"star\\\": [\\n\\t\\t\\\"⭐️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arc\\\": \\\"💫\\\",\\n\\t\\t\\t\\\"box\\\": \\\"✴️\\\",\\n\\t\\t\\t\\\"glow\\\": \\\"🌟\\\",\\n\\t\\t\\t\\\"shoot\\\": \\\"🌠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"stethoscope\\\": \\\"🩺\\\",\\n\\t\\\"store\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"🏬\\\",\\n\\t\\t\\t\\\"small\\\": \\\"🏪\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"strawberry\\\": \\\"🍓\\\",\\n\\t\\\"suit\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"club\\\": \\\"♣️\\\",\\n\\t\\t\\t\\\"diamond\\\": \\\"♦️\\\",\\n\\t\\t\\t\\\"heart\\\": \\\"♥️\\\",\\n\\t\\t\\t\\\"spade\\\": \\\"♠️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sun\\\": [\\n\\t\\t\\\"☀️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cloud\\\": \\\"🌤️\\\",\\n\\t\\t\\t\\\"face\\\": \\\"🌞\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sunrise\\\": \\\"🌅\\\",\\n\\t\\\"superhero\\\": \\\"🦸\\\",\\n\\t\\\"supervillain\\\": \\\"🦹\\\",\\n\\t\\\"surfing\\\": \\\"🏄️\\\",\\n\\t\\\"sushi\\\": \\\"🍣\\\",\\n\\t\\\"swan\\\": \\\"🦢\\\",\\n\\t\\\"swimming\\\": \\\"🏊️\\\",\\n\\t\\\"swimsuit\\\": \\\"🩱\\\",\\n\\t\\\"swords\\\": \\\"⚔️\\\",\\n\\t\\\"symbols\\\": \\\"🔣\\\",\\n\\t\\\"synagogue\\\": \\\"🕍\\\",\\n\\t\\\"syringe\\\": \\\"💉\\\",\\n\\t\\\"taco\\\": \\\"🌮\\\",\\n\\t\\\"takeout\\\": \\\"🥡\\\",\\n\\t\\\"tamale\\\": \\\"🫔\\\",\\n\\t\\\"tanabata\\\": \\\"🎋\\\",\\n\\t\\\"tangerine\\\": \\\"🍊\\\",\\n\\t\\\"tap\\\": [\\n\\t\\t\\\"🚰\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"taxi\\\": [\\n\\t\\t\\\"🚕\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"🚖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"teacup\\\": \\\"🍵\\\",\\n\\t\\\"teapot\\\": \\\"🫖\\\",\\n\\t\\\"teddy\\\": \\\"🧸\\\",\\n\\t\\\"telescope\\\": \\\"🔭\\\",\\n\\t\\\"temple\\\": \\\"🛕\\\",\\n\\t\\\"ten\\\": \\\"🔟\\\",\\n\\t\\\"tengu\\\": \\\"👺\\\",\\n\\t\\\"tennis\\\": \\\"🎾\\\",\\n\\t\\\"tent\\\": \\\"⛺️\\\",\\n\\t\\\"testtube\\\": \\\"🧪\\\",\\n\\t\\\"thermometer\\\": \\\"🌡️\\\",\\n\\t\\\"thread\\\": \\\"🧵\\\",\\n\\t\\\"thumb\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"up\\\": \\\"👍️\\\",\\n\\t\\t\\t\\\"down\\\": \\\"👎️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ticket\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"event\\\": \\\"🎟️\\\",\\n\\t\\t\\t\\\"travel\\\": \\\"🎫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tiger\\\": [\\n\\t\\t\\\"🐅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tm\\\": \\\"™️\\\",\\n\\t\\\"toilet\\\": \\\"🚽\\\",\\n\\t\\\"toiletpaper\\\": \\\"🧻\\\",\\n\\t\\\"tomato\\\": \\\"🍅\\\",\\n\\t\\\"tombstone\\\": \\\"🪦\\\",\\n\\t\\\"tongue\\\": \\\"👅\\\",\\n\\t\\\"toolbox\\\": \\\"🧰\\\",\\n\\t\\\"tooth\\\": \\\"🦷\\\",\\n\\t\\\"toothbrush\\\": \\\"🪥\\\",\\n\\t\\\"tornado\\\": \\\"🌪️\\\",\\n\\t\\\"tower\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"tokyo\\\": \\\"🗼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"trackball\\\": \\\"🖲️\\\",\\n\\t\\\"tractor\\\": \\\"🚜\\\",\\n\\t\\\"trafficlight\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"v\\\": \\\"🚦\\\",\\n\\t\\t\\t\\\"h\\\": \\\"🚥\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"train\\\": [\\n\\t\\t\\\"🚆\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"car\\\": \\\"🚃\\\",\\n\\t\\t\\t\\\"light\\\": \\\"🚈\\\",\\n\\t\\t\\t\\\"metro\\\": \\\"🚇️\\\",\\n\\t\\t\\t\\\"mono\\\": \\\"🚝\\\",\\n\\t\\t\\t\\\"mountain\\\": \\\"🚞\\\",\\n\\t\\t\\t\\\"speed\\\": \\\"🚄\\\",\\n\\t\\t\\t\\\"speed.bullet\\\": \\\"🚅\\\",\\n\\t\\t\\t\\\"steam\\\": \\\"🚂\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"🚉\\\",\\n\\t\\t\\t\\\"suspend\\\": \\\"🚟\\\",\\n\\t\\t\\t\\\"tram\\\": \\\"🚊\\\",\\n\\t\\t\\t\\\"tram.car\\\": \\\"🚋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"transgender\\\": \\\"⚧️\\\",\\n\\t\\\"tray\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"inbox\\\": \\\"📥️\\\",\\n\\t\\t\\t\\\"mail\\\": \\\"📨\\\",\\n\\t\\t\\t\\\"outbox\\\": \\\"📤️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"treasure\\\": \\\"\\\",\\n\\t\\\"tree\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"deciduous\\\": \\\"🌳\\\",\\n\\t\\t\\t\\\"evergreen\\\": \\\"🌲\\\",\\n\\t\\t\\t\\\"leafless\\\": \\\"\\\",\\n\\t\\t\\t\\\"palm\\\": \\\"🌴\\\",\\n\\t\\t\\t\\\"xmas\\\": \\\"🎄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"triangle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"▶️\\\",\\n\\t\\t\\t\\\"l\\\": \\\"◀️\\\",\\n\\t\\t\\t\\\"t\\\": \\\"🔼\\\",\\n\\t\\t\\t\\\"b\\\": \\\"🔽\\\",\\n\\t\\t\\t\\\"t.red\\\": \\\"🔺\\\",\\n\\t\\t\\t\\\"b.red\\\": \\\"🔻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"trident\\\": \\\"🔱\\\",\\n\\t\\\"troll\\\": \\\"🧌\\\",\\n\\t\\\"trombone\\\": \\\"\\\",\\n\\t\\\"trophy\\\": \\\"🏆️\\\",\\n\\t\\\"truck\\\": [\\n\\t\\t\\\"🚚\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"trailer\\\": \\\"🚛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"trumpet\\\": \\\"🎺\\\",\\n\\t\\\"tsukimi\\\": \\\"🎑\\\",\\n\\t\\\"turkey\\\": \\\"🦃\\\",\\n\\t\\\"turtle\\\": \\\"🐢\\\",\\n\\t\\\"tv\\\": \\\"📺️\\\",\\n\\t\\\"ufo\\\": \\\"🛸\\\",\\n\\t\\\"umbrella\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"open\\\": \\\"☂️\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"🌂\\\",\\n\\t\\t\\t\\\"rain\\\": \\\"☔️\\\",\\n\\t\\t\\t\\\"sun\\\": \\\"⛱️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"unicorn\\\": \\\"🦄\\\",\\n\\t\\\"unknown\\\": \\\"🦳\\\",\\n\\t\\\"up\\\": \\\"🆙\\\",\\n\\t\\\"urn\\\": \\\"⚱️\\\",\\n\\t\\\"vampire\\\": \\\"🧛\\\",\\n\\t\\\"violin\\\": \\\"🎻\\\",\\n\\t\\\"volcano\\\": \\\"🌋\\\",\\n\\t\\\"volleyball\\\": \\\"🏐\\\",\\n\\t\\\"vs\\\": \\\"🆚\\\",\\n\\t\\\"waffle\\\": \\\"🧇\\\",\\n\\t\\\"wand\\\": \\\"🪄\\\",\\n\\t\\\"warning\\\": \\\"⚠️\\\",\\n\\t\\\"watch\\\": [\\n\\t\\t\\\"⌚️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"stop\\\": \\\"⏱️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"watermelon\\\": \\\"🍉\\\",\\n\\t\\\"waterpolo\\\": \\\"🤽\\\",\\n\\t\\\"wave\\\": \\\"🌊\\\",\\n\\t\\\"wc\\\": \\\"🚾\\\",\\n\\t\\\"weightlifting\\\": \\\"🏋️\\\",\\n\\t\\\"whale\\\": [\\n\\t\\t\\\"🐋\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"spout\\\": \\\"🐳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wheel\\\": \\\"🛞\\\",\\n\\t\\\"wheelchair\\\": [\\n\\t\\t\\\"🦽\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"♿️\\\",\\n\\t\\t\\t\\\"motor\\\": \\\"🦼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wind\\\": \\\"🌬️\\\",\\n\\t\\\"windchime\\\": \\\"🎐\\\",\\n\\t\\\"window\\\": \\\"🪟\\\",\\n\\t\\\"wine\\\": \\\"🍷\\\",\\n\\t\\\"wing\\\": \\\"🪽\\\",\\n\\t\\\"wireless\\\": \\\"🛜\\\",\\n\\t\\\"wolf\\\": \\\"🐺\\\",\\n\\t\\\"woman\\\": [\\n\\t\\t\\\"👩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"🚺️\\\",\\n\\t\\t\\t\\\"crown\\\": \\\"👸\\\",\\n\\t\\t\\t\\\"old\\\": \\\"👵\\\",\\n\\t\\t\\t\\\"pregnant\\\": \\\"🤰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wood\\\": \\\"🪵\\\",\\n\\t\\\"worm\\\": \\\"🪱\\\",\\n\\t\\\"wrench\\\": \\\"🔧\\\",\\n\\t\\\"wrestling\\\": \\\"🤼\\\",\\n\\t\\\"xray\\\": \\\"🩻\\\",\\n\\t\\\"yarn\\\": \\\"🧶\\\",\\n\\t\\\"yoyo\\\": \\\"🪀\\\",\\n\\t\\\"zebra\\\": \\\"🦓\\\",\\n\\t\\\"zodiac\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"aquarius\\\": \\\"♒️\\\",\\n\\t\\t\\t\\\"aries\\\": \\\"♈️\\\",\\n\\t\\t\\t\\\"cancer\\\": \\\"♋️\\\",\\n\\t\\t\\t\\\"capri\\\": \\\"♑️\\\",\\n\\t\\t\\t\\\"gemini\\\": \\\"♊️\\\",\\n\\t\\t\\t\\\"leo\\\": \\\"♌️\\\",\\n\\t\\t\\t\\\"libra\\\": \\\"♎️\\\",\\n\\t\\t\\t\\\"ophi\\\": \\\"⛎️\\\",\\n\\t\\t\\t\\\"pisces\\\": \\\"♓️\\\",\\n\\t\\t\\t\\\"sagit\\\": \\\"♐️\\\",\\n\\t\\t\\t\\\"scorpio\\\": \\\"♏️\\\",\\n\\t\\t\\t\\\"taurus\\\": \\\"♉️\\\",\\n\\t\\t\\t\\\"virgo\\\": \\\"♍️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"zombie\\\": \\\"🧟\\\",\\n\\t\\\"zzz\\\": \\\"💤\\\"\\n}\\n\"","export default \"{\\n\\t\\\"wj\\\": \\\"\\\",\\n\\t\\\"zwj\\\": \\\"\\\",\\n\\t\\\"zwnj\\\": \\\"\\\",\\n\\t\\\"zws\\\": \\\"\\\",\\n\\t\\\"lrm\\\": \\\"\\\",\\n\\t\\\"rlm\\\": \\\"\\\",\\n\\t\\\"space\\\": [\\n\\t\\t\\\" \\\",\\n\\t\\t{\\n\\t\\t\\t\\\"nobreak\\\": \\\" \\\",\\n\\t\\t\\t\\\"nobreak.narrow\\\": \\\" \\\",\\n\\t\\t\\t\\\"en\\\": \\\" \\\",\\n\\t\\t\\t\\\"quad\\\": \\\" \\\",\\n\\t\\t\\t\\\"third\\\": \\\" \\\",\\n\\t\\t\\t\\\"quarter\\\": \\\" \\\",\\n\\t\\t\\t\\\"sixth\\\": \\\" \\\",\\n\\t\\t\\t\\\"med\\\": \\\" \\\",\\n\\t\\t\\t\\\"fig\\\": \\\" \\\",\\n\\t\\t\\t\\\"punct\\\": \\\" \\\",\\n\\t\\t\\t\\\"thin\\\": \\\" \\\",\\n\\t\\t\\t\\\"hair\\\": \\\" \\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"paren\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"(\\\",\\n\\t\\t\\t\\\"l.flat\\\": \\\"⟮\\\",\\n\\t\\t\\t\\\"l.closed\\\": \\\"⦇\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⦅\\\",\\n\\t\\t\\t\\\"r\\\": \\\")\\\",\\n\\t\\t\\t\\\"r.flat\\\": \\\"⟯\\\",\\n\\t\\t\\t\\\"r.closed\\\": \\\"⦈\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⦆\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⏜\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⏝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"brace\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"{\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⦃\\\",\\n\\t\\t\\t\\\"r\\\": \\\"}\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⦄\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⏞\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⏟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bracket\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"[\\\",\\n\\t\\t\\t\\\"l.tick.t\\\": \\\"⦍\\\",\\n\\t\\t\\t\\\"l.tick.b\\\": \\\"⦏\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⟦\\\",\\n\\t\\t\\t\\\"r\\\": \\\"]\\\",\\n\\t\\t\\t\\\"r.tick.t\\\": \\\"⦐\\\",\\n\\t\\t\\t\\\"r.tick.b\\\": \\\"⦎\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⟧\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⎴\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⎵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shell\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"❲\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⟬\\\",\\n\\t\\t\\t\\\"l.filled\\\": \\\"⦗\\\",\\n\\t\\t\\t\\\"r\\\": \\\"❳\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⟭\\\",\\n\\t\\t\\t\\\"r.filled\\\": \\\"⦘\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⏠\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⏡\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bag\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⟅\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⟆\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mustache\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⎰\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⎱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bar\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"v\\\": \\\"|\\\",\\n\\t\\t\\t\\\"v.double\\\": \\\"‖\\\",\\n\\t\\t\\t\\\"v.triple\\\": \\\"⦀\\\",\\n\\t\\t\\t\\\"v.broken\\\": \\\"¦\\\",\\n\\t\\t\\t\\\"v.o\\\": \\\"⦶\\\",\\n\\t\\t\\t\\\"h\\\": \\\"―\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fence\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⧘\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⧚\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⧙\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⧛\\\",\\n\\t\\t\\t\\\"dotted\\\": \\\"⦙\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"chevron\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⟨\\\",\\n\\t\\t\\t\\\"l.curly\\\": \\\"⧼\\\",\\n\\t\\t\\t\\\"l.dot\\\": \\\"⦑\\\",\\n\\t\\t\\t\\\"l.closed\\\": \\\"⦉\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⟪\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⟩\\\",\\n\\t\\t\\t\\\"r.curly\\\": \\\"⧽\\\",\\n\\t\\t\\t\\\"r.dot\\\": \\\"⦒\\\",\\n\\t\\t\\t\\\"r.closed\\\": \\\"⦊\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⟫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ceil\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⌈\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⌉\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"floor\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⌊\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⌋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"corner\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l.t\\\": \\\"⌜\\\",\\n\\t\\t\\t\\\"l.b\\\": \\\"⌞\\\",\\n\\t\\t\\t\\\"r.t\\\": \\\"⌝\\\",\\n\\t\\t\\t\\\"r.b\\\": \\\"⌟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"amp\\\": [\\n\\t\\t\\\"&\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⅋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ast\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"∗\\\",\\n\\t\\t\\t\\\"op.o\\\": \\\"⊛\\\",\\n\\t\\t\\t\\\"basic\\\": \\\"*︎\\\",\\n\\t\\t\\t\\\"low\\\": \\\"⁎\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⁑\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⁂\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⧆\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"at\\\": \\\"@\\\",\\n\\t\\\"backslash\\\": [\\n\\t\\t\\\"\\\\\\\\\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⦸\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⧷\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"co\\\": \\\"℅\\\",\\n\\t\\\"colon\\\": [\\n\\t\\t\\\":\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"currency\\\": \\\"₡\\\",\\n\\t\\t\\t\\\"double\\\": \\\"∷\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"⁝\\\",\\n\\t\\t\\t\\\"tri.op\\\": \\\"⫶\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≔\\\",\\n\\t\\t\\t\\\"double.eq\\\": \\\"⩴\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"comma\\\": [\\n\\t\\t\\\",\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⸲\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⹁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dagger\\\": [\\n\\t\\t\\\"†\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"‡\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⹋\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⸶\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⸷\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"⸸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dash\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"en\\\": \\\"–\\\",\\n\\t\\t\\t\\\"em\\\": \\\"—\\\",\\n\\t\\t\\t\\\"em.two\\\": \\\"⸺\\\",\\n\\t\\t\\t\\\"em.three\\\": \\\"⸻\\\",\\n\\t\\t\\t\\\"fig\\\": \\\"‒\\\",\\n\\t\\t\\t\\\"colon\\\": \\\"∹\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊝\\\",\\n\\t\\t\\t\\\"wave\\\": \\\"〜\\\",\\n\\t\\t\\t\\\"wave.double\\\": \\\"〰︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"underscore\\\": \\\"_\\\",\\n\\t\\\"dot\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"⋅\\\",\\n\\t\\t\\t\\\"basic\\\": \\\".\\\",\\n\\t\\t\\t\\\"c\\\": \\\"·\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊙\\\",\\n\\t\\t\\t\\\"o.big\\\": \\\"⨀\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊡\\\",\\n\\t\\t\\t\\\"double\\\": \\\"¨\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⃛\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"⃜\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"excl\\\": [\\n\\t\\t\\\"!\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"‼︎\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"¡\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⁉︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"quest\\\": [\\n\\t\\t\\\"?\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"⁇\\\",\\n\\t\\t\\t\\\"excl\\\": \\\"⁈\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"¿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"interrobang\\\": [\\n\\t\\t\\\"‽\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⸘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hash\\\": \\\"#︎\\\",\\n\\t\\\"hyph\\\": [\\n\\t\\t\\\"‐\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"minus\\\": \\\"-\\\",\\n\\t\\t\\t\\\"nobreak\\\": \\\"‑\\\",\\n\\t\\t\\t\\\"point\\\": \\\"‧\\\",\\n\\t\\t\\t\\\"soft\\\": \\\"\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"numero\\\": \\\"№\\\",\\n\\t\\\"percent\\\": \\\"%\\\",\\n\\t\\\"permille\\\": \\\"‰\\\",\\n\\t\\\"permyriad\\\": \\\"‱\\\",\\n\\t\\\"pilcrow\\\": [\\n\\t\\t\\\"¶\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"rev\\\": \\\"⁋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"section\\\": \\\"§\\\",\\n\\t\\\"semi\\\": [\\n\\t\\t\\\";\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⸵\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⁏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"slash\\\": [\\n\\t\\t\\\"/\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊘\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⫽\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⫻\\\",\\n\\t\\t\\t\\\"big\\\": \\\"⧸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dots\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"h.c\\\": \\\"⋯\\\",\\n\\t\\t\\t\\\"h\\\": \\\"…\\\",\\n\\t\\t\\t\\\"v\\\": \\\"⋮\\\",\\n\\t\\t\\t\\\"down\\\": \\\"⋱\\\",\\n\\t\\t\\t\\\"up\\\": \\\"⋰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tilde\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"∼\\\",\\n\\t\\t\\t\\\"basic\\\": \\\"~\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⩪\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≃\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"≄\\\",\\n\\t\\t\\t\\\"eq.rev\\\": \\\"⋍\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"≅\\\",\\n\\t\\t\\t\\\"equiv.not\\\": \\\"≇\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"≆\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≁\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"∽\\\",\\n\\t\\t\\t\\\"rev.equiv\\\": \\\"≌\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"≋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"acute\\\": [\\n\\t\\t\\\"´\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"˝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"breve\\\": \\\"˘\\\",\\n\\t\\\"caret\\\": \\\"‸\\\",\\n\\t\\\"caron\\\": \\\"ˇ\\\",\\n\\t\\\"hat\\\": \\\"^\\\",\\n\\t\\\"diaer\\\": \\\"¨\\\",\\n\\t\\\"grave\\\": \\\"`\\\",\\n\\t\\\"macron\\\": \\\"¯\\\",\\n\\t\\\"quote\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"\\\\\\\"\\\",\\n\\t\\t\\t\\\"single\\\": \\\"'\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"“\\\",\\n\\t\\t\\t\\\"l.single\\\": \\\"‘\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"”\\\",\\n\\t\\t\\t\\\"r.single\\\": \\\"’\\\",\\n\\t\\t\\t\\\"chevron.l.double\\\": \\\"«\\\",\\n\\t\\t\\t\\\"chevron.l.single\\\": \\\"‹\\\",\\n\\t\\t\\t\\\"chevron.r.double\\\": \\\"»\\\",\\n\\t\\t\\t\\\"chevron.r.single\\\": \\\"›\\\",\\n\\t\\t\\t\\\"high.double\\\": \\\"‟\\\",\\n\\t\\t\\t\\\"high.single\\\": \\\"‛\\\",\\n\\t\\t\\t\\\"low.double\\\": \\\"„\\\",\\n\\t\\t\\t\\\"low.single\\\": \\\"‚\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prime\\\": [\\n\\t\\t\\\"′\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"rev\\\": \\\"‵\\\",\\n\\t\\t\\t\\\"double\\\": \\\"″\\\",\\n\\t\\t\\t\\\"double.rev\\\": \\\"‶\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"‴\\\",\\n\\t\\t\\t\\\"triple.rev\\\": \\\"‷\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"⁗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"plus\\\": [\\n\\t\\t\\\"+\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊕\\\",\\n\\t\\t\\t\\\"o.l\\\": \\\"⨭\\\",\\n\\t\\t\\t\\\"o.r\\\": \\\"⨮\\\",\\n\\t\\t\\t\\\"o.arrow\\\": \\\"⟴\\\",\\n\\t\\t\\t\\\"o.big\\\": \\\"⨁\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"∔\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⧺\\\",\\n\\t\\t\\t\\\"minus\\\": \\\"±\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊞\\\",\\n\\t\\t\\t\\\"triangle\\\": \\\"⨹\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⧻\\\",\\n\\t\\t\\t\\\"hat\\\": \\\"⨣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"minus\\\": [\\n\\t\\t\\\"−\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊖\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"∸\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"∓\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊟\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≂\\\",\\n\\t\\t\\t\\\"triangle\\\": \\\"⨺\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"div\\\": [\\n\\t\\t\\\"÷\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⨸\\\",\\n\\t\\t\\t\\\"slanted.o\\\": \\\"⦼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"times\\\": [\\n\\t\\t\\\"×\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⨉\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊗\\\",\\n\\t\\t\\t\\\"o.l\\\": \\\"⨴\\\",\\n\\t\\t\\t\\\"o.r\\\": \\\"⨵\\\",\\n\\t\\t\\t\\\"o.hat\\\": \\\"⨶\\\",\\n\\t\\t\\t\\\"o.big\\\": \\\"⨂\\\",\\n\\t\\t\\t\\\"div\\\": \\\"⋇\\\",\\n\\t\\t\\t\\\"three.l\\\": \\\"⋋\\\",\\n\\t\\t\\t\\\"three.r\\\": \\\"⋌\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⋉\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⋊\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊠\\\",\\n\\t\\t\\t\\\"triangle\\\": \\\"⨻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ratio\\\": \\\"∶\\\",\\n\\t\\\"eq\\\": [\\n\\t\\t\\\"=\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ast\\\": \\\"⩮\\\",\\n\\t\\t\\t\\\"star\\\": \\\"≛\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊜\\\",\\n\\t\\t\\t\\\"colon\\\": \\\"≕\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"≐\\\",\\n\\t\\t\\t\\\"dots\\\": \\\"≑\\\",\\n\\t\\t\\t\\\"dots.down\\\": \\\"≒\\\",\\n\\t\\t\\t\\\"dots.up\\\": \\\"≓\\\",\\n\\t\\t\\t\\\"def\\\": \\\"≝\\\",\\n\\t\\t\\t\\\"delta\\\": \\\"≜\\\",\\n\\t\\t\\t\\\"equi\\\": \\\"≚\\\",\\n\\t\\t\\t\\\"est\\\": \\\"≙\\\",\\n\\t\\t\\t\\\"gt\\\": \\\"⋝\\\",\\n\\t\\t\\t\\\"lt\\\": \\\"⋜\\\",\\n\\t\\t\\t\\\"m\\\": \\\"≞\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≠\\\",\\n\\t\\t\\t\\\"prec\\\": \\\"⋞\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"≟\\\",\\n\\t\\t\\t\\\"succ\\\": \\\"⋟\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"≡\\\",\\n\\t\\t\\t\\\"triple.not\\\": \\\"≢\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"≣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"gt\\\": [\\n\\t\\t\\\">\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⧁\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⋗\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⩼\\\",\\n\\t\\t\\t\\\"approx\\\": \\\"⪆\\\",\\n\\t\\t\\t\\\"arc\\\": \\\"⪧\\\",\\n\\t\\t\\t\\\"arc.eq\\\": \\\"⪩\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⊳\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⊵\\\",\\n\\t\\t\\t\\\"closed.eq.not\\\": \\\"⋭\\\",\\n\\t\\t\\t\\\"closed.not\\\": \\\"⋫\\\",\\n\\t\\t\\t\\\"double\\\": \\\"≫\\\",\\n\\t\\t\\t\\\"double.nested\\\": \\\"⪢\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≥\\\",\\n\\t\\t\\t\\\"eq.slant\\\": \\\"⩾\\\",\\n\\t\\t\\t\\\"eq.lt\\\": \\\"⋛\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"≱\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"≧\\\",\\n\\t\\t\\t\\\"lt\\\": \\\"≷\\\",\\n\\t\\t\\t\\\"lt.not\\\": \\\"≹\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪈\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪊\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"≩\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≯\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋧\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≳\\\",\\n\\t\\t\\t\\\"tilde.not\\\": \\\"≵\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"⊳\\\",\\n\\t\\t\\t\\\"tri.eq\\\": \\\"⊵\\\",\\n\\t\\t\\t\\\"tri.eq.not\\\": \\\"⋭\\\",\\n\\t\\t\\t\\\"tri.not\\\": \\\"⋫\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⋙\\\",\\n\\t\\t\\t\\\"triple.nested\\\": \\\"⫸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lt\\\": [\\n\\t\\t\\\"<\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⧀\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⋖\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⩻\\\",\\n\\t\\t\\t\\\"approx\\\": \\\"⪅\\\",\\n\\t\\t\\t\\\"arc\\\": \\\"⪦\\\",\\n\\t\\t\\t\\\"arc.eq\\\": \\\"⪨\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⊲\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⊴\\\",\\n\\t\\t\\t\\\"closed.eq.not\\\": \\\"⋬\\\",\\n\\t\\t\\t\\\"closed.not\\\": \\\"⋪\\\",\\n\\t\\t\\t\\\"double\\\": \\\"≪\\\",\\n\\t\\t\\t\\\"double.nested\\\": \\\"⪡\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≤\\\",\\n\\t\\t\\t\\\"eq.slant\\\": \\\"⩽\\\",\\n\\t\\t\\t\\\"eq.gt\\\": \\\"⋚\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"≰\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"≦\\\",\\n\\t\\t\\t\\\"gt\\\": \\\"≶\\\",\\n\\t\\t\\t\\\"gt.not\\\": \\\"≸\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪇\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪉\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"≨\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≮\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋦\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≲\\\",\\n\\t\\t\\t\\\"tilde.not\\\": \\\"≴\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"⊲\\\",\\n\\t\\t\\t\\\"tri.eq\\\": \\\"⊴\\\",\\n\\t\\t\\t\\\"tri.eq.not\\\": \\\"⋬\\\",\\n\\t\\t\\t\\\"tri.not\\\": \\\"⋪\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⋘\\\",\\n\\t\\t\\t\\\"triple.nested\\\": \\\"⫷\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"approx\\\": [\\n\\t\\t\\\"≈\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"eq\\\": \\\"≊\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≉\\\",\\n\\t\\t\\t\\\"hat\\\": \\\"⩯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prec\\\": [\\n\\t\\t\\\"≺\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⪷\\\",\\n\\t\\t\\t\\\"curly.eq\\\": \\\"≼\\\",\\n\\t\\t\\t\\\"curly.eq.not\\\": \\\"⋠\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⪻\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⪯\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⪳\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪹\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪱\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⪵\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊀\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋨\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"succ\\\": [\\n\\t\\t\\\"≻\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⪸\\\",\\n\\t\\t\\t\\\"curly.eq\\\": \\\"≽\\\",\\n\\t\\t\\t\\\"curly.eq.not\\\": \\\"⋡\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⪼\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⪰\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⪴\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪺\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪲\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⪶\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊁\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋩\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"equiv\\\": [\\n\\t\\t\\\"≡\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"≢\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"smt\\\": [\\n\\t\\t\\\"⪪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"eq\\\": \\\"⪬\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lat\\\": [\\n\\t\\t\\\"⪫\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"eq\\\": \\\"⪭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prop\\\": \\\"∝\\\",\\n\\t\\\"original\\\": \\\"⊶\\\",\\n\\t\\\"image\\\": \\\"⊷\\\",\\n\\t\\\"asymp\\\": [\\n\\t\\t\\\"≍\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"≭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"emptyset\\\": [\\n\\t\\t\\\"∅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"zero\\\": \\\"∅︀\\\",\\n\\t\\t\\t\\\"arrow.r\\\": \\\"⦳\\\",\\n\\t\\t\\t\\\"arrow.l\\\": \\\"⦴\\\",\\n\\t\\t\\t\\\"bar\\\": \\\"⦱\\\",\\n\\t\\t\\t\\\"circle\\\": \\\"⦲\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⦰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"nothing\\\": [\\n\\t\\t\\\"∅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"zero\\\": \\\"∅︀\\\",\\n\\t\\t\\t\\\"arrow.r\\\": \\\"⦳\\\",\\n\\t\\t\\t\\\"arrow.l\\\": \\\"⦴\\\",\\n\\t\\t\\t\\\"bar\\\": \\\"⦱\\\",\\n\\t\\t\\t\\\"circle\\\": \\\"⦲\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⦰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"without\\\": \\\"∖\\\",\\n\\t\\\"complement\\\": \\\"∁\\\",\\n\\t\\\"in\\\": [\\n\\t\\t\\\"∈\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"∉\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"∋\\\",\\n\\t\\t\\t\\\"rev.not\\\": \\\"∌\\\",\\n\\t\\t\\t\\\"rev.small\\\": \\\"∍\\\",\\n\\t\\t\\t\\\"small\\\": \\\"∊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"subset\\\": [\\n\\t\\t\\\"⊂\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⫉\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⫏\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⫑\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⪽\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋐\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⊆\\\",\\n\\t\\t\\t\\\"eq.dot\\\": \\\"⫃\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"⊈\\\",\\n\\t\\t\\t\\\"eq.sq\\\": \\\"⊑\\\",\\n\\t\\t\\t\\\"eq.sq.not\\\": \\\"⋢\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⫅\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⊊\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⫋\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊄\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"⪿\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊏\\\",\\n\\t\\t\\t\\\"sq.neq\\\": \\\"⋤\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"⫇\\\",\\n\\t\\t\\t\\\"times\\\": \\\"⫁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"supset\\\": [\\n\\t\\t\\\"⊃\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⫊\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⫐\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⫒\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⪾\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋑\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⊇\\\",\\n\\t\\t\\t\\\"eq.dot\\\": \\\"⫄\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"⊉\\\",\\n\\t\\t\\t\\\"eq.sq\\\": \\\"⊒\\\",\\n\\t\\t\\t\\\"eq.sq.not\\\": \\\"⋣\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⫆\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⊋\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⫌\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊅\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"⫀\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊐\\\",\\n\\t\\t\\t\\\"sq.neq\\\": \\\"⋥\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"⫈\\\",\\n\\t\\t\\t\\\"times\\\": \\\"⫂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"union\\\": [\\n\\t\\t\\\"∪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"serif\\\": \\\"∪︀\\\",\\n\\t\\t\\t\\\"arrow\\\": \\\"⊌\\\",\\n\\t\\t\\t\\\"big\\\": \\\"⋃\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⊍\\\",\\n\\t\\t\\t\\\"dot.big\\\": \\\"⨃\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋓\\\",\\n\\t\\t\\t\\\"minus\\\": \\\"⩁\\\",\\n\\t\\t\\t\\\"or\\\": \\\"⩅\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"⊎\\\",\\n\\t\\t\\t\\\"plus.big\\\": \\\"⨄\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊔\\\",\\n\\t\\t\\t\\\"sq.serif\\\": \\\"⊔︀\\\",\\n\\t\\t\\t\\\"sq.big\\\": \\\"⨆\\\",\\n\\t\\t\\t\\\"sq.double\\\": \\\"⩏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"inter\\\": [\\n\\t\\t\\\"∩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"serif\\\": \\\"∩︀\\\",\\n\\t\\t\\t\\\"and\\\": \\\"⩄\\\",\\n\\t\\t\\t\\\"big\\\": \\\"⋂\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⩀\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋒\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊓\\\",\\n\\t\\t\\t\\\"sq.serif\\\": \\\"⊓︀\\\",\\n\\t\\t\\t\\\"sq.big\\\": \\\"⨅\\\",\\n\\t\\t\\t\\\"sq.double\\\": \\\"⩎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"infinity\\\": [\\n\\t\\t\\\"∞\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bar\\\": \\\"⧞\\\",\\n\\t\\t\\t\\\"incomplete\\\": \\\"⧜\\\",\\n\\t\\t\\t\\\"tie\\\": \\\"⧝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"oo\\\": \\\"∞\\\",\\n\\t\\\"partial\\\": \\\"∂\\\",\\n\\t\\\"gradient\\\": \\\"∇\\\",\\n\\t\\\"nabla\\\": \\\"∇\\\",\\n\\t\\\"sum\\\": [\\n\\t\\t\\\"∑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"integral\\\": \\\"⨋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"product\\\": [\\n\\t\\t\\\"∏\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"co\\\": \\\"∐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"integral\\\": [\\n\\t\\t\\\"∫\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow.hook\\\": \\\"⨗\\\",\\n\\t\\t\\t\\\"ccw\\\": \\\"⨑\\\",\\n\\t\\t\\t\\\"cont\\\": \\\"∮\\\",\\n\\t\\t\\t\\\"cont.ccw\\\": \\\"∳\\\",\\n\\t\\t\\t\\\"cont.cw\\\": \\\"∲\\\",\\n\\t\\t\\t\\\"cw\\\": \\\"∱\\\",\\n\\t\\t\\t\\\"dash\\\": \\\"⨍\\\",\\n\\t\\t\\t\\\"dash.double\\\": \\\"⨎\\\",\\n\\t\\t\\t\\\"double\\\": \\\"∬\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"⨌\\\",\\n\\t\\t\\t\\\"inter\\\": \\\"⨙\\\",\\n\\t\\t\\t\\\"slash\\\": \\\"⨏\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⨖\\\",\\n\\t\\t\\t\\\"surf\\\": \\\"∯\\\",\\n\\t\\t\\t\\\"times\\\": \\\"⨘\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"∭\\\",\\n\\t\\t\\t\\\"union\\\": \\\"⨚\\\",\\n\\t\\t\\t\\\"vol\\\": \\\"∰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"laplace\\\": \\\"∆\\\",\\n\\t\\\"forall\\\": \\\"∀\\\",\\n\\t\\\"exists\\\": [\\n\\t\\t\\\"∃\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"∄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"top\\\": \\\"⊤\\\",\\n\\t\\\"bot\\\": \\\"⊥\\\",\\n\\t\\\"not\\\": \\\"¬\\\",\\n\\t\\\"and\\\": [\\n\\t\\t\\\"∧\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⋀\\\",\\n\\t\\t\\t\\\"curly\\\": \\\"⋏\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⟑\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⩓\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"or\\\": [\\n\\t\\t\\\"∨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⋁\\\",\\n\\t\\t\\t\\\"curly\\\": \\\"⋎\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⟇\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⩔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"xor\\\": [\\n\\t\\t\\\"⊕\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⨁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"models\\\": \\\"⊧\\\",\\n\\t\\\"forces\\\": [\\n\\t\\t\\\"⊩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"⊮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"therefore\\\": \\\"∴\\\",\\n\\t\\\"because\\\": \\\"∵\\\",\\n\\t\\\"qed\\\": \\\"∎\\\",\\n\\t\\\"mapsto\\\": [\\n\\t\\t\\\"↦\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"long\\\": \\\"⟼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mapsfrom\\\": [\\n\\t\\t\\\"↤\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"long\\\": \\\"⟻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"compose\\\": [\\n\\t\\t\\\"∘\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊚\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"convolve\\\": [\\n\\t\\t\\\"∗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"multimap\\\": [\\n\\t\\t\\\"⊸\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"⧟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tiny\\\": \\\"⧾\\\",\\n\\t\\\"miny\\\": \\\"⧿\\\",\\n\\t\\\"divides\\\": [\\n\\t\\t\\\"∣\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"∤\\\",\\n\\t\\t\\t\\\"not.rev\\\": \\\"⫮\\\",\\n\\t\\t\\t\\\"struck\\\": \\\"⟊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wreath\\\": \\\"≀\\\",\\n\\t\\\"angle\\\": [\\n\\t\\t\\\"∠\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"acute\\\": \\\"⦟\\\",\\n\\t\\t\\t\\\"arc\\\": \\\"∡\\\",\\n\\t\\t\\t\\\"arc.rev\\\": \\\"⦛\\\",\\n\\t\\t\\t\\\"azimuth\\\": \\\"⍼\\\",\\n\\t\\t\\t\\\"obtuse\\\": \\\"⦦\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⦣\\\",\\n\\t\\t\\t\\\"right\\\": \\\"∟\\\",\\n\\t\\t\\t\\\"right.rev\\\": \\\"⯾\\\",\\n\\t\\t\\t\\\"right.arc\\\": \\\"⊾\\\",\\n\\t\\t\\t\\\"right.dot\\\": \\\"⦝\\\",\\n\\t\\t\\t\\\"right.square\\\": \\\"⦜\\\",\\n\\t\\t\\t\\\"s\\\": \\\"⦞\\\",\\n\\t\\t\\t\\\"spatial\\\": \\\"⟀\\\",\\n\\t\\t\\t\\\"spheric\\\": \\\"∢\\\",\\n\\t\\t\\t\\\"spheric.rev\\\": \\\"⦠\\\",\\n\\t\\t\\t\\\"spheric.t\\\": \\\"⦡\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"angzarr\\\": \\\"⍼\\\",\\n\\t\\\"parallel\\\": [\\n\\t\\t\\\"∥\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"struck\\\": \\\"⫲\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⦷\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⋕\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⩨\\\",\\n\\t\\t\\t\\\"not\\\": \\\"∦\\\",\\n\\t\\t\\t\\\"slanted.eq\\\": \\\"⧣\\\",\\n\\t\\t\\t\\\"slanted.eq.tilde\\\": \\\"⧤\\\",\\n\\t\\t\\t\\\"slanted.equiv\\\": \\\"⧥\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"⫳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"perp\\\": [\\n\\t\\t\\\"⟂\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⦹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"earth\\\": [\\n\\t\\t\\\"🜨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"♁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"jupiter\\\": \\\"♃\\\",\\n\\t\\\"mars\\\": \\\"♂︎\\\",\\n\\t\\\"mercury\\\": \\\"☿\\\",\\n\\t\\\"neptune\\\": [\\n\\t\\t\\\"♆\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"⯉\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"saturn\\\": \\\"♄\\\",\\n\\t\\\"sun\\\": \\\"☉\\\",\\n\\t\\\"uranus\\\": [\\n\\t\\t\\\"⛢\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"♅\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"venus\\\": \\\"♀︎\\\",\\n\\t\\\"diameter\\\": \\\"⌀\\\",\\n\\t\\\"interleave\\\": [\\n\\t\\t\\\"⫴\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⫼\\\",\\n\\t\\t\\t\\\"struck\\\": \\\"⫵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"join\\\": [\\n\\t\\t\\\"⨝\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"⟖\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⟕\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"⟗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bowtie\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⋈\\\",\\n\\t\\t\\t\\\"stroked.big\\\": \\\"⨝\\\",\\n\\t\\t\\t\\\"stroked.big.l\\\": \\\"⟕\\\",\\n\\t\\t\\t\\\"stroked.big.r\\\": \\\"⟖\\\",\\n\\t\\t\\t\\\"stroked.big.l.r\\\": \\\"⟗\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⧓\\\",\\n\\t\\t\\t\\\"filled.l\\\": \\\"⧑\\\",\\n\\t\\t\\t\\\"filled.r\\\": \\\"⧒\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hourglass\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⧖\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⧗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"degree\\\": \\\"°\\\",\\n\\t\\\"smash\\\": \\\"⨳\\\",\\n\\t\\\"power\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"standby\\\": \\\"⏻\\\",\\n\\t\\t\\t\\\"on\\\": \\\"⏽\\\",\\n\\t\\t\\t\\\"off\\\": \\\"⭘\\\",\\n\\t\\t\\t\\\"on.off\\\": \\\"⏼\\\",\\n\\t\\t\\t\\\"sleep\\\": \\\"⏾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"smile\\\": \\\"⌣\\\",\\n\\t\\\"frown\\\": \\\"⌢\\\",\\n\\t\\\"afghani\\\": \\\"؋\\\",\\n\\t\\\"baht\\\": \\\"฿\\\",\\n\\t\\\"bitcoin\\\": \\\"₿\\\",\\n\\t\\\"cedi\\\": \\\"₵\\\",\\n\\t\\\"cent\\\": \\\"¢\\\",\\n\\t\\\"currency\\\": \\\"¤\\\",\\n\\t\\\"dollar\\\": \\\"$\\\",\\n\\t\\\"dong\\\": \\\"₫\\\",\\n\\t\\\"dorome\\\": \\\"߾\\\",\\n\\t\\\"dram\\\": \\\"֏\\\",\\n\\t\\\"euro\\\": \\\"€\\\",\\n\\t\\\"guarani\\\": \\\"₲\\\",\\n\\t\\\"hryvnia\\\": \\\"₴\\\",\\n\\t\\\"kip\\\": \\\"₭\\\",\\n\\t\\\"lari\\\": \\\"₾\\\",\\n\\t\\\"lira\\\": \\\"₺\\\",\\n\\t\\\"manat\\\": \\\"₼\\\",\\n\\t\\\"naira\\\": \\\"₦\\\",\\n\\t\\\"pataca\\\": \\\"$\\\",\\n\\t\\\"peso\\\": [\\n\\t\\t\\\"$\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"philippine\\\": \\\"₱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pound\\\": \\\"£\\\",\\n\\t\\\"riel\\\": \\\"៛\\\",\\n\\t\\\"riyal\\\": \\\"\\\",\\n\\t\\\"ruble\\\": \\\"₽\\\",\\n\\t\\\"rupee\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"indian\\\": \\\"₹\\\",\\n\\t\\t\\t\\\"generic\\\": \\\"₨\\\",\\n\\t\\t\\t\\\"tamil\\\": \\\"௹\\\",\\n\\t\\t\\t\\\"wancho\\\": \\\"𞋿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shekel\\\": \\\"₪\\\",\\n\\t\\\"som\\\": \\\"⃀\\\",\\n\\t\\\"taka\\\": \\\"৳\\\",\\n\\t\\\"taman\\\": \\\"߿\\\",\\n\\t\\\"tenge\\\": \\\"₸\\\",\\n\\t\\\"togrog\\\": \\\"₮\\\",\\n\\t\\\"won\\\": \\\"₩\\\",\\n\\t\\\"yen\\\": \\\"¥\\\",\\n\\t\\\"yuan\\\": \\\"¥\\\",\\n\\t\\\"ballot\\\": [\\n\\t\\t\\\"☐\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cross\\\": \\\"☒\\\",\\n\\t\\t\\t\\\"check\\\": \\\"☑︎\\\",\\n\\t\\t\\t\\\"check.heavy\\\": \\\"🗹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"checkmark\\\": [\\n\\t\\t\\\"✓\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"light\\\": \\\"🗸\\\",\\n\\t\\t\\t\\\"heavy\\\": \\\"✔︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"crossmark\\\": [\\n\\t\\t\\\"✗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"heavy\\\": \\\"✘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"floral\\\": [\\n\\t\\t\\\"❦\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"☙\\\",\\n\\t\\t\\t\\\"r\\\": \\\"❧\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"refmark\\\": \\\"※\\\",\\n\\t\\\"cc\\\": [\\n\\t\\t\\\"🅭\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"by\\\": \\\"🅯\\\",\\n\\t\\t\\t\\\"nc\\\": \\\"🄏\\\",\\n\\t\\t\\t\\\"nd\\\": \\\"⊜\\\",\\n\\t\\t\\t\\\"public\\\": \\\"🅮\\\",\\n\\t\\t\\t\\\"sa\\\": \\\"🄎\\\",\\n\\t\\t\\t\\\"zero\\\": \\\"🄍\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"copyright\\\": [\\n\\t\\t\\\"©︎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"sound\\\": \\\"℗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"copyleft\\\": \\\"🄯\\\",\\n\\t\\\"trademark\\\": [\\n\\t\\t\\\"™︎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"registered\\\": \\\"®︎\\\",\\n\\t\\t\\t\\\"service\\\": \\\"℠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"maltese\\\": \\\"✠\\\",\\n\\t\\\"suit\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"club.filled\\\": \\\"♣︎\\\",\\n\\t\\t\\t\\\"club.stroked\\\": \\\"♧\\\",\\n\\t\\t\\t\\\"diamond.filled\\\": \\\"♦︎\\\",\\n\\t\\t\\t\\\"diamond.stroked\\\": \\\"♢\\\",\\n\\t\\t\\t\\\"heart.filled\\\": \\\"♥︎\\\",\\n\\t\\t\\t\\\"heart.stroked\\\": \\\"♡\\\",\\n\\t\\t\\t\\\"spade.filled\\\": \\\"♠︎\\\",\\n\\t\\t\\t\\\"spade.stroked\\\": \\\"♤\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"note\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"up\\\": \\\"🎜\\\",\\n\\t\\t\\t\\\"down\\\": \\\"🎝\\\",\\n\\t\\t\\t\\\"whole\\\": \\\"𝅝\\\",\\n\\t\\t\\t\\\"half\\\": \\\"𝅗𝅥\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝅘𝅥\\\",\\n\\t\\t\\t\\\"quarter.alt\\\": \\\"♩\\\",\\n\\t\\t\\t\\\"eighth\\\": \\\"𝅘𝅥𝅮\\\",\\n\\t\\t\\t\\\"eighth.alt\\\": \\\"♪\\\",\\n\\t\\t\\t\\\"eighth.beamed\\\": \\\"♫\\\",\\n\\t\\t\\t\\\"sixteenth\\\": \\\"𝅘𝅥𝅯\\\",\\n\\t\\t\\t\\\"sixteenth.beamed\\\": \\\"♬\\\",\\n\\t\\t\\t\\\"grace\\\": \\\"𝆕\\\",\\n\\t\\t\\t\\\"grace.slash\\\": \\\"𝆔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rest\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"whole\\\": \\\"𝄻\\\",\\n\\t\\t\\t\\\"multiple\\\": \\\"𝄺\\\",\\n\\t\\t\\t\\\"multiple.measure\\\": \\\"𝄩\\\",\\n\\t\\t\\t\\\"half\\\": \\\"𝄼\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝄽\\\",\\n\\t\\t\\t\\\"eighth\\\": \\\"𝄾\\\",\\n\\t\\t\\t\\\"sixteenth\\\": \\\"𝄿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"natural\\\": [\\n\\t\\t\\\"♮\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"𝄮\\\",\\n\\t\\t\\t\\\"b\\\": \\\"𝄯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flat\\\": [\\n\\t\\t\\\"♭\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"𝄬\\\",\\n\\t\\t\\t\\\"b\\\": \\\"𝄭\\\",\\n\\t\\t\\t\\\"double\\\": \\\"𝄫\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝄳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sharp\\\": [\\n\\t\\t\\\"♯\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"𝄰\\\",\\n\\t\\t\\t\\\"b\\\": \\\"𝄱\\\",\\n\\t\\t\\t\\\"double\\\": \\\"𝄪\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝄲\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bullet\\\": [\\n\\t\\t\\\"•\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"∙\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⦿\\\",\\n\\t\\t\\t\\\"stroked\\\": \\\"◦\\\",\\n\\t\\t\\t\\\"stroked.o\\\": \\\"⦾\\\",\\n\\t\\t\\t\\\"hole\\\": \\\"◘\\\",\\n\\t\\t\\t\\\"hyph\\\": \\\"⁃\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"‣\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⁌\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⁍\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"circle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"○\\\",\\n\\t\\t\\t\\\"stroked.tiny\\\": \\\"∘\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"⚬\\\",\\n\\t\\t\\t\\\"stroked.big\\\": \\\"◯\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"●\\\",\\n\\t\\t\\t\\\"filled.tiny\\\": \\\"⦁\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"∙\\\",\\n\\t\\t\\t\\\"filled.big\\\": \\\"⬤\\\",\\n\\t\\t\\t\\\"dotted\\\": \\\"◌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ellipse\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked.h\\\": \\\"⬭\\\",\\n\\t\\t\\t\\\"stroked.v\\\": \\\"⬯\\\",\\n\\t\\t\\t\\\"filled.h\\\": \\\"⬬\\\",\\n\\t\\t\\t\\\"filled.v\\\": \\\"⬮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"triangle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked.t\\\": \\\"△\\\",\\n\\t\\t\\t\\\"stroked.b\\\": \\\"▽\\\",\\n\\t\\t\\t\\\"stroked.r\\\": \\\"▷\\\",\\n\\t\\t\\t\\\"stroked.l\\\": \\\"◁\\\",\\n\\t\\t\\t\\\"stroked.bl\\\": \\\"◺\\\",\\n\\t\\t\\t\\\"stroked.br\\\": \\\"◿\\\",\\n\\t\\t\\t\\\"stroked.tl\\\": \\\"◸\\\",\\n\\t\\t\\t\\\"stroked.tr\\\": \\\"◹\\\",\\n\\t\\t\\t\\\"stroked.small.t\\\": \\\"▵\\\",\\n\\t\\t\\t\\\"stroked.small.b\\\": \\\"▿\\\",\\n\\t\\t\\t\\\"stroked.small.r\\\": \\\"▹\\\",\\n\\t\\t\\t\\\"stroked.small.l\\\": \\\"◃\\\",\\n\\t\\t\\t\\\"stroked.rounded\\\": \\\"🛆\\\",\\n\\t\\t\\t\\\"stroked.nested\\\": \\\"⟁\\\",\\n\\t\\t\\t\\\"stroked.dot\\\": \\\"◬\\\",\\n\\t\\t\\t\\\"filled.t\\\": \\\"▲\\\",\\n\\t\\t\\t\\\"filled.b\\\": \\\"▼\\\",\\n\\t\\t\\t\\\"filled.r\\\": \\\"▶︎\\\",\\n\\t\\t\\t\\\"filled.l\\\": \\\"◀︎\\\",\\n\\t\\t\\t\\\"filled.bl\\\": \\\"◣\\\",\\n\\t\\t\\t\\\"filled.br\\\": \\\"◢\\\",\\n\\t\\t\\t\\\"filled.tl\\\": \\\"◤\\\",\\n\\t\\t\\t\\\"filled.tr\\\": \\\"◥\\\",\\n\\t\\t\\t\\\"filled.small.t\\\": \\\"▴\\\",\\n\\t\\t\\t\\\"filled.small.b\\\": \\\"▾\\\",\\n\\t\\t\\t\\\"filled.small.r\\\": \\\"▸\\\",\\n\\t\\t\\t\\\"filled.small.l\\\": \\\"◂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"square\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"□\\\",\\n\\t\\t\\t\\\"stroked.tiny\\\": \\\"▫︎\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"◽︎\\\",\\n\\t\\t\\t\\\"stroked.medium\\\": \\\"◻︎\\\",\\n\\t\\t\\t\\\"stroked.big\\\": \\\"⬜︎\\\",\\n\\t\\t\\t\\\"stroked.dotted\\\": \\\"⬚\\\",\\n\\t\\t\\t\\\"stroked.rounded\\\": \\\"▢\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"■\\\",\\n\\t\\t\\t\\\"filled.tiny\\\": \\\"▪︎\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"◾︎\\\",\\n\\t\\t\\t\\\"filled.medium\\\": \\\"◼︎\\\",\\n\\t\\t\\t\\\"filled.big\\\": \\\"⬛︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rect\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked.h\\\": \\\"▭\\\",\\n\\t\\t\\t\\\"stroked.v\\\": \\\"▯\\\",\\n\\t\\t\\t\\\"filled.h\\\": \\\"▬\\\",\\n\\t\\t\\t\\\"filled.v\\\": \\\"▮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"penta\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⬠\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⬟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hexa\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⬡\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⬢\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"diamond\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"◇\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"⋄\\\",\\n\\t\\t\\t\\\"stroked.medium\\\": \\\"⬦\\\",\\n\\t\\t\\t\\\"stroked.dot\\\": \\\"⟐\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"◆\\\",\\n\\t\\t\\t\\\"filled.medium\\\": \\\"⬥\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"⬩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lozenge\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"◊\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"⬫\\\",\\n\\t\\t\\t\\\"stroked.medium\\\": \\\"⬨\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⧫\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"⬪\\\",\\n\\t\\t\\t\\\"filled.medium\\\": \\\"⬧\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"parallelogram\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"▱\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"▰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"star\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"⋆\\\",\\n\\t\\t\\t\\\"stroked\\\": \\\"☆\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"★\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrow\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"→\\\",\\n\\t\\t\\t\\\"r.long.bar\\\": \\\"⟼\\\",\\n\\t\\t\\t\\\"r.bar\\\": \\\"↦\\\",\\n\\t\\t\\t\\\"r.curve\\\": \\\"⤷\\\",\\n\\t\\t\\t\\\"r.turn\\\": \\\"⮎\\\",\\n\\t\\t\\t\\\"r.dashed\\\": \\\"⇢\\\",\\n\\t\\t\\t\\\"r.dotted\\\": \\\"⤑\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⇒\\\",\\n\\t\\t\\t\\\"r.double.bar\\\": \\\"⤇\\\",\\n\\t\\t\\t\\\"r.double.long\\\": \\\"⟹\\\",\\n\\t\\t\\t\\\"r.double.long.bar\\\": \\\"⟾\\\",\\n\\t\\t\\t\\\"r.double.not\\\": \\\"⇏\\\",\\n\\t\\t\\t\\\"r.double.struck\\\": \\\"⤃\\\",\\n\\t\\t\\t\\\"r.filled\\\": \\\"➡︎\\\",\\n\\t\\t\\t\\\"r.hook\\\": \\\"↪︎\\\",\\n\\t\\t\\t\\\"r.long\\\": \\\"⟶\\\",\\n\\t\\t\\t\\\"r.long.squiggly\\\": \\\"⟿\\\",\\n\\t\\t\\t\\\"r.loop\\\": \\\"↬\\\",\\n\\t\\t\\t\\\"r.not\\\": \\\"↛\\\",\\n\\t\\t\\t\\\"r.quad\\\": \\\"⭆\\\",\\n\\t\\t\\t\\\"r.squiggly\\\": \\\"⇝\\\",\\n\\t\\t\\t\\\"r.stop\\\": \\\"⇥\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⇨\\\",\\n\\t\\t\\t\\\"r.struck\\\": \\\"⇸\\\",\\n\\t\\t\\t\\\"r.dstruck\\\": \\\"⇻\\\",\\n\\t\\t\\t\\\"r.tail\\\": \\\"↣\\\",\\n\\t\\t\\t\\\"r.tail.struck\\\": \\\"⤔\\\",\\n\\t\\t\\t\\\"r.tail.dstruck\\\": \\\"⤕\\\",\\n\\t\\t\\t\\\"r.tilde\\\": \\\"⥲\\\",\\n\\t\\t\\t\\\"r.triple\\\": \\\"⇛\\\",\\n\\t\\t\\t\\\"r.twohead\\\": \\\"↠\\\",\\n\\t\\t\\t\\\"r.twohead.bar\\\": \\\"⤅\\\",\\n\\t\\t\\t\\\"r.twohead.struck\\\": \\\"⤀\\\",\\n\\t\\t\\t\\\"r.twohead.dstruck\\\": \\\"⤁\\\",\\n\\t\\t\\t\\\"r.twohead.tail\\\": \\\"⤖\\\",\\n\\t\\t\\t\\\"r.twohead.tail.struck\\\": \\\"⤗\\\",\\n\\t\\t\\t\\\"r.twohead.tail.dstruck\\\": \\\"⤘\\\",\\n\\t\\t\\t\\\"r.open\\\": \\\"⇾\\\",\\n\\t\\t\\t\\\"r.wave\\\": \\\"↝\\\",\\n\\t\\t\\t\\\"l\\\": \\\"←\\\",\\n\\t\\t\\t\\\"l.bar\\\": \\\"↤\\\",\\n\\t\\t\\t\\\"l.curve\\\": \\\"⤶\\\",\\n\\t\\t\\t\\\"l.turn\\\": \\\"⮌\\\",\\n\\t\\t\\t\\\"l.dashed\\\": \\\"⇠\\\",\\n\\t\\t\\t\\\"l.dotted\\\": \\\"⬸\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⇐\\\",\\n\\t\\t\\t\\\"l.double.bar\\\": \\\"⤆\\\",\\n\\t\\t\\t\\\"l.double.long\\\": \\\"⟸\\\",\\n\\t\\t\\t\\\"l.double.long.bar\\\": \\\"⟽\\\",\\n\\t\\t\\t\\\"l.double.not\\\": \\\"⇍\\\",\\n\\t\\t\\t\\\"l.double.struck\\\": \\\"⤂\\\",\\n\\t\\t\\t\\\"l.filled\\\": \\\"⬅︎\\\",\\n\\t\\t\\t\\\"l.hook\\\": \\\"↩︎\\\",\\n\\t\\t\\t\\\"l.long\\\": \\\"⟵\\\",\\n\\t\\t\\t\\\"l.long.bar\\\": \\\"⟻\\\",\\n\\t\\t\\t\\\"l.long.squiggly\\\": \\\"⬳\\\",\\n\\t\\t\\t\\\"l.loop\\\": \\\"↫\\\",\\n\\t\\t\\t\\\"l.not\\\": \\\"↚\\\",\\n\\t\\t\\t\\\"l.quad\\\": \\\"⭅\\\",\\n\\t\\t\\t\\\"l.squiggly\\\": \\\"⇜\\\",\\n\\t\\t\\t\\\"l.stop\\\": \\\"⇤\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⇦\\\",\\n\\t\\t\\t\\\"l.struck\\\": \\\"⇷\\\",\\n\\t\\t\\t\\\"l.dstruck\\\": \\\"⇺\\\",\\n\\t\\t\\t\\\"l.tail\\\": \\\"↢\\\",\\n\\t\\t\\t\\\"l.tail.struck\\\": \\\"⬹\\\",\\n\\t\\t\\t\\\"l.tail.dstruck\\\": \\\"⬺\\\",\\n\\t\\t\\t\\\"l.tilde\\\": \\\"⭉\\\",\\n\\t\\t\\t\\\"l.triple\\\": \\\"⇚\\\",\\n\\t\\t\\t\\\"l.twohead\\\": \\\"↞\\\",\\n\\t\\t\\t\\\"l.twohead.bar\\\": \\\"⬶\\\",\\n\\t\\t\\t\\\"l.twohead.struck\\\": \\\"⬴\\\",\\n\\t\\t\\t\\\"l.twohead.dstruck\\\": \\\"⬵\\\",\\n\\t\\t\\t\\\"l.twohead.tail\\\": \\\"⬻\\\",\\n\\t\\t\\t\\\"l.twohead.tail.struck\\\": \\\"⬼\\\",\\n\\t\\t\\t\\\"l.twohead.tail.dstruck\\\": \\\"⬽\\\",\\n\\t\\t\\t\\\"l.open\\\": \\\"⇽\\\",\\n\\t\\t\\t\\\"l.wave\\\": \\\"↜\\\",\\n\\t\\t\\t\\\"t\\\": \\\"↑\\\",\\n\\t\\t\\t\\\"t.bar\\\": \\\"↥\\\",\\n\\t\\t\\t\\\"t.curve\\\": \\\"⤴︎\\\",\\n\\t\\t\\t\\\"t.turn\\\": \\\"⮍\\\",\\n\\t\\t\\t\\\"t.dashed\\\": \\\"⇡\\\",\\n\\t\\t\\t\\\"t.double\\\": \\\"⇑\\\",\\n\\t\\t\\t\\\"t.filled\\\": \\\"⬆︎\\\",\\n\\t\\t\\t\\\"t.quad\\\": \\\"⟰\\\",\\n\\t\\t\\t\\\"t.stop\\\": \\\"⤒\\\",\\n\\t\\t\\t\\\"t.stroked\\\": \\\"⇧\\\",\\n\\t\\t\\t\\\"t.struck\\\": \\\"⤉\\\",\\n\\t\\t\\t\\\"t.dstruck\\\": \\\"⇞\\\",\\n\\t\\t\\t\\\"t.triple\\\": \\\"⤊\\\",\\n\\t\\t\\t\\\"t.twohead\\\": \\\"↟\\\",\\n\\t\\t\\t\\\"b\\\": \\\"↓\\\",\\n\\t\\t\\t\\\"b.bar\\\": \\\"↧\\\",\\n\\t\\t\\t\\\"b.curve\\\": \\\"⤵︎\\\",\\n\\t\\t\\t\\\"b.turn\\\": \\\"⮏\\\",\\n\\t\\t\\t\\\"b.dashed\\\": \\\"⇣\\\",\\n\\t\\t\\t\\\"b.double\\\": \\\"⇓\\\",\\n\\t\\t\\t\\\"b.filled\\\": \\\"⬇︎\\\",\\n\\t\\t\\t\\\"b.quad\\\": \\\"⟱\\\",\\n\\t\\t\\t\\\"b.stop\\\": \\\"⤓\\\",\\n\\t\\t\\t\\\"b.stroked\\\": \\\"⇩\\\",\\n\\t\\t\\t\\\"b.struck\\\": \\\"⤈\\\",\\n\\t\\t\\t\\\"b.dstruck\\\": \\\"⇟\\\",\\n\\t\\t\\t\\\"b.triple\\\": \\\"⤋\\\",\\n\\t\\t\\t\\\"b.twohead\\\": \\\"↡\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"↔︎\\\",\\n\\t\\t\\t\\\"l.r.double\\\": \\\"⇔\\\",\\n\\t\\t\\t\\\"l.r.double.long\\\": \\\"⟺\\\",\\n\\t\\t\\t\\\"l.r.double.not\\\": \\\"⇎\\\",\\n\\t\\t\\t\\\"l.r.double.struck\\\": \\\"⤄\\\",\\n\\t\\t\\t\\\"l.r.filled\\\": \\\"⬌\\\",\\n\\t\\t\\t\\\"l.r.long\\\": \\\"⟷\\\",\\n\\t\\t\\t\\\"l.r.not\\\": \\\"↮\\\",\\n\\t\\t\\t\\\"l.r.stroked\\\": \\\"⬄\\\",\\n\\t\\t\\t\\\"l.r.struck\\\": \\\"⇹\\\",\\n\\t\\t\\t\\\"l.r.dstruck\\\": \\\"⇼\\\",\\n\\t\\t\\t\\\"l.r.open\\\": \\\"⇿\\\",\\n\\t\\t\\t\\\"l.r.wave\\\": \\\"↭\\\",\\n\\t\\t\\t\\\"t.b\\\": \\\"↕︎\\\",\\n\\t\\t\\t\\\"t.b.double\\\": \\\"⇕\\\",\\n\\t\\t\\t\\\"t.b.filled\\\": \\\"⬍\\\",\\n\\t\\t\\t\\\"t.b.stroked\\\": \\\"⇳\\\",\\n\\t\\t\\t\\\"tr\\\": \\\"↗︎\\\",\\n\\t\\t\\t\\\"tr.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"tr.double\\\": \\\"⇗\\\",\\n\\t\\t\\t\\\"tr.filled\\\": \\\"⬈\\\",\\n\\t\\t\\t\\\"tr.hook\\\": \\\"⤤\\\",\\n\\t\\t\\t\\\"tr.stroked\\\": \\\"⬀\\\",\\n\\t\\t\\t\\\"br\\\": \\\"↘︎\\\",\\n\\t\\t\\t\\\"br.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"br.double\\\": \\\"⇘\\\",\\n\\t\\t\\t\\\"br.filled\\\": \\\"⬊\\\",\\n\\t\\t\\t\\\"br.hook\\\": \\\"⤥\\\",\\n\\t\\t\\t\\\"br.stroked\\\": \\\"⬂\\\",\\n\\t\\t\\t\\\"tl\\\": \\\"↖︎\\\",\\n\\t\\t\\t\\\"tl.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"tl.double\\\": \\\"⇖\\\",\\n\\t\\t\\t\\\"tl.filled\\\": \\\"⬉\\\",\\n\\t\\t\\t\\\"tl.hook\\\": \\\"⤣\\\",\\n\\t\\t\\t\\\"tl.stroked\\\": \\\"⬁\\\",\\n\\t\\t\\t\\\"bl\\\": \\\"↙︎\\\",\\n\\t\\t\\t\\\"bl.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"bl.double\\\": \\\"⇙\\\",\\n\\t\\t\\t\\\"bl.filled\\\": \\\"⬋\\\",\\n\\t\\t\\t\\\"bl.hook\\\": \\\"⤦\\\",\\n\\t\\t\\t\\\"bl.stroked\\\": \\\"⬃\\\",\\n\\t\\t\\t\\\"tl.br\\\": \\\"⤡\\\",\\n\\t\\t\\t\\\"tr.bl\\\": \\\"⤢\\\",\\n\\t\\t\\t\\\"ccw\\\": \\\"↺\\\",\\n\\t\\t\\t\\\"ccw.half\\\": \\\"↶\\\",\\n\\t\\t\\t\\\"cw\\\": \\\"↻\\\",\\n\\t\\t\\t\\\"cw.half\\\": \\\"↷\\\",\\n\\t\\t\\t\\\"zigzag\\\": \\\"↯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrows\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"rr\\\": \\\"⇉\\\",\\n\\t\\t\\t\\\"ll\\\": \\\"⇇\\\",\\n\\t\\t\\t\\\"tt\\\": \\\"⇈\\\",\\n\\t\\t\\t\\\"bb\\\": \\\"⇊\\\",\\n\\t\\t\\t\\\"lr\\\": \\\"⇆\\\",\\n\\t\\t\\t\\\"lr.stop\\\": \\\"↹\\\",\\n\\t\\t\\t\\\"rl\\\": \\\"⇄\\\",\\n\\t\\t\\t\\\"rl.long\\\": \\\"\\\",\\n\\t\\t\\t\\\"tb\\\": \\\"⇅\\\",\\n\\t\\t\\t\\\"bt\\\": \\\"⇵\\\",\\n\\t\\t\\t\\\"rrr\\\": \\\"⇶\\\",\\n\\t\\t\\t\\\"lll\\\": \\\"⬱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrowhead\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"⌃\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⌄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"harpoon\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"rt\\\": \\\"⇀\\\",\\n\\t\\t\\t\\\"rt.bar\\\": \\\"⥛\\\",\\n\\t\\t\\t\\\"rt.stop\\\": \\\"⥓\\\",\\n\\t\\t\\t\\\"rb\\\": \\\"⇁\\\",\\n\\t\\t\\t\\\"rb.bar\\\": \\\"⥟\\\",\\n\\t\\t\\t\\\"rb.stop\\\": \\\"⥗\\\",\\n\\t\\t\\t\\\"lt\\\": \\\"↼\\\",\\n\\t\\t\\t\\\"lt.bar\\\": \\\"⥚\\\",\\n\\t\\t\\t\\\"lt.stop\\\": \\\"⥒\\\",\\n\\t\\t\\t\\\"lb\\\": \\\"↽\\\",\\n\\t\\t\\t\\\"lb.bar\\\": \\\"⥞\\\",\\n\\t\\t\\t\\\"lb.stop\\\": \\\"⥖\\\",\\n\\t\\t\\t\\\"tl\\\": \\\"↿\\\",\\n\\t\\t\\t\\\"tl.bar\\\": \\\"⥠\\\",\\n\\t\\t\\t\\\"tl.stop\\\": \\\"⥘\\\",\\n\\t\\t\\t\\\"tr\\\": \\\"↾\\\",\\n\\t\\t\\t\\\"tr.bar\\\": \\\"⥜\\\",\\n\\t\\t\\t\\\"tr.stop\\\": \\\"⥔\\\",\\n\\t\\t\\t\\\"bl\\\": \\\"⇃\\\",\\n\\t\\t\\t\\\"bl.bar\\\": \\\"⥡\\\",\\n\\t\\t\\t\\\"bl.stop\\\": \\\"⥙\\\",\\n\\t\\t\\t\\\"br\\\": \\\"⇂\\\",\\n\\t\\t\\t\\\"br.bar\\\": \\\"⥝\\\",\\n\\t\\t\\t\\\"br.stop\\\": \\\"⥕\\\",\\n\\t\\t\\t\\\"lt.rt\\\": \\\"⥎\\\",\\n\\t\\t\\t\\\"lb.rb\\\": \\\"⥐\\\",\\n\\t\\t\\t\\\"lb.rt\\\": \\\"⥋\\\",\\n\\t\\t\\t\\\"lt.rb\\\": \\\"⥊\\\",\\n\\t\\t\\t\\\"tl.bl\\\": \\\"⥑\\\",\\n\\t\\t\\t\\\"tr.br\\\": \\\"⥏\\\",\\n\\t\\t\\t\\\"tl.br\\\": \\\"⥍\\\",\\n\\t\\t\\t\\\"tr.bl\\\": \\\"⥌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"harpoons\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"rtrb\\\": \\\"⥤\\\",\\n\\t\\t\\t\\\"blbr\\\": \\\"⥥\\\",\\n\\t\\t\\t\\\"bltr\\\": \\\"⥯\\\",\\n\\t\\t\\t\\\"lbrb\\\": \\\"⥧\\\",\\n\\t\\t\\t\\\"ltlb\\\": \\\"⥢\\\",\\n\\t\\t\\t\\\"ltrb\\\": \\\"⇋\\\",\\n\\t\\t\\t\\\"ltrt\\\": \\\"⥦\\\",\\n\\t\\t\\t\\\"rblb\\\": \\\"⥩\\\",\\n\\t\\t\\t\\\"rtlb\\\": \\\"⇌\\\",\\n\\t\\t\\t\\\"rtlt\\\": \\\"⥨\\\",\\n\\t\\t\\t\\\"tlbr\\\": \\\"⥮\\\",\\n\\t\\t\\t\\\"tltr\\\": \\\"⥣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tack\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"⊢\\\",\\n\\t\\t\\t\\\"r.not\\\": \\\"⊬\\\",\\n\\t\\t\\t\\\"r.long\\\": \\\"⟝\\\",\\n\\t\\t\\t\\\"r.short\\\": \\\"⊦\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⊨\\\",\\n\\t\\t\\t\\\"rr\\\": \\\"⊨\\\",\\n\\t\\t\\t\\\"r.double.not\\\": \\\"⊭\\\",\\n\\t\\t\\t\\\"rr.not\\\": \\\"⊭\\\",\\n\\t\\t\\t\\\"rrr\\\": \\\"⫢\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⊣\\\",\\n\\t\\t\\t\\\"l.long\\\": \\\"⟞\\\",\\n\\t\\t\\t\\\"l.short\\\": \\\"⫞\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⫤\\\",\\n\\t\\t\\t\\\"ll\\\": \\\"⫤\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⊥\\\",\\n\\t\\t\\t\\\"t.big\\\": \\\"⟘\\\",\\n\\t\\t\\t\\\"t.double\\\": \\\"⫫\\\",\\n\\t\\t\\t\\\"tt\\\": \\\"⫫\\\",\\n\\t\\t\\t\\\"t.short\\\": \\\"⫠\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⊤\\\",\\n\\t\\t\\t\\\"b.big\\\": \\\"⟙\\\",\\n\\t\\t\\t\\\"b.double\\\": \\\"⫪\\\",\\n\\t\\t\\t\\\"bb\\\": \\\"⫪\\\",\\n\\t\\t\\t\\\"b.short\\\": \\\"⫟\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"⟛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"zero\\\": [\\n\\t\\t\\\"0︎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"slashed\\\": \\\"0︀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"alpha\\\": \\\"α\\\",\\n\\t\\\"beta\\\": [\\n\\t\\t\\\"β\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϐ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"chi\\\": \\\"χ\\\",\\n\\t\\\"delta\\\": \\\"δ\\\",\\n\\t\\\"digamma\\\": \\\"ϝ\\\",\\n\\t\\\"epsilon\\\": [\\n\\t\\t\\\"ε\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϵ\\\",\\n\\t\\t\\t\\\"alt.rev\\\": \\\"϶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"eta\\\": \\\"η\\\",\\n\\t\\\"gamma\\\": \\\"γ\\\",\\n\\t\\\"iota\\\": [\\n\\t\\t\\\"ι\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"℩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"kappa\\\": [\\n\\t\\t\\\"κ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϰ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lambda\\\": \\\"λ\\\",\\n\\t\\\"mu\\\": \\\"μ\\\",\\n\\t\\\"nu\\\": \\\"ν\\\",\\n\\t\\\"omega\\\": \\\"ω\\\",\\n\\t\\\"omicron\\\": \\\"ο\\\",\\n\\t\\\"phi\\\": [\\n\\t\\t\\\"φ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϕ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pi\\\": [\\n\\t\\t\\\"π\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϖ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"psi\\\": \\\"ψ\\\",\\n\\t\\\"rho\\\": [\\n\\t\\t\\\"ρ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϱ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sigma\\\": [\\n\\t\\t\\\"σ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ς\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tau\\\": \\\"τ\\\",\\n\\t\\\"theta\\\": [\\n\\t\\t\\\"θ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϑ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"upsilon\\\": \\\"υ\\\",\\n\\t\\\"xi\\\": \\\"ξ\\\",\\n\\t\\\"zeta\\\": \\\"ζ\\\",\\n\\t\\\"Alpha\\\": \\\"Α\\\",\\n\\t\\\"Beta\\\": \\\"Β\\\",\\n\\t\\\"Chi\\\": \\\"Χ\\\",\\n\\t\\\"Delta\\\": \\\"Δ\\\",\\n\\t\\\"Digamma\\\": \\\"Ϝ\\\",\\n\\t\\\"Epsilon\\\": \\\"Ε\\\",\\n\\t\\\"Eta\\\": \\\"Η\\\",\\n\\t\\\"Gamma\\\": \\\"Γ\\\",\\n\\t\\\"Iota\\\": \\\"Ι\\\",\\n\\t\\\"Kappa\\\": \\\"Κ\\\",\\n\\t\\\"Lambda\\\": \\\"Λ\\\",\\n\\t\\\"Mu\\\": \\\"Μ\\\",\\n\\t\\\"Nu\\\": \\\"Ν\\\",\\n\\t\\\"Omega\\\": [\\n\\t\\t\\\"Ω\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"℧\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"Omicron\\\": \\\"Ο\\\",\\n\\t\\\"Phi\\\": \\\"Φ\\\",\\n\\t\\\"Pi\\\": \\\"Π\\\",\\n\\t\\\"Psi\\\": \\\"Ψ\\\",\\n\\t\\\"Rho\\\": \\\"Ρ\\\",\\n\\t\\\"Sigma\\\": \\\"Σ\\\",\\n\\t\\\"Tau\\\": \\\"Τ\\\",\\n\\t\\\"Theta\\\": [\\n\\t\\t\\\"Θ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϴ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"Upsilon\\\": \\\"Υ\\\",\\n\\t\\\"Xi\\\": \\\"Ξ\\\",\\n\\t\\\"Zeta\\\": \\\"Ζ\\\",\\n\\t\\\"sha\\\": \\\"ш\\\",\\n\\t\\\"Sha\\\": \\\"Ш\\\",\\n\\t\\\"aleph\\\": \\\"א\\\",\\n\\t\\\"beth\\\": \\\"ב\\\",\\n\\t\\\"gimel\\\": \\\"ג\\\",\\n\\t\\\"daleth\\\": \\\"ד\\\",\\n\\t\\\"AA\\\": \\\"𝔸\\\",\\n\\t\\\"BB\\\": \\\"𝔹\\\",\\n\\t\\\"CC\\\": \\\"ℂ\\\",\\n\\t\\\"DD\\\": \\\"𝔻\\\",\\n\\t\\\"EE\\\": \\\"𝔼\\\",\\n\\t\\\"FF\\\": \\\"𝔽\\\",\\n\\t\\\"GG\\\": \\\"𝔾\\\",\\n\\t\\\"HH\\\": \\\"ℍ\\\",\\n\\t\\\"II\\\": \\\"𝕀\\\",\\n\\t\\\"JJ\\\": \\\"𝕁\\\",\\n\\t\\\"KK\\\": \\\"𝕂\\\",\\n\\t\\\"LL\\\": \\\"𝕃\\\",\\n\\t\\\"MM\\\": \\\"𝕄\\\",\\n\\t\\\"NN\\\": \\\"ℕ\\\",\\n\\t\\\"OO\\\": \\\"𝕆\\\",\\n\\t\\\"PP\\\": \\\"ℙ\\\",\\n\\t\\\"QQ\\\": \\\"ℚ\\\",\\n\\t\\\"RR\\\": \\\"ℝ\\\",\\n\\t\\\"SS\\\": \\\"𝕊\\\",\\n\\t\\\"TT\\\": \\\"𝕋\\\",\\n\\t\\\"UU\\\": \\\"𝕌\\\",\\n\\t\\\"VV\\\": \\\"𝕍\\\",\\n\\t\\\"WW\\\": \\\"𝕎\\\",\\n\\t\\\"XX\\\": \\\"𝕏\\\",\\n\\t\\\"YY\\\": \\\"𝕐\\\",\\n\\t\\\"ZZ\\\": \\\"ℤ\\\",\\n\\t\\\"angstrom\\\": \\\"Å\\\",\\n\\t\\\"ell\\\": \\\"ℓ\\\",\\n\\t\\\"pee\\\": \\\"℘\\\",\\n\\t\\\"planck\\\": \\\"ħ\\\",\\n\\t\\\"Re\\\": \\\"ℜ\\\",\\n\\t\\\"Im\\\": \\\"ℑ\\\",\\n\\t\\\"dotless\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"i\\\": \\\"ı\\\",\\n\\t\\t\\t\\\"j\\\": \\\"ȷ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"die\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"six\\\": \\\"⚅\\\",\\n\\t\\t\\t\\\"five\\\": \\\"⚄\\\",\\n\\t\\t\\t\\\"four\\\": \\\"⚃\\\",\\n\\t\\t\\t\\\"three\\\": \\\"⚂\\\",\\n\\t\\t\\t\\\"two\\\": \\\"⚁\\\",\\n\\t\\t\\t\\\"one\\\": \\\"⚀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"errorbar\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"square.stroked\\\": \\\"⧮\\\",\\n\\t\\t\\t\\\"square.filled\\\": \\\"⧯\\\",\\n\\t\\t\\t\\\"diamond.stroked\\\": \\\"⧰\\\",\\n\\t\\t\\t\\\"diamond.filled\\\": \\\"⧱\\\",\\n\\t\\t\\t\\\"circle.stroked\\\": \\\"⧲\\\",\\n\\t\\t\\t\\\"circle.filled\\\": \\\"⧳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"spacebar\\\": \\\"␣\\\",\\n\\t\\\"gender\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"female\\\": \\\"♀︎\\\",\\n\\t\\t\\t\\\"female.double\\\": \\\"⚢\\\",\\n\\t\\t\\t\\\"female.male\\\": \\\"⚤\\\",\\n\\t\\t\\t\\\"intersex\\\": \\\"⚥\\\",\\n\\t\\t\\t\\\"male\\\": \\\"♂︎\\\",\\n\\t\\t\\t\\\"male.double\\\": \\\"⚣\\\",\\n\\t\\t\\t\\\"male.female\\\": \\\"⚤\\\",\\n\\t\\t\\t\\\"male.stroke\\\": \\\"⚦\\\",\\n\\t\\t\\t\\\"male.stroke.t\\\": \\\"⚨\\\",\\n\\t\\t\\t\\\"male.stroke.r\\\": \\\"⚩\\\",\\n\\t\\t\\t\\\"neuter\\\": \\\"⚲\\\",\\n\\t\\t\\t\\\"trans\\\": \\\"⚧︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"control\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"nul\\\": \\\"␀\\\",\\n\\t\\t\\t\\\"soh\\\": \\\"␁\\\",\\n\\t\\t\\t\\\"stx\\\": \\\"␂\\\",\\n\\t\\t\\t\\\"etx\\\": \\\"␃\\\",\\n\\t\\t\\t\\\"eot\\\": \\\"␄\\\",\\n\\t\\t\\t\\\"enq\\\": \\\"␅\\\",\\n\\t\\t\\t\\\"ack\\\": \\\"␆\\\",\\n\\t\\t\\t\\\"bel\\\": \\\"␇\\\",\\n\\t\\t\\t\\\"bs\\\": \\\"␈\\\",\\n\\t\\t\\t\\\"ht\\\": \\\"␉\\\",\\n\\t\\t\\t\\\"lf\\\": \\\"␊\\\",\\n\\t\\t\\t\\\"vt\\\": \\\"␋\\\",\\n\\t\\t\\t\\\"ff\\\": \\\"␌\\\",\\n\\t\\t\\t\\\"cr\\\": \\\"␍\\\",\\n\\t\\t\\t\\\"so\\\": \\\"␎\\\",\\n\\t\\t\\t\\\"si\\\": \\\"␏\\\",\\n\\t\\t\\t\\\"dle\\\": \\\"␐\\\",\\n\\t\\t\\t\\\"dc.one\\\": \\\"␑\\\",\\n\\t\\t\\t\\\"dc.two\\\": \\\"␒\\\",\\n\\t\\t\\t\\\"dc.three\\\": \\\"␓\\\",\\n\\t\\t\\t\\\"dc.four\\\": \\\"␔\\\",\\n\\t\\t\\t\\\"nak\\\": \\\"␕\\\",\\n\\t\\t\\t\\\"syn\\\": \\\"␖\\\",\\n\\t\\t\\t\\\"etb\\\": \\\"␗\\\",\\n\\t\\t\\t\\\"can\\\": \\\"␘\\\",\\n\\t\\t\\t\\\"em\\\": \\\"␙\\\",\\n\\t\\t\\t\\\"sub\\\": \\\"␚\\\",\\n\\t\\t\\t\\\"esc\\\": \\\"␛\\\",\\n\\t\\t\\t\\\"fs\\\": \\\"␜\\\",\\n\\t\\t\\t\\\"gs\\\": \\\"␝\\\",\\n\\t\\t\\t\\\"rs\\\": \\\"␞\\\",\\n\\t\\t\\t\\\"us\\\": \\\"␟\\\",\\n\\t\\t\\t\\\"sp\\\": \\\"␠\\\",\\n\\t\\t\\t\\\"del\\\": \\\"␡\\\",\\n\\t\\t\\t\\\"nl\\\": \\\"\\\"\\n\\t\\t}\\n\\t]\\n}\\n\"","// 归一化阶段:分词树(ast)之后的语义处理,全部为纯数据操作,不依赖 DOM。\nimport type { tree, vtype } from \"./ast.js\";\nimport emoji from \"./emoji.json?raw\";\nimport symbols from \"./symbols.json?raw\";\n\ntype fdic = { [id: string]: tree };\n\n/** @see https://github.com/typst/codex/blob/v0.3.0/src/modules/sym.txt (typst v0.15.1) */\nconst s = JSON.parse(symbols);\n\n// symbols路径简写\nfunction simple_dot(s: any) {\n\tconst ss: { [id: string]: string } = {};\n\tfor (const i in s) {\n\t\tif (typeof s[i] === \"string\") {\n\t\t\tss[i] = s[i];\n\t\t} else {\n\t\t\tfor (const objOrStr of s[i]) {\n\t\t\t\t// 第二层的array\n\t\t\t\tif (typeof objOrStr === \"string\") {\n\t\t\t\t\tss[i] = objOrStr;\n\t\t\t\t} else {\n\t\t\t\t\tif (!ss[i]) ss[i] = objOrStr[Object.keys(objOrStr)[0]];\n\t\t\t\t\tfor (const j in objOrStr) {\n\t\t\t\t\t\t// 第三层的obj\n\t\t\t\t\t\tss[`${i}.${j}`] = objOrStr[j];\n\t\t\t\t\t\t// 允许部分索引,但要保证唯一\n\t\t\t\t\t\tconst l = j.split(\".\");\n\t\t\t\t\t\tfor (let n = 1; n < l.length; n++) {\n\t\t\t\t\t\t\tconst shotKey = l.slice(0, n).join(\".\");\n\t\t\t\t\t\t\tif (!objOrStr[shotKey]) {\n\t\t\t\t\t\t\t\tss[`${i}.${shotKey}`] = objOrStr[j];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn ss;\n}\nconst ss = simple_dot(s);\n\n/** @see https://github.com/typst/codex/blob/v0.3.0/src/modules/emoji.txt (typst v0.15.1) */\nconst emojix = simple_dot(JSON.parse(emoji));\n\nconst shorthand = {\n\t\"->\": \"arrow.r\",\n\t\"|->\": \"arrow.r.bar\",\n\t\"=>\": \"arrow.r.double\",\n\t\"|=>\": \"arrow.r.double.bar\",\n\t\"==>\": \"arrow.r.double.long\",\n\t\"-->\": \"arrow.r.long\",\n\t\"~~>\": \"arrow.r.long.squiggly\",\n\t\"~>\": \"arrow.r.squiggly\",\n\t\">->\": \"arrow.r.tail\",\n\t\"->>\": \"arrow.r.twohead\",\n\t\"<-\": \"arrow.l\",\n\t\"<==\": \"arrow.l.double.long\",\n\t\"<--\": \"arrow.l.long\",\n\t\"<~~\": \"arrow.l.long.squiggly\",\n\t\"<~\": \"arrow.l.squiggly\",\n\t\"<-<\": \"arrow.l.tail\",\n\t\"<<-\": \"arrow.l.twohead\",\n\t\"<->\": \"arrow.l.r\",\n\t\"<=>\": \"arrow.l.r.double\",\n\t\"<==>\": \"arrow.l.r.double.long\",\n\t\"<-->\": \"arrow.l.r.long\",\n\t\"*\": \"convolve\",\n\t\"||\": \"bar.v.double\",\n\t\"[|\": \"bracket.l.stroked\",\n\t\"|]\": \"bracket.r.stroked\",\n\t\":=\": \"colon.eq\",\n\t\"::=\": \"colon.double.eq\",\n\t\"--\": \"dash.en\",\n\t\"---\": \"dash.em\",\n\t\"...\": \"dots.h\",\n\t\"=:\": \"eq.colon\",\n\t\"!=\": \"eq.not\",\n\t\">>\": \"gt.double\",\n\t\">=\": \"gt.eq\",\n\t\">>>\": \"gt.triple\",\n\t\"-?\": \"hyph.soft\",\n\t\"<<\": \"lt.double\",\n\t\"<=\": \"lt.eq\",\n\t\"<<<\": \"lt.triple\",\n\t\"-\": \"minus\",\n\t\"'\": \"prime\",\n\t\"~\": \"space.nobreak\",\n};\nlet max_shorthand_len = 0;\nfor (const i in shorthand) {\n\tif (i.length > max_shorthand_len) {\n\t\tmax_shorthand_len = i.length;\n\t}\n}\n\n// 直接跟参数的符号(分词归一化用;渲染实现见 main 的 ff,需与这里的键保持一致)\nconst direct_arg_sy = [\"√\", \"∛\", \"∜\"];\n\nconst opl: { id: string; str?: string; limits?: boolean }[] = [\n\t{ id: \"arccos\" },\n\t{ id: \"arcsin\" },\n\t{ id: \"arctan\" },\n\t{ id: \"arg\" },\n\t{ id: \"cos\" },\n\t{ id: \"cosh\" },\n\t{ id: \"cot\" },\n\t{ id: \"ctg\" },\n\t{ id: \"coth\" },\n\t{ id: \"csc\" },\n\t{ id: \"csch\" },\n\t{ id: \"deg\" },\n\t{ id: \"det\", limits: true },\n\t{ id: \"dim\" },\n\t{ id: \"exp\" },\n\t{ id: \"gcd\", limits: true },\n\t{ id: \"hom\" },\n\t{ id: \"mod\" },\n\t{ id: \"id\" },\n\t{ id: \"im\" },\n\t{ id: \"inf\", limits: true },\n\t{ id: \"ker\" },\n\t{ id: \"lg\" },\n\t{ id: \"lim\", limits: true },\n\t{ id: \"ln\" },\n\t{ id: \"log\" },\n\t{ id: \"max\", limits: true },\n\t{ id: \"min\", limits: true },\n\t{ id: \"Pr\", limits: true },\n\t{ id: \"sec\" },\n\t{ id: \"sech\" },\n\t{ id: \"sin\" },\n\t{ id: \"sinc\" },\n\t{ id: \"sinh\" },\n\t{ id: \"sup\", limits: true },\n\t{ id: \"tan\" },\n\t{ id: \"tg\" },\n\t{ id: \"tr\" },\n\t{ id: \"tanh\" },\n\t{ id: \"liminf\", str: \"lim inf\", limits: true },\n\t{ id: \"limsup\", str: \"lim sup\", limits: true },\n\t{ id: \"dif\", str: \"d\" },\n\t{ id: \"Dif\", str: \"D\" },\n];\n\nconst limits_f = [];\n\n// 官方核对(typst v0.11.1;语法解析一律以 0.11.1 为准):\n// 依据 typst v0.11.1 `crates/typst/src/math/attach.rs::Limits::for_char` —— 底座字符的 Unicode\n// 数学类为 Relation 时 `Limits::Always`(`_`/`^` 落正上/正下,与 display 无关);Large 类为\n// `Limits::Display`(积分特例 Never);其余一律 scripts。类表即 v0.11.1 Cargo.lock 锁定的\n// unicode-math-class 0.1.0(Unicode MathClass-15.txt,REVISION 15)。\n// 注意:typst 会在 fragment.rs::Glyph::with_id 里把 ':' 特例成 Relation、把 '⋯'/'⋮'/'⋱'/'⋰' 特例成\n// Normal,但那只改间距用的 class;limits 查的是 for_char 里未经特例的原始类,故 ':' 仍走 scripts。\n// 实测核对(2026-10-05):rel_names ∪ 官方全部 Relation 名共 426 个字符,用 v0.11.1 二进制\n// `measure()` 量帧宽差 —— limits 取 max(底座, 附着) 宽、scripts 另加 space_after_script,\n// 故 d = a - w - wref 在 limits 时 ≈ -(w+space) < -w/2、scripts 时 ≈ 0;实测 425 个 Relation 全走\n// limits(ratio ≥ 2.07)、唯一非 Relation 的 ':' 全走 scripts(ratio 0.00),与类表 100% 吻合。\n// 据此修正:移除误写的 `colon`,补入 22 项漏写的官方 Relation(bag*/bot/bowtie/dots*/\n// harpoon(s)/mustache*/or.dot/parallel.slanted/prec.curly/succ.curly/tack/tack.t/tilde)。\n// `arrow.*` 官方同为 Relation,但由下面 is_limit 的前缀规则覆盖,不在此列;\n// `arrows.*` 前缀不同(split('.')[0] 是 \"arrows\"),必须靠本表生效。\n// 版本敏感:同一探针在 typst 0.15.1 上已漂移 11 个字符 —— `:` 由 scripts 翻成 limits、\n// ⟆⊥⋯⋱⋰⋮⎱⟇(8 个)由 limits 翻成 scripts、⟅⎰ 直接禁止附角标;故升级 typst 属\"版本升级任务\",\n// 必须用新版本二进制重跑核对;平时 symbols.json 随 0.15.1 增长,本表判定仍按 0.11.1。\n// 本表按 名称 -> 字符 -> 官方类 三段判定,名称集来自 symbols.json(codex v0.15.1),\n// 上游新增 Relation 名时需同步补入本表。\nconst rel_names = new Set([\n\t\"angle.azimuth\",\n\t\"angzarr\",\n\t\"approx\",\n\t\"approx.eq\",\n\t\"approx.hat\",\n\t\"approx.not\",\n\t\"arrows.bb\",\n\t\"arrows.bt\",\n\t\"arrows.ll\",\n\t\"arrows.lll\",\n\t\"arrows.lr\",\n\t\"arrows.rl\",\n\t\"arrows.rr\",\n\t\"arrows.rrr\",\n\t\"arrows.tb\",\n\t\"arrows.tt\",\n\t\"asymp\",\n\t\"asymp.not\",\n\t\"bag\",\n\t\"bag.l\",\n\t\"bag.r\",\n\t\"because\",\n\t\"bot\",\n\t\"bowtie\",\n\t\"bowtie.filled\",\n\t\"bowtie.filled.l\",\n\t\"bowtie.filled.r\",\n\t\"bowtie.stroked\",\n\t\"colon.double\",\n\t\"colon.double.eq\",\n\t\"colon.eq\",\n\t\"dagger\",\n\t\"dagger.double\",\n\t\"dash.colon\",\n\t\"divides\",\n\t\"divides.not\",\n\t\"divides.not.rev\",\n\t\"divides.struck\",\n\t\"dots\",\n\t\"dots.down\",\n\t\"dots.h.c\",\n\t\"dots.up\",\n\t\"dots.v\",\n\t\"eq\",\n\t\"eq.ast\",\n\t\"eq.colon\",\n\t\"eq.def\",\n\t\"eq.delta\",\n\t\"eq.dot\",\n\t\"eq.dots\",\n\t\"eq.dots.down\",\n\t\"eq.dots.up\",\n\t\"eq.equi\",\n\t\"eq.est\",\n\t\"eq.gt\",\n\t\"eq.lt\",\n\t\"eq.m\",\n\t\"eq.not\",\n\t\"eq.prec\",\n\t\"eq.quad\",\n\t\"eq.quest\",\n\t\"eq.star\",\n\t\"eq.succ\",\n\t\"eq.triple\",\n\t\"eq.triple.not\",\n\t\"equiv\",\n\t\"equiv.not\",\n\t\"forces\",\n\t\"forces.not\",\n\t\"frown\",\n\t\"gt\",\n\t\"gt.approx\",\n\t\"gt.arc\",\n\t\"gt.arc.eq\",\n\t\"gt.closed\",\n\t\"gt.closed.eq\",\n\t\"gt.closed.eq.not\",\n\t\"gt.closed.not\",\n\t\"gt.dot\",\n\t\"gt.double\",\n\t\"gt.double.nested\",\n\t\"gt.eq\",\n\t\"gt.eq.lt\",\n\t\"gt.eq.not\",\n\t\"gt.eq.slant\",\n\t\"gt.equiv\",\n\t\"gt.lt\",\n\t\"gt.lt.not\",\n\t\"gt.napprox\",\n\t\"gt.neq\",\n\t\"gt.nequiv\",\n\t\"gt.not\",\n\t\"gt.ntilde\",\n\t\"gt.quest\",\n\t\"gt.tilde\",\n\t\"gt.tilde.not\",\n\t\"gt.tri\",\n\t\"gt.tri.eq\",\n\t\"gt.tri.eq.not\",\n\t\"gt.tri.not\",\n\t\"gt.triple\",\n\t\"gt.triple.nested\",\n\t\"harpoon\",\n\t\"harpoon.bl\",\n\t\"harpoon.bl.bar\",\n\t\"harpoon.bl.stop\",\n\t\"harpoon.br\",\n\t\"harpoon.br.bar\",\n\t\"harpoon.br.stop\",\n\t\"harpoon.lb\",\n\t\"harpoon.lb.bar\",\n\t\"harpoon.lb.rb\",\n\t\"harpoon.lb.rt\",\n\t\"harpoon.lb.stop\",\n\t\"harpoon.lt\",\n\t\"harpoon.lt.bar\",\n\t\"harpoon.lt.rb\",\n\t\"harpoon.lt.rt\",\n\t\"harpoon.lt.stop\",\n\t\"harpoon.rb\",\n\t\"harpoon.rb.bar\",\n\t\"harpoon.rb.stop\",\n\t\"harpoon.rt\",\n\t\"harpoon.rt.bar\",\n\t\"harpoon.rt.stop\",\n\t\"harpoon.tl\",\n\t\"harpoon.tl.bar\",\n\t\"harpoon.tl.bl\",\n\t\"harpoon.tl.br\",\n\t\"harpoon.tl.stop\",\n\t\"harpoon.tr\",\n\t\"harpoon.tr.bar\",\n\t\"harpoon.tr.bl\",\n\t\"harpoon.tr.br\",\n\t\"harpoon.tr.stop\",\n\t\"harpoons\",\n\t\"harpoons.blbr\",\n\t\"harpoons.bltr\",\n\t\"harpoons.lbrb\",\n\t\"harpoons.ltlb\",\n\t\"harpoons.ltrb\",\n\t\"harpoons.ltrt\",\n\t\"harpoons.rblb\",\n\t\"harpoons.rtlb\",\n\t\"harpoons.rtlt\",\n\t\"harpoons.rtrb\",\n\t\"harpoons.tlbr\",\n\t\"harpoons.tltr\",\n\t\"image\",\n\t\"in\",\n\t\"in.not\",\n\t\"in.rev\",\n\t\"in.rev.not\",\n\t\"in.rev.small\",\n\t\"in.small\",\n\t\"lat\",\n\t\"lat.eq\",\n\t\"lt\",\n\t\"lt.approx\",\n\t\"lt.arc\",\n\t\"lt.arc.eq\",\n\t\"lt.closed\",\n\t\"lt.closed.eq\",\n\t\"lt.closed.eq.not\",\n\t\"lt.closed.not\",\n\t\"lt.dot\",\n\t\"lt.double\",\n\t\"lt.double.nested\",\n\t\"lt.eq\",\n\t\"lt.eq.gt\",\n\t\"lt.eq.not\",\n\t\"lt.eq.slant\",\n\t\"lt.equiv\",\n\t\"lt.gt\",\n\t\"lt.gt.not\",\n\t\"lt.napprox\",\n\t\"lt.neq\",\n\t\"lt.nequiv\",\n\t\"lt.not\",\n\t\"lt.ntilde\",\n\t\"lt.quest\",\n\t\"lt.tilde\",\n\t\"lt.tilde.not\",\n\t\"lt.tri\",\n\t\"lt.tri.eq\",\n\t\"lt.tri.eq.not\",\n\t\"lt.tri.not\",\n\t\"lt.triple\",\n\t\"lt.triple.nested\",\n\t\"mapsfrom\",\n\t\"mapsfrom.long\",\n\t\"mapsto\",\n\t\"mapsto.long\",\n\t\"minus.tilde\",\n\t\"models\",\n\t\"multimap\",\n\t\"multimap.double\",\n\t\"mustache\",\n\t\"mustache.l\",\n\t\"mustache.r\",\n\t\"or.dot\",\n\t\"original\",\n\t\"parallel\",\n\t\"parallel.eq\",\n\t\"parallel.equiv\",\n\t\"parallel.not\",\n\t\"parallel.slanted\",\n\t\"parallel.slanted.eq\",\n\t\"parallel.slanted.eq.tilde\",\n\t\"parallel.slanted.equiv\",\n\t\"parallel.struck\",\n\t\"parallel.tilde\",\n\t\"perp\",\n\t\"plus.o.arrow\",\n\t\"prec\",\n\t\"prec.approx\",\n\t\"prec.curly\",\n\t\"prec.curly.eq\",\n\t\"prec.curly.eq.not\",\n\t\"prec.double\",\n\t\"prec.eq\",\n\t\"prec.equiv\",\n\t\"prec.napprox\",\n\t\"prec.neq\",\n\t\"prec.nequiv\",\n\t\"prec.not\",\n\t\"prec.ntilde\",\n\t\"prec.tilde\",\n\t\"prop\",\n\t\"ratio\",\n\t\"semi.rev\",\n\t\"smile\",\n\t\"smt\",\n\t\"smt.eq\",\n\t\"subset\",\n\t\"subset.approx\",\n\t\"subset.closed\",\n\t\"subset.closed.eq\",\n\t\"subset.dot\",\n\t\"subset.double\",\n\t\"subset.eq\",\n\t\"subset.eq.dot\",\n\t\"subset.eq.not\",\n\t\"subset.eq.sq\",\n\t\"subset.eq.sq.not\",\n\t\"subset.equiv\",\n\t\"subset.neq\",\n\t\"subset.nequiv\",\n\t\"subset.not\",\n\t\"subset.plus\",\n\t\"subset.sq\",\n\t\"subset.sq.neq\",\n\t\"subset.tilde\",\n\t\"subset.times\",\n\t\"succ\",\n\t\"succ.approx\",\n\t\"succ.curly\",\n\t\"succ.curly.eq\",\n\t\"succ.curly.eq.not\",\n\t\"succ.double\",\n\t\"succ.eq\",\n\t\"succ.equiv\",\n\t\"succ.napprox\",\n\t\"succ.neq\",\n\t\"succ.nequiv\",\n\t\"succ.not\",\n\t\"succ.ntilde\",\n\t\"succ.tilde\",\n\t\"supset\",\n\t\"supset.approx\",\n\t\"supset.closed\",\n\t\"supset.closed.eq\",\n\t\"supset.dot\",\n\t\"supset.double\",\n\t\"supset.eq\",\n\t\"supset.eq.dot\",\n\t\"supset.eq.not\",\n\t\"supset.eq.sq\",\n\t\"supset.eq.sq.not\",\n\t\"supset.equiv\",\n\t\"supset.neq\",\n\t\"supset.nequiv\",\n\t\"supset.not\",\n\t\"supset.plus\",\n\t\"supset.sq\",\n\t\"supset.sq.neq\",\n\t\"supset.tilde\",\n\t\"supset.times\",\n\t\"tack\",\n\t\"tack.b.double\",\n\t\"tack.b.short\",\n\t\"tack.bb\",\n\t\"tack.l\",\n\t\"tack.l.double\",\n\t\"tack.l.long\",\n\t\"tack.l.r\",\n\t\"tack.l.short\",\n\t\"tack.ll\",\n\t\"tack.r\",\n\t\"tack.r.double\",\n\t\"tack.r.double.not\",\n\t\"tack.r.long\",\n\t\"tack.r.not\",\n\t\"tack.r.short\",\n\t\"tack.rr\",\n\t\"tack.rr.not\",\n\t\"tack.rrr\",\n\t\"tack.t\",\n\t\"tack.t.double\",\n\t\"tack.t.short\",\n\t\"tack.tt\",\n\t\"therefore\",\n\t\"tilde\",\n\t\"tilde.dot\",\n\t\"tilde.eq\",\n\t\"tilde.eq.not\",\n\t\"tilde.eq.rev\",\n\t\"tilde.equiv\",\n\t\"tilde.equiv.not\",\n\t\"tilde.nequiv\",\n\t\"tilde.not\",\n\t\"tilde.op\",\n\t\"tilde.rev\",\n\t\"tilde.rev.equiv\",\n\t\"tilde.triple\",\n]);\n// 大算符:0.11.1 实测 inline 走角标、block(display) 才走上下\nconst limits_sy = [\n\t// 大算符:0.11.1 实测 inline 走角标、block(display) 才走上下\n\t\"∏\",\n\t\"∐\",\n\t\"∑\",\n\t\"⋀\",\n\t\"⋁\",\n\t\"⋂\",\n\t\"⋃\",\n\t\"⟕\",\n\t\"⟖\",\n\t\"⟗\",\n\t\"⧸\",\n\t\"⨀\",\n\t\"⨁\",\n\t\"⨂\",\n\t\"⨃\",\n\t\"⨄\",\n\t\"⨅\",\n\t\"⨆\",\n\t\"⨉\",\n\t\"⨝\",\n\t\"⨼\",\n\t\"⟘\",\n\t\"⨊\",\n];\nfor (const i in ss) {\n\tfor (const j of limits_sy) {\n\t\tif (ss[i] === j) {\n\t\t\tlimits_f.push(i);\n\t\t}\n\t}\n}\n\nfunction out_kh(x: tree[0]) {\n\tif (x.type === \"group\") {\n\t\tif (x.kh === \"()\") return x.children;\n\t\telse return [x];\n\t} else {\n\t\treturn [x];\n\t}\n}\n\nfunction transfer_kh(list: tree) {\n\t// 未闭合组(kh 只有开括号)原样保留:由 render 的 group 分支只画开括号,\n\t// 这里补 v_f(kh[1]) 会造出 value=undefined 的假右括号。\n\tif (list.length === 1 && list[0].type === \"group\" && list[0].kh.length > 1)\n\t\tlist = [v_f(list[0].kh[0]), ...list[0].children, v_f(list[0].kh[1])];\n\treturn list;\n}\n\nfunction in_kh(x: tree) {\n\tconst k: tree = [{ type: \"group\", value: \"\", children: x, kh: \"()\" }];\n\treturn k;\n}\n\nfunction is_sup(x: tree[0]) {\n\treturn eqq(x, { type: \"v\", value: \"^\" });\n}\n\nfunction is_sub(x: tree[0]) {\n\treturn eqq(x, { type: \"v\", value: \"_\" });\n}\n\nfunction is_frac(x: tree[0]) {\n\treturn eqq(x, { type: \"v\", value: \"/\" });\n}\n\nfunction is_br(x: tree[0]) {\n\treturn x && x.value === \"br\" && x.esc;\n}\n\nconst rel_sy = new Set<string>();\n{\n\tconst taken = new Set<string>();\n\tfor (const k in ss) {\n\t\tconst v = ss[k];\n\t\tif (!rel_names.has(k)) {\n\t\t\tif (rel_sy.has(v)) taken.add(v); // 角标类符号抢占了关系类的字形\n\t\t\tcontinue;\n\t\t}\n\t\trel_sy.add(v);\n\t}\n\tfor (const c of taken) rel_sy.delete(c);\n}\n\n// display/inline 是整条公式的属性,不是单个节点的:由 toMMLV 在渲染前设置一次,\n// 嵌套子树(如 lr(sum_1^2) 里的 sum)自动继承,无需把标志穿过 40 个 render 调用点。\nlet display = true;\nexport function setDisplay(d: boolean) {\n\tdisplay = d;\n}\n\nexport function isDisplay() {\n\treturn display;\n}\n\nfunction is_limit(tree: tree) {\n\tif (tree.length === 1) {\n\t\tconst x = tree[0];\n\t\tif (x.type === \"f\") {\n\t\t\t// 只有裸符号才算子;`tilde(x)` 这类调用里 x.value 同名但不是运算符本体\n\t\t\tif (!x.children || x.children.length === 0) {\n\t\t\t\tif (rel_names.has(x.value)) return true;\n\t\t\t\tif (limits_f.includes(x.value)) return display;\n\t\t\t\tif (x.value.split(\".\").at(0) === \"arrow\") return true;\n\t\t\t\tfor (const i of opl) {\n\t\t\t\t\tif (i.limits && x.value === i.id) return display;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (x.value === \"scripts\") return false;\n\t\t\tif (x.value === \"limits\") return true;\n\t\t\tif (x.value === \"op\") {\n\t\t\t\tconst { dic } = f_attr(x);\n\t\t\t\treturn is_true(dic.limits) && display;\n\t\t\t}\n\t\t}\n\t\tif (x.type === \"v\") {\n\t\t\tif (rel_sy.has(x.value)) return true;\n\t\t\tif (limits_sy.includes(x.value)) return display;\n\t\t}\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction is_dot(x: tree[0]) {\n\treturn eq(x, { type: \"v\", value: \".\" });\n}\n\nfunction is_dot_f(x: tree[0]) {\n\treturn x && (x.type === \"f\" || (x.type === \"v\" && x.value.match(/[a-z]/)));\n}\n\nfunction is_factorial(x: tree[0]) {\n\treturn x && x.type === \"v\" && x.value === \"!\" && !x.esc;\n}\n\nconst dh: tree[0] = { type: \"v\", value: \",\" };\n\nfunction v_f(str: string): tree[0] {\n\treturn { type: \"v\", value: str };\n}\n\nfunction eq(x0: tree[0], x1: tree[0]) {\n\tif (!x0 || !x1) return false;\n\treturn x0.type === x1.type && x0.value === x1.value;\n}\n\nfunction eqq(x0: tree[0], x1: tree[0]) {\n\tif (!x0 || !x1) return false;\n\treturn x0.type === x1.type && x0.value === x1.value && x0?.esc === x1?.esc;\n}\n\nfunction is_type(x: tree[0], ...type: vtype[]) {\n\treturn type.includes(x?.type);\n}\n\nfunction trim(tree: tree) {\n\tif (!tree?.[0]) return [];\n\tlet start = 0;\n\tlet end = tree.length;\n\tif (tree[0].type === \"blank\") start = 1;\n\tif (tree.at(-1).type === \"blank\") end--;\n\treturn tree.slice(start, end);\n}\n\nfunction dic_to_ast(dic: { [id: string]: tree }) {\n\tconst l: tree = [];\n\tfor (const i in dic) {\n\t\tl.push({ type: \"f\", value: i });\n\t\tl.push({ type: \"v\", value: \":\" });\n\t\tfor (const x of dic[i]) {\n\t\t\tif (eq(x, dh)) x.esc = true;\n\t\t}\n\t\tl.push(...dic[i]);\n\t\tif (Number(i) + 1 !== Object.keys(dic).length) {\n\t\t\tl.push(dh);\n\t\t}\n\t}\n\treturn l;\n}\n\nfunction is_true(t: tree) {\n\treturn eqq(trim(t)?.[0], { type: \"sharp\", value: \"true\" });\n}\n\nfunction ast2(tree: tree) {\n\t// 处理数字和小数\n\t{\n\t\tconst t: tree = [];\n\t\tconst num = /[0-9]/;\n\t\tlet number = \"\";\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (\n\t\t\t\tx.value.match(num) ||\n\t\t\t\t(tree[n - 1]?.value.match(num) &&\n\t\t\t\t\tis_dot(x) &&\n\t\t\t\t\ttree[n + 1]?.value.match(num))\n\t\t\t) {\n\t\t\t\tnumber += x.value;\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tx.value.match(num) &&\n\t\t\t\t(!tree[n + 1] || !tree[n + 1].value.match(num)) &&\n\t\t\t\t!(is_dot(tree[n + 1]) && tree[n + 2]?.value.match(num))\n\t\t\t) {\n\t\t\t\tt.push({ type: \"v\", value: number });\n\t\t\t\tnumber = \"\";\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理\\转义\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (eqq(x, v_f(\"\\\\\"))) {\n\t\t\t\tif (tree?.[n + 1]) {\n\t\t\t\t\tconst next = tree[n + 1];\n\t\t\t\t\tif (eq(next, v_f(\"\\\\\"))) {\n\t\t\t\t\t\tt.push({ type: \"v\", value: \"\\\\\", esc: true });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else if (next.type === \"blank\") {\n\t\t\t\t\t\tt.push({ type: \"v\", value: \"br\", esc: true });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else if (next.type === \"f\") {\n\t\t\t\t\t\tconst v = next.value;\n\t\t\t\t\t\tt.push({ type: \"v\", value: v[0] });\n\t\t\t\t\t\tt.push({ type: v.length === 2 ? \"v\" : \"f\", value: v.slice(1) });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else if (next.type === \"sharp\") {\n\t\t\t\t\t\tt.push({ type: \"v\", value: \"#\" });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst v = next;\n\t\t\t\t\t\tv.esc = true;\n\t\t\t\t\t\tt.push(v);\n\t\t\t\t\t\tn++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\treturn tree;\n}\n\nfunction ast3(tree: tree) {\n\t// 处理符号简写(shorthand)\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (!x.esc) {\n\t\t\t\tif (x.type === \"v\") {\n\t\t\t\t\tlet nn = n;\n\t\t\t\t\tlet shortkey = x.value;\n\t\t\t\t\tconst l = [];\n\t\t\t\t\tif (shorthand[shortkey]) l.push(shortkey);\n\t\t\t\t\t// 连起来的字符\n\t\t\t\t\twhile (\n\t\t\t\t\t\ttree?.[nn + 1]?.type === \"v\" &&\n\t\t\t\t\t\tshortkey.length <= max_shorthand_len\n\t\t\t\t\t) {\n\t\t\t\t\t\tshortkey += tree[nn + 1].value;\n\t\t\t\t\t\tif (shorthand[shortkey]) l.push(shortkey);\n\t\t\t\t\t\tnn++;\n\t\t\t\t\t}\n\t\t\t\t\tif (l.length) {\n\t\t\t\t\t\tconst nx: tree[0] = {\n\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\tvalue: shorthand[l.at(-1)],\n\t\t\t\t\t\t\tsrc: l.at(-1),\n\t\t\t\t\t\t};\n\t\t\t\t\t\tt.push(nx);\n\n\t\t\t\t\t\t// 不处理已经后面连起来的字符\n\t\t\t\t\t\tn += l.at(-1).length - 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tt.push(x);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tt.push(x);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理字符与v之间空格\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (\n\t\t\t\tx.type === \"v\" &&\n\t\t\t\ttree?.[n + 1]?.type === \"blank\" &&\n\t\t\t\ttree?.[n + 2]?.type === \"str\"\n\t\t\t) {\n\t\t\t\tt.push(x);\n\t\t\t\tt.push({ type: \"f\", value: \"space\" });\n\t\t\t} else if (\n\t\t\t\tx.type === \"str\" &&\n\t\t\t\ttree?.[n + 1]?.type === \"blank\" &&\n\t\t\t\ttree?.[n + 2]?.type === \"v\"\n\t\t\t) {\n\t\t\t\tt.push(x);\n\t\t\t\tt.push({ type: \"f\", value: \"space\" });\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理!\n\t{\n\t\tconst t: tree = [];\n\t\tlet tmpx: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (\n\t\t\t\tis_factorial(tree?.[n + 1]) &&\n\t\t\t\t!is_sup(x) &&\n\t\t\t\t!is_sub(x) &&\n\t\t\t\t!is_frac(x)\n\t\t\t) {\n\t\t\t\ttmpx.push(x);\n\t\t\t} else {\n\t\t\t\tif (tmpx.length) {\n\t\t\t\t\ttmpx.push(x);\n\t\t\t\t\tt.push({ type: \"group1\", value: \"\", children: tmpx });\n\t\t\t\t\ttmpx = [];\n\t\t\t\t} else {\n\t\t\t\t\tt.push(x);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttree = t;\n\t}\n\n\t// 处理带.的f\n\t{\n\t\tconst t: tree = [];\n\t\tlet f = \"\";\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (is_dot_f(x) && is_dot(tree[n + 1])) {\n\t\t\t\tif (f || (!f && x.type === \"f\")) {\n\t\t\t\t\tf += `${x.value}.`;\n\t\t\t\t\tn++;\n\t\t\t\t} else {\n\t\t\t\t\tt.push(x);\n\t\t\t\t}\n\t\t\t} else if (f && is_dot_f(x)) {\n\t\t\t\tf += x.value;\n\t\t\t\tif (!is_dot(tree[n + 1])) {\n\t\t\t\t\tt.push({ type: \"f\", value: f });\n\t\t\t\t\tf = \"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\t// 处理后面直接跟参数的f(√ ∛ ∜)\n\t// typst v0.11.1 实测:根号吃掉一个「原子」,该原子自己的附着(_/^ 与素号)都算在根号里面 ——\n\t// √2^3=√(2³)、√2_1^2=√(2带1带2)、√f'=√(f')、√a_1^2 b^3=√(a带1带2)·b³、∛x^2=³√(x²);\n\t// 后面再接别的原子(√2 3、√a b^2)或二元运算符(√2+3)则到此为止。\n\t// 括号组:无附着时沿用原来的去括号路径(√(2)=√2、√(x+y) 根号直接覆盖 x+y,与 typst 一致),\n\t// 有附着时把整组(连括号)当基底收进参数(√(2)^3=√((2)³),typst 同样保留括号)。\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (x.type === \"v\" && direct_arg_sy.includes(x.value) && tree[n + 1]) {\n\t\t\t\tx.type = \"f\";\n\t\t\t\tconst next = tree[n + 1];\n\t\t\t\t// 向后吞附着链:_值、^值、素号,可混排可重复,中间允许空格\n\t\t\t\tconst att: tree = [];\n\t\t\t\tlet end = n + 1;\n\t\t\t\tlet j = n + 2;\n\t\t\t\tfor (;;) {\n\t\t\t\t\tlet k = j;\n\t\t\t\t\twhile (tree[k]?.type === \"blank\") k++;\n\t\t\t\t\tconst y = tree[k];\n\t\t\t\t\tif (!y) break;\n\t\t\t\t\tif ((is_sup(y) || is_sub(y)) && tree[k + 1] !== undefined) {\n\t\t\t\t\t\tatt.push(y, tree[k + 1]);\n\t\t\t\t\t\tend = k + 1;\n\t\t\t\t\t\tj = k + 2;\n\t\t\t\t\t} else if (eqq(y, { type: \"f\", value: \"prime\" })) {\n\t\t\t\t\t\tatt.push(y);\n\t\t\t\t\t\tend = k;\n\t\t\t\t\t\tj = k + 1;\n\t\t\t\t\t} else break;\n\t\t\t\t}\n\t\t\t\tconst is_paren = is_type(next, \"group\") && next.kh === \"()\";\n\t\t\t\tif (!is_paren || att.length) {\n\t\t\t\t\tt.push(x);\n\t\t\t\t\tt.push({\n\t\t\t\t\t\ttype: \"group\",\n\t\t\t\t\t\tchildren: [next, ...att],\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\tkh: \"()\",\n\t\t\t\t\t});\n\t\t\t\t\tn = end;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tt.push(x);\n\t\t}\n\t\ttree = t;\n\t}\n\t// 处理f\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tconst next = tree[n + 1];\n\n\t\t\t// 带有括号(参数)的函数\n\t\t\t// prime 是后缀算子(稍后单独转成 attach),不能吞掉后面的 (..) 组\n\t\t\tif (\n\t\t\t\tx.type === \"f\" &&\n\t\t\t\tx.value !== \"prime\" &&\n\t\t\t\tnext &&\n\t\t\t\tnext.type === \"group\"\n\t\t\t) {\n\t\t\t\tif (next.kh === \"()\") {\n\t\t\t\t\tx.children = tree[n + 1].children;\n\t\t\t\t\tt.push(x);\n\n\t\t\t\t\t// 不处理group\n\t\t\t\t\tn++;\n\t\t\t\t\tcontinue;\n\t\t\t\t} else {\n\t\t\t\t\t// 未闭合的开括号组(kh 只有开括号)不能当参数收编:typst\n\t\t\t\t\t// 那里是 unclosed delimiter 错误,本库保持原来的并列渲染,\n\t\t\t\t\t// 组本身留给下一轮出栈,否则内容会被吞进 f 再渲染不出来。\n\t\t\t\t\tif (next.kh.length > 1 && next.kh[0] === \"(\") {\n\t\t\t\t\t\t// 向后找\n\t\t\t\t\t\tconst tt: tree = [];\n\t\t\t\t\t\ttt.push(...next.children);\n\t\t\t\t\t\ttt.push(v_f(next.kh[1]));\n\t\t\t\t\t\tfor (let i = n + 2; i < tree.length; i++) {\n\t\t\t\t\t\t\tif (tree[i]) {\n\t\t\t\t\t\t\t\tif (eqq(tree[i], v_f(\")\"))) {\n\t\t\t\t\t\t\t\t\tn = i;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ttt.push(tree[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tx.children = tt;\n\t\t\t\t\t\tt.push(x);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tt.push(x);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (const i in x.children || []) {\n\t\t\t\t\tif (x.children[i].value === \"\\\\\" && x.children[i].type === \"v\") {\n\t\t\t\t\t\tif (x.children[Number(i) + 1]) {\n\t\t\t\t\t\t\tx.children[Number(i) + 1].esc = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// sin[]/2=(sin[])/2 a_i()=a_(i()) 之类的\n\t{\n\t\tconst t: tree = [];\n\t\tconst un_list_str = [\n\t\t\t\"`\",\n\t\t\t\"~\",\n\t\t\t\"!\",\n\t\t\t\"@\",\n\t\t\t\"%\",\n\t\t\t\"*\",\n\t\t\t\"/\",\n\t\t\t\"(\",\n\t\t\t\")\",\n\t\t\t\"-\",\n\t\t\t\"+\",\n\t\t\t\"=\",\n\t\t\t\"[\",\n\t\t\t\"]\",\n\t\t\t\"{\",\n\t\t\t\"}\",\n\t\t\t\"|\",\n\t\t\t\":\",\n\t\t\t\";\",\n\t\t\t\"<\",\n\t\t\t\",\",\n\t\t\t\">\",\n\t\t\t\".\",\n\t\t\t\"?\",\n\t\t]; // typst 似乎是直接排除了这些字符,不排除转义,shorthand之类的\n\t\t// `/` 也必须排除(unicode-math-class=Binary,typst continuable=false):\n\t\t// 否则 `1/(2 (x)` 里的 `/` 会和后面的未闭合组粘成一个 token,`/` 就不再是分数算子。\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tconst next = tree[n + 1];\n\t\t\tif (\n\t\t\t\tis_type(next, \"group\") &&\n\t\t\t\tnext.kh !== \"()\" &&\n\t\t\t\tis_type(x, \"f\", \"str\", \"v\") &&\n\t\t\t\t!x.value.match(/[0-9]/) &&\n\t\t\t\t!is_sub(x) &&\n\t\t\t\t!is_sup(x) &&\n\t\t\t\t// `#box(...)` 的名字归下面的「处理#」(它吃 tree[n+1] 的值),\n\t\t\t\t// 这里抢先粘成 group1 会让 sharp 变成空值、名字连同参数被丢掉\n\t\t\t\ttree[n - 1]?.type !== \"sharp\" &&\n\t\t\t\t(!(\n\t\t\t\t\t(is_type(x, \"f\") && un_list_str.includes(x.src)) ||\n\t\t\t\t\t(is_type(x, \"v\") && un_list_str.includes(x.value))\n\t\t\t\t) ||\n\t\t\t\t\tx.esc)\n\t\t\t) {\n\t\t\t\tt.push({ type: \"group1\", value: \"\", children: [x, next] });\n\t\t\t\tn++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tt.push(x);\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理#\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (x.type === \"sharp\") {\n\t\t\t\tif (!x.value)\n\t\t\t\t\tif (tree[n + 1]?.type === \"group\") {\n\t\t\t\t\t\tx.children = tree[n + 1].children;\n\t\t\t\t\t\tfor (const i in x.children) {\n\t\t\t\t\t\t\tif (x.children[i].value === \"\\\\\" && x.children[i].type === \"v\") {\n\t\t\t\t\t\t\t\tif (x.children[Number(i) + 1]) {\n\t\t\t\t\t\t\t\t\tx.children[Number(i) + 1].esc = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst v = x.children.map((i) => i.value).join(\"\");\n\t\t\t\t\t\tif (v.match(/^[0-9+\\-*/()]+$/)) {\n\t\t\t\t\t\t\tx.value = v; // todo 数学运算\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tx.value = v;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx.value = tree[n + 1]?.value;\n\t\t\t\t\t\tif (tree[n + 2]?.type === \"f\") {\n\t\t\t\t\t\t\tx.value += tree[n + 2].value;\n\t\t\t\t\t\t\tn++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tt.push(x);\n\t\t\t\tn++;\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// '->^':素号是后缀算子,等价于 `^<素号串>`,交给后面的 ^/_ 合并逻辑处理\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tconst next = tree[n + 1];\n\t\t\tif (!eqq(next, { type: \"f\", value: \"prime\" })) {\n\t\t\t\tt.push(x);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet nn = n + 1;\n\t\t\twhile (tree[nn] && eqq(tree[nn], { type: \"f\", value: \"prime\" })) nn++;\n\t\t\tconst primes = nn - (n + 1);\n\t\t\tif (eqq(x, { type: \"f\", value: \"prime\" })) {\n\t\t\t\t// 整段素号前面没有基底(如 `'''''''`):平铺成一个后缀串,不做附着\n\t\t\t\tt.push({ type: \"v\", value: \"'\".repeat(primes + 1) });\n\t\t\t} else if (!is_sup(x) && !is_sub(x) && x.type !== \"blank\") {\n\t\t\t\tt.push({\n\t\t\t\t\ttype: \"f\",\n\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tx,\n\t\t\t\t\t\tdh,\n\t\t\t\t\t\t...dic_to_ast({\n\t\t\t\t\t\t\ttr: [{ type: \"v\", value: \"'\".repeat(primes) }],\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tt.push(x, { type: \"v\", value: \"'\".repeat(primes) });\n\t\t\t}\n\t\t\tn += primes;\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 移除blank\n\t{\n\t\tconst t: tree = [];\n\t\tfor (const i of tree) {\n\t\t\tif (i.type === \"blank\") continue;\n\t\t\tt.push(i);\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理^_\n\t{\n\t\t// 获取^_嵌套索引\n\t\tlet index: [number, number][] = [];\n\t\tlet start = NaN;\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (!is_sup(x) && !is_sub(x)) {\n\t\t\t\tif (\n\t\t\t\t\t(is_sup(tree[n + 1]) || is_sub(tree[n + 1])) &&\n\t\t\t\t\t!(is_sup(tree[n - 1]) || is_sub(tree[n - 1]))\n\t\t\t\t) {\n\t\t\t\t\tif (!start) start = n;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(is_sup(tree[n - 1]) || is_sub(tree[n - 1])) &&\n\t\t\t\t\t!(is_sup(tree[n + 1]) || is_sub(tree[n + 1]))\n\t\t\t\t) {\n\t\t\t\t\tindex.push([start, n]);\n\t\t\t\t\tstart = NaN;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tif (n === index?.[0]?.[0]) {\n\t\t\t\t{\n\t\t\t\t\tlet tmp: tree[0] = tree[index[0][1]];\n\t\t\t\t\tfor (let i = index[0][1]; i >= index[0][0]; i--) {\n\t\t\t\t\t\tif (is_sup(tree[i - 1]) && is_sub(tree[i - 3])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 4]])\n\t\t\t\t\t\t\t\t? { t: out_kh(tmp), b: out_kh(tree[i - 2]) }\n\t\t\t\t\t\t\t\t: { tr: out_kh(tmp), br: out_kh(tree[i - 2]) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 4], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 4 - 1;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (is_sub(tree[i - 1]) && is_sup(tree[i - 3])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 4]])\n\t\t\t\t\t\t\t\t? { t: out_kh(tree[i - 2]), b: out_kh(tmp) }\n\t\t\t\t\t\t\t\t: { tr: out_kh(tree[i - 2]), br: out_kh(tmp) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 4], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 4 - 1;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (is_sup(tree[i - 1])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 2]])\n\t\t\t\t\t\t\t\t? { t: out_kh(tmp) }\n\t\t\t\t\t\t\t\t: { tr: out_kh(tmp) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 2], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 2 - 1;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (is_sub(tree[i - 1])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 2]])\n\t\t\t\t\t\t\t\t? { b: out_kh(tmp) }\n\t\t\t\t\t\t\t\t: { br: out_kh(tmp) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 2], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 2 - 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tt.push(tmp);\n\t\t\t\t}\n\t\t\t\tn += index[0][1] - index[0][0];\n\t\t\t\tindex = index.slice(1);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt.push(tree[n]);\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理/\n\t{\n\t\t// 获取/嵌套索引\n\t\tconst index: [number, number][] = [];\n\t\tlet start = NaN;\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (!is_frac(x)) {\n\t\t\t\tif (is_frac(tree[n + 1]) && !is_frac(tree[n - 1])) {\n\t\t\t\t\tif (!start) start = n;\n\t\t\t\t}\n\t\t\t\tif (is_frac(tree[n - 1]) && !is_frac(tree[n + 1])) {\n\t\t\t\t\tindex.push([start, n]);\n\t\t\t\t\tstart = NaN;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tif (n === index?.[0]?.[0]) {\n\t\t\t\t{\n\t\t\t\t\tlet tmp: tree[0] = tree[index[0][0]];\n\t\t\t\t\tfor (let i = index[0][0]; i <= index[0][1]; i++) {\n\t\t\t\t\t\tif (is_frac(tree[i + 1])) {\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"frac\",\n\t\t\t\t\t\t\t\tchildren: [...out_kh(tmp), dh, ...out_kh(tree[i + 2])],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti += 2 - 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tt.push(tmp);\n\t\t\t\t}\n\t\t\t\tn += index[0][1] - index[0][0];\n\t\t\t\tindex.splice(0, 1);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt.push(tree[n]);\n\t\t}\n\t\ttree = t;\n\t}\n\treturn tree;\n}\n\nfunction f_attr(x: tree[0]) {\n\tconst list: (tree | \",\" | \";\")[] = [[]];\n\tfor (const i of x.children) {\n\t\tif (\n\t\t\teqq(i, { type: \"v\", value: \",\" }) ||\n\t\t\teqq(i, { type: \"v\", value: \";\" })\n\t\t) {\n\t\t\tlist.push(i.value as \",\" | \";\");\n\t\t\tlist.push([]);\n\t\t} else {\n\t\t\t(list.at(-1) as tree).push(i);\n\t\t}\n\t}\n\tconst dicl: tree[] = [];\n\tconst xattr: typeof list = [];\n\tfor (const x of list) {\n\t\tif (typeof x === \"string\") {\n\t\t\txattr.push(x);\n\t\t} else {\n\t\t\tif (\n\t\t\t\tx.find(\n\t\t\t\t\t(v, i) =>\n\t\t\t\t\t\tis_type(x[i - 1], \"f\", \"v\") && eqq(v, { type: \"v\", value: \":\" }),\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tdicl.push(x);\n\t\t\t} else {\n\t\t\t\txattr.push(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tlet nl: typeof xattr = [];\n\tfor (let i = 0; i < xattr.length; i++) {\n\t\tconst n = xattr[i],\n\t\t\tnext = xattr[i + 1];\n\t\tif ((n === \",\" && next === \";\") || (n === \";\" && next === \",\")) {\n\t\t\tnl.push(\";\");\n\t\t\ti++;\n\t\t} else {\n\t\t\tnl.push(xattr[i]);\n\t\t}\n\t}\n\n\tlet attr: tree[] | tree[][];\n\tif (typeof nl.at(-1) === \"string\") nl = nl.slice(0, -1);\n\tconst has_fenhao = nl.includes(\";\");\n\tif (has_fenhao) {\n\t\tlet x = array_split(nl, (x) => x === \";\");\n\t\tif (x.at(-1)[0].length === 0) x = x.slice(0, -1);\n\t\tattr = x.map((x) => x.filter((i) => typeof i !== \"string\")) as tree[][];\n\t} else {\n\t\tattr = (nl.filter((i) => typeof i !== \"string\") as tree[]).map((i) =>\n\t\t\ttrim(i),\n\t\t);\n\t}\n\n\t// 将dicl的tree转为键对\n\tconst dic: fdic = {};\n\tfor (const i of dicl) {\n\t\tlet x = false;\n\t\tlet n = \"\";\n\t\tconst t: tree = [];\n\t\tfor (const el of i) {\n\t\t\tif (eqq(el, { type: \"v\", value: \":\" })) {\n\t\t\t\tx = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!x) {\n\t\t\t\tn += el.value;\n\t\t\t} else {\n\t\t\t\tt.push(el);\n\t\t\t}\n\t\t}\n\t\tdic[n] = ast3(ast2(t));\n\t}\n\treturn { attr, dic };\n}\n\nfunction array_split<i>(list: i[], f: (i: i) => boolean) {\n\tconst l: i[][] = [[]];\n\tfor (const x of list) {\n\t\tif (f(x)) {\n\t\t\tl.push([]);\n\t\t} else {\n\t\t\tl.at(-1).push(x);\n\t\t}\n\t}\n\treturn l;\n}\n\nexport {\n\tast2,\n\tast3,\n\tdh,\n\temojix,\n\teq,\n\teqq,\n\tf_attr,\n\ttype fdic,\n\tin_kh,\n\tis_br,\n\tis_limit,\n\tis_true,\n\tis_type,\n\topl,\n\tout_kh,\n\tss,\n\ttransfer_kh,\n\ttrim,\n\tv_f,\n};\n","// Virtual DOM for MathML. `createMath`/`createFragment` return plain objects\n// that mimic the small subset of the DOM the render code uses (.append,\n// .setAttribute/.getAttribute, .style, .children, .textContent, .innerHTML,\n// .querySelectorAll), so the renderer builds a VNode tree with no `document`.\n// The tree is then materialized by exactly one of:\n// - toHtml(node): MathML string (DOM-free)\n// - toDom(node) : real MathML DOM (the only place `document` is touched)\n\nexport class VText {\n\treadonly type = \"text\" as const;\n\tconstructor(public text: string) {}\n}\n\nexport class VFragment {\n\treadonly type = \"frag\" as const;\n\treadonly childNodes: VNode[] = [];\n\tappend(...kids: (VNode | VNode[] | null | undefined)[]) {\n\t\tpushNodes(this.childNodes, kids);\n\t}\n}\n\nexport class VEl {\n\treadonly type = \"el\" as const;\n\treadonly attrs: { [k: string]: string } = {};\n\treadonly style: { [k: string]: string } = {};\n\treadonly childNodes: VNode[] = [];\n\tconstructor(\n\t\treadonly tag: string,\n\t\tinnerText?: string | null,\n\t\tattr?: { [k: string]: string } | null,\n\t) {\n\t\tif (innerText) this.childNodes.push(new VText(innerText));\n\t\tif (attr) for (const k in attr) this.attrs[k] = attr[k];\n\t}\n\n\tappend(...kids: (VNode | VNode[] | null | undefined)[]) {\n\t\tpushNodes(this.childNodes, kids);\n\t}\n\tsetAttribute(k: string, v: string) {\n\t\tthis.attrs[k] = v;\n\t}\n\tgetAttribute(k: string): string | null {\n\t\treturn this.attrs[k] ?? null;\n\t}\n\tget children(): VEl[] {\n\t\treturn this.childNodes.filter((n): n is VEl => n.type === \"el\");\n\t}\n\tget textContent(): string {\n\t\treturn this.childNodes\n\t\t\t.filter((n): n is VText => n.type === \"text\")\n\t\t\t.map((n) => n.text)\n\t\t\t.join(\"\");\n\t}\n\tset textContent(v: string) {\n\t\tthis.childNodes.length = 0;\n\t\tif (v) this.childNodes.push(new VText(v));\n\t}\n\tget innerHTML(): string {\n\t\treturn this.childNodes.map(serialize).join(\"\");\n\t}\n\tset innerHTML(v: string) {\n\t\tthis.childNodes.length = 0;\n\t\tthis.childNodes.push(new VText(v));\n\t}\n\tquerySelectorAll(sel: string): VEl[] {\n\t\tconst out: VEl[] = [];\n\t\tcollect(this, sel, out);\n\t\treturn out;\n\t}\n}\n\nexport type VNode = VEl | VText | VFragment;\n\nfunction pushNodes(\n\ttarget: VNode[],\n\tkids: (VNode | VNode[] | null | undefined)[],\n) {\n\tfor (const k of kids) {\n\t\tif (!k) continue;\n\t\tif (Array.isArray(k)) {\n\t\t\tpushNodes(target, k);\n\t\t\tcontinue;\n\t\t}\n\t\t// fragments are inlined, matching DOM append(fragment)\n\t\tif (k.type === \"frag\") target.push(...k.childNodes);\n\t\telse target.push(k);\n\t}\n}\n\nfunction collect(node: VEl | VFragment, sel: string, out: VEl[]) {\n\tfor (const c of node.childNodes) {\n\t\tif (c.type === \"el\") {\n\t\t\tif (c.tag === sel) out.push(c);\n\t\t\tcollect(c, sel, out);\n\t\t} else if (c.type === \"frag\") {\n\t\t\tcollect(c, sel, out);\n\t\t}\n\t}\n}\n\n// ---- builders (DOM-shaped) ----\nexport function createMath(\n\ttag: string,\n\tinnerText?: string | null,\n\tattr?: { [k: string]: string } | null,\n): VEl {\n\treturn new VEl(tag, innerText, attr);\n}\n\nexport function createFragment(): VFragment {\n\treturn new VFragment();\n}\n\n// ---- serialization ----\nfunction camelToKebab(k: string) {\n\treturn k.replace(/[A-Z]/g, (m) => \"-\" + m.toLowerCase());\n}\nfunction escText(s: string) {\n\treturn s\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/</g, \"<\")\n\t\t.replace(/>/g, \">\")\n\t\t.replace(/\\u00A0/g, \" \");\n}\nfunction escAttr(s: string) {\n\treturn s\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/</g, \"<\")\n\t\t.replace(/>/g, \">\")\n\t\t.replace(/\"/g, \""\")\n\t\t.replace(/\\u00A0/g, \" \");\n}\n\nfunction serialize(node: VNode): string {\n\tif (node.type === \"text\") return escText(node.text);\n\tif (node.type === \"frag\") return node.childNodes.map(serialize).join(\"\");\n\tlet s = `<${node.tag}`;\n\tfor (const k in node.attrs) s += ` ${k}=\"${escAttr(node.attrs[k])}\"`;\n\tconst st = Object.keys(node.style);\n\tif (st.length) {\n\t\tconst css = st.map((k) => `${camelToKebab(k)}: ${node.style[k]}`).join(\"; \");\n\t\ts += ` style=\"${escAttr(css)}\"`;\n\t}\n\ts += \">\";\n\ts += node.childNodes.map(serialize).join(\"\");\n\ts += `</${node.tag}>`;\n\treturn s;\n}\n\nexport function toHtml(node: VNode): string {\n\treturn serialize(node);\n}\n\nconst MATHML_NS = \"http://www.w3.org/1998/Math/MathML\";\n\n// Materialize into real MathML DOM. The ONLY place `document` is touched.\nexport function toDom(\n\tnode: VNode,\n\tdoc: Document = globalThis.document,\n): MathMLElement | DocumentFragment | Text {\n\tif (node.type === \"text\") return doc.createTextNode(node.text);\n\tif (node.type === \"frag\") {\n\t\tconst f = doc.createDocumentFragment();\n\t\tfor (const c of node.childNodes) f.append(toDom(c, doc) as Node);\n\t\treturn f;\n\t}\n\tconst e = doc.createElementNS(MATHML_NS, node.tag) as MathMLElement;\n\tfor (const k in node.attrs) e.setAttribute(k, node.attrs[k]);\n\tfor (const k in node.style)\n\t\t(e.style as unknown as Record<string, string>)[k] = node.style[k];\n\tfor (const c of node.childNodes) e.append(toDom(c, doc) as Node);\n\treturn e;\n}\n","/// <reference types=\"vite/client\" />\n\nimport { ast, init_c, type tree } from \"./ast.js\";\nimport {\n\tast2,\n\tast3,\n\tdh,\n\temojix,\n\teqq,\n\tf_attr,\n\ttype fdic,\n\tin_kh,\n\tis_br,\n\tis_limit,\n\tis_true,\n\tisDisplay,\n\topl,\n\tsetDisplay,\n\tss,\n\ttransfer_kh,\n\ttrim,\n\tv_f,\n} from \"./normalize.js\";\nimport {\n\tcreateFragment,\n\tcreateMath,\n\ttoDom,\n\ttoHtml,\n\ttype VEl,\n\ttype VFragment,\n} from \"./vdom.js\";\n\nconst mathvariant = \"mathvariant\";\n\nconst delimPair = {\n\t\"(\": [\"(\", \")\"],\n\t\"[\": [\"[\", \"]\"],\n\t\"{\": [\"{\", \"}\"],\n\t\"|\": [\"|\", \"|\"],\n\t\"||\": [\"‖\", \"‖\"],\n\t\"\": [\"\", \"\"],\n};\n\n// attach 底座的 limits 是否生效。子树要等 render 才做 ast3 的「处理f」收编,\n// 这里 dispatch 到 attach 时 `limits(a)` 还是 [f(limits), group(a)] 两个并列节点,\n// 故先按 ast3 同样的规则收编(f 紧跟 kh === \"()\" 的组;prime 除外)再判定,\n// 使 `limits(a)`/`scripts(a)`/`op(.., limits: #true)` 与 `_`/`^` 走同一口径。\nfunction limits_active(base: tree) {\n\tconst t: tree =\n\t\tbase.length === 2 &&\n\t\tbase[0].type === \"f\" &&\n\t\tbase[0].value !== \"prime\" &&\n\t\tbase[1].type === \"group\" &&\n\t\tbase[1].kh === \"()\"\n\t\t\t? [{ ...base[0], children: base[1].children }]\n\t\t\t: base;\n\treturn !!is_limit(t);\n}\n\nfunction delim(dic: fdic, _default: string) {\n\tconst d = get_value(dic, \"delim\") as string;\n\tlet x = \"\";\n\tif (d !== null)\n\t\tif (d === undefined) x = _default;\n\t\telse x = d;\n\treturn delimPair[x] as [string, string];\n}\n\nconst f: {\n\t[name: string]: (attr: tree[], dic?: fdic, e?: fonts) => VEl | VFragment;\n} = {\n\taccent: (attr: tree[], _dic: fdic, e) => {\n\t\tconst base = createMath(\"mrow\");\n\t\tbase.append(render(attr[0], e));\n\t\tconst a = createMath(\"mrow\");\n\t\ta.append(render(attr[1], e));\n\t\ta.children[0].innerHTML = accent_match_str(a.children[0].innerHTML);\n\t\tconst over = createMath(\"mover\");\n\t\tover.setAttribute(\"accent\", \"true\");\n\t\tover.append(base, a);\n\t\treturn over;\n\t},\n\tattach: (attr: tree[], dic: fdic, e) => {\n\t\t// typst v0.11.1 attach.rs::layout_math 的「聪明定位」:\n\t\t// let limits = base.limits().active(styles);\n\t\t// let (t, tr) = if limits || tr.is_some() { (t, tr) } else { (None, t) };\n\t\t// let (b, br) = if limits || br.is_some() { (b, br) } else { (None, b) };\n\t\t// 即底座 limits 不生效时 t/b 让位到右上/右下脚标位(与 `_`/`^` 同一套判定),\n\t\t// 只有 tr/br 已被占用时才留在正上/正下(外层套 mover/munder);\n\t\t// limits 生效时 t/b 恒落正上/正下,角标仍各占自己的角。\n\t\tconst d: fdic = { ...dic };\n\t\tif (!limits_active(attr[0])) {\n\t\t\tif (d.t && !d.tr) {\n\t\t\t\td.tr = d.t;\n\t\t\t\tdelete d.t;\n\t\t\t}\n\t\t\tif (d.b && !d.br) {\n\t\t\t\td.br = d.b;\n\t\t\t\tdelete d.b;\n\t\t\t}\n\t\t}\n\t\tconst base = createMath(\"mrow\");\n\t\tbase.append(render(attr[0]));\n\t\tlet el: VEl;\n\t\tconst tl = createMath(\"mrow\");\n\t\tif (d.tl) tl.append(render(d.tl, e));\n\t\tconst bl = createMath(\"mrow\");\n\t\tif (d.bl) bl.append(render(d.bl, e));\n\t\tconst tr = createMath(\"mrow\");\n\t\tif (d.tr) tr.append(render(d.tr, e));\n\t\tconst br = createMath(\"mrow\");\n\t\tif (d.br) br.append(render(d.br, e));\n\t\tif (d.tl || d.bl || d.tr || d.br) {\n\t\t\tif (d.tl || d.bl) {\n\t\t\t\tel = createMath(\"mmultiscripts\");\n\t\t\t\tel.append(base, br, tr, createMath(\"mprescripts\"), bl, tl);\n\t\t\t} else if (d.tr && d.br) {\n\t\t\t\tel = createMath(\"msubsup\");\n\t\t\t\tel.append(base, br, tr);\n\t\t\t} else if (d.tr) {\n\t\t\t\tel = createMath(\"msup\");\n\t\t\t\tel.append(base, tr);\n\t\t\t} else {\n\t\t\t\tel = createMath(\"msub\");\n\t\t\t\tel.append(base, br);\n\t\t\t}\n\t\t}\n\t\tif (d.t || d.b) {\n\t\t\tconst uo = createMath(\"munderover\");\n\t\t\tif (!el) {\n\t\t\t\tuo.append(base);\n\t\t\t} else {\n\t\t\t\tuo.append(el);\n\t\t\t}\n\t\t\tconst t = createMath(\"mrow\");\n\t\t\tif (d.t) t.append(render(d.t, e));\n\t\t\tconst b = createMath(\"mrow\");\n\t\t\tif (d.b) b.append(render(d.b, e));\n\t\t\tuo.append(b, t);\n\t\t\tel = uo;\n\t\t}\n\t\treturn el;\n\t},\n\tscripts: (attr: tree[], _dic: fdic, e) => {\n\t\treturn render(attr[0], e);\n\t},\n\tlimits: (attr: tree[], _dic: fdic, e) => {\n\t\treturn render(attr[0], e);\n\t},\n\tbinom: (attr: tree[], _dic: fdic, e) => {\n\t\tconst row = createMath(\"mrow\");\n\t\tconst a = createMath(\"mrow\");\n\t\ta.append(render(attr[0], e));\n\t\tconst b = createMath(\"mrow\");\n\t\tconst s: tree = [];\n\t\tfor (const x of attr.slice(1)) s.push(...x, dh);\n\t\tb.append(render(s.slice(0, -1), e));\n\t\tconst f = createMath(\"mfrac\", null, { linethickness: \"0\" });\n\t\tf.append(a, b);\n\t\tconst l = createMath(\"mo\", \"(\");\n\t\tconst r = createMath(\"mo\", \")\");\n\t\trow.append(l, f, r);\n\t\treturn row;\n\t},\n\tcancel: (attr: tree[], dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tconst bg = (x: boolean) =>\n\t\t\t`linear-gradient(to ${\n\t\t\t\tx ? \"left\" : \"right\"\n\t\t\t} top, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%)`;\n\t\tlet s = \"\";\n\t\tif (is_true(dic.cross)) {\n\t\t\ts = `${bg(true)},${bg(false)}`;\n\t\t} else if (is_true(dic.inverted)) {\n\t\t\ts = bg(false);\n\t\t} else {\n\t\t\ts = bg(true);\n\t\t}\n\t\tr.style.backgroundImage = s;\n\t\tr.append(render(attr[0], e));\n\t\treturn r;\n\t},\n\tcases: (attr: tree[], dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tconst d = delim(dic, \"{\");\n\t\tconst t = f.x_table(attr, { cases: [] }, e) as VEl;\n\t\tconst gap = (get_value(dic, \"gap\") as string) || \"0.5em\";\n\t\tt.setAttribute(\"rowspacing\", gap);\n\t\tif (is_true(dic?.reverse)) {\n\t\t\tconst l = createMath(\"mo\", d[1]);\n\t\t\tr.append(t, l);\n\t\t} else {\n\t\t\tconst l = createMath(\"mo\", d[0]);\n\t\t\tr.append(l, t);\n\t\t}\n\t\treturn r;\n\t},\n\tfrac: (attr: tree[], _dic: fdic, e) => {\n\t\tconst a = createMath(\"mrow\");\n\t\ta.append(render(attr[0], e));\n\t\tconst b = createMath(\"mrow\");\n\t\tb.append(render(attr[1], e));\n\t\tconst f = createMath(\"mfrac\");\n\t\tf.append(a, b);\n\t\treturn f;\n\t},\n\tlr: (attr: tree[], dic: fdic, e) => {\n\t\tconst list = attr_join(attr.map((i) => transfer_kh(i)));\n\t\tconst tList = trim(list);\n\n\t\tconst size = get_value(dic, \"size\") as string;\n\t\tconst c = render(tList, e);\n\t\tconst row = createMath(\"mrow\");\n\t\trow.append(c);\n\t\tif (size && size !== \"auto\") {\n\t\t\tconst lm = row.children[0];\n\t\t\tconst rm = row.children[row.children.length - 1];\n\t\t\tlm?.setAttribute(\"maxsize\", size);\n\t\t\tlm?.setAttribute(\"minsize\", size);\n\t\t\trm?.setAttribute(\"maxsize\", size);\n\t\t\trm?.setAttribute(\"minsize\", size);\n\t\t}\n\t\treturn row;\n\t},\n\tmid: (attr: tree[], _dic: fdic) => {\n\t\tconst o = createMath(\"mo\", attr?.[0]?.[0]?.value, { stretchy: \"true\" });\n\t\treturn o;\n\t},\n\tmat: (attr: tree[] | tree[][], dic: fdic, e) => {\n\t\tconst d = delim(dic, \"(\");\n\t\tconst row = createMath(\"mrow\");\n\t\tconst l = createMath(\"mo\", d[0]);\n\t\tconst r = createMath(\"mo\", d[1]);\n\t\tconst t = createMath(\"mtable\");\n\t\tlet array: tree[][];\n\t\tif ((attr[0][0] as tree[0])?.type) array = [attr as tree[]];\n\t\telse array = attr as tree[][];\n\n\t\tconst augment = get_value(dic, \"augment\");\n\t\tif (augment) {\n\t\t\tlet xa = NaN;\n\t\t\tlet ya = NaN;\n\t\t\tif (typeof augment !== \"object\") {\n\t\t\t\txa = Number(augment);\n\t\t\t} else {\n\t\t\t\tif (\"hline\" in augment && augment.hline)\n\t\t\t\t\tya = Number((augment.hline as tree).map((i) => i.value).join(\"\"));\n\t\t\t\tif (\"vline\" in augment && augment.vline)\n\t\t\t\t\txa = Number((augment.vline as tree).map((i) => i.value).join(\"\"));\n\t\t\t}\n\t\t\tif (xa < 0) xa = array[0].length + xa;\n\t\t\tif (ya < 0) ya = array.length + ya;\n\n\t\t\tif (ya) {\n\t\t\t\tconst l: boolean[] = [];\n\t\t\t\tfor (let i = 1; i < array.length; i++) l.push(i === ya);\n\t\t\t\tt.setAttribute(\n\t\t\t\t\t\"rowlines\",\n\t\t\t\t\tl.map((i) => (i ? \"solid\" : \"none\")).join(\" \"),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (xa) {\n\t\t\t\tconst l: boolean[] = [];\n\t\t\t\tfor (let i = 1; i < array[0].length; i++) l.push(i === xa);\n\t\t\t\tt.setAttribute(\n\t\t\t\t\t\"columnlines\",\n\t\t\t\t\tl.map((i) => (i ? \"solid\" : \"none\")).join(\" \"),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tconst gap = get_value(dic, \"gap\") as string;\n\t\tconst rowgap = get_value(dic, \"row-gap\") as string;\n\t\tconst colgap = get_value(dic, \"column-gap\") as string;\n\t\tt.setAttribute(\"columnspacing\", colgap || gap || \"0.5em\");\n\t\tt.setAttribute(\"rowspacing\", rowgap || gap || \"0.5em\");\n\n\t\tfor (const i of array) {\n\t\t\tconst tr = createMath(\"mtr\");\n\t\t\tfor (const j of i) {\n\t\t\t\tconst td = createMath(\"mtd\");\n\t\t\t\ttd.append(render(j, e));\n\t\t\t\ttr.append(td);\n\t\t\t}\n\t\t\tt.append(tr);\n\t\t}\n\t\trow.append(l, t, r);\n\t\treturn row;\n\t},\n\troot: (attr: tree[], _dic: fdic, e) => {\n\t\tconst row = createMath(\"mrow\");\n\t\trow.append(render(attr[0], e));\n\t\tconst base = createMath(\"mrow\");\n\t\tbase.append(render(attr[1], e));\n\t\tconst root = createMath(\"mroot\");\n\t\troot.append(base, row);\n\t\treturn root;\n\t},\n\t// msqrt(与 typst html 导出一致:<msqrt>…</msqrt>),被开方数直接作为子元素,\n\t// 不包 mrow、不走 mroot——空指数的 mroot 会被 MathML 校验/渲染当成错误结构。\n\tsqrt: (attr: tree[], _dic: fdic, e) => {\n\t\tconst s = createMath(\"msqrt\");\n\t\ts.append(render(attr[0], e));\n\t\treturn s;\n\t},\n\tdisplay: (attr: tree[], _dic: fdic, e) => {\n\t\tconst m = createMath(\"mrow\", null, { displaystyle: \"true\" });\n\t\tm.append(render(attr[0], e));\n\t\treturn m;\n\t},\n\tinline: (attr: tree[], _dic: fdic, e) => {\n\t\tconst m = createMath(\"mrow\", null, {\n\t\t\tdisplaystyle: \"false\",\n\t\t\tscriptlevel: \"0\",\n\t\t});\n\t\tm.append(render(attr[0], e));\n\t\treturn m;\n\t},\n\tscript: (attr: tree[], _dic: fdic, e) => {\n\t\tconst m = createMath(\"mrow\", null, {\n\t\t\tdisplaystyle: \"false\",\n\t\t\tscriptlevel: \"1\",\n\t\t});\n\t\tm.append(render(attr[0], e));\n\t\treturn m;\n\t},\n\tsscript: (attr: tree[], _dic: fdic, e) => {\n\t\tconst m = createMath(\"mrow\", null, {\n\t\t\tdisplaystyle: \"false\",\n\t\t\tscriptlevel: \"2\",\n\t\t});\n\t\tm.append(render(attr[0], e));\n\t\treturn m;\n\t},\n\tupright: (attr: tree[], _dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tr.append(render(attr[0], e));\n\t\tr.querySelectorAll(\"mi\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"normal\");\n\t\t});\n\t\tr.querySelectorAll(\"ms\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"normal\");\n\t\t});\n\t\treturn r;\n\t},\n\titalic: (attr: tree[], _dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tr.append(render(attr[0], e));\n\t\tr.querySelectorAll(\"mi\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"italic\");\n\t\t});\n\t\tr.querySelectorAll(\"ms\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"italic\");\n\t\t});\n\t\treturn r;\n\t},\n\tbold: (attr: tree[], _dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tr.style.fontWeight = \"bold\";\n\t\tr.append(render(attr[0], e));\n\t\treturn r;\n\t},\n\top: (attr: tree[], _dic: fdic, e) => {\n\t\tconst f = createMath(\"mrow\");\n\t\tconst str = createMath(\"ms\");\n\t\tstr.append(render(attr[0], e));\n\t\tf.append(str);\n\t\treturn f;\n\t},\n\tunderline: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_line_f(\"under\", attr[0], e);\n\t},\n\toverline: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_line_f(\"over\", attr[0], e);\n\t},\n\tunderbrace: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"under\", attr[0], \"⏟\", attr?.[1], e);\n\t},\n\toverbrace: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"over\", attr[0], \"⏞\", attr?.[1], e);\n\t},\n\tunderbracket: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"under\", attr[0], \"⎵\", attr?.[1], e);\n\t},\n\toverbracket: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"over\", attr[0], \"⎴\", attr?.[1], e);\n\t},\n\tserif: (attr: tree[]) => {\n\t\treturn render(attr[0], \"serif\");\n\t},\n\tsans: (attr: tree[]) => {\n\t\treturn render(attr[0], \"sans\");\n\t},\n\tfrak: (attr: tree[]) => {\n\t\treturn render(attr[0], \"frak\");\n\t},\n\tmono: (attr: tree[]) => {\n\t\treturn render(attr[0], \"mono\");\n\t},\n\tbb: (attr: tree[]) => {\n\t\treturn render(attr[0], \"bb\");\n\t},\n\tcal: (attr: tree[]) => {\n\t\treturn render(attr[0], \"cal\");\n\t},\n\tvec: (attr: tree[], dic: fdic, e) => {\n\t\tconst d = delim(dic, \"(\");\n\t\tconst row = createMath(\"mrow\");\n\t\tconst l = createMath(\"mo\", d[0]);\n\t\tconst r = createMath(\"mo\", d[1]);\n\t\tconst t = x_table(attr, e);\n\t\tconst gap = (get_value(dic, \"gap\") as string) || \"0.5em\";\n\t\tt.setAttribute(\"rowspacing\", gap);\n\t\tt.setAttribute(\"columnspacing\", \"0.5em\");\n\t\trow.append(l, t, r);\n\t\treturn row;\n\t},\n\th: (attr: tree[], _dic: fdic) => {\n\t\treturn createMath(\"mspace\", \"\", { width: attr[0][0].value });\n\t},\n\t// 额外\n\t//\n\tx_table: (attr: tree[], dic: fdic) => {\n\t\tconst t = x_table(attr);\n\t\tif (dic.cases) t.setAttribute(\"columnalign\", \"left\");\n\t\treturn t;\n\t},\n};\n\nfunction x_table(trees: tree[], e?: fonts, inline?: boolean) {\n\tlet max = 0;\n\tconst t = createMath(\"mtable\");\n\tfor (const i of trees) {\n\t\tconst n = i.filter((x) => eqq(x, v_f(\"&\"))).length;\n\t\tif (n > max) max = n;\n\t}\n\tfor (const i of trees) {\n\t\tconst r = createMath(\"mtr\");\n\n\t\t// 按&拆分\n\t\tconst result: tree[] = [[]];\n\t\tfor (let n = 0; n < i.length; n++) {\n\t\t\tif (eqq(i[n], v_f(\"&\"))) {\n\t\t\t\tresult.push([]);\n\t\t\t} else {\n\t\t\t\tresult.at(-1).push(i[n]);\n\t\t\t}\n\t\t}\n\t\tfor (const i of result) {\n\t\t\tconst d = createMath(\"mtd\");\n\t\t\tr.append(d);\n\t\t\td.append(render(i, e));\n\t\t}\n\n\t\t// 有 & 时围绕对齐点 right/left 交替;没有 & 时 typst 块级居中、行内贴左\n\t\t// (mat/vec 的单元格不随块/行内变化,始终居中,MathML 默认列对齐也是 center)\n\t\tconst al = [];\n\t\tfor (let i = 0; i <= max; i++) {\n\t\t\tif (max > 0) al.push(i % 2 === 0 ? \"right\" : \"left\");\n\t\t\telse al.push(inline ? \"left\" : \"center\");\n\t\t}\n\t\tt.setAttribute(\"columnalign\", al.join(\" \"));\n\t\tt.setAttribute(\"columnspacing\", \"0\");\n\t\tt.append(r);\n\t}\n\treturn t;\n}\n\n// typst 把 1–4 个连续素号折成连字,5 个及以上重复 ′\nfunction primeRun(n: number) {\n\tconst lig = [\n\t\tss.prime,\n\t\tss[\"prime.double\"],\n\t\tss[\"prime.triple\"],\n\t\tss[\"prime.quad\"],\n\t];\n\treturn n <= 4 ? lig[n - 1] : ss.prime.repeat(n);\n}\n\nfunction op_f() {\n\tfor (const i of opl) {\n\t\tf[i.id] = (attr: tree[], _a, e) => {\n\t\t\tconst s = f.op([[{ type: \"str\", value: i.str || i.id }]], {}, e);\n\t\t\tif (attr) {\n\t\t\t\tconst f = createFragment();\n\t\t\t\tf.append(s, kh(attr_join(attr)));\n\t\t\t\treturn f;\n\t\t\t} else {\n\t\t\t\treturn s;\n\t\t\t}\n\t\t};\n\t}\n}\nop_f();\n\nconst spaceConst = {\n\tquad: \"1em\",\n\tmed: \"0.222em\",\n\tthin: \"0.17em\",\n\tthick: \"0.28em\",\n\twide: \"2em\",\n};\n\nfor (const i in spaceConst) {\n\tf[i] = () => {\n\t\treturn f.h([[{ type: \"str\", value: spaceConst[i] }]]);\n\t};\n}\n\nfunction accent_match_str(c: string) {\n\tswitch (c) {\n\t\tcase \"\\u{0300}\":\n\t\tcase \"`\":\n\t\t\treturn \"\\u{0300}\";\n\t\tcase \"\\u{0301}\":\n\t\tcase \"´\":\n\t\t\treturn \"\\u{0301}\";\n\t\tcase \"\\u{0302}\":\n\t\tcase \"^\":\n\t\tcase \"ˆ\":\n\t\t\treturn \"\\u{0302}\";\n\t\tcase \"\\u{0303}\":\n\t\tcase \"~\":\n\t\tcase \"∼\":\n\t\tcase \"˜\":\n\t\t\treturn \"\\u{0303}\";\n\t\tcase \"\\u{0304}\":\n\t\tcase \"¯\":\n\t\t\treturn \"\\u{0304}\";\n\t\tcase \"\\u{0305}\":\n\t\tcase \"-\":\n\t\tcase \"‾\":\n\t\tcase \"−\":\n\t\t\treturn \"\\u{0305}\";\n\t\tcase \"\\u{0306}\":\n\t\tcase \"˘\":\n\t\t\treturn \"\\u{0306}\";\n\t\tcase \"\\u{0307}\":\n\t\tcase \".\":\n\t\tcase \"˙\":\n\t\tcase \"⋅\":\n\t\t\treturn \"\\u{0307}\";\n\t\tcase \"\\u{0308}\":\n\t\tcase \"¨\":\n\t\t\treturn \"\\u{0308}\";\n\t\tcase \"\\u{20db}\":\n\t\t\treturn \"\\u{20db}\";\n\t\tcase \"\\u{20dc}\":\n\t\t\treturn \"\\u{20dc}\";\n\t\tcase \"\\u{030a}\":\n\t\tcase \"∘\":\n\t\tcase \"○\":\n\t\t\treturn \"\\u{030a}\";\n\t\tcase \"\\u{030b}\":\n\t\tcase \"˝\":\n\t\t\treturn \"\\u{030b}\";\n\t\tcase \"\\u{030c}\":\n\t\tcase \"ˇ\":\n\t\t\treturn \"\\u{030c}\";\n\t\tcase \"\\u{20d6}\":\n\t\tcase \"←\":\n\t\t\treturn \"\\u{20d6}\";\n\t\tcase \"\\u{20d7}\":\n\t\tcase \"→\":\n\t\tcase \"⟶\":\n\t\t\treturn \"\\u{20d7}\";\n\t\tcase \"\\u{20e1}\":\n\t\tcase \"↔\":\n\t\tcase \"⟷\":\n\t\t\treturn \"\\u{20e1}\";\n\t\tcase \"\\u{20d0}\":\n\t\tcase \"↼\":\n\t\t\treturn \"\\u{20d0}\";\n\t\tcase \"\\u{20d1}\":\n\t\tcase \"⇀\":\n\t\t\treturn \"\\u{20d1}\";\n\t\tdefault:\n\t\t\treturn c;\n\t}\n}\n\nfunction accent_f() {\n\tconst l = [\n\t\t\"grave\",\n\t\t\"acute\",\n\t\t\"acute.double\",\n\t\t\"hat\",\n\t\t\"tilde\",\n\t\t\"macron\",\n\t\t\"breve\",\n\t\t\"dot\",\n\t\t\"dot.double\",\n\t\t\"dot.triple\",\n\t\t\"dot.quad\",\n\t\t\"diaer\",\n\t\t\"circle\",\n\t\t\"arrow\",\n\t\t\"arrow.r\",\n\t\t\"arrow.l\",\n\t\t\"arrow.l.r\",\n\t\t\"caron\",\n\t\t\"harpoon\",\n\t\t\"harpoon.rt\",\n\t\t\"harpoon.lt\",\n\t];\n\tfor (const i of l) {\n\t\tf[i] = (attr: tree[], _dic, e) => {\n\t\t\tconst s = f.accent([attr[0], [{ type: \"f\", value: i }]], {}, e);\n\t\t\treturn s;\n\t\t};\n\t}\n}\naccent_f();\n\nfunction lr_f() {\n\tconst l: { name: string; l: tree[0]; r: tree[0] }[] = [\n\t\t{ name: \"abs\", l: v_f(\"|\"), r: v_f(\"|\") },\n\t\t{ name: \"norm\", l: v_f(\"‖\"), r: v_f(\"‖\") },\n\t\t{ name: \"floor\", l: v_f(\"⌊\"), r: v_f(\"⌋\") },\n\t\t{ name: \"ceil\", l: v_f(\"⌈\"), r: v_f(\"⌉\") },\n\t\t{ name: \"round\", l: v_f(\"⌊\"), r: v_f(\"⌉\") },\n\t];\n\tfor (const i of l) {\n\t\tf[i.name] = (attr: tree[], dic, e) => {\n\t\t\tconst s = f.lr([[i.l, ...attr[0], i.r]], dic, e);\n\t\t\treturn s;\n\t\t};\n\t}\n}\nlr_f();\n\nfunction underover_f(\n\ttype: \"under\" | \"over\",\n\ttree: tree,\n\tx: string,\n\tstr: tree,\n\te: fonts,\n) {\n\tconst m =\n\t\ttype === \"under\"\n\t\t\t? createMath(\"munder\", null, { accentunder: \"true\" })\n\t\t\t: createMath(\"mover\", null, { accent: \"true\" });\n\tconst base = createMath(\"mrow\");\n\tbase.append(render(tree, e));\n\tif (str) {\n\t\tconst s = createMath(\"mrow\");\n\t\ts.append(render(str, e));\n\t\tconst mm = type === \"under\" ? createMath(\"munder\") : createMath(\"mover\");\n\t\tconst xx = createMath(\"mo\", x);\n\t\tmm.append(xx, s);\n\t\tm.append(base, mm);\n\t} else {\n\t\tconst xx = createMath(\"mo\", x);\n\t\tm.append(base, xx);\n\t}\n\treturn m;\n}\n\nfunction underover_line_f(type: \"under\" | \"over\", tree: tree, e: fonts) {\n\tconst m =\n\t\ttype === \"under\"\n\t\t\t? createMath(\"munder\", null, { accentunder: \"true\" })\n\t\t\t: createMath(\"mover\", null, { accent: \"true\" });\n\tconst base = createMath(\"mrow\");\n\tbase.append(render(tree, e));\n\tif (type === \"under\") base.style.borderBottom = \"1px solid black\";\n\tif (type === \"over\") base.style.borderTop = \"1px solid black\";\n\tm.append(base);\n\treturn m;\n}\n\nconst ff: typeof f = {\n\t\"√\": f.sqrt,\n\t\"∛\": (attr, _, e) => f.root([[v_f(\"3\")], attr[0]], null, e),\n\t\"∜\": (attr, _, e) => f.root([[v_f(\"4\")], attr[0]], null, e),\n};\n\nfunction kh(tree: tree) {\n\tconst f = createMath(\"mrow\");\n\tconst l = createMath(\"mo\");\n\tl.textContent = \"(\";\n\tconst c = render(tree);\n\tconst r = createMath(\"mo\");\n\tr.textContent = \")\";\n\tf.append(l, c, r);\n\treturn f;\n}\n\nfunction lan_dic(tree: tree) {\n\ttree = trim(tree);\n\tconst o = new Object();\n\tlet key = \"\";\n\tlet value: tree = [];\n\ttree.push(dh);\n\tfor (let i = 0; i < tree.length; i++) {\n\t\tif (!key && tree[i].type !== \"blank\") {\n\t\t\tkey = tree[i].value;\n\t\t} else {\n\t\t\tif (value.length) {\n\t\t\t\tif (eqq(tree[i], dh)) {\n\t\t\t\t\to[key] = trim(value);\n\t\t\t\t\tkey = \"\";\n\t\t\t\t\tvalue = [];\n\t\t\t\t} else value.push(tree[i]);\n\t\t\t} else {\n\t\t\t\tif (eqq(tree[i], v_f(\":\"))) {\n\t\t\t\t\tvalue.push(tree[i + 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn o;\n}\n\nfunction get_value(dic: fdic, o: string) {\n\tif (!dic?.[o]?.[0]) return undefined;\n\tconst x = dic[o][0];\n\tif (x.type === \"sharp\") {\n\t\tif (x.value === \"true\") return true;\n\t\tif (x.value === \"false\") return false;\n\t\tif (x.value === \"none\") return null;\n\t\tif (x.children) {\n\t\t\tif (!x.children.find((v) => eqq(v, v_f(\":\"))))\n\t\t\t\treturn x.children.map((v) => v.value).join(\"\");\n\t\t\treturn lan_dic(x.children);\n\t\t}\n\t}\n\treturn dic[o].map((i) => i.value).join(\"\");\n}\n\nfunction attr_join(attr: tree[]) {\n\tconst t: tree = [];\n\tfor (const i of attr) {\n\t\tt.push(...i, v_f(\",\"));\n\t}\n\treturn t.slice(0, -1);\n}\n\ntype fonts = \"serif\" | \"sans\" | \"frak\" | \"mono\" | \"bb\" | \"cal\";\nfunction font(str: string, type: fonts = \"serif\") {\n\tfunction index_c(c: string) {\n\t\tconst l = \"abcdefghijklmnopqrstuvwxyz\";\n\t\treturn l.indexOf(c.toLowerCase());\n\t}\n\tconst map: {\n\t\t[font in \"sans\" | \"frak\" | \"mono\" | \"bb\" | \"cal\"]: {\n\t\t\tnum?: string;\n\t\t\tup: string;\n\t\t\tlow: string;\n\t\t};\n\t} = {\n\t\tsans: {\n\t\t\tnum: \"𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫\",\n\t\t\tlow: \"𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓\",\n\t\t\tup: \"𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹\",\n\t\t},\n\t\tfrak: {\n\t\t\tlow: \"𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷\",\n\t\t\tup: \"𝔄𝔅ℭ𝔇𝔈𝔉𝔊ℌℑ𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔ℜ𝔖𝔗𝔘𝔙𝔚𝔛𝔜ℨ\",\n\t\t},\n\t\tmono: {\n\t\t\tnum: \"𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿\",\n\t\t\tlow: \"𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣\",\n\t\t\tup: \"𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉\",\n\t\t},\n\t\tbb: {\n\t\t\tnum: \"𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡\",\n\t\t\tlow: \"𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫\",\n\t\t\tup: \"𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ\",\n\t\t},\n\t\tcal: {\n\t\t\tlow: \"𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏\",\n\t\t\tup: \"𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵\",\n\t\t},\n\t};\n\tif (type === \"serif\") return str;\n\telse {\n\t\tstr = str.replace(/[0-9]/g, (s) => [...map[type].num][s]);\n\t\tstr = str.replace(/[a-z]/g, (s) => [...map[type].low][index_c(s)]);\n\t\tstr = str.replace(/[A-Z]/g, (s) => [...map[type].up][index_c(s)]);\n\t}\n\treturn str;\n}\n\nfunction render(tree: tree, e?: fonts): VEl | VFragment {\n\tconst fragment = createFragment();\n\n\ttree = ast2(tree);\n\n\t// 多行\n\t// 处理\\ 换行\n\t{\n\t\tlet xx = false;\n\t\tfor (const n in tree) {\n\t\t\tconst i = tree[n];\n\t\t\tif (is_br(i)) {\n\t\t\t\txx = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (xx) {\n\t\t\tconst trees: tree[] = [[]];\n\t\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\t\tconst i = tree[n];\n\t\t\t\tif (is_br(i)) {\n\t\t\t\t\ttrees.push([]);\n\t\t\t\t} else {\n\t\t\t\t\ttrees.at(-1).push(i);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn x_table(trees, undefined, !isDisplay());\n\t\t}\n\t}\n\n\t// 单行\n\n\ttree = ast3(tree);\n\n\t{\n\t\tconst t: tree = [];\n\t\tfor (const x of tree) {\n\t\t\t// 移除&\n\t\t\tif (!(x.type === \"v\" && x.value === \"&\" && !x.esc)) {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 移除group1\n\t{\n\t\tconst t: tree = [];\n\t\tfor (const x of tree) {\n\t\t\tif (x.type === \"group1\") {\n\t\t\t\tt.push(...x.children);\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\tfor (const i in tree) {\n\t\tconst n = Number(i);\n\t\tconst x = tree[n];\n\n\t\t// 函数\n\t\tif (x.type === \"f\") {\n\t\t\t// 带有括号(参数)的函数\n\t\t\tif (x.children && (x.kh === \"()\" || !x.kh)) {\n\t\t\t\tconst { attr, dic } = f_attr(x);\n\n\t\t\t\tif (f[x.value]) {\n\t\t\t\t\tconst el = f[x.value](attr as tree[], dic, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t} else if (ss[x.value]) {\n\t\t\t\t\tconst el = createMath(\"mi\", ss[x.value]);\n\t\t\t\t\tfragment.append(el, render(in_kh(x.children), e));\n\t\t\t\t} else if (ff[x.value]) {\n\t\t\t\t\tconst el = ff[x.value](attr as tree[], dic, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (ss[x.value]) {\n\t\t\t\t\tlet tag: keyof MathMLElementTagNameMap;\n\t\t\t\t\tlet space_w = null;\n\t\t\t\t\tconst space_width = {\n\t\t\t\t\t\t\" \": \"0.36em\",\n\t\t\t\t\t\t\"\\u2002\": \"0.5em\",\n\t\t\t\t\t\t\"\\u2003\": \"1em\",\n\t\t\t\t\t\t\"\\u2004\": \"0.333em\",\n\t\t\t\t\t\t\"\\u2005\": \"0.25em\",\n\t\t\t\t\t\t\"\\u2006\": \"0.166em\",\n\t\t\t\t\t\t\"\\u205f\": \"0.222em\",\n\t\t\t\t\t\t\"\\u2007\": \"1ch\",\n\t\t\t\t\t\t\"\\u2008\": \"0.27em\",\n\t\t\t\t\t\t\"\\u2009\": \"0.17em\",\n\t\t\t\t\t\t\"\\u200a\": \"0.09em\",\n\t\t\t\t\t};\n\t\t\t\t\tif (ss[x.value].match(/[a-zA-Z\\u0391-\\u03C9]/)) {\n\t\t\t\t\t\ttag = \"mi\";\n\t\t\t\t\t} else if (space_width[ss[x.value]]) {\n\t\t\t\t\t\ttag = \"mspace\";\n\t\t\t\t\t\tspace_w = { width: space_width[ss[x.value]] };\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttag = \"mo\";\n\t\t\t\t\t}\n\t\t\t\t\tconst el = createMath(tag, ss[x.value], space_w);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t} else if (f[x.value]) {\n\t\t\t\t\tconst el = f[x.value](null, null, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t} else if (ff[x.value]) {\n\t\t\t\t\tconst el = ff[x.value]([x.children], null, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (x.type === \"str\") {\n\t\t\tconst el = createMath(\"ms\", font(x.value, e));\n\t\t\tfragment.append(el);\n\t\t}\n\n\t\tif (x.type === \"v\" || x.type === \"sharp\") {\n\t\t\tlet tag: keyof MathMLElementTagNameMap;\n\t\t\tlet value = x.value;\n\t\t\tif (x.value.match(/[0-9.]+/)) {\n\t\t\t\ttag = \"mn\";\n\t\t\t} else if (x.value.match(/[a-zA-Z\\u0391-\\u03C9]/)) {\n\t\t\t\ttag = \"mi\";\n\t\t\t} else if (x.value.match(/^'+$/)) {\n\t\t\t\tif (!x.esc) value = primeRun(x.value.length);\n\t\t\t\ttag = \"mo\";\n\t\t\t} else {\n\t\t\t\ttag = \"mo\";\n\t\t\t}\n\t\t\tif (x.type === \"sharp\") {\n\t\t\t\tif (x.value.startsWith(\"emoji.\")) {\n\t\t\t\t\ttag = \"mi\";\n\t\t\t\t\tvalue = emojix[x.value.replace(\"emoji.\", \"\")];\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst el = createMath(tag, font(value, e));\n\t\t\tfragment.append(el);\n\t\t}\n\n\t\tif (x.type === \"group\") {\n\t\t\t// 未闭合组:typst 只剩开括号(math_delimited 走到行尾没等到闭括号),\n\t\t\t// 不再包一层 mrow(typst 同样平铺,由外层需要单个元素时才包,\n\t\t\t// 比如 mfrac 的分母),开括号也不参与拉伸。\n\t\t\tif (x.kh && x.kh.length === 1) {\n\t\t\t\tfragment.append(createMath(\"mo\", x.kh, { stretchy: \"false\" }));\n\t\t\t\tfragment.append(render(x.children, e));\n\t\t\t} else {\n\t\t\t\tfragment.append(f.lr([[x]], null, e));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\nfunction init(p: { emoji: boolean }) {\n\tfor (const i in p) {\n\t\tif (init_c[i]) init_c[i] = p[i];\n\t}\n}\n\n// Build the MathML virtual DOM (no `document`).\nfunction toMMLV(str: string, inline?: boolean): VEl {\n\tsetDisplay(!inline);\n\tconst obj = ast(str);\n\n\tconst mathEl = createMath(\"math\");\n\tif (!inline) mathEl.setAttribute(\"display\", \"block\");\n\tconst f = render(obj);\n\tmathEl.append(f);\n\treturn mathEl;\n}\n\n// Materialize to real MathML DOM (the only path that touches `document`).\nfunction toMML(str: string, inline?: boolean): MathMLElement {\n\treturn toDom(toMMLV(str, inline)) as MathMLElement;\n}\n\n// String MathML (DOM-free)。inline=true 输出行内(无 display 属性),默认块级。\nfunction toMMLHTML(str: string, inline?: boolean) {\n\treturn toHtml(toMMLV(str, inline));\n}\n\nconst version = {\n\tlan: \"0.11.1\",\n\tsymbol: \"0.15.1\",\n\temoji: \"0.15.1\",\n};\n\nexport { ast2, ast3, init, toMML, toMMLHTML, toMMLV, version };\n"],"names":["Segmenter","segmenter","init_c","ast","str","v","kh","khl","khr","blank","type","ignore","o","p_tree","now_tree","tmp_str","codePoint","strl","w","strl2","i","t","next","emoji","symbols","s","simple_dot","ss","objOrStr","j","n","shotKey","emojix","shorthand","max_shorthand_len","direct_arg_sy","opl","limits_f","rel_names","limits_sy","out_kh","x","transfer_kh","list","v_f","in_kh","is_sup","eqq","is_sub","is_frac","is_br","rel_sy","taken","k","c","display","setDisplay","d","isDisplay","is_limit","tree","dic","f_attr","is_true","is_dot","eq","is_dot_f","is_factorial","dh","x0","x1","is_type","trim","start","end","dic_to_ast","l","_a","ast2","_b","_c","num","number","ast3","_d","_e","_f","_g","_h","_i","_j","_k","_l","nn","shortkey","nx","tmpx","f","att","y","tt","un_list_str","primes","index","tmp","dicl","xattr","nl","attr","array_split","el","VText","text","__publicField","VFragment","kids","pushNodes","VEl","tag","innerText","serialize","sel","out","collect","target","node","createMath","createFragment","camelToKebab","m","escText","escAttr","st","css","toHtml","MATHML_NS","toDom","doc","e","mathvariant","delimPair","limits_active","base","delim","_default","get_value","_dic","render","a","accent_match_str","over","tl","bl","tr","br","uo","b","row","r","bg","gap","attr_join","tList","size","lm","rm","array","augment","xa","ya","rowgap","colgap","td","root","underover_line_f","underover_f","x_table","trees","inline","max","result","al","primeRun","lig","op_f","spaceConst","accent_f","lr_f","mm","xx","ff","_","lan_dic","key","value","font","index_c","map","fragment","space_w","space_width","init","p","toMMLV","obj","mathEl","toMML","toMMLHTML","version"],"mappings":"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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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ACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,E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"}
|
|
1
|
+
{"version":3,"file":"xmmath.es.js","sources":["../src/ast.ts","../src/emoji.json?raw","../src/symbols.json?raw","../src/normalize.ts","../src/vdom.ts","../src/main.ts"],"sourcesContent":["export type vtype =\n\t| \"\"\n\t| \"str\"\n\t| \"v\"\n\t| \"f\"\n\t| \"blank\"\n\t| \"group\"\n\t| \"group1\"\n\t| \"sharp\";\nexport type tree = {\n\ttype: vtype;\n\tvalue: string;\n\tchildren?: tree;\n\tesc?: boolean;\n\tkh?: string;\n\tsrc?: string;\n}[];\n\nconst Segmenter = Intl.Segmenter;\nconst segmenter = new Segmenter(\"emoji\", { granularity: \"grapheme\" });\n\nexport const init_c: { emoji: (str: string) => string } = {\n\temoji: null,\n};\n\nexport function ast(str: string): tree {\n\tconst v = /[a-zA-Z]/;\n\tconst kh = /[(){}[\\]]/;\n\tconst khl = /[({[]/;\n\tconst khr = /[)}\\]]/;\n\tconst blank = /^[ \\t\\n\\r]+$/;\n\tlet type: vtype = \"\";\n\tlet ignore: false | \"line\" | \"block\" = false;\n\tconst o: tree = [];\n\tconst p_tree: { tree: tree; close: boolean }[] = [];\n\tlet now_tree = o;\n\tlet tmp_str = \"\";\n\n\tstr = str.replace(/(\\\\u\\{[\\dA-Fa-f]+\\})/g, (v) => {\n\t\tconst codePoint = parseInt(v.slice(3, -1), 16);\n\t\treturn String.fromCodePoint(codePoint);\n\t});\n\n\tlet strl = init_c.emoji\n\t\t? init_c.emoji(str)\n\t\t: Array.from(segmenter.segment(str)).map((w) => w.segment);\n\tconst strl2 = [];\n\tfor (const i of strl) {\n\t\tif (i.length > 1 && i.includes(\",\")) strl2.push(...i);\n\t\telse strl2.push(i);\n\t}\n\tstrl = strl2;\n\n\tfor (let i = 0; i < strl.length; i++) {\n\t\tconst t = strl[i];\n\t\tconst next = strl[i + 1];\n\t\tif (t === \"/\" && next === \"/\") ignore = \"line\";\n\t\tif (ignore === \"line\" && t === \"\\n\") {\n\t\t\tignore = false;\n\t\t\tcontinue;\n\t\t}\n\t\tif (t === \"/\" && next === \"*\") ignore = \"block\";\n\t\tif (ignore === \"block\" && t === \"*\" && next === \"/\") {\n\t\t\ti++;\n\t\t\tignore = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (ignore) continue;\n\n\t\tif (type === \"blank\" && !t.match(blank)) {\n\t\t\tnow_tree.push({ type, value: \"\" });\n\t\t\ttype = \"\";\n\t\t}\n\t\tif (t === '\"' && strl[i - 1] !== \"\\\\\") {\n\t\t\tif (type !== \"str\") {\n\t\t\t\ttype = \"str\";\n\t\t\t} else {\n\t\t\t\tnow_tree.push({ type, value: tmp_str });\n\t\t\t\ttype = \"\";\n\t\t\t\ttmp_str = \"\";\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (type === \"str\") {\n\t\t\ttmp_str += t;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (t.match(blank)) {\n\t\t\ttype = \"blank\";\n\t\t}\n\n\t\tif (t === \"#\") {\n\t\t\tnow_tree.push({ type: \"sharp\", value: \"\" });\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\ttype === \"\" &&\n\t\t\t(!strl[i - 1] || !strl[i - 1].match(v)) &&\n\t\t\t(!strl[i + 1] || !strl[i + 1].match(v)) &&\n\t\t\t!t.match(kh)\n\t\t) {\n\t\t\tnow_tree.push({ type: \"v\", value: t });\n\t\t\tcontinue;\n\t\t}\n\t\tif (type === \"\" && !t.match(v) && !t.match(kh)) {\n\t\t\tnow_tree.push({ type: \"v\", value: t });\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\t((strl[i - 1] && strl[i - 1].match(v)) ||\n\t\t\t\t(strl[i + 1] && strl[i + 1].match(v))) &&\n\t\t\tt.match(v)\n\t\t) {\n\t\t\ttype = \"f\";\n\t\t}\n\t\tif (type === \"f\") {\n\t\t\ttmp_str += t;\n\t\t}\n\t\tif (type === \"f\" && (!strl[i + 1] || !strl[i + 1].match(v))) {\n\t\t\tnow_tree.push({ type, value: tmp_str });\n\t\t\ttype = \"\";\n\t\t\ttmp_str = \"\";\n\t\t}\n\n\t\tif (t.match(khl)) {\n\t\t\tif (strl[i - 1] === \"\\\\\") {\n\t\t\t\tnow_tree.push({ type: \"v\", value: t, esc: true });\n\t\t\t} else {\n\t\t\t\t// 开括号一律起组,直到遇到闭括号;到行尾仍没遇到(typst\n\t\t\t\t// `math_delimited` 走到 eof 的分支)就留成未闭合组,由渲染\n\t\t\t\t// 阶段只画开括号。旧实现把未配对的开括号退化成普通字符,\n\t\t\t\t// 会让 `1/(2 (x)` 的分母只剩一个 `(`。\n\t\t\t\tp_tree.push({ tree: now_tree, close: false });\n\t\t\t\tnow_tree.push({ type: \"group\", value: tmp_str, children: [], kh: t });\n\t\t\t\tnow_tree = now_tree.at(-1).children;\n\t\t\t\ttmp_str = \"\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif (t.match(khr)) {\n\t\t\tif (strl[i - 1] === \"\\\\\") {\n\t\t\t\tnow_tree.push({ type: \"v\", value: t, esc: true });\n\t\t\t} else if (p_tree.at(-1)) {\n\t\t\t\tif (p_tree.at(-1).close === false) {\n\t\t\t\t\tp_tree.at(-1).close = true;\n\t\t\t\t\tnow_tree = p_tree.at(-1).tree;\n\t\t\t\t\tnow_tree.at(-1).kh += t;\n\t\t\t\t\tp_tree.pop();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnow_tree.push({ type: \"v\", value: t });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn o;\n}\n","export default \"{\\n\\t\\\"abacus\\\": \\\"🧮\\\",\\n\\t\\\"abc\\\": \\\"🔤\\\",\\n\\t\\\"abcd\\\": \\\"🔡\\\",\\n\\t\\\"ABCD\\\": \\\"🔠\\\",\\n\\t\\\"accordion\\\": \\\"🪗\\\",\\n\\t\\\"aesculapius\\\": \\\"⚕️\\\",\\n\\t\\\"airplane\\\": [\\n\\t\\t\\\"✈️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"landing\\\": \\\"🛬\\\",\\n\\t\\t\\t\\\"small\\\": \\\"🛩️\\\",\\n\\t\\t\\t\\\"takeoff\\\": \\\"🛫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"alembic\\\": \\\"⚗️\\\",\\n\\t\\\"alien\\\": [\\n\\t\\t\\\"👽️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"monster\\\": \\\"👾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ambulance\\\": \\\"🚑️\\\",\\n\\t\\\"amphora\\\": \\\"🏺\\\",\\n\\t\\\"anchor\\\": \\\"⚓️\\\",\\n\\t\\\"anger\\\": \\\"💢\\\",\\n\\t\\\"ant\\\": \\\"🐜\\\",\\n\\t\\\"apple\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"green\\\": \\\"🍏\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🍎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arm\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"mech\\\": \\\"🦾\\\",\\n\\t\\t\\t\\\"muscle\\\": \\\"💪\\\",\\n\\t\\t\\t\\\"selfie\\\": \\\"🤳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrow\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r.filled\\\": \\\"➡️\\\",\\n\\t\\t\\t\\\"r.hook\\\": \\\"↪️\\\",\\n\\t\\t\\t\\\"r.soon\\\": \\\"🔜\\\",\\n\\t\\t\\t\\\"l.filled\\\": \\\"⬅️\\\",\\n\\t\\t\\t\\\"l.hook\\\": \\\"↩️\\\",\\n\\t\\t\\t\\\"l.back\\\": \\\"🔙\\\",\\n\\t\\t\\t\\\"l.end\\\": \\\"🔚\\\",\\n\\t\\t\\t\\\"t.filled\\\": \\\"⬆️\\\",\\n\\t\\t\\t\\\"t.curve\\\": \\\"⤴️\\\",\\n\\t\\t\\t\\\"t.top\\\": \\\"🔝\\\",\\n\\t\\t\\t\\\"b.filled\\\": \\\"⬇️\\\",\\n\\t\\t\\t\\\"b.curve\\\": \\\"⤵️\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"↔️\\\",\\n\\t\\t\\t\\\"l.r.on\\\": \\\"🔛\\\",\\n\\t\\t\\t\\\"t.b\\\": \\\"↕️\\\",\\n\\t\\t\\t\\\"bl\\\": \\\"↙️\\\",\\n\\t\\t\\t\\\"br\\\": \\\"↘️\\\",\\n\\t\\t\\t\\\"tl\\\": \\\"↖️\\\",\\n\\t\\t\\t\\\"tr\\\": \\\"↗️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrows\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cycle\\\": \\\"🔄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ast\\\": [\\n\\t\\t\\\"*️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"✳️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"atm\\\": \\\"🏧\\\",\\n\\t\\\"atom\\\": \\\"⚛️\\\",\\n\\t\\\"aubergine\\\": \\\"🍆\\\",\\n\\t\\\"avocado\\\": \\\"🥑\\\",\\n\\t\\\"axe\\\": \\\"🪓\\\",\\n\\t\\\"baby\\\": [\\n\\t\\t\\\"👶\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"angel\\\": \\\"👼\\\",\\n\\t\\t\\t\\\"box\\\": \\\"🚼️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"babybottle\\\": \\\"🍼\\\",\\n\\t\\\"backpack\\\": \\\"🎒\\\",\\n\\t\\\"bacon\\\": \\\"🥓\\\",\\n\\t\\\"badger\\\": \\\"🦡\\\",\\n\\t\\\"badminton\\\": \\\"🏸\\\",\\n\\t\\\"bagel\\\": \\\"🥯\\\",\\n\\t\\\"baggageclaim\\\": \\\"🛄\\\",\\n\\t\\\"baguette\\\": \\\"🥖\\\",\\n\\t\\\"balloon\\\": \\\"🎈\\\",\\n\\t\\\"ballot\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"check\\\": \\\"☑️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ballotbox\\\": \\\"🗳️\\\",\\n\\t\\\"banana\\\": \\\"🍌\\\",\\n\\t\\\"banjo\\\": \\\"🪕\\\",\\n\\t\\\"bank\\\": \\\"🏦\\\",\\n\\t\\\"barberpole\\\": \\\"💈\\\",\\n\\t\\\"baseball\\\": \\\"⚾️\\\",\\n\\t\\\"basecap\\\": \\\"🧢\\\",\\n\\t\\\"basket\\\": \\\"🧺\\\",\\n\\t\\\"basketball\\\": [\\n\\t\\t\\\"⛹️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ball\\\": \\\"🏀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bat\\\": \\\"🦇\\\",\\n\\t\\\"bathtub\\\": [\\n\\t\\t\\\"🛀\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"foam\\\": \\\"🛁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"battery\\\": [\\n\\t\\t\\\"🔋\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"low\\\": \\\"🪫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"beach\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"palm\\\": \\\"🏝️\\\",\\n\\t\\t\\t\\\"umbrella\\\": \\\"🏖️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"beads\\\": \\\"📿\\\",\\n\\t\\\"beans\\\": \\\"🫘\\\",\\n\\t\\\"bear\\\": \\\"🐻\\\",\\n\\t\\\"beaver\\\": \\\"🦫\\\",\\n\\t\\\"bed\\\": [\\n\\t\\t\\\"🛏️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"person\\\": \\\"🛌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bee\\\": \\\"🐝\\\",\\n\\t\\\"beer\\\": [\\n\\t\\t\\\"🍺\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"clink\\\": \\\"🍻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"beet\\\": \\\"\\\",\\n\\t\\\"beetle\\\": [\\n\\t\\t\\\"🪲\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"lady\\\": \\\"🐞\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bell\\\": [\\n\\t\\t\\\"🔔\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ding\\\": \\\"🛎️\\\",\\n\\t\\t\\t\\\"not\\\": \\\"🔕\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bento\\\": \\\"🍱\\\",\\n\\t\\\"bicyclist\\\": [\\n\\t\\t\\\"🚴\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"mountain\\\": \\\"🚵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bigfoot\\\": \\\"\\\",\\n\\t\\\"bike\\\": [\\n\\t\\t\\\"🚲️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bikini\\\": \\\"👙\\\",\\n\\t\\\"billiards\\\": \\\"🎱\\\",\\n\\t\\\"bin\\\": \\\"🗑️\\\",\\n\\t\\\"biohazard\\\": \\\"☣️\\\",\\n\\t\\\"bird\\\": \\\"🐦️\\\",\\n\\t\\\"bison\\\": \\\"🦬\\\",\\n\\t\\\"blood\\\": \\\"🩸\\\",\\n\\t\\\"blouse\\\": \\\"👚\\\",\\n\\t\\\"blowfish\\\": \\\"🐡\\\",\\n\\t\\\"blueberries\\\": \\\"🫐\\\",\\n\\t\\\"boar\\\": \\\"🐗\\\",\\n\\t\\\"boat\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"sail\\\": \\\"⛵️\\\",\\n\\t\\t\\t\\\"row\\\": \\\"🚣\\\",\\n\\t\\t\\t\\\"motor\\\": \\\"🛥️\\\",\\n\\t\\t\\t\\\"speed\\\": \\\"🚤\\\",\\n\\t\\t\\t\\\"canoe\\\": \\\"🛶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bolt\\\": \\\"🔩\\\",\\n\\t\\\"bomb\\\": \\\"💣️\\\",\\n\\t\\\"bone\\\": \\\"🦴\\\",\\n\\t\\\"book\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"red\\\": \\\"📕\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"📘\\\",\\n\\t\\t\\t\\\"green\\\": \\\"📗\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"📙\\\",\\n\\t\\t\\t\\\"spiral\\\": \\\"📒\\\",\\n\\t\\t\\t\\\"open\\\": \\\"📖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bookmark\\\": \\\"🔖\\\",\\n\\t\\\"books\\\": \\\"📚️\\\",\\n\\t\\\"boomerang\\\": \\\"🪃\\\",\\n\\t\\\"bordercontrol\\\": \\\"🛂\\\",\\n\\t\\\"bouquet\\\": \\\"💐\\\",\\n\\t\\\"bow\\\": \\\"🏹\\\",\\n\\t\\\"bowl\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"spoon\\\": \\\"🥣\\\",\\n\\t\\t\\t\\\"steam\\\": \\\"🍜\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bowling\\\": \\\"🎳\\\",\\n\\t\\\"boxing\\\": \\\"🥊\\\",\\n\\t\\\"boy\\\": \\\"👦\\\",\\n\\t\\\"brain\\\": \\\"🧠\\\",\\n\\t\\\"bread\\\": \\\"🍞\\\",\\n\\t\\\"brick\\\": \\\"🧱\\\",\\n\\t\\\"bride\\\": \\\"👰\\\",\\n\\t\\\"bridge\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"fog\\\": \\\"🌁\\\",\\n\\t\\t\\t\\\"night\\\": \\\"🌉\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"briefcase\\\": \\\"💼\\\",\\n\\t\\\"briefs\\\": \\\"🩲\\\",\\n\\t\\\"brightness\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"high\\\": \\\"🔆\\\",\\n\\t\\t\\t\\\"low\\\": \\\"🔅\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"broccoli\\\": \\\"🥦\\\",\\n\\t\\\"broom\\\": \\\"🧹\\\",\\n\\t\\\"brush\\\": \\\"🖌️\\\",\\n\\t\\\"bubble\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"speech.r\\\": \\\"💬\\\",\\n\\t\\t\\t\\\"speech.l\\\": \\\"🗨️\\\",\\n\\t\\t\\t\\\"thought\\\": \\\"💭\\\",\\n\\t\\t\\t\\\"anger.r\\\": \\\"🗯️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bubbles\\\": \\\"🫧\\\",\\n\\t\\\"bubbletea\\\": \\\"🧋\\\",\\n\\t\\\"bucket\\\": \\\"🪣\\\",\\n\\t\\\"buffalo\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"water\\\": \\\"🐃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bug\\\": \\\"🐛\\\",\\n\\t\\\"builder\\\": \\\"👷\\\",\\n\\t\\\"burger\\\": \\\"🍔\\\",\\n\\t\\\"burrito\\\": \\\"🌯\\\",\\n\\t\\\"bus\\\": [\\n\\t\\t\\\"🚌\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"🚍️\\\",\\n\\t\\t\\t\\\"small\\\": \\\"🚐\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"🚏\\\",\\n\\t\\t\\t\\\"trolley\\\": \\\"🚎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"butter\\\": \\\"🧈\\\",\\n\\t\\\"butterfly\\\": \\\"🦋\\\",\\n\\t\\\"button\\\": [\\n\\t\\t\\\"🔲\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"🔳\\\",\\n\\t\\t\\t\\\"radio\\\": \\\"🔘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cabinet\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"file\\\": \\\"🗄️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cablecar\\\": [\\n\\t\\t\\\"🚠\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"small\\\": \\\"🚡\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cactus\\\": \\\"🌵\\\",\\n\\t\\\"cake\\\": [\\n\\t\\t\\\"🎂\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fish\\\": \\\"🍥\\\",\\n\\t\\t\\t\\\"moon\\\": \\\"🥮\\\",\\n\\t\\t\\t\\\"slice\\\": \\\"🍰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"calendar\\\": [\\n\\t\\t\\\"📅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"spiral\\\": \\\"🗓️\\\",\\n\\t\\t\\t\\\"tearoff\\\": \\\"📆\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"camel\\\": [\\n\\t\\t\\\"🐫\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dromedar\\\": \\\"🐪\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"camera\\\": [\\n\\t\\t\\\"📷️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"flash\\\": \\\"📸\\\",\\n\\t\\t\\t\\\"movie\\\": \\\"🎥\\\",\\n\\t\\t\\t\\\"movie.box\\\": \\\"🎦\\\",\\n\\t\\t\\t\\\"video\\\": \\\"📹️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"camping\\\": \\\"🏕️\\\",\\n\\t\\\"can\\\": \\\"🥫\\\",\\n\\t\\\"candle\\\": \\\"🕯️\\\",\\n\\t\\\"candy\\\": \\\"🍬\\\",\\n\\t\\\"cane\\\": \\\"🦯\\\",\\n\\t\\\"car\\\": [\\n\\t\\t\\\"🚗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"🚘️\\\",\\n\\t\\t\\t\\\"pickup\\\": \\\"🛻\\\",\\n\\t\\t\\t\\\"police\\\": \\\"🚓\\\",\\n\\t\\t\\t\\\"police.front\\\": \\\"🚔️\\\",\\n\\t\\t\\t\\\"racing\\\": \\\"🏎️\\\",\\n\\t\\t\\t\\\"rickshaw\\\": \\\"🛺\\\",\\n\\t\\t\\t\\\"suv\\\": \\\"🚙\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"card\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"credit\\\": \\\"💳️\\\",\\n\\t\\t\\t\\\"id\\\": \\\"🪪\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cardindex\\\": \\\"📇\\\",\\n\\t\\\"carrot\\\": \\\"🥕\\\",\\n\\t\\\"cart\\\": \\\"🛒\\\",\\n\\t\\\"cassette\\\": \\\"📼\\\",\\n\\t\\\"castle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"eu\\\": \\\"🏰\\\",\\n\\t\\t\\t\\\"jp\\\": \\\"🏯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cat\\\": [\\n\\t\\t\\\"🐈️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐱\\\",\\n\\t\\t\\t\\\"face.angry\\\": \\\"😾\\\",\\n\\t\\t\\t\\\"face.cry\\\": \\\"😿\\\",\\n\\t\\t\\t\\\"face.heart\\\": \\\"😻\\\",\\n\\t\\t\\t\\\"face.joy\\\": \\\"😹\\\",\\n\\t\\t\\t\\\"face.kiss\\\": \\\"😽\\\",\\n\\t\\t\\t\\\"face.laugh\\\": \\\"😸\\\",\\n\\t\\t\\t\\\"face.shock\\\": \\\"🙀\\\",\\n\\t\\t\\t\\\"face.smile\\\": \\\"😺\\\",\\n\\t\\t\\t\\\"face.smirk\\\": \\\"😼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"chain\\\": \\\"🔗\\\",\\n\\t\\\"chains\\\": \\\"⛓️\\\",\\n\\t\\\"chair\\\": \\\"🪑\\\",\\n\\t\\\"champagne\\\": \\\"🍾\\\",\\n\\t\\\"chart\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"bar\\\": \\\"📊\\\",\\n\\t\\t\\t\\\"up\\\": \\\"📈\\\",\\n\\t\\t\\t\\\"down\\\": \\\"📉\\\",\\n\\t\\t\\t\\\"yen.up\\\": \\\"💹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"checkmark\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"heavy\\\": \\\"✔️\\\",\\n\\t\\t\\t\\\"box\\\": \\\"✅️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cheese\\\": \\\"🧀\\\",\\n\\t\\\"cherries\\\": \\\"🍒\\\",\\n\\t\\\"chess\\\": \\\"♟️\\\",\\n\\t\\\"chestnut\\\": \\\"🌰\\\",\\n\\t\\\"chicken\\\": [\\n\\t\\t\\\"🐔\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"baby\\\": \\\"🐥\\\",\\n\\t\\t\\t\\\"baby.egg\\\": \\\"🐣\\\",\\n\\t\\t\\t\\\"baby.head\\\": \\\"🐤\\\",\\n\\t\\t\\t\\\"leg\\\": \\\"🍗\\\",\\n\\t\\t\\t\\\"male\\\": \\\"🐓\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"child\\\": \\\"🧒\\\",\\n\\t\\\"chipmunk\\\": \\\"🐿️\\\",\\n\\t\\\"chocolate\\\": \\\"🍫\\\",\\n\\t\\\"chopsticks\\\": \\\"🥢\\\",\\n\\t\\\"church\\\": [\\n\\t\\t\\\"⛪️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"love\\\": \\\"💒\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cigarette\\\": [\\n\\t\\t\\\"🚬\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚭️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"circle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"black\\\": \\\"⚫️\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"🔵\\\",\\n\\t\\t\\t\\\"brown\\\": \\\"🟤\\\",\\n\\t\\t\\t\\\"green\\\": \\\"🟢\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🟠\\\",\\n\\t\\t\\t\\\"purple\\\": \\\"🟣\\\",\\n\\t\\t\\t\\\"white\\\": \\\"⚪️\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🔴\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"🟡\\\",\\n\\t\\t\\t\\\"stroked\\\": \\\"⭕️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"circus\\\": \\\"🎪\\\",\\n\\t\\\"city\\\": [\\n\\t\\t\\\"🏙️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dusk\\\": \\\"🌆\\\",\\n\\t\\t\\t\\\"night\\\": \\\"🌃\\\",\\n\\t\\t\\t\\\"sunset\\\": \\\"🌇\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"clamp\\\": \\\"🗜️\\\",\\n\\t\\\"clapperboard\\\": \\\"🎬️\\\",\\n\\t\\\"climbing\\\": \\\"🧗\\\",\\n\\t\\\"clip\\\": \\\"📎\\\",\\n\\t\\\"clipboard\\\": \\\"📋️\\\",\\n\\t\\\"clips\\\": \\\"🖇️\\\",\\n\\t\\\"clock\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"one\\\": \\\"🕐️\\\",\\n\\t\\t\\t\\\"one.thirty\\\": \\\"🕜️\\\",\\n\\t\\t\\t\\\"two\\\": \\\"🕑️\\\",\\n\\t\\t\\t\\\"two.thirty\\\": \\\"🕝️\\\",\\n\\t\\t\\t\\\"three\\\": \\\"🕒️\\\",\\n\\t\\t\\t\\\"three.thirty\\\": \\\"🕞️\\\",\\n\\t\\t\\t\\\"four\\\": \\\"🕓️\\\",\\n\\t\\t\\t\\\"four.thirty\\\": \\\"🕟️\\\",\\n\\t\\t\\t\\\"five\\\": \\\"🕔️\\\",\\n\\t\\t\\t\\\"five.thirty\\\": \\\"🕠️\\\",\\n\\t\\t\\t\\\"six\\\": \\\"🕕️\\\",\\n\\t\\t\\t\\\"six.thirty\\\": \\\"🕡️\\\",\\n\\t\\t\\t\\\"seven\\\": \\\"🕖️\\\",\\n\\t\\t\\t\\\"seven.thirty\\\": \\\"🕢️\\\",\\n\\t\\t\\t\\\"eight\\\": \\\"🕗️\\\",\\n\\t\\t\\t\\\"eight.thirty\\\": \\\"🕣️\\\",\\n\\t\\t\\t\\\"nine\\\": \\\"🕘️\\\",\\n\\t\\t\\t\\\"nine.thirty\\\": \\\"🕤️\\\",\\n\\t\\t\\t\\\"ten\\\": \\\"🕙️\\\",\\n\\t\\t\\t\\\"ten.thirty\\\": \\\"🕥️\\\",\\n\\t\\t\\t\\\"eleven\\\": \\\"🕚️\\\",\\n\\t\\t\\t\\\"eleven.thirty\\\": \\\"🕦️\\\",\\n\\t\\t\\t\\\"twelve\\\": \\\"🕛️\\\",\\n\\t\\t\\t\\\"twelve.thirty\\\": \\\"🕧️\\\",\\n\\t\\t\\t\\\"alarm\\\": \\\"⏰️\\\",\\n\\t\\t\\t\\\"old\\\": \\\"🕰️\\\",\\n\\t\\t\\t\\\"timer\\\": \\\"⏲️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cloud\\\": [\\n\\t\\t\\\"☁️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dust\\\": \\\"💨\\\",\\n\\t\\t\\t\\\"rain\\\": \\\"🌧️\\\",\\n\\t\\t\\t\\\"snow\\\": \\\"🌨️\\\",\\n\\t\\t\\t\\\"storm\\\": \\\"⛈️\\\",\\n\\t\\t\\t\\\"sun\\\": \\\"⛅️\\\",\\n\\t\\t\\t\\\"sun.hidden\\\": \\\"🌥️\\\",\\n\\t\\t\\t\\\"sun.rain\\\": \\\"🌦️\\\",\\n\\t\\t\\t\\\"thunder\\\": \\\"🌩️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"coat\\\": [\\n\\t\\t\\\"🧥\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"lab\\\": \\\"🥼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cockroach\\\": \\\"🪳\\\",\\n\\t\\\"cocktail\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"martini\\\": \\\"🍸️\\\",\\n\\t\\t\\t\\\"tropical\\\": \\\"🍹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"coconut\\\": \\\"🥥\\\",\\n\\t\\\"coffee\\\": \\\"☕️\\\",\\n\\t\\\"coffin\\\": \\\"⚰️\\\",\\n\\t\\\"coin\\\": \\\"🪙\\\",\\n\\t\\\"comet\\\": \\\"☄️\\\",\\n\\t\\\"compass\\\": \\\"🧭\\\",\\n\\t\\\"computer\\\": \\\"🖥️\\\",\\n\\t\\\"computermouse\\\": \\\"🖱️\\\",\\n\\t\\\"confetti\\\": \\\"🎊\\\",\\n\\t\\\"construction\\\": \\\"🚧\\\",\\n\\t\\\"controller\\\": \\\"🎮️\\\",\\n\\t\\\"cookie\\\": [\\n\\t\\t\\\"🍪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fortune\\\": \\\"🥠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cooking\\\": \\\"🍳\\\",\\n\\t\\\"cool\\\": \\\"🆒\\\",\\n\\t\\\"copyright\\\": \\\"©️\\\",\\n\\t\\\"coral\\\": \\\"🪸\\\",\\n\\t\\\"corn\\\": \\\"🌽\\\",\\n\\t\\\"couch\\\": \\\"🛋️\\\",\\n\\t\\\"couple\\\": \\\"💑\\\",\\n\\t\\\"cow\\\": [\\n\\t\\t\\\"🐄\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"crab\\\": \\\"🦀\\\",\\n\\t\\\"crane\\\": \\\"🏗️\\\",\\n\\t\\\"crayon\\\": \\\"🖍️\\\",\\n\\t\\\"cricket\\\": \\\"🦗\\\",\\n\\t\\\"cricketbat\\\": \\\"🏏\\\",\\n\\t\\\"crocodile\\\": \\\"🐊\\\",\\n\\t\\\"croissant\\\": \\\"🥐\\\",\\n\\t\\\"crossmark\\\": [\\n\\t\\t\\\"❌️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"❎️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"crown\\\": \\\"👑\\\",\\n\\t\\\"crutch\\\": \\\"🩼\\\",\\n\\t\\\"crystal\\\": \\\"🔮\\\",\\n\\t\\\"cucumber\\\": \\\"🥒\\\",\\n\\t\\\"cup\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"straw\\\": \\\"🥤\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"cupcake\\\": \\\"🧁\\\",\\n\\t\\\"curling\\\": \\\"🥌\\\",\\n\\t\\\"curry\\\": \\\"🍛\\\",\\n\\t\\\"custard\\\": \\\"🍮\\\",\\n\\t\\\"customs\\\": \\\"🛃\\\",\\n\\t\\\"cutlery\\\": \\\"🍴\\\",\\n\\t\\\"cyclone\\\": \\\"🌀\\\",\\n\\t\\\"dancing\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"ballet\\\": \\\"🧑🩰\\\",\\n\\t\\t\\t\\\"man\\\": \\\"🕺\\\",\\n\\t\\t\\t\\\"woman\\\": \\\"💃\\\",\\n\\t\\t\\t\\\"bunny\\\": \\\"👯\\\",\\n\\t\\t\\t\\\"bunny.men\\\": \\\"👯♂\\\",\\n\\t\\t\\t\\\"bunny.women\\\": \\\"👯♀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"darts\\\": \\\"🎯\\\",\\n\\t\\\"dash\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"wave.double\\\": \\\"〰️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"deer\\\": \\\"🦌\\\",\\n\\t\\\"desert\\\": \\\"🏜️\\\",\\n\\t\\\"detective\\\": \\\"🕵️\\\",\\n\\t\\\"diamond\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"blue\\\": \\\"🔷\\\",\\n\\t\\t\\t\\\"blue.small\\\": \\\"🔹\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🔶\\\",\\n\\t\\t\\t\\\"orange.small\\\": \\\"🔸\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"💠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"die\\\": \\\"🎲\\\",\\n\\t\\\"dino\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"pod\\\": \\\"🦕\\\",\\n\\t\\t\\t\\\"rex\\\": \\\"🦖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"disc\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cd\\\": \\\"💿️\\\",\\n\\t\\t\\t\\\"dvd\\\": \\\"📀\\\",\\n\\t\\t\\t\\\"mini\\\": \\\"💽\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"discoball\\\": \\\"🪩\\\",\\n\\t\\\"diving\\\": \\\"🤿\\\",\\n\\t\\\"dodo\\\": \\\"🦤\\\",\\n\\t\\\"dog\\\": [\\n\\t\\t\\\"🐕️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐶\\\",\\n\\t\\t\\t\\\"guide\\\": \\\"🦮\\\",\\n\\t\\t\\t\\\"poodle\\\": \\\"🐩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dollar\\\": \\\"💲\\\",\\n\\t\\\"dolphin\\\": \\\"🐬\\\",\\n\\t\\\"donkey\\\": \\\"🫏\\\",\\n\\t\\\"donut\\\": \\\"🍩\\\",\\n\\t\\\"door\\\": \\\"🚪\\\",\\n\\t\\\"dove\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"peace\\\": \\\"🕊️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dragon\\\": [\\n\\t\\t\\\"🐉\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐲\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dress\\\": [\\n\\t\\t\\\"👗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"kimono\\\": \\\"👘\\\",\\n\\t\\t\\t\\\"sari\\\": \\\"🥻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"drop\\\": \\\"💧\\\",\\n\\t\\\"drops\\\": \\\"💦\\\",\\n\\t\\\"drum\\\": [\\n\\t\\t\\\"🥁\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"🪘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"duck\\\": \\\"🦆\\\",\\n\\t\\\"dumpling\\\": \\\"🥟\\\",\\n\\t\\\"eagle\\\": \\\"🦅\\\",\\n\\t\\\"ear\\\": [\\n\\t\\t\\\"👂️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"aid\\\": \\\"🦻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"egg\\\": \\\"🥚\\\",\\n\\t\\\"eighteen\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🔞\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"elephant\\\": \\\"🐘\\\",\\n\\t\\\"elevator\\\": \\\"🛗\\\",\\n\\t\\\"elf\\\": \\\"🧝\\\",\\n\\t\\\"email\\\": \\\"📧\\\",\\n\\t\\\"excl\\\": [\\n\\t\\t\\\"❗️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"white\\\": \\\"❕️\\\",\\n\\t\\t\\t\\\"double\\\": \\\"‼️\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⁉️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"explosion\\\": \\\"💥\\\",\\n\\t\\\"extinguisher\\\": \\\"🧯\\\",\\n\\t\\\"eye\\\": \\\"👁️\\\",\\n\\t\\\"eyes\\\": \\\"👀\\\",\\n\\t\\\"face\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"grin\\\": \\\"😀\\\",\\n\\t\\t\\t\\\"angry\\\": \\\"😠\\\",\\n\\t\\t\\t\\\"angry.red\\\": \\\"😡\\\",\\n\\t\\t\\t\\\"anguish\\\": \\\"😧\\\",\\n\\t\\t\\t\\\"astonish\\\": \\\"😲\\\",\\n\\t\\t\\t\\\"bandage\\\": \\\"🤕\\\",\\n\\t\\t\\t\\\"beam\\\": \\\"😁\\\",\\n\\t\\t\\t\\\"blank\\\": \\\"😶\\\",\\n\\t\\t\\t\\\"clown\\\": \\\"🤡\\\",\\n\\t\\t\\t\\\"cold\\\": \\\"🥶\\\",\\n\\t\\t\\t\\\"concern\\\": \\\"😦\\\",\\n\\t\\t\\t\\\"cool\\\": \\\"😎\\\",\\n\\t\\t\\t\\\"cover\\\": \\\"🤭\\\",\\n\\t\\t\\t\\\"cowboy\\\": \\\"🤠\\\",\\n\\t\\t\\t\\\"cry\\\": \\\"😭\\\",\\n\\t\\t\\t\\\"devil.smile\\\": \\\"😈\\\",\\n\\t\\t\\t\\\"devil.frown\\\": \\\"👿\\\",\\n\\t\\t\\t\\\"diagonal\\\": \\\"🫤\\\",\\n\\t\\t\\t\\\"disguise\\\": \\\"🥸\\\",\\n\\t\\t\\t\\\"distorted\\\": \\\"\\\",\\n\\t\\t\\t\\\"distress\\\": \\\"😫\\\",\\n\\t\\t\\t\\\"dizzy\\\": \\\"😵\\\",\\n\\t\\t\\t\\\"dotted\\\": \\\"🫥\\\",\\n\\t\\t\\t\\\"down\\\": \\\"😞\\\",\\n\\t\\t\\t\\\"down.sweat\\\": \\\"😓\\\",\\n\\t\\t\\t\\\"drool\\\": \\\"🤤\\\",\\n\\t\\t\\t\\\"explode\\\": \\\"🤯\\\",\\n\\t\\t\\t\\\"eyeroll\\\": \\\"🙄\\\",\\n\\t\\t\\t\\\"friendly\\\": \\\"☺️\\\",\\n\\t\\t\\t\\\"fear\\\": \\\"😨\\\",\\n\\t\\t\\t\\\"fear.sweat\\\": \\\"😰\\\",\\n\\t\\t\\t\\\"fever\\\": \\\"🤒\\\",\\n\\t\\t\\t\\\"flush\\\": \\\"😳\\\",\\n\\t\\t\\t\\\"frown\\\": \\\"☹️\\\",\\n\\t\\t\\t\\\"frown.slight\\\": \\\"🙁\\\",\\n\\t\\t\\t\\\"frust\\\": \\\"😣\\\",\\n\\t\\t\\t\\\"goofy\\\": \\\"🤪\\\",\\n\\t\\t\\t\\\"halo\\\": \\\"😇\\\",\\n\\t\\t\\t\\\"happy\\\": \\\"😊\\\",\\n\\t\\t\\t\\\"heart\\\": \\\"😍\\\",\\n\\t\\t\\t\\\"hearts\\\": \\\"🥰\\\",\\n\\t\\t\\t\\\"heat\\\": \\\"🥵\\\",\\n\\t\\t\\t\\\"hug\\\": \\\"🤗\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"🙃\\\",\\n\\t\\t\\t\\\"joy\\\": \\\"😂\\\",\\n\\t\\t\\t\\\"kiss\\\": \\\"😗\\\",\\n\\t\\t\\t\\\"kiss.smile\\\": \\\"😙\\\",\\n\\t\\t\\t\\\"kiss.heart\\\": \\\"😘\\\",\\n\\t\\t\\t\\\"kiss.blush\\\": \\\"😚\\\",\\n\\t\\t\\t\\\"lick\\\": \\\"😋\\\",\\n\\t\\t\\t\\\"lie\\\": \\\"🤥\\\",\\n\\t\\t\\t\\\"mask\\\": \\\"😷\\\",\\n\\t\\t\\t\\\"meh\\\": \\\"😒\\\",\\n\\t\\t\\t\\\"melt\\\": \\\"🫠\\\",\\n\\t\\t\\t\\\"money\\\": \\\"🤑\\\",\\n\\t\\t\\t\\\"monocle\\\": \\\"🧐\\\",\\n\\t\\t\\t\\\"nausea\\\": \\\"🤢\\\",\\n\\t\\t\\t\\\"nerd\\\": \\\"🤓\\\",\\n\\t\\t\\t\\\"neutral\\\": \\\"😐️\\\",\\n\\t\\t\\t\\\"open\\\": \\\"😃\\\",\\n\\t\\t\\t\\\"party\\\": \\\"🥳\\\",\\n\\t\\t\\t\\\"peek\\\": \\\"🫣\\\",\\n\\t\\t\\t\\\"plead\\\": \\\"🥺\\\",\\n\\t\\t\\t\\\"relief\\\": \\\"😌\\\",\\n\\t\\t\\t\\\"rofl\\\": \\\"🤣\\\",\\n\\t\\t\\t\\\"sad\\\": \\\"😔\\\",\\n\\t\\t\\t\\\"salute\\\": \\\"🫡\\\",\\n\\t\\t\\t\\\"shaking\\\": \\\"🫨\\\",\\n\\t\\t\\t\\\"shock\\\": \\\"😱\\\",\\n\\t\\t\\t\\\"shush\\\": \\\"🤫\\\",\\n\\t\\t\\t\\\"skeptic\\\": \\\"🤨\\\",\\n\\t\\t\\t\\\"sleep\\\": \\\"😴\\\",\\n\\t\\t\\t\\\"sleepy\\\": \\\"😪\\\",\\n\\t\\t\\t\\\"smile\\\": \\\"😄\\\",\\n\\t\\t\\t\\\"smile.slight\\\": \\\"🙂\\\",\\n\\t\\t\\t\\\"smile.sweat\\\": \\\"😅\\\",\\n\\t\\t\\t\\\"smile.tear\\\": \\\"🥲\\\",\\n\\t\\t\\t\\\"smirk\\\": \\\"😏\\\",\\n\\t\\t\\t\\\"sneeze\\\": \\\"🤧\\\",\\n\\t\\t\\t\\\"speak.not\\\": \\\"🫢\\\",\\n\\t\\t\\t\\\"squint\\\": \\\"😆\\\",\\n\\t\\t\\t\\\"stars\\\": \\\"🤩\\\",\\n\\t\\t\\t\\\"straight\\\": \\\"😑\\\",\\n\\t\\t\\t\\\"suffer\\\": \\\"😖\\\",\\n\\t\\t\\t\\\"surprise\\\": \\\"😯\\\",\\n\\t\\t\\t\\\"symbols\\\": \\\"🤬\\\",\\n\\t\\t\\t\\\"tear\\\": \\\"😢\\\",\\n\\t\\t\\t\\\"tear.relief\\\": \\\"😥\\\",\\n\\t\\t\\t\\\"tear.withheld\\\": \\\"🥹\\\",\\n\\t\\t\\t\\\"teeth\\\": \\\"😬\\\",\\n\\t\\t\\t\\\"think\\\": \\\"🤔\\\",\\n\\t\\t\\t\\\"tired\\\": \\\"\\\",\\n\\t\\t\\t\\\"tongue\\\": \\\"😛\\\",\\n\\t\\t\\t\\\"tongue.squint\\\": \\\"😝\\\",\\n\\t\\t\\t\\\"tongue.wink\\\": \\\"😜\\\",\\n\\t\\t\\t\\\"triumph\\\": \\\"😤\\\",\\n\\t\\t\\t\\\"unhappy\\\": \\\"😕\\\",\\n\\t\\t\\t\\\"vomit\\\": \\\"🤮\\\",\\n\\t\\t\\t\\\"weary\\\": \\\"😩\\\",\\n\\t\\t\\t\\\"wink\\\": \\\"😉\\\",\\n\\t\\t\\t\\\"woozy\\\": \\\"🥴\\\",\\n\\t\\t\\t\\\"worry\\\": \\\"😟\\\",\\n\\t\\t\\t\\\"wow\\\": \\\"😮\\\",\\n\\t\\t\\t\\\"yawn\\\": \\\"🥱\\\",\\n\\t\\t\\t\\\"zip\\\": \\\"🤐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"factory\\\": \\\"🏭️\\\",\\n\\t\\\"fairy\\\": \\\"🧚\\\",\\n\\t\\\"faith\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"christ\\\": \\\"✝️\\\",\\n\\t\\t\\t\\\"dharma\\\": \\\"☸️\\\",\\n\\t\\t\\t\\\"khanda\\\": \\\"🪯\\\",\\n\\t\\t\\t\\\"islam\\\": \\\"☪️\\\",\\n\\t\\t\\t\\\"judaism\\\": \\\"✡️\\\",\\n\\t\\t\\t\\\"menorah\\\": \\\"🕎\\\",\\n\\t\\t\\t\\\"om\\\": \\\"🕉️\\\",\\n\\t\\t\\t\\\"orthodox\\\": \\\"☦️\\\",\\n\\t\\t\\t\\\"peace\\\": \\\"☮️\\\",\\n\\t\\t\\t\\\"star.dot\\\": \\\"🔯\\\",\\n\\t\\t\\t\\\"worship\\\": \\\"🛐\\\",\\n\\t\\t\\t\\\"yinyang\\\": \\\"☯️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"falafel\\\": \\\"🧆\\\",\\n\\t\\\"family\\\": \\\"👪️\\\",\\n\\t\\\"fax\\\": \\\"📠\\\",\\n\\t\\\"feather\\\": \\\"🪶\\\",\\n\\t\\\"feeding\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"breast\\\": \\\"🤱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fencing\\\": \\\"🤺\\\",\\n\\t\\\"ferriswheel\\\": \\\"🎡\\\",\\n\\t\\\"fightcloud\\\": \\\"\\\",\\n\\t\\\"filebox\\\": \\\"🗃️\\\",\\n\\t\\\"filedividers\\\": \\\"🗂️\\\",\\n\\t\\\"film\\\": \\\"🎞️\\\",\\n\\t\\\"finger\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"👉️\\\",\\n\\t\\t\\t\\\"l\\\": \\\"👈️\\\",\\n\\t\\t\\t\\\"t\\\": \\\"👆️\\\",\\n\\t\\t\\t\\\"t.alt\\\": \\\"☝️\\\",\\n\\t\\t\\t\\\"b\\\": \\\"👇️\\\",\\n\\t\\t\\t\\\"front\\\": \\\"🫵\\\",\\n\\t\\t\\t\\\"m\\\": \\\"🖕\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fingerprint\\\": \\\"\\\",\\n\\t\\\"fingers\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cross\\\": \\\"🤞\\\",\\n\\t\\t\\t\\\"pinch\\\": \\\"🤌\\\",\\n\\t\\t\\t\\\"snap\\\": \\\"🫰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fire\\\": \\\"🔥\\\",\\n\\t\\\"firecracker\\\": \\\"🧨\\\",\\n\\t\\\"fireengine\\\": \\\"🚒\\\",\\n\\t\\\"fireworks\\\": \\\"🎆\\\",\\n\\t\\\"fish\\\": [\\n\\t\\t\\\"🐟️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"tropical\\\": \\\"🐠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fishing\\\": \\\"🎣\\\",\\n\\t\\\"fist\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"👊\\\",\\n\\t\\t\\t\\\"r\\\": \\\"🤜\\\",\\n\\t\\t\\t\\\"l\\\": \\\"🤛\\\",\\n\\t\\t\\t\\\"raised\\\": \\\"✊️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flag\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"black\\\": \\\"🏴\\\",\\n\\t\\t\\t\\\"white\\\": \\\"🏳️\\\",\\n\\t\\t\\t\\\"goal\\\": \\\"🏁\\\",\\n\\t\\t\\t\\\"golf\\\": \\\"⛳️\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🚩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flags\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"jp.crossed\\\": \\\"🎌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flamingo\\\": \\\"🦩\\\",\\n\\t\\\"flashlight\\\": \\\"🔦\\\",\\n\\t\\\"flatbread\\\": \\\"🫓\\\",\\n\\t\\\"fleur\\\": \\\"⚜️\\\",\\n\\t\\\"floppy\\\": \\\"💾\\\",\\n\\t\\\"flower\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"hibiscus\\\": \\\"🌺\\\",\\n\\t\\t\\t\\\"hyacinth\\\": \\\"🪻\\\",\\n\\t\\t\\t\\\"lotus\\\": \\\"🪷\\\",\\n\\t\\t\\t\\\"pink\\\": \\\"🌸\\\",\\n\\t\\t\\t\\\"rose\\\": \\\"🌹\\\",\\n\\t\\t\\t\\\"sun\\\": \\\"🌻\\\",\\n\\t\\t\\t\\\"tulip\\\": \\\"🌷\\\",\\n\\t\\t\\t\\\"white\\\": \\\"💮\\\",\\n\\t\\t\\t\\\"wilted\\\": \\\"🥀\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"🌼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flute\\\": \\\"🪈\\\",\\n\\t\\\"fly\\\": \\\"🪰\\\",\\n\\t\\\"fog\\\": \\\"🌫️\\\",\\n\\t\\\"folder\\\": [\\n\\t\\t\\\"📁\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"open\\\": \\\"📂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fondue\\\": \\\"🫕\\\",\\n\\t\\\"foot\\\": \\\"🦶\\\",\\n\\t\\\"football\\\": [\\n\\t\\t\\\"⚽️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"am\\\": \\\"🏈\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"forex\\\": \\\"💱\\\",\\n\\t\\\"fountain\\\": \\\"⛲️\\\",\\n\\t\\\"fox\\\": \\\"🦊\\\",\\n\\t\\\"free\\\": \\\"🆓\\\",\\n\\t\\\"fries\\\": \\\"🍟\\\",\\n\\t\\\"frisbee\\\": \\\"🥏\\\",\\n\\t\\\"frog\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fuelpump\\\": \\\"⛽️\\\",\\n\\t\\\"garlic\\\": \\\"🧄\\\",\\n\\t\\\"gear\\\": \\\"⚙️\\\",\\n\\t\\\"gem\\\": \\\"💎\\\",\\n\\t\\\"genie\\\": \\\"🧞\\\",\\n\\t\\\"ghost\\\": \\\"👻\\\",\\n\\t\\\"ginger\\\": \\\"🫚\\\",\\n\\t\\\"giraffe\\\": \\\"🦒\\\",\\n\\t\\\"girl\\\": \\\"👧\\\",\\n\\t\\\"glass\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"clink\\\": \\\"🥂\\\",\\n\\t\\t\\t\\\"milk\\\": \\\"🥛\\\",\\n\\t\\t\\t\\\"pour\\\": \\\"🫗\\\",\\n\\t\\t\\t\\\"tumbler\\\": \\\"🥃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"glasses\\\": [\\n\\t\\t\\\"👓️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"sun\\\": \\\"🕶️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"globe\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"am\\\": \\\"🌎️\\\",\\n\\t\\t\\t\\\"as.au\\\": \\\"🌏️\\\",\\n\\t\\t\\t\\\"eu.af\\\": \\\"🌍️\\\",\\n\\t\\t\\t\\\"meridian\\\": \\\"🌐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"gloves\\\": \\\"🧤\\\",\\n\\t\\\"goal\\\": \\\"🥅\\\",\\n\\t\\\"goat\\\": \\\"🐐\\\",\\n\\t\\\"goggles\\\": \\\"🥽\\\",\\n\\t\\\"golfing\\\": \\\"🏌️\\\",\\n\\t\\\"goose\\\": \\\"🪿\\\",\\n\\t\\\"gorilla\\\": \\\"🦍\\\",\\n\\t\\\"grapes\\\": \\\"🍇\\\",\\n\\t\\\"guard\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"man\\\": \\\"💂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"guitar\\\": \\\"🎸\\\",\\n\\t\\\"gymnastics\\\": \\\"🤸\\\",\\n\\t\\\"haircut\\\": \\\"💇\\\",\\n\\t\\\"hairpick\\\": \\\"🪮\\\",\\n\\t\\\"hammer\\\": [\\n\\t\\t\\\"🔨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"pick\\\": \\\"⚒️\\\",\\n\\t\\t\\t\\\"wrench\\\": \\\"🛠️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hamsa\\\": \\\"🪬\\\",\\n\\t\\\"hamster\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hand\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"raised\\\": \\\"✋️\\\",\\n\\t\\t\\t\\\"raised.alt\\\": \\\"🤚\\\",\\n\\t\\t\\t\\\"r\\\": \\\"🫱\\\",\\n\\t\\t\\t\\\"l\\\": \\\"🫲\\\",\\n\\t\\t\\t\\\"t\\\": \\\"🫴\\\",\\n\\t\\t\\t\\\"b\\\": \\\"🫳\\\",\\n\\t\\t\\t\\\"ok\\\": \\\"👌\\\",\\n\\t\\t\\t\\\"call\\\": \\\"🤙\\\",\\n\\t\\t\\t\\\"love\\\": \\\"🤟\\\",\\n\\t\\t\\t\\\"part\\\": \\\"🖖\\\",\\n\\t\\t\\t\\\"peace\\\": \\\"✌️\\\",\\n\\t\\t\\t\\\"pinch\\\": \\\"🤏\\\",\\n\\t\\t\\t\\\"pushing.l\\\": \\\"🫷\\\",\\n\\t\\t\\t\\\"pushing.r\\\": \\\"🫸\\\",\\n\\t\\t\\t\\\"rock\\\": \\\"🤘\\\",\\n\\t\\t\\t\\\"splay\\\": \\\"🖐️\\\",\\n\\t\\t\\t\\\"wave\\\": \\\"👋\\\",\\n\\t\\t\\t\\\"write\\\": \\\"✍️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"handbag\\\": \\\"👜\\\",\\n\\t\\\"handball\\\": \\\"🤾\\\",\\n\\t\\\"handfan\\\": \\\"🪭\\\",\\n\\t\\\"handholding\\\": [\\n\\t\\t\\\"🧑🤝🧑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"man.man\\\": \\\"👬\\\",\\n\\t\\t\\t\\\"woman.man\\\": \\\"👫\\\",\\n\\t\\t\\t\\\"woman.woman\\\": \\\"👭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hands\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"folded\\\": \\\"🙏\\\",\\n\\t\\t\\t\\\"palms\\\": \\\"🤲\\\",\\n\\t\\t\\t\\\"clap\\\": \\\"👏\\\",\\n\\t\\t\\t\\\"heart\\\": \\\"🫶\\\",\\n\\t\\t\\t\\\"open\\\": \\\"👐\\\",\\n\\t\\t\\t\\\"raised\\\": \\\"🙌\\\",\\n\\t\\t\\t\\\"shake\\\": \\\"🤝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"harp\\\": \\\"\\\",\\n\\t\\\"hash\\\": \\\"#️\\\",\\n\\t\\\"hat\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"ribbon\\\": \\\"👒\\\",\\n\\t\\t\\t\\\"top\\\": \\\"🎩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"headphone\\\": \\\"🎧️\\\",\\n\\t\\\"heart\\\": [\\n\\t\\t\\\"❤️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow\\\": \\\"💘\\\",\\n\\t\\t\\t\\\"beat\\\": \\\"💓\\\",\\n\\t\\t\\t\\\"black\\\": \\\"🖤\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"💙\\\",\\n\\t\\t\\t\\\"box\\\": \\\"💟\\\",\\n\\t\\t\\t\\\"broken\\\": \\\"💔\\\",\\n\\t\\t\\t\\\"brown\\\": \\\"🤎\\\",\\n\\t\\t\\t\\\"double\\\": \\\"💕\\\",\\n\\t\\t\\t\\\"excl\\\": \\\"❣️\\\",\\n\\t\\t\\t\\\"gray\\\": \\\"🩶\\\",\\n\\t\\t\\t\\\"green\\\": \\\"💚\\\",\\n\\t\\t\\t\\\"grow\\\": \\\"💗\\\",\\n\\t\\t\\t\\\"lightblue\\\": \\\"🩵\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🧡\\\",\\n\\t\\t\\t\\\"pink\\\": \\\"🩷\\\",\\n\\t\\t\\t\\\"purple\\\": \\\"💜\\\",\\n\\t\\t\\t\\\"real\\\": \\\"🫀\\\",\\n\\t\\t\\t\\\"revolve\\\": \\\"💞\\\",\\n\\t\\t\\t\\\"ribbon\\\": \\\"💝\\\",\\n\\t\\t\\t\\\"spark\\\": \\\"💖\\\",\\n\\t\\t\\t\\\"white\\\": \\\"🤍\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"💛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hedgehog\\\": \\\"🦔\\\",\\n\\t\\\"helicopter\\\": \\\"🚁\\\",\\n\\t\\\"helix\\\": \\\"🧬\\\",\\n\\t\\\"helmet\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cross\\\": \\\"⛑️\\\",\\n\\t\\t\\t\\\"military\\\": \\\"🪖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hippo\\\": \\\"🦛\\\",\\n\\t\\\"hockey\\\": \\\"🏑\\\",\\n\\t\\\"hole\\\": \\\"🕳️\\\",\\n\\t\\\"honey\\\": \\\"🍯\\\",\\n\\t\\\"hongbao\\\": \\\"🧧\\\",\\n\\t\\\"hook\\\": \\\"🪝\\\",\\n\\t\\\"horn\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"postal\\\": \\\"📯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"horse\\\": [\\n\\t\\t\\\"🐎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"carousel\\\": \\\"🎠\\\",\\n\\t\\t\\t\\\"face\\\": \\\"🐴\\\",\\n\\t\\t\\t\\\"race\\\": \\\"🏇\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hospital\\\": \\\"🏥\\\",\\n\\t\\\"hotdog\\\": \\\"🌭\\\",\\n\\t\\\"hotel\\\": [\\n\\t\\t\\\"🏨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"love\\\": \\\"🏩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hotspring\\\": \\\"♨️\\\",\\n\\t\\\"hourglass\\\": [\\n\\t\\t\\\"⌛️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"flow\\\": \\\"⏳️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"house\\\": [\\n\\t\\t\\\"🏠️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"derelict\\\": \\\"🏚️\\\",\\n\\t\\t\\t\\\"garden\\\": \\\"🏡\\\",\\n\\t\\t\\t\\\"multiple\\\": \\\"🏘️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hundred\\\": \\\"💯\\\",\\n\\t\\\"hut\\\": \\\"🛖\\\",\\n\\t\\\"ice\\\": \\\"🧊\\\",\\n\\t\\\"icecream\\\": [\\n\\t\\t\\\"🍨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"shaved\\\": \\\"🍧\\\",\\n\\t\\t\\t\\\"soft\\\": \\\"🍦\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"icehockey\\\": \\\"🏒\\\",\\n\\t\\\"id\\\": \\\"🆔\\\",\\n\\t\\\"info\\\": \\\"ℹ️\\\",\\n\\t\\\"izakaya\\\": \\\"🏮\\\",\\n\\t\\\"jar\\\": \\\"🫙\\\",\\n\\t\\\"jellyfish\\\": \\\"🪼\\\",\\n\\t\\\"jeans\\\": \\\"👖\\\",\\n\\t\\\"jigsaw\\\": \\\"🧩\\\",\\n\\t\\\"joystick\\\": \\\"🕹️\\\",\\n\\t\\\"juggling\\\": \\\"🤹\\\",\\n\\t\\\"juice\\\": \\\"🧃\\\",\\n\\t\\\"kaaba\\\": \\\"🕋\\\",\\n\\t\\\"kadomatsu\\\": \\\"🎍\\\",\\n\\t\\\"kangaroo\\\": \\\"🦘\\\",\\n\\t\\\"gachi\\\": \\\"🈷️\\\",\\n\\t\\\"go\\\": \\\"🈴\\\",\\n\\t\\\"hi\\\": \\\"㊙️\\\",\\n\\t\\\"ka\\\": \\\"🉑\\\",\\n\\t\\\"kachi\\\": \\\"🈹\\\",\\n\\t\\\"kara\\\": \\\"🈳\\\",\\n\\t\\\"kon\\\": \\\"🈲\\\",\\n\\t\\\"man\\\": [\\n\\t\\t\\\"👨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"🚹️\\\",\\n\\t\\t\\t\\\"crown\\\": \\\"🤴\\\",\\n\\t\\t\\t\\\"guapimao\\\": \\\"👲\\\",\\n\\t\\t\\t\\\"levitate\\\": \\\"🕴️\\\",\\n\\t\\t\\t\\\"old\\\": \\\"👴\\\",\\n\\t\\t\\t\\\"pregnant\\\": \\\"🫃\\\",\\n\\t\\t\\t\\\"turban\\\": \\\"👳\\\",\\n\\t\\t\\t\\\"tuxedo\\\": \\\"🤵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"muryo\\\": \\\"🈚️\\\",\\n\\t\\\"shin\\\": \\\"🈸\\\",\\n\\t\\\"shuku\\\": \\\"㊗️\\\",\\n\\t\\\"toku\\\": \\\"🉐\\\",\\n\\t\\\"yo\\\": \\\"🈺\\\",\\n\\t\\\"yubi\\\": \\\"🈯️\\\",\\n\\t\\\"yuryo\\\": \\\"🈶\\\",\\n\\t\\\"koko\\\": \\\"🈁\\\",\\n\\t\\\"sa\\\": \\\"🈂️\\\",\\n\\t\\\"kebab\\\": \\\"🥙\\\",\\n\\t\\\"key\\\": [\\n\\t\\t\\\"🔑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"old\\\": \\\"🗝️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"keyboard\\\": \\\"⌨️\\\",\\n\\t\\\"kiss\\\": \\\"💏\\\",\\n\\t\\\"kissmark\\\": \\\"💋\\\",\\n\\t\\\"kite\\\": \\\"🪁\\\",\\n\\t\\\"kiwi\\\": \\\"🥝\\\",\\n\\t\\\"knife\\\": [\\n\\t\\t\\\"🔪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"dagger\\\": \\\"🗡️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"knot\\\": \\\"🪢\\\",\\n\\t\\\"koala\\\": \\\"🐨\\\",\\n\\t\\\"koinobori\\\": \\\"🎏\\\",\\n\\t\\\"label\\\": \\\"🏷️\\\",\\n\\t\\\"lacrosse\\\": \\\"🥍\\\",\\n\\t\\\"ladder\\\": \\\"🪜\\\",\\n\\t\\\"lamp\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"diya\\\": \\\"🪔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"landslide\\\": \\\"\\\",\\n\\t\\\"laptop\\\": \\\"💻️\\\",\\n\\t\\\"a\\\": \\\"🅰️\\\",\\n\\t\\\"ab\\\": \\\"🆎\\\",\\n\\t\\\"b\\\": \\\"🅱️\\\",\\n\\t\\\"cl\\\": \\\"🆑\\\",\\n\\t\\\"o\\\": \\\"🅾️\\\",\\n\\t\\\"leaf\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"clover.three\\\": \\\"☘️\\\",\\n\\t\\t\\t\\\"clover.four\\\": \\\"🍀\\\",\\n\\t\\t\\t\\\"fall\\\": \\\"🍂\\\",\\n\\t\\t\\t\\\"herb\\\": \\\"🌿\\\",\\n\\t\\t\\t\\\"maple\\\": \\\"🍁\\\",\\n\\t\\t\\t\\\"wind\\\": \\\"🍃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"leftluggage\\\": \\\"🛅\\\",\\n\\t\\\"leg\\\": [\\n\\t\\t\\\"🦵\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"mech\\\": \\\"🦿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lemon\\\": \\\"🍋\\\",\\n\\t\\\"leopard\\\": \\\"🐆\\\",\\n\\t\\\"letter\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"love\\\": \\\"💌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"liberty\\\": \\\"🗽\\\",\\n\\t\\\"lightbulb\\\": \\\"💡\\\",\\n\\t\\\"lightning\\\": \\\"⚡️\\\",\\n\\t\\\"lion\\\": \\\"🦁\\\",\\n\\t\\\"lipstick\\\": \\\"💄\\\",\\n\\t\\\"litter\\\": [\\n\\t\\t\\\"🚮\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lizard\\\": \\\"🦎\\\",\\n\\t\\\"llama\\\": \\\"🦙\\\",\\n\\t\\\"lobster\\\": \\\"🦞\\\",\\n\\t\\\"lock\\\": [\\n\\t\\t\\\"🔒️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"key\\\": \\\"🔐\\\",\\n\\t\\t\\t\\\"open\\\": \\\"🔓️\\\",\\n\\t\\t\\t\\\"pen\\\": \\\"🔏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lollipop\\\": \\\"🍭\\\",\\n\\t\\\"lotion\\\": \\\"🧴\\\",\\n\\t\\\"luggage\\\": \\\"🧳\\\",\\n\\t\\\"lungs\\\": \\\"🫁\\\",\\n\\t\\\"mage\\\": \\\"🧙\\\",\\n\\t\\\"magnet\\\": \\\"🧲\\\",\\n\\t\\\"magnify\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"🔎\\\",\\n\\t\\t\\t\\\"l\\\": \\\"🔍️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mahjong\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"dragon.red\\\": \\\"🀄️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mail\\\": [\\n\\t\\t\\\"✉️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow\\\": \\\"📩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mailbox\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"closed.empty\\\": \\\"📪️\\\",\\n\\t\\t\\t\\\"closed.full\\\": \\\"📫️\\\",\\n\\t\\t\\t\\\"open.empty\\\": \\\"📭️\\\",\\n\\t\\t\\t\\\"open.full\\\": \\\"📬️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mammoth\\\": \\\"🦣\\\",\\n\\t\\\"mango\\\": \\\"🥭\\\",\\n\\t\\\"map\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"world\\\": \\\"🗺️\\\",\\n\\t\\t\\t\\\"jp\\\": \\\"🗾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"maracas\\\": \\\"🪇\\\",\\n\\t\\\"martialarts\\\": \\\"🥋\\\",\\n\\t\\\"masks\\\": \\\"🎭️\\\",\\n\\t\\\"mate\\\": \\\"🧉\\\",\\n\\t\\\"matryoshka\\\": \\\"🪆\\\",\\n\\t\\\"meat\\\": [\\n\\t\\t\\\"🥩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bone\\\": \\\"🍖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"medal\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"first\\\": \\\"🥇\\\",\\n\\t\\t\\t\\\"second\\\": \\\"🥈\\\",\\n\\t\\t\\t\\\"third\\\": \\\"🥉\\\",\\n\\t\\t\\t\\\"sports\\\": \\\"🏅\\\",\\n\\t\\t\\t\\\"military\\\": \\\"🎖️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"megaphone\\\": [\\n\\t\\t\\\"📢\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"simple\\\": \\\"📣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"melon\\\": \\\"🍈\\\",\\n\\t\\\"merperson\\\": \\\"🧜\\\",\\n\\t\\\"metro\\\": \\\"Ⓜ️\\\",\\n\\t\\\"microbe\\\": \\\"🦠\\\",\\n\\t\\\"microphone\\\": [\\n\\t\\t\\\"🎤\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"studio\\\": \\\"🎙️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"microscope\\\": \\\"🔬\\\",\\n\\t\\\"milkyway\\\": \\\"🌌\\\",\\n\\t\\\"mirror\\\": \\\"🪞\\\",\\n\\t\\\"mixer\\\": \\\"🎛️\\\",\\n\\t\\\"money\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"bag\\\": \\\"💰️\\\",\\n\\t\\t\\t\\\"dollar\\\": \\\"💵\\\",\\n\\t\\t\\t\\\"euro\\\": \\\"💶\\\",\\n\\t\\t\\t\\\"pound\\\": \\\"💷\\\",\\n\\t\\t\\t\\\"yen\\\": \\\"💴\\\",\\n\\t\\t\\t\\\"wings\\\": \\\"💸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"monkey\\\": [\\n\\t\\t\\\"🐒\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐵\\\",\\n\\t\\t\\t\\\"hear.not\\\": \\\"🙉\\\",\\n\\t\\t\\t\\\"see.not\\\": \\\"🙈\\\",\\n\\t\\t\\t\\\"speak.not\\\": \\\"🙊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"moon\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"crescent\\\": \\\"🌙\\\",\\n\\t\\t\\t\\\"full\\\": \\\"🌕️\\\",\\n\\t\\t\\t\\\"full.face\\\": \\\"🌝\\\",\\n\\t\\t\\t\\\"new\\\": \\\"🌑\\\",\\n\\t\\t\\t\\\"new.face\\\": \\\"🌚\\\",\\n\\t\\t\\t\\\"wane.one\\\": \\\"🌖\\\",\\n\\t\\t\\t\\\"wane.two\\\": \\\"🌗\\\",\\n\\t\\t\\t\\\"wane.three.face\\\": \\\"🌜️\\\",\\n\\t\\t\\t\\\"wane.three\\\": \\\"🌘\\\",\\n\\t\\t\\t\\\"wax.one\\\": \\\"🌒\\\",\\n\\t\\t\\t\\\"wax.two\\\": \\\"🌓\\\",\\n\\t\\t\\t\\\"wax.two.face\\\": \\\"🌛\\\",\\n\\t\\t\\t\\\"wax.three\\\": \\\"🌔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"moose\\\": \\\"🫎\\\",\\n\\t\\\"mortarboard\\\": \\\"🎓️\\\",\\n\\t\\\"mosque\\\": \\\"🕌\\\",\\n\\t\\\"mosquito\\\": \\\"🦟\\\",\\n\\t\\\"motorcycle\\\": \\\"🏍️\\\",\\n\\t\\\"motorway\\\": \\\"🛣️\\\",\\n\\t\\\"mountain\\\": [\\n\\t\\t\\\"⛰️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fuji\\\": \\\"🗻\\\",\\n\\t\\t\\t\\\"snow\\\": \\\"🏔️\\\",\\n\\t\\t\\t\\\"sunrise\\\": \\\"🌄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mouse\\\": [\\n\\t\\t\\\"🐁\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mousetrap\\\": \\\"🪤\\\",\\n\\t\\\"mouth\\\": [\\n\\t\\t\\\"👄\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bite\\\": \\\"🫦\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"moyai\\\": \\\"🗿\\\",\\n\\t\\\"museum\\\": \\\"🏛️\\\",\\n\\t\\\"mushroom\\\": \\\"🍄\\\",\\n\\t\\\"musicalscore\\\": \\\"🎼\\\",\\n\\t\\\"nails\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"polish\\\": \\\"💅\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"namebadge\\\": \\\"📛\\\",\\n\\t\\\"nazar\\\": \\\"🧿\\\",\\n\\t\\\"necktie\\\": \\\"👔\\\",\\n\\t\\\"needle\\\": \\\"🪡\\\",\\n\\t\\\"nest\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"empty\\\": \\\"🪹\\\",\\n\\t\\t\\t\\\"eggs\\\": \\\"🪺\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"new\\\": \\\"🆕\\\",\\n\\t\\\"newspaper\\\": [\\n\\t\\t\\\"📰\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"rolled\\\": \\\"🗞️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ng\\\": \\\"🆖\\\",\\n\\t\\\"ningyo\\\": \\\"🎎\\\",\\n\\t\\\"ninja\\\": \\\"🥷\\\",\\n\\t\\\"noentry\\\": \\\"⛔️\\\",\\n\\t\\\"nose\\\": \\\"👃\\\",\\n\\t\\\"notebook\\\": [\\n\\t\\t\\\"📓\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"deco\\\": \\\"📔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"notepad\\\": \\\"🗒️\\\",\\n\\t\\\"notes\\\": [\\n\\t\\t\\\"🎵\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"triple\\\": \\\"🎶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"numbers\\\": \\\"🔢\\\",\\n\\t\\\"octopus\\\": \\\"🐙\\\",\\n\\t\\\"office\\\": \\\"🏢\\\",\\n\\t\\\"oil\\\": \\\"🛢️\\\",\\n\\t\\\"ok\\\": \\\"🆗\\\",\\n\\t\\\"olive\\\": \\\"🫒\\\",\\n\\t\\\"oni\\\": \\\"👹\\\",\\n\\t\\\"onion\\\": \\\"🧅\\\",\\n\\t\\\"orangutan\\\": \\\"🦧\\\",\\n\\t\\\"orca\\\": \\\"\\\",\\n\\t\\\"otter\\\": \\\"🦦\\\",\\n\\t\\\"owl\\\": \\\"🦉\\\",\\n\\t\\\"ox\\\": \\\"🐂\\\",\\n\\t\\\"oyster\\\": \\\"🦪\\\",\\n\\t\\\"package\\\": \\\"📦️\\\",\\n\\t\\\"paella\\\": \\\"🥘\\\",\\n\\t\\\"page\\\": [\\n\\t\\t\\\"📄\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"curl\\\": \\\"📃\\\",\\n\\t\\t\\t\\\"pencil\\\": \\\"📝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pager\\\": \\\"📟️\\\",\\n\\t\\\"pages\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"tabs\\\": \\\"📑\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"painting\\\": \\\"🖼️\\\",\\n\\t\\\"palette\\\": \\\"🎨\\\",\\n\\t\\\"pancakes\\\": \\\"🥞\\\",\\n\\t\\\"panda\\\": \\\"🐼\\\",\\n\\t\\\"parachute\\\": \\\"🪂\\\",\\n\\t\\\"park\\\": \\\"🏞️\\\",\\n\\t\\\"parking\\\": \\\"🅿️\\\",\\n\\t\\\"parrot\\\": \\\"🦜\\\",\\n\\t\\\"partalteration\\\": \\\"〽️\\\",\\n\\t\\\"party\\\": \\\"🎉\\\",\\n\\t\\\"peach\\\": \\\"🍑\\\",\\n\\t\\\"peacock\\\": \\\"🦚\\\",\\n\\t\\\"peanuts\\\": \\\"🥜\\\",\\n\\t\\\"peapod\\\": \\\"🫛\\\",\\n\\t\\\"pear\\\": \\\"🍐\\\",\\n\\t\\\"pedestrian\\\": [\\n\\t\\t\\\"🚶\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚷\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pen\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"ball\\\": \\\"🖊️\\\",\\n\\t\\t\\t\\\"fountain\\\": \\\"🖋️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pencil\\\": \\\"✏️\\\",\\n\\t\\\"penguin\\\": \\\"🐧\\\",\\n\\t\\\"pepper\\\": [\\n\\t\\t\\\"🫑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"hot\\\": \\\"🌶️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"person\\\": [\\n\\t\\t\\\"🧑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"angry\\\": \\\"🙎\\\",\\n\\t\\t\\t\\\"beard\\\": \\\"🧔\\\",\\n\\t\\t\\t\\\"blonde\\\": \\\"👱\\\",\\n\\t\\t\\t\\\"bow\\\": \\\"🙇\\\",\\n\\t\\t\\t\\\"crown\\\": \\\"🫅\\\",\\n\\t\\t\\t\\\"deaf\\\": \\\"🧏\\\",\\n\\t\\t\\t\\\"facepalm\\\": \\\"🤦\\\",\\n\\t\\t\\t\\\"frown\\\": \\\"🙍\\\",\\n\\t\\t\\t\\\"hijab\\\": \\\"🧕\\\",\\n\\t\\t\\t\\\"kneel\\\": \\\"🧎\\\",\\n\\t\\t\\t\\\"lotus\\\": \\\"🧘\\\",\\n\\t\\t\\t\\\"massage\\\": \\\"💆\\\",\\n\\t\\t\\t\\\"no\\\": \\\"🙅\\\",\\n\\t\\t\\t\\\"ok\\\": \\\"🙆\\\",\\n\\t\\t\\t\\\"old\\\": \\\"🧓\\\",\\n\\t\\t\\t\\\"pregnant\\\": \\\"🫄\\\",\\n\\t\\t\\t\\\"raise\\\": \\\"🙋\\\",\\n\\t\\t\\t\\\"sassy\\\": \\\"💁\\\",\\n\\t\\t\\t\\\"shrug\\\": \\\"🤷\\\",\\n\\t\\t\\t\\\"stand\\\": \\\"🧍\\\",\\n\\t\\t\\t\\\"steam\\\": \\\"🧖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"petri\\\": \\\"🧫\\\",\\n\\t\\\"phone\\\": [\\n\\t\\t\\\"📱\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow\\\": \\\"📲\\\",\\n\\t\\t\\t\\\"classic\\\": \\\"☎️\\\",\\n\\t\\t\\t\\\"not\\\": \\\"📵\\\",\\n\\t\\t\\t\\\"off\\\": \\\"📴\\\",\\n\\t\\t\\t\\\"receiver\\\": \\\"📞\\\",\\n\\t\\t\\t\\\"signal\\\": \\\"📶\\\",\\n\\t\\t\\t\\\"vibrate\\\": \\\"📳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"piano\\\": \\\"🎹\\\",\\n\\t\\\"pick\\\": \\\"⛏️\\\",\\n\\t\\\"pie\\\": \\\"🥧\\\",\\n\\t\\\"pig\\\": [\\n\\t\\t\\\"🐖\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐷\\\",\\n\\t\\t\\t\\\"nose\\\": \\\"🐽\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pill\\\": \\\"💊\\\",\\n\\t\\\"pin\\\": [\\n\\t\\t\\\"📌\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"round\\\": \\\"📍\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pinata\\\": \\\"🪅\\\",\\n\\t\\\"pineapple\\\": \\\"🍍\\\",\\n\\t\\\"pingpong\\\": \\\"🏓\\\",\\n\\t\\\"pistol\\\": \\\"🔫\\\",\\n\\t\\\"pizza\\\": \\\"🍕\\\",\\n\\t\\\"placard\\\": \\\"🪧\\\",\\n\\t\\\"planet\\\": \\\"🪐\\\",\\n\\t\\\"plant\\\": \\\"🪴\\\",\\n\\t\\\"plaster\\\": \\\"🩹\\\",\\n\\t\\\"plate\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"cutlery\\\": \\\"🍽️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"playback\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"down\\\": \\\"⏬️\\\",\\n\\t\\t\\t\\\"eject\\\": \\\"⏏️\\\",\\n\\t\\t\\t\\\"forward\\\": \\\"⏩️\\\",\\n\\t\\t\\t\\\"pause\\\": \\\"⏸️\\\",\\n\\t\\t\\t\\\"record\\\": \\\"⏺️\\\",\\n\\t\\t\\t\\\"repeat\\\": \\\"🔁\\\",\\n\\t\\t\\t\\\"repeat.once\\\": \\\"🔂\\\",\\n\\t\\t\\t\\\"repeat.v\\\": \\\"🔃\\\",\\n\\t\\t\\t\\\"restart\\\": \\\"⏮️\\\",\\n\\t\\t\\t\\\"rewind\\\": \\\"⏪️\\\",\\n\\t\\t\\t\\\"shuffle\\\": \\\"🔀\\\",\\n\\t\\t\\t\\\"skip\\\": \\\"⏭️\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"⏹️\\\",\\n\\t\\t\\t\\\"toggle\\\": \\\"⏯️\\\",\\n\\t\\t\\t\\\"up\\\": \\\"⏫️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"playingcard\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"flower\\\": \\\"🎴\\\",\\n\\t\\t\\t\\\"joker\\\": \\\"🃏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"plunger\\\": \\\"🪠\\\",\\n\\t\\\"policeofficer\\\": \\\"👮\\\",\\n\\t\\\"poo\\\": \\\"💩\\\",\\n\\t\\\"popcorn\\\": \\\"🍿\\\",\\n\\t\\\"post\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"eu\\\": \\\"🏤\\\",\\n\\t\\t\\t\\\"jp\\\": \\\"🏣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"postbox\\\": \\\"📮\\\",\\n\\t\\\"potato\\\": [\\n\\t\\t\\\"🥔\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"sweet\\\": \\\"🍠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pouch\\\": \\\"👝\\\",\\n\\t\\\"powerplug\\\": \\\"🔌\\\",\\n\\t\\\"present\\\": \\\"🎁\\\",\\n\\t\\\"pretzel\\\": \\\"🥨\\\",\\n\\t\\\"printer\\\": \\\"🖨️\\\",\\n\\t\\\"prints\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"foot\\\": \\\"👣\\\",\\n\\t\\t\\t\\\"paw\\\": \\\"🐾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prohibited\\\": \\\"🚫\\\",\\n\\t\\\"projector\\\": \\\"📽️\\\",\\n\\t\\\"pumpkin\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"lantern\\\": \\\"🎃\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"purse\\\": \\\"👛\\\",\\n\\t\\\"quest\\\": [\\n\\t\\t\\\"❓️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"white\\\": \\\"❔️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rabbit\\\": [\\n\\t\\t\\\"🐇\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"raccoon\\\": \\\"🦝\\\",\\n\\t\\\"radio\\\": \\\"📻️\\\",\\n\\t\\\"radioactive\\\": \\\"☢️\\\",\\n\\t\\\"railway\\\": \\\"🛤️\\\",\\n\\t\\\"rainbow\\\": \\\"🌈\\\",\\n\\t\\\"ram\\\": \\\"🐏\\\",\\n\\t\\\"rat\\\": \\\"🐀\\\",\\n\\t\\\"razor\\\": \\\"🪒\\\",\\n\\t\\\"receipt\\\": \\\"🧾\\\",\\n\\t\\\"recycling\\\": \\\"♻️\\\",\\n\\t\\\"reg\\\": \\\"®️\\\",\\n\\t\\\"restroom\\\": \\\"🚻\\\",\\n\\t\\\"rhino\\\": \\\"🦏\\\",\\n\\t\\\"ribbon\\\": [\\n\\t\\t\\\"🎀\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"remind\\\": \\\"🎗️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rice\\\": [\\n\\t\\t\\\"🍚\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cracker\\\": \\\"🍘\\\",\\n\\t\\t\\t\\\"ear\\\": \\\"🌾\\\",\\n\\t\\t\\t\\\"onigiri\\\": \\\"🍙\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ring\\\": \\\"💍\\\",\\n\\t\\\"ringbuoy\\\": \\\"🛟\\\",\\n\\t\\\"robot\\\": \\\"🤖\\\",\\n\\t\\\"rock\\\": \\\"🪨\\\",\\n\\t\\\"rocket\\\": \\\"🚀\\\",\\n\\t\\\"rollercoaster\\\": \\\"🎢\\\",\\n\\t\\\"rosette\\\": \\\"🏵️\\\",\\n\\t\\\"rugby\\\": \\\"🏉\\\",\\n\\t\\\"ruler\\\": [\\n\\t\\t\\\"📏\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"triangle\\\": \\\"📐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"running\\\": \\\"🏃\\\",\\n\\t\\\"safetypin\\\": \\\"🧷\\\",\\n\\t\\\"safetyvest\\\": \\\"🦺\\\",\\n\\t\\\"sake\\\": \\\"🍶\\\",\\n\\t\\\"salad\\\": \\\"🥗\\\",\\n\\t\\\"salt\\\": \\\"🧂\\\",\\n\\t\\\"sandwich\\\": \\\"🥪\\\",\\n\\t\\\"santa\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"man\\\": \\\"🎅\\\",\\n\\t\\t\\t\\\"woman\\\": \\\"🤶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"satdish\\\": \\\"📡\\\",\\n\\t\\\"satellite\\\": \\\"🛰️\\\",\\n\\t\\\"saw\\\": \\\"🪚\\\",\\n\\t\\\"saxophone\\\": \\\"🎷\\\",\\n\\t\\\"scales\\\": \\\"⚖️\\\",\\n\\t\\\"scarf\\\": \\\"🧣\\\",\\n\\t\\\"school\\\": \\\"🏫\\\",\\n\\t\\\"scissors\\\": \\\"✂️\\\",\\n\\t\\\"scooter\\\": [\\n\\t\\t\\\"🛴\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"motor\\\": \\\"🛵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"scorpion\\\": \\\"🦂\\\",\\n\\t\\\"screwdriver\\\": \\\"🪛\\\",\\n\\t\\\"scroll\\\": \\\"📜\\\",\\n\\t\\\"seal\\\": \\\"🦭\\\",\\n\\t\\\"seat\\\": \\\"💺\\\",\\n\\t\\\"seedling\\\": \\\"🌱\\\",\\n\\t\\\"shark\\\": \\\"🦈\\\",\\n\\t\\\"sheep\\\": \\\"🐑\\\",\\n\\t\\\"shell\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"spiral\\\": \\\"🐚\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shield\\\": \\\"🛡️\\\",\\n\\t\\\"ship\\\": [\\n\\t\\t\\\"🚢\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cruise\\\": \\\"🛳️\\\",\\n\\t\\t\\t\\\"ferry\\\": \\\"⛴️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shirt\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"sports\\\": \\\"🎽\\\",\\n\\t\\t\\t\\\"t\\\": \\\"👕\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shoe\\\": [\\n\\t\\t\\\"👞\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ballet\\\": \\\"🩰\\\",\\n\\t\\t\\t\\\"flat\\\": \\\"🥿\\\",\\n\\t\\t\\t\\\"heel\\\": \\\"👠\\\",\\n\\t\\t\\t\\\"hike\\\": \\\"🥾\\\",\\n\\t\\t\\t\\\"ice\\\": \\\"⛸️\\\",\\n\\t\\t\\t\\\"roller\\\": \\\"🛼\\\",\\n\\t\\t\\t\\\"sandal.heel\\\": \\\"👡\\\",\\n\\t\\t\\t\\\"ski\\\": \\\"🎿\\\",\\n\\t\\t\\t\\\"sneaker\\\": \\\"👟\\\",\\n\\t\\t\\t\\\"tall\\\": \\\"👢\\\",\\n\\t\\t\\t\\\"thong\\\": \\\"🩴\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shopping\\\": \\\"🛍️\\\",\\n\\t\\\"shorts\\\": \\\"🩳\\\",\\n\\t\\\"shoshinsha\\\": \\\"🔰\\\",\\n\\t\\\"shovel\\\": \\\"\\\",\\n\\t\\\"shower\\\": \\\"🚿\\\",\\n\\t\\\"shrimp\\\": [\\n\\t\\t\\\"🦐\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"fried\\\": \\\"🍤\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shrine\\\": \\\"⛩️\\\",\\n\\t\\\"sign\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"crossing\\\": \\\"🚸\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"🛑\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"silhouette\\\": [\\n\\t\\t\\\"👤\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"👥\\\",\\n\\t\\t\\t\\\"hug\\\": \\\"🫂\\\",\\n\\t\\t\\t\\\"speak\\\": \\\"🗣️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"siren\\\": \\\"🚨\\\",\\n\\t\\\"skateboard\\\": \\\"🛹\\\",\\n\\t\\\"skewer\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"dango\\\": \\\"🍡\\\",\\n\\t\\t\\t\\\"oden\\\": \\\"🍢\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"skiing\\\": \\\"⛷️\\\",\\n\\t\\\"skull\\\": [\\n\\t\\t\\\"💀\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bones\\\": \\\"☠️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"skunk\\\": \\\"🦨\\\",\\n\\t\\\"sled\\\": \\\"🛷\\\",\\n\\t\\\"slide\\\": \\\"🛝\\\",\\n\\t\\\"slider\\\": \\\"🎚️\\\",\\n\\t\\\"sloth\\\": \\\"🦥\\\",\\n\\t\\\"slots\\\": \\\"🎰\\\",\\n\\t\\\"snail\\\": \\\"🐌\\\",\\n\\t\\\"snake\\\": \\\"🐍\\\",\\n\\t\\\"snowboarding\\\": \\\"🏂️\\\",\\n\\t\\\"snowflake\\\": \\\"❄️\\\",\\n\\t\\\"snowman\\\": [\\n\\t\\t\\\"⛄️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"snow\\\": \\\"☃️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"soap\\\": \\\"🧼\\\",\\n\\t\\\"socks\\\": \\\"🧦\\\",\\n\\t\\\"softball\\\": \\\"🥎\\\",\\n\\t\\\"sos\\\": \\\"🆘\\\",\\n\\t\\\"soup\\\": \\\"🍲\\\",\\n\\t\\\"spaghetti\\\": \\\"🍝\\\",\\n\\t\\\"sparkle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"❇️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sparkler\\\": \\\"🎇\\\",\\n\\t\\\"sparkles\\\": \\\"✨️\\\",\\n\\t\\\"speaker\\\": [\\n\\t\\t\\\"🔈️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🔇\\\",\\n\\t\\t\\t\\\"wave\\\": \\\"🔉\\\",\\n\\t\\t\\t\\\"waves\\\": \\\"🔊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"spider\\\": \\\"🕷️\\\",\\n\\t\\\"spiderweb\\\": \\\"🕸️\\\",\\n\\t\\\"spinach\\\": \\\"🥬\\\",\\n\\t\\\"splatter\\\": \\\"\\\",\\n\\t\\\"sponge\\\": \\\"🧽\\\",\\n\\t\\\"spoon\\\": \\\"🥄\\\",\\n\\t\\\"square\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"black\\\": \\\"⬛️\\\",\\n\\t\\t\\t\\\"black.tiny\\\": \\\"▪️\\\",\\n\\t\\t\\t\\\"black.small\\\": \\\"◾️\\\",\\n\\t\\t\\t\\\"black.medium\\\": \\\"◼️\\\",\\n\\t\\t\\t\\\"white\\\": \\\"⬜️\\\",\\n\\t\\t\\t\\\"white.tiny\\\": \\\"▫️\\\",\\n\\t\\t\\t\\\"white.small\\\": \\\"◽️\\\",\\n\\t\\t\\t\\\"white.medium\\\": \\\"◻️\\\",\\n\\t\\t\\t\\\"blue\\\": \\\"🟦\\\",\\n\\t\\t\\t\\\"brown\\\": \\\"🟫\\\",\\n\\t\\t\\t\\\"green\\\": \\\"🟩\\\",\\n\\t\\t\\t\\\"orange\\\": \\\"🟧\\\",\\n\\t\\t\\t\\\"purple\\\": \\\"🟪\\\",\\n\\t\\t\\t\\\"red\\\": \\\"🟥\\\",\\n\\t\\t\\t\\\"yellow\\\": \\\"🟨\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"squid\\\": \\\"🦑\\\",\\n\\t\\\"stadium\\\": \\\"🏟️\\\",\\n\\t\\\"star\\\": [\\n\\t\\t\\\"⭐️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arc\\\": \\\"💫\\\",\\n\\t\\t\\t\\\"box\\\": \\\"✴️\\\",\\n\\t\\t\\t\\\"glow\\\": \\\"🌟\\\",\\n\\t\\t\\t\\\"shoot\\\": \\\"🌠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"stethoscope\\\": \\\"🩺\\\",\\n\\t\\\"store\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"🏬\\\",\\n\\t\\t\\t\\\"small\\\": \\\"🏪\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"strawberry\\\": \\\"🍓\\\",\\n\\t\\\"suit\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"club\\\": \\\"♣️\\\",\\n\\t\\t\\t\\\"diamond\\\": \\\"♦️\\\",\\n\\t\\t\\t\\\"heart\\\": \\\"♥️\\\",\\n\\t\\t\\t\\\"spade\\\": \\\"♠️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sun\\\": [\\n\\t\\t\\\"☀️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cloud\\\": \\\"🌤️\\\",\\n\\t\\t\\t\\\"face\\\": \\\"🌞\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sunrise\\\": \\\"🌅\\\",\\n\\t\\\"superhero\\\": \\\"🦸\\\",\\n\\t\\\"supervillain\\\": \\\"🦹\\\",\\n\\t\\\"surfing\\\": \\\"🏄️\\\",\\n\\t\\\"sushi\\\": \\\"🍣\\\",\\n\\t\\\"swan\\\": \\\"🦢\\\",\\n\\t\\\"swimming\\\": \\\"🏊️\\\",\\n\\t\\\"swimsuit\\\": \\\"🩱\\\",\\n\\t\\\"swords\\\": \\\"⚔️\\\",\\n\\t\\\"symbols\\\": \\\"🔣\\\",\\n\\t\\\"synagogue\\\": \\\"🕍\\\",\\n\\t\\\"syringe\\\": \\\"💉\\\",\\n\\t\\\"taco\\\": \\\"🌮\\\",\\n\\t\\\"takeout\\\": \\\"🥡\\\",\\n\\t\\\"tamale\\\": \\\"🫔\\\",\\n\\t\\\"tanabata\\\": \\\"🎋\\\",\\n\\t\\\"tangerine\\\": \\\"🍊\\\",\\n\\t\\\"tap\\\": [\\n\\t\\t\\\"🚰\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"🚱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"taxi\\\": [\\n\\t\\t\\\"🚕\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"front\\\": \\\"🚖\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"teacup\\\": \\\"🍵\\\",\\n\\t\\\"teapot\\\": \\\"🫖\\\",\\n\\t\\\"teddy\\\": \\\"🧸\\\",\\n\\t\\\"telescope\\\": \\\"🔭\\\",\\n\\t\\\"temple\\\": \\\"🛕\\\",\\n\\t\\\"ten\\\": \\\"🔟\\\",\\n\\t\\\"tengu\\\": \\\"👺\\\",\\n\\t\\\"tennis\\\": \\\"🎾\\\",\\n\\t\\\"tent\\\": \\\"⛺️\\\",\\n\\t\\\"testtube\\\": \\\"🧪\\\",\\n\\t\\\"thermometer\\\": \\\"🌡️\\\",\\n\\t\\\"thread\\\": \\\"🧵\\\",\\n\\t\\\"thumb\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"up\\\": \\\"👍️\\\",\\n\\t\\t\\t\\\"down\\\": \\\"👎️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ticket\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"event\\\": \\\"🎟️\\\",\\n\\t\\t\\t\\\"travel\\\": \\\"🎫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tiger\\\": [\\n\\t\\t\\\"🐅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"face\\\": \\\"🐯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tm\\\": \\\"™️\\\",\\n\\t\\\"toilet\\\": \\\"🚽\\\",\\n\\t\\\"toiletpaper\\\": \\\"🧻\\\",\\n\\t\\\"tomato\\\": \\\"🍅\\\",\\n\\t\\\"tombstone\\\": \\\"🪦\\\",\\n\\t\\\"tongue\\\": \\\"👅\\\",\\n\\t\\\"toolbox\\\": \\\"🧰\\\",\\n\\t\\\"tooth\\\": \\\"🦷\\\",\\n\\t\\\"toothbrush\\\": \\\"🪥\\\",\\n\\t\\\"tornado\\\": \\\"🌪️\\\",\\n\\t\\\"tower\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"tokyo\\\": \\\"🗼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"trackball\\\": \\\"🖲️\\\",\\n\\t\\\"tractor\\\": \\\"🚜\\\",\\n\\t\\\"trafficlight\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"v\\\": \\\"🚦\\\",\\n\\t\\t\\t\\\"h\\\": \\\"🚥\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"train\\\": [\\n\\t\\t\\\"🚆\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"car\\\": \\\"🚃\\\",\\n\\t\\t\\t\\\"light\\\": \\\"🚈\\\",\\n\\t\\t\\t\\\"metro\\\": \\\"🚇️\\\",\\n\\t\\t\\t\\\"mono\\\": \\\"🚝\\\",\\n\\t\\t\\t\\\"mountain\\\": \\\"🚞\\\",\\n\\t\\t\\t\\\"speed\\\": \\\"🚄\\\",\\n\\t\\t\\t\\\"speed.bullet\\\": \\\"🚅\\\",\\n\\t\\t\\t\\\"steam\\\": \\\"🚂\\\",\\n\\t\\t\\t\\\"stop\\\": \\\"🚉\\\",\\n\\t\\t\\t\\\"suspend\\\": \\\"🚟\\\",\\n\\t\\t\\t\\\"tram\\\": \\\"🚊\\\",\\n\\t\\t\\t\\\"tram.car\\\": \\\"🚋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"transgender\\\": \\\"⚧️\\\",\\n\\t\\\"tray\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"inbox\\\": \\\"📥️\\\",\\n\\t\\t\\t\\\"mail\\\": \\\"📨\\\",\\n\\t\\t\\t\\\"outbox\\\": \\\"📤️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"treasure\\\": \\\"\\\",\\n\\t\\\"tree\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"deciduous\\\": \\\"🌳\\\",\\n\\t\\t\\t\\\"evergreen\\\": \\\"🌲\\\",\\n\\t\\t\\t\\\"leafless\\\": \\\"\\\",\\n\\t\\t\\t\\\"palm\\\": \\\"🌴\\\",\\n\\t\\t\\t\\\"xmas\\\": \\\"🎄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"triangle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"▶️\\\",\\n\\t\\t\\t\\\"l\\\": \\\"◀️\\\",\\n\\t\\t\\t\\\"t\\\": \\\"🔼\\\",\\n\\t\\t\\t\\\"b\\\": \\\"🔽\\\",\\n\\t\\t\\t\\\"t.red\\\": \\\"🔺\\\",\\n\\t\\t\\t\\\"b.red\\\": \\\"🔻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"trident\\\": \\\"🔱\\\",\\n\\t\\\"troll\\\": \\\"🧌\\\",\\n\\t\\\"trombone\\\": \\\"\\\",\\n\\t\\\"trophy\\\": \\\"🏆️\\\",\\n\\t\\\"truck\\\": [\\n\\t\\t\\\"🚚\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"trailer\\\": \\\"🚛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"trumpet\\\": \\\"🎺\\\",\\n\\t\\\"tsukimi\\\": \\\"🎑\\\",\\n\\t\\\"turkey\\\": \\\"🦃\\\",\\n\\t\\\"turtle\\\": \\\"🐢\\\",\\n\\t\\\"tv\\\": \\\"📺️\\\",\\n\\t\\\"ufo\\\": \\\"🛸\\\",\\n\\t\\\"umbrella\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"open\\\": \\\"☂️\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"🌂\\\",\\n\\t\\t\\t\\\"rain\\\": \\\"☔️\\\",\\n\\t\\t\\t\\\"sun\\\": \\\"⛱️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"unicorn\\\": \\\"🦄\\\",\\n\\t\\\"unknown\\\": \\\"🦳\\\",\\n\\t\\\"up\\\": \\\"🆙\\\",\\n\\t\\\"urn\\\": \\\"⚱️\\\",\\n\\t\\\"vampire\\\": \\\"🧛\\\",\\n\\t\\\"violin\\\": \\\"🎻\\\",\\n\\t\\\"volcano\\\": \\\"🌋\\\",\\n\\t\\\"volleyball\\\": \\\"🏐\\\",\\n\\t\\\"vs\\\": \\\"🆚\\\",\\n\\t\\\"waffle\\\": \\\"🧇\\\",\\n\\t\\\"wand\\\": \\\"🪄\\\",\\n\\t\\\"warning\\\": \\\"⚠️\\\",\\n\\t\\\"watch\\\": [\\n\\t\\t\\\"⌚️\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"stop\\\": \\\"⏱️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"watermelon\\\": \\\"🍉\\\",\\n\\t\\\"waterpolo\\\": \\\"🤽\\\",\\n\\t\\\"wave\\\": \\\"🌊\\\",\\n\\t\\\"wc\\\": \\\"🚾\\\",\\n\\t\\\"weightlifting\\\": \\\"🏋️\\\",\\n\\t\\\"whale\\\": [\\n\\t\\t\\\"🐋\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"spout\\\": \\\"🐳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wheel\\\": \\\"🛞\\\",\\n\\t\\\"wheelchair\\\": [\\n\\t\\t\\\"🦽\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"♿️\\\",\\n\\t\\t\\t\\\"motor\\\": \\\"🦼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wind\\\": \\\"🌬️\\\",\\n\\t\\\"windchime\\\": \\\"🎐\\\",\\n\\t\\\"window\\\": \\\"🪟\\\",\\n\\t\\\"wine\\\": \\\"🍷\\\",\\n\\t\\\"wing\\\": \\\"🪽\\\",\\n\\t\\\"wireless\\\": \\\"🛜\\\",\\n\\t\\\"wolf\\\": \\\"🐺\\\",\\n\\t\\\"woman\\\": [\\n\\t\\t\\\"👩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"box\\\": \\\"🚺️\\\",\\n\\t\\t\\t\\\"crown\\\": \\\"👸\\\",\\n\\t\\t\\t\\\"old\\\": \\\"👵\\\",\\n\\t\\t\\t\\\"pregnant\\\": \\\"🤰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wood\\\": \\\"🪵\\\",\\n\\t\\\"worm\\\": \\\"🪱\\\",\\n\\t\\\"wrench\\\": \\\"🔧\\\",\\n\\t\\\"wrestling\\\": \\\"🤼\\\",\\n\\t\\\"xray\\\": \\\"🩻\\\",\\n\\t\\\"yarn\\\": \\\"🧶\\\",\\n\\t\\\"yoyo\\\": \\\"🪀\\\",\\n\\t\\\"zebra\\\": \\\"🦓\\\",\\n\\t\\\"zodiac\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"aquarius\\\": \\\"♒️\\\",\\n\\t\\t\\t\\\"aries\\\": \\\"♈️\\\",\\n\\t\\t\\t\\\"cancer\\\": \\\"♋️\\\",\\n\\t\\t\\t\\\"capri\\\": \\\"♑️\\\",\\n\\t\\t\\t\\\"gemini\\\": \\\"♊️\\\",\\n\\t\\t\\t\\\"leo\\\": \\\"♌️\\\",\\n\\t\\t\\t\\\"libra\\\": \\\"♎️\\\",\\n\\t\\t\\t\\\"ophi\\\": \\\"⛎️\\\",\\n\\t\\t\\t\\\"pisces\\\": \\\"♓️\\\",\\n\\t\\t\\t\\\"sagit\\\": \\\"♐️\\\",\\n\\t\\t\\t\\\"scorpio\\\": \\\"♏️\\\",\\n\\t\\t\\t\\\"taurus\\\": \\\"♉️\\\",\\n\\t\\t\\t\\\"virgo\\\": \\\"♍️\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"zombie\\\": \\\"🧟\\\",\\n\\t\\\"zzz\\\": \\\"💤\\\"\\n}\\n\"","export default \"{\\n\\t\\\"wj\\\": \\\"\\\",\\n\\t\\\"zwj\\\": \\\"\\\",\\n\\t\\\"zwnj\\\": \\\"\\\",\\n\\t\\\"zws\\\": \\\"\\\",\\n\\t\\\"lrm\\\": \\\"\\\",\\n\\t\\\"rlm\\\": \\\"\\\",\\n\\t\\\"space\\\": [\\n\\t\\t\\\" \\\",\\n\\t\\t{\\n\\t\\t\\t\\\"nobreak\\\": \\\" \\\",\\n\\t\\t\\t\\\"nobreak.narrow\\\": \\\" \\\",\\n\\t\\t\\t\\\"en\\\": \\\" \\\",\\n\\t\\t\\t\\\"quad\\\": \\\" \\\",\\n\\t\\t\\t\\\"third\\\": \\\" \\\",\\n\\t\\t\\t\\\"quarter\\\": \\\" \\\",\\n\\t\\t\\t\\\"sixth\\\": \\\" \\\",\\n\\t\\t\\t\\\"med\\\": \\\" \\\",\\n\\t\\t\\t\\\"fig\\\": \\\" \\\",\\n\\t\\t\\t\\\"punct\\\": \\\" \\\",\\n\\t\\t\\t\\\"thin\\\": \\\" \\\",\\n\\t\\t\\t\\\"hair\\\": \\\" \\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"paren\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"(\\\",\\n\\t\\t\\t\\\"l.flat\\\": \\\"⟮\\\",\\n\\t\\t\\t\\\"l.closed\\\": \\\"⦇\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⦅\\\",\\n\\t\\t\\t\\\"r\\\": \\\")\\\",\\n\\t\\t\\t\\\"r.flat\\\": \\\"⟯\\\",\\n\\t\\t\\t\\\"r.closed\\\": \\\"⦈\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⦆\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⏜\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⏝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"brace\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"{\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⦃\\\",\\n\\t\\t\\t\\\"r\\\": \\\"}\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⦄\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⏞\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⏟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bracket\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"[\\\",\\n\\t\\t\\t\\\"l.tick.t\\\": \\\"⦍\\\",\\n\\t\\t\\t\\\"l.tick.b\\\": \\\"⦏\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⟦\\\",\\n\\t\\t\\t\\\"r\\\": \\\"]\\\",\\n\\t\\t\\t\\\"r.tick.t\\\": \\\"⦐\\\",\\n\\t\\t\\t\\\"r.tick.b\\\": \\\"⦎\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⟧\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⎴\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⎵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shell\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"❲\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⟬\\\",\\n\\t\\t\\t\\\"l.filled\\\": \\\"⦗\\\",\\n\\t\\t\\t\\\"r\\\": \\\"❳\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⟭\\\",\\n\\t\\t\\t\\\"r.filled\\\": \\\"⦘\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⏠\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⏡\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bag\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⟅\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⟆\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mustache\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⎰\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⎱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bar\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"v\\\": \\\"|\\\",\\n\\t\\t\\t\\\"v.double\\\": \\\"‖\\\",\\n\\t\\t\\t\\\"v.triple\\\": \\\"⦀\\\",\\n\\t\\t\\t\\\"v.broken\\\": \\\"¦\\\",\\n\\t\\t\\t\\\"v.o\\\": \\\"⦶\\\",\\n\\t\\t\\t\\\"h\\\": \\\"―\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"fence\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⧘\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⧚\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⧙\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⧛\\\",\\n\\t\\t\\t\\\"dotted\\\": \\\"⦙\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"chevron\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⟨\\\",\\n\\t\\t\\t\\\"l.curly\\\": \\\"⧼\\\",\\n\\t\\t\\t\\\"l.dot\\\": \\\"⦑\\\",\\n\\t\\t\\t\\\"l.closed\\\": \\\"⦉\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⟪\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⟩\\\",\\n\\t\\t\\t\\\"r.curly\\\": \\\"⧽\\\",\\n\\t\\t\\t\\\"r.dot\\\": \\\"⦒\\\",\\n\\t\\t\\t\\\"r.closed\\\": \\\"⦊\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⟫\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ceil\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⌈\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⌉\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"floor\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"⌊\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⌋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"corner\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"l.t\\\": \\\"⌜\\\",\\n\\t\\t\\t\\\"l.b\\\": \\\"⌞\\\",\\n\\t\\t\\t\\\"r.t\\\": \\\"⌝\\\",\\n\\t\\t\\t\\\"r.b\\\": \\\"⌟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"amp\\\": [\\n\\t\\t\\\"&\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⅋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ast\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"∗\\\",\\n\\t\\t\\t\\\"op.o\\\": \\\"⊛\\\",\\n\\t\\t\\t\\\"basic\\\": \\\"*︎\\\",\\n\\t\\t\\t\\\"low\\\": \\\"⁎\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⁑\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⁂\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⧆\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"at\\\": \\\"@\\\",\\n\\t\\\"backslash\\\": [\\n\\t\\t\\\"\\\\\\\\\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⦸\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⧷\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"co\\\": \\\"℅\\\",\\n\\t\\\"colon\\\": [\\n\\t\\t\\\":\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"currency\\\": \\\"₡\\\",\\n\\t\\t\\t\\\"double\\\": \\\"∷\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"⁝\\\",\\n\\t\\t\\t\\\"tri.op\\\": \\\"⫶\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≔\\\",\\n\\t\\t\\t\\\"double.eq\\\": \\\"⩴\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"comma\\\": [\\n\\t\\t\\\",\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⸲\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⹁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dagger\\\": [\\n\\t\\t\\\"†\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"‡\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⹋\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⸶\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⸷\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"⸸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dash\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"en\\\": \\\"–\\\",\\n\\t\\t\\t\\\"em\\\": \\\"—\\\",\\n\\t\\t\\t\\\"em.two\\\": \\\"⸺\\\",\\n\\t\\t\\t\\\"em.three\\\": \\\"⸻\\\",\\n\\t\\t\\t\\\"fig\\\": \\\"‒\\\",\\n\\t\\t\\t\\\"colon\\\": \\\"∹\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊝\\\",\\n\\t\\t\\t\\\"wave\\\": \\\"〜\\\",\\n\\t\\t\\t\\\"wave.double\\\": \\\"〰︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"underscore\\\": \\\"_\\\",\\n\\t\\\"dot\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"⋅\\\",\\n\\t\\t\\t\\\"basic\\\": \\\".\\\",\\n\\t\\t\\t\\\"c\\\": \\\"·\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊙\\\",\\n\\t\\t\\t\\\"o.big\\\": \\\"⨀\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊡\\\",\\n\\t\\t\\t\\\"double\\\": \\\"¨\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⃛\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"⃜\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"excl\\\": [\\n\\t\\t\\\"!\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"‼︎\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"¡\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⁉︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"quest\\\": [\\n\\t\\t\\\"?\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"⁇\\\",\\n\\t\\t\\t\\\"excl\\\": \\\"⁈\\\",\\n\\t\\t\\t\\\"inv\\\": \\\"¿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"interrobang\\\": [\\n\\t\\t\\\"‽\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⸘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hash\\\": \\\"#︎\\\",\\n\\t\\\"hyph\\\": [\\n\\t\\t\\\"‐\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"minus\\\": \\\"-\\\",\\n\\t\\t\\t\\\"nobreak\\\": \\\"‑\\\",\\n\\t\\t\\t\\\"point\\\": \\\"‧\\\",\\n\\t\\t\\t\\\"soft\\\": \\\"\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"numero\\\": \\\"№\\\",\\n\\t\\\"percent\\\": \\\"%\\\",\\n\\t\\\"permille\\\": \\\"‰\\\",\\n\\t\\\"permyriad\\\": \\\"‱\\\",\\n\\t\\\"pilcrow\\\": [\\n\\t\\t\\\"¶\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"rev\\\": \\\"⁋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"section\\\": \\\"§\\\",\\n\\t\\\"semi\\\": [\\n\\t\\t\\\";\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"⸵\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⁏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"slash\\\": [\\n\\t\\t\\\"/\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊘\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⫽\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⫻\\\",\\n\\t\\t\\t\\\"big\\\": \\\"⧸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"dots\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"h.c\\\": \\\"⋯\\\",\\n\\t\\t\\t\\\"h\\\": \\\"…\\\",\\n\\t\\t\\t\\\"v\\\": \\\"⋮\\\",\\n\\t\\t\\t\\\"down\\\": \\\"⋱\\\",\\n\\t\\t\\t\\\"up\\\": \\\"⋰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tilde\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"∼\\\",\\n\\t\\t\\t\\\"basic\\\": \\\"~\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⩪\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≃\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"≄\\\",\\n\\t\\t\\t\\\"eq.rev\\\": \\\"⋍\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"≅\\\",\\n\\t\\t\\t\\\"equiv.not\\\": \\\"≇\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"≆\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≁\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"∽\\\",\\n\\t\\t\\t\\\"rev.equiv\\\": \\\"≌\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"≋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"acute\\\": [\\n\\t\\t\\\"´\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"˝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"breve\\\": \\\"˘\\\",\\n\\t\\\"caret\\\": \\\"‸\\\",\\n\\t\\\"caron\\\": \\\"ˇ\\\",\\n\\t\\\"hat\\\": \\\"^\\\",\\n\\t\\\"diaer\\\": \\\"¨\\\",\\n\\t\\\"grave\\\": \\\"`\\\",\\n\\t\\\"macron\\\": \\\"¯\\\",\\n\\t\\\"quote\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"\\\\\\\"\\\",\\n\\t\\t\\t\\\"single\\\": \\\"'\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"“\\\",\\n\\t\\t\\t\\\"l.single\\\": \\\"‘\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"”\\\",\\n\\t\\t\\t\\\"r.single\\\": \\\"’\\\",\\n\\t\\t\\t\\\"chevron.l.double\\\": \\\"«\\\",\\n\\t\\t\\t\\\"chevron.l.single\\\": \\\"‹\\\",\\n\\t\\t\\t\\\"chevron.r.double\\\": \\\"»\\\",\\n\\t\\t\\t\\\"chevron.r.single\\\": \\\"›\\\",\\n\\t\\t\\t\\\"high.double\\\": \\\"‟\\\",\\n\\t\\t\\t\\\"high.single\\\": \\\"‛\\\",\\n\\t\\t\\t\\\"low.double\\\": \\\"„\\\",\\n\\t\\t\\t\\\"low.single\\\": \\\"‚\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prime\\\": [\\n\\t\\t\\\"′\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"rev\\\": \\\"‵\\\",\\n\\t\\t\\t\\\"double\\\": \\\"″\\\",\\n\\t\\t\\t\\\"double.rev\\\": \\\"‶\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"‴\\\",\\n\\t\\t\\t\\\"triple.rev\\\": \\\"‷\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"⁗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"plus\\\": [\\n\\t\\t\\\"+\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊕\\\",\\n\\t\\t\\t\\\"o.l\\\": \\\"⨭\\\",\\n\\t\\t\\t\\\"o.r\\\": \\\"⨮\\\",\\n\\t\\t\\t\\\"o.arrow\\\": \\\"⟴\\\",\\n\\t\\t\\t\\\"o.big\\\": \\\"⨁\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"∔\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⧺\\\",\\n\\t\\t\\t\\\"minus\\\": \\\"±\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊞\\\",\\n\\t\\t\\t\\\"triangle\\\": \\\"⨹\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⧻\\\",\\n\\t\\t\\t\\\"hat\\\": \\\"⨣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"minus\\\": [\\n\\t\\t\\\"−\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊖\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"∸\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"∓\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊟\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≂\\\",\\n\\t\\t\\t\\\"triangle\\\": \\\"⨺\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"div\\\": [\\n\\t\\t\\\"÷\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⨸\\\",\\n\\t\\t\\t\\\"slanted.o\\\": \\\"⦼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"times\\\": [\\n\\t\\t\\\"×\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⨉\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊗\\\",\\n\\t\\t\\t\\\"o.l\\\": \\\"⨴\\\",\\n\\t\\t\\t\\\"o.r\\\": \\\"⨵\\\",\\n\\t\\t\\t\\\"o.hat\\\": \\\"⨶\\\",\\n\\t\\t\\t\\\"o.big\\\": \\\"⨂\\\",\\n\\t\\t\\t\\\"div\\\": \\\"⋇\\\",\\n\\t\\t\\t\\\"three.l\\\": \\\"⋋\\\",\\n\\t\\t\\t\\\"three.r\\\": \\\"⋌\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⋉\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⋊\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⊠\\\",\\n\\t\\t\\t\\\"triangle\\\": \\\"⨻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ratio\\\": \\\"∶\\\",\\n\\t\\\"eq\\\": [\\n\\t\\t\\\"=\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"ast\\\": \\\"⩮\\\",\\n\\t\\t\\t\\\"star\\\": \\\"≛\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⊜\\\",\\n\\t\\t\\t\\\"colon\\\": \\\"≕\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"≐\\\",\\n\\t\\t\\t\\\"dots\\\": \\\"≑\\\",\\n\\t\\t\\t\\\"dots.down\\\": \\\"≒\\\",\\n\\t\\t\\t\\\"dots.up\\\": \\\"≓\\\",\\n\\t\\t\\t\\\"def\\\": \\\"≝\\\",\\n\\t\\t\\t\\\"delta\\\": \\\"≜\\\",\\n\\t\\t\\t\\\"equi\\\": \\\"≚\\\",\\n\\t\\t\\t\\\"est\\\": \\\"≙\\\",\\n\\t\\t\\t\\\"gt\\\": \\\"⋝\\\",\\n\\t\\t\\t\\\"lt\\\": \\\"⋜\\\",\\n\\t\\t\\t\\\"m\\\": \\\"≞\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≠\\\",\\n\\t\\t\\t\\\"prec\\\": \\\"⋞\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"≟\\\",\\n\\t\\t\\t\\\"succ\\\": \\\"⋟\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"≡\\\",\\n\\t\\t\\t\\\"triple.not\\\": \\\"≢\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"≣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"gt\\\": [\\n\\t\\t\\\">\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⧁\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⋗\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⩼\\\",\\n\\t\\t\\t\\\"approx\\\": \\\"⪆\\\",\\n\\t\\t\\t\\\"arc\\\": \\\"⪧\\\",\\n\\t\\t\\t\\\"arc.eq\\\": \\\"⪩\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⊳\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⊵\\\",\\n\\t\\t\\t\\\"closed.eq.not\\\": \\\"⋭\\\",\\n\\t\\t\\t\\\"closed.not\\\": \\\"⋫\\\",\\n\\t\\t\\t\\\"double\\\": \\\"≫\\\",\\n\\t\\t\\t\\\"double.nested\\\": \\\"⪢\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≥\\\",\\n\\t\\t\\t\\\"eq.slant\\\": \\\"⩾\\\",\\n\\t\\t\\t\\\"eq.lt\\\": \\\"⋛\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"≱\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"≧\\\",\\n\\t\\t\\t\\\"lt\\\": \\\"≷\\\",\\n\\t\\t\\t\\\"lt.not\\\": \\\"≹\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪈\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪊\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"≩\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≯\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋧\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≳\\\",\\n\\t\\t\\t\\\"tilde.not\\\": \\\"≵\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"⊳\\\",\\n\\t\\t\\t\\\"tri.eq\\\": \\\"⊵\\\",\\n\\t\\t\\t\\\"tri.eq.not\\\": \\\"⋭\\\",\\n\\t\\t\\t\\\"tri.not\\\": \\\"⋫\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⋙\\\",\\n\\t\\t\\t\\\"triple.nested\\\": \\\"⫸\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lt\\\": [\\n\\t\\t\\\"<\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⧀\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⋖\\\",\\n\\t\\t\\t\\\"quest\\\": \\\"⩻\\\",\\n\\t\\t\\t\\\"approx\\\": \\\"⪅\\\",\\n\\t\\t\\t\\\"arc\\\": \\\"⪦\\\",\\n\\t\\t\\t\\\"arc.eq\\\": \\\"⪨\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⊲\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⊴\\\",\\n\\t\\t\\t\\\"closed.eq.not\\\": \\\"⋬\\\",\\n\\t\\t\\t\\\"closed.not\\\": \\\"⋪\\\",\\n\\t\\t\\t\\\"double\\\": \\\"≪\\\",\\n\\t\\t\\t\\\"double.nested\\\": \\\"⪡\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"≤\\\",\\n\\t\\t\\t\\\"eq.slant\\\": \\\"⩽\\\",\\n\\t\\t\\t\\\"eq.gt\\\": \\\"⋚\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"≰\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"≦\\\",\\n\\t\\t\\t\\\"gt\\\": \\\"≶\\\",\\n\\t\\t\\t\\\"gt.not\\\": \\\"≸\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪇\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪉\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"≨\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≮\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋦\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≲\\\",\\n\\t\\t\\t\\\"tilde.not\\\": \\\"≴\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"⊲\\\",\\n\\t\\t\\t\\\"tri.eq\\\": \\\"⊴\\\",\\n\\t\\t\\t\\\"tri.eq.not\\\": \\\"⋬\\\",\\n\\t\\t\\t\\\"tri.not\\\": \\\"⋪\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"⋘\\\",\\n\\t\\t\\t\\\"triple.nested\\\": \\\"⫷\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"approx\\\": [\\n\\t\\t\\\"≈\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"eq\\\": \\\"≊\\\",\\n\\t\\t\\t\\\"not\\\": \\\"≉\\\",\\n\\t\\t\\t\\\"hat\\\": \\\"⩯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prec\\\": [\\n\\t\\t\\\"≺\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⪷\\\",\\n\\t\\t\\t\\\"curly.eq\\\": \\\"≼\\\",\\n\\t\\t\\t\\\"curly.eq.not\\\": \\\"⋠\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⪻\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⪯\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⪳\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪹\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪱\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⪵\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊀\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋨\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"succ\\\": [\\n\\t\\t\\\"≻\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⪸\\\",\\n\\t\\t\\t\\\"curly.eq\\\": \\\"≽\\\",\\n\\t\\t\\t\\\"curly.eq.not\\\": \\\"⋡\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⪼\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⪰\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⪴\\\",\\n\\t\\t\\t\\\"napprox\\\": \\\"⪺\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⪲\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⪶\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊁\\\",\\n\\t\\t\\t\\\"ntilde\\\": \\\"⋩\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"≿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"equiv\\\": [\\n\\t\\t\\\"≡\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"≢\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"smt\\\": [\\n\\t\\t\\\"⪪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"eq\\\": \\\"⪬\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lat\\\": [\\n\\t\\t\\\"⪫\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"eq\\\": \\\"⪭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"prop\\\": \\\"∝\\\",\\n\\t\\\"original\\\": \\\"⊶\\\",\\n\\t\\\"image\\\": \\\"⊷\\\",\\n\\t\\\"asymp\\\": [\\n\\t\\t\\\"≍\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"≭\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"emptyset\\\": [\\n\\t\\t\\\"∅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"zero\\\": \\\"∅︀\\\",\\n\\t\\t\\t\\\"arrow.r\\\": \\\"⦳\\\",\\n\\t\\t\\t\\\"arrow.l\\\": \\\"⦴\\\",\\n\\t\\t\\t\\\"bar\\\": \\\"⦱\\\",\\n\\t\\t\\t\\\"circle\\\": \\\"⦲\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⦰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"nothing\\\": [\\n\\t\\t\\\"∅\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"zero\\\": \\\"∅︀\\\",\\n\\t\\t\\t\\\"arrow.r\\\": \\\"⦳\\\",\\n\\t\\t\\t\\\"arrow.l\\\": \\\"⦴\\\",\\n\\t\\t\\t\\\"bar\\\": \\\"⦱\\\",\\n\\t\\t\\t\\\"circle\\\": \\\"⦲\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⦰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"without\\\": \\\"∖\\\",\\n\\t\\\"complement\\\": \\\"∁\\\",\\n\\t\\\"in\\\": [\\n\\t\\t\\\"∈\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"∉\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"∋\\\",\\n\\t\\t\\t\\\"rev.not\\\": \\\"∌\\\",\\n\\t\\t\\t\\\"rev.small\\\": \\\"∍\\\",\\n\\t\\t\\t\\\"small\\\": \\\"∊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"subset\\\": [\\n\\t\\t\\\"⊂\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⫉\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⫏\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⫑\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⪽\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋐\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⊆\\\",\\n\\t\\t\\t\\\"eq.dot\\\": \\\"⫃\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"⊈\\\",\\n\\t\\t\\t\\\"eq.sq\\\": \\\"⊑\\\",\\n\\t\\t\\t\\\"eq.sq.not\\\": \\\"⋢\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⫅\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⊊\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⫋\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊄\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"⪿\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊏\\\",\\n\\t\\t\\t\\\"sq.neq\\\": \\\"⋤\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"⫇\\\",\\n\\t\\t\\t\\\"times\\\": \\\"⫁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"supset\\\": [\\n\\t\\t\\\"⊃\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"approx\\\": \\\"⫊\\\",\\n\\t\\t\\t\\\"closed\\\": \\\"⫐\\\",\\n\\t\\t\\t\\\"closed.eq\\\": \\\"⫒\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⪾\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋑\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⊇\\\",\\n\\t\\t\\t\\\"eq.dot\\\": \\\"⫄\\\",\\n\\t\\t\\t\\\"eq.not\\\": \\\"⊉\\\",\\n\\t\\t\\t\\\"eq.sq\\\": \\\"⊒\\\",\\n\\t\\t\\t\\\"eq.sq.not\\\": \\\"⋣\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⫆\\\",\\n\\t\\t\\t\\\"neq\\\": \\\"⊋\\\",\\n\\t\\t\\t\\\"nequiv\\\": \\\"⫌\\\",\\n\\t\\t\\t\\\"not\\\": \\\"⊅\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"⫀\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊐\\\",\\n\\t\\t\\t\\\"sq.neq\\\": \\\"⋥\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"⫈\\\",\\n\\t\\t\\t\\\"times\\\": \\\"⫂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"union\\\": [\\n\\t\\t\\\"∪\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"serif\\\": \\\"∪︀\\\",\\n\\t\\t\\t\\\"arrow\\\": \\\"⊌\\\",\\n\\t\\t\\t\\\"big\\\": \\\"⋃\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⊍\\\",\\n\\t\\t\\t\\\"dot.big\\\": \\\"⨃\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋓\\\",\\n\\t\\t\\t\\\"minus\\\": \\\"⩁\\\",\\n\\t\\t\\t\\\"or\\\": \\\"⩅\\\",\\n\\t\\t\\t\\\"plus\\\": \\\"⊎\\\",\\n\\t\\t\\t\\\"plus.big\\\": \\\"⨄\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊔\\\",\\n\\t\\t\\t\\\"sq.serif\\\": \\\"⊔︀\\\",\\n\\t\\t\\t\\\"sq.big\\\": \\\"⨆\\\",\\n\\t\\t\\t\\\"sq.double\\\": \\\"⩏\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"inter\\\": [\\n\\t\\t\\\"∩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"serif\\\": \\\"∩︀\\\",\\n\\t\\t\\t\\\"and\\\": \\\"⩄\\\",\\n\\t\\t\\t\\\"big\\\": \\\"⋂\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⩀\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⋒\\\",\\n\\t\\t\\t\\\"sq\\\": \\\"⊓\\\",\\n\\t\\t\\t\\\"sq.serif\\\": \\\"⊓︀\\\",\\n\\t\\t\\t\\\"sq.big\\\": \\\"⨅\\\",\\n\\t\\t\\t\\\"sq.double\\\": \\\"⩎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"infinity\\\": [\\n\\t\\t\\\"∞\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"bar\\\": \\\"⧞\\\",\\n\\t\\t\\t\\\"incomplete\\\": \\\"⧜\\\",\\n\\t\\t\\t\\\"tie\\\": \\\"⧝\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"oo\\\": \\\"∞\\\",\\n\\t\\\"partial\\\": \\\"∂\\\",\\n\\t\\\"gradient\\\": \\\"∇\\\",\\n\\t\\\"nabla\\\": \\\"∇\\\",\\n\\t\\\"sum\\\": [\\n\\t\\t\\\"∑\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"integral\\\": \\\"⨋\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"product\\\": [\\n\\t\\t\\\"∏\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"co\\\": \\\"∐\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"integral\\\": [\\n\\t\\t\\\"∫\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"arrow.hook\\\": \\\"⨗\\\",\\n\\t\\t\\t\\\"ccw\\\": \\\"⨑\\\",\\n\\t\\t\\t\\\"cont\\\": \\\"∮\\\",\\n\\t\\t\\t\\\"cont.ccw\\\": \\\"∳\\\",\\n\\t\\t\\t\\\"cont.cw\\\": \\\"∲\\\",\\n\\t\\t\\t\\\"cw\\\": \\\"∱\\\",\\n\\t\\t\\t\\\"dash\\\": \\\"⨍\\\",\\n\\t\\t\\t\\\"dash.double\\\": \\\"⨎\\\",\\n\\t\\t\\t\\\"double\\\": \\\"∬\\\",\\n\\t\\t\\t\\\"quad\\\": \\\"⨌\\\",\\n\\t\\t\\t\\\"inter\\\": \\\"⨙\\\",\\n\\t\\t\\t\\\"slash\\\": \\\"⨏\\\",\\n\\t\\t\\t\\\"square\\\": \\\"⨖\\\",\\n\\t\\t\\t\\\"surf\\\": \\\"∯\\\",\\n\\t\\t\\t\\\"times\\\": \\\"⨘\\\",\\n\\t\\t\\t\\\"triple\\\": \\\"∭\\\",\\n\\t\\t\\t\\\"union\\\": \\\"⨚\\\",\\n\\t\\t\\t\\\"vol\\\": \\\"∰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"laplace\\\": \\\"∆\\\",\\n\\t\\\"forall\\\": \\\"∀\\\",\\n\\t\\\"exists\\\": [\\n\\t\\t\\\"∃\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"∄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"top\\\": \\\"⊤\\\",\\n\\t\\\"bot\\\": \\\"⊥\\\",\\n\\t\\\"not\\\": \\\"¬\\\",\\n\\t\\\"and\\\": [\\n\\t\\t\\\"∧\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⋀\\\",\\n\\t\\t\\t\\\"curly\\\": \\\"⋏\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⟑\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⩓\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"or\\\": [\\n\\t\\t\\\"∨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⋁\\\",\\n\\t\\t\\t\\\"curly\\\": \\\"⋎\\\",\\n\\t\\t\\t\\\"dot\\\": \\\"⟇\\\",\\n\\t\\t\\t\\\"double\\\": \\\"⩔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"xor\\\": [\\n\\t\\t\\\"⊕\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⨁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"models\\\": \\\"⊧\\\",\\n\\t\\\"forces\\\": [\\n\\t\\t\\\"⊩\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"⊮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"therefore\\\": \\\"∴\\\",\\n\\t\\\"because\\\": \\\"∵\\\",\\n\\t\\\"qed\\\": \\\"∎\\\",\\n\\t\\\"mapsto\\\": [\\n\\t\\t\\\"↦\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"long\\\": \\\"⟼\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"mapsfrom\\\": [\\n\\t\\t\\\"↤\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"long\\\": \\\"⟻\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"compose\\\": [\\n\\t\\t\\\"∘\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊚\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"convolve\\\": [\\n\\t\\t\\\"∗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⊛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"multimap\\\": [\\n\\t\\t\\\"⊸\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"double\\\": \\\"⧟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tiny\\\": \\\"⧾\\\",\\n\\t\\\"miny\\\": \\\"⧿\\\",\\n\\t\\\"divides\\\": [\\n\\t\\t\\\"∣\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"not\\\": \\\"∤\\\",\\n\\t\\t\\t\\\"not.rev\\\": \\\"⫮\\\",\\n\\t\\t\\t\\\"struck\\\": \\\"⟊\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"wreath\\\": \\\"≀\\\",\\n\\t\\\"angle\\\": [\\n\\t\\t\\\"∠\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"acute\\\": \\\"⦟\\\",\\n\\t\\t\\t\\\"arc\\\": \\\"∡\\\",\\n\\t\\t\\t\\\"arc.rev\\\": \\\"⦛\\\",\\n\\t\\t\\t\\\"azimuth\\\": \\\"⍼\\\",\\n\\t\\t\\t\\\"obtuse\\\": \\\"⦦\\\",\\n\\t\\t\\t\\\"rev\\\": \\\"⦣\\\",\\n\\t\\t\\t\\\"right\\\": \\\"∟\\\",\\n\\t\\t\\t\\\"right.rev\\\": \\\"⯾\\\",\\n\\t\\t\\t\\\"right.arc\\\": \\\"⊾\\\",\\n\\t\\t\\t\\\"right.dot\\\": \\\"⦝\\\",\\n\\t\\t\\t\\\"right.square\\\": \\\"⦜\\\",\\n\\t\\t\\t\\\"s\\\": \\\"⦞\\\",\\n\\t\\t\\t\\\"spatial\\\": \\\"⟀\\\",\\n\\t\\t\\t\\\"spheric\\\": \\\"∢\\\",\\n\\t\\t\\t\\\"spheric.rev\\\": \\\"⦠\\\",\\n\\t\\t\\t\\\"spheric.t\\\": \\\"⦡\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"angzarr\\\": \\\"⍼\\\",\\n\\t\\\"parallel\\\": [\\n\\t\\t\\\"∥\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"struck\\\": \\\"⫲\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⦷\\\",\\n\\t\\t\\t\\\"eq\\\": \\\"⋕\\\",\\n\\t\\t\\t\\\"equiv\\\": \\\"⩨\\\",\\n\\t\\t\\t\\\"not\\\": \\\"∦\\\",\\n\\t\\t\\t\\\"slanted.eq\\\": \\\"⧣\\\",\\n\\t\\t\\t\\\"slanted.eq.tilde\\\": \\\"⧤\\\",\\n\\t\\t\\t\\\"slanted.equiv\\\": \\\"⧥\\\",\\n\\t\\t\\t\\\"tilde\\\": \\\"⫳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"perp\\\": [\\n\\t\\t\\\"⟂\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"o\\\": \\\"⦹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"earth\\\": [\\n\\t\\t\\\"🜨\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"♁\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"jupiter\\\": \\\"♃\\\",\\n\\t\\\"mars\\\": \\\"♂︎\\\",\\n\\t\\\"mercury\\\": \\\"☿\\\",\\n\\t\\\"neptune\\\": [\\n\\t\\t\\\"♆\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"⯉\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"saturn\\\": \\\"♄\\\",\\n\\t\\\"sun\\\": \\\"☉\\\",\\n\\t\\\"uranus\\\": [\\n\\t\\t\\\"⛢\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"♅\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"venus\\\": \\\"♀︎\\\",\\n\\t\\\"diameter\\\": \\\"⌀\\\",\\n\\t\\\"interleave\\\": [\\n\\t\\t\\\"⫴\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"big\\\": \\\"⫼\\\",\\n\\t\\t\\t\\\"struck\\\": \\\"⫵\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"join\\\": [\\n\\t\\t\\\"⨝\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"⟖\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⟕\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"⟗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bowtie\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⋈\\\",\\n\\t\\t\\t\\\"stroked.big\\\": \\\"⨝\\\",\\n\\t\\t\\t\\\"stroked.big.l\\\": \\\"⟕\\\",\\n\\t\\t\\t\\\"stroked.big.r\\\": \\\"⟖\\\",\\n\\t\\t\\t\\\"stroked.big.l.r\\\": \\\"⟗\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⧓\\\",\\n\\t\\t\\t\\\"filled.l\\\": \\\"⧑\\\",\\n\\t\\t\\t\\\"filled.r\\\": \\\"⧒\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hourglass\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⧖\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⧗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"degree\\\": \\\"°\\\",\\n\\t\\\"smash\\\": \\\"⨳\\\",\\n\\t\\\"power\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"standby\\\": \\\"⏻\\\",\\n\\t\\t\\t\\\"on\\\": \\\"⏽\\\",\\n\\t\\t\\t\\\"off\\\": \\\"⭘\\\",\\n\\t\\t\\t\\\"on.off\\\": \\\"⏼\\\",\\n\\t\\t\\t\\\"sleep\\\": \\\"⏾\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"smile\\\": \\\"⌣\\\",\\n\\t\\\"frown\\\": \\\"⌢\\\",\\n\\t\\\"afghani\\\": \\\"؋\\\",\\n\\t\\\"baht\\\": \\\"฿\\\",\\n\\t\\\"bitcoin\\\": \\\"₿\\\",\\n\\t\\\"cedi\\\": \\\"₵\\\",\\n\\t\\\"cent\\\": \\\"¢\\\",\\n\\t\\\"currency\\\": \\\"¤\\\",\\n\\t\\\"dollar\\\": \\\"$\\\",\\n\\t\\\"dong\\\": \\\"₫\\\",\\n\\t\\\"dorome\\\": \\\"߾\\\",\\n\\t\\\"dram\\\": \\\"֏\\\",\\n\\t\\\"euro\\\": \\\"€\\\",\\n\\t\\\"guarani\\\": \\\"₲\\\",\\n\\t\\\"hryvnia\\\": \\\"₴\\\",\\n\\t\\\"kip\\\": \\\"₭\\\",\\n\\t\\\"lari\\\": \\\"₾\\\",\\n\\t\\\"lira\\\": \\\"₺\\\",\\n\\t\\\"manat\\\": \\\"₼\\\",\\n\\t\\\"naira\\\": \\\"₦\\\",\\n\\t\\\"pataca\\\": \\\"$\\\",\\n\\t\\\"peso\\\": [\\n\\t\\t\\\"$\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"philippine\\\": \\\"₱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pound\\\": \\\"£\\\",\\n\\t\\\"riel\\\": \\\"៛\\\",\\n\\t\\\"riyal\\\": \\\"\\\",\\n\\t\\\"ruble\\\": \\\"₽\\\",\\n\\t\\\"rupee\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"indian\\\": \\\"₹\\\",\\n\\t\\t\\t\\\"generic\\\": \\\"₨\\\",\\n\\t\\t\\t\\\"tamil\\\": \\\"௹\\\",\\n\\t\\t\\t\\\"wancho\\\": \\\"𞋿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"shekel\\\": \\\"₪\\\",\\n\\t\\\"som\\\": \\\"⃀\\\",\\n\\t\\\"taka\\\": \\\"৳\\\",\\n\\t\\\"taman\\\": \\\"߿\\\",\\n\\t\\\"tenge\\\": \\\"₸\\\",\\n\\t\\\"togrog\\\": \\\"₮\\\",\\n\\t\\\"won\\\": \\\"₩\\\",\\n\\t\\\"yen\\\": \\\"¥\\\",\\n\\t\\\"yuan\\\": \\\"¥\\\",\\n\\t\\\"ballot\\\": [\\n\\t\\t\\\"☐\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"cross\\\": \\\"☒\\\",\\n\\t\\t\\t\\\"check\\\": \\\"☑︎\\\",\\n\\t\\t\\t\\\"check.heavy\\\": \\\"🗹\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"checkmark\\\": [\\n\\t\\t\\\"✓\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"light\\\": \\\"🗸\\\",\\n\\t\\t\\t\\\"heavy\\\": \\\"✔︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"crossmark\\\": [\\n\\t\\t\\\"✗\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"heavy\\\": \\\"✘\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"floral\\\": [\\n\\t\\t\\\"❦\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"l\\\": \\\"☙\\\",\\n\\t\\t\\t\\\"r\\\": \\\"❧\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"refmark\\\": \\\"※\\\",\\n\\t\\\"cc\\\": [\\n\\t\\t\\\"🅭\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"by\\\": \\\"🅯\\\",\\n\\t\\t\\t\\\"nc\\\": \\\"🄏\\\",\\n\\t\\t\\t\\\"nd\\\": \\\"⊜\\\",\\n\\t\\t\\t\\\"public\\\": \\\"🅮\\\",\\n\\t\\t\\t\\\"sa\\\": \\\"🄎\\\",\\n\\t\\t\\t\\\"zero\\\": \\\"🄍\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"copyright\\\": [\\n\\t\\t\\\"©︎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"sound\\\": \\\"℗\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"copyleft\\\": \\\"🄯\\\",\\n\\t\\\"trademark\\\": [\\n\\t\\t\\\"™︎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"registered\\\": \\\"®︎\\\",\\n\\t\\t\\t\\\"service\\\": \\\"℠\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"maltese\\\": \\\"✠\\\",\\n\\t\\\"suit\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"club.filled\\\": \\\"♣︎\\\",\\n\\t\\t\\t\\\"club.stroked\\\": \\\"♧\\\",\\n\\t\\t\\t\\\"diamond.filled\\\": \\\"♦︎\\\",\\n\\t\\t\\t\\\"diamond.stroked\\\": \\\"♢\\\",\\n\\t\\t\\t\\\"heart.filled\\\": \\\"♥︎\\\",\\n\\t\\t\\t\\\"heart.stroked\\\": \\\"♡\\\",\\n\\t\\t\\t\\\"spade.filled\\\": \\\"♠︎\\\",\\n\\t\\t\\t\\\"spade.stroked\\\": \\\"♤\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"note\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"up\\\": \\\"🎜\\\",\\n\\t\\t\\t\\\"down\\\": \\\"🎝\\\",\\n\\t\\t\\t\\\"whole\\\": \\\"𝅝\\\",\\n\\t\\t\\t\\\"half\\\": \\\"𝅗𝅥\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝅘𝅥\\\",\\n\\t\\t\\t\\\"quarter.alt\\\": \\\"♩\\\",\\n\\t\\t\\t\\\"eighth\\\": \\\"𝅘𝅥𝅮\\\",\\n\\t\\t\\t\\\"eighth.alt\\\": \\\"♪\\\",\\n\\t\\t\\t\\\"eighth.beamed\\\": \\\"♫\\\",\\n\\t\\t\\t\\\"sixteenth\\\": \\\"𝅘𝅥𝅯\\\",\\n\\t\\t\\t\\\"sixteenth.beamed\\\": \\\"♬\\\",\\n\\t\\t\\t\\\"grace\\\": \\\"𝆕\\\",\\n\\t\\t\\t\\\"grace.slash\\\": \\\"𝆔\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rest\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"whole\\\": \\\"𝄻\\\",\\n\\t\\t\\t\\\"multiple\\\": \\\"𝄺\\\",\\n\\t\\t\\t\\\"multiple.measure\\\": \\\"𝄩\\\",\\n\\t\\t\\t\\\"half\\\": \\\"𝄼\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝄽\\\",\\n\\t\\t\\t\\\"eighth\\\": \\\"𝄾\\\",\\n\\t\\t\\t\\\"sixteenth\\\": \\\"𝄿\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"natural\\\": [\\n\\t\\t\\\"♮\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"𝄮\\\",\\n\\t\\t\\t\\\"b\\\": \\\"𝄯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"flat\\\": [\\n\\t\\t\\\"♭\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"𝄬\\\",\\n\\t\\t\\t\\\"b\\\": \\\"𝄭\\\",\\n\\t\\t\\t\\\"double\\\": \\\"𝄫\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝄳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sharp\\\": [\\n\\t\\t\\\"♯\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"𝄰\\\",\\n\\t\\t\\t\\\"b\\\": \\\"𝄱\\\",\\n\\t\\t\\t\\\"double\\\": \\\"𝄪\\\",\\n\\t\\t\\t\\\"quarter\\\": \\\"𝄲\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"bullet\\\": [\\n\\t\\t\\\"•\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"∙\\\",\\n\\t\\t\\t\\\"o\\\": \\\"⦿\\\",\\n\\t\\t\\t\\\"stroked\\\": \\\"◦\\\",\\n\\t\\t\\t\\\"stroked.o\\\": \\\"⦾\\\",\\n\\t\\t\\t\\\"hole\\\": \\\"◘\\\",\\n\\t\\t\\t\\\"hyph\\\": \\\"⁃\\\",\\n\\t\\t\\t\\\"tri\\\": \\\"‣\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⁌\\\",\\n\\t\\t\\t\\\"r\\\": \\\"⁍\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"circle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"○\\\",\\n\\t\\t\\t\\\"stroked.tiny\\\": \\\"∘\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"⚬\\\",\\n\\t\\t\\t\\\"stroked.big\\\": \\\"◯\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"●\\\",\\n\\t\\t\\t\\\"filled.tiny\\\": \\\"⦁\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"∙\\\",\\n\\t\\t\\t\\\"filled.big\\\": \\\"⬤\\\",\\n\\t\\t\\t\\\"dotted\\\": \\\"◌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"ellipse\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked.h\\\": \\\"⬭\\\",\\n\\t\\t\\t\\\"stroked.v\\\": \\\"⬯\\\",\\n\\t\\t\\t\\\"filled.h\\\": \\\"⬬\\\",\\n\\t\\t\\t\\\"filled.v\\\": \\\"⬮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"triangle\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked.t\\\": \\\"△\\\",\\n\\t\\t\\t\\\"stroked.b\\\": \\\"▽\\\",\\n\\t\\t\\t\\\"stroked.r\\\": \\\"▷\\\",\\n\\t\\t\\t\\\"stroked.l\\\": \\\"◁\\\",\\n\\t\\t\\t\\\"stroked.bl\\\": \\\"◺\\\",\\n\\t\\t\\t\\\"stroked.br\\\": \\\"◿\\\",\\n\\t\\t\\t\\\"stroked.tl\\\": \\\"◸\\\",\\n\\t\\t\\t\\\"stroked.tr\\\": \\\"◹\\\",\\n\\t\\t\\t\\\"stroked.small.t\\\": \\\"▵\\\",\\n\\t\\t\\t\\\"stroked.small.b\\\": \\\"▿\\\",\\n\\t\\t\\t\\\"stroked.small.r\\\": \\\"▹\\\",\\n\\t\\t\\t\\\"stroked.small.l\\\": \\\"◃\\\",\\n\\t\\t\\t\\\"stroked.rounded\\\": \\\"🛆\\\",\\n\\t\\t\\t\\\"stroked.nested\\\": \\\"⟁\\\",\\n\\t\\t\\t\\\"stroked.dot\\\": \\\"◬\\\",\\n\\t\\t\\t\\\"filled.t\\\": \\\"▲\\\",\\n\\t\\t\\t\\\"filled.b\\\": \\\"▼\\\",\\n\\t\\t\\t\\\"filled.r\\\": \\\"▶︎\\\",\\n\\t\\t\\t\\\"filled.l\\\": \\\"◀︎\\\",\\n\\t\\t\\t\\\"filled.bl\\\": \\\"◣\\\",\\n\\t\\t\\t\\\"filled.br\\\": \\\"◢\\\",\\n\\t\\t\\t\\\"filled.tl\\\": \\\"◤\\\",\\n\\t\\t\\t\\\"filled.tr\\\": \\\"◥\\\",\\n\\t\\t\\t\\\"filled.small.t\\\": \\\"▴\\\",\\n\\t\\t\\t\\\"filled.small.b\\\": \\\"▾\\\",\\n\\t\\t\\t\\\"filled.small.r\\\": \\\"▸\\\",\\n\\t\\t\\t\\\"filled.small.l\\\": \\\"◂\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"square\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"□\\\",\\n\\t\\t\\t\\\"stroked.tiny\\\": \\\"▫︎\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"◽︎\\\",\\n\\t\\t\\t\\\"stroked.medium\\\": \\\"◻︎\\\",\\n\\t\\t\\t\\\"stroked.big\\\": \\\"⬜︎\\\",\\n\\t\\t\\t\\\"stroked.dotted\\\": \\\"⬚\\\",\\n\\t\\t\\t\\\"stroked.rounded\\\": \\\"▢\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"■\\\",\\n\\t\\t\\t\\\"filled.tiny\\\": \\\"▪︎\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"◾︎\\\",\\n\\t\\t\\t\\\"filled.medium\\\": \\\"◼︎\\\",\\n\\t\\t\\t\\\"filled.big\\\": \\\"⬛︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"rect\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked.h\\\": \\\"▭\\\",\\n\\t\\t\\t\\\"stroked.v\\\": \\\"▯\\\",\\n\\t\\t\\t\\\"filled.h\\\": \\\"▬\\\",\\n\\t\\t\\t\\\"filled.v\\\": \\\"▮\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"penta\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⬠\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⬟\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"hexa\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"⬡\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⬢\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"diamond\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"◇\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"⋄\\\",\\n\\t\\t\\t\\\"stroked.medium\\\": \\\"⬦\\\",\\n\\t\\t\\t\\\"stroked.dot\\\": \\\"⟐\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"◆\\\",\\n\\t\\t\\t\\\"filled.medium\\\": \\\"⬥\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"⬩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lozenge\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"◊\\\",\\n\\t\\t\\t\\\"stroked.small\\\": \\\"⬫\\\",\\n\\t\\t\\t\\\"stroked.medium\\\": \\\"⬨\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"⧫\\\",\\n\\t\\t\\t\\\"filled.small\\\": \\\"⬪\\\",\\n\\t\\t\\t\\\"filled.medium\\\": \\\"⬧\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"parallelogram\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"stroked\\\": \\\"▱\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"▰\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"star\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"op\\\": \\\"⋆\\\",\\n\\t\\t\\t\\\"stroked\\\": \\\"☆\\\",\\n\\t\\t\\t\\\"filled\\\": \\\"★\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrow\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"→\\\",\\n\\t\\t\\t\\\"r.long.bar\\\": \\\"⟼\\\",\\n\\t\\t\\t\\\"r.bar\\\": \\\"↦\\\",\\n\\t\\t\\t\\\"r.curve\\\": \\\"⤷\\\",\\n\\t\\t\\t\\\"r.turn\\\": \\\"⮎\\\",\\n\\t\\t\\t\\\"r.dashed\\\": \\\"⇢\\\",\\n\\t\\t\\t\\\"r.dotted\\\": \\\"⤑\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⇒\\\",\\n\\t\\t\\t\\\"r.double.bar\\\": \\\"⤇\\\",\\n\\t\\t\\t\\\"r.double.long\\\": \\\"⟹\\\",\\n\\t\\t\\t\\\"r.double.long.bar\\\": \\\"⟾\\\",\\n\\t\\t\\t\\\"r.double.not\\\": \\\"⇏\\\",\\n\\t\\t\\t\\\"r.double.struck\\\": \\\"⤃\\\",\\n\\t\\t\\t\\\"r.filled\\\": \\\"➡︎\\\",\\n\\t\\t\\t\\\"r.hook\\\": \\\"↪︎\\\",\\n\\t\\t\\t\\\"r.long\\\": \\\"⟶\\\",\\n\\t\\t\\t\\\"r.long.squiggly\\\": \\\"⟿\\\",\\n\\t\\t\\t\\\"r.loop\\\": \\\"↬\\\",\\n\\t\\t\\t\\\"r.not\\\": \\\"↛\\\",\\n\\t\\t\\t\\\"r.quad\\\": \\\"⭆\\\",\\n\\t\\t\\t\\\"r.squiggly\\\": \\\"⇝\\\",\\n\\t\\t\\t\\\"r.stop\\\": \\\"⇥\\\",\\n\\t\\t\\t\\\"r.stroked\\\": \\\"⇨\\\",\\n\\t\\t\\t\\\"r.struck\\\": \\\"⇸\\\",\\n\\t\\t\\t\\\"r.dstruck\\\": \\\"⇻\\\",\\n\\t\\t\\t\\\"r.tail\\\": \\\"↣\\\",\\n\\t\\t\\t\\\"r.tail.struck\\\": \\\"⤔\\\",\\n\\t\\t\\t\\\"r.tail.dstruck\\\": \\\"⤕\\\",\\n\\t\\t\\t\\\"r.tilde\\\": \\\"⥲\\\",\\n\\t\\t\\t\\\"r.triple\\\": \\\"⇛\\\",\\n\\t\\t\\t\\\"r.twohead\\\": \\\"↠\\\",\\n\\t\\t\\t\\\"r.twohead.bar\\\": \\\"⤅\\\",\\n\\t\\t\\t\\\"r.twohead.struck\\\": \\\"⤀\\\",\\n\\t\\t\\t\\\"r.twohead.dstruck\\\": \\\"⤁\\\",\\n\\t\\t\\t\\\"r.twohead.tail\\\": \\\"⤖\\\",\\n\\t\\t\\t\\\"r.twohead.tail.struck\\\": \\\"⤗\\\",\\n\\t\\t\\t\\\"r.twohead.tail.dstruck\\\": \\\"⤘\\\",\\n\\t\\t\\t\\\"r.open\\\": \\\"⇾\\\",\\n\\t\\t\\t\\\"r.wave\\\": \\\"↝\\\",\\n\\t\\t\\t\\\"l\\\": \\\"←\\\",\\n\\t\\t\\t\\\"l.bar\\\": \\\"↤\\\",\\n\\t\\t\\t\\\"l.curve\\\": \\\"⤶\\\",\\n\\t\\t\\t\\\"l.turn\\\": \\\"⮌\\\",\\n\\t\\t\\t\\\"l.dashed\\\": \\\"⇠\\\",\\n\\t\\t\\t\\\"l.dotted\\\": \\\"⬸\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⇐\\\",\\n\\t\\t\\t\\\"l.double.bar\\\": \\\"⤆\\\",\\n\\t\\t\\t\\\"l.double.long\\\": \\\"⟸\\\",\\n\\t\\t\\t\\\"l.double.long.bar\\\": \\\"⟽\\\",\\n\\t\\t\\t\\\"l.double.not\\\": \\\"⇍\\\",\\n\\t\\t\\t\\\"l.double.struck\\\": \\\"⤂\\\",\\n\\t\\t\\t\\\"l.filled\\\": \\\"⬅︎\\\",\\n\\t\\t\\t\\\"l.hook\\\": \\\"↩︎\\\",\\n\\t\\t\\t\\\"l.long\\\": \\\"⟵\\\",\\n\\t\\t\\t\\\"l.long.bar\\\": \\\"⟻\\\",\\n\\t\\t\\t\\\"l.long.squiggly\\\": \\\"⬳\\\",\\n\\t\\t\\t\\\"l.loop\\\": \\\"↫\\\",\\n\\t\\t\\t\\\"l.not\\\": \\\"↚\\\",\\n\\t\\t\\t\\\"l.quad\\\": \\\"⭅\\\",\\n\\t\\t\\t\\\"l.squiggly\\\": \\\"⇜\\\",\\n\\t\\t\\t\\\"l.stop\\\": \\\"⇤\\\",\\n\\t\\t\\t\\\"l.stroked\\\": \\\"⇦\\\",\\n\\t\\t\\t\\\"l.struck\\\": \\\"⇷\\\",\\n\\t\\t\\t\\\"l.dstruck\\\": \\\"⇺\\\",\\n\\t\\t\\t\\\"l.tail\\\": \\\"↢\\\",\\n\\t\\t\\t\\\"l.tail.struck\\\": \\\"⬹\\\",\\n\\t\\t\\t\\\"l.tail.dstruck\\\": \\\"⬺\\\",\\n\\t\\t\\t\\\"l.tilde\\\": \\\"⭉\\\",\\n\\t\\t\\t\\\"l.triple\\\": \\\"⇚\\\",\\n\\t\\t\\t\\\"l.twohead\\\": \\\"↞\\\",\\n\\t\\t\\t\\\"l.twohead.bar\\\": \\\"⬶\\\",\\n\\t\\t\\t\\\"l.twohead.struck\\\": \\\"⬴\\\",\\n\\t\\t\\t\\\"l.twohead.dstruck\\\": \\\"⬵\\\",\\n\\t\\t\\t\\\"l.twohead.tail\\\": \\\"⬻\\\",\\n\\t\\t\\t\\\"l.twohead.tail.struck\\\": \\\"⬼\\\",\\n\\t\\t\\t\\\"l.twohead.tail.dstruck\\\": \\\"⬽\\\",\\n\\t\\t\\t\\\"l.open\\\": \\\"⇽\\\",\\n\\t\\t\\t\\\"l.wave\\\": \\\"↜\\\",\\n\\t\\t\\t\\\"t\\\": \\\"↑\\\",\\n\\t\\t\\t\\\"t.bar\\\": \\\"↥\\\",\\n\\t\\t\\t\\\"t.curve\\\": \\\"⤴︎\\\",\\n\\t\\t\\t\\\"t.turn\\\": \\\"⮍\\\",\\n\\t\\t\\t\\\"t.dashed\\\": \\\"⇡\\\",\\n\\t\\t\\t\\\"t.double\\\": \\\"⇑\\\",\\n\\t\\t\\t\\\"t.filled\\\": \\\"⬆︎\\\",\\n\\t\\t\\t\\\"t.quad\\\": \\\"⟰\\\",\\n\\t\\t\\t\\\"t.stop\\\": \\\"⤒\\\",\\n\\t\\t\\t\\\"t.stroked\\\": \\\"⇧\\\",\\n\\t\\t\\t\\\"t.struck\\\": \\\"⤉\\\",\\n\\t\\t\\t\\\"t.dstruck\\\": \\\"⇞\\\",\\n\\t\\t\\t\\\"t.triple\\\": \\\"⤊\\\",\\n\\t\\t\\t\\\"t.twohead\\\": \\\"↟\\\",\\n\\t\\t\\t\\\"b\\\": \\\"↓\\\",\\n\\t\\t\\t\\\"b.bar\\\": \\\"↧\\\",\\n\\t\\t\\t\\\"b.curve\\\": \\\"⤵︎\\\",\\n\\t\\t\\t\\\"b.turn\\\": \\\"⮏\\\",\\n\\t\\t\\t\\\"b.dashed\\\": \\\"⇣\\\",\\n\\t\\t\\t\\\"b.double\\\": \\\"⇓\\\",\\n\\t\\t\\t\\\"b.filled\\\": \\\"⬇︎\\\",\\n\\t\\t\\t\\\"b.quad\\\": \\\"⟱\\\",\\n\\t\\t\\t\\\"b.stop\\\": \\\"⤓\\\",\\n\\t\\t\\t\\\"b.stroked\\\": \\\"⇩\\\",\\n\\t\\t\\t\\\"b.struck\\\": \\\"⤈\\\",\\n\\t\\t\\t\\\"b.dstruck\\\": \\\"⇟\\\",\\n\\t\\t\\t\\\"b.triple\\\": \\\"⤋\\\",\\n\\t\\t\\t\\\"b.twohead\\\": \\\"↡\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"↔︎\\\",\\n\\t\\t\\t\\\"l.r.double\\\": \\\"⇔\\\",\\n\\t\\t\\t\\\"l.r.double.long\\\": \\\"⟺\\\",\\n\\t\\t\\t\\\"l.r.double.not\\\": \\\"⇎\\\",\\n\\t\\t\\t\\\"l.r.double.struck\\\": \\\"⤄\\\",\\n\\t\\t\\t\\\"l.r.filled\\\": \\\"⬌\\\",\\n\\t\\t\\t\\\"l.r.long\\\": \\\"⟷\\\",\\n\\t\\t\\t\\\"l.r.not\\\": \\\"↮\\\",\\n\\t\\t\\t\\\"l.r.stroked\\\": \\\"⬄\\\",\\n\\t\\t\\t\\\"l.r.struck\\\": \\\"⇹\\\",\\n\\t\\t\\t\\\"l.r.dstruck\\\": \\\"⇼\\\",\\n\\t\\t\\t\\\"l.r.open\\\": \\\"⇿\\\",\\n\\t\\t\\t\\\"l.r.wave\\\": \\\"↭\\\",\\n\\t\\t\\t\\\"t.b\\\": \\\"↕︎\\\",\\n\\t\\t\\t\\\"t.b.double\\\": \\\"⇕\\\",\\n\\t\\t\\t\\\"t.b.filled\\\": \\\"⬍\\\",\\n\\t\\t\\t\\\"t.b.stroked\\\": \\\"⇳\\\",\\n\\t\\t\\t\\\"tr\\\": \\\"↗︎\\\",\\n\\t\\t\\t\\\"tr.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"tr.double\\\": \\\"⇗\\\",\\n\\t\\t\\t\\\"tr.filled\\\": \\\"⬈\\\",\\n\\t\\t\\t\\\"tr.hook\\\": \\\"⤤\\\",\\n\\t\\t\\t\\\"tr.stroked\\\": \\\"⬀\\\",\\n\\t\\t\\t\\\"br\\\": \\\"↘︎\\\",\\n\\t\\t\\t\\\"br.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"br.double\\\": \\\"⇘\\\",\\n\\t\\t\\t\\\"br.filled\\\": \\\"⬊\\\",\\n\\t\\t\\t\\\"br.hook\\\": \\\"⤥\\\",\\n\\t\\t\\t\\\"br.stroked\\\": \\\"⬂\\\",\\n\\t\\t\\t\\\"tl\\\": \\\"↖︎\\\",\\n\\t\\t\\t\\\"tl.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"tl.double\\\": \\\"⇖\\\",\\n\\t\\t\\t\\\"tl.filled\\\": \\\"⬉\\\",\\n\\t\\t\\t\\\"tl.hook\\\": \\\"⤣\\\",\\n\\t\\t\\t\\\"tl.stroked\\\": \\\"⬁\\\",\\n\\t\\t\\t\\\"bl\\\": \\\"↙︎\\\",\\n\\t\\t\\t\\\"bl.bar\\\": \\\"\\\",\\n\\t\\t\\t\\\"bl.double\\\": \\\"⇙\\\",\\n\\t\\t\\t\\\"bl.filled\\\": \\\"⬋\\\",\\n\\t\\t\\t\\\"bl.hook\\\": \\\"⤦\\\",\\n\\t\\t\\t\\\"bl.stroked\\\": \\\"⬃\\\",\\n\\t\\t\\t\\\"tl.br\\\": \\\"⤡\\\",\\n\\t\\t\\t\\\"tr.bl\\\": \\\"⤢\\\",\\n\\t\\t\\t\\\"ccw\\\": \\\"↺\\\",\\n\\t\\t\\t\\\"ccw.half\\\": \\\"↶\\\",\\n\\t\\t\\t\\\"cw\\\": \\\"↻\\\",\\n\\t\\t\\t\\\"cw.half\\\": \\\"↷\\\",\\n\\t\\t\\t\\\"zigzag\\\": \\\"↯\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrows\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"rr\\\": \\\"⇉\\\",\\n\\t\\t\\t\\\"ll\\\": \\\"⇇\\\",\\n\\t\\t\\t\\\"tt\\\": \\\"⇈\\\",\\n\\t\\t\\t\\\"bb\\\": \\\"⇊\\\",\\n\\t\\t\\t\\\"lr\\\": \\\"⇆\\\",\\n\\t\\t\\t\\\"lr.stop\\\": \\\"↹\\\",\\n\\t\\t\\t\\\"rl\\\": \\\"⇄\\\",\\n\\t\\t\\t\\\"rl.long\\\": \\\"\\\",\\n\\t\\t\\t\\\"tb\\\": \\\"⇅\\\",\\n\\t\\t\\t\\\"bt\\\": \\\"⇵\\\",\\n\\t\\t\\t\\\"rrr\\\": \\\"⇶\\\",\\n\\t\\t\\t\\\"lll\\\": \\\"⬱\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"arrowhead\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"t\\\": \\\"⌃\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⌄\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"harpoon\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"rt\\\": \\\"⇀\\\",\\n\\t\\t\\t\\\"rt.bar\\\": \\\"⥛\\\",\\n\\t\\t\\t\\\"rt.stop\\\": \\\"⥓\\\",\\n\\t\\t\\t\\\"rb\\\": \\\"⇁\\\",\\n\\t\\t\\t\\\"rb.bar\\\": \\\"⥟\\\",\\n\\t\\t\\t\\\"rb.stop\\\": \\\"⥗\\\",\\n\\t\\t\\t\\\"lt\\\": \\\"↼\\\",\\n\\t\\t\\t\\\"lt.bar\\\": \\\"⥚\\\",\\n\\t\\t\\t\\\"lt.stop\\\": \\\"⥒\\\",\\n\\t\\t\\t\\\"lb\\\": \\\"↽\\\",\\n\\t\\t\\t\\\"lb.bar\\\": \\\"⥞\\\",\\n\\t\\t\\t\\\"lb.stop\\\": \\\"⥖\\\",\\n\\t\\t\\t\\\"tl\\\": \\\"↿\\\",\\n\\t\\t\\t\\\"tl.bar\\\": \\\"⥠\\\",\\n\\t\\t\\t\\\"tl.stop\\\": \\\"⥘\\\",\\n\\t\\t\\t\\\"tr\\\": \\\"↾\\\",\\n\\t\\t\\t\\\"tr.bar\\\": \\\"⥜\\\",\\n\\t\\t\\t\\\"tr.stop\\\": \\\"⥔\\\",\\n\\t\\t\\t\\\"bl\\\": \\\"⇃\\\",\\n\\t\\t\\t\\\"bl.bar\\\": \\\"⥡\\\",\\n\\t\\t\\t\\\"bl.stop\\\": \\\"⥙\\\",\\n\\t\\t\\t\\\"br\\\": \\\"⇂\\\",\\n\\t\\t\\t\\\"br.bar\\\": \\\"⥝\\\",\\n\\t\\t\\t\\\"br.stop\\\": \\\"⥕\\\",\\n\\t\\t\\t\\\"lt.rt\\\": \\\"⥎\\\",\\n\\t\\t\\t\\\"lb.rb\\\": \\\"⥐\\\",\\n\\t\\t\\t\\\"lb.rt\\\": \\\"⥋\\\",\\n\\t\\t\\t\\\"lt.rb\\\": \\\"⥊\\\",\\n\\t\\t\\t\\\"tl.bl\\\": \\\"⥑\\\",\\n\\t\\t\\t\\\"tr.br\\\": \\\"⥏\\\",\\n\\t\\t\\t\\\"tl.br\\\": \\\"⥍\\\",\\n\\t\\t\\t\\\"tr.bl\\\": \\\"⥌\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"harpoons\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"rtrb\\\": \\\"⥤\\\",\\n\\t\\t\\t\\\"blbr\\\": \\\"⥥\\\",\\n\\t\\t\\t\\\"bltr\\\": \\\"⥯\\\",\\n\\t\\t\\t\\\"lbrb\\\": \\\"⥧\\\",\\n\\t\\t\\t\\\"ltlb\\\": \\\"⥢\\\",\\n\\t\\t\\t\\\"ltrb\\\": \\\"⇋\\\",\\n\\t\\t\\t\\\"ltrt\\\": \\\"⥦\\\",\\n\\t\\t\\t\\\"rblb\\\": \\\"⥩\\\",\\n\\t\\t\\t\\\"rtlb\\\": \\\"⇌\\\",\\n\\t\\t\\t\\\"rtlt\\\": \\\"⥨\\\",\\n\\t\\t\\t\\\"tlbr\\\": \\\"⥮\\\",\\n\\t\\t\\t\\\"tltr\\\": \\\"⥣\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tack\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"r\\\": \\\"⊢\\\",\\n\\t\\t\\t\\\"r.not\\\": \\\"⊬\\\",\\n\\t\\t\\t\\\"r.long\\\": \\\"⟝\\\",\\n\\t\\t\\t\\\"r.short\\\": \\\"⊦\\\",\\n\\t\\t\\t\\\"r.double\\\": \\\"⊨\\\",\\n\\t\\t\\t\\\"rr\\\": \\\"⊨\\\",\\n\\t\\t\\t\\\"r.double.not\\\": \\\"⊭\\\",\\n\\t\\t\\t\\\"rr.not\\\": \\\"⊭\\\",\\n\\t\\t\\t\\\"rrr\\\": \\\"⫢\\\",\\n\\t\\t\\t\\\"l\\\": \\\"⊣\\\",\\n\\t\\t\\t\\\"l.long\\\": \\\"⟞\\\",\\n\\t\\t\\t\\\"l.short\\\": \\\"⫞\\\",\\n\\t\\t\\t\\\"l.double\\\": \\\"⫤\\\",\\n\\t\\t\\t\\\"ll\\\": \\\"⫤\\\",\\n\\t\\t\\t\\\"t\\\": \\\"⊥\\\",\\n\\t\\t\\t\\\"t.big\\\": \\\"⟘\\\",\\n\\t\\t\\t\\\"t.double\\\": \\\"⫫\\\",\\n\\t\\t\\t\\\"tt\\\": \\\"⫫\\\",\\n\\t\\t\\t\\\"t.short\\\": \\\"⫠\\\",\\n\\t\\t\\t\\\"b\\\": \\\"⊤\\\",\\n\\t\\t\\t\\\"b.big\\\": \\\"⟙\\\",\\n\\t\\t\\t\\\"b.double\\\": \\\"⫪\\\",\\n\\t\\t\\t\\\"bb\\\": \\\"⫪\\\",\\n\\t\\t\\t\\\"b.short\\\": \\\"⫟\\\",\\n\\t\\t\\t\\\"l.r\\\": \\\"⟛\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"zero\\\": [\\n\\t\\t\\\"0︎\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"slashed\\\": \\\"0︀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"alpha\\\": \\\"α\\\",\\n\\t\\\"beta\\\": [\\n\\t\\t\\\"β\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϐ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"chi\\\": \\\"χ\\\",\\n\\t\\\"delta\\\": \\\"δ\\\",\\n\\t\\\"digamma\\\": \\\"ϝ\\\",\\n\\t\\\"epsilon\\\": [\\n\\t\\t\\\"ε\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϵ\\\",\\n\\t\\t\\t\\\"alt.rev\\\": \\\"϶\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"eta\\\": \\\"η\\\",\\n\\t\\\"gamma\\\": \\\"γ\\\",\\n\\t\\\"iota\\\": [\\n\\t\\t\\\"ι\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"℩\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"kappa\\\": [\\n\\t\\t\\\"κ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϰ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"lambda\\\": \\\"λ\\\",\\n\\t\\\"mu\\\": \\\"μ\\\",\\n\\t\\\"nu\\\": \\\"ν\\\",\\n\\t\\\"omega\\\": \\\"ω\\\",\\n\\t\\\"omicron\\\": \\\"ο\\\",\\n\\t\\\"phi\\\": [\\n\\t\\t\\\"φ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϕ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"pi\\\": [\\n\\t\\t\\\"π\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϖ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"psi\\\": \\\"ψ\\\",\\n\\t\\\"rho\\\": [\\n\\t\\t\\\"ρ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϱ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"sigma\\\": [\\n\\t\\t\\\"σ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ς\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"tau\\\": \\\"τ\\\",\\n\\t\\\"theta\\\": [\\n\\t\\t\\\"θ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϑ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"upsilon\\\": \\\"υ\\\",\\n\\t\\\"xi\\\": \\\"ξ\\\",\\n\\t\\\"zeta\\\": \\\"ζ\\\",\\n\\t\\\"Alpha\\\": \\\"Α\\\",\\n\\t\\\"Beta\\\": \\\"Β\\\",\\n\\t\\\"Chi\\\": \\\"Χ\\\",\\n\\t\\\"Delta\\\": \\\"Δ\\\",\\n\\t\\\"Digamma\\\": \\\"Ϝ\\\",\\n\\t\\\"Epsilon\\\": \\\"Ε\\\",\\n\\t\\\"Eta\\\": \\\"Η\\\",\\n\\t\\\"Gamma\\\": \\\"Γ\\\",\\n\\t\\\"Iota\\\": \\\"Ι\\\",\\n\\t\\\"Kappa\\\": \\\"Κ\\\",\\n\\t\\\"Lambda\\\": \\\"Λ\\\",\\n\\t\\\"Mu\\\": \\\"Μ\\\",\\n\\t\\\"Nu\\\": \\\"Ν\\\",\\n\\t\\\"Omega\\\": [\\n\\t\\t\\\"Ω\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"inv\\\": \\\"℧\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"Omicron\\\": \\\"Ο\\\",\\n\\t\\\"Phi\\\": \\\"Φ\\\",\\n\\t\\\"Pi\\\": \\\"Π\\\",\\n\\t\\\"Psi\\\": \\\"Ψ\\\",\\n\\t\\\"Rho\\\": \\\"Ρ\\\",\\n\\t\\\"Sigma\\\": \\\"Σ\\\",\\n\\t\\\"Tau\\\": \\\"Τ\\\",\\n\\t\\\"Theta\\\": [\\n\\t\\t\\\"Θ\\\",\\n\\t\\t{\\n\\t\\t\\t\\\"alt\\\": \\\"ϴ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"Upsilon\\\": \\\"Υ\\\",\\n\\t\\\"Xi\\\": \\\"Ξ\\\",\\n\\t\\\"Zeta\\\": \\\"Ζ\\\",\\n\\t\\\"sha\\\": \\\"ш\\\",\\n\\t\\\"Sha\\\": \\\"Ш\\\",\\n\\t\\\"aleph\\\": \\\"א\\\",\\n\\t\\\"beth\\\": \\\"ב\\\",\\n\\t\\\"gimel\\\": \\\"ג\\\",\\n\\t\\\"daleth\\\": \\\"ד\\\",\\n\\t\\\"AA\\\": \\\"𝔸\\\",\\n\\t\\\"BB\\\": \\\"𝔹\\\",\\n\\t\\\"CC\\\": \\\"ℂ\\\",\\n\\t\\\"DD\\\": \\\"𝔻\\\",\\n\\t\\\"EE\\\": \\\"𝔼\\\",\\n\\t\\\"FF\\\": \\\"𝔽\\\",\\n\\t\\\"GG\\\": \\\"𝔾\\\",\\n\\t\\\"HH\\\": \\\"ℍ\\\",\\n\\t\\\"II\\\": \\\"𝕀\\\",\\n\\t\\\"JJ\\\": \\\"𝕁\\\",\\n\\t\\\"KK\\\": \\\"𝕂\\\",\\n\\t\\\"LL\\\": \\\"𝕃\\\",\\n\\t\\\"MM\\\": \\\"𝕄\\\",\\n\\t\\\"NN\\\": \\\"ℕ\\\",\\n\\t\\\"OO\\\": \\\"𝕆\\\",\\n\\t\\\"PP\\\": \\\"ℙ\\\",\\n\\t\\\"QQ\\\": \\\"ℚ\\\",\\n\\t\\\"RR\\\": \\\"ℝ\\\",\\n\\t\\\"SS\\\": \\\"𝕊\\\",\\n\\t\\\"TT\\\": \\\"𝕋\\\",\\n\\t\\\"UU\\\": \\\"𝕌\\\",\\n\\t\\\"VV\\\": \\\"𝕍\\\",\\n\\t\\\"WW\\\": \\\"𝕎\\\",\\n\\t\\\"XX\\\": \\\"𝕏\\\",\\n\\t\\\"YY\\\": \\\"𝕐\\\",\\n\\t\\\"ZZ\\\": \\\"ℤ\\\",\\n\\t\\\"angstrom\\\": \\\"Å\\\",\\n\\t\\\"ell\\\": \\\"ℓ\\\",\\n\\t\\\"pee\\\": \\\"℘\\\",\\n\\t\\\"planck\\\": \\\"ħ\\\",\\n\\t\\\"Re\\\": \\\"ℜ\\\",\\n\\t\\\"Im\\\": \\\"ℑ\\\",\\n\\t\\\"dotless\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"i\\\": \\\"ı\\\",\\n\\t\\t\\t\\\"j\\\": \\\"ȷ\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"die\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"six\\\": \\\"⚅\\\",\\n\\t\\t\\t\\\"five\\\": \\\"⚄\\\",\\n\\t\\t\\t\\\"four\\\": \\\"⚃\\\",\\n\\t\\t\\t\\\"three\\\": \\\"⚂\\\",\\n\\t\\t\\t\\\"two\\\": \\\"⚁\\\",\\n\\t\\t\\t\\\"one\\\": \\\"⚀\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"errorbar\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"square.stroked\\\": \\\"⧮\\\",\\n\\t\\t\\t\\\"square.filled\\\": \\\"⧯\\\",\\n\\t\\t\\t\\\"diamond.stroked\\\": \\\"⧰\\\",\\n\\t\\t\\t\\\"diamond.filled\\\": \\\"⧱\\\",\\n\\t\\t\\t\\\"circle.stroked\\\": \\\"⧲\\\",\\n\\t\\t\\t\\\"circle.filled\\\": \\\"⧳\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"spacebar\\\": \\\"␣\\\",\\n\\t\\\"gender\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"female\\\": \\\"♀︎\\\",\\n\\t\\t\\t\\\"female.double\\\": \\\"⚢\\\",\\n\\t\\t\\t\\\"female.male\\\": \\\"⚤\\\",\\n\\t\\t\\t\\\"intersex\\\": \\\"⚥\\\",\\n\\t\\t\\t\\\"male\\\": \\\"♂︎\\\",\\n\\t\\t\\t\\\"male.double\\\": \\\"⚣\\\",\\n\\t\\t\\t\\\"male.female\\\": \\\"⚤\\\",\\n\\t\\t\\t\\\"male.stroke\\\": \\\"⚦\\\",\\n\\t\\t\\t\\\"male.stroke.t\\\": \\\"⚨\\\",\\n\\t\\t\\t\\\"male.stroke.r\\\": \\\"⚩\\\",\\n\\t\\t\\t\\\"neuter\\\": \\\"⚲\\\",\\n\\t\\t\\t\\\"trans\\\": \\\"⚧︎\\\"\\n\\t\\t}\\n\\t],\\n\\t\\\"control\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"nul\\\": \\\"␀\\\",\\n\\t\\t\\t\\\"soh\\\": \\\"␁\\\",\\n\\t\\t\\t\\\"stx\\\": \\\"␂\\\",\\n\\t\\t\\t\\\"etx\\\": \\\"␃\\\",\\n\\t\\t\\t\\\"eot\\\": \\\"␄\\\",\\n\\t\\t\\t\\\"enq\\\": \\\"␅\\\",\\n\\t\\t\\t\\\"ack\\\": \\\"␆\\\",\\n\\t\\t\\t\\\"bel\\\": \\\"␇\\\",\\n\\t\\t\\t\\\"bs\\\": \\\"␈\\\",\\n\\t\\t\\t\\\"ht\\\": \\\"␉\\\",\\n\\t\\t\\t\\\"lf\\\": \\\"␊\\\",\\n\\t\\t\\t\\\"vt\\\": \\\"␋\\\",\\n\\t\\t\\t\\\"ff\\\": \\\"␌\\\",\\n\\t\\t\\t\\\"cr\\\": \\\"␍\\\",\\n\\t\\t\\t\\\"so\\\": \\\"␎\\\",\\n\\t\\t\\t\\\"si\\\": \\\"␏\\\",\\n\\t\\t\\t\\\"dle\\\": \\\"␐\\\",\\n\\t\\t\\t\\\"dc.one\\\": \\\"␑\\\",\\n\\t\\t\\t\\\"dc.two\\\": \\\"␒\\\",\\n\\t\\t\\t\\\"dc.three\\\": \\\"␓\\\",\\n\\t\\t\\t\\\"dc.four\\\": \\\"␔\\\",\\n\\t\\t\\t\\\"nak\\\": \\\"␕\\\",\\n\\t\\t\\t\\\"syn\\\": \\\"␖\\\",\\n\\t\\t\\t\\\"etb\\\": \\\"␗\\\",\\n\\t\\t\\t\\\"can\\\": \\\"␘\\\",\\n\\t\\t\\t\\\"em\\\": \\\"␙\\\",\\n\\t\\t\\t\\\"sub\\\": \\\"␚\\\",\\n\\t\\t\\t\\\"esc\\\": \\\"␛\\\",\\n\\t\\t\\t\\\"fs\\\": \\\"␜\\\",\\n\\t\\t\\t\\\"gs\\\": \\\"␝\\\",\\n\\t\\t\\t\\\"rs\\\": \\\"␞\\\",\\n\\t\\t\\t\\\"us\\\": \\\"␟\\\",\\n\\t\\t\\t\\\"sp\\\": \\\"␠\\\",\\n\\t\\t\\t\\\"del\\\": \\\"␡\\\",\\n\\t\\t\\t\\\"nl\\\": \\\"\\\"\\n\\t\\t}\\n\\t]\\n}\\n\"","// 归一化阶段:分词树(ast)之后的语义处理,全部为纯数据操作,不依赖 DOM。\nimport type { tree, vtype } from \"./ast.js\";\nimport emoji from \"./emoji.json?raw\";\nimport symbols from \"./symbols.json?raw\";\n\ntype fdic = { [id: string]: tree };\n\n/** @see https://github.com/typst/codex/blob/v0.3.0/src/modules/sym.txt (typst v0.15.1) */\nconst s = JSON.parse(symbols);\n\n// symbols路径简写\nfunction simple_dot(s: any) {\n\tconst ss: { [id: string]: string } = {};\n\tfor (const i in s) {\n\t\tif (typeof s[i] === \"string\") {\n\t\t\tss[i] = s[i];\n\t\t} else {\n\t\t\tfor (const objOrStr of s[i]) {\n\t\t\t\t// 第二层的array\n\t\t\t\tif (typeof objOrStr === \"string\") {\n\t\t\t\t\tss[i] = objOrStr;\n\t\t\t\t} else {\n\t\t\t\t\tif (!ss[i]) ss[i] = objOrStr[Object.keys(objOrStr)[0]];\n\t\t\t\t\tfor (const j in objOrStr) {\n\t\t\t\t\t\t// 第三层的obj\n\t\t\t\t\t\tss[`${i}.${j}`] = objOrStr[j];\n\t\t\t\t\t\t// 允许部分索引,但要保证唯一\n\t\t\t\t\t\tconst l = j.split(\".\");\n\t\t\t\t\t\tfor (let n = 1; n < l.length; n++) {\n\t\t\t\t\t\t\tconst shotKey = l.slice(0, n).join(\".\");\n\t\t\t\t\t\t\tif (!objOrStr[shotKey]) {\n\t\t\t\t\t\t\t\tss[`${i}.${shotKey}`] = objOrStr[j];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn ss;\n}\nconst ss = simple_dot(s);\n\n/** @see https://github.com/typst/codex/blob/v0.3.0/src/modules/emoji.txt (typst v0.15.1) */\nconst emojix = simple_dot(JSON.parse(emoji));\n\nconst shorthand = {\n\t\"->\": \"arrow.r\",\n\t\"|->\": \"arrow.r.bar\",\n\t\"=>\": \"arrow.r.double\",\n\t\"|=>\": \"arrow.r.double.bar\",\n\t\"==>\": \"arrow.r.double.long\",\n\t\"-->\": \"arrow.r.long\",\n\t\"~~>\": \"arrow.r.long.squiggly\",\n\t\"~>\": \"arrow.r.squiggly\",\n\t\">->\": \"arrow.r.tail\",\n\t\"->>\": \"arrow.r.twohead\",\n\t\"<-\": \"arrow.l\",\n\t\"<==\": \"arrow.l.double.long\",\n\t\"<--\": \"arrow.l.long\",\n\t\"<~~\": \"arrow.l.long.squiggly\",\n\t\"<~\": \"arrow.l.squiggly\",\n\t\"<-<\": \"arrow.l.tail\",\n\t\"<<-\": \"arrow.l.twohead\",\n\t\"<->\": \"arrow.l.r\",\n\t\"<=>\": \"arrow.l.r.double\",\n\t\"<==>\": \"arrow.l.r.double.long\",\n\t\"<-->\": \"arrow.l.r.long\",\n\t\"*\": \"convolve\",\n\t\"||\": \"bar.v.double\",\n\t\"[|\": \"bracket.l.stroked\",\n\t\"|]\": \"bracket.r.stroked\",\n\t\":=\": \"colon.eq\",\n\t\"::=\": \"colon.double.eq\",\n\t\"--\": \"dash.en\",\n\t\"---\": \"dash.em\",\n\t\"...\": \"dots.h\",\n\t\"=:\": \"eq.colon\",\n\t\"!=\": \"eq.not\",\n\t\">>\": \"gt.double\",\n\t\">=\": \"gt.eq\",\n\t\">>>\": \"gt.triple\",\n\t\"-?\": \"hyph.soft\",\n\t\"<<\": \"lt.double\",\n\t\"<=\": \"lt.eq\",\n\t\"<<<\": \"lt.triple\",\n\t\"-\": \"minus\",\n\t\"'\": \"prime\",\n\t\"~\": \"space.nobreak\",\n};\nlet max_shorthand_len = 0;\nfor (const i in shorthand) {\n\tif (i.length > max_shorthand_len) {\n\t\tmax_shorthand_len = i.length;\n\t}\n}\n\n// 直接跟参数的符号(分词归一化用;渲染实现见 main 的 ff,需与这里的键保持一致)\nconst direct_arg_sy = [\"√\", \"∛\", \"∜\"];\n\nconst opl: { id: string; str?: string; limits?: boolean }[] = [\n\t{ id: \"arccos\" },\n\t{ id: \"arcsin\" },\n\t{ id: \"arctan\" },\n\t{ id: \"arg\" },\n\t{ id: \"cos\" },\n\t{ id: \"cosh\" },\n\t{ id: \"cot\" },\n\t{ id: \"ctg\" },\n\t{ id: \"coth\" },\n\t{ id: \"csc\" },\n\t{ id: \"csch\" },\n\t{ id: \"deg\" },\n\t{ id: \"det\", limits: true },\n\t{ id: \"dim\" },\n\t{ id: \"exp\" },\n\t{ id: \"gcd\", limits: true },\n\t{ id: \"hom\" },\n\t{ id: \"mod\" },\n\t{ id: \"id\" },\n\t{ id: \"im\" },\n\t{ id: \"inf\", limits: true },\n\t{ id: \"ker\" },\n\t{ id: \"lg\" },\n\t{ id: \"lim\", limits: true },\n\t{ id: \"ln\" },\n\t{ id: \"log\" },\n\t{ id: \"max\", limits: true },\n\t{ id: \"min\", limits: true },\n\t{ id: \"Pr\", limits: true },\n\t{ id: \"sec\" },\n\t{ id: \"sech\" },\n\t{ id: \"sin\" },\n\t{ id: \"sinc\" },\n\t{ id: \"sinh\" },\n\t{ id: \"sup\", limits: true },\n\t{ id: \"tan\" },\n\t{ id: \"tg\" },\n\t{ id: \"tr\" },\n\t{ id: \"tanh\" },\n\t{ id: \"liminf\", str: \"lim inf\", limits: true },\n\t{ id: \"limsup\", str: \"lim sup\", limits: true },\n\t{ id: \"dif\", str: \"d\" },\n\t{ id: \"Dif\", str: \"D\" },\n];\n\nconst limits_f = [];\n\n// 官方核对(typst v0.11.1;语法解析一律以 0.11.1 为准):\n// 依据 typst v0.11.1 `crates/typst/src/math/attach.rs::Limits::for_char` —— 底座字符的 Unicode\n// 数学类为 Relation 时 `Limits::Always`(`_`/`^` 落正上/正下,与 display 无关);Large 类为\n// `Limits::Display`(积分特例 Never);其余一律 scripts。类表即 v0.11.1 Cargo.lock 锁定的\n// unicode-math-class 0.1.0(Unicode MathClass-15.txt,REVISION 15)。\n// 注意:typst 会在 fragment.rs::Glyph::with_id 里把 ':' 特例成 Relation、把 '⋯'/'⋮'/'⋱'/'⋰' 特例成\n// Normal,但那只改间距用的 class;limits 查的是 for_char 里未经特例的原始类,故 ':' 仍走 scripts。\n// 实测核对(2026-10-05):rel_names ∪ 官方全部 Relation 名共 426 个字符,用 v0.11.1 二进制\n// `measure()` 量帧宽差 —— limits 取 max(底座, 附着) 宽、scripts 另加 space_after_script,\n// 故 d = a - w - wref 在 limits 时 ≈ -(w+space) < -w/2、scripts 时 ≈ 0;实测 425 个 Relation 全走\n// limits(ratio ≥ 2.07)、唯一非 Relation 的 ':' 全走 scripts(ratio 0.00),与类表 100% 吻合。\n// 据此修正:移除误写的 `colon`,补入 22 项漏写的官方 Relation(bag*/bot/bowtie/dots*/\n// harpoon(s)/mustache*/or.dot/parallel.slanted/prec.curly/succ.curly/tack/tack.t/tilde)。\n// `arrow.*` 官方同为 Relation,但由下面 is_limit 的前缀规则覆盖,不在此列;\n// `arrows.*` 前缀不同(split('.')[0] 是 \"arrows\"),必须靠本表生效。\n// 版本敏感:同一探针在 typst 0.15.1 上已漂移 11 个字符 —— `:` 由 scripts 翻成 limits、\n// ⟆⊥⋯⋱⋰⋮⎱⟇(8 个)由 limits 翻成 scripts、⟅⎰ 直接禁止附角标;故升级 typst 属\"版本升级任务\",\n// 必须用新版本二进制重跑核对;平时 symbols.json 随 0.15.1 增长,本表判定仍按 0.11.1。\n// 本表按 名称 -> 字符 -> 官方类 三段判定,名称集来自 symbols.json(codex v0.15.1),\n// 上游新增 Relation 名时需同步补入本表。\nconst rel_names = new Set([\n\t\"angle.azimuth\",\n\t\"angzarr\",\n\t\"approx\",\n\t\"approx.eq\",\n\t\"approx.hat\",\n\t\"approx.not\",\n\t\"arrows.bb\",\n\t\"arrows.bt\",\n\t\"arrows.ll\",\n\t\"arrows.lll\",\n\t\"arrows.lr\",\n\t\"arrows.rl\",\n\t\"arrows.rr\",\n\t\"arrows.rrr\",\n\t\"arrows.tb\",\n\t\"arrows.tt\",\n\t\"asymp\",\n\t\"asymp.not\",\n\t\"bag\",\n\t\"bag.l\",\n\t\"bag.r\",\n\t\"because\",\n\t\"bot\",\n\t\"bowtie\",\n\t\"bowtie.filled\",\n\t\"bowtie.filled.l\",\n\t\"bowtie.filled.r\",\n\t\"bowtie.stroked\",\n\t\"colon.double\",\n\t\"colon.double.eq\",\n\t\"colon.eq\",\n\t\"dagger\",\n\t\"dagger.double\",\n\t\"dash.colon\",\n\t\"divides\",\n\t\"divides.not\",\n\t\"divides.not.rev\",\n\t\"divides.struck\",\n\t\"dots\",\n\t\"dots.down\",\n\t\"dots.h.c\",\n\t\"dots.up\",\n\t\"dots.v\",\n\t\"eq\",\n\t\"eq.ast\",\n\t\"eq.colon\",\n\t\"eq.def\",\n\t\"eq.delta\",\n\t\"eq.dot\",\n\t\"eq.dots\",\n\t\"eq.dots.down\",\n\t\"eq.dots.up\",\n\t\"eq.equi\",\n\t\"eq.est\",\n\t\"eq.gt\",\n\t\"eq.lt\",\n\t\"eq.m\",\n\t\"eq.not\",\n\t\"eq.prec\",\n\t\"eq.quad\",\n\t\"eq.quest\",\n\t\"eq.star\",\n\t\"eq.succ\",\n\t\"eq.triple\",\n\t\"eq.triple.not\",\n\t\"equiv\",\n\t\"equiv.not\",\n\t\"forces\",\n\t\"forces.not\",\n\t\"frown\",\n\t\"gt\",\n\t\"gt.approx\",\n\t\"gt.arc\",\n\t\"gt.arc.eq\",\n\t\"gt.closed\",\n\t\"gt.closed.eq\",\n\t\"gt.closed.eq.not\",\n\t\"gt.closed.not\",\n\t\"gt.dot\",\n\t\"gt.double\",\n\t\"gt.double.nested\",\n\t\"gt.eq\",\n\t\"gt.eq.lt\",\n\t\"gt.eq.not\",\n\t\"gt.eq.slant\",\n\t\"gt.equiv\",\n\t\"gt.lt\",\n\t\"gt.lt.not\",\n\t\"gt.napprox\",\n\t\"gt.neq\",\n\t\"gt.nequiv\",\n\t\"gt.not\",\n\t\"gt.ntilde\",\n\t\"gt.quest\",\n\t\"gt.tilde\",\n\t\"gt.tilde.not\",\n\t\"gt.tri\",\n\t\"gt.tri.eq\",\n\t\"gt.tri.eq.not\",\n\t\"gt.tri.not\",\n\t\"gt.triple\",\n\t\"gt.triple.nested\",\n\t\"harpoon\",\n\t\"harpoon.bl\",\n\t\"harpoon.bl.bar\",\n\t\"harpoon.bl.stop\",\n\t\"harpoon.br\",\n\t\"harpoon.br.bar\",\n\t\"harpoon.br.stop\",\n\t\"harpoon.lb\",\n\t\"harpoon.lb.bar\",\n\t\"harpoon.lb.rb\",\n\t\"harpoon.lb.rt\",\n\t\"harpoon.lb.stop\",\n\t\"harpoon.lt\",\n\t\"harpoon.lt.bar\",\n\t\"harpoon.lt.rb\",\n\t\"harpoon.lt.rt\",\n\t\"harpoon.lt.stop\",\n\t\"harpoon.rb\",\n\t\"harpoon.rb.bar\",\n\t\"harpoon.rb.stop\",\n\t\"harpoon.rt\",\n\t\"harpoon.rt.bar\",\n\t\"harpoon.rt.stop\",\n\t\"harpoon.tl\",\n\t\"harpoon.tl.bar\",\n\t\"harpoon.tl.bl\",\n\t\"harpoon.tl.br\",\n\t\"harpoon.tl.stop\",\n\t\"harpoon.tr\",\n\t\"harpoon.tr.bar\",\n\t\"harpoon.tr.bl\",\n\t\"harpoon.tr.br\",\n\t\"harpoon.tr.stop\",\n\t\"harpoons\",\n\t\"harpoons.blbr\",\n\t\"harpoons.bltr\",\n\t\"harpoons.lbrb\",\n\t\"harpoons.ltlb\",\n\t\"harpoons.ltrb\",\n\t\"harpoons.ltrt\",\n\t\"harpoons.rblb\",\n\t\"harpoons.rtlb\",\n\t\"harpoons.rtlt\",\n\t\"harpoons.rtrb\",\n\t\"harpoons.tlbr\",\n\t\"harpoons.tltr\",\n\t\"image\",\n\t\"in\",\n\t\"in.not\",\n\t\"in.rev\",\n\t\"in.rev.not\",\n\t\"in.rev.small\",\n\t\"in.small\",\n\t\"lat\",\n\t\"lat.eq\",\n\t\"lt\",\n\t\"lt.approx\",\n\t\"lt.arc\",\n\t\"lt.arc.eq\",\n\t\"lt.closed\",\n\t\"lt.closed.eq\",\n\t\"lt.closed.eq.not\",\n\t\"lt.closed.not\",\n\t\"lt.dot\",\n\t\"lt.double\",\n\t\"lt.double.nested\",\n\t\"lt.eq\",\n\t\"lt.eq.gt\",\n\t\"lt.eq.not\",\n\t\"lt.eq.slant\",\n\t\"lt.equiv\",\n\t\"lt.gt\",\n\t\"lt.gt.not\",\n\t\"lt.napprox\",\n\t\"lt.neq\",\n\t\"lt.nequiv\",\n\t\"lt.not\",\n\t\"lt.ntilde\",\n\t\"lt.quest\",\n\t\"lt.tilde\",\n\t\"lt.tilde.not\",\n\t\"lt.tri\",\n\t\"lt.tri.eq\",\n\t\"lt.tri.eq.not\",\n\t\"lt.tri.not\",\n\t\"lt.triple\",\n\t\"lt.triple.nested\",\n\t\"mapsfrom\",\n\t\"mapsfrom.long\",\n\t\"mapsto\",\n\t\"mapsto.long\",\n\t\"minus.tilde\",\n\t\"models\",\n\t\"multimap\",\n\t\"multimap.double\",\n\t\"mustache\",\n\t\"mustache.l\",\n\t\"mustache.r\",\n\t\"or.dot\",\n\t\"original\",\n\t\"parallel\",\n\t\"parallel.eq\",\n\t\"parallel.equiv\",\n\t\"parallel.not\",\n\t\"parallel.slanted\",\n\t\"parallel.slanted.eq\",\n\t\"parallel.slanted.eq.tilde\",\n\t\"parallel.slanted.equiv\",\n\t\"parallel.struck\",\n\t\"parallel.tilde\",\n\t\"perp\",\n\t\"plus.o.arrow\",\n\t\"prec\",\n\t\"prec.approx\",\n\t\"prec.curly\",\n\t\"prec.curly.eq\",\n\t\"prec.curly.eq.not\",\n\t\"prec.double\",\n\t\"prec.eq\",\n\t\"prec.equiv\",\n\t\"prec.napprox\",\n\t\"prec.neq\",\n\t\"prec.nequiv\",\n\t\"prec.not\",\n\t\"prec.ntilde\",\n\t\"prec.tilde\",\n\t\"prop\",\n\t\"ratio\",\n\t\"semi.rev\",\n\t\"smile\",\n\t\"smt\",\n\t\"smt.eq\",\n\t\"subset\",\n\t\"subset.approx\",\n\t\"subset.closed\",\n\t\"subset.closed.eq\",\n\t\"subset.dot\",\n\t\"subset.double\",\n\t\"subset.eq\",\n\t\"subset.eq.dot\",\n\t\"subset.eq.not\",\n\t\"subset.eq.sq\",\n\t\"subset.eq.sq.not\",\n\t\"subset.equiv\",\n\t\"subset.neq\",\n\t\"subset.nequiv\",\n\t\"subset.not\",\n\t\"subset.plus\",\n\t\"subset.sq\",\n\t\"subset.sq.neq\",\n\t\"subset.tilde\",\n\t\"subset.times\",\n\t\"succ\",\n\t\"succ.approx\",\n\t\"succ.curly\",\n\t\"succ.curly.eq\",\n\t\"succ.curly.eq.not\",\n\t\"succ.double\",\n\t\"succ.eq\",\n\t\"succ.equiv\",\n\t\"succ.napprox\",\n\t\"succ.neq\",\n\t\"succ.nequiv\",\n\t\"succ.not\",\n\t\"succ.ntilde\",\n\t\"succ.tilde\",\n\t\"supset\",\n\t\"supset.approx\",\n\t\"supset.closed\",\n\t\"supset.closed.eq\",\n\t\"supset.dot\",\n\t\"supset.double\",\n\t\"supset.eq\",\n\t\"supset.eq.dot\",\n\t\"supset.eq.not\",\n\t\"supset.eq.sq\",\n\t\"supset.eq.sq.not\",\n\t\"supset.equiv\",\n\t\"supset.neq\",\n\t\"supset.nequiv\",\n\t\"supset.not\",\n\t\"supset.plus\",\n\t\"supset.sq\",\n\t\"supset.sq.neq\",\n\t\"supset.tilde\",\n\t\"supset.times\",\n\t\"tack\",\n\t\"tack.b.double\",\n\t\"tack.b.short\",\n\t\"tack.bb\",\n\t\"tack.l\",\n\t\"tack.l.double\",\n\t\"tack.l.long\",\n\t\"tack.l.r\",\n\t\"tack.l.short\",\n\t\"tack.ll\",\n\t\"tack.r\",\n\t\"tack.r.double\",\n\t\"tack.r.double.not\",\n\t\"tack.r.long\",\n\t\"tack.r.not\",\n\t\"tack.r.short\",\n\t\"tack.rr\",\n\t\"tack.rr.not\",\n\t\"tack.rrr\",\n\t\"tack.t\",\n\t\"tack.t.double\",\n\t\"tack.t.short\",\n\t\"tack.tt\",\n\t\"therefore\",\n\t\"tilde\",\n\t\"tilde.dot\",\n\t\"tilde.eq\",\n\t\"tilde.eq.not\",\n\t\"tilde.eq.rev\",\n\t\"tilde.equiv\",\n\t\"tilde.equiv.not\",\n\t\"tilde.nequiv\",\n\t\"tilde.not\",\n\t\"tilde.op\",\n\t\"tilde.rev\",\n\t\"tilde.rev.equiv\",\n\t\"tilde.triple\",\n]);\n// 大算符:0.11.1 实测 inline 走角标、block(display) 才走上下\nconst limits_sy = [\n\t// 大算符:0.11.1 实测 inline 走角标、block(display) 才走上下\n\t\"∏\",\n\t\"∐\",\n\t\"∑\",\n\t\"⋀\",\n\t\"⋁\",\n\t\"⋂\",\n\t\"⋃\",\n\t\"⟕\",\n\t\"⟖\",\n\t\"⟗\",\n\t\"⧸\",\n\t\"⨀\",\n\t\"⨁\",\n\t\"⨂\",\n\t\"⨃\",\n\t\"⨄\",\n\t\"⨅\",\n\t\"⨆\",\n\t\"⨉\",\n\t\"⨝\",\n\t\"⨼\",\n\t\"⟘\",\n\t\"⨊\",\n];\nfor (const i in ss) {\n\tfor (const j of limits_sy) {\n\t\tif (ss[i] === j) {\n\t\t\tlimits_f.push(i);\n\t\t}\n\t}\n}\n\nfunction out_kh(x: tree[0]) {\n\tif (x.type === \"group\") {\n\t\tif (x.kh === \"()\") return x.children;\n\t\telse return [x];\n\t} else {\n\t\treturn [x];\n\t}\n}\n\nfunction transfer_kh(list: tree) {\n\t// 未闭合组(kh 只有开括号)原样保留:由 render 的 group 分支只画开括号,\n\t// 这里补 v_f(kh[1]) 会造出 value=undefined 的假右括号。\n\tif (list.length === 1 && list[0].type === \"group\" && list[0].kh.length > 1)\n\t\tlist = [v_f(list[0].kh[0]), ...list[0].children, v_f(list[0].kh[1])];\n\treturn list;\n}\n\nfunction in_kh(x: tree) {\n\tconst k: tree = [{ type: \"group\", value: \"\", children: x, kh: \"()\" }];\n\treturn k;\n}\n\nfunction is_sup(x: tree[0]) {\n\treturn eqq(x, { type: \"v\", value: \"^\" });\n}\n\nfunction is_sub(x: tree[0]) {\n\treturn eqq(x, { type: \"v\", value: \"_\" });\n}\n\nfunction is_frac(x: tree[0]) {\n\treturn eqq(x, { type: \"v\", value: \"/\" });\n}\n\nfunction is_br(x: tree[0]) {\n\treturn x && x.value === \"br\" && x.esc;\n}\n\nconst rel_sy = new Set<string>();\n{\n\tconst taken = new Set<string>();\n\tfor (const k in ss) {\n\t\tconst v = ss[k];\n\t\tif (!rel_names.has(k)) {\n\t\t\tif (rel_sy.has(v)) taken.add(v); // 角标类符号抢占了关系类的字形\n\t\t\tcontinue;\n\t\t}\n\t\trel_sy.add(v);\n\t}\n\tfor (const c of taken) rel_sy.delete(c);\n}\n\n// display/inline 是整条公式的属性,不是单个节点的:由 toMMLV 在渲染前设置一次,\n// 嵌套子树(如 lr(sum_1^2) 里的 sum)自动继承,无需把标志穿过 40 个 render 调用点。\nlet display = true;\nexport function setDisplay(d: boolean) {\n\tdisplay = d;\n}\n\nexport function isDisplay() {\n\treturn display;\n}\n\nfunction is_limit(tree: tree) {\n\tif (tree.length === 1) {\n\t\tconst x = tree[0];\n\t\tif (x.type === \"f\") {\n\t\t\t// 只有裸符号才算子;`tilde(x)` 这类调用里 x.value 同名但不是运算符本体\n\t\t\tif (!x.children || x.children.length === 0) {\n\t\t\t\tif (rel_names.has(x.value)) return true;\n\t\t\t\tif (limits_f.includes(x.value)) return display;\n\t\t\t\tif (x.value.split(\".\").at(0) === \"arrow\") return true;\n\t\t\t\tfor (const i of opl) {\n\t\t\t\t\tif (i.limits && x.value === i.id) return display;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (x.value === \"scripts\") return false;\n\t\t\tif (x.value === \"limits\") return true;\n\t\t\tif (x.value === \"op\") {\n\t\t\t\tconst { dic } = f_attr(x);\n\t\t\t\treturn is_true(dic.limits) && display;\n\t\t\t}\n\t\t}\n\t\tif (x.type === \"v\") {\n\t\t\tif (rel_sy.has(x.value)) return true;\n\t\t\tif (limits_sy.includes(x.value)) return display;\n\t\t}\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction is_dot(x: tree[0]) {\n\treturn eq(x, { type: \"v\", value: \".\" });\n}\n\nfunction is_dot_f(x: tree[0]) {\n\treturn x && (x.type === \"f\" || (x.type === \"v\" && x.value.match(/[a-z]/)));\n}\n\nfunction is_factorial(x: tree[0]) {\n\treturn x && x.type === \"v\" && x.value === \"!\" && !x.esc;\n}\n\nconst dh: tree[0] = { type: \"v\", value: \",\" };\n\nfunction v_f(str: string): tree[0] {\n\treturn { type: \"v\", value: str };\n}\n\nfunction eq(x0: tree[0], x1: tree[0]) {\n\tif (!x0 || !x1) return false;\n\treturn x0.type === x1.type && x0.value === x1.value;\n}\n\nfunction eqq(x0: tree[0], x1: tree[0]) {\n\tif (!x0 || !x1) return false;\n\treturn x0.type === x1.type && x0.value === x1.value && x0?.esc === x1?.esc;\n}\n\nfunction is_type(x: tree[0], ...type: vtype[]) {\n\treturn type.includes(x?.type);\n}\n\nfunction trim(tree: tree) {\n\tif (!tree?.[0]) return [];\n\tlet start = 0;\n\tlet end = tree.length;\n\tif (tree[0].type === \"blank\") start = 1;\n\tif (tree.at(-1).type === \"blank\") end--;\n\treturn tree.slice(start, end);\n}\n\nfunction dic_to_ast(dic: { [id: string]: tree }) {\n\tconst l: tree = [];\n\tfor (const i in dic) {\n\t\tl.push({ type: \"f\", value: i });\n\t\tl.push({ type: \"v\", value: \":\" });\n\t\tfor (const x of dic[i]) {\n\t\t\tif (eq(x, dh)) x.esc = true;\n\t\t}\n\t\tl.push(...dic[i]);\n\t\tif (Number(i) + 1 !== Object.keys(dic).length) {\n\t\t\tl.push(dh);\n\t\t}\n\t}\n\treturn l;\n}\n\nfunction is_true(t: tree) {\n\treturn eqq(trim(t)?.[0], { type: \"sharp\", value: \"true\" });\n}\n\nfunction ast2(tree: tree) {\n\t// 处理数字和小数\n\t{\n\t\tconst t: tree = [];\n\t\tconst num = /[0-9]/;\n\t\tlet number = \"\";\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (\n\t\t\t\tx.value.match(num) ||\n\t\t\t\t(tree[n - 1]?.value.match(num) &&\n\t\t\t\t\tis_dot(x) &&\n\t\t\t\t\ttree[n + 1]?.value.match(num))\n\t\t\t) {\n\t\t\t\tnumber += x.value;\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tx.value.match(num) &&\n\t\t\t\t(!tree[n + 1] || !tree[n + 1].value.match(num)) &&\n\t\t\t\t!(is_dot(tree[n + 1]) && tree[n + 2]?.value.match(num))\n\t\t\t) {\n\t\t\t\tt.push({ type: \"v\", value: number });\n\t\t\t\tnumber = \"\";\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理\\转义\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (eqq(x, v_f(\"\\\\\"))) {\n\t\t\t\tif (tree?.[n + 1]) {\n\t\t\t\t\tconst next = tree[n + 1];\n\t\t\t\t\tif (eq(next, v_f(\"\\\\\"))) {\n\t\t\t\t\t\tt.push({ type: \"v\", value: \"\\\\\", esc: true });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else if (next.type === \"blank\") {\n\t\t\t\t\t\tt.push({ type: \"v\", value: \"br\", esc: true });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else if (next.type === \"f\") {\n\t\t\t\t\t\tconst v = next.value;\n\t\t\t\t\t\tt.push({ type: \"v\", value: v[0] });\n\t\t\t\t\t\tt.push({ type: v.length === 2 ? \"v\" : \"f\", value: v.slice(1) });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else if (next.type === \"sharp\") {\n\t\t\t\t\t\tt.push({ type: \"v\", value: \"#\" });\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst v = next;\n\t\t\t\t\t\tv.esc = true;\n\t\t\t\t\t\tt.push(v);\n\t\t\t\t\t\tn++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\treturn tree;\n}\n\nfunction ast3(tree: tree) {\n\t// 处理符号简写(shorthand)\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (!x.esc) {\n\t\t\t\tif (x.type === \"v\") {\n\t\t\t\t\tlet nn = n;\n\t\t\t\t\tlet shortkey = x.value;\n\t\t\t\t\tconst l = [];\n\t\t\t\t\tif (shorthand[shortkey]) l.push(shortkey);\n\t\t\t\t\t// 连起来的字符\n\t\t\t\t\twhile (\n\t\t\t\t\t\ttree?.[nn + 1]?.type === \"v\" &&\n\t\t\t\t\t\tshortkey.length <= max_shorthand_len\n\t\t\t\t\t) {\n\t\t\t\t\t\tshortkey += tree[nn + 1].value;\n\t\t\t\t\t\tif (shorthand[shortkey]) l.push(shortkey);\n\t\t\t\t\t\tnn++;\n\t\t\t\t\t}\n\t\t\t\t\tif (l.length) {\n\t\t\t\t\t\tconst nx: tree[0] = {\n\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\tvalue: shorthand[l.at(-1)],\n\t\t\t\t\t\t\tsrc: l.at(-1),\n\t\t\t\t\t\t};\n\t\t\t\t\t\tt.push(nx);\n\n\t\t\t\t\t\t// 不处理已经后面连起来的字符\n\t\t\t\t\t\tn += l.at(-1).length - 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tt.push(x);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tt.push(x);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理字符与v之间空格\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (\n\t\t\t\tx.type === \"v\" &&\n\t\t\t\ttree?.[n + 1]?.type === \"blank\" &&\n\t\t\t\ttree?.[n + 2]?.type === \"str\"\n\t\t\t) {\n\t\t\t\tt.push(x);\n\t\t\t\tt.push({ type: \"f\", value: \"space\" });\n\t\t\t} else if (\n\t\t\t\tx.type === \"str\" &&\n\t\t\t\ttree?.[n + 1]?.type === \"blank\" &&\n\t\t\t\ttree?.[n + 2]?.type === \"v\"\n\t\t\t) {\n\t\t\t\tt.push(x);\n\t\t\t\tt.push({ type: \"f\", value: \"space\" });\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理!\n\t{\n\t\tconst t: tree = [];\n\t\tlet tmpx: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (\n\t\t\t\tis_factorial(tree?.[n + 1]) &&\n\t\t\t\t!is_sup(x) &&\n\t\t\t\t!is_sub(x) &&\n\t\t\t\t!is_frac(x)\n\t\t\t) {\n\t\t\t\ttmpx.push(x);\n\t\t\t} else {\n\t\t\t\tif (tmpx.length) {\n\t\t\t\t\ttmpx.push(x);\n\t\t\t\t\tt.push({ type: \"group1\", value: \"\", children: tmpx });\n\t\t\t\t\ttmpx = [];\n\t\t\t\t} else {\n\t\t\t\t\tt.push(x);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttree = t;\n\t}\n\n\t// 处理带.的f\n\t{\n\t\tconst t: tree = [];\n\t\tlet f = \"\";\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\n\t\t\tif (is_dot_f(x) && is_dot(tree[n + 1])) {\n\t\t\t\tif (f || (!f && x.type === \"f\")) {\n\t\t\t\t\tf += `${x.value}.`;\n\t\t\t\t\tn++;\n\t\t\t\t} else {\n\t\t\t\t\tt.push(x);\n\t\t\t\t}\n\t\t\t} else if (f && is_dot_f(x)) {\n\t\t\t\tf += x.value;\n\t\t\t\tif (!is_dot(tree[n + 1])) {\n\t\t\t\t\tt.push({ type: \"f\", value: f });\n\t\t\t\t\tf = \"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\t// 处理后面直接跟参数的f(√ ∛ ∜)\n\t// typst v0.11.1 实测:根号吃掉一个「原子」,该原子自己的附着(_/^ 与素号)都算在根号里面 ——\n\t// √2^3=√(2³)、√2_1^2=√(2带1带2)、√f'=√(f')、√a_1^2 b^3=√(a带1带2)·b³、∛x^2=³√(x²);\n\t// 后面再接别的原子(√2 3、√a b^2)或二元运算符(√2+3)则到此为止。\n\t// 括号组:无附着时沿用原来的去括号路径(√(2)=√2、√(x+y) 根号直接覆盖 x+y,与 typst 一致),\n\t// 有附着时把整组(连括号)当基底收进参数(√(2)^3=√((2)³),typst 同样保留括号)。\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (x.type === \"v\" && direct_arg_sy.includes(x.value) && tree[n + 1]) {\n\t\t\t\tx.type = \"f\";\n\t\t\t\tconst next = tree[n + 1];\n\t\t\t\t// 向后吞附着链:_值、^值、素号,可混排可重复,中间允许空格\n\t\t\t\tconst att: tree = [];\n\t\t\t\tlet end = n + 1;\n\t\t\t\tlet j = n + 2;\n\t\t\t\tfor (;;) {\n\t\t\t\t\tlet k = j;\n\t\t\t\t\twhile (tree[k]?.type === \"blank\") k++;\n\t\t\t\t\tconst y = tree[k];\n\t\t\t\t\tif (!y) break;\n\t\t\t\t\tif ((is_sup(y) || is_sub(y)) && tree[k + 1] !== undefined) {\n\t\t\t\t\t\tatt.push(y, tree[k + 1]);\n\t\t\t\t\t\tend = k + 1;\n\t\t\t\t\t\tj = k + 2;\n\t\t\t\t\t} else if (eqq(y, { type: \"f\", value: \"prime\" })) {\n\t\t\t\t\t\tatt.push(y);\n\t\t\t\t\t\tend = k;\n\t\t\t\t\t\tj = k + 1;\n\t\t\t\t\t} else break;\n\t\t\t\t}\n\t\t\t\tconst is_paren = is_type(next, \"group\") && next.kh === \"()\";\n\t\t\t\tif (!is_paren || att.length) {\n\t\t\t\t\tt.push(x);\n\t\t\t\t\tt.push({\n\t\t\t\t\t\ttype: \"group\",\n\t\t\t\t\t\tchildren: [next, ...att],\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\tkh: \"()\",\n\t\t\t\t\t});\n\t\t\t\t\tn = end;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tt.push(x);\n\t\t}\n\t\ttree = t;\n\t}\n\t// 处理f\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tconst next = tree[n + 1];\n\n\t\t\t// 带有括号(参数)的函数\n\t\t\t// prime 是后缀算子(稍后单独转成 attach),不能吞掉后面的 (..) 组\n\t\t\tif (\n\t\t\t\tx.type === \"f\" &&\n\t\t\t\tx.value !== \"prime\" &&\n\t\t\t\tnext &&\n\t\t\t\tnext.type === \"group\"\n\t\t\t) {\n\t\t\t\tif (next.kh === \"()\") {\n\t\t\t\t\tx.children = tree[n + 1].children;\n\t\t\t\t\tt.push(x);\n\n\t\t\t\t\t// 不处理group\n\t\t\t\t\tn++;\n\t\t\t\t\tcontinue;\n\t\t\t\t} else {\n\t\t\t\t\t// 未闭合的开括号组(kh 只有开括号)不能当参数收编:typst\n\t\t\t\t\t// 那里是 unclosed delimiter 错误,本库保持原来的并列渲染,\n\t\t\t\t\t// 组本身留给下一轮出栈,否则内容会被吞进 f 再渲染不出来。\n\t\t\t\t\tif (next.kh.length > 1 && next.kh[0] === \"(\") {\n\t\t\t\t\t\t// 向后找\n\t\t\t\t\t\tconst tt: tree = [];\n\t\t\t\t\t\ttt.push(...next.children);\n\t\t\t\t\t\ttt.push(v_f(next.kh[1]));\n\t\t\t\t\t\tfor (let i = n + 2; i < tree.length; i++) {\n\t\t\t\t\t\t\tif (tree[i]) {\n\t\t\t\t\t\t\t\tif (eqq(tree[i], v_f(\")\"))) {\n\t\t\t\t\t\t\t\t\tn = i;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ttt.push(tree[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tx.children = tt;\n\t\t\t\t\t\tt.push(x);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tt.push(x);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (const i in x.children || []) {\n\t\t\t\t\tif (x.children[i].value === \"\\\\\" && x.children[i].type === \"v\") {\n\t\t\t\t\t\tif (x.children[Number(i) + 1]) {\n\t\t\t\t\t\t\tx.children[Number(i) + 1].esc = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// sin[]/2=(sin[])/2 a_i()=a_(i()) 之类的\n\t{\n\t\tconst t: tree = [];\n\t\tconst un_list_str = [\n\t\t\t\"`\",\n\t\t\t\"~\",\n\t\t\t\"!\",\n\t\t\t\"@\",\n\t\t\t\"%\",\n\t\t\t\"*\",\n\t\t\t\"/\",\n\t\t\t\"(\",\n\t\t\t\")\",\n\t\t\t\"-\",\n\t\t\t\"+\",\n\t\t\t\"=\",\n\t\t\t\"[\",\n\t\t\t\"]\",\n\t\t\t\"{\",\n\t\t\t\"}\",\n\t\t\t\"|\",\n\t\t\t\":\",\n\t\t\t\";\",\n\t\t\t\"<\",\n\t\t\t\",\",\n\t\t\t\">\",\n\t\t\t\".\",\n\t\t\t\"?\",\n\t\t]; // typst 似乎是直接排除了这些字符,不排除转义,shorthand之类的\n\t\t// `/` 也必须排除(unicode-math-class=Binary,typst continuable=false):\n\t\t// 否则 `1/(2 (x)` 里的 `/` 会和后面的未闭合组粘成一个 token,`/` 就不再是分数算子。\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tconst next = tree[n + 1];\n\t\t\tif (\n\t\t\t\tis_type(next, \"group\") &&\n\t\t\t\tnext.kh !== \"()\" &&\n\t\t\t\tis_type(x, \"f\", \"str\", \"v\") &&\n\t\t\t\t!x.value.match(/[0-9]/) &&\n\t\t\t\t!is_sub(x) &&\n\t\t\t\t!is_sup(x) &&\n\t\t\t\t// `#box(...)` 的名字归下面的「处理#」(它吃 tree[n+1] 的值),\n\t\t\t\t// 这里抢先粘成 group1 会让 sharp 变成空值、名字连同参数被丢掉\n\t\t\t\ttree[n - 1]?.type !== \"sharp\" &&\n\t\t\t\t(!(\n\t\t\t\t\t(is_type(x, \"f\") && un_list_str.includes(x.src)) ||\n\t\t\t\t\t(is_type(x, \"v\") && un_list_str.includes(x.value))\n\t\t\t\t) ||\n\t\t\t\t\tx.esc)\n\t\t\t) {\n\t\t\t\tt.push({ type: \"group1\", value: \"\", children: [x, next] });\n\t\t\t\tn++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tt.push(x);\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理#\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (x.type === \"sharp\") {\n\t\t\t\tif (!x.value)\n\t\t\t\t\tif (tree[n + 1]?.type === \"group\") {\n\t\t\t\t\t\tx.children = tree[n + 1].children;\n\t\t\t\t\t\tfor (const i in x.children) {\n\t\t\t\t\t\t\tif (x.children[i].value === \"\\\\\" && x.children[i].type === \"v\") {\n\t\t\t\t\t\t\t\tif (x.children[Number(i) + 1]) {\n\t\t\t\t\t\t\t\t\tx.children[Number(i) + 1].esc = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst v = x.children.map((i) => i.value).join(\"\");\n\t\t\t\t\t\tif (v.match(/^[0-9+\\-*/()]+$/)) {\n\t\t\t\t\t\t\tx.value = v; // todo 数学运算\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tx.value = v;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx.value = tree[n + 1]?.value;\n\t\t\t\t\t\tif (tree[n + 2]?.type === \"f\") {\n\t\t\t\t\t\t\tx.value += tree[n + 2].value;\n\t\t\t\t\t\t\tn++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tt.push(x);\n\t\t\t\tn++;\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// '->^':素号是后缀算子,等价于 `^<素号串>`,交给后面的 ^/_ 合并逻辑处理\n\t{\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tconst next = tree[n + 1];\n\t\t\tif (!eqq(next, { type: \"f\", value: \"prime\" })) {\n\t\t\t\tt.push(x);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet nn = n + 1;\n\t\t\twhile (tree[nn] && eqq(tree[nn], { type: \"f\", value: \"prime\" })) nn++;\n\t\t\tconst primes = nn - (n + 1);\n\t\t\tif (eqq(x, { type: \"f\", value: \"prime\" })) {\n\t\t\t\t// 整段素号前面没有基底(如 `'''''''`):平铺成一个后缀串,不做附着\n\t\t\t\tt.push({ type: \"v\", value: \"'\".repeat(primes + 1) });\n\t\t\t} else if (!is_sup(x) && !is_sub(x) && x.type !== \"blank\") {\n\t\t\t\tt.push({\n\t\t\t\t\ttype: \"f\",\n\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tx,\n\t\t\t\t\t\tdh,\n\t\t\t\t\t\t...dic_to_ast({\n\t\t\t\t\t\t\ttr: [{ type: \"v\", value: \"'\".repeat(primes) }],\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tt.push(x, { type: \"v\", value: \"'\".repeat(primes) });\n\t\t\t}\n\t\t\tn += primes;\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 移除blank\n\t{\n\t\tconst t: tree = [];\n\t\tfor (const i of tree) {\n\t\t\tif (i.type === \"blank\") continue;\n\t\t\tt.push(i);\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理^_\n\t{\n\t\t// 获取^_嵌套索引\n\t\tlet index: [number, number][] = [];\n\t\tlet start = NaN;\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (!is_sup(x) && !is_sub(x)) {\n\t\t\t\tif (\n\t\t\t\t\t(is_sup(tree[n + 1]) || is_sub(tree[n + 1])) &&\n\t\t\t\t\t!(is_sup(tree[n - 1]) || is_sub(tree[n - 1]))\n\t\t\t\t) {\n\t\t\t\t\tif (!start) start = n;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(is_sup(tree[n - 1]) || is_sub(tree[n - 1])) &&\n\t\t\t\t\t!(is_sup(tree[n + 1]) || is_sub(tree[n + 1]))\n\t\t\t\t) {\n\t\t\t\t\tindex.push([start, n]);\n\t\t\t\t\tstart = NaN;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tif (n === index?.[0]?.[0]) {\n\t\t\t\t{\n\t\t\t\t\tlet tmp: tree[0] = tree[index[0][1]];\n\t\t\t\t\tfor (let i = index[0][1]; i >= index[0][0]; i--) {\n\t\t\t\t\t\tif (is_sup(tree[i - 1]) && is_sub(tree[i - 3])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 4]])\n\t\t\t\t\t\t\t\t? { t: out_kh(tmp), b: out_kh(tree[i - 2]) }\n\t\t\t\t\t\t\t\t: { tr: out_kh(tmp), br: out_kh(tree[i - 2]) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 4], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 4 - 1;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (is_sub(tree[i - 1]) && is_sup(tree[i - 3])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 4]])\n\t\t\t\t\t\t\t\t? { t: out_kh(tree[i - 2]), b: out_kh(tmp) }\n\t\t\t\t\t\t\t\t: { tr: out_kh(tree[i - 2]), br: out_kh(tmp) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 4], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 4 - 1;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (is_sup(tree[i - 1])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 2]])\n\t\t\t\t\t\t\t\t? { t: out_kh(tmp) }\n\t\t\t\t\t\t\t\t: { tr: out_kh(tmp) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 2], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 2 - 1;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (is_sub(tree[i - 1])) {\n\t\t\t\t\t\t\tconst o = is_limit([tree[i - 2]])\n\t\t\t\t\t\t\t\t? { b: out_kh(tmp) }\n\t\t\t\t\t\t\t\t: { br: out_kh(tmp) };\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"attach\",\n\t\t\t\t\t\t\t\tchildren: [tree[i - 2], dh, ...dic_to_ast(o)],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti -= 2 - 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tt.push(tmp);\n\t\t\t\t}\n\t\t\t\tn += index[0][1] - index[0][0];\n\t\t\t\tindex = index.slice(1);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt.push(tree[n]);\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 处理/\n\t{\n\t\t// 获取/嵌套索引\n\t\tconst index: [number, number][] = [];\n\t\tlet start = NaN;\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tconst x = tree[n];\n\t\t\tif (!is_frac(x)) {\n\t\t\t\tif (is_frac(tree[n + 1]) && !is_frac(tree[n - 1])) {\n\t\t\t\t\tif (!start) start = n;\n\t\t\t\t}\n\t\t\t\tif (is_frac(tree[n - 1]) && !is_frac(tree[n + 1])) {\n\t\t\t\t\tindex.push([start, n]);\n\t\t\t\t\tstart = NaN;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst t: tree = [];\n\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\tif (n === index?.[0]?.[0]) {\n\t\t\t\t{\n\t\t\t\t\tlet tmp: tree[0] = tree[index[0][0]];\n\t\t\t\t\tfor (let i = index[0][0]; i <= index[0][1]; i++) {\n\t\t\t\t\t\tif (is_frac(tree[i + 1])) {\n\t\t\t\t\t\t\ttmp = {\n\t\t\t\t\t\t\t\ttype: \"f\",\n\t\t\t\t\t\t\t\tvalue: \"frac\",\n\t\t\t\t\t\t\t\tchildren: [...out_kh(tmp), dh, ...out_kh(tree[i + 2])],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\ti += 2 - 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tt.push(tmp);\n\t\t\t\t}\n\t\t\t\tn += index[0][1] - index[0][0];\n\t\t\t\tindex.splice(0, 1);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt.push(tree[n]);\n\t\t}\n\t\ttree = t;\n\t}\n\treturn tree;\n}\n\nfunction f_attr(x: tree[0]) {\n\tconst list: (tree | \",\" | \";\")[] = [[]];\n\tfor (const i of x.children) {\n\t\tif (\n\t\t\teqq(i, { type: \"v\", value: \",\" }) ||\n\t\t\teqq(i, { type: \"v\", value: \";\" })\n\t\t) {\n\t\t\tlist.push(i.value as \",\" | \";\");\n\t\t\tlist.push([]);\n\t\t} else {\n\t\t\t(list.at(-1) as tree).push(i);\n\t\t}\n\t}\n\tconst dicl: tree[] = [];\n\tconst xattr: typeof list = [];\n\tfor (const x of list) {\n\t\tif (typeof x === \"string\") {\n\t\t\txattr.push(x);\n\t\t} else {\n\t\t\tif (\n\t\t\t\tx.find(\n\t\t\t\t\t(v, i) =>\n\t\t\t\t\t\tis_type(x[i - 1], \"f\", \"v\") && eqq(v, { type: \"v\", value: \":\" }),\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tdicl.push(x);\n\t\t\t} else {\n\t\t\t\txattr.push(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tlet nl: typeof xattr = [];\n\tfor (let i = 0; i < xattr.length; i++) {\n\t\tconst n = xattr[i],\n\t\t\tnext = xattr[i + 1];\n\t\tif ((n === \",\" && next === \";\") || (n === \";\" && next === \",\")) {\n\t\t\tnl.push(\";\");\n\t\t\ti++;\n\t\t} else {\n\t\t\tnl.push(xattr[i]);\n\t\t}\n\t}\n\n\tlet attr: tree[] | tree[][];\n\tif (typeof nl.at(-1) === \"string\") nl = nl.slice(0, -1);\n\tconst has_fenhao = nl.includes(\";\");\n\tif (has_fenhao) {\n\t\tlet x = array_split(nl, (x) => x === \";\");\n\t\tif (x.at(-1)[0].length === 0) x = x.slice(0, -1);\n\t\tattr = x.map((x) => x.filter((i) => typeof i !== \"string\")) as tree[][];\n\t} else {\n\t\tattr = (nl.filter((i) => typeof i !== \"string\") as tree[]).map((i) =>\n\t\t\ttrim(i),\n\t\t);\n\t}\n\n\t// 将dicl的tree转为键对\n\tconst dic: fdic = {};\n\tfor (const i of dicl) {\n\t\tlet x = false;\n\t\tlet n = \"\";\n\t\tconst t: tree = [];\n\t\tfor (const el of i) {\n\t\t\tif (eqq(el, { type: \"v\", value: \":\" })) {\n\t\t\t\tx = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!x) {\n\t\t\t\tn += el.value;\n\t\t\t} else {\n\t\t\t\tt.push(el);\n\t\t\t}\n\t\t}\n\t\tdic[n] = ast3(ast2(t));\n\t}\n\treturn { attr, dic };\n}\n\nfunction array_split<i>(list: i[], f: (i: i) => boolean) {\n\tconst l: i[][] = [[]];\n\tfor (const x of list) {\n\t\tif (f(x)) {\n\t\t\tl.push([]);\n\t\t} else {\n\t\t\tl.at(-1).push(x);\n\t\t}\n\t}\n\treturn l;\n}\n\nexport {\n\tast2,\n\tast3,\n\tdh,\n\temojix,\n\teq,\n\teqq,\n\tf_attr,\n\ttype fdic,\n\tin_kh,\n\tis_br,\n\tis_limit,\n\tis_true,\n\tis_type,\n\topl,\n\tout_kh,\n\tss,\n\ttransfer_kh,\n\ttrim,\n\tv_f,\n};\n","// Virtual DOM for MathML. `createMath`/`createFragment` return plain objects\n// that mimic the small subset of the DOM the render code uses (.append,\n// .setAttribute/.getAttribute, .style, .children, .textContent, .innerHTML,\n// .querySelectorAll), so the renderer builds a VNode tree with no `document`.\n// The tree is then materialized by exactly one of:\n// - toHtml(node): MathML string (DOM-free)\n// - toDom(node) : real MathML DOM (the only place `document` is touched)\n\nexport class VText {\n\treadonly type = \"text\" as const;\n\tconstructor(public text: string) {}\n}\n\nexport class VFragment {\n\treadonly type = \"frag\" as const;\n\treadonly childNodes: VNode[] = [];\n\tappend(...kids: (VNode | VNode[] | null | undefined)[]) {\n\t\tpushNodes(this.childNodes, kids);\n\t}\n}\n\nexport class VEl {\n\treadonly type = \"el\" as const;\n\treadonly attrs: { [k: string]: string } = {};\n\treadonly style: { [k: string]: string } = {};\n\treadonly childNodes: VNode[] = [];\n\tconstructor(\n\t\treadonly tag: string,\n\t\tinnerText?: string | null,\n\t\tattr?: { [k: string]: string } | null,\n\t) {\n\t\tif (innerText) this.childNodes.push(new VText(innerText));\n\t\tif (attr) for (const k in attr) this.attrs[k] = attr[k];\n\t}\n\n\tappend(...kids: (VNode | VNode[] | null | undefined)[]) {\n\t\tpushNodes(this.childNodes, kids);\n\t}\n\tsetAttribute(k: string, v: string) {\n\t\tthis.attrs[k] = v;\n\t}\n\tgetAttribute(k: string): string | null {\n\t\treturn this.attrs[k] ?? null;\n\t}\n\tget children(): VEl[] {\n\t\treturn this.childNodes.filter((n): n is VEl => n.type === \"el\");\n\t}\n\tget textContent(): string {\n\t\treturn this.childNodes\n\t\t\t.filter((n): n is VText => n.type === \"text\")\n\t\t\t.map((n) => n.text)\n\t\t\t.join(\"\");\n\t}\n\tset textContent(v: string) {\n\t\tthis.childNodes.length = 0;\n\t\tif (v) this.childNodes.push(new VText(v));\n\t}\n\tget innerHTML(): string {\n\t\treturn this.childNodes.map(serialize).join(\"\");\n\t}\n\tset innerHTML(v: string) {\n\t\tthis.childNodes.length = 0;\n\t\tthis.childNodes.push(new VText(v));\n\t}\n\tquerySelectorAll(sel: string): VEl[] {\n\t\tconst out: VEl[] = [];\n\t\tcollect(this, sel, out);\n\t\treturn out;\n\t}\n}\n\nexport type VNode = VEl | VText | VFragment;\n\nfunction pushNodes(\n\ttarget: VNode[],\n\tkids: (VNode | VNode[] | null | undefined)[],\n) {\n\tfor (const k of kids) {\n\t\tif (!k) continue;\n\t\tif (Array.isArray(k)) {\n\t\t\tpushNodes(target, k);\n\t\t\tcontinue;\n\t\t}\n\t\t// fragments are inlined, matching DOM append(fragment)\n\t\tif (k.type === \"frag\") target.push(...k.childNodes);\n\t\telse target.push(k);\n\t}\n}\n\nfunction collect(node: VEl | VFragment, sel: string, out: VEl[]) {\n\tfor (const c of node.childNodes) {\n\t\tif (c.type === \"el\") {\n\t\t\tif (c.tag === sel) out.push(c);\n\t\t\tcollect(c, sel, out);\n\t\t} else if (c.type === \"frag\") {\n\t\t\tcollect(c, sel, out);\n\t\t}\n\t}\n}\n\n// ---- builders (DOM-shaped) ----\nexport function createMath(\n\ttag: string,\n\tinnerText?: string | null,\n\tattr?: { [k: string]: string } | null,\n): VEl {\n\treturn new VEl(tag, innerText, attr);\n}\n\nexport function createFragment(): VFragment {\n\treturn new VFragment();\n}\n\n// ---- serialization ----\nfunction camelToKebab(k: string) {\n\treturn k.replace(/[A-Z]/g, (m) => \"-\" + m.toLowerCase());\n}\nfunction escText(s: string) {\n\treturn s\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/</g, \"<\")\n\t\t.replace(/>/g, \">\")\n\t\t.replace(/\\u00A0/g, \" \");\n}\nfunction escAttr(s: string) {\n\treturn s\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/</g, \"<\")\n\t\t.replace(/>/g, \">\")\n\t\t.replace(/\"/g, \""\")\n\t\t.replace(/\\u00A0/g, \" \");\n}\n\nfunction serialize(node: VNode): string {\n\tif (node.type === \"text\") return escText(node.text);\n\tif (node.type === \"frag\") return node.childNodes.map(serialize).join(\"\");\n\tlet s = `<${node.tag}`;\n\tfor (const k in node.attrs) s += ` ${k}=\"${escAttr(node.attrs[k])}\"`;\n\tconst st = Object.keys(node.style);\n\tif (st.length) {\n\t\tconst css = st.map((k) => `${camelToKebab(k)}: ${node.style[k]}`).join(\"; \");\n\t\ts += ` style=\"${escAttr(css)}\"`;\n\t}\n\ts += \">\";\n\ts += node.childNodes.map(serialize).join(\"\");\n\ts += `</${node.tag}>`;\n\treturn s;\n}\n\nexport function toHtml(node: VNode): string {\n\treturn serialize(node);\n}\n\nconst MATHML_NS = \"http://www.w3.org/1998/Math/MathML\";\n\n// Materialize into real MathML DOM. The ONLY place `document` is touched.\nexport function toDom(\n\tnode: VNode,\n\tdoc: Document = globalThis.document,\n): MathMLElement | DocumentFragment | Text {\n\tif (node.type === \"text\") return doc.createTextNode(node.text);\n\tif (node.type === \"frag\") {\n\t\tconst f = doc.createDocumentFragment();\n\t\tfor (const c of node.childNodes) f.append(toDom(c, doc) as Node);\n\t\treturn f;\n\t}\n\tconst e = doc.createElementNS(MATHML_NS, node.tag) as MathMLElement;\n\tfor (const k in node.attrs) e.setAttribute(k, node.attrs[k]);\n\tfor (const k in node.style)\n\t\t(e.style as unknown as Record<string, string>)[k] = node.style[k];\n\tfor (const c of node.childNodes) e.append(toDom(c, doc) as Node);\n\treturn e;\n}\n","/// <reference types=\"vite/client\" />\n\nimport { ast, init_c, type tree } from \"./ast.js\";\nimport {\n\tast2,\n\tast3,\n\tdh,\n\temojix,\n\teqq,\n\tf_attr,\n\ttype fdic,\n\tin_kh,\n\tis_br,\n\tis_limit,\n\tis_true,\n\tisDisplay,\n\topl,\n\tsetDisplay,\n\tss,\n\ttransfer_kh,\n\ttrim,\n\tv_f,\n} from \"./normalize.js\";\nimport {\n\tcreateFragment,\n\tcreateMath,\n\ttoDom,\n\ttoHtml,\n\ttype VEl,\n\ttype VFragment,\n} from \"./vdom.js\";\n\nconst mathvariant = \"mathvariant\";\n\nconst delimPair = {\n\t\"(\": [\"(\", \")\"],\n\t\"[\": [\"[\", \"]\"],\n\t\"{\": [\"{\", \"}\"],\n\t\"|\": [\"|\", \"|\"],\n\t\"||\": [\"‖\", \"‖\"],\n\t\"\": [\"\", \"\"],\n};\n\n// attach 底座的 limits 是否生效。子树要等 render 才做 ast3 的「处理f」收编,\n// 这里 dispatch 到 attach 时 `limits(a)` 还是 [f(limits), group(a)] 两个并列节点,\n// 故先按 ast3 同样的规则收编(f 紧跟 kh === \"()\" 的组;prime 除外)再判定,\n// 使 `limits(a)`/`scripts(a)`/`op(.., limits: #true)` 与 `_`/`^` 走同一口径。\nfunction limits_active(base: tree) {\n\tconst t: tree =\n\t\tbase.length === 2 &&\n\t\tbase[0].type === \"f\" &&\n\t\tbase[0].value !== \"prime\" &&\n\t\tbase[1].type === \"group\" &&\n\t\tbase[1].kh === \"()\"\n\t\t\t? [{ ...base[0], children: base[1].children }]\n\t\t\t: base;\n\treturn !!is_limit(t);\n}\n\n// 在 fn() 期间把全局 display 标志换成 d(渲染完恢复),供 display/inline/\n// script/sscript 这类局部样式使用;is_limit 读这个标志,故嵌套子树\n// (lr/abs/mat/attach 的底座…)自动继承局部模式。注意 x_table 的行对齐也\n// 读它 —— 嵌套多行的对齐是否该跟着局部模式走,官方图未逐例核过,先不动,\n// 见 test/custom.test.ts 里的说明。\nfunction with_display(d: boolean, fn: () => VEl | VFragment) {\n\tconst prev = isDisplay();\n\tsetDisplay(d);\n\ttry {\n\t\treturn fn();\n\t} finally {\n\t\tsetDisplay(prev);\n\t}\n}\n\nfunction delim(dic: fdic, _default: string) {\n\tconst d = get_value(dic, \"delim\") as string;\n\tlet x = \"\";\n\tif (d !== null)\n\t\tif (d === undefined) x = _default;\n\t\telse x = d;\n\treturn delimPair[x] as [string, string];\n}\n\nconst f: {\n\t[name: string]: (attr: tree[], dic?: fdic, e?: fonts) => VEl | VFragment;\n} = {\n\taccent: (attr: tree[], _dic: fdic, e) => {\n\t\tconst base = createMath(\"mrow\");\n\t\tbase.append(render(attr[0], e));\n\t\tconst a = createMath(\"mrow\");\n\t\ta.append(render(attr[1], e));\n\t\ta.children[0].innerHTML = accent_match_str(a.children[0].innerHTML);\n\t\tconst over = createMath(\"mover\");\n\t\tover.setAttribute(\"accent\", \"true\");\n\t\tover.append(base, a);\n\t\treturn over;\n\t},\n\tattach: (attr: tree[], dic: fdic, e) => {\n\t\t// typst v0.11.1 attach.rs::layout_math 的「聪明定位」:\n\t\t// let limits = base.limits().active(styles);\n\t\t// let (t, tr) = if limits || tr.is_some() { (t, tr) } else { (None, t) };\n\t\t// let (b, br) = if limits || br.is_some() { (b, br) } else { (None, b) };\n\t\t// 即底座 limits 不生效时 t/b 让位到右上/右下脚标位(与 `_`/`^` 同一套判定),\n\t\t// 只有 tr/br 已被占用时才留在正上/正下(外层套 mover/munder);\n\t\t// limits 生效时 t/b 恒落正上/正下,角标仍各占自己的角。\n\t\tconst d: fdic = { ...dic };\n\t\tif (!limits_active(attr[0])) {\n\t\t\tif (d.t && !d.tr) {\n\t\t\t\td.tr = d.t;\n\t\t\t\tdelete d.t;\n\t\t\t}\n\t\t\tif (d.b && !d.br) {\n\t\t\t\td.br = d.b;\n\t\t\t\tdelete d.b;\n\t\t\t}\n\t\t}\n\t\tconst base = createMath(\"mrow\");\n\t\tbase.append(render(attr[0]));\n\t\tlet el: VEl;\n\t\tconst tl = createMath(\"mrow\");\n\t\tif (d.tl) tl.append(render(d.tl, e));\n\t\tconst bl = createMath(\"mrow\");\n\t\tif (d.bl) bl.append(render(d.bl, e));\n\t\tconst tr = createMath(\"mrow\");\n\t\tif (d.tr) tr.append(render(d.tr, e));\n\t\tconst br = createMath(\"mrow\");\n\t\tif (d.br) br.append(render(d.br, e));\n\t\tif (d.tl || d.bl || d.tr || d.br) {\n\t\t\tif (d.tl || d.bl) {\n\t\t\t\tel = createMath(\"mmultiscripts\");\n\t\t\t\tel.append(base, br, tr, createMath(\"mprescripts\"), bl, tl);\n\t\t\t} else if (d.tr && d.br) {\n\t\t\t\tel = createMath(\"msubsup\");\n\t\t\t\tel.append(base, br, tr);\n\t\t\t} else if (d.tr) {\n\t\t\t\tel = createMath(\"msup\");\n\t\t\t\tel.append(base, tr);\n\t\t\t} else {\n\t\t\t\tel = createMath(\"msub\");\n\t\t\t\tel.append(base, br);\n\t\t\t}\n\t\t}\n\t\tif (d.t || d.b) {\n\t\t\tconst uo = createMath(\"munderover\");\n\t\t\tif (!el) {\n\t\t\t\tuo.append(base);\n\t\t\t} else {\n\t\t\t\tuo.append(el);\n\t\t\t}\n\t\t\tconst t = createMath(\"mrow\");\n\t\t\tif (d.t) t.append(render(d.t, e));\n\t\t\tconst b = createMath(\"mrow\");\n\t\t\tif (d.b) b.append(render(d.b, e));\n\t\t\tuo.append(b, t);\n\t\t\tel = uo;\n\t\t}\n\t\treturn el;\n\t},\n\tscripts: (attr: tree[], _dic: fdic, e) => {\n\t\treturn render(attr[0], e);\n\t},\n\tlimits: (attr: tree[], _dic: fdic, e) => {\n\t\treturn render(attr[0], e);\n\t},\n\tbinom: (attr: tree[], _dic: fdic, e) => {\n\t\tconst row = createMath(\"mrow\");\n\t\tconst a = createMath(\"mrow\");\n\t\ta.append(render(attr[0], e));\n\t\tconst b = createMath(\"mrow\");\n\t\tconst s: tree = [];\n\t\tfor (const x of attr.slice(1)) s.push(...x, dh);\n\t\tb.append(render(s.slice(0, -1), e));\n\t\tconst f = createMath(\"mfrac\", null, { linethickness: \"0\" });\n\t\tf.append(a, b);\n\t\tconst l = createMath(\"mo\", \"(\");\n\t\tconst r = createMath(\"mo\", \")\");\n\t\trow.append(l, f, r);\n\t\treturn row;\n\t},\n\tcancel: (attr: tree[], dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tconst bg = (x: boolean) =>\n\t\t\t`linear-gradient(to ${\n\t\t\t\tx ? \"left\" : \"right\"\n\t\t\t} top, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%)`;\n\t\tlet s = \"\";\n\t\tif (is_true(dic.cross)) {\n\t\t\ts = `${bg(true)},${bg(false)}`;\n\t\t} else if (is_true(dic.inverted)) {\n\t\t\ts = bg(false);\n\t\t} else {\n\t\t\ts = bg(true);\n\t\t}\n\t\tr.style.backgroundImage = s;\n\t\tr.append(render(attr[0], e));\n\t\treturn r;\n\t},\n\tcases: (attr: tree[], dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tconst d = delim(dic, \"{\");\n\t\tconst t = f.x_table(attr, { cases: [] }, e) as VEl;\n\t\tconst gap = (get_value(dic, \"gap\") as string) || \"0.5em\";\n\t\tt.setAttribute(\"rowspacing\", gap);\n\t\tif (is_true(dic?.reverse)) {\n\t\t\tconst l = createMath(\"mo\", d[1]);\n\t\t\tr.append(t, l);\n\t\t} else {\n\t\t\tconst l = createMath(\"mo\", d[0]);\n\t\t\tr.append(l, t);\n\t\t}\n\t\treturn r;\n\t},\n\tfrac: (attr: tree[], _dic: fdic, e) => {\n\t\tconst a = createMath(\"mrow\");\n\t\ta.append(render(attr[0], e));\n\t\tconst b = createMath(\"mrow\");\n\t\tb.append(render(attr[1], e));\n\t\tconst f = createMath(\"mfrac\");\n\t\tf.append(a, b);\n\t\treturn f;\n\t},\n\tlr: (attr: tree[], dic: fdic, e) => {\n\t\tconst list = attr_join(attr.map((i) => transfer_kh(i)));\n\t\tconst tList = trim(list);\n\n\t\tconst size = get_value(dic, \"size\") as string;\n\t\tconst c = render(tList, e);\n\t\tconst row = createMath(\"mrow\");\n\t\trow.append(c);\n\t\tif (size && size !== \"auto\") {\n\t\t\tconst lm = row.children[0];\n\t\t\tconst rm = row.children[row.children.length - 1];\n\t\t\tlm?.setAttribute(\"maxsize\", size);\n\t\t\tlm?.setAttribute(\"minsize\", size);\n\t\t\trm?.setAttribute(\"maxsize\", size);\n\t\t\trm?.setAttribute(\"minsize\", size);\n\t\t}\n\t\treturn row;\n\t},\n\tmid: (attr: tree[], _dic: fdic) => {\n\t\tconst o = createMath(\"mo\", attr?.[0]?.[0]?.value, { stretchy: \"true\" });\n\t\treturn o;\n\t},\n\tmat: (attr: tree[] | tree[][], dic: fdic, e) => {\n\t\tconst d = delim(dic, \"(\");\n\t\tconst row = createMath(\"mrow\");\n\t\tconst l = createMath(\"mo\", d[0]);\n\t\tconst r = createMath(\"mo\", d[1]);\n\t\tconst t = createMath(\"mtable\");\n\t\tlet array: tree[][];\n\t\tif ((attr[0][0] as tree[0])?.type) array = [attr as tree[]];\n\t\telse array = attr as tree[][];\n\n\t\tconst augment = get_value(dic, \"augment\");\n\t\tif (augment) {\n\t\t\tlet xa = NaN;\n\t\t\tlet ya = NaN;\n\t\t\tif (typeof augment !== \"object\") {\n\t\t\t\txa = Number(augment);\n\t\t\t} else {\n\t\t\t\tif (\"hline\" in augment && augment.hline)\n\t\t\t\t\tya = Number((augment.hline as tree).map((i) => i.value).join(\"\"));\n\t\t\t\tif (\"vline\" in augment && augment.vline)\n\t\t\t\t\txa = Number((augment.vline as tree).map((i) => i.value).join(\"\"));\n\t\t\t}\n\t\t\tif (xa < 0) xa = array[0].length + xa;\n\t\t\tif (ya < 0) ya = array.length + ya;\n\n\t\t\tif (ya) {\n\t\t\t\tconst l: boolean[] = [];\n\t\t\t\tfor (let i = 1; i < array.length; i++) l.push(i === ya);\n\t\t\t\tt.setAttribute(\n\t\t\t\t\t\"rowlines\",\n\t\t\t\t\tl.map((i) => (i ? \"solid\" : \"none\")).join(\" \"),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (xa) {\n\t\t\t\tconst l: boolean[] = [];\n\t\t\t\tfor (let i = 1; i < array[0].length; i++) l.push(i === xa);\n\t\t\t\tt.setAttribute(\n\t\t\t\t\t\"columnlines\",\n\t\t\t\t\tl.map((i) => (i ? \"solid\" : \"none\")).join(\" \"),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tconst gap = get_value(dic, \"gap\") as string;\n\t\tconst rowgap = get_value(dic, \"row-gap\") as string;\n\t\tconst colgap = get_value(dic, \"column-gap\") as string;\n\t\tt.setAttribute(\"columnspacing\", colgap || gap || \"0.5em\");\n\t\tt.setAttribute(\"rowspacing\", rowgap || gap || \"0.5em\");\n\n\t\tfor (const i of array) {\n\t\t\tconst tr = createMath(\"mtr\");\n\t\t\tfor (const j of i) {\n\t\t\t\tconst td = createMath(\"mtd\");\n\t\t\t\ttd.append(render(j, e));\n\t\t\t\ttr.append(td);\n\t\t\t}\n\t\t\tt.append(tr);\n\t\t}\n\t\trow.append(l, t, r);\n\t\treturn row;\n\t},\n\troot: (attr: tree[], _dic: fdic, e) => {\n\t\tconst row = createMath(\"mrow\");\n\t\trow.append(render(attr[0], e));\n\t\tconst base = createMath(\"mrow\");\n\t\tbase.append(render(attr[1], e));\n\t\tconst root = createMath(\"mroot\");\n\t\troot.append(base, row);\n\t\treturn root;\n\t},\n\t// msqrt(与 typst html 导出一致:<msqrt>…</msqrt>),被开方数直接作为子元素,\n\t// 不包 mrow、不走 mroot——空指数的 mroot 会被 MathML 校验/渲染当成错误结构。\n\tsqrt: (attr: tree[], _dic: fdic, e) => {\n\t\tconst s = createMath(\"msqrt\");\n\t\ts.append(render(attr[0], e));\n\t\treturn s;\n\t},\n\t// display/inline/script/sscript 是局部样式(typst 的样式栈:内层覆盖外层,\n\t// `display(script(sum_1^2))` 仍走角标)。limits 的判定在 ast3 的「处理^_」\n\t// 里读全局 display 标志,故在渲染子树期间改写它、渲染完恢复;wrapper 用\n\t// mstyle 而不是 mrow —— MathML Core 里 displaystyle/scriptlevel 是 mstyle\n\t// 的属性,挂在 mrow 上浏览器会忽略(∑ 大小/脚标层级都随之失真)。\n\tdisplay: (attr: tree[], _dic: fdic, e) =>\n\t\twith_display(true, () => {\n\t\t\tconst m = createMath(\"mstyle\", null, { displaystyle: \"true\" });\n\t\t\tm.append(render(attr[0], e));\n\t\t\treturn m;\n\t\t}),\n\tinline: (attr: tree[], _dic: fdic, e) =>\n\t\twith_display(false, () => {\n\t\t\tconst m = createMath(\"mstyle\", null, {\n\t\t\t\tdisplaystyle: \"false\",\n\t\t\t\tscriptlevel: \"0\",\n\t\t\t});\n\t\t\tm.append(render(attr[0], e));\n\t\t\treturn m;\n\t\t}),\n\tscript: (attr: tree[], _dic: fdic, e) =>\n\t\twith_display(false, () => {\n\t\t\tconst m = createMath(\"mstyle\", null, {\n\t\t\t\tdisplaystyle: \"false\",\n\t\t\t\tscriptlevel: \"1\",\n\t\t\t});\n\t\t\tm.append(render(attr[0], e));\n\t\t\treturn m;\n\t\t}),\n\tsscript: (attr: tree[], _dic: fdic, e) =>\n\t\twith_display(false, () => {\n\t\t\tconst m = createMath(\"mstyle\", null, {\n\t\t\t\tdisplaystyle: \"false\",\n\t\t\t\tscriptlevel: \"2\",\n\t\t\t});\n\t\t\tm.append(render(attr[0], e));\n\t\t\treturn m;\n\t\t}),\n\tupright: (attr: tree[], _dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tr.append(render(attr[0], e));\n\t\tr.querySelectorAll(\"mi\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"normal\");\n\t\t});\n\t\tr.querySelectorAll(\"ms\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"normal\");\n\t\t});\n\t\treturn r;\n\t},\n\titalic: (attr: tree[], _dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tr.append(render(attr[0], e));\n\t\tr.querySelectorAll(\"mi\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"italic\");\n\t\t});\n\t\tr.querySelectorAll(\"ms\").forEach((el) => {\n\t\t\tif (!el.getAttribute(mathvariant)) el.setAttribute(mathvariant, \"italic\");\n\t\t});\n\t\treturn r;\n\t},\n\tbold: (attr: tree[], _dic: fdic, e) => {\n\t\tconst r = createMath(\"mrow\");\n\t\tr.style.fontWeight = \"bold\";\n\t\tr.append(render(attr[0], e));\n\t\treturn r;\n\t},\n\top: (attr: tree[], _dic: fdic, e) => {\n\t\tconst f = createMath(\"mrow\");\n\t\tconst str = createMath(\"ms\");\n\t\tstr.append(render(attr[0], e));\n\t\tf.append(str);\n\t\treturn f;\n\t},\n\tunderline: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_line_f(\"under\", attr[0], e);\n\t},\n\toverline: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_line_f(\"over\", attr[0], e);\n\t},\n\tunderbrace: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"under\", attr[0], \"⏟\", attr?.[1], e);\n\t},\n\toverbrace: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"over\", attr[0], \"⏞\", attr?.[1], e);\n\t},\n\tunderbracket: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"under\", attr[0], \"⎵\", attr?.[1], e);\n\t},\n\toverbracket: (attr: tree[], _dic: fdic, e) => {\n\t\treturn underover_f(\"over\", attr[0], \"⎴\", attr?.[1], e);\n\t},\n\tserif: (attr: tree[]) => {\n\t\treturn render(attr[0], \"serif\");\n\t},\n\tsans: (attr: tree[]) => {\n\t\treturn render(attr[0], \"sans\");\n\t},\n\tfrak: (attr: tree[]) => {\n\t\treturn render(attr[0], \"frak\");\n\t},\n\tmono: (attr: tree[]) => {\n\t\treturn render(attr[0], \"mono\");\n\t},\n\tbb: (attr: tree[]) => {\n\t\treturn render(attr[0], \"bb\");\n\t},\n\tcal: (attr: tree[]) => {\n\t\treturn render(attr[0], \"cal\");\n\t},\n\tvec: (attr: tree[], dic: fdic, e) => {\n\t\tconst d = delim(dic, \"(\");\n\t\tconst row = createMath(\"mrow\");\n\t\tconst l = createMath(\"mo\", d[0]);\n\t\tconst r = createMath(\"mo\", d[1]);\n\t\tconst t = x_table(attr, e);\n\t\tconst gap = (get_value(dic, \"gap\") as string) || \"0.5em\";\n\t\tt.setAttribute(\"rowspacing\", gap);\n\t\tt.setAttribute(\"columnspacing\", \"0.5em\");\n\t\trow.append(l, t, r);\n\t\treturn row;\n\t},\n\th: (attr: tree[], _dic: fdic) => {\n\t\treturn createMath(\"mspace\", \"\", { width: attr[0][0].value });\n\t},\n\t// 额外\n\t//\n\tx_table: (attr: tree[], dic: fdic) => {\n\t\tconst t = x_table(attr);\n\t\tif (dic.cases) t.setAttribute(\"columnalign\", \"left\");\n\t\treturn t;\n\t},\n};\n\nfunction x_table(trees: tree[], e?: fonts, inline?: boolean) {\n\tlet max = 0;\n\tconst t = createMath(\"mtable\");\n\tfor (const i of trees) {\n\t\tconst n = i.filter((x) => eqq(x, v_f(\"&\"))).length;\n\t\tif (n > max) max = n;\n\t}\n\tfor (const i of trees) {\n\t\tconst r = createMath(\"mtr\");\n\n\t\t// 按&拆分\n\t\tconst result: tree[] = [[]];\n\t\tfor (let n = 0; n < i.length; n++) {\n\t\t\tif (eqq(i[n], v_f(\"&\"))) {\n\t\t\t\tresult.push([]);\n\t\t\t} else {\n\t\t\t\tresult.at(-1).push(i[n]);\n\t\t\t}\n\t\t}\n\t\tfor (const i of result) {\n\t\t\tconst d = createMath(\"mtd\");\n\t\t\tr.append(d);\n\t\t\td.append(render(i, e));\n\t\t}\n\n\t\t// 有 & 时围绕对齐点 right/left 交替;没有 & 时 typst 块级居中、行内贴左\n\t\t// (mat/vec 的单元格不随块/行内变化,始终居中,MathML 默认列对齐也是 center)\n\t\tconst al = [];\n\t\tfor (let i = 0; i <= max; i++) {\n\t\t\tif (max > 0) al.push(i % 2 === 0 ? \"right\" : \"left\");\n\t\t\telse al.push(inline ? \"left\" : \"center\");\n\t\t}\n\t\tt.setAttribute(\"columnalign\", al.join(\" \"));\n\t\tt.setAttribute(\"columnspacing\", \"0\");\n\t\tt.append(r);\n\t}\n\treturn t;\n}\n\n// typst 把 1–4 个连续素号折成连字,5 个及以上重复 ′\nfunction primeRun(n: number) {\n\tconst lig = [\n\t\tss.prime,\n\t\tss[\"prime.double\"],\n\t\tss[\"prime.triple\"],\n\t\tss[\"prime.quad\"],\n\t];\n\treturn n <= 4 ? lig[n - 1] : ss.prime.repeat(n);\n}\n\nfunction op_f() {\n\tfor (const i of opl) {\n\t\tf[i.id] = (attr: tree[], _a, e) => {\n\t\t\tconst s = f.op([[{ type: \"str\", value: i.str || i.id }]], {}, e);\n\t\t\tif (attr) {\n\t\t\t\tconst f = createFragment();\n\t\t\t\tf.append(s, kh(attr_join(attr)));\n\t\t\t\treturn f;\n\t\t\t} else {\n\t\t\t\treturn s;\n\t\t\t}\n\t\t};\n\t}\n}\nop_f();\n\nconst spaceConst = {\n\tquad: \"1em\",\n\tmed: \"0.222em\",\n\tthin: \"0.17em\",\n\tthick: \"0.28em\",\n\twide: \"2em\",\n};\n\nfor (const i in spaceConst) {\n\tf[i] = () => {\n\t\treturn f.h([[{ type: \"str\", value: spaceConst[i] }]]);\n\t};\n}\n\nfunction accent_match_str(c: string) {\n\tswitch (c) {\n\t\tcase \"\\u{0300}\":\n\t\tcase \"`\":\n\t\t\treturn \"\\u{0300}\";\n\t\tcase \"\\u{0301}\":\n\t\tcase \"´\":\n\t\t\treturn \"\\u{0301}\";\n\t\tcase \"\\u{0302}\":\n\t\tcase \"^\":\n\t\tcase \"ˆ\":\n\t\t\treturn \"\\u{0302}\";\n\t\tcase \"\\u{0303}\":\n\t\tcase \"~\":\n\t\tcase \"∼\":\n\t\tcase \"˜\":\n\t\t\treturn \"\\u{0303}\";\n\t\tcase \"\\u{0304}\":\n\t\tcase \"¯\":\n\t\t\treturn \"\\u{0304}\";\n\t\tcase \"\\u{0305}\":\n\t\tcase \"-\":\n\t\tcase \"‾\":\n\t\tcase \"−\":\n\t\t\treturn \"\\u{0305}\";\n\t\tcase \"\\u{0306}\":\n\t\tcase \"˘\":\n\t\t\treturn \"\\u{0306}\";\n\t\tcase \"\\u{0307}\":\n\t\tcase \".\":\n\t\tcase \"˙\":\n\t\tcase \"⋅\":\n\t\t\treturn \"\\u{0307}\";\n\t\tcase \"\\u{0308}\":\n\t\tcase \"¨\":\n\t\t\treturn \"\\u{0308}\";\n\t\tcase \"\\u{20db}\":\n\t\t\treturn \"\\u{20db}\";\n\t\tcase \"\\u{20dc}\":\n\t\t\treturn \"\\u{20dc}\";\n\t\tcase \"\\u{030a}\":\n\t\tcase \"∘\":\n\t\tcase \"○\":\n\t\t\treturn \"\\u{030a}\";\n\t\tcase \"\\u{030b}\":\n\t\tcase \"˝\":\n\t\t\treturn \"\\u{030b}\";\n\t\tcase \"\\u{030c}\":\n\t\tcase \"ˇ\":\n\t\t\treturn \"\\u{030c}\";\n\t\tcase \"\\u{20d6}\":\n\t\tcase \"←\":\n\t\t\treturn \"\\u{20d6}\";\n\t\tcase \"\\u{20d7}\":\n\t\tcase \"→\":\n\t\tcase \"⟶\":\n\t\t\treturn \"\\u{20d7}\";\n\t\tcase \"\\u{20e1}\":\n\t\tcase \"↔\":\n\t\tcase \"⟷\":\n\t\t\treturn \"\\u{20e1}\";\n\t\tcase \"\\u{20d0}\":\n\t\tcase \"↼\":\n\t\t\treturn \"\\u{20d0}\";\n\t\tcase \"\\u{20d1}\":\n\t\tcase \"⇀\":\n\t\t\treturn \"\\u{20d1}\";\n\t\tdefault:\n\t\t\treturn c;\n\t}\n}\n\nfunction accent_f() {\n\tconst l = [\n\t\t\"grave\",\n\t\t\"acute\",\n\t\t\"acute.double\",\n\t\t\"hat\",\n\t\t\"tilde\",\n\t\t\"macron\",\n\t\t\"breve\",\n\t\t\"dot\",\n\t\t\"dot.double\",\n\t\t\"dot.triple\",\n\t\t\"dot.quad\",\n\t\t\"diaer\",\n\t\t\"circle\",\n\t\t\"arrow\",\n\t\t\"arrow.r\",\n\t\t\"arrow.l\",\n\t\t\"arrow.l.r\",\n\t\t\"caron\",\n\t\t\"harpoon\",\n\t\t\"harpoon.rt\",\n\t\t\"harpoon.lt\",\n\t];\n\tfor (const i of l) {\n\t\tf[i] = (attr: tree[], _dic, e) => {\n\t\t\tconst s = f.accent([attr[0], [{ type: \"f\", value: i }]], {}, e);\n\t\t\treturn s;\n\t\t};\n\t}\n}\naccent_f();\n\nfunction lr_f() {\n\tconst l: { name: string; l: tree[0]; r: tree[0] }[] = [\n\t\t{ name: \"abs\", l: v_f(\"|\"), r: v_f(\"|\") },\n\t\t{ name: \"norm\", l: v_f(\"‖\"), r: v_f(\"‖\") },\n\t\t{ name: \"floor\", l: v_f(\"⌊\"), r: v_f(\"⌋\") },\n\t\t{ name: \"ceil\", l: v_f(\"⌈\"), r: v_f(\"⌉\") },\n\t\t{ name: \"round\", l: v_f(\"⌊\"), r: v_f(\"⌉\") },\n\t];\n\tfor (const i of l) {\n\t\tf[i.name] = (attr: tree[], dic, e) => {\n\t\t\tconst s = f.lr([[i.l, ...attr[0], i.r]], dic, e);\n\t\t\treturn s;\n\t\t};\n\t}\n}\nlr_f();\n\nfunction underover_f(\n\ttype: \"under\" | \"over\",\n\ttree: tree,\n\tx: string,\n\tstr: tree,\n\te: fonts,\n) {\n\tconst m =\n\t\ttype === \"under\"\n\t\t\t? createMath(\"munder\", null, { accentunder: \"true\" })\n\t\t\t: createMath(\"mover\", null, { accent: \"true\" });\n\tconst base = createMath(\"mrow\");\n\tbase.append(render(tree, e));\n\tif (str) {\n\t\tconst s = createMath(\"mrow\");\n\t\ts.append(render(str, e));\n\t\tconst mm = type === \"under\" ? createMath(\"munder\") : createMath(\"mover\");\n\t\tconst xx = createMath(\"mo\", x);\n\t\tmm.append(xx, s);\n\t\tm.append(base, mm);\n\t} else {\n\t\tconst xx = createMath(\"mo\", x);\n\t\tm.append(base, xx);\n\t}\n\treturn m;\n}\n\nfunction underover_line_f(type: \"under\" | \"over\", tree: tree, e: fonts) {\n\tconst m =\n\t\ttype === \"under\"\n\t\t\t? createMath(\"munder\", null, { accentunder: \"true\" })\n\t\t\t: createMath(\"mover\", null, { accent: \"true\" });\n\tconst base = createMath(\"mrow\");\n\tbase.append(render(tree, e));\n\tif (type === \"under\") base.style.borderBottom = \"1px solid black\";\n\tif (type === \"over\") base.style.borderTop = \"1px solid black\";\n\tm.append(base);\n\treturn m;\n}\n\nconst ff: typeof f = {\n\t\"√\": f.sqrt,\n\t\"∛\": (attr, _, e) => f.root([[v_f(\"3\")], attr[0]], null, e),\n\t\"∜\": (attr, _, e) => f.root([[v_f(\"4\")], attr[0]], null, e),\n};\n\nfunction kh(tree: tree) {\n\tconst f = createMath(\"mrow\");\n\tconst l = createMath(\"mo\");\n\tl.textContent = \"(\";\n\tconst c = render(tree);\n\tconst r = createMath(\"mo\");\n\tr.textContent = \")\";\n\tf.append(l, c, r);\n\treturn f;\n}\n\nfunction lan_dic(tree: tree) {\n\ttree = trim(tree);\n\tconst o = new Object();\n\tlet key = \"\";\n\tlet value: tree = [];\n\ttree.push(dh);\n\tfor (let i = 0; i < tree.length; i++) {\n\t\tif (!key && tree[i].type !== \"blank\") {\n\t\t\tkey = tree[i].value;\n\t\t} else {\n\t\t\tif (value.length) {\n\t\t\t\tif (eqq(tree[i], dh)) {\n\t\t\t\t\to[key] = trim(value);\n\t\t\t\t\tkey = \"\";\n\t\t\t\t\tvalue = [];\n\t\t\t\t} else value.push(tree[i]);\n\t\t\t} else {\n\t\t\t\tif (eqq(tree[i], v_f(\":\"))) {\n\t\t\t\t\tvalue.push(tree[i + 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn o;\n}\n\nfunction get_value(dic: fdic, o: string) {\n\tif (!dic?.[o]?.[0]) return undefined;\n\tconst x = dic[o][0];\n\tif (x.type === \"sharp\") {\n\t\tif (x.value === \"true\") return true;\n\t\tif (x.value === \"false\") return false;\n\t\tif (x.value === \"none\") return null;\n\t\tif (x.children) {\n\t\t\tif (!x.children.find((v) => eqq(v, v_f(\":\"))))\n\t\t\t\treturn x.children.map((v) => v.value).join(\"\");\n\t\t\treturn lan_dic(x.children);\n\t\t}\n\t}\n\treturn dic[o].map((i) => i.value).join(\"\");\n}\n\nfunction attr_join(attr: tree[]) {\n\tconst t: tree = [];\n\tfor (const i of attr) {\n\t\tt.push(...i, v_f(\",\"));\n\t}\n\treturn t.slice(0, -1);\n}\n\ntype fonts = \"serif\" | \"sans\" | \"frak\" | \"mono\" | \"bb\" | \"cal\";\nfunction font(str: string, type: fonts = \"serif\") {\n\tfunction index_c(c: string) {\n\t\tconst l = \"abcdefghijklmnopqrstuvwxyz\";\n\t\treturn l.indexOf(c.toLowerCase());\n\t}\n\tconst map: {\n\t\t[font in \"sans\" | \"frak\" | \"mono\" | \"bb\" | \"cal\"]: {\n\t\t\tnum?: string;\n\t\t\tup: string;\n\t\t\tlow: string;\n\t\t};\n\t} = {\n\t\tsans: {\n\t\t\tnum: \"𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫\",\n\t\t\tlow: \"𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓\",\n\t\t\tup: \"𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹\",\n\t\t},\n\t\tfrak: {\n\t\t\tlow: \"𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷\",\n\t\t\tup: \"𝔄𝔅ℭ𝔇𝔈𝔉𝔊ℌℑ𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔ℜ𝔖𝔗𝔘𝔙𝔚𝔛𝔜ℨ\",\n\t\t},\n\t\tmono: {\n\t\t\tnum: \"𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿\",\n\t\t\tlow: \"𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣\",\n\t\t\tup: \"𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉\",\n\t\t},\n\t\tbb: {\n\t\t\tnum: \"𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡\",\n\t\t\tlow: \"𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫\",\n\t\t\tup: \"𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ\",\n\t\t},\n\t\tcal: {\n\t\t\tlow: \"𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏\",\n\t\t\tup: \"𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵\",\n\t\t},\n\t};\n\tif (type === \"serif\") return str;\n\telse {\n\t\tstr = str.replace(/[0-9]/g, (s) => [...map[type].num][s]);\n\t\tstr = str.replace(/[a-z]/g, (s) => [...map[type].low][index_c(s)]);\n\t\tstr = str.replace(/[A-Z]/g, (s) => [...map[type].up][index_c(s)]);\n\t}\n\treturn str;\n}\n\nfunction render(tree: tree, e?: fonts): VEl | VFragment {\n\tconst fragment = createFragment();\n\n\ttree = ast2(tree);\n\n\t// 多行\n\t// 处理\\ 换行\n\t{\n\t\tlet xx = false;\n\t\tfor (const n in tree) {\n\t\t\tconst i = tree[n];\n\t\t\tif (is_br(i)) {\n\t\t\t\txx = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (xx) {\n\t\t\tconst trees: tree[] = [[]];\n\t\t\tfor (let n = 0; n < tree.length; n++) {\n\t\t\t\tconst i = tree[n];\n\t\t\t\tif (is_br(i)) {\n\t\t\t\t\ttrees.push([]);\n\t\t\t\t} else {\n\t\t\t\t\ttrees.at(-1).push(i);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn x_table(trees, undefined, !isDisplay());\n\t\t}\n\t}\n\n\t// 单行\n\n\ttree = ast3(tree);\n\n\t{\n\t\tconst t: tree = [];\n\t\tfor (const x of tree) {\n\t\t\t// 移除&\n\t\t\tif (!(x.type === \"v\" && x.value === \"&\" && !x.esc)) {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\t// 移除group1\n\t{\n\t\tconst t: tree = [];\n\t\tfor (const x of tree) {\n\t\t\tif (x.type === \"group1\") {\n\t\t\t\tt.push(...x.children);\n\t\t\t} else {\n\t\t\t\tt.push(x);\n\t\t\t}\n\t\t}\n\t\ttree = t;\n\t}\n\n\tfor (const i in tree) {\n\t\tconst n = Number(i);\n\t\tconst x = tree[n];\n\n\t\t// 函数\n\t\tif (x.type === \"f\") {\n\t\t\t// 带有括号(参数)的函数\n\t\t\tif (x.children && (x.kh === \"()\" || !x.kh)) {\n\t\t\t\tconst { attr, dic } = f_attr(x);\n\n\t\t\t\tif (f[x.value]) {\n\t\t\t\t\tconst el = f[x.value](attr as tree[], dic, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t} else if (ss[x.value]) {\n\t\t\t\t\tconst el = createMath(\"mi\", ss[x.value]);\n\t\t\t\t\tfragment.append(el, render(in_kh(x.children), e));\n\t\t\t\t} else if (ff[x.value]) {\n\t\t\t\t\tconst el = ff[x.value](attr as tree[], dic, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (ss[x.value]) {\n\t\t\t\t\tlet tag: keyof MathMLElementTagNameMap;\n\t\t\t\t\tlet space_w = null;\n\t\t\t\t\tconst space_width = {\n\t\t\t\t\t\t\" \": \"0.36em\",\n\t\t\t\t\t\t\"\\u2002\": \"0.5em\",\n\t\t\t\t\t\t\"\\u2003\": \"1em\",\n\t\t\t\t\t\t\"\\u2004\": \"0.333em\",\n\t\t\t\t\t\t\"\\u2005\": \"0.25em\",\n\t\t\t\t\t\t\"\\u2006\": \"0.166em\",\n\t\t\t\t\t\t\"\\u205f\": \"0.222em\",\n\t\t\t\t\t\t\"\\u2007\": \"1ch\",\n\t\t\t\t\t\t\"\\u2008\": \"0.27em\",\n\t\t\t\t\t\t\"\\u2009\": \"0.17em\",\n\t\t\t\t\t\t\"\\u200a\": \"0.09em\",\n\t\t\t\t\t};\n\t\t\t\t\tif (ss[x.value].match(/[a-zA-Z\\u0391-\\u03C9]/)) {\n\t\t\t\t\t\ttag = \"mi\";\n\t\t\t\t\t} else if (space_width[ss[x.value]]) {\n\t\t\t\t\t\ttag = \"mspace\";\n\t\t\t\t\t\tspace_w = { width: space_width[ss[x.value]] };\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttag = \"mo\";\n\t\t\t\t\t}\n\t\t\t\t\tconst el = createMath(tag, ss[x.value], space_w);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t} else if (f[x.value]) {\n\t\t\t\t\tconst el = f[x.value](null, null, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t} else if (ff[x.value]) {\n\t\t\t\t\tconst el = ff[x.value]([x.children], null, e);\n\t\t\t\t\tfragment.append(el);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (x.type === \"str\") {\n\t\t\tconst el = createMath(\"ms\", font(x.value, e));\n\t\t\tfragment.append(el);\n\t\t}\n\n\t\tif (x.type === \"v\" || x.type === \"sharp\") {\n\t\t\tlet tag: keyof MathMLElementTagNameMap;\n\t\t\tlet value = x.value;\n\t\t\tif (x.value.match(/[0-9.]+/)) {\n\t\t\t\ttag = \"mn\";\n\t\t\t} else if (x.value.match(/[a-zA-Z\\u0391-\\u03C9]/)) {\n\t\t\t\ttag = \"mi\";\n\t\t\t} else if (x.value.match(/^'+$/)) {\n\t\t\t\tif (!x.esc) value = primeRun(x.value.length);\n\t\t\t\ttag = \"mo\";\n\t\t\t} else {\n\t\t\t\ttag = \"mo\";\n\t\t\t}\n\t\t\tif (x.type === \"sharp\") {\n\t\t\t\tif (x.value.startsWith(\"emoji.\")) {\n\t\t\t\t\ttag = \"mi\";\n\t\t\t\t\tvalue = emojix[x.value.replace(\"emoji.\", \"\")];\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst el = createMath(tag, font(value, e));\n\t\t\tfragment.append(el);\n\t\t}\n\n\t\tif (x.type === \"group\") {\n\t\t\t// 未闭合组:typst 只剩开括号(math_delimited 走到行尾没等到闭括号),\n\t\t\t// 不再包一层 mrow(typst 同样平铺,由外层需要单个元素时才包,\n\t\t\t// 比如 mfrac 的分母),开括号也不参与拉伸。\n\t\t\tif (x.kh && x.kh.length === 1) {\n\t\t\t\tfragment.append(createMath(\"mo\", x.kh, { stretchy: \"false\" }));\n\t\t\t\tfragment.append(render(x.children, e));\n\t\t\t} else {\n\t\t\t\tfragment.append(f.lr([[x]], null, e));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\nfunction init(p: { emoji: boolean }) {\n\tfor (const i in p) {\n\t\tif (init_c[i]) init_c[i] = p[i];\n\t}\n}\n\n// Build the MathML virtual DOM (no `document`).\nfunction toMMLV(str: string, inline?: boolean): VEl {\n\tsetDisplay(!inline);\n\tconst obj = ast(str);\n\n\tconst mathEl = createMath(\"math\");\n\tif (!inline) mathEl.setAttribute(\"display\", \"block\");\n\tconst f = render(obj);\n\tmathEl.append(f);\n\treturn mathEl;\n}\n\n// Materialize to real MathML DOM (the only path that touches `document`).\nfunction toMML(str: string, inline?: boolean): MathMLElement {\n\treturn toDom(toMMLV(str, inline)) as MathMLElement;\n}\n\n// String MathML (DOM-free)。inline=true 输出行内(无 display 属性),默认块级。\nfunction toMMLHTML(str: string, inline?: boolean) {\n\treturn toHtml(toMMLV(str, inline));\n}\n\nconst version = {\n\tlan: \"0.11.1\",\n\tsymbol: \"0.15.1\",\n\temoji: \"0.15.1\",\n};\n\nexport { ast2, ast3, init, toMML, toMMLHTML, toMMLV, version };\n"],"names":["Segmenter","segmenter","init_c","ast","str","v","kh","khl","khr","blank","type","ignore","o","p_tree","now_tree","tmp_str","codePoint","strl","w","strl2","i","t","next","emoji","symbols","s","simple_dot","ss","objOrStr","j","n","shotKey","emojix","shorthand","max_shorthand_len","direct_arg_sy","opl","limits_f","rel_names","limits_sy","out_kh","x","transfer_kh","list","v_f","in_kh","is_sup","eqq","is_sub","is_frac","is_br","rel_sy","taken","k","c","display","setDisplay","d","isDisplay","is_limit","tree","dic","f_attr","is_true","is_dot","eq","is_dot_f","is_factorial","dh","x0","x1","is_type","trim","start","end","dic_to_ast","l","_a","ast2","_b","_c","num","number","ast3","_d","_e","_f","_g","_h","_i","_j","_k","_l","nn","shortkey","nx","tmpx","f","att","y","tt","un_list_str","primes","index","tmp","dicl","xattr","nl","attr","array_split","el","VText","text","__publicField","VFragment","kids","pushNodes","VEl","tag","innerText","serialize","sel","out","collect","target","node","createMath","createFragment","camelToKebab","m","escText","escAttr","st","css","toHtml","MATHML_NS","toDom","doc","e","mathvariant","delimPair","limits_active","base","with_display","fn","prev","delim","_default","get_value","_dic","render","a","accent_match_str","over","tl","bl","tr","br","uo","b","row","r","bg","gap","attr_join","tList","size","lm","rm","array","augment","xa","ya","rowgap","colgap","td","root","underover_line_f","underover_f","x_table","trees","inline","max","result","al","primeRun","lig","op_f","spaceConst","accent_f","lr_f","mm","xx","ff","_","lan_dic","key","value","font","index_c","map","fragment","space_w","space_width","init","p","toMMLV","obj","mathEl","toMML","toMMLHTML","version"],"mappings":"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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCQTC,KAAI,KAAK,MAAMD,EAAO;AAG5B,SAASE,GAAWD,GAAQ;AAC3B,QAAME,IAA+B,CAAA;AACrC,aAAWP,KAAKK;AACf,QAAI,OAAOA,EAAEL,CAAC,KAAM;AACnBO,MAAAA,EAAGP,CAAC,IAAIK,EAAEL,CAAC;AAAA;AAEA,iBAAAQ,KAAYH,EAAEL,CAAC;AAErB,YAAA,OAAOQ,KAAa;AACvBD,UAAAA,EAAGP,CAAC,IAAIQ;AAAA,aACF;AACF,UAACD,EAAGP,CAAC,MAAGO,EAAGP,CAAC,IAAIQ,EAAS,OAAO,KAAKA,CAAQ,EAAE,CAAC,CAAC;AACrD,qBAAWC,KAAKD,GAAU;AAEzBD,YAAAA,EAAG,GAAGP,CAAC,IAAIS,CAAC,EAAE,IAAID,EAASC,CAAC;AAEtB,kBAAA,IAAIA,EAAE,MAAM,GAAG;AACrB,qBAASC,IAAI,GAAGA,IAAI,EAAE,QAAQA,KAAK;AAClC,oBAAMC,IAAU,EAAE,MAAM,GAAGD,CAAC,EAAE,KAAK,GAAG;AAClC,cAACF,EAASG,CAAO,MACpBJ,EAAG,GAAGP,CAAC,IAAIW,CAAO,EAAE,IAAIH,EAASC,CAAC;AAAA,YAEpC;AAAA,UACD;AAAA,QACD;AAIIF,SAAAA;AACR;AACA,MAAMA,IAAKD,GAAWD,EAAC,GAGjBO,KAASN,GAAW,KAAK,MAAMH,EAAK,CAAC,GAErCU,IAAY;AAAA,EACjB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACN;AACA,IAAIC,IAAoB;AACxB,WAAWd,KAAKa;AACX,EAAAb,EAAE,SAASc,MACdA,IAAoBd,EAAE;AAKxB,MAAMe,KAAgB,CAAC,KAAK,KAAK,GAAG,GAE9BC,KAAwD;AAAA,EAC7D,EAAE,IAAI,SAAS;AAAA,EACf,EAAE,IAAI,SAAS;AAAA,EACf,EAAE,IAAI,SAAS;AAAA,EACf,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,KAAK;AAAA,EACX,EAAE,IAAI,KAAK;AAAA,EACX,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,KAAK;AAAA,EACX,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,KAAK;AAAA,EACX,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,MAAM,QAAQ,GAAK;AAAA,EACzB,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,OAAO,QAAQ,GAAK;AAAA,EAC1B,EAAE,IAAI,MAAM;AAAA,EACZ,EAAE,IAAI,KAAK;AAAA,EACX,EAAE,IAAI,KAAK;AAAA,EACX,EAAE,IAAI,OAAO;AAAA,EACb,EAAE,IAAI,UAAU,KAAK,WAAW,QAAQ,GAAK;AAAA,EAC7C,EAAE,IAAI,UAAU,KAAK,WAAW,QAAQ,GAAK;AAAA,EAC7C,EAAE,IAAI,OAAO,KAAK,IAAI;AAAA,EACtB,EAAE,IAAI,OAAO,KAAK,IAAI;AACvB,GAEMC,KAAW,CAAA,GAsBXC,yBAAgB,IAAI;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,E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"}
|