docmedown 0.1.7 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/LICENSE +201 -21
  2. package/README.md +86 -37
  3. package/dist/architecture-7GRP2DOG-B8Xs9IfY.mjs +2 -0
  4. package/dist/architecture-7GRP2DOG-Vdsw7WC7.js +1 -0
  5. package/dist/cli.js +672 -1294
  6. package/dist/cynefin-OW5HDTMX-DU6kwwck.js +1 -0
  7. package/dist/cynefin-OW5HDTMX-F0P2M_lQ.mjs +2 -0
  8. package/dist/docmedown-compiler.js +228 -0
  9. package/dist/docmedown-mermaid.js +3588 -0
  10. package/dist/docmedown.cjs +7264 -80
  11. package/dist/docmedown.iife.js +7624 -424
  12. package/dist/docmedown.mjs +15531 -15009
  13. package/dist/docmedown.web.js +7628 -0
  14. package/dist/eventmodeling-NTZA5JFV-D58ICByZ.js +1 -0
  15. package/dist/eventmodeling-NTZA5JFV-SxxTo5cJ.mjs +2 -0
  16. package/dist/gitGraph-4MIJSDKK-C_R2a4aQ.mjs +2 -0
  17. package/dist/gitGraph-4MIJSDKK-CdMj8HJ8.js +1 -0
  18. package/dist/info-A6RAGUB7-CG4UBCfn.js +1 -0
  19. package/dist/info-A6RAGUB7-DmjQlHTj.mjs +2 -0
  20. package/dist/mermaid-BvOI3ZSW.js +3334 -0
  21. package/dist/mermaid-Cx9uSfoz.mjs +116948 -0
  22. package/dist/packet-AYTQ26CC-CMuoEJn0.js +1 -0
  23. package/dist/packet-AYTQ26CC-tdMo_iPL.mjs +2 -0
  24. package/dist/pie-WAS4IAKB-C1hjX8y0.js +1 -0
  25. package/dist/pie-WAS4IAKB-DG2Bio1G.mjs +2 -0
  26. package/dist/prism-CeBRmKvl.js +2 -0
  27. package/dist/prism-CummdiZX.mjs +1588 -0
  28. package/dist/radar-RG4KPBEZ-DHxYOB0f.mjs +2 -0
  29. package/dist/radar-RG4KPBEZ-Dvyo3gdA.js +1 -0
  30. package/dist/railroad-74A4TZTK-1sb9Z_QQ.js +1 -0
  31. package/dist/railroad-74A4TZTK-CwztrSkE.mjs +2 -0
  32. package/dist/railroad-abnf-HS5TGJTU-4264fZjH.js +1 -0
  33. package/dist/railroad-abnf-HS5TGJTU-BKCsR9iC.mjs +2 -0
  34. package/dist/railroad-ebnf-LZEXJU2U-BXErl5kO.js +1 -0
  35. package/dist/railroad-ebnf-LZEXJU2U-DzDOfuxK.mjs +2 -0
  36. package/dist/railroad-peg-WCYAUIDC-B6gNHamV.mjs +2 -0
  37. package/dist/railroad-peg-WCYAUIDC-D7pSwRGa.js +1 -0
  38. package/dist/rolldown-runtime-B0aSnxlc.mjs +20 -0
  39. package/dist/rolldown-runtime-DF3sbh8G.js +1 -0
  40. package/dist/svelte-compiler-loader-Deqbdbvf.js +1 -0
  41. package/dist/svelte-compiler-loader-DtYQgEKV.mjs +50 -0
  42. package/dist/svelte-runtime-Brc440dp.js +5 -0
  43. package/dist/svelte-runtime-CgCk_bw1.mjs +40 -0
  44. package/dist/treeView-Q6P3EWNA-DArM8kFH.mjs +2 -0
  45. package/dist/treeView-Q6P3EWNA-JstiGzov.js +1 -0
  46. package/dist/treemap-WGGIJYW6-CMIcmEVN.mjs +2 -0
  47. package/dist/treemap-WGGIJYW6-Dq6fFckz.js +1 -0
  48. package/dist/ts-compiler-BMDmcNn5.mjs +93 -0
  49. package/dist/ts-compiler-U7pTMJjY.js +3 -0
  50. package/dist/types/runtime/bridges/dynamic-component.d.ts +43 -0
  51. package/dist/types/runtime/bridges/element-bridge.d.ts +24 -0
  52. package/dist/types/runtime/bridges/index.d.ts +3 -0
  53. package/dist/types/runtime/bridges/react-bridge.d.ts +35 -0
  54. package/dist/types/runtime/compiler-cache.d.ts +18 -0
  55. package/dist/types/runtime/config-schema.d.ts +2 -0
  56. package/dist/types/runtime/favicons.d.ts +28 -0
  57. package/dist/types/runtime/loader/local-loader.d.ts +13 -0
  58. package/dist/types/runtime/markdown/component-body.d.ts +7 -0
  59. package/dist/types/runtime/markdown/escape.d.ts +1 -0
  60. package/dist/types/runtime/markdown/highlighter.d.ts +32 -6
  61. package/dist/types/runtime/markdown/katex.d.ts +5 -0
  62. package/dist/types/runtime/markdown/mermaid-engine.d.ts +1 -0
  63. package/dist/types/runtime/markdown/mermaid-loader.d.ts +19 -0
  64. package/dist/types/runtime/markdown/mermaid.d.ts +6 -0
  65. package/dist/types/runtime/markdown/tables.d.ts +68 -0
  66. package/dist/types/runtime/media.d.ts +30 -0
  67. package/dist/types/runtime/motion.d.ts +134 -0
  68. package/dist/types/runtime/offline-export.d.ts +9 -2
  69. package/dist/types/runtime/router.d.ts +40 -2
  70. package/dist/types/runtime/splash.d.ts +90 -0
  71. package/dist/types/runtime/svelte-compiler-engine.d.ts +1 -0
  72. package/dist/types/runtime/svelte-compiler-loader.d.ts +14 -0
  73. package/dist/types/runtime/svelte-runtime.d.ts +29 -0
  74. package/dist/types/runtime/svelte-tag.d.ts +7 -0
  75. package/dist/types/runtime/ts-compiler.d.ts +24 -0
  76. package/dist/types/runtime/types.d.ts +1 -0
  77. package/dist/types/ui/doc-context.svelte.d.ts +198 -0
  78. package/dist/types/ui/index.d.ts +33 -0
  79. package/dist/types/ui/registry.d.ts +52 -0
  80. package/dist/types/ui/theme.svelte.d.ts +32 -0
  81. package/dist/wardley-WFR3VGLG-BK9BA6h6.mjs +2 -0
  82. package/dist/wardley-WFR3VGLG-Cbs7W-dU.js +1 -0
  83. package/package.json +61 -48
  84. package/schemas/docs.schema.json +186 -181
  85. package/templates/.dmd/CounterWidget.svelte +29 -0
  86. package/templates/README.md +2 -2
  87. package/templates/favicon.svg +12 -0
  88. package/templates/favicons/favicon-book.svg +11 -0
  89. package/templates/favicons/favicon-markdown.svg +11 -0
  90. package/templates/favicons/favicon-minimal.svg +15 -0
  91. package/templates/favicons/favicon-terminal.svg +14 -0
  92. package/templates/favicons/favicon.svg +12 -0
  93. package/templates/guides/custom-components.md +82 -22
  94. package/templates/index.html +6 -3
  95. package/dist/abnfDiagram-VCTEODGH-CtQBp0Qv.mjs +0 -89
  96. package/dist/abnfDiagram-VCTEODGH-mccrzlD_.js +0 -1
  97. package/dist/arc-DgPKXEdT.mjs +0 -82
  98. package/dist/arc-n7TW7Bis.js +0 -1
  99. package/dist/architecture-7GRP2DOG-B7myQ46f.js +0 -1
  100. package/dist/architecture-7GRP2DOG-Cxj1ussQ.mjs +0 -3
  101. package/dist/architectureDiagram-5GKGNRK7-BdTCu5T3.js +0 -36
  102. package/dist/architectureDiagram-5GKGNRK7-CkgZa-G1.mjs +0 -4154
  103. package/dist/array-CApNbSU9.mjs +0 -6
  104. package/dist/array-DZSRzHA_.js +0 -1
  105. package/dist/blockDiagram-I7D4REHJ-CSYvpxQw.js +0 -129
  106. package/dist/blockDiagram-I7D4REHJ-CYngfPD9.mjs +0 -1922
  107. package/dist/c4Diagram-7LVT6UL2-B-sz5MUK.js +0 -38
  108. package/dist/c4Diagram-7LVT6UL2-DEzxFf2b.mjs +0 -3010
  109. package/dist/channel-LgHproiI.mjs +0 -5
  110. package/dist/channel-yqu0m4cl.js +0 -1
  111. package/dist/chunk-2E4U76K2-BOyeRQsI.js +0 -1
  112. package/dist/chunk-2E4U76K2-CoTrgtfg.mjs +0 -348
  113. package/dist/chunk-2Q5K7J3B-D4EgYPOq.mjs +0 -15
  114. package/dist/chunk-2Q5K7J3B-DhjCNjaM.js +0 -1
  115. package/dist/chunk-4HAMMTFA-GFyfmcSO.js +0 -62
  116. package/dist/chunk-4HAMMTFA-VgWPe1ng.mjs +0 -4188
  117. package/dist/chunk-5VM5RSS4-GINalzIv.js +0 -15
  118. package/dist/chunk-5VM5RSS4-TqxtqrwE.mjs +0 -5
  119. package/dist/chunk-75Z2AOVW-DYouz5MZ.js +0 -2
  120. package/dist/chunk-75Z2AOVW-Dz0Sko9Y.mjs +0 -1330
  121. package/dist/chunk-CLGD4ZFX-C5J-e2io.js +0 -1
  122. package/dist/chunk-CLGD4ZFX-DBkwyMMv.mjs +0 -14
  123. package/dist/chunk-DU6HZSFF-BEQZSmUu.mjs +0 -3836
  124. package/dist/chunk-DU6HZSFF-CWc5ewtb.js +0 -127
  125. package/dist/chunk-F27PBJKO-8jvY_jJK.js +0 -1
  126. package/dist/chunk-F27PBJKO-DFH3sRZG.mjs +0 -61
  127. package/dist/chunk-FOHPRMQF-LRqOLsSw.mjs +0 -21456
  128. package/dist/chunk-FOHPRMQF-tmTlwTeH.js +0 -161
  129. package/dist/chunk-GMAD6QVW-BZeZ4fdb.mjs +0 -1863
  130. package/dist/chunk-GMAD6QVW-DEQiTa0c.js +0 -72
  131. package/dist/chunk-GVQU2GXP-B1D3J05J.mjs +0 -37
  132. package/dist/chunk-GVQU2GXP-CdJIWN41.js +0 -1
  133. package/dist/chunk-IMKFNOWR-BmZb9U1f.mjs +0 -2042
  134. package/dist/chunk-IMKFNOWR-CPJsszGN.js +0 -231
  135. package/dist/chunk-JWPE2WC7-DIKiF5cm.mjs +0 -8
  136. package/dist/chunk-JWPE2WC7-p1fYVdYc.js +0 -1
  137. package/dist/chunk-L3NEJ4N5-TzDiVs78.js +0 -1
  138. package/dist/chunk-L3NEJ4N5-lal8wUID.mjs +0 -245
  139. package/dist/chunk-LNGE3PJU-BQX75wkM.js +0 -34
  140. package/dist/chunk-LNGE3PJU-DJ9JuXV6.mjs +0 -1521
  141. package/dist/chunk-OSK3NFVY-9AWK88m1.mjs +0 -672
  142. package/dist/chunk-OSK3NFVY-CHzvVe8m.js +0 -10
  143. package/dist/chunk-P2QGCYS3-6q3AXPt5.mjs +0 -67
  144. package/dist/chunk-P2QGCYS3-DKZzpRQW.js +0 -1
  145. package/dist/chunk-POPQ4Y6H-Dd7J9tx3.mjs +0 -26
  146. package/dist/chunk-POPQ4Y6H-T5C7wpjf.js +0 -1
  147. package/dist/chunk-PWAF6VOD-BYG76tEe.mjs +0 -275
  148. package/dist/chunk-PWAF6VOD-DxZLuCEw.js +0 -1
  149. package/dist/chunk-SHT3W25Y-B2Wes8jn.mjs +0 -4183
  150. package/dist/chunk-SHT3W25Y-BQjHSn5K.js +0 -168
  151. package/dist/chunk-SVP7TREG-BFMd615E.js +0 -88
  152. package/dist/chunk-SVP7TREG-CynckzeF.mjs +0 -490
  153. package/dist/chunk-TICWLB2K-BfCuoR1V.mjs +0 -3357
  154. package/dist/chunk-TICWLB2K-agcyBfUp.js +0 -206
  155. package/dist/chunk-TLUHSLCS-CUrWaKDG.mjs +0 -59
  156. package/dist/chunk-TLUHSLCS-Drx_a7am.js +0 -1
  157. package/dist/chunk-XXDRQBXY-AAk1-Cyg.js +0 -1
  158. package/dist/chunk-XXDRQBXY-DpR8eYzz.mjs +0 -9
  159. package/dist/chunk-Y2CYZVJY-CnmLqFtv.js +0 -1
  160. package/dist/chunk-Y2CYZVJY-i11wjrBe.mjs +0 -12
  161. package/dist/classDiagram-ZZMXUADV-B7IN9zcX.js +0 -1
  162. package/dist/classDiagram-ZZMXUADV-tcy6gxSB.mjs +0 -30
  163. package/dist/classDiagram-v2-VYDZK3BY-B7IN9zcX.js +0 -1
  164. package/dist/classDiagram-v2-VYDZK3BY-D5wM6Acp.mjs +0 -30
  165. package/dist/cose-bilkent-JH36ORCC-DBUPO3qJ.js +0 -1
  166. package/dist/cose-bilkent-JH36ORCC-Slpx4WIt.mjs +0 -2253
  167. package/dist/cynefin-OW5HDTMX--QVnfGi1.mjs +0 -3
  168. package/dist/cynefin-OW5HDTMX-lNKysi7S.js +0 -1
  169. package/dist/cynefinDiagram-5FMLGOSQ-CsFONYqx.js +0 -62
  170. package/dist/cynefinDiagram-5FMLGOSQ-DsrxYBcg.mjs +0 -355
  171. package/dist/cytoscape.esm-C5TvPYYm.mjs +0 -18148
  172. package/dist/cytoscape.esm-CBmWJr5M.js +0 -321
  173. package/dist/dagre-CZ6P9L_h.js +0 -1
  174. package/dist/dagre-GXQ25YYZ-CQszk-7P.js +0 -4
  175. package/dist/dagre-GXQ25YYZ-ecYByRSn.mjs +0 -425
  176. package/dist/dagre-J_1oH0eY.mjs +0 -1934
  177. package/dist/defaultLocale-N-0uLSyg.mjs +0 -198
  178. package/dist/defaultLocale-ybN1Vtvg.js +0 -1
  179. package/dist/diagram-S7CK7UJ4-CTMvxX__.js +0 -30
  180. package/dist/diagram-S7CK7UJ4-DxCghfa-.mjs +0 -301
  181. package/dist/diagram-UQ7AKVKN-1viEkqlG.js +0 -41
  182. package/dist/diagram-UQ7AKVKN-BA7Z_oB7.mjs +0 -214
  183. package/dist/diagram-VSXAHHWV-DgVT19mq.js +0 -3
  184. package/dist/diagram-VSXAHHWV-Dtqo03M5.mjs +0 -432
  185. package/dist/diagram-VX7I27RA-CNw0pOX_.js +0 -24
  186. package/dist/diagram-VX7I27RA-GMPRt8Zh.mjs +0 -527
  187. package/dist/diagram-Z3DM3KII-C6XdQK_Q.mjs +0 -134
  188. package/dist/diagram-Z3DM3KII-CPkBr3FT.js +0 -24
  189. package/dist/dist-CXWJafG_.js +0 -1
  190. package/dist/dist-DNdLIC8h.mjs +0 -59
  191. package/dist/ebnfDiagram-PWID7BFC-CseVsyL3.js +0 -1
  192. package/dist/ebnfDiagram-PWID7BFC-D_dBDXWC.mjs +0 -100
  193. package/dist/erDiagram-RLTQ6QDP-DFwfQTRS.js +0 -99
  194. package/dist/erDiagram-RLTQ6QDP-DP7ddGMH.mjs +0 -1966
  195. package/dist/eventmodeling-NTZA5JFV-CzxVg0l5.js +0 -1
  196. package/dist/eventmodeling-NTZA5JFV-Djsy__5n.mjs +0 -3
  197. package/dist/flowDiagram-HODETNUW-7hSJfI3W.js +0 -1
  198. package/dist/flowDiagram-HODETNUW-Dqu5Lr19.mjs +0 -17
  199. package/dist/ganttDiagram-EL5Y4UJY-KNL3tzTD.mjs +0 -3072
  200. package/dist/ganttDiagram-EL5Y4UJY-aiLqNWgi.js +0 -292
  201. package/dist/gitGraph-4MIJSDKK-DnElfqX7.js +0 -1
  202. package/dist/gitGraph-4MIJSDKK-xuKJBT2e.mjs +0 -3
  203. package/dist/gitGraphDiagram-WWUBYQGX-D4gSo_-e.js +0 -106
  204. package/dist/gitGraphDiagram-WWUBYQGX-Dooss5fG.mjs +0 -733
  205. package/dist/graphlib-BaETKKSa.js +0 -1
  206. package/dist/graphlib-XW-Jr8pF.mjs +0 -1267
  207. package/dist/info-A6RAGUB7-ClYskpn6.mjs +0 -3
  208. package/dist/info-A6RAGUB7-DDvvt-fW.js +0 -1
  209. package/dist/infoDiagram-27XIBGKW-B2-y2mdQ.mjs +0 -20
  210. package/dist/infoDiagram-27XIBGKW-DYQ9NzfL.js +0 -2
  211. package/dist/init-BJdqMO10.js +0 -1
  212. package/dist/init-CsQUQz36.mjs +0 -13
  213. package/dist/ishikawaDiagram-5VMMS53U-ULIhoYO5.js +0 -70
  214. package/dist/ishikawaDiagram-5VMMS53U-xAArNh-1.mjs +0 -719
  215. package/dist/journeyDiagram-3NMN7TZE-BBMYNZRL.js +0 -139
  216. package/dist/journeyDiagram-3NMN7TZE-BH-uKqP7.mjs +0 -884
  217. package/dist/kanban-definition-UXKFOSKX-Be49llXr.mjs +0 -976
  218. package/dist/kanban-definition-UXKFOSKX-CDL5yJkq.js +0 -89
  219. package/dist/line-BEwhHSLl.js +0 -1
  220. package/dist/line-CiXRog8O.mjs +0 -34
  221. package/dist/linear-75tfjrny.js +0 -1
  222. package/dist/linear-Ncx_RuON.mjs +0 -288
  223. package/dist/mermaid-parser.core-BBApyu_y.js +0 -6
  224. package/dist/mermaid-parser.core-BRHibdUE.mjs +0 -638
  225. package/dist/mindmap-definition-YA3MSWOX-Chy7XP_5.mjs +0 -1006
  226. package/dist/mindmap-definition-YA3MSWOX-DOda-fkL.js +0 -96
  227. package/dist/ordinal-B1BNQwUR.mjs +0 -65
  228. package/dist/ordinal-B9aFWmF9.js +0 -1
  229. package/dist/packet-AYTQ26CC-CorIy9Ul.js +0 -1
  230. package/dist/packet-AYTQ26CC-DWH8gXJK.mjs +0 -3
  231. package/dist/path-CnWkkRiY.mjs +0 -84
  232. package/dist/path-DIS6ck99.js +0 -1
  233. package/dist/pegDiagram-XKGWAZYB-Cdw6MeON.js +0 -1
  234. package/dist/pegDiagram-XKGWAZYB-uNfxRaq1.mjs +0 -94
  235. package/dist/pie-WAS4IAKB-Cn5eK-5P.mjs +0 -3
  236. package/dist/pie-WAS4IAKB-D84xrSoY.js +0 -1
  237. package/dist/pieDiagram-E7YTZNPT-Bd6mvpJw.js +0 -39
  238. package/dist/pieDiagram-E7YTZNPT-Cczo96a2.mjs +0 -203
  239. package/dist/quadrantDiagram-AXDQQJYC-BPfgvMsS.js +0 -7
  240. package/dist/quadrantDiagram-AXDQQJYC-eqRNtVRl.mjs +0 -2001
  241. package/dist/radar-RG4KPBEZ-DvkxGdO6.mjs +0 -3
  242. package/dist/radar-RG4KPBEZ-R2sQOLL9.js +0 -1
  243. package/dist/railroad-74A4TZTK-BOZIf6ts.js +0 -1
  244. package/dist/railroad-74A4TZTK-CrQzn8Nm.mjs +0 -3
  245. package/dist/railroad-abnf-HS5TGJTU-BZYetxLz.mjs +0 -3
  246. package/dist/railroad-abnf-HS5TGJTU-CXU1aC4B.js +0 -1
  247. package/dist/railroad-ebnf-LZEXJU2U-D29kI3YW.js +0 -1
  248. package/dist/railroad-ebnf-LZEXJU2U-qgzTOmN6.mjs +0 -3
  249. package/dist/railroad-peg-WCYAUIDC-Bjs9Ws3P.mjs +0 -3
  250. package/dist/railroad-peg-WCYAUIDC-CXviP0hz.js +0 -1
  251. package/dist/railroadDiagram-O6MQD6OU-58kvwt7H.mjs +0 -76
  252. package/dist/railroadDiagram-O6MQD6OU-CKY3uzTc.js +0 -1
  253. package/dist/requirementDiagram-BXWQKSXE-0hZ04Q6h.js +0 -84
  254. package/dist/requirementDiagram-BXWQKSXE-CS673B5n.mjs +0 -2224
  255. package/dist/rough.esm-ChRLLRha.js +0 -1
  256. package/dist/rough.esm-DXYGHN3m.mjs +0 -1361
  257. package/dist/sankeyDiagram-P5KCCOFB-D1D6HfAM.mjs +0 -972
  258. package/dist/sankeyDiagram-P5KCCOFB-ciJb9Zr8.js +0 -40
  259. package/dist/sequenceDiagram-WJ2MYXX4-BXEznuI6.js +0 -162
  260. package/dist/sequenceDiagram-WJ2MYXX4-CI1VT8AG.mjs +0 -4156
  261. package/dist/sizeCapture-INFHLROL-BihkCH-7.js +0 -1
  262. package/dist/sizeCapture-INFHLROL-BmxqyOLj.mjs +0 -46
  263. package/dist/src-B4mN2BMl.js +0 -1
  264. package/dist/src-D_hsMyeP.mjs +0 -2154
  265. package/dist/stateDiagram-D77RDMKH-BQrSs72W.mjs +0 -220
  266. package/dist/stateDiagram-D77RDMKH-D2PtkW2U.js +0 -1
  267. package/dist/stateDiagram-v2-MP3YSRHH-CCbvNfk-.mjs +0 -30
  268. package/dist/stateDiagram-v2-MP3YSRHH-Dq1QuPeN.js +0 -1
  269. package/dist/swimlanes-42K2YHIH-CA316NPm.mjs +0 -4979
  270. package/dist/swimlanes-42K2YHIH-DlggBCTy.js +0 -1
  271. package/dist/swimlanesDiagram-VR7AAH4N-BV9PEIoG.js +0 -8
  272. package/dist/swimlanesDiagram-VR7AAH4N-BfrOCfdf.mjs +0 -31
  273. package/dist/timeline-definition-24CTP7MA-Bkd8rWNJ.js +0 -120
  274. package/dist/timeline-definition-24CTP7MA-BvkqNYt1.mjs +0 -1069
  275. package/dist/treeView-Q6P3EWNA-Aof3Cp1M.mjs +0 -3
  276. package/dist/treeView-Q6P3EWNA-BTzvdwbb.js +0 -1
  277. package/dist/treemap-WGGIJYW6-BNXGg99p.mjs +0 -3
  278. package/dist/treemap-WGGIJYW6-DfR4P2Hh.js +0 -1
  279. package/dist/types/runtime/app.d.ts +0 -9
  280. package/dist/types/runtime/components/AppearanceMenu.d.ts +0 -2
  281. package/dist/types/runtime/components/Builtins.d.ts +0 -44
  282. package/dist/types/runtime/components/Content.d.ts +0 -2
  283. package/dist/types/runtime/components/DmdRegistry.d.ts +0 -19
  284. package/dist/types/runtime/components/Layout.d.ts +0 -2
  285. package/dist/types/runtime/components/MermaidDiagram.d.ts +0 -16
  286. package/dist/types/runtime/components/Navbar.d.ts +0 -2
  287. package/dist/types/runtime/components/OfflineDownloadButton.d.ts +0 -2
  288. package/dist/types/runtime/components/OfflineNotice.d.ts +0 -6
  289. package/dist/types/runtime/components/Sidebar.d.ts +0 -2
  290. package/dist/types/runtime/components/TableOfContents.d.ts +0 -8
  291. package/dist/types/runtime/index.d.ts +0 -8
  292. package/dist/types/runtime/markdown/renderer.d.ts +0 -7
  293. package/dist/types/runtime/provider/DocProvider.d.ts +0 -40
  294. package/dist/types/runtime/provider/ThemeProvider.d.ts +0 -25
  295. package/dist/types/runtime/search/SearchModal.d.ts +0 -11
  296. package/dist/vennDiagram-4TSXK5OY-BOUFXjso.js +0 -34
  297. package/dist/vennDiagram-4TSXK5OY-CeOg3-hU.mjs +0 -1880
  298. package/dist/wardley-WFR3VGLG-BOYcSLd1.mjs +0 -3
  299. package/dist/wardley-WFR3VGLG-DWDqJSgm.js +0 -1
  300. package/dist/wardleyDiagram-VM6X3IG4-BhWgMjFr.js +0 -78
  301. package/dist/wardleyDiagram-VM6X3IG4-C31KoRmF.mjs +0 -645
  302. package/dist/xychartDiagram-S5SC5T6Z-1yU8zz6I.js +0 -7
  303. package/dist/xychartDiagram-S5SC5T6Z-BK7upFom.mjs +0 -2210
  304. package/templates/.dmd/components.js +0 -25
package/dist/cli.js CHANGED
@@ -1,1030 +1,665 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- // If the importer is in node compatibility mode or this is not an ESM
19
- // file that has been converted to a CommonJS file using a Babel-
20
- // compatible transform (i.e. "__esModule" has not been set), then set
21
- // "default" to the CommonJS "module.exports" for node compatibility.
22
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
- mod
24
- ));
25
-
26
- // src/cli/index.ts
27
- var import_node_fs7 = __toESM(require("fs"));
28
- var import_node_path7 = __toESM(require("path"));
29
- var import_commander = require("commander");
2
+ "use strict";var bl=Object.create;var ta=Object.defineProperty;var yl=Object.getOwnPropertyDescriptor;var wl=Object.getOwnPropertyNames;var xl=Object.getPrototypeOf,kl=Object.prototype.hasOwnProperty;var Ue=(r,e,t)=>()=>{if(t)throw t[0];try{return r&&(e=r(r=0)),e}catch(n){throw t=[n],n}};var Sl=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},ra=(r,e)=>{for(var t in e)ta(r,t,{get:e[t],enumerable:!0})},Al=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of wl(e))!kl.call(r,a)&&a!==t&&ta(r,a,{get:()=>e[a],enumerable:!(n=yl(e,a))||n.enumerable});return r};var X=(r,e,t)=>(t=r!=null?bl(xl(r)):{},Al(e||!r||!r.__esModule?ta(t,"default",{value:r,enumerable:!0}):t,r));var sr,Qr=Ue(()=>{sr={name:"docmedown",version:"0.9.0",description:"The simplest MarkDown documenter yet. CLI, web script, and static-site compiler with AI-native distribution.",author:"Gabriel M. P. da Silva",license:"Apache-2.0",homepage:"https://github.com/gabrielmsilva00/docmedown#readme",repository:{type:"git",url:"git+https://github.com/gabrielmsilva00/docmedown.git"},bugs:{url:"https://github.com/gabrielmsilva00/docmedown/issues"},keywords:["markdown","documentation","docs","docusaurus","docsify","svelte","spa","cli","offline-docs","github-docs","mcp","model-context-protocol"],engines:{node:">=20.19.0"},packageManager:"npm@11.16.0",main:"./dist/docmedown.cjs",module:"./dist/docmedown.mjs",types:"./dist/types/ui/index.d.ts",exports:{".":{types:"./dist/types/ui/index.d.ts",import:"./dist/docmedown.mjs",require:"./dist/docmedown.cjs"},"./motion":{types:"./dist/types/runtime/motion.d.ts",import:"./dist/docmedown.mjs",require:"./dist/docmedown.cjs"},"./iife":"./dist/docmedown.iife.js"},unpkg:"./dist/docmedown.iife.js",jsdelivr:"./dist/docmedown.iife.js",bin:{docmedown:"bin/docmedown.js",dmd:"bin/docmedown.js"},files:["dist","bin","templates","schemas","README.md","LICENSE"],scripts:{build:"node ./scripts/build.mjs","build:fast":"node ./scripts/build.mjs --fast","build:docs":"node ./bin/docmedown.js build ./docs","build:docs:watch":"node ./bin/docmedown.js build ./docs --watch",dev:"node ./bin/docmedown.js serve ./docs","dev:runtime":"vite build --watch","dev:mcp":"node ./bin/docmedown.js mcp ./docs",serve:"node ./bin/docmedown.js serve ./docs",check:"npm run typecheck && npm run lint",typecheck:"tsc --noEmit",lint:"biome check .","lint:fix":"biome check --write .",format:"biome format --write .",test:"node ./scripts/test-unit.mjs","test:mcp":"npx tsx --test tests/mcp.test.ts","test:mcp:client":"node ./scripts/test-mcp-client.mjs","test:artifacts":"npx tsx --test tests/offline-artifact.test.ts","test:bundle":"npx tsx --test tests/bundle-size.test.ts","test:release":"npm run typecheck && npm run lint && npm run test && npm run test:mcp && npm run build && npm run build:docs && npm run test:artifacts && npm run test:bundle && npm pack --dry-run",doctor:"node ./bin/docmedown.js doctor ./docs","doctor:project":"node ./scripts/doctor-project.mjs",validate:"node ./bin/docmedown.js validate ./docs","config:docs":"node ./bin/docmedown.js config ./docs/docs.json",clean:`node -e "fs.rmSync('dist', { recursive: true, force: true }); fs.rmSync('docs/.dist', { recursive: true, force: true })"`,deploy:"node ./scripts/deploy.mjs","deploy:dry-run":"npm run deploy -- --dry-run",prepublishOnly:"npm run test:release"},overrides:{tsup:{esbuild:"0.28.2"}},dependencies:{"@modelcontextprotocol/sdk":"^1.30.0",chalk:"^4.1.2",chokidar:"^3.6.0",commander:"^12.1.0",esbuild:"^0.28.2","gray-matter":"^4.0.3","mime-types":"^2.1.35",open:"^10.1.0",prompts:"^2.4.2",svelte:"^5.57.0",ws:"^8.18.0",zod:"^4.4.3"},devDependencies:{"@biomejs/biome":"^2.5.10","@sveltejs/vite-plugin-svelte":"^7.3.0","@types/node":"^22.5.0","@types/prismjs":"^1.26.6","@types/prompts":"^2.4.9","@types/react":"^18.3.31","@types/react-dom":"^18.3.7","@types/ws":"^8.5.12",katex:"^0.16.11",marked:"^14.1.1",mermaid:"^11.17.2",minisearch:"^7.1.0",motion:"^13.4.4",prismjs:"^1.29.0",react:"^18.3.1","react-dom":"^18.3.1",tsup:"^8.2.4",tsx:"^4.19.0",typescript:"^5.5.4",vite:"^8.2.2","vite-plugin-css-injected-by-js":"^5.0.2"}}});function Nl(r){return r.issues.map(e=>`${e.path.length>0?e.path.join("."):"config"}: ${e.message}`).join(`
3
+ `)}function na(r){let e=en.safeParse(r);if(e.success)return e.data;throw new Error(`Invalid DocMeDown configuration:
4
+ ${Nl(e.error)}`)}var L,Je,Cl,Dl,Ml,$l,El,zl,Ls,Rl,Fl,Ps,Ol,Il,_l,en,Hs,aa=Ue(()=>{"use strict";L=require("zod"),Je=L.z.string().trim().min(1,"Must not be empty."),Cl=L.z.enum(["indigo","emerald","sunset","violet","rose","slate","cyberpunk"]),Dl=L.z.enum(["atlas","blueprint","terminal","editorial"]),Ml=L.z.enum(["comfortable","compact"]),$l=L.z.enum(["light","dark","auto"]),El=L.z.enum(["github","gitlab","twitter","x","discord","custom"]),zl=L.z.enum(["info","success","warning","new"]),Ls=L.z.object({label:Je,href:Je,external:L.z.boolean().optional(),icon:L.z.string().optional()}).strict(),Rl=L.z.object({type:El,url:L.z.string().url("Must be an absolute URL."),label:L.z.string().optional(),icon:L.z.string().optional()}).strict(),Fl=L.z.discriminatedUnion("type",[L.z.object({type:L.z.literal("github"),repo:Je.regex(/^[^/\s]+\/[^/\s]+$/,"Use the owner/repository format."),branch:Je.optional(),docsDir:L.z.string().optional(),token:L.z.string().optional(),baseUrl:L.z.string().url("Must be an absolute URL.").optional()}).strict(),L.z.object({type:L.z.literal("gitlab"),repo:Je.regex(/^[^/\s]+\/[^/\s]+$/,"Use the namespace/repository format."),branch:Je.optional(),docsDir:L.z.string().optional(),token:L.z.string().optional(),baseUrl:L.z.string().url("Must be an absolute URL.").optional()}).strict(),L.z.object({type:L.z.literal("raw"),baseUrl:L.z.string().url("Must be an absolute URL."),branch:Je.optional(),docsDir:L.z.string().optional(),token:L.z.string().optional()}).strict()]),Ps=L.z.lazy(()=>L.z.object({title:L.z.string().optional(),path:L.z.string().optional(),slug:L.z.string().optional(),icon:L.z.string().optional(),badge:L.z.string().optional(),badgeType:zl.optional(),collapsed:L.z.boolean().optional(),children:L.z.array(Ps).optional()}).strict()),Ol=L.z.object({family:Dl.optional(),density:Ml.optional(),preset:Cl.optional(),defaultMode:$l.optional(),accentColor:L.z.string().optional(),accentColorDark:L.z.string().optional(),fontFamily:L.z.string().optional(),codeTheme:L.z.enum(["github","dracula","one-dark","synthwave"]).optional(),logo:L.z.object({light:L.z.string().optional(),dark:L.z.string().optional(),alt:L.z.string().optional(),text:L.z.string().optional()}).strict().optional(),favicon:L.z.string().optional()}).strict(),Il=L.z.object({enabled:L.z.boolean().optional(),placeholder:L.z.string().optional(),maxResults:L.z.number().int().positive().max(100).optional()}).strict(),_l=L.z.object({embedNestedDocs:L.z.boolean().optional()}).strict(),en=L.z.object({$schema:L.z.string().url("Must be an absolute URL.").optional(),name:Je.optional(),tagline:L.z.string().optional(),description:L.z.string().optional(),url:L.z.string().url("Must be an absolute URL.").optional(),version:L.z.string().optional(),rootDoc:Je.optional(),home:Je.optional(),source:Fl.optional(),theme:Ol.optional(),nav:L.z.array(Ls).optional(),socials:L.z.array(Rl).optional(),sidebar:L.z.array(Ps).optional(),autoIndex:L.z.object({enabled:L.z.boolean().optional(),exclude:L.z.array(Je).optional(),sort:L.z.enum(["alphabetical","frontmatter","natural"]).optional(),defaultCollapsed:L.z.boolean().optional()}).strict().optional(),search:Il.optional(),offline:_l.optional(),footer:L.z.object({copyright:L.z.string().optional(),links:L.z.array(Ls).optional(),showBuiltWith:L.z.boolean().optional()}).strict().optional(),componentsUrl:L.z.string().optional(),editUrl:L.z.string().optional()}).strict(),Hs=en.extend({name:Je})});function Pe(r={}){let e=na(r),t=e.theme?.preset,n=e.theme?.family||(t?Bl[t]:zt.theme?.family),{preset:a,...s}=e.theme??{},i={...zt,...e,theme:{...zt.theme,...s,family:n,logo:{...zt.theme?.logo,...e.theme?.logo}},autoIndex:{...zt.autoIndex,...e.autoIndex},search:{...zt.search,...e.search},offline:{...zt.offline,...e.offline},footer:{...zt.footer,...e.footer}};return Hs.parse(i)}function Rt(r,e){try{return na(JSON.parse(r))}catch(t){throw new Error(`${e}: ${t instanceof Error?t.message:String(t)}`)}}var Bl,zt,tn=Ue(()=>{"use strict";aa();Bl={indigo:"atlas",emerald:"atlas",sunset:"editorial",violet:"atlas",rose:"editorial",slate:"blueprint",cyberpunk:"terminal"},zt={name:"DocMeDown",tagline:"The simplest Markdown documenter yet",description:"Instant documentation site powered by DocMeDown",version:"1.0.0",rootDoc:"README.md",theme:{family:"atlas",density:"comfortable",defaultMode:"auto",codeTheme:"github"},autoIndex:{enabled:!0,sort:"natural",defaultCollapsed:!1,exclude:["node_modules",".git",".dmd","dist","bin","package.json","tsconfig.json"]},search:{enabled:!0,placeholder:"Search documentation...",maxResults:10},offline:{embedNestedDocs:!0},footer:{copyright:`\xA9 ${new Date().getFullYear()} DocMeDown. All rights reserved.`,showBuiltWith:!0}}});function xr(r){let e=r.replace(/\s+/g," ").trim();return typeof Buffer<"u"?`data:image/svg+xml;base64,${Buffer.from(e,"utf-8").toString("base64")}`:typeof btoa<"u"?`data:image/svg+xml;base64,${btoa(e)}`:`data:image/svg+xml;utf8,${encodeURIComponent(e)}`}function kr(r){return typeof r=="string"&&jl.includes(r)}function Ft(r){if(!r||r==="data:,")return Ll;let e=r.trim();return kr(e)?qs[e]:e}var jl,wr,qs,Ll,Sr=Ue(()=>{"use strict";jl=["default","markdown","terminal","book","minimal"],wr={default:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><defs><linearGradient id="dmd-fav-bg" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#4f46e5"/><stop offset="100%" stop-color="#7c3aed"/></linearGradient></defs><rect width="32" height="32" rx="7" fill="url(#dmd-fav-bg)"/><path d="M9 5h8.5l6.5 6.5V25a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z" fill="#ffffff" fill-opacity="0.16" stroke="#ffffff" stroke-width="1.8" stroke-linejoin="round"/><path d="M17.5 5v5a1.5 1.5 0 0 0 1.5 1.5h5" stroke="#ffffff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" fill="none"/><path d="M16 12.5v9.5m-3.5-3.5 3.5 3.5 3.5-3.5" stroke="#ffffff" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>',markdown:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><defs><linearGradient id="dmd-fav-md" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#1e293b"/><stop offset="100%" stop-color="#0f172a"/></linearGradient></defs><rect width="32" height="32" rx="7" fill="url(#dmd-fav-md)" stroke="#38bdf8" stroke-width="1.2" stroke-opacity="0.35"/><path d="M6.5 21V11h3l3 4.5 3-4.5h3v10" fill="none" stroke="#f8fafc" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22.5 11v10m-3-3 3 3 3-3" fill="none" stroke="#38bdf8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>',terminal:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><defs><linearGradient id="dmd-fav-term" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#0f172a"/><stop offset="100%" stop-color="#020617"/></linearGradient></defs><rect width="32" height="32" rx="7" fill="url(#dmd-fav-term)" stroke="#10b981" stroke-width="1.2" stroke-opacity="0.4"/><circle cx="8" cy="8" r="1.5" fill="#ef4444" opacity="0.85"/><circle cx="12.5" cy="8" r="1.5" fill="#f59e0b" opacity="0.85"/><circle cx="17" cy="8" r="1.5" fill="#10b981" opacity="0.85"/><path d="M8.5 15.5l5 4-5 4" fill="none" stroke="#10b981" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16.5" y1="23.5" x2="23.5" y2="23.5" stroke="#38bdf8" stroke-width="2.2" stroke-linecap="round"/></svg>',book:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><defs><linearGradient id="dmd-fav-book" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#2563eb"/><stop offset="100%" stop-color="#1d4ed8"/></linearGradient></defs><rect width="32" height="32" rx="7" fill="url(#dmd-fav-book)"/><path d="M16 11.5c-2.8-1.8-6.5-1.8-9.5 0v11c3-1.4 6.7-1.4 9.5 0m0-11c2.8-1.8 6.5-1.8 9.5 0v11c-3-1.4-6.7-1.4-9.5 0M16 11.5v11" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 7.5v2.5" stroke="#93c5fd" stroke-width="2" stroke-linecap="round"/></svg>',minimal:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><defs><linearGradient id="dmd-fav-min-bg" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#18181b"/><stop offset="100%" stop-color="#09090b"/></linearGradient><linearGradient id="dmd-fav-min-accent" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#38bdf8"/><stop offset="100%" stop-color="#818cf8"/></linearGradient></defs><rect width="32" height="32" rx="7" fill="url(#dmd-fav-min-bg)" stroke="#27272a" stroke-width="1.2"/><polygon points="16,6 25,11.2 25,20.8 16,26 7,20.8 7,11.2" fill="none" stroke="url(#dmd-fav-min-accent)" stroke-width="2" stroke-linejoin="round"/><circle cx="16" cy="16" r="3.5" fill="url(#dmd-fav-min-accent)"/></svg>'};qs={default:xr(wr.default),markdown:xr(wr.markdown),terminal:xr(wr.terminal),book:xr(wr.book),minimal:xr(wr.minimal)},Ll=qs.default});function Zl(r){return r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function yt(r){return r.startsWith("dmd-")?r:`dmd-${Zl(r)}`}function an(r,e){return/<svelte:options\b[^>]*customElement/i.test(r)?r:`<svelte:options customElement={{ tag: "${e}" }} />
5
+ ${r}`}var sn=Ue(()=>{"use strict"});var h0=Sl((um,dn)=>{"use strict";var Oc=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var G=(function(r){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},a={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function v(y){return y instanceof s?new s(y.type,v(y.content),y.alias):Array.isArray(y)?y.map(v):y.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(v){return Object.prototype.toString.call(v).slice(8,-1)},objId:function(v){return v.__id||Object.defineProperty(v,"__id",{value:++t}),v.__id},clone:function v(y,k){k=k||{};var w,A;switch(a.util.type(y)){case"Object":if(A=a.util.objId(y),k[A])return k[A];w={},k[A]=w;for(var $ in y)y.hasOwnProperty($)&&(w[$]=v(y[$],k));return w;case"Array":return A=a.util.objId(y),k[A]?k[A]:(w=[],k[A]=w,y.forEach(function(D,M){w[M]=v(D,k)}),w);default:return y}},getLanguage:function(v){for(;v;){var y=e.exec(v.className);if(y)return y[1].toLowerCase();v=v.parentElement}return"none"},setLanguage:function(v,y){v.className=v.className.replace(RegExp(e,"gi"),""),v.classList.add("language-"+y)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(w){var v=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(w.stack)||[])[1];if(v){var y=document.getElementsByTagName("script");for(var k in y)if(y[k].src==v)return y[k]}return null}},isActive:function(v,y,k){for(var w="no-"+y;v;){var A=v.classList;if(A.contains(y))return!0;if(A.contains(w))return!1;v=v.parentElement}return!!k}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(v,y){var k=a.util.clone(a.languages[v]);for(var w in y)k[w]=y[w];return k},insertBefore:function(v,y,k,w){w=w||a.languages;var A=w[v],$={};for(var D in A)if(A.hasOwnProperty(D)){if(D==y)for(var M in k)k.hasOwnProperty(M)&&($[M]=k[M]);k.hasOwnProperty(D)||($[D]=A[D])}var E=w[v];return w[v]=$,a.languages.DFS(a.languages,function(z,O){O===E&&z!=v&&(this[z]=$)}),$},DFS:function v(y,k,w,A){A=A||{};var $=a.util.objId;for(var D in y)if(y.hasOwnProperty(D)){k.call(y,D,y[D],w||D);var M=y[D],E=a.util.type(M);E==="Object"&&!A[$(M)]?(A[$(M)]=!0,v(M,k,null,A)):E==="Array"&&!A[$(M)]&&(A[$(M)]=!0,v(M,k,D,A))}}},plugins:{},highlightAll:function(v,y){a.highlightAllUnder(document,v,y)},highlightAllUnder:function(v,y,k){var w={callback:k,container:v,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",w),w.elements=Array.prototype.slice.apply(w.container.querySelectorAll(w.selector)),a.hooks.run("before-all-elements-highlight",w);for(var A=0,$;$=w.elements[A++];)a.highlightElement($,y===!0,w.callback)},highlightElement:function(v,y,k){var w=a.util.getLanguage(v),A=a.languages[w];a.util.setLanguage(v,w);var $=v.parentElement;$&&$.nodeName.toLowerCase()==="pre"&&a.util.setLanguage($,w);var D=v.textContent,M={element:v,language:w,grammar:A,code:D};function E(O){M.highlightedCode=O,a.hooks.run("before-insert",M),M.element.innerHTML=M.highlightedCode,a.hooks.run("after-highlight",M),a.hooks.run("complete",M),k&&k.call(M.element)}if(a.hooks.run("before-sanity-check",M),$=M.element.parentElement,$&&$.nodeName.toLowerCase()==="pre"&&!$.hasAttribute("tabindex")&&$.setAttribute("tabindex","0"),!M.code){a.hooks.run("complete",M),k&&k.call(M.element);return}if(a.hooks.run("before-highlight",M),!M.grammar){E(a.util.encode(M.code));return}if(y&&r.Worker){var z=new Worker(a.filename);z.onmessage=function(O){E(O.data)},z.postMessage(JSON.stringify({language:M.language,code:M.code,immediateClose:!0}))}else E(a.highlight(M.code,M.grammar,M.language))},highlight:function(v,y,k){var w={code:v,grammar:y,language:k};if(a.hooks.run("before-tokenize",w),!w.grammar)throw new Error('The language "'+w.language+'" has no grammar.');return w.tokens=a.tokenize(w.code,w.grammar),a.hooks.run("after-tokenize",w),s.stringify(a.util.encode(w.tokens),w.language)},tokenize:function(v,y){var k=y.rest;if(k){for(var w in k)y[w]=k[w];delete y.rest}var A=new c;return m(A,A.head,v),o(v,A,y,A.head,0),h(A)},hooks:{all:{},add:function(v,y){var k=a.hooks.all;k[v]=k[v]||[],k[v].push(y)},run:function(v,y){var k=a.hooks.all[v];if(!(!k||!k.length))for(var w=0,A;A=k[w++];)A(y)}},Token:s};r.Prism=a;function s(v,y,k,w){this.type=v,this.content=y,this.alias=k,this.length=(w||"").length|0}s.stringify=function v(y,k){if(typeof y=="string")return y;if(Array.isArray(y)){var w="";return y.forEach(function(E){w+=v(E,k)}),w}var A={type:y.type,content:v(y.content,k),tag:"span",classes:["token",y.type],attributes:{},language:k},$=y.alias;$&&(Array.isArray($)?Array.prototype.push.apply(A.classes,$):A.classes.push($)),a.hooks.run("wrap",A);var D="";for(var M in A.attributes)D+=" "+M+'="'+(A.attributes[M]||"").replace(/"/g,"&quot;")+'"';return"<"+A.tag+' class="'+A.classes.join(" ")+'"'+D+">"+A.content+"</"+A.tag+">"};function i(v,y,k,w){v.lastIndex=y;var A=v.exec(k);if(A&&w&&A[1]){var $=A[1].length;A.index+=$,A[0]=A[0].slice($)}return A}function o(v,y,k,w,A,$){for(var D in k)if(!(!k.hasOwnProperty(D)||!k[D])){var M=k[D];M=Array.isArray(M)?M:[M];for(var E=0;E<M.length;++E){if($&&$.cause==D+","+E)return;var z=M[E],O=z.inside,B=!!z.lookbehind,U=!!z.greedy,W=z.alias;if(U&&!z.pattern.global){var re=z.pattern.toString().match(/[imsuy]*$/)[0];z.pattern=RegExp(z.pattern.source,re+"g")}for(var ee=z.pattern||z,Z=w.next,ne=A;Z!==y.tail&&!($&&ne>=$.reach);ne+=Z.value.length,Z=Z.next){var ie=Z.value;if(y.length>v.length)return;if(!(ie instanceof s)){var ze=1,xe;if(U){if(xe=i(ee,ne,v,B),!xe||xe.index>=v.length)break;var ke=xe.index,$e=xe.index+xe[0].length,ue=ne;for(ue+=Z.value.length;ke>=ue;)Z=Z.next,ue+=Z.value.length;if(ue-=Z.value.length,ne=ue,Z.value instanceof s)continue;for(var Fe=Z;Fe!==y.tail&&(ue<$e||typeof Fe.value=="string");Fe=Fe.next)ze++,ue+=Fe.value.length;ze--,ie=v.slice(ne,ue),xe.index-=ne}else if(xe=i(ee,0,ie,B),!xe)continue;var ke=xe.index,Xe=xe[0],it=ie.slice(0,ke),Vr=ie.slice(ke+Xe.length),ot=ne+ie.length;$&&ot>$.reach&&($.reach=ot);var Vt=Z.prev;it&&(Vt=m(y,Vt,it),ne+=it.length),u(y,Vt,ze);var Et=new s(D,O?a.tokenize(Xe,O):Xe,W,Xe);if(Z=m(y,Vt,Et),Vr&&m(y,Z,Vr),ze>1){var ar={cause:D+","+E,reach:ot};o(v,y,k,Z.prev,ne,ar),$&&ar.reach>$.reach&&($.reach=ar.reach)}}}}}}function c(){var v={value:null,prev:null,next:null},y={value:null,prev:v,next:null};v.next=y,this.head=v,this.tail=y,this.length=0}function m(v,y,k){var w=y.next,A={value:k,prev:y,next:w};return y.next=A,w.prev=A,v.length++,A}function u(v,y,k){for(var w=y.next,A=0;A<k&&w!==v.tail;A++)w=w.next;y.next=w,w.prev=y,v.length-=A}function h(v){for(var y=[],k=v.head.next;k!==v.tail;)y.push(k.value),k=k.next;return y}if(!r.document)return r.addEventListener&&(a.disableWorkerMessageHandler||r.addEventListener("message",function(v){var y=JSON.parse(v.data),k=y.language,w=y.code,A=y.immediateClose;r.postMessage(a.highlight(w,a.languages[k],k)),A&&r.close()},!1)),a;var g=a.util.currentScript();g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0));function b(){a.manual||a.highlightAll()}if(!a.manual){var x=document.readyState;x==="loading"||x==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",b):window.requestAnimationFrame?window.requestAnimationFrame(b):window.setTimeout(b,16)}return a})(Oc);typeof dn<"u"&&dn.exports&&(dn.exports=G);typeof global<"u"&&(global.Prism=G);G.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};G.languages.markup.tag.inside["attr-value"].inside.entity=G.languages.markup.entity;G.languages.markup.doctype.inside["internal-subset"].inside=G.languages.markup;G.hooks.add("wrap",function(r){r.type==="entity"&&(r.attributes.title=r.content.replace(/&amp;/,"&"))});Object.defineProperty(G.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:G.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:G.languages[t]};var s={};s[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},G.languages.insertBefore("markup","cdata",s)}});Object.defineProperty(G.languages.markup.tag,"addAttribute",{value:function(r,e){G.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+r+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:G.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});G.languages.html=G.languages.markup;G.languages.mathml=G.languages.markup;G.languages.svg=G.languages.markup;G.languages.xml=G.languages.extend("markup",{});G.languages.ssml=G.languages.xml;G.languages.atom=G.languages.xml;G.languages.rss=G.languages.xml;(function(r){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+e.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css;var t=r.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))})(G);G.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};G.languages.javascript=G.languages.extend("clike",{"class-name":[G.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});G.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;G.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:G.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:G.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:G.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:G.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:G.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});G.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:G.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});G.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});G.languages.markup&&(G.languages.markup.tag.addInlined("script","javascript"),G.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));G.languages.js=G.languages.javascript;(function(){if(typeof G>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var r="Loading\u2026",e=function(g,b){return"\u2716 Error "+g+" while fetching file: "+b},t="\u2716 Error: File does not exist or is empty",n={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",s="loading",i="loaded",o="failed",c="pre[data-src]:not(["+a+'="'+i+'"]):not(['+a+'="'+s+'"])';function m(g,b,x){var v=new XMLHttpRequest;v.open("GET",g,!0),v.onreadystatechange=function(){v.readyState==4&&(v.status<400&&v.responseText?b(v.responseText):v.status>=400?x(e(v.status,v.statusText)):x(t))},v.send(null)}function u(g){var b=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(g||"");if(b){var x=Number(b[1]),v=b[2],y=b[3];return v?y?[x,Number(y)]:[x,void 0]:[x,x]}}G.hooks.add("before-highlightall",function(g){g.selector+=", "+c}),G.hooks.add("before-sanity-check",function(g){var b=g.element;if(b.matches(c)){g.code="",b.setAttribute(a,s);var x=b.appendChild(document.createElement("CODE"));x.textContent=r;var v=b.getAttribute("data-src"),y=g.language;if(y==="none"){var k=(/\.(\w+)$/.exec(v)||[,"none"])[1];y=n[k]||k}G.util.setLanguage(x,y),G.util.setLanguage(b,y);var w=G.plugins.autoloader;w&&w.loadLanguages(y),m(v,function(A){b.setAttribute(a,i);var $=u(b.getAttribute("data-range"));if($){var D=A.split(/\r\n?|\n/g),M=$[0],E=$[1]==null?D.length:$[1];M<0&&(M+=D.length),M=Math.max(0,Math.min(M-1,D.length)),E<0&&(E+=D.length),E=Math.max(0,Math.min(E,D.length)),A=D.slice(M,E).join(`
6
+ `),b.hasAttribute("data-start")||b.setAttribute("data-start",String(M+1))}x.textContent=A,G.highlightElement(x)},function(A){b.setAttribute(a,o),x.textContent=A})}}),G.plugins.fileHighlight={highlight:function(b){for(var x=(b||document).querySelectorAll(c),v=0,y;y=x[v++];)G.highlightElement(y)}};var h=!1;G.fileHighlight=function(){h||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),h=!0),G.plugins.fileHighlight.highlight.apply(this,arguments)}})()});function F0(r){return Number.isInteger(r)&&r>0&&r<=1114111?String.fromCodePoint(r):""}function ld(r){return r.replace(/&#x([0-9a-f]+);/gi,(e,t)=>F0(parseInt(t,16))).replace(/&#([0-9]+);/g,(e,t)=>F0(Number(t))).replace(/&([a-z][a-z0-9]*);/gi,(e,t)=>od[t.toLowerCase()]??e)}function gn(r){return ld(r.replace(cd,"$1").replace(dd,"$1").replace(ud,"$1").replace(md,"$1").replace(pd,"$1").replace(hd,"$1").replace(fd,"$1")).replace(/\s+/g," ").trim()}var od,cd,dd,ud,md,pd,hd,fd,Sa=Ue(()=>{"use strict";od={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",copy:"\xA9",reg:"\xAE",trade:"\u2122",middot:"\xB7",hellip:"\u2026",mdash:"\u2014",ndash:"\u2013",bull:"\u2022",deg:"\xB0",times:"\xD7",plusmn:"\xB1",laquo:"\xAB",raquo:"\xBB",sect:"\xA7",para:"\xB6"};cd=/!\[([^\]]*)\]\([^)]*\)/g,dd=/\[([^\]]+)\]\([^)]*\)/g,ud=/`([^`]+)`/g,md=/\*\*([^*\n]+)\*\*/g,pd=/__([^_\n]+)__/g,hd=/\*([^*\n]+)\*/g,fd=/~~([^~\n]+)~~/g});function kd(r){if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function Sd(r){if(r.default!==void 0)return r.default;var e=Array.isArray(r.type)?r.type[0]:r.type;return kd(e)}function Ad(r,e,t,n){var a=t[e];r[e]=a!==void 0?n.processor?n.processor(a):a:Sd(n)}function zd(r){for(var e=0;e<ja.length;e++)for(var t=ja[e],n=0;n<t.blocks.length;n++){var a=t.blocks[n];if(r>=a[0]&&r<=a[1])return t.name}return null}function fi(r){for(var e=0;e<Mn.length;e+=2)if(r>=Mn[e]&&r<=Mn[e+1])return!0;return!1}function Hd(r){return"toText"in r}function Wd(r){if(r instanceof Be)return r;throw new Error("Expected symbolNode but got "+String(r)+".")}function Vd(r){if(r instanceof jt)return r;throw new Error("Expected span<HtmlDomNode> but got "+String(r)+".")}function Xd(r,e){ut[r]=e}function os(r,e,t){if(!ut[e])throw new Error("Font metrics not found for font: "+e+".");var n=r.charCodeAt(0),a=ut[e][n];if(!a&&r[0]in I0&&(n=I0[r[0]].charCodeAt(0),a=ut[e][n]),!a&&t==="text"&&fi(n)&&(a=ut[e][77]),a)return{depth:a[0],height:a[1],italic:a[2],skew:a[3],width:a[4]}}function Jd(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Aa[e]){var t=Aa[e]={cssEmPerMu:vn.quad[e]/18};for(var n in vn)vn.hasOwnProperty(n)&&(t[n]=vn[n][e])}return Aa[e]}function l(r,e,t,n,a,s){me[r][a]={font:e,group:t,replace:n},s&&n&&(me[r][n]=me[r][a])}function P(r){for(var{type:e,names:t,props:n,handler:a,htmlBuilder:s,mathmlBuilder:i}=r,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:a},c=0;c<t.length;++c)Ti[t[c]]=o;e&&(s&&(zn[e]=s),i&&(Rn[e]=i))}function er(r){var{type:e,htmlBuilder:t,mathmlBuilder:n}=r;P({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:t,mathmlBuilder:n})}function Sn(r,e){var t=F(["base"],r,e),n=F(["strut"]);return n.style.height=N(t.height+t.depth),t.depth&&(n.style.verticalAlign=N(-t.depth)),t.children.unshift(n),t}function Ya(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var n=De(r,e,"root"),a;n.length===2&&n[1].hasClass("tag")&&(a=n.pop());for(var s=[],i=[],o=0;o<n.length;o++)if(i.push(n[o]),n[o].hasClass("mbin")||n[o].hasClass("mrel")||n[o].hasClass("allowbreak")){for(var c=!1;o<n.length-1&&n[o+1].hasClass("mspace")&&!n[o+1].hasClass("newline");)o++,i.push(n[o]),n[o].hasClass("nobreak")&&(c=!0);c||(s.push(Sn(i,e)),i=[])}else n[o].hasClass("newline")&&(i.pop(),i.length>0&&(s.push(Sn(i,e)),i=[]),s.push(n[o]));i.length>0&&s.push(Sn(i,e));var m;t?(m=Sn(De(t,e,!0),e),m.classes=["tag"],s.push(m)):a&&s.push(a);var u=F(["katex-html"],s);if(u.setAttribute("aria-hidden","true"),m){var h=m.children[0];h.style.height=N(u.height+u.depth),u.depth&&(h.style.verticalAlign=N(-u.depth))}return u}function Di(r){return new Nt(r)}function Da(r){if(!r)return!1;if(r.type==="mi"&&r.children.length===1){var e=r.children[0];return e instanceof ye&&e.text==="."}else if(r.type==="mo"&&r.children.length===1&&r.getAttribute("separator")==="true"&&r.getAttribute("lspace")==="0em"&&r.getAttribute("rspace")==="0em"){var t=r.children[0];return t instanceof ye&&t.text===","}else return!1}function G0(r,e,t,n,a){var s=Ze(r,t),i;s.length===1&&s[0]instanceof I&&uu.has(s[0].type)?i=s[0]:i=new I("mrow",s);var o=new I("annotation",[new ye(e)]);o.setAttribute("encoding","application/x-tex");var c=new I("semantics",[i,o]),m=new I("math",[c]);m.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&m.setAttribute("display","block");var u=a?"katex":"katex-mathml";return F([u],[m])}function ku(r){return r in wu}function K(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function Hn(r){var e=qn(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function qn(r){return r&&(r.type==="atom"||xu.hasOwnProperty(r.type))?r:null}function Ri(r,e){var t=De(r.body,e,!0);return F([r.mclass],t,e)}function Fi(r,e){var t,n=Ze(r.body,e);return r.mclass==="minner"?t=new I("mpadded",n):r.mclass==="mord"?r.isCharacterBox?(t=n[0],t.type="mi"):t=new I("mi",n):(r.isCharacterBox?(t=n[0],t.type="mo"):t=new I("mo",n),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}function Cu(r,e,t){var n=Au[r];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var a=t.callFunction("\\\\cdleft",[e[0]],[]),s={type:"atom",text:n,mode:"math",family:"rel"},i=t.callFunction("\\Big",[s],[]),o=t.callFunction("\\\\cdright",[e[1]],[]),c={type:"ordgroup",mode:"math",body:[a,i,o]};return t.callFunction("\\\\cdparent",[c],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var m={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[m],[])}default:return{type:"textord",text:" ",mode:"math"}}}function Du(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new _("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var n=[],a=[n],s=0;s<e.length;s++){for(var i=e[s],o=Z0(),c=0;c<i.length;c++)if(!X0(i[c]))o.body.push(i[c]);else{n.push(o),c+=1;var m=Hn(i[c]).text,u=new Array(2);if(u[0]={type:"ordgroup",mode:"math",body:[]},u[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(m))if("<>AV".includes(m))for(var h=0;h<2;h++){for(var g=!0,b=c+1;b<i.length;b++){if(Tu(i[b],m)){g=!1,c=b;break}if(X0(i[b]))throw new _("Missing a "+m+" character to complete a CD arrow.",i[b]);u[h].body.push(i[b])}if(g)throw new _("Missing a "+m+" character to complete a CD arrow.",i[c])}else throw new _('Expected one of "<>AV=|." after @',i[c]);var x=Cu(m,u,r),v={type:"styling",body:[x],mode:"math",style:"display",resetFont:!0};n.push(v),o=Z0()}s%2===0?n.push(o):n.shift(),n=[],a.push(n)}r.gullet.endGroup(),r.gullet.endGroup();var y=new Array(a[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:a,arraystretch:1,addJot:!0,rowGaps:[null],cols:y,colSeparationType:"CD",hLinesBeforeRow:new Array(a.length+1).fill([])}}function Y0(r){return"isMiddle"in r}function Gn(r,e){var t=qn(r);if(t&&Bu.has(t.text))return t;throw t?new _("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new _("Invalid delimiter type '"+r.type+"'",r)}function K0(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function pt(r){for(var{type:e,names:t,props:n,handler:a,htmlBuilder:s,mathmlBuilder:i}=r,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:a},c=0;c<t.length;++c)Wi[t[c]]=o;s&&(zn[e]=s),i&&(Rn[e]=i)}function f(r,e){Vi[r]=e}function Q0(r){var e=[];r.consumeSpaces();var t=r.fetch().text;for(t==="\\relax"&&(r.consume(),r.consumeSpaces(),t=r.fetch().text);t==="\\hline"||t==="\\hdashline";)r.consume(),e.push(t==="\\hdashline"),r.consumeSpaces(),t=r.fetch().text;return e}function hs(r){if(!r.includes("ed"))return!r.includes("*")}function Ht(r,e,t){var{hskipBeforeAndAfter:n,addJot:a,cols:s,arraystretch:i,colSeparationType:o,autoTag:c,singleRow:m,emptySingleRow:u,maxNumCols:h,leqno:g}=e;if(r.gullet.beginGroup(),m||r.gullet.macros.set("\\cr","\\\\\\relax"),!i){var b=r.gullet.expandMacroAsText("\\arraystretch");if(b==null)i=1;else if(i=parseFloat(b),!i||i<0)throw new _("Invalid \\arraystretch: "+b)}r.gullet.beginGroup();var x=[],v=[x],y=[],k=[],w=c!=null?[]:void 0;function A(){c&&r.gullet.macros.set("\\@eqnsw","1",!0)}function $(){w&&(r.gullet.macros.get("\\df@tag")?(w.push(r.subparse([new We("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):w.push(!!c&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(A(),k.push(Q0(r));;){var D=r.parseExpression(!1,m?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup();var M={type:"ordgroup",mode:r.mode,body:D};t&&(M={type:"styling",mode:r.mode,style:t,resetFont:!0,body:[M]}),x.push(M);var E=r.fetch().text;if(E==="&"){if(h&&x.length===h){if(m||o)throw new _("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(E==="\\end"){$(),x.length===1&&M.type==="styling"&&M.body.length===1&&M.body[0].type==="ordgroup"&&M.body[0].body.length===0&&(v.length>1||!u)&&v.pop(),k.length<v.length+1&&k.push([]);break}else if(E==="\\\\"){r.consume();var z=void 0;r.gullet.future().text!==" "&&(z=r.parseSizeGroup(!0)),y.push(z?z.value:null),$(),k.push(Q0(r)),x=[],v.push(x),A()}else throw new _("Expected & or \\\\ or \\cr or \\end",r.nextToken)}return r.gullet.endGroup(),r.gullet.endGroup(),{type:"array",mode:r.mode,addJot:a,arraystretch:i,body:v,cols:s,rowGaps:y,hskipBeforeAndAfter:n,hLinesBeforeRow:k,colSeparationType:o,tags:w,leqno:g}}function fs(r){return r.slice(0,1)==="d"?"display":"text"}function ro(r,e,t){for(var n=De(r,e,!1),a=e.sizeMultiplier/t.sizeMultiplier,s=0;s<n.length;s++){var i=n[s].classes.indexOf("sizing");i<0?Array.prototype.push.apply(n[s].classes,e.sizingClasses(t)):n[s].classes[i+1]==="reset-size"+e.size&&(n[s].classes[i+1]="reset-size"+t.size),n[s].height*=a,n[s].depth*=a}return Ct(n)}function Zu(r){return r in ts}var _,gd,vd,bd,yd,Ie,Dn,wd,At,xd,Ba,Ir,ct,ss,$n,ur,St,_r,Ye,mr,Ne,dt,Td,Cd,Dd,Md,$d,Ed,Y,ja,Mn,Ce,dr,Rd,Fd,Od,Id,_d,Nd,Bd,jd,Ld,O0,Pd,Nt,La,qd,gi,be,N,Bt,is,vi,bi,Ud,yi,jt,pr,Pa,Gd,Be,rt,mt,Nr,Zd,ut,vn,I0,Aa,me,d,R,p,S,pe,q,je,gr,V,Ae,Ve,jr,T,Tt,C,wi,_0,Ta,bn,N0,Ca,yn,En,zr,wn,J,ge,Oe,xt,It,Ha,Rr,xn,qa,B0,j0,Yd,Qt,L0,P0,H0,Ua,Ga,q0,Wa,U0,Kd,Qd,Bn,_e,ls,eu,jn,tu,xi,cs,F,Lt,hr,ru,Ct,fr,nu,ae,ki,kn,Va,Si,Ai,ve,Kt,kt,au,su,Ti,zn,Rn,Fn,Se,iu,ou,lu,cu,De,Za,Ci,Xa,Ja,Br,se,I,ye,On,du,uu,Ke,ds,mu,us,Ze,Pt,ce,pu,W0,V0,In,Mi,$i,hu,fu,gu,Ln,vu,bu,Pn,yu,wu,xu,Ei,ms,zi,Su,An,Un,Au,Z0,X0,Tu,Oi,Ii,Ka,_i,Mu,Ni,Fr,ps,Bi,$u,Eu,ji,Ma,$a,Qa,Tn,zu,Ru,Li,Ea,za,Ra,Fu,Pi,Ou,Hi,Or,qi,Iu,_u,Ui,Nu,Gi,es,Fa,J0,Bu,Wn,Vn,Wi,Vi,He,We,Zn,ju,ht,Lu,ft,Zi,ei,Xi,Ji,ti,Pu,Hu,Yi,ri,ni,Ki,qu,Oa,ai,Qi,eo,vr,Lr,Uu,Gu,to,Wu,si,Vu,ts,Xu,no,Ia,_a,ii,oi,li,Ju,ci,di,_t,ao,Yu,Ku,Qu,e1,rs,t1,r1,_n,ns,n1,ui,gs,mi,a1,vs,so,io,oo,as,pi,Cn,Na,hi,Nn,bs,lo,s1,i1,co,ys,o1,l1,c1,ws,uo=Ue(()=>{"use strict";_=class r extends Error{constructor(e,t){var n="KaTeX parse error: "+e,a,s,i=t&&t.loc;if(i&&i.start<=i.end){var o=i.lexer.input;a=i.start,s=i.end,a===o.length?n+=" at end of input: ":n+=" at position "+(a+1)+": ";var c=o.slice(a,s).replace(/[^]/g,"$&\u0332"),m;a>15?m="\u2026"+o.slice(a-15,a):m=o.slice(0,a);var u;s+15<o.length?u=o.slice(s,s+15)+"\u2026":u=o.slice(s),n+=m+c+u}super(n),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,r.prototype),this.position=a,a!=null&&s!=null&&(this.length=s-a),this.rawMessage=e}},gd=/([A-Z])/g,vd=r=>r.replace(gd,"-$1").toLowerCase(),bd={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},yd=/[&><"']/g,Ie=r=>String(r).replace(yd,e=>bd[e]),Dn=r=>r.type==="ordgroup"||r.type==="color"?r.body.length===1?Dn(r.body[0]):r:r.type==="font"?Dn(r.body):r,wd=new Set(["mathord","textord","atom"]),At=r=>wd.has(Dn(r).type),xd=r=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(r);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},Ba={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand <n>",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};Ir=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t of Object.keys(Ba)){var n=Ba[t];n&&Ad(this,t,e,n)}}reportNonstrict(e,t,n){var a=this.strict;if(typeof a=="function"&&(a=a(e,t,n)),!(!a||a==="ignore")){if(a===!0||a==="error")throw new _("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),n);a==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+a+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,n){var a=this.strict;if(typeof a=="function")try{a=a(e,t,n)}catch{a="error"}return!a||a==="ignore"?!1:a===!0||a==="error"?!0:a==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+a+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var t=xd(e.url);if(t==null)return!1;e.protocol=t}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},ct=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return dt[Td[this.id]]}sub(){return dt[Cd[this.id]]}fracNum(){return dt[Dd[this.id]]}fracDen(){return dt[Md[this.id]]}cramp(){return dt[$d[this.id]]}text(){return dt[Ed[this.id]]}isTight(){return this.size>=2}},ss=0,$n=1,ur=2,St=3,_r=4,Ye=5,mr=6,Ne=7,dt=[new ct(ss,0,!1),new ct($n,0,!0),new ct(ur,1,!1),new ct(St,1,!0),new ct(_r,2,!1),new ct(Ye,2,!0),new ct(mr,3,!1),new ct(Ne,3,!0)],Td=[_r,Ye,_r,Ye,mr,Ne,mr,Ne],Cd=[Ye,Ye,Ye,Ye,Ne,Ne,Ne,Ne],Dd=[ur,St,_r,Ye,mr,Ne,mr,Ne],Md=[St,St,Ye,Ye,Ne,Ne,Ne,Ne],$d=[$n,$n,St,St,Ye,Ye,Ne,Ne],Ed=[ss,$n,ur,St,ur,St,ur,St],Y={DISPLAY:dt[ss],TEXT:dt[ur],SCRIPT:dt[_r],SCRIPTSCRIPT:dt[mr]},ja=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];Mn=[];ja.forEach(r=>r.blocks.forEach(e=>Mn.push(...e)));Ce=r=>r+" "+r,dr=80,Rd=function(e,t){return"M95,"+(622+e+t)+`
7
+ c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
8
+ c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
9
+ c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
10
+ s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
11
+ c69,-144,104.5,-217.7,106.5,-221
12
+ l`+e/2.075+" -"+e+`
13
+ c5.3,-9.3,12,-14,20,-14
14
+ H400000v`+(40+e)+`H845.2724
15
+ s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
16
+ c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
17
+ M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Fd=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119
18
+ c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
19
+ c340,-704.7,510.7,-1060.3,512,-1067
20
+ l`+e/2.084+" -"+e+`
21
+ c4.7,-7.3,11,-11,19,-11
22
+ H40000v`+(40+e)+`H1012.3
23
+ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
24
+ c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
25
+ s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
26
+ c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
27
+ M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Od=function(e,t){return"M983 "+(10+e+t)+`
28
+ l`+e/3.13+" -"+e+`
29
+ c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
30
+ H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
31
+ s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
32
+ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
33
+ c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
34
+ c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
35
+ c53.7,-170.3,84.5,-266.8,92.5,-289.5z
36
+ M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Id=function(e,t){return"M424,"+(2398+e+t)+`
37
+ c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
38
+ c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
39
+ s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
40
+ s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
41
+ l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000
42
+ v`+(40+e)+`H1014.6
43
+ s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
44
+ c-2,6,-10,9,-24,9
45
+ c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+`
46
+ h400000v`+(40+e)+"h-400000z"},_d=function(e,t){return"M473,"+(2713+e+t)+`
47
+ c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+`
48
+ c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
49
+ s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
50
+ c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
51
+ c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
52
+ s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
53
+ 606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},Nd=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},Bd=function(e,t,n){var a=n-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+`
54
+ H742v`+a+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
55
+ h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
56
+ c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
57
+ 219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},jd=function(e,t,n){t=1e3*t;var a="";switch(e){case"sqrtMain":a=Rd(t,dr);break;case"sqrtSize1":a=Fd(t,dr);break;case"sqrtSize2":a=Od(t,dr);break;case"sqrtSize3":a=Id(t,dr);break;case"sqrtSize4":a=_d(t,dr);break;case"sqrtTall":a=Bd(t,dr,n)}return a},Ld=function(e,t){switch(e){case"\u239C":return Ce("M291 0 H417 V"+t+" H291z");case"\u2223":return Ce("M145 0 H188 V"+t+" H145z");case"\u2225":return Ce("M145 0 H188 V"+t+" H145z")+Ce("M367 0 H410 V"+t+" H367z");case"\u239F":return Ce("M457 0 H583 V"+t+" H457z");case"\u23A2":return Ce("M319 0 H403 V"+t+" H319z");case"\u23A5":return Ce("M263 0 H347 V"+t+" H263z");case"\u23AA":return Ce("M384 0 H504 V"+t+" H384z");case"\u23D0":return Ce("M312 0 H355 V"+t+" H312z");case"\u2016":return Ce("M257 0 H300 V"+t+" H257z")+Ce("M478 0 H521 V"+t+" H478z");default:return""}},O0={doubleleftarrow:`M262 157
58
+ l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
59
+ 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
60
+ 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
61
+ c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
62
+ 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
63
+ -86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
64
+ -2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
65
+ m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
66
+ -10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
67
+ 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
68
+ -33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
69
+ -17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
70
+ -13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
71
+ c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
72
+ -107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
73
+ 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
74
+ -5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
75
+ c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
76
+ 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
77
+ 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
78
+ l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
79
+ -45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
80
+ 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
81
+ 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
82
+ 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
83
+ -331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
84
+ H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
85
+ 435 0h399565z`,leftgroupunder:`M400000 262
86
+ H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
87
+ 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
88
+ -3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
89
+ -18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
90
+ -196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
91
+ 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
92
+ -4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
93
+ -10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
94
+ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
95
+ 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
96
+ 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
97
+ -152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
98
+ 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
99
+ -2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
100
+ v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
101
+ -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
102
+ -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
103
+ 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Ce("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Ce("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Ce("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Ce("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
104
+ -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
105
+ c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
106
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Ce("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334
107
+ c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
108
+ -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
109
+ 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
110
+ 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
111
+ c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
112
+ 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
113
+ 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
114
+ -5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
115
+ -320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
116
+ m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
117
+ 60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
118
+ -451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
119
+ m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
120
+ c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
121
+ -480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
122
+ m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
123
+ 85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
124
+ -707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
125
+ m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
126
+ c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
127
+ -16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
128
+ 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
129
+ 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
130
+ -40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
131
+ -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
132
+ 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
133
+ -6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
134
+ s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
135
+ c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
136
+ 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
137
+ -174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
138
+ 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
139
+ 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
140
+ -3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
141
+ -10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
142
+ 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
143
+ -18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
144
+ 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
145
+ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
146
+ 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
147
+ -7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
148
+ -27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
149
+ 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
150
+ 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
151
+ -64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
152
+ m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
153
+ 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
154
+ -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
155
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Ce("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Ce("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Ce("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
156
+ 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
157
+ -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
158
+ -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
159
+ 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
160
+ -70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
161
+ -40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
162
+ -37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
163
+ 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
164
+ c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
165
+ 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
166
+ 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
167
+ -19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
168
+ 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
169
+ -2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
170
+ 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
171
+ 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
172
+ -68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
173
+ -8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
174
+ 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
175
+ c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
176
+ 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
177
+ -11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
178
+ 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
179
+ 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
180
+ -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
181
+ -11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
182
+ 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
183
+ 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
184
+ -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
185
+ 3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
186
+ 10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
187
+ -1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
188
+ -7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
189
+ H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
190
+ c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
191
+ c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
192
+ -11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
193
+ -11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
194
+ -11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
195
+ -5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
196
+ -11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
197
+ -11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
198
+ -11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
199
+ c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
200
+ c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
201
+ s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
202
+ 121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
203
+ s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
204
+ c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
205
+ M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
206
+ -27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
207
+ 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
208
+ -84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
209
+ -119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
210
+ -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
211
+ 151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
212
+ c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
213
+ c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
214
+ c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
215
+ c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
216
+ M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
217
+ c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
218
+ -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
219
+ c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
220
+ M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
221
+ c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
222
+ 1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
223
+ -152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
224
+ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
225
+ c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
226
+ -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
227
+ c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
228
+ M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Pd=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 v84 h347 v-84
229
+ H403z M403 1759 V0 H319 V1759 v`+t+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z
230
+ M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15
231
+ c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
232
+ c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15
233
+ c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
234
+ c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z
235
+ M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
236
+ c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
237
+ c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z
238
+ MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z
239
+ MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z
240
+ M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z
241
+ M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
242
+ c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
243
+ -36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
244
+ 949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
245
+ c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
246
+ -544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
247
+ l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
248
+ -210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
249
+ 63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
250
+ c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+`
251
+ c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
252
+ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
253
+ c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
254
+ c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
255
+ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
256
+ -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};Nt=class{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(Hd(e))return e.toText();throw new Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}},La={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},qd={ex:!0,em:!0,mu:!0},gi=function(e){return typeof e!="string"&&(e=e.unit),e in La||e in qd||e==="ex"},be=function(e,t){var n;if(e.unit in La)n=La[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")n=t.fontMetrics().cssEmPerMu;else{var a;if(t.style.isTight()?a=t.havingStyle(t.style.text()):a=t,e.unit==="ex")n=a.fontMetrics().xHeight;else if(e.unit==="em")n=a.fontMetrics().quad;else throw new _("Invalid unit: '"+e.unit+"'");a!==t&&(n*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},N=function(e){return+e.toFixed(4)+"em"},Bt=function(e){return e.filter(t=>t).join(" ")},is=function(e){var t="";for(var n of Object.keys(e)){var a=e[n];a!==void 0&&(t+=vd(n)+":"+a+";")}return t},vi=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push("mtight");var a=t.getColor();a&&(this.style.color=a)}},bi=function(e){var t=document.createElement(e);t.className=Bt(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var a=0;a<this.children.length;a++)t.appendChild(this.children[a].toNode());return t},Ud=/[\s"'>/=\x00-\x1f]/,yi=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+Ie(Bt(this.classes))+'"');var n=is(this.style);n&&(t+=' style="'+Ie(n)+'"');for(var a of Object.keys(this.attributes)){if(Ud.test(a))throw new _("Invalid attribute name '"+a+"'");t+=" "+a+'="'+Ie(this.attributes[a])+'"'}t+=">";for(var s=0;s<this.children.length;s++)t+=this.children[s].toMarkup();return t+="</"+e+">",t},jt=class{constructor(e,t,n,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,vi.call(this,e,n,a),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return bi.call(this,"span")}toMarkup(){return yi.call(this,"span")}},pr=class{constructor(e,t,n,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,vi.call(this,t,a),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return bi.call(this,"a")}toMarkup(){return yi.call(this,"a")}},Pa=class{constructor(e,t,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e='<img src="'+Ie(this.src)+'"'+(' alt="'+Ie(this.alt)+'"'),t=is(this.style);return t&&(e+=' style="'+Ie(t)+'"'),e+="'/>",e}},Gd={\u00EE:"\u0131\u0302",\u00EF:"\u0131\u0308",\u00ED:"\u0131\u0301",\u00EC:"\u0131\u0300"},Be=class{constructor(e,t,n,a,s,i,o,c){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=n||0,this.italic=a||0,this.skew=s||0,this.width=i||0,this.classes=o||[],this.style=c||{},this.maxFontSize=0;var m=zd(this.text.charCodeAt(0));m&&this.classes.push(m+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=Gd[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement("span"),t.style.marginRight=N(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=Bt(this.classes)),Object.keys(this.style).length>0&&(t=t||document.createElement("span"),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=Ie(Bt(this.classes)),t+='"');var n="";this.italic>0&&(n+="margin-right:"+N(this.italic)+";"),n+=is(this.style),n&&(e=!0,t+=' style="'+Ie(n)+'"');var a=Ie(this.text);return e?(t+=">",t+=a,t+="</span>",t):a}},rt=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var a=0;a<this.children.length;a++)t.appendChild(this.children[a].toNode());return t}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t of Object.keys(this.attributes))e+=" "+t+'="'+Ie(this.attributes[t])+'"';e+=">";for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+="</svg>",e}},mt=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",O0[this.pathName]),t}toMarkup(){return this.alternate?'<path d="'+Ie(this.alternate)+'"/>':'<path d="'+Ie(O0[this.pathName])+'"/>'}},Nr=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);return t}toMarkup(){var e="<line";for(var t of Object.keys(this.attributes))e+=" "+t+'="'+Ie(this.attributes[t])+'"';return e+="/>",e}};Zd=r=>r instanceof jt||r instanceof pr||r instanceof Nt,ut={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},vn={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},I0={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};Aa={};me={math:{},text:{}};d="math",R="text",p="main",S="ams",pe="accent-token",q="bin",je="close",gr="inner",V="mathord",Ae="op-token",Ve="open",jr="punct",T="rel",Tt="spacing",C="textord";l(d,p,T,"\u2261","\\equiv",!0);l(d,p,T,"\u227A","\\prec",!0);l(d,p,T,"\u227B","\\succ",!0);l(d,p,T,"\u223C","\\sim",!0);l(d,p,T,"\u22A5","\\perp");l(d,p,T,"\u2AAF","\\preceq",!0);l(d,p,T,"\u2AB0","\\succeq",!0);l(d,p,T,"\u2243","\\simeq",!0);l(d,p,T,"\u2223","\\mid",!0);l(d,p,T,"\u226A","\\ll",!0);l(d,p,T,"\u226B","\\gg",!0);l(d,p,T,"\u224D","\\asymp",!0);l(d,p,T,"\u2225","\\parallel");l(d,p,T,"\u22C8","\\bowtie",!0);l(d,p,T,"\u2323","\\smile",!0);l(d,p,T,"\u2291","\\sqsubseteq",!0);l(d,p,T,"\u2292","\\sqsupseteq",!0);l(d,p,T,"\u2250","\\doteq",!0);l(d,p,T,"\u2322","\\frown",!0);l(d,p,T,"\u220B","\\ni",!0);l(d,p,T,"\u221D","\\propto",!0);l(d,p,T,"\u22A2","\\vdash",!0);l(d,p,T,"\u22A3","\\dashv",!0);l(d,p,T,"\u220B","\\owns");l(d,p,jr,".","\\ldotp");l(d,p,jr,"\u22C5","\\cdotp");l(d,p,jr,"\u22C5","\xB7");l(R,p,C,"\u22C5","\xB7");l(d,p,C,"#","\\#");l(R,p,C,"#","\\#");l(d,p,C,"&","\\&");l(R,p,C,"&","\\&");l(d,p,C,"\u2135","\\aleph",!0);l(d,p,C,"\u2200","\\forall",!0);l(d,p,C,"\u210F","\\hbar",!0);l(d,p,C,"\u2203","\\exists",!0);l(d,p,C,"\u2207","\\nabla",!0);l(d,p,C,"\u266D","\\flat",!0);l(d,p,C,"\u2113","\\ell",!0);l(d,p,C,"\u266E","\\natural",!0);l(d,p,C,"\u2663","\\clubsuit",!0);l(d,p,C,"\u2118","\\wp",!0);l(d,p,C,"\u266F","\\sharp",!0);l(d,p,C,"\u2662","\\diamondsuit",!0);l(d,p,C,"\u211C","\\Re",!0);l(d,p,C,"\u2661","\\heartsuit",!0);l(d,p,C,"\u2111","\\Im",!0);l(d,p,C,"\u2660","\\spadesuit",!0);l(d,p,C,"\xA7","\\S",!0);l(R,p,C,"\xA7","\\S");l(d,p,C,"\xB6","\\P",!0);l(R,p,C,"\xB6","\\P");l(d,p,C,"\u2020","\\dag");l(R,p,C,"\u2020","\\dag");l(R,p,C,"\u2020","\\textdagger");l(d,p,C,"\u2021","\\ddag");l(R,p,C,"\u2021","\\ddag");l(R,p,C,"\u2021","\\textdaggerdbl");l(d,p,je,"\u23B1","\\rmoustache",!0);l(d,p,Ve,"\u23B0","\\lmoustache",!0);l(d,p,je,"\u27EF","\\rgroup",!0);l(d,p,Ve,"\u27EE","\\lgroup",!0);l(d,p,q,"\u2213","\\mp",!0);l(d,p,q,"\u2296","\\ominus",!0);l(d,p,q,"\u228E","\\uplus",!0);l(d,p,q,"\u2293","\\sqcap",!0);l(d,p,q,"\u2217","\\ast");l(d,p,q,"\u2294","\\sqcup",!0);l(d,p,q,"\u25EF","\\bigcirc",!0);l(d,p,q,"\u2219","\\bullet",!0);l(d,p,q,"\u2021","\\ddagger");l(d,p,q,"\u2240","\\wr",!0);l(d,p,q,"\u2A3F","\\amalg");l(d,p,q,"&","\\And");l(d,p,T,"\u27F5","\\longleftarrow",!0);l(d,p,T,"\u21D0","\\Leftarrow",!0);l(d,p,T,"\u27F8","\\Longleftarrow",!0);l(d,p,T,"\u27F6","\\longrightarrow",!0);l(d,p,T,"\u21D2","\\Rightarrow",!0);l(d,p,T,"\u27F9","\\Longrightarrow",!0);l(d,p,T,"\u2194","\\leftrightarrow",!0);l(d,p,T,"\u27F7","\\longleftrightarrow",!0);l(d,p,T,"\u21D4","\\Leftrightarrow",!0);l(d,p,T,"\u27FA","\\Longleftrightarrow",!0);l(d,p,T,"\u21A6","\\mapsto",!0);l(d,p,T,"\u27FC","\\longmapsto",!0);l(d,p,T,"\u2197","\\nearrow",!0);l(d,p,T,"\u21A9","\\hookleftarrow",!0);l(d,p,T,"\u21AA","\\hookrightarrow",!0);l(d,p,T,"\u2198","\\searrow",!0);l(d,p,T,"\u21BC","\\leftharpoonup",!0);l(d,p,T,"\u21C0","\\rightharpoonup",!0);l(d,p,T,"\u2199","\\swarrow",!0);l(d,p,T,"\u21BD","\\leftharpoondown",!0);l(d,p,T,"\u21C1","\\rightharpoondown",!0);l(d,p,T,"\u2196","\\nwarrow",!0);l(d,p,T,"\u21CC","\\rightleftharpoons",!0);l(d,S,T,"\u226E","\\nless",!0);l(d,S,T,"\uE010","\\@nleqslant");l(d,S,T,"\uE011","\\@nleqq");l(d,S,T,"\u2A87","\\lneq",!0);l(d,S,T,"\u2268","\\lneqq",!0);l(d,S,T,"\uE00C","\\@lvertneqq");l(d,S,T,"\u22E6","\\lnsim",!0);l(d,S,T,"\u2A89","\\lnapprox",!0);l(d,S,T,"\u2280","\\nprec",!0);l(d,S,T,"\u22E0","\\npreceq",!0);l(d,S,T,"\u22E8","\\precnsim",!0);l(d,S,T,"\u2AB9","\\precnapprox",!0);l(d,S,T,"\u2241","\\nsim",!0);l(d,S,T,"\uE006","\\@nshortmid");l(d,S,T,"\u2224","\\nmid",!0);l(d,S,T,"\u22AC","\\nvdash",!0);l(d,S,T,"\u22AD","\\nvDash",!0);l(d,S,T,"\u22EA","\\ntriangleleft");l(d,S,T,"\u22EC","\\ntrianglelefteq",!0);l(d,S,T,"\u228A","\\subsetneq",!0);l(d,S,T,"\uE01A","\\@varsubsetneq");l(d,S,T,"\u2ACB","\\subsetneqq",!0);l(d,S,T,"\uE017","\\@varsubsetneqq");l(d,S,T,"\u226F","\\ngtr",!0);l(d,S,T,"\uE00F","\\@ngeqslant");l(d,S,T,"\uE00E","\\@ngeqq");l(d,S,T,"\u2A88","\\gneq",!0);l(d,S,T,"\u2269","\\gneqq",!0);l(d,S,T,"\uE00D","\\@gvertneqq");l(d,S,T,"\u22E7","\\gnsim",!0);l(d,S,T,"\u2A8A","\\gnapprox",!0);l(d,S,T,"\u2281","\\nsucc",!0);l(d,S,T,"\u22E1","\\nsucceq",!0);l(d,S,T,"\u22E9","\\succnsim",!0);l(d,S,T,"\u2ABA","\\succnapprox",!0);l(d,S,T,"\u2246","\\ncong",!0);l(d,S,T,"\uE007","\\@nshortparallel");l(d,S,T,"\u2226","\\nparallel",!0);l(d,S,T,"\u22AF","\\nVDash",!0);l(d,S,T,"\u22EB","\\ntriangleright");l(d,S,T,"\u22ED","\\ntrianglerighteq",!0);l(d,S,T,"\uE018","\\@nsupseteqq");l(d,S,T,"\u228B","\\supsetneq",!0);l(d,S,T,"\uE01B","\\@varsupsetneq");l(d,S,T,"\u2ACC","\\supsetneqq",!0);l(d,S,T,"\uE019","\\@varsupsetneqq");l(d,S,T,"\u22AE","\\nVdash",!0);l(d,S,T,"\u2AB5","\\precneqq",!0);l(d,S,T,"\u2AB6","\\succneqq",!0);l(d,S,T,"\uE016","\\@nsubseteqq");l(d,S,q,"\u22B4","\\unlhd");l(d,S,q,"\u22B5","\\unrhd");l(d,S,T,"\u219A","\\nleftarrow",!0);l(d,S,T,"\u219B","\\nrightarrow",!0);l(d,S,T,"\u21CD","\\nLeftarrow",!0);l(d,S,T,"\u21CF","\\nRightarrow",!0);l(d,S,T,"\u21AE","\\nleftrightarrow",!0);l(d,S,T,"\u21CE","\\nLeftrightarrow",!0);l(d,S,T,"\u25B3","\\vartriangle");l(d,S,C,"\u210F","\\hslash");l(d,S,C,"\u25BD","\\triangledown");l(d,S,C,"\u25CA","\\lozenge");l(d,S,C,"\u24C8","\\circledS");l(d,S,C,"\xAE","\\circledR");l(R,S,C,"\xAE","\\circledR");l(d,S,C,"\u2221","\\measuredangle",!0);l(d,S,C,"\u2204","\\nexists");l(d,S,C,"\u2127","\\mho");l(d,S,C,"\u2132","\\Finv",!0);l(d,S,C,"\u2141","\\Game",!0);l(d,S,C,"\u2035","\\backprime");l(d,S,C,"\u25B2","\\blacktriangle");l(d,S,C,"\u25BC","\\blacktriangledown");l(d,S,C,"\u25A0","\\blacksquare");l(d,S,C,"\u29EB","\\blacklozenge");l(d,S,C,"\u2605","\\bigstar");l(d,S,C,"\u2222","\\sphericalangle",!0);l(d,S,C,"\u2201","\\complement",!0);l(d,S,C,"\xF0","\\eth",!0);l(R,p,C,"\xF0","\xF0");l(d,S,C,"\u2571","\\diagup");l(d,S,C,"\u2572","\\diagdown");l(d,S,C,"\u25A1","\\square");l(d,S,C,"\u25A1","\\Box");l(d,S,C,"\u25CA","\\Diamond");l(d,S,C,"\xA5","\\yen",!0);l(R,S,C,"\xA5","\\yen",!0);l(d,S,C,"\u2713","\\checkmark",!0);l(R,S,C,"\u2713","\\checkmark");l(d,S,C,"\u2136","\\beth",!0);l(d,S,C,"\u2138","\\daleth",!0);l(d,S,C,"\u2137","\\gimel",!0);l(d,S,C,"\u03DD","\\digamma",!0);l(d,S,C,"\u03F0","\\varkappa");l(d,S,Ve,"\u250C","\\@ulcorner",!0);l(d,S,je,"\u2510","\\@urcorner",!0);l(d,S,Ve,"\u2514","\\@llcorner",!0);l(d,S,je,"\u2518","\\@lrcorner",!0);l(d,S,T,"\u2266","\\leqq",!0);l(d,S,T,"\u2A7D","\\leqslant",!0);l(d,S,T,"\u2A95","\\eqslantless",!0);l(d,S,T,"\u2272","\\lesssim",!0);l(d,S,T,"\u2A85","\\lessapprox",!0);l(d,S,T,"\u224A","\\approxeq",!0);l(d,S,q,"\u22D6","\\lessdot");l(d,S,T,"\u22D8","\\lll",!0);l(d,S,T,"\u2276","\\lessgtr",!0);l(d,S,T,"\u22DA","\\lesseqgtr",!0);l(d,S,T,"\u2A8B","\\lesseqqgtr",!0);l(d,S,T,"\u2251","\\doteqdot");l(d,S,T,"\u2253","\\risingdotseq",!0);l(d,S,T,"\u2252","\\fallingdotseq",!0);l(d,S,T,"\u223D","\\backsim",!0);l(d,S,T,"\u22CD","\\backsimeq",!0);l(d,S,T,"\u2AC5","\\subseteqq",!0);l(d,S,T,"\u22D0","\\Subset",!0);l(d,S,T,"\u228F","\\sqsubset",!0);l(d,S,T,"\u227C","\\preccurlyeq",!0);l(d,S,T,"\u22DE","\\curlyeqprec",!0);l(d,S,T,"\u227E","\\precsim",!0);l(d,S,T,"\u2AB7","\\precapprox",!0);l(d,S,T,"\u22B2","\\vartriangleleft");l(d,S,T,"\u22B4","\\trianglelefteq");l(d,S,T,"\u22A8","\\vDash",!0);l(d,S,T,"\u22AA","\\Vvdash",!0);l(d,S,T,"\u2323","\\smallsmile");l(d,S,T,"\u2322","\\smallfrown");l(d,S,T,"\u224F","\\bumpeq",!0);l(d,S,T,"\u224E","\\Bumpeq",!0);l(d,S,T,"\u2267","\\geqq",!0);l(d,S,T,"\u2A7E","\\geqslant",!0);l(d,S,T,"\u2A96","\\eqslantgtr",!0);l(d,S,T,"\u2273","\\gtrsim",!0);l(d,S,T,"\u2A86","\\gtrapprox",!0);l(d,S,q,"\u22D7","\\gtrdot");l(d,S,T,"\u22D9","\\ggg",!0);l(d,S,T,"\u2277","\\gtrless",!0);l(d,S,T,"\u22DB","\\gtreqless",!0);l(d,S,T,"\u2A8C","\\gtreqqless",!0);l(d,S,T,"\u2256","\\eqcirc",!0);l(d,S,T,"\u2257","\\circeq",!0);l(d,S,T,"\u225C","\\triangleq",!0);l(d,S,T,"\u223C","\\thicksim");l(d,S,T,"\u2248","\\thickapprox");l(d,S,T,"\u2AC6","\\supseteqq",!0);l(d,S,T,"\u22D1","\\Supset",!0);l(d,S,T,"\u2290","\\sqsupset",!0);l(d,S,T,"\u227D","\\succcurlyeq",!0);l(d,S,T,"\u22DF","\\curlyeqsucc",!0);l(d,S,T,"\u227F","\\succsim",!0);l(d,S,T,"\u2AB8","\\succapprox",!0);l(d,S,T,"\u22B3","\\vartriangleright");l(d,S,T,"\u22B5","\\trianglerighteq");l(d,S,T,"\u22A9","\\Vdash",!0);l(d,S,T,"\u2223","\\shortmid");l(d,S,T,"\u2225","\\shortparallel");l(d,S,T,"\u226C","\\between",!0);l(d,S,T,"\u22D4","\\pitchfork",!0);l(d,S,T,"\u221D","\\varpropto");l(d,S,T,"\u25C0","\\blacktriangleleft");l(d,S,T,"\u2234","\\therefore",!0);l(d,S,T,"\u220D","\\backepsilon");l(d,S,T,"\u25B6","\\blacktriangleright");l(d,S,T,"\u2235","\\because",!0);l(d,S,T,"\u22D8","\\llless");l(d,S,T,"\u22D9","\\gggtr");l(d,S,q,"\u22B2","\\lhd");l(d,S,q,"\u22B3","\\rhd");l(d,S,T,"\u2242","\\eqsim",!0);l(d,p,T,"\u22C8","\\Join");l(d,S,T,"\u2251","\\Doteq",!0);l(d,S,q,"\u2214","\\dotplus",!0);l(d,S,q,"\u2216","\\smallsetminus");l(d,S,q,"\u22D2","\\Cap",!0);l(d,S,q,"\u22D3","\\Cup",!0);l(d,S,q,"\u2A5E","\\doublebarwedge",!0);l(d,S,q,"\u229F","\\boxminus",!0);l(d,S,q,"\u229E","\\boxplus",!0);l(d,S,q,"\u22C7","\\divideontimes",!0);l(d,S,q,"\u22C9","\\ltimes",!0);l(d,S,q,"\u22CA","\\rtimes",!0);l(d,S,q,"\u22CB","\\leftthreetimes",!0);l(d,S,q,"\u22CC","\\rightthreetimes",!0);l(d,S,q,"\u22CF","\\curlywedge",!0);l(d,S,q,"\u22CE","\\curlyvee",!0);l(d,S,q,"\u229D","\\circleddash",!0);l(d,S,q,"\u229B","\\circledast",!0);l(d,S,q,"\u22C5","\\centerdot");l(d,S,q,"\u22BA","\\intercal",!0);l(d,S,q,"\u22D2","\\doublecap");l(d,S,q,"\u22D3","\\doublecup");l(d,S,q,"\u22A0","\\boxtimes",!0);l(d,S,T,"\u21E2","\\dashrightarrow",!0);l(d,S,T,"\u21E0","\\dashleftarrow",!0);l(d,S,T,"\u21C7","\\leftleftarrows",!0);l(d,S,T,"\u21C6","\\leftrightarrows",!0);l(d,S,T,"\u21DA","\\Lleftarrow",!0);l(d,S,T,"\u219E","\\twoheadleftarrow",!0);l(d,S,T,"\u21A2","\\leftarrowtail",!0);l(d,S,T,"\u21AB","\\looparrowleft",!0);l(d,S,T,"\u21CB","\\leftrightharpoons",!0);l(d,S,T,"\u21B6","\\curvearrowleft",!0);l(d,S,T,"\u21BA","\\circlearrowleft",!0);l(d,S,T,"\u21B0","\\Lsh",!0);l(d,S,T,"\u21C8","\\upuparrows",!0);l(d,S,T,"\u21BF","\\upharpoonleft",!0);l(d,S,T,"\u21C3","\\downharpoonleft",!0);l(d,p,T,"\u22B6","\\origof",!0);l(d,p,T,"\u22B7","\\imageof",!0);l(d,S,T,"\u22B8","\\multimap",!0);l(d,S,T,"\u21AD","\\leftrightsquigarrow",!0);l(d,S,T,"\u21C9","\\rightrightarrows",!0);l(d,S,T,"\u21C4","\\rightleftarrows",!0);l(d,S,T,"\u21A0","\\twoheadrightarrow",!0);l(d,S,T,"\u21A3","\\rightarrowtail",!0);l(d,S,T,"\u21AC","\\looparrowright",!0);l(d,S,T,"\u21B7","\\curvearrowright",!0);l(d,S,T,"\u21BB","\\circlearrowright",!0);l(d,S,T,"\u21B1","\\Rsh",!0);l(d,S,T,"\u21CA","\\downdownarrows",!0);l(d,S,T,"\u21BE","\\upharpoonright",!0);l(d,S,T,"\u21C2","\\downharpoonright",!0);l(d,S,T,"\u21DD","\\rightsquigarrow",!0);l(d,S,T,"\u21DD","\\leadsto");l(d,S,T,"\u21DB","\\Rrightarrow",!0);l(d,S,T,"\u21BE","\\restriction");l(d,p,C,"\u2018","`");l(d,p,C,"$","\\$");l(R,p,C,"$","\\$");l(R,p,C,"$","\\textdollar");l(d,p,C,"%","\\%");l(R,p,C,"%","\\%");l(d,p,C,"_","\\_");l(R,p,C,"_","\\_");l(R,p,C,"_","\\textunderscore");l(d,p,C,"\u2220","\\angle",!0);l(d,p,C,"\u221E","\\infty",!0);l(d,p,C,"\u2032","\\prime");l(d,p,C,"\u25B3","\\triangle");l(d,p,C,"\u0393","\\Gamma",!0);l(d,p,C,"\u0394","\\Delta",!0);l(d,p,C,"\u0398","\\Theta",!0);l(d,p,C,"\u039B","\\Lambda",!0);l(d,p,C,"\u039E","\\Xi",!0);l(d,p,C,"\u03A0","\\Pi",!0);l(d,p,C,"\u03A3","\\Sigma",!0);l(d,p,C,"\u03A5","\\Upsilon",!0);l(d,p,C,"\u03A6","\\Phi",!0);l(d,p,C,"\u03A8","\\Psi",!0);l(d,p,C,"\u03A9","\\Omega",!0);l(d,p,C,"A","\u0391");l(d,p,C,"B","\u0392");l(d,p,C,"E","\u0395");l(d,p,C,"Z","\u0396");l(d,p,C,"H","\u0397");l(d,p,C,"I","\u0399");l(d,p,C,"K","\u039A");l(d,p,C,"M","\u039C");l(d,p,C,"N","\u039D");l(d,p,C,"O","\u039F");l(d,p,C,"P","\u03A1");l(d,p,C,"T","\u03A4");l(d,p,C,"X","\u03A7");l(d,p,C,"\xAC","\\neg",!0);l(d,p,C,"\xAC","\\lnot");l(d,p,C,"\u22A4","\\top");l(d,p,C,"\u22A5","\\bot");l(d,p,C,"\u2205","\\emptyset");l(d,S,C,"\u2205","\\varnothing");l(d,p,V,"\u03B1","\\alpha",!0);l(d,p,V,"\u03B2","\\beta",!0);l(d,p,V,"\u03B3","\\gamma",!0);l(d,p,V,"\u03B4","\\delta",!0);l(d,p,V,"\u03F5","\\epsilon",!0);l(d,p,V,"\u03B6","\\zeta",!0);l(d,p,V,"\u03B7","\\eta",!0);l(d,p,V,"\u03B8","\\theta",!0);l(d,p,V,"\u03B9","\\iota",!0);l(d,p,V,"\u03BA","\\kappa",!0);l(d,p,V,"\u03BB","\\lambda",!0);l(d,p,V,"\u03BC","\\mu",!0);l(d,p,V,"\u03BD","\\nu",!0);l(d,p,V,"\u03BE","\\xi",!0);l(d,p,V,"\u03BF","\\omicron",!0);l(d,p,V,"\u03C0","\\pi",!0);l(d,p,V,"\u03C1","\\rho",!0);l(d,p,V,"\u03C3","\\sigma",!0);l(d,p,V,"\u03C4","\\tau",!0);l(d,p,V,"\u03C5","\\upsilon",!0);l(d,p,V,"\u03D5","\\phi",!0);l(d,p,V,"\u03C7","\\chi",!0);l(d,p,V,"\u03C8","\\psi",!0);l(d,p,V,"\u03C9","\\omega",!0);l(d,p,V,"\u03B5","\\varepsilon",!0);l(d,p,V,"\u03D1","\\vartheta",!0);l(d,p,V,"\u03D6","\\varpi",!0);l(d,p,V,"\u03F1","\\varrho",!0);l(d,p,V,"\u03C2","\\varsigma",!0);l(d,p,V,"\u03C6","\\varphi",!0);l(d,p,q,"\u2217","*",!0);l(d,p,q,"+","+");l(d,p,q,"\u2212","-",!0);l(d,p,q,"\u22C5","\\cdot",!0);l(d,p,q,"\u2218","\\circ",!0);l(d,p,q,"\xF7","\\div",!0);l(d,p,q,"\xB1","\\pm",!0);l(d,p,q,"\xD7","\\times",!0);l(d,p,q,"\u2229","\\cap",!0);l(d,p,q,"\u222A","\\cup",!0);l(d,p,q,"\u2216","\\setminus",!0);l(d,p,q,"\u2227","\\land");l(d,p,q,"\u2228","\\lor");l(d,p,q,"\u2227","\\wedge",!0);l(d,p,q,"\u2228","\\vee",!0);l(d,p,C,"\u221A","\\surd");l(d,p,Ve,"\u27E8","\\langle",!0);l(d,p,Ve,"\u2223","\\lvert");l(d,p,Ve,"\u2225","\\lVert");l(d,p,je,"?","?");l(d,p,je,"!","!");l(d,p,je,"\u27E9","\\rangle",!0);l(d,p,je,"\u2223","\\rvert");l(d,p,je,"\u2225","\\rVert");l(d,p,T,"=","=");l(d,p,T,":",":");l(d,p,T,"\u2248","\\approx",!0);l(d,p,T,"\u2245","\\cong",!0);l(d,p,T,"\u2265","\\ge");l(d,p,T,"\u2265","\\geq",!0);l(d,p,T,"\u2190","\\gets");l(d,p,T,">","\\gt",!0);l(d,p,T,"\u2208","\\in",!0);l(d,p,T,"\uE020","\\@not");l(d,p,T,"\u2282","\\subset",!0);l(d,p,T,"\u2283","\\supset",!0);l(d,p,T,"\u2286","\\subseteq",!0);l(d,p,T,"\u2287","\\supseteq",!0);l(d,S,T,"\u2288","\\nsubseteq",!0);l(d,S,T,"\u2289","\\nsupseteq",!0);l(d,p,T,"\u22A8","\\models");l(d,p,T,"\u2190","\\leftarrow",!0);l(d,p,T,"\u2264","\\le");l(d,p,T,"\u2264","\\leq",!0);l(d,p,T,"<","\\lt",!0);l(d,p,T,"\u2192","\\rightarrow",!0);l(d,p,T,"\u2192","\\to");l(d,S,T,"\u2271","\\ngeq",!0);l(d,S,T,"\u2270","\\nleq",!0);l(d,p,Tt,"\xA0","\\ ");l(d,p,Tt,"\xA0","\\space");l(d,p,Tt,"\xA0","\\nobreakspace");l(R,p,Tt,"\xA0","\\ ");l(R,p,Tt,"\xA0"," ");l(R,p,Tt,"\xA0","\\space");l(R,p,Tt,"\xA0","\\nobreakspace");l(d,p,Tt,"","\\nobreak");l(d,p,Tt,"","\\allowbreak");l(d,p,jr,",",",");l(d,p,jr,";",";");l(d,S,q,"\u22BC","\\barwedge",!0);l(d,S,q,"\u22BB","\\veebar",!0);l(d,p,q,"\u2299","\\odot",!0);l(d,p,q,"\u2295","\\oplus",!0);l(d,p,q,"\u2297","\\otimes",!0);l(d,p,C,"\u2202","\\partial",!0);l(d,p,q,"\u2298","\\oslash",!0);l(d,S,q,"\u229A","\\circledcirc",!0);l(d,S,q,"\u22A1","\\boxdot",!0);l(d,p,q,"\u25B3","\\bigtriangleup");l(d,p,q,"\u25BD","\\bigtriangledown");l(d,p,q,"\u2020","\\dagger");l(d,p,q,"\u22C4","\\diamond");l(d,p,q,"\u22C6","\\star");l(d,p,q,"\u25C3","\\triangleleft");l(d,p,q,"\u25B9","\\triangleright");l(d,p,Ve,"{","\\{");l(R,p,C,"{","\\{");l(R,p,C,"{","\\textbraceleft");l(d,p,je,"}","\\}");l(R,p,C,"}","\\}");l(R,p,C,"}","\\textbraceright");l(d,p,Ve,"{","\\lbrace");l(d,p,je,"}","\\rbrace");l(d,p,Ve,"[","\\lbrack",!0);l(R,p,C,"[","\\lbrack",!0);l(d,p,je,"]","\\rbrack",!0);l(R,p,C,"]","\\rbrack",!0);l(d,p,Ve,"(","\\lparen",!0);l(d,p,je,")","\\rparen",!0);l(R,p,C,"<","\\textless",!0);l(R,p,C,">","\\textgreater",!0);l(d,p,Ve,"\u230A","\\lfloor",!0);l(d,p,je,"\u230B","\\rfloor",!0);l(d,p,Ve,"\u2308","\\lceil",!0);l(d,p,je,"\u2309","\\rceil",!0);l(d,p,C,"\\","\\backslash");l(d,p,C,"\u2223","|");l(d,p,C,"\u2223","\\vert");l(R,p,C,"|","\\textbar",!0);l(d,p,C,"\u2225","\\|");l(d,p,C,"\u2225","\\Vert");l(R,p,C,"\u2225","\\textbardbl");l(R,p,C,"~","\\textasciitilde");l(R,p,C,"\\","\\textbackslash");l(R,p,C,"^","\\textasciicircum");l(d,p,T,"\u2191","\\uparrow",!0);l(d,p,T,"\u21D1","\\Uparrow",!0);l(d,p,T,"\u2193","\\downarrow",!0);l(d,p,T,"\u21D3","\\Downarrow",!0);l(d,p,T,"\u2195","\\updownarrow",!0);l(d,p,T,"\u21D5","\\Updownarrow",!0);l(d,p,Ae,"\u2210","\\coprod");l(d,p,Ae,"\u22C1","\\bigvee");l(d,p,Ae,"\u22C0","\\bigwedge");l(d,p,Ae,"\u2A04","\\biguplus");l(d,p,Ae,"\u22C2","\\bigcap");l(d,p,Ae,"\u22C3","\\bigcup");l(d,p,Ae,"\u222B","\\int");l(d,p,Ae,"\u222B","\\intop");l(d,p,Ae,"\u222C","\\iint");l(d,p,Ae,"\u222D","\\iiint");l(d,p,Ae,"\u220F","\\prod");l(d,p,Ae,"\u2211","\\sum");l(d,p,Ae,"\u2A02","\\bigotimes");l(d,p,Ae,"\u2A01","\\bigoplus");l(d,p,Ae,"\u2A00","\\bigodot");l(d,p,Ae,"\u222E","\\oint");l(d,p,Ae,"\u222F","\\oiint");l(d,p,Ae,"\u2230","\\oiiint");l(d,p,Ae,"\u2A06","\\bigsqcup");l(d,p,Ae,"\u222B","\\smallint");l(R,p,gr,"\u2026","\\textellipsis");l(d,p,gr,"\u2026","\\mathellipsis");l(R,p,gr,"\u2026","\\ldots",!0);l(d,p,gr,"\u2026","\\ldots",!0);l(d,p,gr,"\u22EF","\\@cdots",!0);l(d,p,gr,"\u22F1","\\ddots",!0);l(d,p,C,"\u22EE","\\varvdots");l(R,p,C,"\u22EE","\\varvdots");l(d,p,pe,"\u02CA","\\acute");l(d,p,pe,"\u02CB","\\grave");l(d,p,pe,"\xA8","\\ddot");l(d,p,pe,"~","\\tilde");l(d,p,pe,"\u02C9","\\bar");l(d,p,pe,"\u02D8","\\breve");l(d,p,pe,"\u02C7","\\check");l(d,p,pe,"^","\\hat");l(d,p,pe,"\u20D7","\\vec");l(d,p,pe,"\u02D9","\\dot");l(d,p,pe,"\u02DA","\\mathring");l(d,p,V,"\uE131","\\@imath");l(d,p,V,"\uE237","\\@jmath");l(d,p,C,"\u0131","\u0131");l(d,p,C,"\u0237","\u0237");l(R,p,C,"\u0131","\\i",!0);l(R,p,C,"\u0237","\\j",!0);l(R,p,C,"\xDF","\\ss",!0);l(R,p,C,"\xE6","\\ae",!0);l(R,p,C,"\u0153","\\oe",!0);l(R,p,C,"\xF8","\\o",!0);l(R,p,C,"\xC6","\\AE",!0);l(R,p,C,"\u0152","\\OE",!0);l(R,p,C,"\xD8","\\O",!0);l(R,p,pe,"\u02CA","\\'");l(R,p,pe,"\u02CB","\\`");l(R,p,pe,"\u02C6","\\^");l(R,p,pe,"\u02DC","\\~");l(R,p,pe,"\u02C9","\\=");l(R,p,pe,"\u02D8","\\u");l(R,p,pe,"\u02D9","\\.");l(R,p,pe,"\xB8","\\c");l(R,p,pe,"\u02DA","\\r");l(R,p,pe,"\u02C7","\\v");l(R,p,pe,"\xA8",'\\"');l(R,p,pe,"\u02DD","\\H");l(R,p,pe,"\u25EF","\\textcircled");wi={"--":!0,"---":!0,"``":!0,"''":!0};l(R,p,C,"\u2013","--",!0);l(R,p,C,"\u2013","\\textendash");l(R,p,C,"\u2014","---",!0);l(R,p,C,"\u2014","\\textemdash");l(R,p,C,"\u2018","`",!0);l(R,p,C,"\u2018","\\textquoteleft");l(R,p,C,"\u2019","'",!0);l(R,p,C,"\u2019","\\textquoteright");l(R,p,C,"\u201C","``",!0);l(R,p,C,"\u201C","\\textquotedblleft");l(R,p,C,"\u201D","''",!0);l(R,p,C,"\u201D","\\textquotedblright");l(d,p,C,"\xB0","\\degree",!0);l(R,p,C,"\xB0","\\degree");l(R,p,C,"\xB0","\\textdegree",!0);l(d,p,C,"\xA3","\\pounds");l(d,p,C,"\xA3","\\mathsterling",!0);l(R,p,C,"\xA3","\\pounds");l(R,p,C,"\xA3","\\textsterling",!0);l(d,S,C,"\u2720","\\maltese");l(R,S,C,"\u2720","\\maltese");_0='0123456789/@."';for(bn=0;bn<_0.length;bn++)Ta=_0.charAt(bn),l(d,p,C,Ta,Ta);N0='0123456789!@*()-=+";:?/.,';for(yn=0;yn<N0.length;yn++)Ca=N0.charAt(yn),l(R,p,C,Ca,Ca);En="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(wn=0;wn<En.length;wn++)zr=En.charAt(wn),l(d,p,V,zr,zr),l(R,p,C,zr,zr);l(d,S,C,"C","\u2102");l(R,S,C,"C","\u2102");l(d,S,C,"H","\u210D");l(R,S,C,"H","\u210D");l(d,S,C,"N","\u2115");l(R,S,C,"N","\u2115");l(d,S,C,"P","\u2119");l(R,S,C,"P","\u2119");l(d,S,C,"Q","\u211A");l(R,S,C,"Q","\u211A");l(d,S,C,"R","\u211D");l(R,S,C,"R","\u211D");l(d,S,C,"Z","\u2124");l(R,S,C,"Z","\u2124");l(d,p,V,"h","\u210E");l(R,p,V,"h","\u210E");for(Oe=0;Oe<En.length;Oe++)ge=En.charAt(Oe),J=String.fromCharCode(55349,56320+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56372+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56424+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56580+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56684+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56736+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56788+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56840+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56944+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),Oe<26&&(J=String.fromCharCode(55349,56632+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J),J=String.fromCharCode(55349,56476+Oe),l(d,p,V,ge,J),l(R,p,C,ge,J));J="\u{1D55C}";l(d,p,V,"k",J);l(R,p,C,"k",J);for(It=0;It<10;It++)xt=It.toString(),J=String.fromCharCode(55349,57294+It),l(d,p,V,xt,J),l(R,p,C,xt,J),J=String.fromCharCode(55349,57314+It),l(d,p,V,xt,J),l(R,p,C,xt,J),J=String.fromCharCode(55349,57324+It),l(d,p,V,xt,J),l(R,p,C,xt,J),J=String.fromCharCode(55349,57334+It),l(d,p,V,xt,J),l(R,p,C,xt,J);Ha="\xD0\xDE\xFE";for(xn=0;xn<Ha.length;xn++)Rr=Ha.charAt(xn),l(d,p,V,Rr,Rr),l(R,p,C,Rr,Rr);qa={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},B0={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},j0={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},Yd={mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},Qt={mathClass:"",textClass:"",font:""},L0={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},P0={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},H0={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},Ua={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},Ga={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},q0={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},Wa={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},U0=[qa,qa,B0,B0,j0,j0,Yd,Qt,Qt,Qt,L0,L0,P0,P0,H0,H0,Ua,Ua,Ga,Ga,q0,q0,Qt,Qt,Wa,Wa],Kd=[qa,Qt,Ua,Ga,Wa],Qd=r=>{var e=r.charCodeAt(0),t=r.charCodeAt(1),n=(e-55296)*1024+(t-56320)+65536;if(119808<=n&&n<120484){var a=Math.floor((n-119808)/26);return U0[a]}else if(120782<=n&&n<=120831){var s=Math.floor((n-120782)/10);return Kd[s]}else{if(n===120485||n===120486)return U0[0];if(120486<n&&n<120782)return Qt;throw new _("Unsupported character: "+r)}},Bn=function(e,t,n){if(me[n][e]){var a=me[n][e].replace;a&&(e=a)}return{value:e,metrics:os(e,t,n)}},_e=function(e,t,n,a,s){var i=Bn(e,t,n),o=i.metrics;e=i.value;var c;if(o){var m=o.italic;(n==="text"||a&&a.font==="mathit")&&(m=0),c=new Be(e,o.height,o.depth,m,o.skew,o.width,s)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '"+n+"'")),c=new Be(e,0,0,0,0,0,s);if(a){c.maxFontSize=a.sizeMultiplier,a.style.isTight()&&c.classes.push("mtight");var u=a.getColor();u&&(c.style.color=u)}return c},ls=function(e,t,n,a){return a===void 0&&(a=[]),n.font==="boldsymbol"&&Bn(e,"Main-Bold",t).metrics?_e(e,"Main-Bold",t,n,a.concat(["mathbf"])):e==="\\"||me[t][e].font==="main"?_e(e,"Main-Regular",t,n,a):_e(e,"AMS-Regular",t,n,a.concat(["amsrm"]))},eu=function(e,t,n){return n!=="textord"&&Bn(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},jn=function(e,t,n){var a=e.mode,s=e.text,i=["mord"],{font:o,fontFamily:c,fontWeight:m,fontShape:u}=t,h=a==="math"||a==="text"&&!!o,g=h?o:c,b="",x="";if(s.charCodeAt(0)===55349){var v=Qd(s);b=v.font,x=v[a+"Class"]}if(b)return _e(s,b,a,t,i.concat(x));if(g){var y,k;if(g==="boldsymbol"){var w=eu(s,a,n);y=w.fontName,k=[w.fontClass]}else h?(y=Va[o].fontName,k=[o]):(y=kn(c,m,u),k=[c,m,u]);if(Bn(s,y,a).metrics)return _e(s,y,a,t,i.concat(k));if(wi.hasOwnProperty(s)&&y.slice(0,10)==="Typewriter"){for(var A=[],$=0;$<s.length;$++)A.push(_e(s[$],y,a,t,i.concat(k)));return Ct(A)}}if(n==="mathord")return _e(s,"Math-Italic",a,t,i.concat(["mathnormal"]));if(n==="textord"){var D=me[a][s]&&me[a][s].font;if(D==="ams"){var M=kn("amsrm",m,u);return _e(s,M,a,t,i.concat("amsrm",m,u))}else if(D==="main"||!D){var E=kn("textrm",m,u);return _e(s,E,a,t,i.concat(m,u))}else{var z=kn(D,m,u);return _e(s,z,a,t,i.concat(z,m,u))}}else throw new Error("unexpected type: "+n+" in makeOrd")},tu=(r,e)=>{if(Bt(r.classes)!==Bt(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize||r.italic!==0&&r.hasClass("mathnormal"))return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var n of Object.keys(r.style))if(r.style[n]!==e.style[n])return!1;for(var a of Object.keys(e.style))if(r.style[a]!==e.style[a])return!1;return!0},xi=r=>{for(var e=0;e<r.length-1;e++){var t=r[e],n=r[e+1];t instanceof Be&&n instanceof Be&&tu(t,n)&&(t.text+=n.text,t.height=Math.max(t.height,n.height),t.depth=Math.max(t.depth,n.depth),t.italic=n.italic,r.splice(e+1,1),e--)}return r},cs=function(e){for(var t=0,n=0,a=0,s=0;s<e.children.length;s++){var i=e.children[s];i.height>t&&(t=i.height),i.depth>n&&(n=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=a},F=function(e,t,n,a){var s=new jt(e,t,n,a);return cs(s),s},Lt=(r,e,t,n)=>new jt(r,e,t,n),hr=function(e,t,n){var a=F([e],[],t);return a.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),a.style.borderBottomWidth=N(a.height),a.maxFontSize=1,a},ru=function(e,t,n,a){var s=new pr(e,t,n,a);return cs(s),s},Ct=function(e){var t=new Nt(e);return cs(t),t},fr=function(e,t){return e instanceof Nt?F([],[e],t):e},nu=function(e){if(e.positionType==="individualShift"){for(var t=e.children,n=[t[0]],a=-t[0].shift-t[0].elem.depth,s=a,i=1;i<t.length;i++){var o=-t[i].shift-s-t[i].elem.depth,c=o-(t[i-1].elem.height+t[i-1].elem.depth);s=s+o,n.push({type:"kern",size:c}),n.push(t[i])}return{children:n,depth:a}}var m;if(e.positionType==="top"){for(var u=e.positionData,h=0;h<e.children.length;h++){var g=e.children[h];u-=g.type==="kern"?g.size:g.elem.height+g.elem.depth}m=u}else if(e.positionType==="bottom")m=-e.positionData;else{var b=e.children[0];if(b.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")m=-b.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")m=-b.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:m}},ae=function(e,t){for(var{children:n,depth:a}=nu(e),s=0,i=0;i<n.length;i++){var o=n[i];if(o.type==="elem"){var c=o.elem;s=Math.max(s,c.maxFontSize,c.height)}}s+=2;var m=F(["pstrut"],[]);m.style.height=N(s);for(var u=[],h=a,g=a,b=a,x=0;x<n.length;x++){var v=n[x];if(v.type==="kern")b+=v.size;else{var y=v.elem,k=v.wrapperClasses||[],w=v.wrapperStyle||{},A=F(k,[m,y],void 0,w);A.style.top=N(-s-b-y.depth),v.marginLeft&&(A.style.marginLeft=v.marginLeft),v.marginRight&&(A.style.marginRight=v.marginRight),u.push(A),b+=y.height+y.depth}h=Math.min(h,b),g=Math.max(g,b)}var $=F(["vlist"],u);$.style.height=N(g);var D;if(h<0){var M=F([],[]),E=F(["vlist"],[M]);E.style.height=N(-h);var z=F(["vlist-s"],[new Be("\u200B")]);D=[F(["vlist-r"],[$,z]),F(["vlist-r"],[E])]}else D=[F(["vlist-r"],[$])];var O=F(["vlist-t"],D);return D.length===2&&O.classes.push("vlist-t2"),O.height=g,O.depth=-h,O},ki=(r,e)=>{var t=F(["mspace"],[],e),n=be(r,e);return t.style.marginRight=N(n),t},kn=(r,e,t)=>{var n,a;switch(r){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=r}return e==="textbf"&&t==="textit"?a="BoldItalic":e==="textbf"?a="Bold":t==="textit"?a="Italic":a="Regular",n+"-"+a},Va={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Si={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ai=function(e,t){var[n,a,s]=Si[e],i=new mt(n),o=new rt([i],{width:N(a),height:N(s),style:"width:"+N(a),viewBox:"0 0 "+1e3*a+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),c=Lt(["overlay"],[o],t);return c.height=s,c.style.height=N(s),c.style.width=N(a),c},ve={number:3,unit:"mu"},Kt={number:4,unit:"mu"},kt={number:5,unit:"mu"},au={mord:{mop:ve,mbin:Kt,mrel:kt,minner:ve},mop:{mord:ve,mop:ve,mrel:kt,minner:ve},mbin:{mord:Kt,mop:Kt,mopen:Kt,minner:Kt},mrel:{mord:kt,mop:kt,mopen:kt,minner:kt},mopen:{},mclose:{mop:ve,mbin:Kt,mrel:kt,minner:ve},mpunct:{mord:ve,mop:ve,mrel:kt,mopen:ve,mclose:ve,mpunct:ve,minner:ve},minner:{mord:ve,mop:ve,mbin:Kt,mrel:kt,mopen:ve,mpunct:ve,minner:ve}},su={mord:{mop:ve},mop:{mord:ve,mop:ve},mbin:{},mrel:{},mopen:{},mclose:{mop:ve},mpunct:{},minner:{mop:ve}},Ti={},zn={},Rn={};Fn=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},Se=function(e){return e.type==="ordgroup"?e.body:[e]},iu=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),ou=new Set(["rightmost","mrel","mclose","mpunct"]),lu={display:Y.DISPLAY,text:Y.TEXT,script:Y.SCRIPT,scriptscript:Y.SCRIPTSCRIPT},cu={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},De=function(e,t,n,a){a===void 0&&(a=[null,null]);for(var s=[],i=0;i<e.length;i++){var o=se(e[i],t);if(o instanceof Nt){var c=o.children;s.push(...c)}else s.push(o)}if(xi(s),!n)return s;var m=t;if(e.length===1){var u=e[0];u.type==="sizing"?m=t.havingSize(u.size):u.type==="styling"&&(m=t.havingStyle(lu[u.style]))}var h=F([a[0]||"leftmost"],[],t),g=F([a[1]||"rightmost"],[],t),b=n==="root";return Za(s,(x,v)=>{var y=v.classes[0],k=x.classes[0];y==="mbin"&&ou.has(k)?v.classes[0]="mord":k==="mbin"&&iu.has(y)&&(x.classes[0]="mord")},{node:h},g,b),Za(s,(x,v)=>{var y,k,w=Ja(v),A=Ja(x),$=w&&A?x.hasClass("mtight")?(y=su[w])==null?void 0:y[A]:(k=au[w])==null?void 0:k[A]:null;if($)return ki($,m)},{node:h},g,b),s},Za=function(e,t,n,a,s){a&&e.push(a);for(var i=0;i<e.length;i++){var o=e[i],c=Ci(o);if(c){Za(c.children,t,n,null,s);continue}var m=!o.hasClass("mspace");if(m){var u=t(o,n.node);u&&(n.insertAfter?n.insertAfter(u):(e.unshift(u),i++))}m?n.node=o:s&&o.hasClass("newline")&&(n.node=F(["leftmost"])),n.insertAfter=(h=>g=>{e.splice(h+1,0,g),i++})(i)}a&&e.pop()},Ci=function(e){return e instanceof Nt||e instanceof pr||e instanceof jt&&e.hasClass("enclosing")?e:null},Xa=function(e,t){var n=Ci(e);if(n){var a=n.children;if(a.length){if(t==="right")return Xa(a[a.length-1],"right");if(t==="left")return Xa(a[0],"left")}}return e},Ja=function(e,t){if(!e)return null;t&&(e=Xa(e,t));var n=e.classes[0];return cu[n]||null},Br=function(e,t){var n=["nulldelimiter"].concat(e.baseSizingClasses());return F(t.concat(n))},se=function(e,t,n){if(!e)return F();if(zn[e.type]){var a=zn[e.type](e,t);if(n&&t.size!==n.size){a=F(t.sizingClasses(n),[a],t);var s=t.sizeMultiplier/n.sizeMultiplier;a.height*=s,a.depth*=s}return a}else throw new _("Got group of unknown type: '"+e.type+"'")};I=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=Bt(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof ye&&this.children[n+1]instanceof ye){for(var a=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof ye;)a+=this.children[++n].toText();e.appendChild(new ye(a).toNode())}else e.appendChild(this.children[n].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=Ie(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+Ie(Bt(this.classes))+'"'),e+=">";for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}},ye=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ie(this.toText())}toText(){return this.text}},On=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",N(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+N(this.width)+'"/>'}toText(){return this.character?this.character:" "}},du=new Set(["\\imath","\\jmath"]),uu=new Set(["mrow","mtable"]),Ke=function(e,t,n){return me[t][e]&&me[t][e].replace&&e.charCodeAt(0)!==55349&&!(wi.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=me[t][e].replace),new ye(e)},ds=function(e){return e.length===1?e[0]:new I("mrow",e)},mu={mathit:"italic",boldsymbol:r=>r.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},us=(r,e)=>{if(r.mode==="text"){if(e.fontFamily==="texttt")return"monospace";if(e.fontFamily==="textsf")return e.fontShape==="textit"&&e.fontWeight==="textbf"?"sans-serif-bold-italic":e.fontShape==="textit"?"sans-serif-italic":e.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(e.fontShape==="textit"&&e.fontWeight==="textbf")return"bold-italic";if(e.fontShape==="textit")return"italic";if(e.fontWeight==="textbf")return"bold"}var t=e.font;if(!t||t==="mathnormal")return null;var n=r.mode,a=mu[t];if(a)return typeof a=="function"?a(r):a;var s=r.text;if(du.has(s))return null;if(me[n][s]){var i=me[n][s].replace;i&&(s=i)}var o=Va[t].fontName;return os(s,o,n)?Va[t].variant:null};Ze=function(e,t,n){if(e.length===1){var a=ce(e[0],t);return n&&a instanceof I&&a.type==="mo"&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var s=[],i,o=0;o<e.length;o++){var c=ce(e[o],t);if(c instanceof I&&i instanceof I){if(c.type==="mtext"&&i.type==="mtext"&&c.getAttribute("mathvariant")===i.getAttribute("mathvariant")){i.children.push(...c.children);continue}else if(c.type==="mn"&&i.type==="mn"){i.children.push(...c.children);continue}else if(Da(c)&&i.type==="mn"){i.children.push(...c.children);continue}else if(c.type==="mn"&&Da(i))c.children=[...i.children,...c.children],s.pop();else if((c.type==="msup"||c.type==="msub")&&c.children.length>=1&&(i.type==="mn"||Da(i))){var m=c.children[0];m instanceof I&&m.type==="mn"&&(m.children=[...i.children,...m.children],s.pop())}else if(i.type==="mi"&&i.children.length===1){var u=i.children[0];if(u instanceof ye&&u.text==="\u0338"&&(c.type==="mo"||c.type==="mi"||c.type==="mn")){var h=c.children[0];h instanceof ye&&h.text.length>0&&(h.text=h.text.slice(0,1)+"\u0338"+h.text.slice(1),s.pop())}}}s.push(c),i=c}return s},Pt=function(e,t,n){return ds(Ze(e,t,n))},ce=function(e,t){if(!e)return new I("mrow");if(Rn[e.type])return Rn[e.type](e,t);throw new _("Got group of unknown type: '"+e.type+"'")};pu=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],W0=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],V0=function(e,t){return t.size<2?e:pu[e-1][t.size-1]},In=class r{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||r.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=W0[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(t,e),new r(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:V0(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:W0[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=V0(r.BASESIZE,e);return this.size===t&&this.textSize===r.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==r.BASESIZE?["sizing","reset-size"+this.size,"size"+r.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Jd(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};In.BASESIZE=6;Mi=function(e){return new In({style:e.displayMode?Y.DISPLAY:Y.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},$i=function(e,t){if(t.displayMode){var n=["katex-display"];t.leqno&&n.push("leqno"),t.fleqn&&n.push("fleqn"),e=F(n,[e])}return e},hu=function(e,t,n){var a=Mi(n),s;if(n.output==="mathml")return G0(e,t,a,n.displayMode,!0);if(n.output==="html"){var i=Ya(e,a);s=F(["katex"],[i])}else{var o=G0(e,t,a,n.displayMode,!1),c=Ya(e,a);s=F(["katex"],[o,c])}return $i(s,n)},fu=function(e,t,n){var a=Mi(n),s=Ya(e,a),i=F(["katex"],[s]);return $i(i,n)},gu={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Ln=function(e){var t=new I("mo",[new ye(gu[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},vu={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},bu=new Set(["widehat","widecheck","widetilde","utilde"]),Pn=function(e,t){function n(){var o=4e5,c=e.label.slice(1);if(bu.has(c)&&"base"in e){var m=e.base.type==="ordgroup"?e.base.body.length:1,u,h,g;if(m>5)c==="widehat"||c==="widecheck"?(u=420,o=2364,g=.42,h=c+"4"):(u=312,o=2340,g=.34,h="tilde4");else{var b=[1,1,2,2,3,3][m];c==="widehat"||c==="widecheck"?(o=[0,1062,2364,2364,2364][b],u=[0,239,300,360,420][b],g=[0,.24,.3,.3,.36,.42][b],h=c+b):(o=[0,600,1033,2339,2340][b],u=[0,260,286,306,312][b],g=[0,.26,.286,.3,.306,.34][b],h="tilde"+b)}var x=new mt(h),v=new rt([x],{width:"100%",height:N(g),viewBox:"0 0 "+o+" "+u,preserveAspectRatio:"none"});return{span:Lt([],[v],t),minWidth:0,height:g}}else{var y=[],k=vu[c];if(!k)throw new Error('No SVG data for "'+c+'".');var[w,A,$]=k,D=$/1e3,M=w.length,E,z;if(M===1){if(k.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+c+'".');E=["hide-tail"],z=[k[3]]}else if(M===2)E=["halfarrow-left","halfarrow-right"],z=["xMinYMin","xMaxYMin"];else if(M===3)E=["brace-left","brace-center","brace-right"],z=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
257
+ `+M+" children.");for(var O=0;O<M;O++){var B=new mt(w[O]),U=new rt([B],{width:"400em",height:N(D),viewBox:"0 0 "+o+" "+$,preserveAspectRatio:z[O]+" slice"}),W=Lt([E[O]],[U],t);if(M===1)return{span:W,minWidth:A,height:D};W.style.height=N(D),y.push(W)}return{span:F(["stretchy"],y,t),minWidth:A,height:D}}}var{span:a,minWidth:s,height:i}=n();return a.height=i,a.style.height=N(i),s>0&&(a.style.minWidth=N(s)),a},yu=function(e,t,n,a,s){var i,o=e.height+e.depth+n+a;if(/fbox|color|angl/.test(t)){if(i=F(["stretchy",t],[],s),t==="fbox"){var c=s.color&&s.getColor();c&&(i.style.borderColor=c)}}else{var m=[];/^[bx]cancel$/.test(t)&&m.push(new Nr({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&m.push(new Nr({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var u=new rt(m,{width:"100%",height:N(o)});i=Lt([],[u],s)}return i.height=o,i.style.height=N(o),i},wu={bin:1,close:1,inner:1,open:1,punct:1,rel:1},xu={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};Ei=r=>{if(r instanceof Be)return r;if(Zd(r)&&r.children.length===1)return Ei(r.children[0])},ms=(r,e)=>{var t,n,a;r&&r.type==="supsub"?(n=K(r.base,"accent"),t=n.base,r.base=t,a=Vd(se(r,e)),r.base=n):(n=K(r,"accent"),t=n.base);var s=se(t,e.havingCrampedStyle()),i=n.isShifty&&At(t),o=0;if(i){var c,m;o=(c=(m=Ei(s))==null?void 0:m.skew)!=null?c:0}var u=n.label==="\\c",h=u?s.height+s.depth:Math.min(s.height,e.fontMetrics().xHeight),g;if(n.isStretchy)g=Pn(n,e),g=ae({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:g,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+N(2*o)+")",marginLeft:N(2*o)}:void 0}]});else{var b,x;n.label==="\\vec"?(b=Ai("vec",e),x=Si.vec[1]):(b=jn({type:"textord",mode:n.mode,text:n.label},e,"textord"),b=Wd(b),b.italic=0,x=b.width,u&&(h+=b.depth)),g=F(["accent-body"],[b]);var v=n.label==="\\textcircled";v&&(g.classes.push("accent-full"),h=s.height);var y=o;v||(y-=x/2),g.style.left=N(y),n.label==="\\textcircled"&&(g.style.top=".2em"),g=ae({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-h},{type:"elem",elem:g}]})}var k=F(["mord","accent"],[g],e);return a?(a.children[0]=k,a.height=Math.max(k.height,a.height),a.classes[0]="mord",a):k},zi=(r,e)=>{var t=r.isStretchy?Ln(r.label):new I("mo",[Ke(r.label,r.mode)]),n=new I("mover",[ce(r.base,e),t]);return n.setAttribute("accent","true"),n},Su=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));P({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(r,e)=>{var t=Fn(e[0]),n=!Su.test(r.funcName),a=!n||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:n,isShifty:a,base:t}},htmlBuilder:ms,mathmlBuilder:zi});P({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],n=r.parser.mode;return n==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:ms,mathmlBuilder:zi});P({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=e[0];return{type:"accentUnder",mode:t.mode,label:n,base:a}},htmlBuilder:(r,e)=>{var t=se(r.base,e),n=Pn(r,e),a=r.label==="\\utilde"?.12:0,s=ae({positionType:"top",positionData:t.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:a},{type:"elem",elem:t}]});return F(["mord","accentunder"],[s],e)},mathmlBuilder:(r,e)=>{var t=Ln(r.label),n=new I("munder",[ce(r.base,e),t]);return n.setAttribute("accentunder","true"),n}});An=r=>{var e=new I("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};P({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:n,funcName:a}=r;return{type:"xArrow",mode:n.mode,label:a,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,n=e.havingStyle(t.sup()),a=fr(se(r.body,n,e),e),s=r.label.slice(0,2)==="\\x"?"x":"cd";a.classes.push(s+"-arrow-pad");var i;r.below&&(n=e.havingStyle(t.sub()),i=fr(se(r.below,n,e),e),i.classes.push(s+"-arrow-pad"));var o=Pn(r,e),c=-e.fontMetrics().axisHeight+.5*o.height,m=-e.fontMetrics().axisHeight-.5*o.height-.111;(a.depth>.25||r.label==="\\xleftequilibrium")&&(m-=a.depth);var u;if(i){var h=-e.fontMetrics().axisHeight+i.height+.5*o.height+.111;u=ae({positionType:"individualShift",children:[{type:"elem",elem:a,shift:m},{type:"elem",elem:o,shift:c,wrapperClasses:["svg-align"]},{type:"elem",elem:i,shift:h}]})}else u=ae({positionType:"individualShift",children:[{type:"elem",elem:a,shift:m},{type:"elem",elem:o,shift:c,wrapperClasses:["svg-align"]}]});return F(["mrel","x-arrow"],[u],e)},mathmlBuilder(r,e){var t=Ln(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(r.body){var a=An(ce(r.body,e));if(r.below){var s=An(ce(r.below,e));n=new I("munderover",[t,s,a])}else n=new I("mover",[t,a])}else if(r.below){var i=An(ce(r.below,e));n=new I("munder",[t,i])}else n=An(),n=new I("mover",[t,n]);return n}});P({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:n}=r,a=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+n.slice(5),body:Se(a),isCharacterBox:At(a)}},htmlBuilder:Ri,mathmlBuilder:Fi});Un=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};P({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Un(e[0]),body:Se(e[1]),isCharacterBox:At(e[1])}}});P({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:n}=r,a=e[1],s=e[0],i;n!=="\\stackrel"?i=Un(a):i="mrel";var o={type:"op",mode:a.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:Se(a)},c={type:"supsub",mode:s.mode,base:o,sup:n==="\\underset"?null:s,sub:n==="\\underset"?s:null};return{type:"mclass",mode:t.mode,mclass:i,body:[c],isCharacterBox:At(c)}},htmlBuilder:Ri,mathmlBuilder:Fi});P({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Un(e[0]),body:Se(e[0])}},htmlBuilder(r,e){var t=De(r.body,e,!0),n=F([r.mclass],t,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(r,e){var t=Ze(r.body,e),n=new I("mstyle",t);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});Au={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Z0=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),X0=r=>r.type==="textord"&&r.text==="@",Tu=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;P({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:n}=r;return{type:"cdlabel",mode:t.mode,side:n.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),n=fr(se(r.label,t,e),e);return n.classes.push("cd-label-"+r.side),n.style.bottom=N(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(r,e){var t=new I("mrow",[ce(r.label,e)]);return t=new I("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new I("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});P({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=fr(se(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new I("mrow",[ce(r.fragment,e)])}});P({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,n=K(e[0],"ordgroup"),a=n.body,s="",i=0;i<a.length;i++){var o=K(a[i],"textord");s+=o.text}var c=parseInt(s),m;if(isNaN(c))throw new _("\\@char has non-numeric argument "+s);if(c<0||c>=1114111)throw new _("\\@char with invalid code point "+s);return c<=65535?m=String.fromCharCode(c):(c-=65536,m=String.fromCharCode((c>>10)+55296,(c&1023)+56320)),{type:"textord",mode:t.mode,text:m}}});Oi=(r,e)=>{var t=De(r.body,e.withColor(r.color),!1);return Ct(t)},Ii=(r,e)=>{var t=Ze(r.body,e.withColor(r.color)),n=new I("mstyle",t);return n.setAttribute("mathcolor",r.color),n};P({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,n=K(e[0],"color-token").color,a=e[1];return{type:"color",mode:t.mode,color:n,body:Se(a)}},htmlBuilder:Oi,mathmlBuilder:Ii});P({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:n}=r,a=K(e[0],"color-token").color;t.gullet.macros.set("\\current@color",a);var s=t.parseExpression(!0,n);return{type:"color",mode:t.mode,color:a,body:s}},htmlBuilder:Oi,mathmlBuilder:Ii});P({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:n}=r,a=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:a&&K(a,"size").value}},htmlBuilder(r,e){var t=F(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=N(be(r.size,e)))),t},mathmlBuilder(r,e){var t=new I("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",N(be(r.size,e)))),t}});Ka={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},_i=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new _("Expected a control sequence",r);return e},Mu=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},Ni=(r,e,t,n)=>{var a=r.gullet.macros.get(t.text);a==null&&(t.noexpand=!0,a={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,a,n)};P({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var n=e.fetch();if(Ka[n.text])return(t==="\\global"||t==="\\\\globallong")&&(n.text=Ka[n.text]),K(e.parseFunction(),"internal");throw new _("Invalid token after macro prefix",n)}});P({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,n=e.gullet.popToken(),a=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(a))throw new _("Expected a control sequence",n);for(var s=0,i,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){i=e.gullet.future(),o[s].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new _('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==s+1)throw new _('Argument number "'+n.text+'" out of order');s++,o.push([])}else{if(n.text==="EOF")throw new _("Expected a macro definition");o[s].push(n.text)}var{tokens:c}=e.gullet.consumeArg();return i&&c.unshift(i),(t==="\\edef"||t==="\\xdef")&&(c=e.gullet.expandTokens(c),c.reverse()),e.gullet.macros.set(a,{tokens:c,numArgs:s,delimiters:o},t===Ka[t]),{type:"internal",mode:e.mode}}});P({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,n=_i(e.gullet.popToken());e.gullet.consumeSpaces();var a=Mu(e);return Ni(e,n,a,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});P({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,n=_i(e.gullet.popToken()),a=e.gullet.popToken(),s=e.gullet.popToken();return Ni(e,n,s,t==="\\\\globalfuture"),e.gullet.pushToken(s),e.gullet.pushToken(a),{type:"internal",mode:e.mode}}});Fr=function(e,t,n){var a=me.math[e]&&me.math[e].replace,s=os(a||e,t,n);if(!s)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return s},ps=function(e,t,n,a){var s=n.havingBaseStyle(t),i=F(a.concat(s.sizingClasses(n)),[e],n),o=s.sizeMultiplier/n.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=s.sizeMultiplier,i},Bi=function(e,t,n){var a=t.havingBaseStyle(n),s=(1-t.sizeMultiplier/a.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=N(s),e.height-=s,e.depth+=s},$u=function(e,t,n,a,s,i){var o=_e(e,"Main-Regular",s,a),c=ps(o,t,a,i);return n&&Bi(c,a,t),c},Eu=function(e,t,n,a){return _e(e,"Size"+t+"-Regular",n,a)},ji=function(e,t,n,a,s,i){var o=Eu(e,t,s,a),c=ps(F(["delimsizing","size"+t],[o],a),Y.TEXT,a,i);return n&&Bi(c,a,Y.TEXT),c},Ma=function(e,t,n){var a;t==="Size1-Regular"?a="delim-size1":a="delim-size4";var s=F(["delimsizinginner",a],[F([],[_e(e,t,n)])]);return{type:"elem",elem:s}},$a=function(e,t,n){var a=ut["Size4-Regular"][e.charCodeAt(0)]?ut["Size4-Regular"][e.charCodeAt(0)][4]:ut["Size1-Regular"][e.charCodeAt(0)][4],s=new mt("inner",Ld(e,Math.round(1e3*t))),i=new rt([s],{width:N(a),height:N(t),style:"width:"+N(a),viewBox:"0 0 "+1e3*a+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=Lt([],[i],n);return o.height=t,o.style.height=N(t),o.style.width=N(a),{type:"elem",elem:o}},Qa=.008,Tn={type:"kern",size:-1*Qa},zu=new Set(["|","\\lvert","\\rvert","\\vert"]),Ru=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Li=function(e,t,n,a,s,i){var o,c,m,u,h="",g=0;o=m=u=e,c=null;var b="Size1-Regular";e==="\\uparrow"?m=u="\u23D0":e==="\\Uparrow"?m=u="\u2016":e==="\\downarrow"?o=m="\u23D0":e==="\\Downarrow"?o=m="\u2016":e==="\\updownarrow"?(o="\\uparrow",m="\u23D0",u="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",m="\u2016",u="\\Downarrow"):zu.has(e)?(m="\u2223",h="vert",g=333):Ru.has(e)?(m="\u2225",h="doublevert",g=556):e==="["||e==="\\lbrack"?(o="\u23A1",m="\u23A2",u="\u23A3",b="Size4-Regular",h="lbrack",g=667):e==="]"||e==="\\rbrack"?(o="\u23A4",m="\u23A5",u="\u23A6",b="Size4-Regular",h="rbrack",g=667):e==="\\lfloor"||e==="\u230A"?(m=o="\u23A2",u="\u23A3",b="Size4-Regular",h="lfloor",g=667):e==="\\lceil"||e==="\u2308"?(o="\u23A1",m=u="\u23A2",b="Size4-Regular",h="lceil",g=667):e==="\\rfloor"||e==="\u230B"?(m=o="\u23A5",u="\u23A6",b="Size4-Regular",h="rfloor",g=667):e==="\\rceil"||e==="\u2309"?(o="\u23A4",m=u="\u23A5",b="Size4-Regular",h="rceil",g=667):e==="("||e==="\\lparen"?(o="\u239B",m="\u239C",u="\u239D",b="Size4-Regular",h="lparen",g=875):e===")"||e==="\\rparen"?(o="\u239E",m="\u239F",u="\u23A0",b="Size4-Regular",h="rparen",g=875):e==="\\{"||e==="\\lbrace"?(o="\u23A7",c="\u23A8",u="\u23A9",m="\u23AA",b="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="\u23AB",c="\u23AC",u="\u23AD",m="\u23AA",b="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(o="\u23A7",u="\u23A9",m="\u23AA",b="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(o="\u23AB",u="\u23AD",m="\u23AA",b="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(o="\u23A7",u="\u23AD",m="\u23AA",b="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(o="\u23AB",u="\u23A9",m="\u23AA",b="Size4-Regular");var x=Fr(o,b,s),v=x.height+x.depth,y=Fr(m,b,s),k=y.height+y.depth,w=Fr(u,b,s),A=w.height+w.depth,$=0,D=1;if(c!==null){var M=Fr(c,b,s);$=M.height+M.depth,D=2}var E=v+A+$,z=Math.max(0,Math.ceil((t-E)/(D*k))),O=E+z*D*k,B=a.fontMetrics().axisHeight;n&&(B*=a.sizeMultiplier);var U=O/2-B,W=[];if(h.length>0){var re=O-v-A,ee=Math.round(O*1e3),Z=Pd(h,Math.round(re*1e3)),ne=new mt(h,Z),ie=N(g/1e3),ze=N(ee/1e3),xe=new rt([ne],{width:ie,height:ze,viewBox:"0 0 "+g+" "+ee}),$e=Lt([],[xe],a);$e.height=ee/1e3,$e.style.width=ie,$e.style.height=ze,W.push({type:"elem",elem:$e})}else{if(W.push(Ma(u,b,s)),W.push(Tn),c===null){var ue=O-v-A+2*Qa;W.push($a(m,ue,a))}else{var Fe=(O-v-A-$)/2+2*Qa;W.push($a(m,Fe,a)),W.push(Tn),W.push(Ma(c,b,s)),W.push(Tn),W.push($a(m,Fe,a))}W.push(Tn),W.push(Ma(o,b,s))}var ke=a.havingBaseStyle(Y.TEXT),Xe=ae({positionType:"bottom",positionData:U,children:W});return ps(F(["delimsizing","mult"],[Xe],ke),Y.TEXT,a,i)},Ea=80,za=.08,Ra=function(e,t,n,a,s){var i=jd(e,a,n),o=new mt(e,i),c=new rt([o],{width:"400em",height:N(t),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Lt(["hide-tail"],[c],s)},Fu=function(e,t){var n=t.havingBaseSizing(),a=Gi("\\surd",e*n.sizeMultiplier,Ui,n),s=n.sizeMultiplier,i=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,c,m,u,h;return a.type==="small"?(u=1e3+1e3*i+Ea,e<1?s=1:e<1.4&&(s=.7),c=(1+i+za)/s,m=(1+i)/s,o=Ra("sqrtMain",c,u,i,t),o.style.minWidth="0.853em",h=.833/s):a.type==="large"?(u=(1e3+Ea)*Or[a.size],m=(Or[a.size]+i)/s,c=(Or[a.size]+i+za)/s,o=Ra("sqrtSize"+a.size,c,u,i,t),o.style.minWidth="1.02em",h=1/s):(c=e+i+za,m=e+i,u=Math.floor(1e3*e+i)+Ea,o=Ra("sqrtTall",c,u,i,t),o.style.minWidth="0.742em",h=1.056),o.height=m,o.style.height=N(c),{span:o,advanceWidth:h,ruleWidth:(t.fontMetrics().sqrtRuleThickness+i)*s}},Pi=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),Ou=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),Hi=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Or=[0,1.2,1.8,2.4,3],qi=function(e,t,n,a,s){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),Pi.has(e)||Hi.has(e))return ji(e,t,!1,n,a,s);if(Ou.has(e))return Li(e,Or[t],!1,n,a,s);throw new _("Illegal delimiter: '"+e+"'")},Iu=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],_u=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"stack"}],Ui=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Nu=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var t=e.type;throw new Error("Add support for delim type '"+t+"' here.")},Gi=function(e,t,n,a){for(var s=Math.min(2,3-a.style.size),i=s;i<n.length;i++){var o=n[i];if(o.type==="stack")break;var c=Fr(e,Nu(o),"math"),m=c.height+c.depth;if(o.type==="small"){var u=a.havingBaseStyle(o.style);m*=u.sizeMultiplier}if(m>t)return o}return n[n.length-1]},es=function(e,t,n,a,s,i){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var o;Hi.has(e)?o=Iu:Pi.has(e)?o=Ui:o=_u;var c=Gi(e,t,o,a);return c.type==="small"?$u(e,c.style,n,a,s,i):c.type==="large"?ji(e,c.size,n,a,s,i):Li(e,t,n,a,s,i)},Fa=function(e,t,n,a,s,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,c=901,m=5/a.fontMetrics().ptPerEm,u=Math.max(t-o,n+o),h=Math.max(u/500*c,2*u-m);return es(e,h,!0,a,s,i)},J0={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Bu=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);P({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=Gn(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:J0[r.funcName].size,mclass:J0[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?F([r.mclass]):qi(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(Ke(r.delim,r.mode));var t=new I("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var n=N(Or[r.size]);return t.setAttribute("minsize",n),t.setAttribute("maxsize",n),t}});P({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new _("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:Gn(e[0],r).text,color:t}}});P({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Gn(e[0],r),n=r.parser;++n.leftrightDepth;var a=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var s=K(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:a,left:t.text,right:s.delim,rightColor:s.color}},htmlBuilder:(r,e)=>{K0(r);for(var t=De(r.body,e,!0,["mopen","mclose"]),n=0,a=0,s=!1,i=0;i<t.length;i++){var o=t[i];Y0(o)?s=!0:(n=Math.max(t[i].height,n),a=Math.max(t[i].depth,a))}n*=e.sizeMultiplier,a*=e.sizeMultiplier;var c;if(r.left==="."?c=Br(e,["mopen"]):c=Fa(r.left,n,a,e,r.mode,["mopen"]),t.unshift(c),s)for(var m=1;m<t.length;m++){var u=t[m];if(Y0(u)){var h=u.isMiddle;t[m]=Fa(h.delim,n,a,h.options,r.mode,[])}}var g;if(r.right===".")g=Br(e,["mclose"]);else{var b=r.rightColor?e.withColor(r.rightColor):e;g=Fa(r.right,n,a,b,r.mode,["mclose"])}return t.push(g),F(["minner"],t,e)},mathmlBuilder:(r,e)=>{K0(r);var t=Ze(r.body,e);if(r.left!=="."){var n=new I("mo",[Ke(r.left,r.mode)]);n.setAttribute("fence","true"),t.unshift(n)}if(r.right!=="."){var a=new I("mo",[Ke(r.right,r.mode)]);a.setAttribute("fence","true"),r.rightColor&&a.setAttribute("mathcolor",r.rightColor),t.push(a)}return ds(t)}});P({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Gn(e[0],r);if(!r.parser.leftrightDepth)throw new _("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;return r.delim==="."?t=Br(e,[]):(t=qi(r.delim,1,e,r.mode,[]),t.isMiddle={delim:r.delim,options:e}),t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?Ke("|","text"):Ke(r.delim,r.mode),n=new I("mo",[t]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});Wn=(r,e)=>{var t=fr(se(r.body,e),e),n=r.label.slice(1),a=e.sizeMultiplier,s,i,o=At(r.body);if(n==="sout")s=F(["stretchy","sout"]),s.height=e.fontMetrics().defaultRuleThickness/a,i=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var c=be({number:.6,unit:"pt"},e),m=be({number:.35,unit:"ex"},e),u=e.havingBaseSizing();a=a/u.sizeMultiplier;var h=t.height+t.depth+c+m;t.style.paddingLeft=N(h/2+c);var g=Math.floor(1e3*h*a),b=Nd(g),x=new rt([new mt("phase",b)],{width:"400em",height:N(g/1e3),viewBox:"0 0 400000 "+g,preserveAspectRatio:"xMinYMin slice"});s=Lt(["hide-tail"],[x],e),s.style.height=N(h),i=t.depth+c+m}else{/cancel/.test(n)?o||t.classes.push("cancel-pad"):n==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var v,y,k=0;/box/.test(n)?(k=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:k),y=v):n==="angl"?(k=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*k,y=Math.max(0,.25-t.depth)):(v=o?.2:0,y=v),s=yu(t,n,v,y,e),/fbox|boxed|fcolorbox/.test(n)?(s.style.borderStyle="solid",s.style.borderWidth=N(k)):n==="angl"&&k!==.049&&(s.style.borderTopWidth=N(k),s.style.borderRightWidth=N(k)),i=t.depth+y,r.backgroundColor&&(s.style.backgroundColor=r.backgroundColor,r.borderColor&&(s.style.borderColor=r.borderColor))}var w;if(r.backgroundColor)w=ae({positionType:"individualShift",children:[{type:"elem",elem:s,shift:i},{type:"elem",elem:t,shift:0}]});else{var A=/cancel|phase/.test(n)?["svg-align"]:[];w=ae({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:s,shift:i,wrapperClasses:A}]})}return/cancel/.test(n)&&(w.height=t.height,w.depth=t.depth),/cancel/.test(n)&&!o?F(["mord","cancel-lap"],[w],e):F(["mord"],[w],e)},Vn=(r,e)=>{var t,n=new I(r.label.includes("colorbox")?"mpadded":"menclose",[ce(r.body,e)]);switch(r.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*t+"pt"),n.setAttribute("height","+"+2*t+"pt"),n.setAttribute("lspace",t+"pt"),n.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var a=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+N(a)+" solid "+r.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&n.setAttribute("mathbackground",r.backgroundColor),n};P({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(r,e,t){var{parser:n,funcName:a}=r,s=K(e[0],"color-token").color,i=e[1];return{type:"enclose",mode:n.mode,label:a,backgroundColor:s,body:i}},htmlBuilder:Wn,mathmlBuilder:Vn});P({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(r,e,t){var{parser:n,funcName:a}=r,s=K(e[0],"color-token").color,i=K(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:a,backgroundColor:i,borderColor:s,body:o}},htmlBuilder:Wn,mathmlBuilder:Vn});P({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});P({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:n}=r,a=e[0];return{type:"enclose",mode:t.mode,label:n,body:a}},htmlBuilder:Wn,mathmlBuilder:Vn});P({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t,funcName:n}=r;t.mode==="math"&&t.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var a=e[0];return{type:"enclose",mode:t.mode,label:n,body:a}},htmlBuilder:Wn,mathmlBuilder:Vn});P({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});Wi={};Vi={};He=class r{constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=n}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new r(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}},We=class r{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new r(t,He.range(this,e))}};Zn=r=>{var e=r.parser.settings;if(!e.displayMode)throw new _("{"+r.envName+"} can be used only in display mode.")},ju=new Set(["gather","gather*"]);ht=function(e,t){var n,a,s=e.body.length,i=e.hLinesBeforeRow,o=0,c=new Array(s),m=[],u=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),h=1/t.fontMetrics().ptPerEm,g=5*h;if(e.colSeparationType&&e.colSeparationType==="small"){var b=t.havingStyle(Y.SCRIPT).sizeMultiplier;g=.2778*(b/t.sizeMultiplier)}var x=e.colSeparationType==="CD"?be({number:3,unit:"ex"},t):12*h,v=3*h,y=e.arraystretch*x,k=.7*y,w=.3*y,A=0;function $(Yr){for(var Kr=0;Kr<Yr.length;++Kr)Kr>0&&(A+=.25),m.push({pos:A,isDashed:Yr[Kr]})}for($(i[0]),n=0;n<e.body.length;++n){var D=e.body[n],M=k,E=w;o<D.length&&(o=D.length);var z={cells:new Array(D.length),height:0,depth:0,pos:0};for(a=0;a<D.length;++a){var O=se(D[a],t);E<O.depth&&(E=O.depth),M<O.height&&(M=O.height),z.cells[a]=O}var B=e.rowGaps[n],U=0;B&&(U=be(B,t),U>0&&(U+=w,E<U&&(E=U),U=0)),e.addJot&&n<e.body.length-1&&(E+=v),z.height=M,z.depth=E,A+=M,z.pos=A,A+=E+U,c[n]=z,$(i[n+1])}var W=A/2+t.fontMetrics().axisHeight,re=e.cols||[],ee=[],Z,ne,ie=[];if(e.tags&&e.tags.some(Yr=>Yr))for(n=0;n<s;++n){var ze=c[n],xe=ze.pos-W,$e=e.tags[n],ue=void 0;$e===!0?ue=F(["eqn-num"],[],t):$e===!1?ue=F([],[],t):ue=F([],De($e,t,!0),t),ue.depth=ze.depth,ue.height=ze.height,ie.push({type:"elem",elem:ue,shift:xe})}for(a=0,ne=0;a<o||ne<re.length;++a,++ne){for(var Fe,ke=re[ne],Xe=!0;((it=ke)==null?void 0:it.type)==="separator";){var it;if(Xe||(Z=F(["arraycolsep"],[]),Z.style.width=N(t.fontMetrics().doubleRuleSep),ee.push(Z)),ke.separator==="|"||ke.separator===":"){var Vr=ke.separator==="|"?"solid":"dashed",ot=F(["vertical-separator"],[],t);ot.style.height=N(A),ot.style.borderRightWidth=N(u),ot.style.borderRightStyle=Vr,ot.style.margin="0 "+N(-u/2);var Vt=A-W;Vt&&(ot.style.verticalAlign=N(-Vt)),ee.push(ot)}else throw new _("Invalid separator type: "+ke.separator);ne++,ke=re[ne],Xe=!1}if(!(a>=o)){var Et=void 0;if(a>0||e.hskipBeforeAndAfter){var ar,Os;Et=(ar=(Os=ke)==null?void 0:Os.pregap)!=null?ar:g,Et!==0&&(Z=F(["arraycolsep"],[]),Z.style.width=N(Et),ee.push(Z))}var Is=[];for(n=0;n<s;++n){var Zr=c[n],Xr=Zr.cells[a];if(Xr){var ul=Zr.pos-W;Xr.depth=Zr.depth,Xr.height=Zr.height,Is.push({type:"elem",elem:Xr,shift:ul})}}var ml=ae({positionType:"individualShift",children:Is}),pl=F(["col-align-"+(((Fe=ke)==null?void 0:Fe.align)||"c")],[ml]);if(ee.push(pl),a<o-1||e.hskipBeforeAndAfter){var _s,Ns;Et=(_s=(Ns=ke)==null?void 0:Ns.postgap)!=null?_s:g,Et!==0&&(Z=F(["arraycolsep"],[]),Z.style.width=N(Et),ee.push(Z))}}}var Jr=F(["mtable"],ee);if(m.length>0){for(var hl=hr("hline",t,u),fl=hr("hdashline",t,u),ea=[{type:"elem",elem:Jr,shift:0}];m.length>0;){var Bs=m.pop(),js=Bs.pos-W;Bs.isDashed?ea.push({type:"elem",elem:fl,shift:js}):ea.push({type:"elem",elem:hl,shift:js})}Jr=ae({positionType:"individualShift",children:ea})}if(ie.length===0)return F(["mord"],[Jr],t);var gl=ae({positionType:"individualShift",children:ie}),vl=F(["tag"],[gl],t);return Ct([Jr,vl])},Lu={c:"center ",l:"left ",r:"right "},ft=function(e,t){for(var n=[],a=new I("mtd",[],["mtr-glue"]),s=new I("mtd",[],["mml-eqn-num"]),i=0;i<e.body.length;i++){for(var o=e.body[i],c=[],m=0;m<o.length;m++)c.push(new I("mtd",[ce(o[m],t)]));e.tags&&e.tags[i]&&(c.unshift(a),c.push(a),e.leqno?c.unshift(s):c.push(s)),n.push(new I("mtr",c))}var u=new I("mtable",n),h=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);u.setAttribute("rowspacing",N(h));var g="",b="";if(e.cols&&e.cols.length>0){var x=e.cols,v="",y=!1,k=0,w=x.length;x[0].type==="separator"&&(g+="top ",k=1),x[x.length-1].type==="separator"&&(g+="bottom ",w-=1);for(var A=k;A<w;A++){var $=x[A];$.type==="align"?(b+=Lu[$.align],y&&(v+="none "),y=!0):$.type==="separator"&&y&&(v+=$.separator==="|"?"solid ":"dashed ",y=!1)}u.setAttribute("columnalign",b.trim()),/[sd]/.test(v)&&u.setAttribute("columnlines",v.trim())}if(e.colSeparationType==="align"){for(var D=e.cols||[],M="",E=1;E<D.length;E++)M+=E%2?"0em ":"1em ";u.setAttribute("columnspacing",M.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?u.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?u.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?u.setAttribute("columnspacing","0.5em"):u.setAttribute("columnspacing","1em");var z="",O=e.hLinesBeforeRow;g+=O[0].length>0?"left ":"",g+=O[O.length-1].length>0?"right ":"";for(var B=1;B<O.length-1;B++)z+=O[B].length===0?"none ":O[B][0]?"dashed ":"solid ";return/[sd]/.test(z)&&u.setAttribute("rowlines",z.trim()),g!==""&&(u=new I("menclose",[u]),u.setAttribute("notation",g.trim())),e.arraystretch&&e.arraystretch<1&&(u=new I("mstyle",[u]),u.setAttribute("scriptlevel","1")),u},Zi=function(e,t){e.envName.includes("ed")||Zn(e);var n=[],a=e.envName.includes("at")?"alignat":"align",s=e.envName==="split",i=Ht(e.parser,{cols:n,addJot:!0,autoTag:s?void 0:hs(e.envName),emptySingleRow:!0,colSeparationType:a,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display"),o=0,c=0,m={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var u="",h=0;h<t[0].body.length;h++){var g=K(t[0].body[h],"textord");u+=g.text}o=Number(u),c=o*2}var b=!c;i.body.forEach(function(k){for(var w=1;w<k.length;w+=2){var A=K(k[w],"styling"),$=K(A.body[0],"ordgroup");$.body.unshift(m)}if(b)c<k.length&&(c=k.length);else{var D=k.length/2;if(o<D)throw new _("Too many math in a row: "+("expected "+o+", but got "+D),k[0])}});for(var x=0;x<c;++x){var v="r",y=0;x%2===1?v="l":x>0&&b&&(y=1),n[x]={type:"align",align:v,pregap:y,postgap:0}}return i.colSeparationType=b?"align":"alignat",i};pt({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=qn(e[0]),n=t?[e[0]]:K(e[0],"ordgroup").body,a=n.map(function(i){var o=Hn(i),c=o.text;if("lcr".includes(c))return{type:"align",align:c};if(c==="|")return{type:"separator",separator:"|"};if(c===":")return{type:"separator",separator:":"};throw new _("Unknown column alignment: "+c,i)}),s={cols:a,hskipBeforeAndAfter:!0,maxNumCols:a.length};return Ht(r.parser,s,fs(r.envName))},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var a=r.parser;if(a.consumeSpaces(),a.fetch().text==="["){if(a.consume(),a.consumeSpaces(),t=a.fetch().text,!"lcr".includes(t))throw new _("Expected l or c or r",a.nextToken);a.consume(),a.consumeSpaces(),a.expect("]"),a.consume(),n.cols=[{type:"align",align:t}]}}var s=Ht(r.parser,n,fs(r.envName)),i=Math.max(0,...s.body.map(o=>o.length));return s.cols=new Array(i).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[s],left:e[0],right:e[1],rightColor:void 0}:s},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=Ht(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=qn(e[0]),n=t?[e[0]]:K(e[0],"ordgroup").body,a=n.map(function(o){var c=Hn(o),m=c.text;if("lc".includes(m))return{type:"align",align:m};throw new _("Unknown column alignment: "+m,o)});if(a.length>1)throw new _("{subarray} can contain only one column");var s={cols:a,hskipBeforeAndAfter:!1,arraystretch:.5},i=Ht(r.parser,s,"script");if(i.body.length>0&&i.body[0].length>1)throw new _("{subarray} can contain only one column");return i},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=Ht(r.parser,e,fs(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.includes("r")?".":"\\{",right:r.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Zi,htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){ju.has(r.envName)&&Zn(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:hs(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return Ht(r.parser,e,"display")},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Zi,htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){Zn(r);var e={autoTag:hs(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return Ht(r.parser,e,"display")},htmlBuilder:ht,mathmlBuilder:ft});pt({type:"array",names:["CD"],props:{numArgs:0},handler(r){return Zn(r),Du(r.parser)},htmlBuilder:ht,mathmlBuilder:ft});f("\\nonumber","\\gdef\\@eqnsw{0}");f("\\notag","\\nonumber");P({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new _(r.funcName+" valid only within array environment")}});ei=Wi;P({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:n}=r,a=e[0];if(a.type!=="ordgroup")throw new _("Invalid environment name",a);for(var s="",i=0;i<a.body.length;++i)s+=K(a.body[i],"textord").text;if(n==="\\begin"){if(!ei.hasOwnProperty(s))throw new _("No such environment: "+s,a);var o=ei[s],{args:c,optArgs:m}=t.parseArguments("\\begin{"+s+"}",o),u={mode:t.mode,envName:s,parser:t},h=o.handler(u,c,m);t.expect("\\end",!1);var g=t.nextToken,b=K(t.parseFunction(),"environment");if(b.name!==s)throw new _("Mismatch: \\begin{"+s+"} matched by \\end{"+b.name+"}",g);return h}return{type:"environment",mode:t.mode,name:s,nameGroup:a}}});Xi=(r,e)=>{var t=r.font,n=e.withFont(t);return se(r.body,n)},Ji=(r,e)=>{var t=r.font,n=e.withFont(t);return ce(r.body,n)},ti={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};P({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=Fn(e[0]),s=n;return s in ti&&(s=ti[s]),{type:"font",mode:t.mode,font:s.slice(1),body:a}},htmlBuilder:Xi,mathmlBuilder:Ji});P({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,n=e[0];return{type:"mclass",mode:t.mode,mclass:Un(n),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:n}],isCharacterBox:At(n)}}});P({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:n,breakOnTokenText:a}=r,{mode:s}=t,i=t.parseExpression(!0,a);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:t.mode,body:i}}},htmlBuilder:Xi,mathmlBuilder:Ji});Pu=(r,e)=>{var t=e.style,n=t.fracNum(),a=t.fracDen(),s;s=e.havingStyle(n);var i=se(r.numer,s,e);if(r.continued){var o=8.5/e.fontMetrics().ptPerEm,c=3.5/e.fontMetrics().ptPerEm;i.height=i.height<o?o:i.height,i.depth=i.depth<c?c:i.depth}s=e.havingStyle(a);var m=se(r.denom,s,e),u,h,g;r.hasBarLine?(r.barSize?(h=be(r.barSize,e),u=hr("frac-line",e,h)):u=hr("frac-line",e),h=u.height,g=u.height):(u=null,h=0,g=e.fontMetrics().defaultRuleThickness);var b,x,v;t.size===Y.DISPLAY.size?(b=e.fontMetrics().num1,h>0?x=3*g:x=7*g,v=e.fontMetrics().denom1):(h>0?(b=e.fontMetrics().num2,x=g):(b=e.fontMetrics().num3,x=3*g),v=e.fontMetrics().denom2);var y;if(u){var w=e.fontMetrics().axisHeight;b-i.depth-(w+.5*h)<x&&(b+=x-(b-i.depth-(w+.5*h))),w-.5*h-(m.height-v)<x&&(v+=x-(w-.5*h-(m.height-v)));var A=-(w-.5*h);y=ae({positionType:"individualShift",children:[{type:"elem",elem:m,shift:v},{type:"elem",elem:u,shift:A},{type:"elem",elem:i,shift:-b}]})}else{var k=b-i.depth-(m.height-v);k<x&&(b+=.5*(x-k),v+=.5*(x-k)),y=ae({positionType:"individualShift",children:[{type:"elem",elem:m,shift:v},{type:"elem",elem:i,shift:-b}]})}s=e.havingStyle(t),y.height*=s.sizeMultiplier/e.sizeMultiplier,y.depth*=s.sizeMultiplier/e.sizeMultiplier;var $;t.size===Y.DISPLAY.size?$=e.fontMetrics().delim1:t.size===Y.SCRIPTSCRIPT.size?$=e.havingStyle(Y.SCRIPT).fontMetrics().delim2:$=e.fontMetrics().delim2;var D,M;return r.leftDelim==null?D=Br(e,["mopen"]):D=es(r.leftDelim,$,!0,e.havingStyle(t),r.mode,["mopen"]),r.continued?M=F([]):r.rightDelim==null?M=Br(e,["mclose"]):M=es(r.rightDelim,$,!0,e.havingStyle(t),r.mode,["mclose"]),F(["mord"].concat(s.sizingClasses(e)),[D,F(["mfrac"],[y]),M],e)},Hu=(r,e)=>{var t=new I("mfrac",[ce(r.numer,e),ce(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var n=be(r.barSize,e);t.setAttribute("linethickness",N(n))}if(r.leftDelim!=null||r.rightDelim!=null){var a=[];if(r.leftDelim!=null){var s=new I("mo",[new ye(r.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),a.push(s)}if(a.push(t),r.rightDelim!=null){var i=new I("mo",[new ye(r.rightDelim.replace("\\",""))]);i.setAttribute("fence","true"),a.push(i)}return ds(a)}return t},Yi=(r,e)=>{if(!e)return r;var t={type:"styling",mode:r.mode,style:e,body:[r]};return t};P({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=e[0],s=e[1],i,o=null,c=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,o="(",c=")";break;case"\\\\bracefrac":i=!1,o="\\{",c="\\}";break;case"\\\\brackfrac":i=!1,o="[",c="]";break;default:throw new Error("Unrecognized genfrac command")}var m=n==="\\cfrac",u=null;return m||n.startsWith("\\d")?u="display":n.startsWith("\\t")&&(u="text"),Yi({type:"genfrac",mode:t.mode,numer:a,denom:s,continued:m,hasBarLine:i,leftDelim:o,rightDelim:c,barSize:null},u)},htmlBuilder:Pu,mathmlBuilder:Hu});P({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:n}=r,a;switch(t){case"\\over":a="\\frac";break;case"\\choose":a="\\binom";break;case"\\atop":a="\\\\atopfrac";break;case"\\brace":a="\\\\bracefrac";break;case"\\brack":a="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:a,token:n}}});ri=["display","text","script","scriptscript"],ni=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};P({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,n=e[4],a=e[5],s=Fn(e[0]),i=s.type==="atom"&&s.family==="open"?ni(s.text):null,o=Fn(e[1]),c=o.type==="atom"&&o.family==="close"?ni(o.text):null,m=K(e[2],"size"),u,h=null;m.isBlank?u=!0:(h=m.value,u=h.number>0);var g=null,b=e[3];if(b.type==="ordgroup"){if(b.body.length>0){var x=K(b.body[0],"textord");g=ri[Number(x.text)]}}else b=K(b,"textord"),g=ri[Number(b.text)];return Yi({type:"genfrac",mode:t.mode,numer:n,denom:a,continued:!1,hasBarLine:u,barSize:h,leftDelim:i,rightDelim:c},g)}});P({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:n,token:a}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:K(e[0],"size").value,token:a}}});P({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=e[0],s=K(e[1],"infix").size;if(!s)throw new Error("\\\\abovefrac expected size, but got "+String(s));var i=e[2],o=s.number>0;return{type:"genfrac",mode:t.mode,numer:a,denom:i,continued:!1,hasBarLine:o,barSize:s,leftDelim:null,rightDelim:null}}});Ki=(r,e)=>{var t=e.style,n,a;r.type==="supsub"?(n=r.sup?se(r.sup,e.havingStyle(t.sup()),e):se(r.sub,e.havingStyle(t.sub()),e),a=K(r.base,"horizBrace")):a=K(r,"horizBrace");var s=se(a.base,e.havingBaseStyle(Y.DISPLAY)),i=Pn(a,e),o;if(a.isOver?o=ae({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i,wrapperClasses:["svg-align"]}]}):o=ae({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:s}]}),n){var c=F(["minner",a.isOver?"mover":"munder"],[o],e);a.isOver?o=ae({positionType:"firstBaseline",children:[{type:"elem",elem:c},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=ae({positionType:"bottom",positionData:c.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:c}]})}return F(["minner",a.isOver?"mover":"munder"],[o],e)},qu=(r,e)=>{var t=Ln(r.label);return new I(r.isOver?"mover":"munder",[ce(r.base,e),t])};P({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:n}=r;return{type:"horizBrace",mode:t.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:Ki,mathmlBuilder:qu});P({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,n=e[1],a=K(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:t.mode,href:a,body:Se(n)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=De(r.body,e,!1);return ru(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=Pt(r.body,e);return t instanceof I||(t=new I("mrow",[t])),t.setAttribute("href",r.href),t}});P({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,n=K(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:n}))return t.formatUnsupportedCmd("\\url");for(var a=[],s=0;s<n.length;s++){var i=n[s];i==="~"&&(i="\\textasciitilde"),a.push({type:"textord",mode:"text",text:i})}var o={type:"text",mode:t.mode,font:"\\texttt",body:a};return{type:"href",mode:t.mode,href:n,body:Se(o)}}});P({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(r,e){var{parser:t}=r;return{type:"hbox",mode:t.mode,body:Se(e[0])}},htmlBuilder(r,e){var t=De(r.body,e.withFont(""),!1);return Ct(t)},mathmlBuilder(r,e){return new I("mrow",Ze(r.body,e.withFont("")))}});P({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:n,token:a}=r,s=K(e[0],"raw").string,i=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,c={};switch(n){case"\\htmlClass":c.class=s,o={command:"\\htmlClass",class:s};break;case"\\htmlId":c.id=s,o={command:"\\htmlId",id:s};break;case"\\htmlStyle":c.style=s,o={command:"\\htmlStyle",style:s};break;case"\\htmlData":{for(var m=s.split(","),u=0;u<m.length;u++){var h=m[u],g=h.indexOf("=");if(g<0)throw new _("\\htmlData key/value '"+h+"' missing equals sign");var b=h.slice(0,g),x=h.slice(g+1);c["data-"+b.trim()]=x}o={command:"\\htmlData",attributes:c};break}default:throw new Error("Unrecognized html command")}return t.settings.isTrusted(o)?{type:"html",mode:t.mode,attributes:c,body:Se(i)}:t.formatUnsupportedCmd(n)},htmlBuilder:(r,e)=>{var t=De(r.body,e,!1),n=["enclosing"];r.attributes.class&&n.push(...r.attributes.class.trim().split(/\s+/));var a=F(n,t,e);for(var s in r.attributes)s!=="class"&&r.attributes.hasOwnProperty(s)&&a.setAttribute(s,r.attributes[s]);return a},mathmlBuilder:(r,e)=>Pt(r.body,e)});P({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:Se(e[0]),mathml:Se(e[1])}},htmlBuilder:(r,e)=>{var t=De(r.html,e,!1);return Ct(t)},mathmlBuilder:(r,e)=>Pt(r.mathml,e)});Oa=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new _("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(t[1]+t[2]),unit:t[3]};if(!gi(n))throw new _("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};P({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:n}=r,a={number:0,unit:"em"},s={number:.9,unit:"em"},i={number:0,unit:"em"},o="";if(t[0])for(var c=K(t[0],"raw").string,m=c.split(","),u=0;u<m.length;u++){var h=m[u].split("=");if(h.length===2){var g=h[1].trim();switch(h[0].trim()){case"alt":o=g;break;case"width":a=Oa(g);break;case"height":s=Oa(g);break;case"totalheight":i=Oa(g);break;default:throw new _("Invalid key: '"+h[0]+"' in \\includegraphics.")}}}var b=K(e[0],"url").url;return o===""&&(o=b,o=o.replace(/^.*[\\/]/,""),o=o.substring(0,o.lastIndexOf("."))),n.settings.isTrusted({command:"\\includegraphics",url:b})?{type:"includegraphics",mode:n.mode,alt:o,width:a,height:s,totalheight:i,src:b}:n.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(r,e)=>{var t=be(r.height,e),n=0;r.totalheight.number>0&&(n=be(r.totalheight,e)-t);var a=0;r.width.number>0&&(a=be(r.width,e));var s={height:N(t+n)};a>0&&(s.width=N(a)),n>0&&(s.verticalAlign=N(-n));var i=new Pa(r.src,r.alt,s);return i.height=t,i.depth=n,i},mathmlBuilder:(r,e)=>{var t=new I("mglyph",[]);t.setAttribute("alt",r.alt);var n=be(r.height,e),a=0;if(r.totalheight.number>0&&(a=be(r.totalheight,e)-n,t.setAttribute("valign",N(-a))),t.setAttribute("height",N(n+a)),r.width.number>0){var s=be(r.width,e);t.setAttribute("width",N(s))}return t.setAttribute("src",r.src),t}});P({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:n}=r,a=K(e[0],"size");if(t.settings.strict){var s=n[1]==="m",i=a.value.unit==="mu";s?(i||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+a.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):i&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:a.value}},htmlBuilder(r,e){return ki(r.dimension,e)},mathmlBuilder(r,e){var t=be(r.dimension,e);return new On(t)}});P({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=e[0];return{type:"lap",mode:t.mode,alignment:n.slice(5),body:a}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=F([],[se(r.body,e)]),t=F(["inner"],[t],e)):t=F(["inner"],[se(r.body,e)]);var n=F(["fix"],[]),a=F([r.alignment],[t,n],e),s=F(["strut"]);return s.style.height=N(a.height+a.depth),a.depth&&(s.style.verticalAlign=N(-a.depth)),a.children.unshift(s),a=F(["thinbox"],[a],e),F(["mord","vbox"],[a],e)},mathmlBuilder:(r,e)=>{var t=new I("mpadded",[ce(r.body,e)]);if(r.alignment!=="rlap"){var n=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",n+"width")}return t.setAttribute("width","0px"),t}});P({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:n}=r,a=n.mode;n.switchMode("math");var s=t==="\\("?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(a),{type:"styling",mode:n.mode,style:"text",resetFont:!0,body:i}}});P({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new _("Mismatched "+r.funcName)}});ai=(r,e)=>{switch(e.style.size){case Y.DISPLAY.size:return r.display;case Y.TEXT.size:return r.text;case Y.SCRIPT.size:return r.script;case Y.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};P({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:Se(e[0]),text:Se(e[1]),script:Se(e[2]),scriptscript:Se(e[3])}},htmlBuilder:(r,e)=>{var t=ai(r,e),n=De(t,e,!1);return Ct(n)},mathmlBuilder:(r,e)=>{var t=ai(r,e);return Pt(t,e)}});Qi=(r,e,t,n,a,s,i)=>{r=F([],[r]);var o=t&&At(t),c,m;if(e){var u=se(e,n.havingStyle(a.sup()),n);m={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-u.depth)}}if(t){var h=se(t,n.havingStyle(a.sub()),n);c={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-h.height)}}var g;if(m&&c){var b=n.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+r.depth+i;g=ae({positionType:"bottom",positionData:b,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:N(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r},{type:"kern",size:m.kern},{type:"elem",elem:m.elem,marginLeft:N(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(c){var x=r.height-i;g=ae({positionType:"top",positionData:x,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:N(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r}]})}else if(m){var v=r.depth+i;g=ae({positionType:"bottom",positionData:v,children:[{type:"elem",elem:r},{type:"kern",size:m.kern},{type:"elem",elem:m.elem,marginLeft:N(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return r;var y=[g];if(c&&s!==0&&!o){var k=F(["mspace"],[],n);k.style.marginRight=N(s),y.unshift(k)}return F(["mop","op-limits"],y,n)},eo=new Set(["\\smallint"]),vr=(r,e)=>{var t,n,a=!1,s;r.type==="supsub"?(t=r.sup,n=r.sub,s=K(r.base,"op"),a=!0):s=K(r,"op");var i=e.style,o=!1;i.size===Y.DISPLAY.size&&s.symbol&&!eo.has(s.name)&&(o=!0);var c,m;if(s.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((s.name==="\\oiint"||s.name==="\\oiiint")&&(h=s.name.slice(1),s.name=h==="oiint"?"\\iint":"\\iiint"),c=_e(s.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),m=c.italic,h.length>0){var g=Ai(h+"Size"+(o?"2":"1"),e);c=ae({positionType:"individualShift",children:[{type:"elem",elem:c,shift:0},{type:"elem",elem:g,shift:o?.08:0}]}),s.name="\\"+h,c.classes.unshift("mop"),c.italic=m}}else if(s.body){var b=De(s.body,e,!0);b.length===1&&b[0]instanceof Be?(c=b[0],c.classes[0]="mop"):c=F(["mop"],b,e)}else{for(var x=[],v=1;v<s.name.length;v++)x.push(ls(s.name[v],s.mode,e));c=F(["mop"],x,e)}var y=0,k=0;if((c instanceof Be||s.name==="\\oiint"||s.name==="\\oiiint")&&!s.suppressBaseShift){var w;y=(c.height-c.depth)/2-e.fontMetrics().axisHeight,k=(w=c.italic)!=null?w:0}return a?Qi(c,t,n,e,i,k,y):(y&&(c.style.position="relative",c.style.top=N(y)),c)},Lr=(r,e)=>{var t;if(r.symbol)t=new I("mo",[Ke(r.name,r.mode)]),eo.has(r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new I("mo",Ze(r.body,e));else{t=new I("mi",[new ye(r.name.slice(1))]);var n=new I("mo",[Ke("\u2061","text")]);r.parentIsSupSub?t=new I("mrow",[t,n]):t=Di([t,n])}return t},Uu={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};P({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=n;return a.length===1&&(a=Uu[a]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:vr,mathmlBuilder:Lr});P({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,n=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Se(n)}},htmlBuilder:vr,mathmlBuilder:Lr});Gu={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};P({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:vr,mathmlBuilder:Lr});P({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:vr,mathmlBuilder:Lr});P({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0,allowedInArgument:!0},handler(r){var{parser:e,funcName:t}=r,n=t;return n.length===1&&(n=Gu[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:vr,mathmlBuilder:Lr});to=(r,e)=>{var t,n,a=!1,s;r.type==="supsub"?(t=r.sup,n=r.sub,s=K(r.base,"operatorname"),a=!0):s=K(r,"operatorname");var i;if(s.body.length>0){for(var o=s.body.map(h=>{var g="text"in h?h.text:void 0;return typeof g=="string"?{type:"textord",mode:h.mode,text:g}:h}),c=De(o,e.withFont("mathrm"),!0),m=0;m<c.length;m++){var u=c[m];u instanceof Be&&(u.text=u.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}i=F(["mop"],c,e)}else i=F(["mop"],[],e);return a?Qi(i,t,n,e,e.style,0,0):i},Wu=(r,e)=>{for(var t=Ze(r.body,e.withFont("mathrm")),n=!0,a=0;a<t.length;a++){var s=t[a];if(!(s instanceof On))if(s instanceof I)switch(s.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var i=s.children[0];s.children.length===1&&i instanceof ye?i.text=i.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break}default:n=!1}else n=!1}if(n){var o=t.map(u=>u.toText()).join("");t=[new ye(o)]}var c=new I("mi",t);c.setAttribute("mathvariant","normal");var m=new I("mo",[Ke("\u2061","text")]);return r.parentIsSupSub?new I("mrow",[c,m]):Di([c,m])};P({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:n}=r,a=e[0];return{type:"operatorname",mode:t.mode,body:Se(a),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:to,mathmlBuilder:Wu});f("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");er({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?Ct(De(r.body,e,!1)):F(["mord"],De(r.body,e,!0),e)},mathmlBuilder(r,e){return Pt(r.body,e,!0)}});P({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,n=e[0];return{type:"overline",mode:t.mode,body:n}},htmlBuilder(r,e){var t=se(r.body,e.havingCrampedStyle()),n=hr("overline-line",e),a=e.fontMetrics().defaultRuleThickness,s=ae({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*a},{type:"elem",elem:n},{type:"kern",size:a}]});return F(["mord","overline"],[s],e)},mathmlBuilder(r,e){var t=new I("mo",[new ye("\u203E")]);t.setAttribute("stretchy","true");var n=new I("mover",[ce(r.body,e),t]);return n.setAttribute("accent","true"),n}});P({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,n=e[0];return{type:"phantom",mode:t.mode,body:Se(n)}},htmlBuilder:(r,e)=>{var t=De(r.body,e.withPhantom(),!1);return Ct(t)},mathmlBuilder:(r,e)=>{var t=Ze(r.body,e);return new I("mphantom",t)}});f("\\hphantom","\\smash{\\phantom{#1}}");P({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,n=e[0];return{type:"vphantom",mode:t.mode,body:n}},htmlBuilder:(r,e)=>{var t=F(["inner"],[se(r.body,e.withPhantom())]),n=F(["fix"],[]);return F(["mord","rlap"],[t,n],e)},mathmlBuilder:(r,e)=>{var t=Ze(Se(r.body),e),n=new I("mphantom",t),a=new I("mpadded",[n]);return a.setAttribute("width","0px"),a}});P({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,n=K(e[0],"size").value,a=e[1];return{type:"raisebox",mode:t.mode,dy:n,body:a}},htmlBuilder(r,e){var t=se(r.body,e),n=be(r.dy,e);return ae({positionType:"shift",positionData:-n,children:[{type:"elem",elem:t}]})},mathmlBuilder(r,e){var t=new I("mpadded",[ce(r.body,e)]),n=r.dy.number+r.dy.unit;return t.setAttribute("voffset",n),t}});P({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});P({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(r,e,t){var{parser:n}=r,a=t[0],s=K(e[0],"size"),i=K(e[1],"size");return{type:"rule",mode:n.mode,shift:a&&K(a,"size").value,width:s.value,height:i.value}},htmlBuilder(r,e){var t=F(["mord","rule"],[],e),n=be(r.width,e),a=be(r.height,e),s=r.shift?be(r.shift,e):0;return t.style.borderRightWidth=N(n),t.style.borderTopWidth=N(a),t.style.bottom=N(s),t.width=n,t.height=a+s,t.depth=-s,t.maxFontSize=a*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=be(r.width,e),n=be(r.height,e),a=r.shift?be(r.shift,e):0,s=e.color&&e.getColor()||"black",i=new I("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",N(t)),i.setAttribute("height",N(n));var o=new I("mpadded",[i]);return a>=0?o.setAttribute("height",N(a)):(o.setAttribute("height",N(a)),o.setAttribute("depth",N(-a))),o.setAttribute("voffset",N(a)),o}});si=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Vu=(r,e)=>{var t=e.havingSize(r.size);return ro(r.body,t,e)};P({type:"sizing",names:si,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:n,parser:a}=r,s=a.parseExpression(!1,t);return{type:"sizing",mode:a.mode,size:si.indexOf(n)+1,body:s}},htmlBuilder:Vu,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),n=Ze(r.body,t),a=new I("mstyle",n);return a.setAttribute("mathsize",N(t.sizeMultiplier)),a}});P({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:n}=r,a=!1,s=!1,i=t[0]&&K(t[0],"ordgroup");if(i)for(var o,c=0;c<i.body.length;++c){var m=i.body[c];if(o=Hn(m).text,o==="t")a=!0;else if(o==="b")s=!0;else{a=!1,s=!1;break}}else a=!0,s=!0;var u=e[0];return{type:"smash",mode:n.mode,body:u,smashHeight:a,smashDepth:s}},htmlBuilder:(r,e)=>{var t=F([],[se(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0),r.smashDepth&&(t.depth=0),r.smashHeight&&r.smashDepth)return F(["mord","smash"],[t],e);if(t.children)for(var n=0;n<t.children.length;n++)r.smashHeight&&(t.children[n].height=0),r.smashDepth&&(t.children[n].depth=0);var a=ae({positionType:"firstBaseline",children:[{type:"elem",elem:t}]});return F(["mord"],[a],e)},mathmlBuilder:(r,e)=>{var t=new I("mpadded",[ce(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});P({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:n}=r,a=t[0],s=e[0];return{type:"sqrt",mode:n.mode,body:s,index:a}},htmlBuilder(r,e){var t=se(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=fr(t,e);var n=e.fontMetrics(),a=n.defaultRuleThickness,s=a;e.style.id<Y.TEXT.id&&(s=e.fontMetrics().xHeight);var i=a+s/4,o=t.height+t.depth+i+a,{span:c,ruleWidth:m,advanceWidth:u}=Fu(o,e),h=c.height-m;h>t.height+t.depth+i&&(i=(i+h-t.height-t.depth)/2);var g=c.height-t.height-i-m;t.style.paddingLeft=N(u);var b=ae({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+g)},{type:"elem",elem:c},{type:"kern",size:m}]});if(r.index){var x=e.havingStyle(Y.SCRIPTSCRIPT),v=se(r.index,x,e),y=.6*(b.height-b.depth),k=ae({positionType:"shift",positionData:-y,children:[{type:"elem",elem:v}]}),w=F(["root"],[k]);return F(["mord","sqrt"],[w,b],e)}else return F(["mord","sqrt"],[b],e)},mathmlBuilder(r,e){var{body:t,index:n}=r;return n?new I("mroot",[ce(t,e),ce(n,e)]):new I("msqrt",[ce(t,e)])}});ts={display:Y.DISPLAY,text:Y.TEXT,script:Y.SCRIPT,scriptscript:Y.SCRIPTSCRIPT};P({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:n,parser:a}=r,s=a.parseExpression(!0,t),i=n.slice(1,n.length-5);if(!Zu(i))throw new Error("Unknown style: "+i);return{type:"styling",mode:a.mode,style:i,body:s}},htmlBuilder(r,e){var t=ts[r.style],n=e.havingStyle(t);return r.resetFont&&(n=n.withFont("")),ro(r.body,n,e)},mathmlBuilder(r,e){var t=ts[r.style],n=e.havingStyle(t);r.resetFont&&(n=n.withFont(""));var a=Ze(r.body,n),s=new I("mstyle",a),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=i[r.style];return s.setAttribute("scriptlevel",o[0]),s.setAttribute("displaystyle",o[1]),s}});Xu=function(e,t){var n=e.base;if(n)if(n.type==="op"){var a=n.limits&&(t.style.size===Y.DISPLAY.size||n.alwaysHandleSupSub);return a?vr:null}else if(n.type==="operatorname"){var s=n.alwaysHandleSupSub&&(t.style.size===Y.DISPLAY.size||n.limits);return s?to:null}else{if(n.type==="accent")return At(n.base)?ms:null;if(n.type==="horizBrace"){var i=!e.sub;return i===n.isOver?Ki:null}else return null}else return null};er({type:"supsub",htmlBuilder(r,e){var t=Xu(r,e);if(t)return t(r,e);var{base:n,sup:a,sub:s}=r,i=se(n,e),o,c,m=e.fontMetrics(),u=0,h=0,g=n&&At(n);if(a){var b=e.havingStyle(e.style.sup());o=se(a,b,e),g||(u=i.height-b.fontMetrics().supDrop*b.sizeMultiplier/e.sizeMultiplier)}if(s){var x=e.havingStyle(e.style.sub());c=se(s,x,e),g||(h=i.depth+x.fontMetrics().subDrop*x.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Y.DISPLAY?v=m.sup1:e.style.cramped?v=m.sup3:v=m.sup2;var y=e.sizeMultiplier,k=N(.5/m.ptPerEm/y),w=null;if(c){var A=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");if(i instanceof Be||A){var $;w=N(-(($=i.italic)!=null?$:0))}}var D;if(o&&c){u=Math.max(u,v,o.depth+.25*m.xHeight),h=Math.max(h,m.sub2);var M=m.defaultRuleThickness,E=4*M;if(u-o.depth-(c.height-h)<E){h=E-(u-o.depth)+c.height;var z=.8*m.xHeight-(u-o.depth);z>0&&(u+=z,h-=z)}var O=[{type:"elem",elem:c,shift:h,marginRight:k,marginLeft:w},{type:"elem",elem:o,shift:-u,marginRight:k}];D=ae({positionType:"individualShift",children:O})}else if(c){h=Math.max(h,m.sub1,c.height-.8*m.xHeight);var B=[{type:"elem",elem:c,marginLeft:w,marginRight:k}];D=ae({positionType:"shift",positionData:h,children:B})}else if(o)u=Math.max(u,v,o.depth+.25*m.xHeight),D=ae({positionType:"shift",positionData:-u,children:[{type:"elem",elem:o,marginRight:k}]});else throw new Error("supsub must have either sup or sub.");var U=Ja(i,"right")||"mord";return F([U],[i,F(["msupsub"],[D])],e)},mathmlBuilder(r,e){var t=!1,n,a;r.base&&r.base.type==="horizBrace"&&(a=!!r.sup,a===r.base.isOver&&(t=!0,n=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var s=[ce(r.base,e)];r.sub&&s.push(ce(r.sub,e)),r.sup&&s.push(ce(r.sup,e));var i;if(t)i=n?"mover":"munder";else if(r.sub)if(r.sup){var m=r.base;m&&m.type==="op"&&m.limits&&e.style===Y.DISPLAY||m&&m.type==="operatorname"&&m.alwaysHandleSupSub&&(e.style===Y.DISPLAY||m.limits)?i="munderover":i="msubsup"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===Y.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===Y.DISPLAY)?i="munder":i="msub"}else{var o=r.base;o&&o.type==="op"&&o.limits&&(e.style===Y.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Y.DISPLAY)?i="mover":i="msup"}return new I(i,s)}});er({type:"atom",htmlBuilder(r,e){return ls(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new I("mo",[Ke(r.text,r.mode)]);if(r.family==="bin"){var n=us(r,e);n==="bold-italic"&&t.setAttribute("mathvariant",n)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});no={mi:"italic",mn:"normal",mtext:"normal"};er({type:"mathord",htmlBuilder(r,e){return jn(r,e,"mathord")},mathmlBuilder(r,e){var t=new I("mi",[Ke(r.text,r.mode,e)]),n=us(r,e)||"italic";return n!==no[t.type]&&t.setAttribute("mathvariant",n),t}});er({type:"textord",htmlBuilder(r,e){return jn(r,e,"textord")},mathmlBuilder(r,e){var t=Ke(r.text,r.mode,e),n=us(r,e)||"normal",a;return r.mode==="text"?a=new I("mtext",[t]):/[0-9]/.test(r.text)?a=new I("mn",[t]):r.text==="\\prime"?a=new I("mo",[t]):a=new I("mi",[t]),n!==no[a.type]&&a.setAttribute("mathvariant",n),a}});Ia={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},_a={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};er({type:"spacing",htmlBuilder(r,e){if(_a.hasOwnProperty(r.text)){var t=_a[r.text].className||"";if(r.mode==="text"){var n=jn(r,e,"textord");return n.classes.push(t),n}else return F(["mspace",t],[ls(r.text,r.mode,e)],e)}else{if(Ia.hasOwnProperty(r.text))return F(["mspace",Ia[r.text]],[],e);throw new _('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(_a.hasOwnProperty(r.text))t=new I("mtext",[new ye("\xA0")]);else{if(Ia.hasOwnProperty(r.text))return new I("mspace");throw new _('Unknown type of space "'+r.text+'"')}return t}});ii=()=>{var r=new I("mtd",[]);return r.setAttribute("width","50%"),r};er({type:"tag",mathmlBuilder(r,e){var t=new I("mtable",[new I("mtr",[ii(),new I("mtd",[Pt(r.body,e)]),ii(),new I("mtd",[Pt(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});oi={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},li={"\\textbf":"textbf","\\textmd":"textmd"},Ju={"\\textit":"textit","\\textup":"textup"},ci=(r,e)=>{var t=r.font;if(t){if(oi[t])return e.withTextFontFamily(oi[t]);if(li[t])return e.withTextFontWeight(li[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Ju[t])};P({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:n}=r,a=e[0];return{type:"text",mode:t.mode,body:Se(a),font:n}},htmlBuilder(r,e){var t=ci(r,e),n=De(r.body,t,!0);return F(["mord","text"],n,t)},mathmlBuilder(r,e){var t=ci(r,e);return Pt(r.body,t)}});P({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=se(r.body,e),n=hr("underline-line",e),a=e.fontMetrics().defaultRuleThickness,s=ae({positionType:"top",positionData:t.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:t}]});return F(["mord","underline"],[s],e)},mathmlBuilder(r,e){var t=new I("mo",[new ye("\u203E")]);t.setAttribute("stretchy","true");var n=new I("munder",[ce(r.body,e),t]);return n.setAttribute("accentunder","true"),n}});P({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=se(r.body,e),n=e.fontMetrics().axisHeight,a=.5*(t.height-n-(t.depth+n));return ae({positionType:"shift",positionData:a,children:[{type:"elem",elem:t}]})},mathmlBuilder(r,e){var t=new I("mpadded",[ce(r.body,e)],["vcenter"]);return new I("mrow",[t])}});P({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new _("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=di(r),n=[],a=e.havingStyle(e.style.text()),s=0;s<t.length;s++){var i=t[s];i==="~"&&(i="\\textasciitilde"),n.push(_e(i,"Typewriter-Regular",r.mode,a,["mord","texttt"]))}return F(["mord","text"].concat(a.sizingClasses(e)),xi(n),a)},mathmlBuilder(r,e){var t=new ye(di(r)),n=new I("mtext",[t]);return n.setAttribute("mathvariant","monospace"),n}});di=r=>r.body.replace(/ /g,r.star?"\u2423":"\xA0"),_t=Ti,ao=`[ \r
258
+ ]`,Yu="\\\\[a-zA-Z@]+",Ku="\\\\[^\uD800-\uDFFF]",Qu="("+Yu+")"+ao+"*",e1=`\\\\(
259
+ |[ \r ]+
260
+ ?)[ \r ]*`,rs="[\u0300-\u036F]",t1=new RegExp(rs+"+$"),r1="("+ao+"+)|"+(e1+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(rs+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(rs+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Qu)+("|"+Ku+")"),_n=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(r1,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new We("EOF",new He(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new _("Unexpected character: '"+e[t]+"'",new We(e[t],new He(this,t,t+1)));var a=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[a]===14){var s=e.indexOf(`
261
+ `,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new We(a,new He(this,t,this.tokenRegex.lastIndex))}},ns=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new _("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var a=0;a<this.undefStack.length;a++)delete this.undefStack[a][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(e)&&(s[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},n1=Vi;f("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});f("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});f("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});f("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});f("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});f("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");f("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});ui={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};f("\\char",function(r){var e=r.popToken(),t,n=0;if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new _("\\char` missing argument");n=e.text.charCodeAt(0)}else t=10;if(t){if(n=ui[e.text],n==null||n>=t)throw new _("Invalid base-"+t+" digit "+e.text);for(var a;(a=ui[r.future().text])!=null&&a<t;)n*=t,n+=a,r.popToken()}return"\\@char{"+n+"}"});gs=(r,e,t,n)=>{var a=r.consumeArg().tokens;if(a.length!==1)throw new _("\\newcommand's first argument must be a macro name");var s=a[0].text,i=r.isDefined(s);if(i&&!e)throw new _("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!i&&!t)throw new _("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var o=0;if(a=r.consumeArg().tokens,a.length===1&&a[0].text==="["){for(var c="",m=r.expandNextToken();m.text!=="]"&&m.text!=="EOF";)c+=m.text,m=r.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new _("Invalid number of arguments: "+c);o=parseInt(c),a=r.consumeArg().tokens}return i&&n||r.macros.set(s,{tokens:a,numArgs:o}),""};f("\\newcommand",r=>gs(r,!1,!0,!1));f("\\renewcommand",r=>gs(r,!0,!1,!1));f("\\providecommand",r=>gs(r,!0,!0,!0));f("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});f("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});f("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),_t[t],me.math[t],me.text[t]),""});f("\\bgroup","{");f("\\egroup","}");f("~","\\nobreakspace");f("\\lq","`");f("\\rq","'");f("\\aa","\\r a");f("\\AA","\\r A");f("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");f("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");f("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");f("\u212C","\\mathscr{B}");f("\u2130","\\mathscr{E}");f("\u2131","\\mathscr{F}");f("\u210B","\\mathscr{H}");f("\u2110","\\mathscr{I}");f("\u2112","\\mathscr{L}");f("\u2133","\\mathscr{M}");f("\u211B","\\mathscr{R}");f("\u212D","\\mathfrak{C}");f("\u210C","\\mathfrak{H}");f("\u2128","\\mathfrak{Z}");f("\\Bbbk","\\Bbb{k}");f("\\llap","\\mathllap{\\textrm{#1}}");f("\\rlap","\\mathrlap{\\textrm{#1}}");f("\\clap","\\mathclap{\\textrm{#1}}");f("\\mathstrut","\\vphantom{(}");f("\\underbar","\\underline{\\text{#1}}");f("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');f("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");f("\\ne","\\neq");f("\u2260","\\neq");f("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");f("\u2209","\\notin");f("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");f("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");f("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");f("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");f("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");f("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");f("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");f("\u27C2","\\perp");f("\u203C","\\mathclose{!\\mkern-0.8mu!}");f("\u220C","\\notni");f("\u231C","\\ulcorner");f("\u231D","\\urcorner");f("\u231E","\\llcorner");f("\u231F","\\lrcorner");f("\xA9","\\copyright");f("\xAE","\\textregistered");f("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');f("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');f("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');f("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');f("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");f("\u22EE","\\vdots");f("\\varGamma","\\mathit{\\Gamma}");f("\\varDelta","\\mathit{\\Delta}");f("\\varTheta","\\mathit{\\Theta}");f("\\varLambda","\\mathit{\\Lambda}");f("\\varXi","\\mathit{\\Xi}");f("\\varPi","\\mathit{\\Pi}");f("\\varSigma","\\mathit{\\Sigma}");f("\\varUpsilon","\\mathit{\\Upsilon}");f("\\varPhi","\\mathit{\\Phi}");f("\\varPsi","\\mathit{\\Psi}");f("\\varOmega","\\mathit{\\Omega}");f("\\substack","\\begin{subarray}{c}#1\\end{subarray}");f("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");f("\\boxed","\\fbox{$\\displaystyle{#1}$}");f("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");f("\\implies","\\DOTSB\\;\\Longrightarrow\\;");f("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");f("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");f("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");mi={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},a1=new Set(["bin","rel"]);f("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in mi?e=mi[t]:(t.slice(0,4)==="\\not"||t in me.math&&a1.has(me.math[t].group))&&(e="\\dotsb"),e});vs={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};f("\\dotso",function(r){var e=r.future().text;return e in vs?"\\ldots\\,":"\\ldots"});f("\\dotsc",function(r){var e=r.future().text;return e in vs&&e!==","?"\\ldots\\,":"\\ldots"});f("\\cdots",function(r){var e=r.future().text;return e in vs?"\\@cdots\\,":"\\@cdots"});f("\\dotsb","\\cdots");f("\\dotsm","\\cdots");f("\\dotsi","\\!\\cdots");f("\\dotsx","\\ldots\\,");f("\\DOTSI","\\relax");f("\\DOTSB","\\relax");f("\\DOTSX","\\relax");f("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");f("\\,","\\tmspace+{3mu}{.1667em}");f("\\thinspace","\\,");f("\\>","\\mskip{4mu}");f("\\:","\\tmspace+{4mu}{.2222em}");f("\\medspace","\\:");f("\\;","\\tmspace+{5mu}{.2777em}");f("\\thickspace","\\;");f("\\!","\\tmspace-{3mu}{.1667em}");f("\\negthinspace","\\!");f("\\negmedspace","\\tmspace-{4mu}{.2222em}");f("\\negthickspace","\\tmspace-{5mu}{.277em}");f("\\enspace","\\kern.5em ");f("\\enskip","\\hskip.5em\\relax");f("\\quad","\\hskip1em\\relax");f("\\qquad","\\hskip2em\\relax");f("\\tag","\\@ifstar\\tag@literal\\tag@paren");f("\\tag@paren","\\tag@literal{({#1})}");f("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new _("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});f("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");f("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");f("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");f("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");f("\\newline","\\\\\\relax");f("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");so=N(ut["Main-Regular"][84][1]-.7*ut["Main-Regular"][65][1]);f("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+so+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");f("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+so+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");f("\\hspace","\\@ifstar\\@hspacer\\@hspace");f("\\@hspace","\\hskip #1\\relax");f("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");f("\\ordinarycolon",":");f("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");f("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');f("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');f("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');f("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');f("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');f("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');f("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');f("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');f("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');f("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');f("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');f("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');f("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');f("\u2237","\\dblcolon");f("\u2239","\\eqcolon");f("\u2254","\\coloneqq");f("\u2255","\\eqqcolon");f("\u2A74","\\Coloneqq");f("\\ratio","\\vcentcolon");f("\\coloncolon","\\dblcolon");f("\\colonequals","\\coloneqq");f("\\coloncolonequals","\\Coloneqq");f("\\equalscolon","\\eqqcolon");f("\\equalscoloncolon","\\Eqqcolon");f("\\colonminus","\\coloneq");f("\\coloncolonminus","\\Coloneq");f("\\minuscolon","\\eqcolon");f("\\minuscoloncolon","\\Eqcolon");f("\\coloncolonapprox","\\Colonapprox");f("\\coloncolonsim","\\Colonsim");f("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");f("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");f("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");f("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");f("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");f("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");f("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");f("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");f("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");f("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");f("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");f("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");f("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");f("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");f("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");f("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");f("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");f("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");f("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");f("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");f("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");f("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");f("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");f("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");f("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");f("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");f("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");f("\\imath","\\html@mathml{\\@imath}{\u0131}");f("\\jmath","\\html@mathml{\\@jmath}{\u0237}");f("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");f("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");f("\u27E6","\\llbracket");f("\u27E7","\\rrbracket");f("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");f("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");f("\u2983","\\lBrace");f("\u2984","\\rBrace");f("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");f("\u29B5","\\minuso");f("\\darr","\\downarrow");f("\\dArr","\\Downarrow");f("\\Darr","\\Downarrow");f("\\lang","\\langle");f("\\rang","\\rangle");f("\\uarr","\\uparrow");f("\\uArr","\\Uparrow");f("\\Uarr","\\Uparrow");f("\\N","\\mathbb{N}");f("\\R","\\mathbb{R}");f("\\Z","\\mathbb{Z}");f("\\alef","\\aleph");f("\\alefsym","\\aleph");f("\\Alpha","\\mathrm{A}");f("\\Beta","\\mathrm{B}");f("\\bull","\\bullet");f("\\Chi","\\mathrm{X}");f("\\clubs","\\clubsuit");f("\\cnums","\\mathbb{C}");f("\\Complex","\\mathbb{C}");f("\\Dagger","\\ddagger");f("\\diamonds","\\diamondsuit");f("\\empty","\\emptyset");f("\\Epsilon","\\mathrm{E}");f("\\Eta","\\mathrm{H}");f("\\exist","\\exists");f("\\harr","\\leftrightarrow");f("\\hArr","\\Leftrightarrow");f("\\Harr","\\Leftrightarrow");f("\\hearts","\\heartsuit");f("\\image","\\Im");f("\\infin","\\infty");f("\\Iota","\\mathrm{I}");f("\\isin","\\in");f("\\Kappa","\\mathrm{K}");f("\\larr","\\leftarrow");f("\\lArr","\\Leftarrow");f("\\Larr","\\Leftarrow");f("\\lrarr","\\leftrightarrow");f("\\lrArr","\\Leftrightarrow");f("\\Lrarr","\\Leftrightarrow");f("\\Mu","\\mathrm{M}");f("\\natnums","\\mathbb{N}");f("\\Nu","\\mathrm{N}");f("\\Omicron","\\mathrm{O}");f("\\plusmn","\\pm");f("\\rarr","\\rightarrow");f("\\rArr","\\Rightarrow");f("\\Rarr","\\Rightarrow");f("\\real","\\Re");f("\\reals","\\mathbb{R}");f("\\Reals","\\mathbb{R}");f("\\Rho","\\mathrm{P}");f("\\sdot","\\cdot");f("\\sect","\\S");f("\\spades","\\spadesuit");f("\\sub","\\subset");f("\\sube","\\subseteq");f("\\supe","\\supseteq");f("\\Tau","\\mathrm{T}");f("\\thetasym","\\vartheta");f("\\weierp","\\wp");f("\\Zeta","\\mathrm{Z}");f("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");f("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");f("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");f("\\bra","\\mathinner{\\langle{#1}|}");f("\\ket","\\mathinner{|{#1}\\rangle}");f("\\braket","\\mathinner{\\langle{#1}\\rangle}");f("\\Bra","\\left\\langle#1\\right|");f("\\Ket","\\left|#1\\right\\rangle");io=r=>e=>{var t=e.consumeArg().tokens,n=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.consumeArg().tokens,i=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var c=h=>g=>{r&&(g.macros.set("|",i),a.length&&g.macros.set("\\|",o));var b=h;if(!h&&a.length){var x=g.future();x.text==="|"&&(g.popToken(),b=!0)}return{tokens:b?a:n,numArgs:0}};e.macros.set("|",c(!1)),a.length&&e.macros.set("\\|",c(!0));var m=e.consumeArg().tokens,u=e.expandTokens([...s,...m,...t]);return e.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};f("\\bra@ket",io(!1));f("\\bra@set",io(!0));f("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");f("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");f("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");f("\\angln","{\\angl n}");f("\\blue","\\textcolor{##6495ed}{#1}");f("\\orange","\\textcolor{##ffa500}{#1}");f("\\pink","\\textcolor{##ff00af}{#1}");f("\\red","\\textcolor{##df0030}{#1}");f("\\green","\\textcolor{##28ae7b}{#1}");f("\\gray","\\textcolor{gray}{#1}");f("\\purple","\\textcolor{##9d38bd}{#1}");f("\\blueA","\\textcolor{##ccfaff}{#1}");f("\\blueB","\\textcolor{##80f6ff}{#1}");f("\\blueC","\\textcolor{##63d9ea}{#1}");f("\\blueD","\\textcolor{##11accd}{#1}");f("\\blueE","\\textcolor{##0c7f99}{#1}");f("\\tealA","\\textcolor{##94fff5}{#1}");f("\\tealB","\\textcolor{##26edd5}{#1}");f("\\tealC","\\textcolor{##01d1c1}{#1}");f("\\tealD","\\textcolor{##01a995}{#1}");f("\\tealE","\\textcolor{##208170}{#1}");f("\\greenA","\\textcolor{##b6ffb0}{#1}");f("\\greenB","\\textcolor{##8af281}{#1}");f("\\greenC","\\textcolor{##74cf70}{#1}");f("\\greenD","\\textcolor{##1fab54}{#1}");f("\\greenE","\\textcolor{##0d923f}{#1}");f("\\goldA","\\textcolor{##ffd0a9}{#1}");f("\\goldB","\\textcolor{##ffbb71}{#1}");f("\\goldC","\\textcolor{##ff9c39}{#1}");f("\\goldD","\\textcolor{##e07d10}{#1}");f("\\goldE","\\textcolor{##a75a05}{#1}");f("\\redA","\\textcolor{##fca9a9}{#1}");f("\\redB","\\textcolor{##ff8482}{#1}");f("\\redC","\\textcolor{##f9685d}{#1}");f("\\redD","\\textcolor{##e84d39}{#1}");f("\\redE","\\textcolor{##bc2612}{#1}");f("\\maroonA","\\textcolor{##ffbde0}{#1}");f("\\maroonB","\\textcolor{##ff92c6}{#1}");f("\\maroonC","\\textcolor{##ed5fa6}{#1}");f("\\maroonD","\\textcolor{##ca337c}{#1}");f("\\maroonE","\\textcolor{##9e034e}{#1}");f("\\purpleA","\\textcolor{##ddd7ff}{#1}");f("\\purpleB","\\textcolor{##c6b9fc}{#1}");f("\\purpleC","\\textcolor{##aa87ff}{#1}");f("\\purpleD","\\textcolor{##7854ab}{#1}");f("\\purpleE","\\textcolor{##543b78}{#1}");f("\\mintA","\\textcolor{##f5f9e8}{#1}");f("\\mintB","\\textcolor{##edf2df}{#1}");f("\\mintC","\\textcolor{##e0e5cc}{#1}");f("\\grayA","\\textcolor{##f6f7f7}{#1}");f("\\grayB","\\textcolor{##f0f1f2}{#1}");f("\\grayC","\\textcolor{##e3e5e6}{#1}");f("\\grayD","\\textcolor{##d6d8da}{#1}");f("\\grayE","\\textcolor{##babec2}{#1}");f("\\grayF","\\textcolor{##888d93}{#1}");f("\\grayG","\\textcolor{##626569}{#1}");f("\\grayH","\\textcolor{##3b3e40}{#1}");f("\\grayI","\\textcolor{##21242c}{#1}");f("\\kaBlue","\\textcolor{##314453}{#1}");f("\\kaGreen","\\textcolor{##71B307}{#1}");oo={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},as=class{constructor(e,t,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new ns(n1,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new _n(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,n,a;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:a,end:n}=this.consumeArg(["]"])}else({tokens:a,start:t,end:n}=this.consumeArg());return this.pushToken(new We("EOF",n.loc)),this.pushTokens(a),new We("",He.range(t,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var a=this.future(),s,i=0,o=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++i;else if(s.text==="}"){if(--i,i===-1)throw new _("Extra }",s)}else if(s.text==="EOF")throw new _("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",s);if(e&&n)if((i===0||i===1&&e[o]==="{")&&s.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}while(i!==0||n);return a.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:a,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new _("The length of delimiters doesn't match the number of args!");for(var n=t[0],a=0;a<n.length;a++){var s=this.popToken();if(n[a]!==s.text)throw new _("Use of the macro doesn't match its definition",s)}}for(var i=[],o=0;o<e;o++)i.push(this.consumeArg(t&&t[o+1]).tokens);return i}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new _("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),n=t.text,a=t.noexpand?null:this._getExpansion(n);if(a==null||e&&a.unexpandable){if(e&&a==null&&n[0]==="\\"&&!this.isDefined(n))throw new _("Undefined control sequence: "+n);return this.pushToken(t),!1}this.countExpansion(1);var s=a.tokens,i=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs){s=s.slice();for(var o=s.length-1;o>=0;--o){var c=s[o];if(c.text==="#"){if(o===0)throw new _("Incomplete placeholder at end of macro body",c);if(c=s[--o],c.text==="#")s.splice(o+1,1);else if(/^[1-9]$/.test(c.text))s.splice(o,2,...i[+c.text-1]);else throw new _("Not a valid argument number",c)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new We(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(n=>n.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var a=typeof t=="function"?t(this):t;if(typeof a=="string"){var s=0;if(a.includes("#"))for(var i=a.replace(/##/g,"");i.includes("#"+(s+1));)++s;for(var o=new _n(a,this.settings),c=[],m=o.lex();m.text!=="EOF";)c.push(m),m=o.lex();c.reverse();var u={tokens:c,numArgs:s};return u}return a}isDefined(e){return this.macros.has(e)||_t.hasOwnProperty(e)||me.math.hasOwnProperty(e)||me.text.hasOwnProperty(e)||oo.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:_t.hasOwnProperty(e)&&!_t[e].primitive}},pi=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Cn=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),Na={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},hi={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},Nn=class r{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new as(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new _("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new We("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,n}parseExpression(e,t){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var a=this.fetch();if(r.endOfExpression.has(a.text)||t&&a.text===t||e&&_t[a.text]&&_t[a.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;n.push(s)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var t=-1,n,a=0;a<e.length;a++){var s=e[a];if(s.type==="infix"){if(t!==-1)throw new _("only one infix operator per group",s.token);t=a,n=s.replaceWith}}if(t!==-1&&n){var i,o,c=e.slice(0,t),m=e.slice(t+1);c.length===1&&c[0].type==="ordgroup"?i=c[0]:i={type:"ordgroup",mode:this.mode,body:c},m.length===1&&m[0].type==="ordgroup"?o=m[0]:o={type:"ordgroup",mode:this.mode,body:m};var u;return n==="\\\\abovefrac"?u=this.callFunction(n,[i,e[t],o],[]):u=this.callFunction(n,[i,o],[]),[u]}else return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var a;do{var s;a=this.parseGroup(e)}while(((s=a)==null?void 0:s.type)==="internal");if(!a)throw new _("Expected group after '"+n+"'",t);return a}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:"textord",mode:"text",text:e[n]});var a={type:"text",mode:this.mode,body:t},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[a]};return s}parseAtom(e){var t=this.parseGroup("atom",e);if(t?.type==="internal"||this.mode==="text")return t;for(var n,a;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(t&&t.type==="op"){var i=s.text==="\\limits";t.limits=i,t.alwaysHandleSupSub=!0}else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=s.text==="\\limits");else throw new _("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(n)throw new _("Double superscript",s);n=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(a)throw new _("Double subscript",s);a=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(n)throw new _("Double superscript",s);var o={type:"textord",mode:this.mode,text:"\\prime"},c=[o];for(this.consume();this.fetch().text==="'";)c.push(o),this.consume();this.fetch().text==="^"&&c.push(this.handleSupSubscript("superscript")),n={type:"ordgroup",mode:this.mode,body:c}}else if(Cn[s.text]){var m=pi.test(s.text),u=[];for(u.push(new We(Cn[s.text])),this.consume();;){var h=this.fetch().text;if(!Cn[h]||pi.test(h)!==m)break;u.unshift(new We(Cn[h])),this.consume()}var g=this.subparse(u);m?a={type:"ordgroup",mode:"math",body:g}:n={type:"ordgroup",mode:"math",body:g}}else break}return n||a?{type:"supsub",mode:this.mode,base:t,sup:n,sub:a}:t}parseFunction(e,t){var n=this.fetch(),a=n.text,s=_t[a];if(!s)return null;if(this.consume(),t&&t!=="atom"&&!s.allowedInArgument)throw new _("Got function '"+a+"' with no arguments"+(t?" as "+t:""),n);if(this.mode==="text"&&!s.allowedInText)throw new _("Can't use function '"+a+"' in text mode",n);if(this.mode==="math"&&s.allowedInMath===!1)throw new _("Can't use function '"+a+"' in math mode",n);var{args:i,optArgs:o}=this.parseArguments(a,s);return this.callFunction(a,i,o,n,e)}callFunction(e,t,n,a,s){var i={funcName:e,parser:this,token:a,breakOnTokenText:s},o=_t[e];if(o&&o.handler)return o.handler(i,t,n);throw new _("No function handler for "+e)}parseArguments(e,t){var n=t.numArgs+t.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var a=[],s=[],i=0;i<n;i++){var o=t.argTypes&&t.argTypes[i],c=i<t.numOptionalArgs;("primitive"in t&&t.primitive&&o==null||t.type==="sqrt"&&i===1&&s[0]==null)&&(o="primitive");var m=this.parseGroupOfType("argument to '"+e+"'",o,c);if(c)s.push(m);else if(m!=null)a.push(m);else throw new _("Null argument, please report this as a bug")}return{args:a,optArgs:s}}parseGroupOfType(e,t,n){switch(t){case"color":return this.parseColorGroup(n);case"size":return this.parseSizeGroup(n);case"url":return this.parseUrlGroup(n);case"math":case"text":return this.parseArgumentGroup(n,t);case"hbox":{var a=this.parseArgumentGroup(n,"text");return a!=null?{type:"styling",mode:a.mode,body:[a],style:"text",resetFont:!0}:null}case"raw":{var s=this.parseStringGroup("raw",n);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(n)throw new _("A primitive argument cannot be optional");var i=this.parseGroup(e);if(i==null)throw new _("Expected group as "+e,this.fetch());return i}case"original":case null:case void 0:return this.parseArgumentGroup(n);default:throw new _("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e,t){var n=this.gullet.scanArgument(t);if(n==null)return null;for(var a="",s;(s=this.fetch()).text!=="EOF";)a+=s.text,this.consume();return this.consume(),n.text=a,n}parseRegexGroup(e,t){for(var n=this.fetch(),a=n,s="",i;(i=this.fetch()).text!=="EOF"&&e.test(s+i.text);)a=i,s+=a.text,this.consume();if(s==="")throw new _("Invalid "+t+": '"+n.text+"'",n);return n.range(a,s)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new _("Invalid color: '"+t.text+"'",t);var a=n[0];return/^[0-9a-f]{6}$/i.test(a)&&(a="#"+a),{type:"color-token",mode:this.mode,color:a}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup("size",e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",n=!0);var a=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!a)throw new _("Invalid size: '"+t.text+"'",t);var s={number:+(a[1]+a[2]),unit:a[3]};if(!gi(s))throw new _("Invalid unit: '"+s.unit+"'",t);return{type:"size",mode:this.mode,value:s,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var a=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var i={type:"ordgroup",mode:this.mode,loc:n.loc,body:s};return t&&this.switchMode(a),i}parseGroup(e,t){var n=this.fetch(),a=n.text,s;if(a==="{"||a==="\\begingroup"){this.consume();var i=a==="{"?"}":"\\endgroup";this.gullet.beginGroup();var o=this.parseExpression(!1,i),c=this.fetch();this.expect(i),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:He.range(n,c),body:o,semisimple:a==="\\begingroup"||void 0}}else if(s=this.parseFunction(t,e)||this.parseSymbol(),s==null&&a[0]==="\\"&&!oo.hasOwnProperty(a)){if(this.settings.throwOnError)throw new _("Undefined control sequence: "+a,n);s=this.formatUnsupportedCmd(a),this.consume()}return s}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var a=e[n];if(a.type==="textord"){var s=a.text,i=e[n+1];if(!(!i||i.type!=="textord")){if(s==="-"&&i.text==="-"){var o=e[n+2];n+1<t&&o&&o.type==="textord"&&o.text==="-"?(e.splice(n,3,{type:"textord",mode:"text",loc:He.range(a,o),text:"---"}),t-=2):(e.splice(n,2,{type:"textord",mode:"text",loc:He.range(a,i),text:"--"}),t-=1)}(s==="'"||s==="`")&&i.text===s&&(e.splice(n,2,{type:"textord",mode:"text",loc:He.range(a,i),text:s+s}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),a=n.charAt(0)==="*";if(a&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new _(`\\verb assertion failed --
262
+ please report what input caused this bug`);return n=n.slice(1,-1),{type:"verb",mode:"text",body:n,star:a}}hi.hasOwnProperty(t[0])&&!me[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=hi[t[0]]+t.slice(1));var s=t1.exec(t);s&&(t=t.substring(0,s.index),t==="i"?t="\u0131":t==="j"&&(t="\u0237"));var i;if(me[this.mode][t]){this.settings.strict&&this.mode==="math"&&Ha.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var o=me[this.mode][t].group,c=He.range(e),m;ku(o)?m={type:"atom",mode:this.mode,family:o,loc:c,text:t}:m={type:o,mode:this.mode,loc:c,text:t},i=m}else if(t.charCodeAt(0)>=128)this.settings.strict&&(fi(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),i={type:"textord",mode:"text",loc:He.range(e),text:t};else return null;if(this.consume(),s)for(var u=0;u<s[0].length;u++){var h=s[0][u];if(!Na[h])throw new _("Unknown accent ' "+h+"'",e);var g=Na[h][this.mode]||Na[h].text;if(!g)throw new _("Accent "+h+" unsupported in "+this.mode+" mode",e);i={type:"accent",mode:this.mode,loc:He.range(e),label:g,isStretchy:!1,isShifty:!0,base:i}}return i}};Nn.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);bs=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var n=new Nn(e,t);delete n.gullet.macros.current["\\df@tag"];var a=n.parse();if(delete n.gullet.macros.current["\\current@color"],delete n.gullet.macros.current["\\color"],n.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new _("\\tag works only in display equations");a=[{type:"tag",mode:"text",body:a,tag:n.subparse([new We("\\df@tag")])}]}return a},lo=function(e,t,n){t.textContent="";var a=ys(e,n).toNode();t.appendChild(a)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),lo=function(){throw new _("KaTeX doesn't work in quirks mode.")});s1=function(e,t){var n=ys(e,t).toMarkup();return n},i1=function(e,t){var n=new Ir(t);return bs(e,n)},co=function(e,t,n){if(n.throwOnError||!(e instanceof _))throw e;var a=F(["katex-error"],[new Be(t)]);return a.setAttribute("title",e.toString()),a.setAttribute("style","color:"+n.errorColor),a},ys=function(e,t){var n=new Ir(t);try{var a=bs(e,n);return hu(a,e,n)}catch(s){return co(s,e,n)}},o1=function(e,t){var n=new Ir(t);try{var a=bs(e,n);return fu(a,e,n)}catch(s){return co(s,e,n)}},l1="0.16.47",c1={Span:jt,Anchor:pr,SymbolNode:Be,SvgNode:rt,PathNode:mt,LineNode:Nr},ws={version:l1,render:lo,renderToString:s1,ParseError:_,SETTINGS_SCHEMA:Ba,__parse:i1,__renderToDomTree:ys,__renderToHTMLTree:o1,__setFontMetrics:Xd,__defineSymbol:l,__defineFunction:P,__defineMacro:f,__domTree:c1}});function A1(r){return/\buseContext\b/.test(r)?"Component uses React useContext":/\buseReducer\b/.test(r)?"Component uses React useReducer":/\bcreatePortal\b/.test(r)?"Component uses React createPortal":/\buseImperativeHandle\b/.test(r)?"Component uses useImperativeHandle":/from\s+['"]@reduxjs|from\s+['"]zustand|from\s+['"]@tanstack\/react-query/i.test(r)?"Component imports external React state manager":null}function T1(r){return r.replace(/style=\{\{([^}]+)\}\}/g,(e,t)=>{let n=t.split(","),a=[];for(let s of n){let i=s.indexOf(":");if(i===-1)continue;let o=s.slice(0,i).trim(),c=s.slice(i+1).trim();o=o.replace(/([A-Z])/g,"-$1").toLowerCase(),c=c.replace(/^['"]|['"]$/g,""),o&&c&&a.push(`${o}:${c}`)}return`style="${a.join(";")}"`})}function bo(r){let e=r;return e=T1(e),e=e.replace(/\bclassName=/g,"class="),e=e.replace(/\bon([A-Z][a-zA-Z0-9_]*)=/g,(t,n)=>`on${n.toLowerCase()}=`),e=e.replace(/<>\s*/g,"<div>"),e=e.replace(/\s*<\/>/g,"</div>"),e}function C1(r,e,t){let n="",a=0,s=`${e}(`,i=r.indexOf(s,a);for(;i!==-1;){let o=i>0?r[i-1]:"";if(/[a-zA-Z0-9_$]/.test(o)){n+=r.slice(a,i+s.length),a=i+s.length,i=r.indexOf(s,a);continue}let c=1,m=i+s.length;for(;m<r.length&&c>0;)r[m]==="("?c++:r[m]===")"&&c--,m++;if(c===0){let u=r.slice(i+s.length,m-1).trim();n+=r.slice(a,i);let h=u.match(/^\(?([a-zA-Z0-9_$]+)\)?\s*=>\s*([\s\S]+)$/);if(h){let g=h[1],b=h[2].replace(new RegExp(`\\b${g}\\b`,"g"),t);n+=`${t} = ${b}`}else n+=`${t} = ${u}`;a=m,i=r.indexOf(s,a)}else break}return n+=r.slice(a),n}function D1(r){let e=r.match(/return\s*\(\s*(<[\s\S]+?>[\s\S]*?<\/[A-Za-z0-9_]+>|<[A-Za-z0-9_]+[^>]*\/>)\s*\);?/);if(e)return bo(e[1].trim());let t=r.match(/return\s+(<[A-Za-z0-9_]+[\s\S]*?>[\s\S]*?<\/[A-Za-z0-9_]+>|<[A-Za-z0-9_]+[^>]*\/>);?/);return t?bo(t[1].trim()):null}function Xn(r,e){let t=A1(r);if(t)return{success:!1,reason:t};let n=e.tag||yt(e.name),a=D1(r);if(!a)return{success:!1,reason:"Could not locate JSX return statement in React component."};let s="let { ...props } = $props();",i=r.match(/(?:function\s+[A-Za-z0-9_$]+\s*|\s*=\s*)\(\s*\{([^}]+)\}\s*(?::\s*[^)]+)?\)/);i&&(s=`let { ${i[1].split(",").map(w=>w.trim()).filter(Boolean).join(", ")} } = $props();`);let o=[],c=new Map,m=/const\s+\[([A-Za-z0-9_$]+),\s*([A-Za-z0-9_$]+)\]\s*=\s*useState\(/g,u=m.exec(r);for(;u!==null;){let k=u[1],w=u[2],A=u.index+u[0].length,$=1,D=A;for(;D<r.length&&$>0;)r[D]==="("?$++:r[D]===")"&&$--,D++;let M=$===0?r.slice(A,D-1).trim():"undefined";o.push(`let ${k} = $state(${M||"undefined"});`),c.set(w,k),u=m.exec(r)}let h=[],g=/useEffect\(\s*\(\)\s*=>\s*\{([\s\S]*?)\}\s*(?:,\s*\[[^\]]*\])?\);?/g,b=g.exec(r);for(;b!==null;){let k=b[1].trim();h.push(`$effect(() => {
263
+ ${k}
264
+ });`),b=g.exec(r)}let x=a;for(let[k,w]of c.entries())x=C1(x,k,w);let v=[s,...o,...h].filter(Boolean).join(`
265
+ `);return{success:!0,svelteSource:`<svelte:options customElement={{ tag: "${n}" }} />
30
266
 
31
- // package.json
32
- var package_default = {
33
- name: "docmedown",
34
- version: "0.1.7",
35
- description: "The simplest MarkDown documenter yet. CLI & Web Script React SPA documentation engine.",
36
- main: "./dist/docmedown.cjs",
37
- module: "./dist/docmedown.mjs",
38
- types: "./dist/types/runtime/index.d.ts",
39
- exports: {
40
- ".": {
41
- types: "./dist/types/runtime/index.d.ts",
42
- import: "./dist/docmedown.mjs",
43
- require: "./dist/docmedown.cjs"
44
- },
45
- "./iife": "./dist/docmedown.iife.js"
46
- },
47
- unpkg: "./dist/docmedown.iife.js",
48
- jsdelivr: "./dist/docmedown.iife.js",
49
- bin: {
50
- docmedown: "bin/docmedown.js",
51
- dmd: "bin/docmedown.js"
52
- },
53
- files: [
54
- "dist",
55
- "bin",
56
- "templates",
57
- "schemas",
58
- "README.md",
59
- "LICENSE"
60
- ],
61
- scripts: {
62
- "dev:runtime": "vite build --watch",
63
- "build:runtime": "vite build",
64
- "build:cli": "tsup",
65
- typecheck: "tsc --noEmit",
66
- lint: "biome check .",
67
- "lint:fix": "biome check --write .",
68
- format: "biome format --write .",
69
- "build:types": "tsc -p tsconfig.runtime.json",
70
- build: "npm run build:runtime && npm run build:cli && npm run build:types",
71
- docmedown: "node ./bin/docmedown.js",
72
- dmd: "node ./bin/docmedown.js",
73
- "init:docs": "node ./bin/docmedown.js init",
74
- serve: "node ./bin/docmedown.js serve ./docs",
75
- dev: "node ./bin/docmedown.js serve ./docs",
76
- "build:docs": "node ./bin/docmedown.js build ./docs",
77
- "build:docs:watch": "node ./bin/docmedown.js build ./docs --watch",
78
- "build:offline": "node ./bin/docmedown.js build ./docs",
79
- "config:docs": "node ./bin/docmedown.js config ./docs/docs.json",
80
- test: "npx tsx --test tests/parser.test.ts tests/scanner.test.ts tests/theme-schema.test.ts tests/runtime-integration.test.ts tests/package-smoke.test.ts tests/hosting.test.ts tests/deploy.test.ts tests/home.test.ts",
81
- "test:artifacts": "npx tsx --test tests/offline-artifact.test.ts",
82
- "test:release": "npm run typecheck && npm run lint && npm run test && npm run build && npm run build:docs && npm run test:artifacts && npm pack --dry-run",
83
- deploy: "node ./scripts/deploy.mjs",
84
- "deploy:dry-run": "npm run deploy -- --dry-run",
85
- prepublishOnly: "npm run test:release"
86
- },
87
- keywords: [
88
- "markdown",
89
- "documentation",
90
- "docs",
91
- "docusaurus",
92
- "docsify",
93
- "react",
94
- "spa",
95
- "cli",
96
- "offline-docs",
97
- "github-docs"
98
- ],
99
- author: "Gabriel M. Silva",
100
- license: "MIT",
101
- engines: {
102
- node: ">=20.19.0"
103
- },
104
- repository: {
105
- type: "git",
106
- url: "git+https://github.com/gabrielmsilva00/docmedown.git"
107
- },
108
- bugs: {
109
- url: "https://github.com/gabrielmsilva00/docmedown/issues"
110
- },
111
- homepage: "https://github.com/gabrielmsilva00/docmedown#readme",
112
- packageManager: "npm@11.16.0",
113
- overrides: {
114
- tsup: {
115
- esbuild: "0.28.2"
116
- }
117
- },
118
- dependencies: {
119
- chalk: "^4.1.2",
120
- chokidar: "^3.6.0",
121
- commander: "^12.1.0",
122
- esbuild: "^0.28.2",
123
- "gray-matter": "^4.0.3",
124
- "mime-types": "^2.1.35",
125
- open: "^10.1.0",
126
- prompts: "^2.4.2",
127
- ws: "^8.18.0",
128
- zod: "^4.4.3"
129
- },
130
- devDependencies: {
131
- "@biomejs/biome": "^2.5.10",
132
- "@types/node": "^22.5.0",
133
- "@types/prismjs": "^1.26.6",
134
- "@types/prompts": "^2.4.9",
135
- "@types/react": "^18.3.5",
136
- "@types/react-dom": "^18.3.0",
137
- "@types/ws": "^8.5.12",
138
- "@vitejs/plugin-react": "^6.1.0",
139
- katex: "^0.16.11",
140
- marked: "^14.1.1",
141
- mermaid: "^11.17.2",
142
- minisearch: "^7.1.0",
143
- prismjs: "^1.29.0",
144
- react: "^18.3.1",
145
- "react-dom": "^18.3.1",
146
- tsup: "^8.2.4",
147
- tsx: "^4.19.0",
148
- typescript: "^5.5.4",
149
- vite: "^8.2.2",
150
- "vite-plugin-css-injected-by-js": "^5.0.2"
151
- }
152
- };
267
+ <script>
268
+ ${v}
269
+ </script>
153
270
 
154
- // src/cli/commands/build.ts
155
- var import_node_fs2 = __toESM(require("fs"));
156
- var import_node_path2 = __toESM(require("path"));
157
- var import_node_zlib = require("zlib");
158
- var import_chalk = __toESM(require("chalk"));
159
- var import_chokidar = __toESM(require("chokidar"));
160
- var import_esbuild = require("esbuild");
271
+ ${x}
161
272
 
162
- // src/runtime/config-schema.ts
163
- var import_zod = require("zod");
164
- var nonEmptyString = import_zod.z.string().trim().min(1, "Must not be empty.");
165
- var themePresetSchema = import_zod.z.enum(["indigo", "emerald", "sunset", "violet", "rose", "slate", "cyberpunk"]);
166
- var themeFamilySchema = import_zod.z.enum(["atlas", "blueprint", "terminal", "editorial"]);
167
- var themeDensitySchema = import_zod.z.enum(["comfortable", "compact"]);
168
- var colorModeSchema = import_zod.z.enum(["light", "dark", "auto"]);
169
- var socialTypeSchema = import_zod.z.enum(["github", "gitlab", "twitter", "x", "discord", "custom"]);
170
- var badgeTypeSchema = import_zod.z.enum(["info", "success", "warning", "new"]);
171
- var navLinkSchema = import_zod.z.object({
172
- label: nonEmptyString,
173
- href: nonEmptyString,
174
- external: import_zod.z.boolean().optional(),
175
- icon: import_zod.z.string().optional()
176
- }).strict();
177
- var socialLinkSchema = import_zod.z.object({
178
- type: socialTypeSchema,
179
- url: import_zod.z.string().url("Must be an absolute URL."),
180
- label: import_zod.z.string().optional(),
181
- icon: import_zod.z.string().optional()
182
- }).strict();
183
- var remoteSourceSchema = import_zod.z.discriminatedUnion("type", [
184
- import_zod.z.object({
185
- type: import_zod.z.literal("github"),
186
- repo: nonEmptyString.regex(/^[^/\s]+\/[^/\s]+$/, "Use the owner/repository format."),
187
- branch: nonEmptyString.optional(),
188
- docsDir: import_zod.z.string().optional(),
189
- token: import_zod.z.string().optional(),
190
- baseUrl: import_zod.z.string().url("Must be an absolute URL.").optional()
191
- }).strict(),
192
- import_zod.z.object({
193
- type: import_zod.z.literal("gitlab"),
194
- repo: nonEmptyString.regex(/^[^/\s]+\/[^/\s]+$/, "Use the namespace/repository format."),
195
- branch: nonEmptyString.optional(),
196
- docsDir: import_zod.z.string().optional(),
197
- token: import_zod.z.string().optional(),
198
- baseUrl: import_zod.z.string().url("Must be an absolute URL.").optional()
199
- }).strict(),
200
- import_zod.z.object({
201
- type: import_zod.z.literal("raw"),
202
- baseUrl: import_zod.z.string().url("Must be an absolute URL."),
203
- branch: nonEmptyString.optional(),
204
- docsDir: import_zod.z.string().optional(),
205
- token: import_zod.z.string().optional()
206
- }).strict()
207
- ]);
208
- var sidebarItemSchema = import_zod.z.lazy(
209
- () => import_zod.z.object({
210
- title: import_zod.z.string().optional(),
211
- path: import_zod.z.string().optional(),
212
- slug: import_zod.z.string().optional(),
213
- icon: import_zod.z.string().optional(),
214
- badge: import_zod.z.string().optional(),
215
- badgeType: badgeTypeSchema.optional(),
216
- collapsed: import_zod.z.boolean().optional(),
217
- children: import_zod.z.array(sidebarItemSchema).optional()
218
- }).strict()
219
- );
220
- var docThemeConfigSchema = import_zod.z.object({
221
- family: themeFamilySchema.optional(),
222
- density: themeDensitySchema.optional(),
223
- /** @deprecated Use `family`. Preserved to migrate existing docs.json files. */
224
- preset: themePresetSchema.optional(),
225
- defaultMode: colorModeSchema.optional(),
226
- accentColor: import_zod.z.string().optional(),
227
- accentColorDark: import_zod.z.string().optional(),
228
- fontFamily: import_zod.z.string().optional(),
229
- codeTheme: import_zod.z.enum(["github", "dracula", "one-dark", "synthwave"]).optional(),
230
- logo: import_zod.z.object({
231
- light: import_zod.z.string().optional(),
232
- dark: import_zod.z.string().optional(),
233
- alt: import_zod.z.string().optional(),
234
- text: import_zod.z.string().optional()
235
- }).strict().optional(),
236
- favicon: import_zod.z.string().optional()
237
- }).strict();
238
- var docSearchConfigSchema = import_zod.z.object({
239
- enabled: import_zod.z.boolean().optional(),
240
- placeholder: import_zod.z.string().optional(),
241
- maxResults: import_zod.z.number().int().positive().max(100).optional()
242
- }).strict();
243
- var docOfflineConfigSchema = import_zod.z.object({
244
- embedNestedDocs: import_zod.z.boolean().optional()
245
- }).strict();
246
- var docConfigSchema = import_zod.z.object({
247
- $schema: import_zod.z.string().url("Must be an absolute URL.").optional(),
248
- name: nonEmptyString.optional(),
249
- tagline: import_zod.z.string().optional(),
250
- description: import_zod.z.string().optional(),
251
- version: import_zod.z.string().optional(),
252
- rootDoc: nonEmptyString.optional(),
253
- home: nonEmptyString.optional(),
254
- source: remoteSourceSchema.optional(),
255
- theme: docThemeConfigSchema.optional(),
256
- nav: import_zod.z.array(navLinkSchema).optional(),
257
- socials: import_zod.z.array(socialLinkSchema).optional(),
258
- sidebar: import_zod.z.array(sidebarItemSchema).optional(),
259
- autoIndex: import_zod.z.object({
260
- enabled: import_zod.z.boolean().optional(),
261
- exclude: import_zod.z.array(nonEmptyString).optional(),
262
- sort: import_zod.z.enum(["alphabetical", "frontmatter", "natural"]).optional(),
263
- defaultCollapsed: import_zod.z.boolean().optional()
264
- }).strict().optional(),
265
- search: docSearchConfigSchema.optional(),
266
- offline: docOfflineConfigSchema.optional(),
267
- footer: import_zod.z.object({
268
- copyright: import_zod.z.string().optional(),
269
- links: import_zod.z.array(navLinkSchema).optional(),
270
- showBuiltWith: import_zod.z.boolean().optional()
271
- }).strict().optional(),
272
- componentsUrl: import_zod.z.string().optional(),
273
- editUrl: import_zod.z.string().optional()
274
- }).strict();
275
- var normalizedDocConfigSchema = docConfigSchema.extend({
276
- name: nonEmptyString
277
- });
278
- function formatConfigIssues(error) {
279
- return error.issues.map((issue) => `${issue.path.length > 0 ? issue.path.join(".") : "config"}: ${issue.message}`).join("\n");
273
+ <style>
274
+ :host {
275
+ display: block;
276
+ }
277
+ </style>
278
+ `}}var xs=Ue(()=>{"use strict";sn()});function yr(r){let e=r.replace(/\.(md|mdx|html)$/i,"");return e=e.replace(/^\d+[-_.]/,""),e.toLowerCase()==="readme"||e.toLowerCase()==="index"?"Overview":e.split(/[-_]+/).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function yo(r,e={},t){if(t&&t.length>0)return xo(t);let n=[],a=new Map;for(let s of r){let i=s.replace(/^\.?\//,""),o=i.split("/"),c=e[i]||{};if(!c.hidden)if(o.length===1){let m=o[0],u=m.replace(/\.(md|mdx)$/i,""),h=u.toLowerCase()==="readme"||u.toLowerCase()==="index";n.push({id:u,title:c.title||c.sidebar_label||(h?"Overview":yr(m)),slug:h?"README":u,path:i,icon:c.icon,badge:c.badge,badgeType:c.badge_type,order:c.order??c.sidebar_position??(h?-999:0),isCategory:!1})}else{let m="",u=n;for(let x=0;x<o.length-1;x++){let v=o[x];m=m?`${m}/${v}`:v;let y=a.get(m);y||(y={id:m,title:yr(v),order:10,isCategory:!0,collapsed:!1,children:[]},a.set(m,y),u.push(y)),u=y.children}let h=o[o.length-1],g=i.replace(/\.(md|mdx)$/i,""),b=h.replace(/\.(md|mdx)$/i,"").toLowerCase()==="readme"||h.replace(/\.(md|mdx)$/i,"").toLowerCase()==="index";u.push({id:g,title:c.title||c.sidebar_label||(b?"Overview":yr(h)),slug:g,path:i,icon:c.icon,badge:c.badge,badgeType:c.badge_type,order:c.order??c.sidebar_position??(b?-100:0),isCategory:!1})}}return wo(n),n}function wo(r){r.sort((e,t)=>e.order!==t.order?e.order-t.order:e.slug==="README"?-1:t.slug==="README"?1:e.title.localeCompare(t.title));for(let e of r)e.children&&e.children.length>0&&wo(e.children)}function xo(r){return r.map((e,t)=>{let n=!!(e.children&&e.children.length>0),a=e.slug||(e.path?e.path.replace(/\.(md|mdx)$/i,""):`item-${t}`);return{id:a,title:e.title||yr(a),slug:n?void 0:a,path:e.path,icon:e.icon,badge:e.badge,badgeType:e.badgeType,order:t,isCategory:n,collapsed:e.collapsed??!1,children:e.children?xo(e.children):void 0}})}var ko=Ue(()=>{"use strict"});function ks(r){let e=[],t=r.split(`
279
+ `);for(let n of t){let a=n.match(/^(#{1,4})\s+(.+)$/);if(a){let s=a[1].length,i=a[2].trim(),o=gn(i),c=i.replace(/[#*`_]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[\s_-]+/g,"-");e.push({level:s,text:o,id:c})}}return e}function nt(r,e=r,t=["node_modules",".git",".dmd","dist","bin","SKILL.md"],n=!0){let a=[];if(!Gt.default.existsSync(r))return a;let s=Gt.default.readdirSync(r,{withFileTypes:!0});for(let i of s){if(t.includes(i.name)||i.name.startsWith("."))continue;let o=Dt.default.join(r,i.name),c=Dt.default.relative(e,o).replace(/\\/g,"/");i.isDirectory()?n&&o!==e&&Gt.default.existsSync(Dt.default.join(o,"docs.json"))||a.push(...nt(o,e,t,n)):i.isFile()&&/\.(md|mdx)$/i.test(i.name)&&a.push(c)}return a}function qr(r,e){let t=nt(r),n=[],a={};for(let u of t){let h=Dt.default.join(r,u),g=Gt.default.readFileSync(h,"utf-8"),{data:b,content:x}=(0,So.default)(g),v=u.replace(/\.(md|mdx)$/i,""),k=v.toLowerCase()==="readme"||v.toLowerCase()==="index"?"README":v,w=b.title||b.sidebar_label||yr(Dt.default.basename(u));a[u]=b;let A=ks(x),$=x.trim().split(/\s+/).length,D=Math.max(1,Math.ceil($/200));n.push({slug:k,path:u,title:w,category:u.includes("/")?u.substring(0,u.lastIndexOf("/")):void 0,frontmatter:b,headings:A,content:x,readingTimeMinutes:D,lastModified:Gt.default.statSync(h).mtime.toISOString()})}let s=yo(t,a,e.sidebar),i=Dt.default.join(r,".dmd"),o=[".svelte",".tsx",".jsx",".ts",".js"],c=["setup.js","setup.mjs","setup.ts","languages.js","languages.ts","components.js","index.js"],m=Gt.default.existsSync(i)?Gt.default.readdirSync(i).filter(u=>u.startsWith(".")||c.includes(u)||u.endsWith(".d.ts")?!1:o.some(h=>u.endsWith(h))).map(u=>{let h=Dt.default.extname(u);return Dt.default.basename(u,h)}):[];return{version:sr.version,generatedAt:new Date().toISOString(),config:e,docs:n,tree:s,customComponents:m.length>0?m:void 0}}var Gt,Dt,So,Ur=Ue(()=>{"use strict";Gt=X(require("fs")),Dt=X(require("path")),So=X(require("gray-matter"));Qr();ko();Sa()});var el={};ra(el,{createMcpServer:()=>Es,loadBuiltSite:()=>Xo,loadOrCreateToolkit:()=>Jo,mcpCommand:()=>j1,registerDocTools:()=>Ko,searchDocs:()=>Yo,startMcpSseServer:()=>Qo});function O1(r){let e=r.match(/window\.__DOCMEDOWN_DATA__\s*=\s*([\s\S]*?);\s*$/m);if(!e)return null;try{let t=JSON.parse(e[1]);return t.docs&&typeof t.docs=="object"?t.docs:null}catch{return null}}function Xo(r){let e=nr.default.join(r,"_manifest.json"),t=nr.default.join(r,"_docs.js");if(!st.default.existsSync(e))return null;try{let n=JSON.parse(st.default.readFileSync(e,"utf-8")),a={};return st.default.existsSync(t)&&(a=O1(st.default.readFileSync(t,"utf-8"))??{}),{manifest:n,docs:a}}catch{return null}}function Jo(r){let e=Xo(r);if(e)return e;if(!st.default.existsSync(r))return null;try{let t=Pe(),n=nr.default.join(r,"docs.json"),a=nr.default.join(r,"dmd.json");st.default.existsSync(n)?t=Pe(Rt(st.default.readFileSync(n,"utf-8"),n)):st.default.existsSync(a)&&(t=Pe(Rt(st.default.readFileSync(a,"utf-8"),a)));let s=nt(r);if(s.length===0)return null;let i=qr(r,t),o={};for(let c of s){let m=nr.default.join(r,c),u=st.default.readFileSync(m,"utf-8"),h=c.replace(/\.(md|mdx)$/i,""),g=h.toLowerCase()==="readme"||h.toLowerCase()==="index"?"README":h;o[g]=u,o[c]=u}return{manifest:i,docs:o}}catch{return null}}function I1(r){return r.toLowerCase().split(/\s+/).filter(e=>e.length>1)}function $s(r,e){if(!r)return 0;let t=0,n=r.indexOf(e);for(;n!==-1&&t<50;)t++,n=r.indexOf(e,n+e.length);return t}function _1(r,e){let n=(r.content||"").replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").split(`
280
+ `);for(let s of e)for(let i of n)if(i.toLowerCase().includes(s)){let o=i.replace(/^[#>\-*\s`]+/,"").trim();if(o)return o.length>200?`${o.slice(0,200)}\u2026`:o}return(n.find(s=>s.trim()&&!s.startsWith("#"))||"").trim().slice(0,200)}function Yo(r,e,t=10){let n=I1(e);return n.length===0?[]:r.manifest.docs.filter(s=>s.frontmatter?.hidden!==!0).map(s=>{let i=s.title.toLowerCase(),o=s.headings.map(u=>`${u.text} ${u.id}`).join(" ").toLowerCase(),c=(s.content||"").toLowerCase(),m=0;for(let u of n)m+=$s(i,u)*5,m+=$s(o,u)*3,m+=Math.min($s(c,u),20);return{slug:s.slug,title:s.title,snippet:_1(s,n),score:m}}).filter(s=>s.score>0).sort((s,i)=>i.score-s.score).slice(0,Math.max(1,Math.min(t,25)))}function Uo(r,e){let t=e.replace(/^\.?\//,"").replace(/\.(md|mdx)$/i,"");return r.manifest.docs.find(n=>n.slug.toLowerCase()===t.toLowerCase()||n.path.replace(/\.(md|mdx)$/i,"").toLowerCase()===t.toLowerCase())}function Es(r){let e=new Wo.McpServer({name:"docmedown",version:sr.version});return Ko(e,r),e}function N1(r){return r?Array.isArray(r)?r:r.split(",").map(e=>e.trim()).filter(Boolean):["*"]}function B1(r,e,t){let n=r.headers.origin,a="*";t.length>0&&(t.includes("*")?a="*":n&&t.includes(n)?a=n:a=t[0]),e.setHeader("Access-Control-Allow-Origin",a),e.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),e.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization, x-session-id"),e.setHeader("Access-Control-Expose-Headers","*")}async function Qo(r,e={}){let t=e.host||"localhost",n=e.port!==void 0?Number(e.port):3001,a=N1(e.allowOrigins),s=new Map,i=Go.default.createServer(async(h,g)=>{if(B1(h,g,a),h.method==="OPTIONS"){g.writeHead(204).end();return}let b=h.headers.host||`${t}:${n}`,x=new URL(h.url||"",`http://${b}`);if(h.method==="GET"&&(x.pathname==="/sse"||x.pathname==="/events")){let v=new Vo.SSEServerTransport("/message",g,{allowedOrigins:a.length>0&&!a.includes("*")?a:void 0,enableDnsRebindingProtection:a.length>0&&!a.includes("*")});s.set(v.sessionId,v),v.onclose=()=>{s.delete(v.sessionId)},await Es(r).connect(v);return}if(h.method==="POST"&&x.pathname==="/message"){let v=x.searchParams.get("sessionId");if(!v||!s.has(v)){g.writeHead(404,{"Content-Type":"text/plain"}).end("Session not found");return}await s.get(v).handlePostMessage(h,g);return}g.writeHead(404,{"Content-Type":"text/plain"}).end("Not Found. Connect to /sse for MCP SSE transport.")});await new Promise((h,g)=>{i.listen(n,t,()=>h()),i.once("error",g)});let o=i.address(),c=typeof o=="object"&&o?o.port:n,m=`http://${t}:${c}/sse`;return{server:i,port:c,host:t,url:m,close:async()=>{for(let h of s.values())try{await h.close()}catch{}s.clear(),await new Promise((h,g)=>{i.close(b=>b?g(b):h())})}}}async function j1(r="./docs",e={}){let t=nr.default.resolve(process.cwd(),r),n=Jo(t);if(!n)throw new Error(`No documentation found at ${t}. Run "docmedown build ${r}" or create Markdown files in that directory first.`);if(e.transport==="sse"||e.port!==void 0){let s=await Qo(n,{port:e.port,host:e.host,allowOrigins:e.allowOrigins});console.error(`[DocMeDown] MCP server ready over SSE at ${s.url} \u2014 serving ${n.manifest.docs.length} documents from ${t}`);let i=async()=>{await s.close(),process.exit(0)};return process.once("SIGINT",i),process.once("SIGTERM",i),new Promise(()=>{})}return await Es(n).connect(new Zo.StdioServerTransport),console.error(`[DocMeDown] MCP server ready over stdio \u2014 serving ${n.manifest.docs.length} documents from ${t}`),new Promise(()=>{})}var st,Go,nr,Wo,Vo,Zo,Gr,Ko,tl=Ue(()=>{"use strict";st=X(require("fs")),Go=X(require("http")),nr=X(require("path")),Wo=require("@modelcontextprotocol/sdk/server/mcp.js"),Vo=require("@modelcontextprotocol/sdk/server/sse.js"),Zo=require("@modelcontextprotocol/sdk/server/stdio.js"),Gr=require("zod");Qr();tn();Ur();Ko=(r,e)=>{let t=e.manifest.config?.name||"Documentation";r.registerTool("list_docs",{description:`List every document in the ${t} documentation corpus with titles, categories, and reading times.`,inputSchema:{}},async()=>({content:[{type:"text",text:JSON.stringify({site:t,count:e.manifest.docs.length,docs:e.manifest.docs.map(n=>({slug:n.slug,path:n.path,title:n.title,category:n.category??null,readingTimeMinutes:n.readingTimeMinutes??null,lastModified:n.lastModified??null}))},null,2)}]})),r.registerTool("read_doc",{description:"Read the full markdown content of one documentation page, including its headings and last-modified date.",inputSchema:{slug:Gr.z.string().describe('Document slug (e.g. "README" or "guides/custom-components").')}},async({slug:n})=>{let a=Uo(e,n);if(!a)return{isError:!0,content:[{type:"text",text:`Document not found: ${n}. Use list_docs to see available slugs.`}]};let s=e.docs[a.slug]??e.docs[a.path]??a.content??"";return{content:[{type:"text",text:JSON.stringify({slug:a.slug,path:a.path,title:a.title,headings:a.headings.map(i=>({level:i.level,text:i.text,id:i.id})),lastModified:a.lastModified??null,content:s.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").trim()},null,2)}]}}),r.registerTool("search_docs",{description:`Search the ${t} documentation by keyword. Returns matching documents with a content snippet.`,inputSchema:{query:Gr.z.string().describe("Search query, one or more keywords."),limit:Gr.z.number().int().positive().max(25).optional().describe("Maximum results (default 10).")}},async({query:n,limit:a})=>{let s=Yo(e,n,a??10);return{content:[{type:"text",text:JSON.stringify({query:n,count:s.length,results:s},null,2)}]}}),r.registerTool("resolve_url",{description:"Resolve a documentation slug to its public URL on the deployed documentation site.",inputSchema:{slug:Gr.z.string().describe('Document slug (e.g. "README" or "guides/custom-components").')}},async({slug:n})=>{let a=Uo(e,n);if(!a)return{isError:!0,content:[{type:"text",text:`Document not found: ${n}. Use list_docs to see available slugs.`}]};let s=e.manifest.config?.url,i=s?s.replace(/\/+$/,""):null,o=i?a.slug==="README"?`${i}/`:`${i}/${a.slug}/`:`/${a.slug==="README"?"":`${a.slug}/`}`;return{content:[{type:"text",text:JSON.stringify({slug:a.slug,url:o,siteUrl:i},null,2)}]}})}});var nl={};ra(nl,{validateCommand:()=>P1});function L1(r){let e=[],t=r.split(`
281
+ `),n=!1;for(let a=0;a<t.length;a++){let s=t[a],i=s.trim();if(i.startsWith("```")||i.startsWith("~~~")){n=!n;continue}if(n)continue;let o=s.replace(/`[^`]*`/g,""),c=/(!?)\[([^\]]*)\]\(([^)\s]+)(?:\s+["'][^"']*["'])?\)/g;for(let g of o.matchAll(c))e.push({isImage:g[1]==="!",text:g[2],url:g[3],line:a+1});let m=/<a\s+[^>]*href=["']([^"']+)["'][^>]*>(.*?)<\/a>/gi;for(let g of o.matchAll(m))e.push({isImage:!1,text:g[2],url:g[1],line:a+1});let u=/<img\s+[^>]*src=["']([^"']+)["'][^>]*>/gi;for(let g of o.matchAll(u))e.push({isImage:!0,text:"",url:g[1],line:a+1});let h=/<(?:Media|dmd-media)\s+[^>]*src=["']([^"']+)["'][^>]*>/gi;for(let g of o.matchAll(h))e.push({isImage:!0,text:"",url:g[1],line:a+1})}return e}function rl(r){let e=new Set,t=ks(r);for(let s of t)e.add(s.id.toLowerCase());let n=/^(?:#{1,6})\s+.*?\{#([\w-]+)\}\s*$/gm;for(let s of r.matchAll(n))e.add(s[1].toLowerCase());let a=/<a\s+[^>]*(?:id|name)=["']([^"']+)["']/gi;for(let s of r.matchAll(a))e.add(s[1].toLowerCase());return e}async function P1(r="./docs",e={}){let t=Re.default.resolve(process.cwd(),r),n=[],a=[],s=0,i=0;if(!$t.default.existsSync(t)){let x={file:r,message:`Documentation directory does not exist: ${t}`,type:"config"};return n.push(x),e.silent||(e.json?console.log(JSON.stringify({valid:!1,errors:n,warnings:a,stats:{docs:0,links:0,headings:0}},null,2)):console.error(Qe.default.red(`\u2716 ${x.message}`))),e.exitOnError&&typeof process<"u"&&(process.exitCode=1),{valid:!1,errors:n,warnings:a,stats:{docs:0,links:0,headings:0}}}let o=Re.default.join(t,"docs.json"),c=Re.default.join(t,"dmd.json"),m=null;if($t.default.existsSync(o)?m=o:$t.default.existsSync(c)&&(m=c),m){let x=Re.default.relative(process.cwd(),m);try{let v=$t.default.readFileSync(m,"utf-8"),y=JSON.parse(v);y?.theme?.preset&&n.push({file:x,message:'Deprecated "theme.preset" detected. Use "theme.family" instead (atlas, blueprint, terminal, editorial).',type:"config"});let k=en.safeParse(y);if(!k.success)for(let w of k.error.issues){let A=w.path.join(".")||"(root)";n.push({file:x,message:`Invalid configuration at "${A}": ${w.message}`,type:"config"})}}catch(v){n.push({file:x,message:`Failed to parse JSON: ${v instanceof Error?v.message:String(v)}`,type:"config"})}}else a.push({file:r,message:"No docs.json or dmd.json configuration file found. Using default DocMeDown settings."});let u=nt(t),h=new Map;for(let x of u){let v=Re.default.join(t,x),y="";try{y=$t.default.readFileSync(v,"utf-8")}catch(D){n.push({file:x,message:`Failed to read file: ${D instanceof Error?D.message:String(D)}`,type:"frontmatter"});continue}let k;try{k=(0,zs.default)(y)}catch(D){n.push({file:x,message:`Malformed frontmatter YAML syntax: ${D instanceof Error?D.message:String(D)}`,type:"frontmatter"}),k={data:{},content:y}}let w=k.data||{};w.title!==void 0&&typeof w.title!="string"&&n.push({file:x,message:`Frontmatter "title" must be a string, got ${typeof w.title}`,type:"frontmatter"}),w.sidebar_label!==void 0&&typeof w.sidebar_label!="string"&&n.push({file:x,message:`Frontmatter "sidebar_label" must be a string, got ${typeof w.sidebar_label}`,type:"frontmatter"}),w.description!==void 0&&typeof w.description!="string"&&n.push({file:x,message:`Frontmatter "description" must be a string, got ${typeof w.description}`,type:"frontmatter"}),w.category!==void 0&&typeof w.category!="string"&&n.push({file:x,message:`Frontmatter "category" must be a string, got ${typeof w.category}`,type:"frontmatter"}),w.order!==void 0&&typeof w.order!="number"&&n.push({file:x,message:`Frontmatter "order" must be a number, got ${typeof w.order}`,type:"frontmatter"}),w.hidden!==void 0&&typeof w.hidden!="boolean"&&n.push({file:x,message:`Frontmatter "hidden" must be a boolean, got ${typeof w.hidden}`,type:"frontmatter"}),w.noindex!==void 0&&typeof w.noindex!="boolean"&&n.push({file:x,message:`Frontmatter "noindex" must be a boolean, got ${typeof w.noindex}`,type:"frontmatter"}),w.tags!==void 0&&!Array.isArray(w.tags)&&n.push({file:x,message:`Frontmatter "tags" must be an array of strings, got ${typeof w.tags}`,type:"frontmatter"});let A=rl(k.content);i+=A.size;let $=x.replace(/\.(md|mdx)$/i,"");h.set(x.toLowerCase(),{fullPath:v,content:k.content,anchors:A}),h.set($.toLowerCase(),{fullPath:v,content:k.content,anchors:A}),($.toLowerCase()==="readme"||$.toLowerCase()==="index")&&h.set("",{fullPath:v,content:k.content,anchors:A})}for(let x of u){let v=Re.default.join(t,x),y=h.get(x.toLowerCase());if(!y)continue;let k=L1(y.content),w=Re.default.dirname(v);for(let A of k){s++;let $=A.url.trim();if(/^(?:https?:|mailto:|tel:|ftp:|javascript:|data:)/i.test($))continue;let D=$.indexOf("#"),M=D===-1?$:$.substring(0,D),E=D===-1?null:$.substring(D+1),z=M.indexOf("?");if(z!==-1&&(M=M.substring(0,z)),!M&&E){let O=E.toLowerCase();y.anchors.has(O)||n.push({file:x,line:A.line,message:`Broken local anchor: "#${E}" does not exist in this document`,type:"anchor"});continue}if(M){let O=null,B=Re.default.resolve(w,M),U=Re.default.resolve(t,M.replace(/^\//,"")),W=[B,U,`${B}.md`,`${B}.mdx`,Re.default.join(B,"README.md"),Re.default.join(B,"index.md"),`${U}.md`,`${U}.mdx`,Re.default.join(U,"README.md"),Re.default.join(U,"index.md")];if(M.endsWith(".html")){let re=M.replace(/\.html$/,"");W.push(Re.default.resolve(w,`${re}.md`),Re.default.resolve(t,`${re.replace(/^\//,"")}.md`))}for(let re of W)if($t.default.existsSync(re)&&$t.default.statSync(re).isFile()){O=re;break}if(!O){n.push({file:x,line:A.line,message:`Broken link: "${$}" (target file does not exist on disk)`,type:"link"});continue}if(E&&/\.(md|mdx)$/i.test(O)){let re=Re.default.relative(t,O).replace(/\\/g,"/").toLowerCase(),ee=h.get(re);if(!ee)try{let Z=$t.default.readFileSync(O,"utf-8"),ne=(0,zs.default)(Z);ee={fullPath:O,content:ne.content,anchors:rl(ne.content)}}catch{ee=void 0}ee&&!ee.anchors.has(E.toLowerCase())&&n.push({file:x,line:A.line,message:`Broken anchor link: "${$}" (anchor "#${E}" does not exist in target document)`,type:"anchor"})}}}}let g=n.length===0,b={valid:g,errors:n,warnings:a,stats:{docs:u.length,links:s,headings:i}};if(!e.silent)if(e.json)console.log(JSON.stringify(b,null,2));else{if(console.log(Qe.default.bold(`
282
+ \u{1F50D} Validating documentation in ${Qe.default.cyan(r)}...`)),console.log(` \u{1F4C4} Documents scanned: ${Qe.default.bold(b.stats.docs)}`),console.log(` \u{1F517} Links verified: ${Qe.default.bold(b.stats.links)}`),console.log(` \u{1F4D1} Headings indexed: ${Qe.default.bold(b.stats.headings)}`),a.length>0){console.log(Qe.default.yellow(`
283
+ \u26A0 ${a.length} warning(s):`));for(let x of a)console.log(Qe.default.yellow(` - ${x.file}: ${x.message}`))}if(g)console.log(Qe.default.green(`
284
+ \u2714 Validation passed! All documents, links, and schemas are valid.
285
+ `));else{console.log(Qe.default.red(`
286
+ \u2716 Validation failed with ${n.length} error(s):`));for(let x of n){let v=x.line?`:${x.line}`:"";console.log(Qe.default.red(` - [${x.type}] ${x.file}${v}: ${x.message}`))}console.log()}}return e.exitOnError&&!g&&typeof process<"u"&&(process.exitCode=1),b}var $t,Re,Qe,zs,al=Ue(()=>{"use strict";$t=X(require("fs")),Re=X(require("path")),Qe=X(require("chalk")),zs=X(require("gray-matter"));aa();Ur()});var ll={};ra(ll,{checkNodeVersion:()=>ol,doctorCommand:()=>H1});function ol(r=process.version){let e="20.19.0",t=r.replace(/^v/,""),[n,a,s]=t.split(".").map(o=>Number.parseInt(o,10)||0);return{supported:n>20||n===20&&(a>19||a===19&&s>=0),version:r,minRequired:`>=${e}`}}async function H1(r="./docs",e={}){let t=we.default.resolve(process.cwd(),r),n=[],a=ol();if(a.supported?n.push({id:"node-env",name:"Node.js Environment",status:"pass",message:`${a.version} (satisfies requirement ${a.minRequired})`}):n.push({id:"node-env",name:"Node.js Environment",status:"fail",message:`${a.version} is not officially supported. DocMeDown requires Node.js ${a.minRequired}`}),!Ee.default.existsSync(t))return n.push({id:"structure",name:"Documentation Structure",status:"fail",message:`Documentation directory does not exist: ${t}`}),sl(n,e,r);let s=we.default.join(t,"docs.json"),i=we.default.join(t,"dmd.json"),o=null,c=null;if(Ee.default.existsSync(s)?o="docs.json":Ee.default.existsSync(i)&&(o="dmd.json"),o)try{c=JSON.parse(Ee.default.readFileSync(we.default.join(t,o),"utf-8")),n.push({id:"config",name:"Configuration File",status:"pass",message:`Found valid configuration file: ${o}`})}catch(x){n.push({id:"config",name:"Configuration File",status:"fail",message:`Syntax error in ${o}: ${x instanceof Error?x.message:String(x)}`})}else n.push({id:"config",name:"Configuration File",status:"warn",message:"No docs.json or dmd.json found (using default configuration)"});let m=nt(t),u=m.some(x=>{let v=we.default.basename(x,we.default.extname(x)).toLowerCase();return v==="readme"||v==="index"});m.length===0?n.push({id:"docs-content",name:"Documentation Documents",status:"warn",message:`No markdown documents (.md, .mdx) found in ${r}`}):u?n.push({id:"docs-content",name:"Documentation Documents",status:"pass",message:`Found ${m.length} markdown document(s) with valid home page`}):n.push({id:"docs-content",name:"Documentation Documents",status:"warn",message:`Found ${m.length} document(s), but missing a home page (README.md or index.md)`});let h=[],g=0;if(c){let x=[c.logo,c.favicon,c.theme?.logo?.light,c.theme?.logo?.dark,c.theme?.favicon,c.customCss].filter(Boolean);for(let v of x)if(typeof v=="string"&&!/^(https?:|data:|\/\/)/i.test(v)){if(kr(v))continue;g++;let y=we.default.resolve(t,v.replace(/^\//,""));Ee.default.existsSync(y)||h.push({ref:v,file:o||"docs.json"})}}for(let x of m){let v=we.default.join(t,x),y=we.default.dirname(v),k="";try{let M=Ee.default.readFileSync(v,"utf-8");k=(0,il.default)(M).content}catch{continue}let w=k.replace(/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g,"").replace(/`[^`\n]*`/g,""),A=/!\[([^\]]*)\]\(([^)\s]+)(?:\s+["'][^"']*["'])?\)/g;for(let M of w.matchAll(A)){let E=M[2].trim();if(!/^(https?:|data:|\/\/|#)/i.test(E)){g++;let z=E.split("?")[0].split("#")[0],O=we.default.resolve(y,z),B=we.default.resolve(t,z.replace(/^\//,""));!Ee.default.existsSync(O)&&!Ee.default.existsSync(B)&&h.push({ref:E,file:x})}}let $=/<img\s+[^>]*src=["']([^"']+)["']/gi;for(let M of w.matchAll($)){let E=M[1].trim();if(!/^(https?:|data:|\/\/|#)/i.test(E)){g++;let z=E.split("?")[0].split("#")[0],O=we.default.resolve(y,z),B=we.default.resolve(t,z.replace(/^\//,""));!Ee.default.existsSync(O)&&!Ee.default.existsSync(B)&&h.push({ref:E,file:x})}}let D=/<(?:Media|dmd-media)\s+[^>]*src=["']([^"']+)["']/gi;for(let M of w.matchAll(D)){let E=M[1].trim();if(!/^(https?:|data:|\/\/|#)/i.test(E)){g++;let z=E.split("?")[0].split("#")[0],O=we.default.resolve(y,z),B=we.default.resolve(t,z.replace(/^\//,""));!Ee.default.existsSync(O)&&!Ee.default.existsSync(B)&&h.push({ref:E,file:x})}}}h.length>0?n.push({id:"assets",name:"Asset References",status:"fail",message:`Found ${h.length} missing local asset file(s)`,details:h.map(x=>`Missing "${x.ref}" referenced in ${x.file}`)}):n.push({id:"assets",name:"Asset References",status:"pass",message:g>0?`All ${g} local asset references verified`:"No local asset references found"});let b=we.default.join(t,".dmd");if(!Ee.default.existsSync(b))n.push({id:"dmd-components",name:"Custom Components (.dmd)",status:"pass",message:"No custom components directory (.dmd) found (standard built-ins only)"});else{let x=Ee.default.readdirSync(b),v=["setup.js","setup.mjs","setup.ts","languages.js","languages.ts","components.js","index.js"],y=x.filter(D=>D.endsWith(".svelte")),k=x.filter(D=>(D.endsWith(".tsx")||D.endsWith(".jsx"))&&!D.startsWith(".")),w=x.filter(D=>(D.endsWith(".ts")||D.endsWith(".js"))&&!v.includes(D)&&!D.endsWith(".d.ts")),A=[],$=0;for(let D of y){$++;let M=we.default.join(b,D);try{let E=Ee.default.readFileSync(M,"utf-8"),z=D.replace(/\.svelte$/,""),O=yt(z),B=an(E,O);(0,Fs.compile)(B,{filename:D,customElement:!0,generate:"client"})}catch(E){A.push(`${D}: ${E instanceof Error?E.message:String(E)}`)}}for(let D of k){$++;let M=we.default.join(b,D);try{let E=Ee.default.readFileSync(M,"utf-8"),z=we.default.basename(D,we.default.extname(D)),O=yt(z),B=Xn(E,{name:z,tag:O,filename:D});B.success&&B.svelteSource?(0,Fs.compile)(B.svelteSource,{filename:`${z}.svelte`,customElement:!0,generate:"client"}):(0,Rs.transformSync)(E,{loader:D.endsWith(".tsx")?"tsx":"jsx",target:"es2022"})}catch(E){A.push(`${D}: ${E instanceof Error?E.message:String(E)}`)}}for(let D of w){$++;let M=we.default.join(b,D);try{let E=Ee.default.readFileSync(M,"utf-8");(0,Rs.transformSync)(E,{loader:D.endsWith(".ts")?"ts":"js",target:"es2022"})}catch(E){A.push(`${D}: ${E instanceof Error?E.message:String(E)}`)}}A.length>0?n.push({id:"dmd-components",name:"Custom Components (.dmd)",status:"fail",message:`Compilation failed for ${A.length} custom component(s)`,details:A}):n.push({id:"dmd-components",name:"Custom Components (.dmd)",status:"pass",message:$>0?`All ${$} custom component(s) compiled cleanly`:"No custom components in .dmd/ directory"})}return sl(n,e,r)}function sl(r,e,t){let n={pass:r.filter(i=>i.status==="pass").length,warn:r.filter(i=>i.status==="warn").length,fail:r.filter(i=>i.status==="fail").length},a=n.fail===0,s={ok:a,checks:r,summary:n};if(!e.silent)if(e.json)console.log(JSON.stringify(s,null,2));else{console.log(vt.default.bold(`
287
+ \u{1FA7A} DocMeDown Doctor \u2014 System & Documentation Diagnostics (${vt.default.cyan(t)})`)),console.log("\u2500".repeat(70));for(let i of r){let o;if(i.status==="pass"?o=vt.default.green("\u2714 [PASS]"):i.status==="warn"?o=vt.default.yellow("\u26A0 [WARN]"):o=vt.default.red("\u2716 [FAIL]"),console.log(`${o} ${vt.default.bold(i.name)}: ${i.message}`),i.details&&i.details.length>0)for(let c of i.details)console.log(vt.default.red(` \u2514\u2500 ${c}`))}console.log("\u2500".repeat(70)),console.log(a?vt.default.green(`\u2728 Doctor found 0 critical issues (${n.pass} passed, ${n.warn} warning(s)). Ready to build/serve!
288
+ `):vt.default.red(`\u2716 Doctor found ${n.fail} critical issue(s). Please resolve them before deployment.
289
+ `))}return e.exitOnError&&!a&&typeof process<"u"&&(process.exitCode=1),s}var Ee,we,vt,Rs,il,Fs,cl=Ue(()=>{"use strict";Ee=X(require("fs")),we=X(require("path")),vt=X(require("chalk")),Rs=require("esbuild"),il=X(require("gray-matter")),Fs=require("svelte/compiler");Sr();sn();xs();Ur()});var Qn=X(require("fs")),Wr=X(require("path")),dl=require("commander");Qr();var H=X(require("fs")),To=X(require("os")),j=X(require("path")),Co=require("zlib"),de=X(require("chalk")),Do=X(require("chokidar")),Ss=require("esbuild"),As=require("svelte/compiler");tn();Sr();var rn={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",webp:"image/webp",gif:"image/gif",avif:"image/avif",bmp:"image/bmp",ico:"image/x-icon",cur:"image/x-icon",tif:"image/tiff",tiff:"image/tiff",apng:"image/apng",svg:"image/svg+xml",svgz:"image/svg+xml",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",avi:"video/x-msvideo",mkv:"video/x-matroska",wmv:"video/x-ms-wmv",flv:"video/x-flv",mp3:"audio/mpeg",wav:"audio/wav",wave:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",opus:"audio/opus",aac:"audio/aac",m4a:"audio/mp4",flac:"audio/flac",weba:"audio/webm",wma:"audio/x-ms-wma",mid:"audio/midi",midi:"audio/midi"};function Pl(r){if(!r)return"";let e=r.trim().split("#")[0].split("?")[0],t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()}function sa(r,e){if(e?.trim()){let n=e.trim().toLowerCase();if(n.includes("/"))return n;if(rn[n])return rn[n]}if(ir(r)){let n=Hl(r);if(n)return n.mimeType}let t=Pl(r);return t&&rn[t]?rn[t]:"application/octet-stream"}function ir(r){return r?/^data:([a-zA-Z0-9!#$&^_.+-]+\/[a-zA-Z0-9!#$&^_.+-]+)?(?:;charset=[a-zA-Z0-9-]+)?(?:;base64)?,/i.test(r.trim()):!1}function Hl(r){if(!r)return null;let e=/^data:([^;,]+)?(?:;charset=[^;,]+)?(;base64)?,(.*)$/is.exec(r.trim());return e?{mimeType:e[1]||"text/plain",isBase64:!!e[2],data:e[3]}:null}function ia(r,e){let t;if(typeof r=="string")typeof Buffer<"u"?t=Buffer.from(r,"utf-8").toString("base64"):t=btoa(unescape(encodeURIComponent(r)));else{let n=r instanceof Uint8Array?r:new Uint8Array(r);if(typeof Buffer<"u")t=Buffer.from(n).toString("base64");else{let a="";for(let i=0;i<n.length;i+=32768)a+=String.fromCharCode(...n.subarray(i,i+32768));t=btoa(a)}}return`data:${e};base64,${t}`}Sr();var Ar="dmd-splash",oa="dmd-splash-hidden",nn="dmd-splash-active",ql="__DOCMEDOWN_SPLASH_START__";function Ot(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var Ul=/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;function Us(r){let e=r?.trim();return e&&Ul.test(e)?e:void 0}function Gs(r){let e=r?.trim();if(!e||e.length>512||/[<>"'`]/.test(e))return;let t=e.toLowerCase();if(!(t.startsWith("javascript:")||t.startsWith("data:text/html")||t.startsWith("vbscript:"))&&(/^(https?:\/\/|data:image\/|\.\.?\/|#|\/[^/]|[^:/?#]+\/)/i.test(e)||/^[^:/?#\s]+\.[a-z0-9]+/i.test(e)||/^[\w\-.]+$/i.test(e)))return e}function Gl(r,e){let t=Us(r),n=Us(e),a=[];return t&&a.push(`:root{--dmd-splash-accent:${t}}`),(t||n)&&a.push(`:root[data-theme=dark]{--dmd-splash-accent:${n??t}}`),a.length>0?`<style>${a.join("")}</style>`:""}var Wl=`<style>
290
+ html.dmd-splash-active{overflow:hidden}
291
+ html,body{margin:0}
292
+ :root{--dmd-splash-bg:#f7f7f5;--dmd-splash-surface:#ffffff;--dmd-splash-line:#ddded8;--dmd-splash-ink:#1a1d21;--dmd-splash-muted:#788089;--dmd-splash-bone:#e4e6e3;--dmd-splash-shine:#ffffff;--dmd-splash-accent:#315cf5;--dmd-splash-code:#16181d;--dmd-splash-code-head:#101216;--dmd-splash-code-line:#262b33;--dmd-splash-navh:68px;--dmd-splash-radius:10px;--dmd-splash-radius-sm:6px}
293
+ :root[data-theme=dark]{--dmd-splash-bg:#121417;--dmd-splash-surface:#191d21;--dmd-splash-line:#2b3036;--dmd-splash-ink:#ededef;--dmd-splash-muted:#8b939b;--dmd-splash-bone:#212529;--dmd-splash-shine:#2c333a;--dmd-splash-accent:#5b8cff;--dmd-splash-code:#0d0f12;--dmd-splash-code-head:#08090b;--dmd-splash-code-line:#22262b}
294
+ :root[data-dmd-theme=blueprint]{--dmd-splash-bg:#f2f5f7;--dmd-splash-surface:#fafcfd;--dmd-splash-line:#c6d3da;--dmd-splash-ink:#14212b;--dmd-splash-muted:#6c8494;--dmd-splash-bone:#dde5ea;--dmd-splash-shine:#ffffff;--dmd-splash-accent:#ef5340;--dmd-splash-code:#101b23;--dmd-splash-code-head:#0b141a;--dmd-splash-code-line:#1c2c37;--dmd-splash-navh:60px;--dmd-splash-radius:3px;--dmd-splash-radius-sm:2px}
295
+ :root[data-dmd-theme=blueprint][data-theme=dark]{--dmd-splash-bg:#0f171e;--dmd-splash-surface:#121c24;--dmd-splash-line:#24363f;--dmd-splash-ink:#dbe6ec;--dmd-splash-muted:#7d95a3;--dmd-splash-bone:#182731;--dmd-splash-shine:#2b4350;--dmd-splash-accent:#ff6a55;--dmd-splash-code:#0a1116;--dmd-splash-code-head:#060b0f;--dmd-splash-code-line:#1b2a33}
296
+ :root[data-dmd-theme=terminal]{--dmd-splash-bg:#f3f4f1;--dmd-splash-surface:#fbfcfa;--dmd-splash-line:#c9cdc3;--dmd-splash-ink:#161c17;--dmd-splash-muted:#6f7b70;--dmd-splash-bone:#dfe2db;--dmd-splash-shine:#ffffff;--dmd-splash-accent:#0c7c40;--dmd-splash-code:#0a0e0b;--dmd-splash-code-head:#050706;--dmd-splash-code-line:#131a14;--dmd-splash-navh:54px;--dmd-splash-radius:2px;--dmd-splash-radius-sm:0px}
297
+ :root[data-dmd-theme=terminal][data-theme=dark]{--dmd-splash-bg:#0a0e0c;--dmd-splash-surface:#0e130f;--dmd-splash-line:#26382a;--dmd-splash-ink:#d8e6d8;--dmd-splash-muted:#7a8d7b;--dmd-splash-bone:#151d17;--dmd-splash-shine:#2c4532;--dmd-splash-accent:#39e87f;--dmd-splash-code:#060907;--dmd-splash-code-head:#030504;--dmd-splash-code-line:#1a291e}
298
+ :root[data-dmd-theme=editorial]{--dmd-splash-bg:#faf6ee;--dmd-splash-surface:#fffdf7;--dmd-splash-line:#ded2ba;--dmd-splash-ink:#22201a;--dmd-splash-muted:#857c68;--dmd-splash-bone:#eae1cf;--dmd-splash-shine:#ffffff;--dmd-splash-accent:#a34a33;--dmd-splash-code:#211d15;--dmd-splash-code-head:#191610;--dmd-splash-code-line:#332c1e;--dmd-splash-navh:68px;--dmd-splash-radius:12px;--dmd-splash-radius-sm:8px}
299
+ :root[data-dmd-theme=editorial][data-theme=dark]{--dmd-splash-bg:#171512;--dmd-splash-surface:#1c1915;--dmd-splash-line:#363023;--dmd-splash-ink:#ece7db;--dmd-splash-muted:#948a73;--dmd-splash-bone:#26221b;--dmd-splash-shine:#4a402c;--dmd-splash-accent:#dd805f;--dmd-splash-code:#100e0a;--dmd-splash-code-head:#0a0806;--dmd-splash-code-line:#2a251c}
300
+ #dmd-splash{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;overflow:hidden;background:var(--dmd-splash-bg);color:var(--dmd-splash-ink);font-family:system-ui,ui-sans-serif,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:opacity .45s cubic-bezier(.4,0,.2,1),visibility .45s}
301
+ #dmd-splash.dmd-splash-hidden{opacity:0;visibility:hidden;pointer-events:none}
302
+ .dmd-splash-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:clamp(0.5rem,1.5vw,1.25rem);height:var(--dmd-splash-navh);flex:0 0 var(--dmd-splash-navh);width:100%;box-sizing:border-box;margin:0;padding:0 clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--dmd-splash-line);background:color-mix(in srgb,var(--dmd-splash-surface) 88%,var(--dmd-splash-bg));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
303
+ .dmd-splash-brand{display:flex;align-items:center;gap:0.6rem;min-width:0;flex:0 1 auto}
304
+ .dmd-splash-mark{display:none}
305
+ .dmd-splash-logo{height:28px;width:auto;max-width:min(160px,20vw);object-fit:contain}
306
+ .dmd-splash-logo-dark{display:none}
307
+ :root[data-theme=dark] .dmd-splash-logo-light{display:none}
308
+ :root[data-theme=dark] .dmd-splash-logo-dark{display:block}
309
+ .dmd-splash-name{font-size:1.08rem;font-weight:750;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dmd-splash-ink)}
310
+ .dmd-splash-version{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.75rem;font-weight:500;padding:0.15rem 0.45rem;border:1px solid var(--dmd-splash-line);border-radius:3px;color:var(--dmd-splash-muted);background:transparent;white-space:nowrap}
311
+ .dmd-splash-search{display:flex;align-items:center;gap:0.6rem;flex:1 1 280px;max-width:440px;min-width:0;margin:0;min-height:38px;padding:0.45rem 0.85rem;border:1px solid var(--dmd-splash-line);border-radius:var(--dmd-splash-radius);color:var(--dmd-splash-muted);background:color-mix(in srgb,var(--dmd-splash-surface) 72%,var(--dmd-splash-bg));font-size:0.875rem;box-sizing:border-box}
312
+ .dmd-splash-search svg{width:15px;height:15px;flex:0 0 15px}
313
+ .dmd-splash-search span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
314
+ .dmd-splash-search span.dmd-splash-search-win{display:none}
315
+ :root[data-dmd-os=other] .dmd-splash-search span.dmd-splash-search-mac{display:none}
316
+ :root[data-dmd-os=other] .dmd-splash-search span.dmd-splash-search-win{display:inline}
317
+ .dmd-splash-search kbd{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.7rem;font-weight:600;padding:0.18rem 0.45rem;border:1px solid var(--dmd-splash-line);border-radius:var(--dmd-splash-radius-sm);background:color-mix(in srgb,var(--dmd-splash-surface) 80%,var(--dmd-splash-bg))}
318
+ :root[data-dmd-os=other] .dmd-splash-search kbd::before{content:"Ctrl K"}
319
+ :root:not([data-dmd-os=other]) .dmd-splash-search kbd::before{content:"\u2318K"}
320
+ .dmd-splash-actions{display:flex;align-items:center;gap:0.75rem;flex:0 0 auto}
321
+ .dmd-splash-actions i{display:block;width:36px;height:36px;border:1px solid var(--dmd-splash-line);border-radius:var(--dmd-splash-radius);background:color-mix(in srgb,var(--dmd-splash-bone) 30%,transparent);box-sizing:border-box}
322
+ .dmd-splash-actions .dmd-splash-action-pill{width:105px}
323
+ .dmd-splash-progress{position:absolute;top:0;left:0;right:0;height:2px;width:100%;overflow:hidden;background:color-mix(in srgb,var(--dmd-splash-accent) 18%,transparent);z-index:2}
324
+ .dmd-splash-progress::after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;border-radius:9999px;background:var(--dmd-splash-accent);animation:dmd-splash-progress 1.1s cubic-bezier(.5,0,.25,1) infinite}
325
+ .dmd-splash-body{display:flex;flex:1;min-width:0;max-width:1560px;width:100%;margin:0 auto;padding:0 clamp(0.75rem,2vw,2rem);box-sizing:border-box;overflow:hidden}
326
+ .dmd-splash-nav{width:252px;flex-shrink:0;height:calc(100dvh - var(--dmd-splash-navh));overflow:hidden;padding:1.6rem 1rem 2rem 0;border-right:1px solid var(--dmd-splash-line);box-sizing:border-box}
327
+ .dmd-splash-nav-label{display:block;font-size:0.67rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--dmd-splash-muted);margin:0 0.65rem 0.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
328
+ .dmd-splash-nav-group{display:block;margin-bottom:1.5rem}
329
+ .dmd-splash-nav-item{display:flex;align-items:center;padding:0.45rem 0.75rem;border-radius:var(--dmd-splash-radius);margin:0.15rem 0;box-sizing:border-box}
330
+ .dmd-splash-nav-item .dmd-splash-bone{margin:0}
331
+ .dmd-splash-nav-item.active,.dmd-splash-nav-active{background:color-mix(in srgb,var(--dmd-splash-accent) 14%,transparent);box-shadow:inset 3px 0 0 var(--dmd-splash-accent)}
332
+ .dmd-splash-main-wrapper{display:grid;grid-template-columns:minmax(0,780px) minmax(180px,220px);justify-content:center;align-items:start;flex:1;min-width:0;width:100%;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,4vw,4rem);gap:clamp(2rem,5vw,4.5rem);box-sizing:border-box}
333
+ .dmd-splash-article{width:100%;min-width:0;max-width:780px}
334
+ .dmd-splash-crumb-row{display:flex;align-items:center;gap:0.45rem;margin-bottom:1.5rem;padding-bottom:0.8rem;border-bottom:1px solid var(--dmd-splash-line)}
335
+ .dmd-splash-crumb{display:block;height:9px;border-radius:999px;background:var(--dmd-splash-bone)}
336
+ .dmd-splash-crumb.current{width:64px;background:color-mix(in srgb,var(--dmd-splash-accent) 26%,var(--dmd-splash-bone))}
337
+ .dmd-splash-crumb-sep{display:block;width:8px;height:1px;background:var(--dmd-splash-line)}
338
+ .dmd-splash-doc-title{font-size:clamp(2.45rem,5vw,4.25rem);font-weight:700;letter-spacing:-0.045em;line-height:1.04;margin:0.3rem 0 1.5rem;color:var(--dmd-splash-ink)}
339
+ .dmd-splash-desc{margin:0 0 1.25rem;font-size:1.03rem;line-height:1.8;color:var(--dmd-splash-muted);max-width:62ch}
340
+ .dmd-splash-meta{display:flex;gap:10px;margin:14px 0 24px}
341
+ .dmd-splash-meta .dmd-splash-bone{height:9px;margin:0;border-radius:999px}
342
+ .dmd-splash-h2{display:block;height:24px;border-radius:var(--dmd-splash-radius-sm);background:var(--dmd-splash-bone);margin:2.75rem 0 1rem;overflow:hidden;position:relative}
343
+ .dmd-splash-callout{margin:1.5rem 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--dmd-splash-accent) 22%,var(--dmd-splash-line));border-left:4px solid var(--dmd-splash-accent);border-radius:var(--dmd-splash-radius-sm);background:color-mix(in srgb,var(--dmd-splash-accent) 7%,var(--dmd-splash-surface))}
344
+ .dmd-splash-callout .dmd-splash-bone{margin-bottom:8px;background:color-mix(in srgb,var(--dmd-splash-accent) 10%,var(--dmd-splash-bone))}
345
+ .dmd-splash-callout .dmd-splash-bone:last-child{margin-bottom:0}
346
+ .dmd-splash-code{margin:1.5rem 0;border:1px solid var(--dmd-splash-code-line);border-radius:var(--dmd-splash-radius-sm);overflow:hidden}
347
+ .dmd-splash-code-head{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:var(--dmd-splash-code-head)}
348
+ .dmd-splash-code-head i{display:block;width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,#fff 24%,var(--dmd-splash-code-head))}
349
+ .dmd-splash-code-body{padding:14px 16px;background:var(--dmd-splash-code)}
350
+ .dmd-splash-code-body .dmd-splash-bone{height:9px;margin-bottom:9px;border-radius:4px;background:color-mix(in srgb,#fff 9%,var(--dmd-splash-code))}
351
+ .dmd-splash-code-body .dmd-splash-bone:last-child{margin-bottom:0}
352
+ .dmd-splash-toc{width:220px;flex-shrink:0}
353
+ .dmd-splash-toc-header{display:flex;align-items:center;gap:0.4rem;margin-bottom:0.75rem;color:var(--dmd-splash-muted);text-transform:uppercase;font-size:0.75rem;font-weight:700;letter-spacing:0.05em}
354
+ .dmd-splash-toc-header svg{width:14px;height:14px;flex:0 0 14px}
355
+ .dmd-splash-toc-label{display:inline}
356
+ .dmd-splash-toc-list{border-left:1px solid var(--dmd-splash-line);padding-left:0.5rem}
357
+ .dmd-splash-toc .dmd-splash-bone{height:10px;margin:0.35rem 0}
358
+ .dmd-splash-toc-active{background:color-mix(in srgb,var(--dmd-splash-accent) 30%,var(--dmd-splash-bone));border-left:2px solid var(--dmd-splash-accent);margin-left:-0.55rem!important;padding-left:calc(0.55rem - 2px)}
359
+ .dmd-splash-bone{position:relative;display:block;height:12px;margin:0 0 10px;border-radius:var(--dmd-splash-radius-sm);background:var(--dmd-splash-bone);overflow:hidden}
360
+ .dmd-splash-bone::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--dmd-splash-shine) 75%,transparent) 50%,transparent 80%);transform:translateX(-100%);animation:dmd-splash-shimmer 2.2s cubic-bezier(.4,0,.2,1) infinite}
361
+ .dmd-splash-nav .dmd-splash-bone:nth-of-type(3n+1)::after{animation-delay:.35s}
362
+ .dmd-splash-article .dmd-splash-bone:nth-of-type(3n)::after{animation-delay:.7s}
363
+ .dmd-splash-toc .dmd-splash-bone::after{animation-delay:.5s}
364
+ .dmd-splash-bone.w30{width:30%}.dmd-splash-bone.w40{width:40%}.dmd-splash-bone.w50{width:50%}.dmd-splash-bone.w60{width:60%}.dmd-splash-bone.w70{width:70%}.dmd-splash-bone.w80{width:80%}.dmd-splash-bone.w90{width:90%}
365
+ :root[data-dmd-theme=terminal] .dmd-splash-name,:root[data-dmd-theme=terminal] .dmd-splash-toc-header,:root[data-dmd-theme=terminal] .dmd-splash-nav-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}
366
+ :root[data-dmd-theme=editorial] .dmd-splash-name{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;font-weight:650}
367
+ :root[data-dmd-density=compact]{--dmd-splash-navh:52px}
368
+ :root[data-dmd-density=compact] .dmd-splash-bar{padding:0 clamp(1rem,2.5vw,2.5rem)}
369
+ :root[data-dmd-density=compact] .dmd-splash-body{max-width:100%;width:100%;margin:0;padding:0 clamp(1rem,2.5vw,2.5rem)}
370
+ :root[data-dmd-density=compact] .dmd-splash-nav{width:220px;padding:1.25rem 0.75rem 2rem 0}
371
+ :root[data-dmd-density=compact] .dmd-splash-toc{width:196px}
372
+ :root[data-dmd-density=compact] .dmd-splash-main-wrapper{grid-template-columns:minmax(0,1fr) 196px;justify-content:stretch;width:100%;max-width:none;padding:clamp(1rem,2vw,2rem) clamp(1rem,2.5vw,2.5rem);gap:clamp(1.5rem,2.5vw,2.5rem)}
373
+ :root[data-dmd-density=compact] .dmd-splash-article{width:100%;max-width:100%;margin:0 auto}
374
+ :root[data-dmd-density=compact] .dmd-splash-desc{max-width:none}
375
+ :root[data-dmd-density=compact] .dmd-splash-crumb-row{margin-bottom:1.1rem;padding-bottom:0.6rem}
376
+ :root[data-dmd-density=compact] .dmd-splash-doc-title{margin:0.2rem 0 1rem}
377
+ :root[data-dmd-density=compact] .dmd-splash-h2{margin:2rem 0 0.75rem}
378
+ :root[data-dmd-density=compact] .dmd-splash-callout,:root[data-dmd-density=compact] .dmd-splash-code{margin:1rem 0}
379
+ .dmd-splash-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
380
+ @keyframes dmd-splash-progress{0%{transform:translateX(-110%)}100%{transform:translateX(290%)}}
381
+ @keyframes dmd-splash-shimmer{0%{transform:translateX(-100%);opacity:.65}50%{transform:translateX(100%);opacity:1}100%{transform:translateX(100%);opacity:.65}}
382
+ @media (max-width:1280px){
383
+ .dmd-splash-main-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,3rem)}
384
+ :root[data-dmd-density=compact] .dmd-splash-main-wrapper{padding:clamp(1rem,3vw,2rem) clamp(1rem,3vw,2rem)}
385
+ .dmd-splash-toc{order:-1;width:100%;max-width:780px;border:1px solid var(--dmd-splash-line);border-radius:var(--dmd-splash-radius-sm);background:color-mix(in srgb,var(--dmd-splash-surface) 66%,var(--dmd-splash-bg));padding:12px 14px;box-sizing:border-box}
386
+ :root[data-dmd-density=compact] .dmd-splash-toc{max-width:100%}
387
+ .dmd-splash-toc-header{margin-bottom:10px}
388
+ .dmd-splash-toc-list{display:flex;flex-wrap:wrap;gap:8px 14px;border:0;padding:0}
389
+ .dmd-splash-toc .dmd-splash-bone{margin:0;height:9px}
390
+ .dmd-splash-toc-active{border-radius:999px;padding:0 10px;border-left:0;margin-left:0!important}
280
391
  }
281
- function parseDocConfig(input) {
282
- const result = docConfigSchema.safeParse(input);
283
- if (result.success) return result.data;
284
- throw new Error(`Invalid DocMeDown configuration:
285
- ${formatConfigIssues(result.error)}`);
392
+ @media (max-width:1100px){.dmd-splash-search{flex:0 0 38px;max-width:38px;padding:0;justify-content:center}.dmd-splash-search span,.dmd-splash-search kbd{display:none}}
393
+ @media (max-width:1024px){.dmd-splash-nav{display:none}}
394
+ @media (max-width:960px){.dmd-splash-actions .dmd-splash-action-pill{display:none}}
395
+ @media (max-width:680px){.dmd-splash-bar{gap:10px}.dmd-splash-version{display:none}.dmd-splash-actions i:nth-child(n+3){display:none}.dmd-splash-doc-title{font-size:26px}.dmd-splash-crumb-row{display:none}}
396
+ @media (prefers-reduced-motion:reduce){
397
+ :root:not([data-dmd-motion=full]):not([data-dmd-motion=on]) #dmd-splash{transition:opacity .2s ease,visibility .2s;transform:none!important;animation:none}
398
+ :root:not([data-dmd-motion=full]):not([data-dmd-motion=on]) #dmd-splash *,:root:not([data-dmd-motion=full]):not([data-dmd-motion=on]) #dmd-splash ::before,:root:not([data-dmd-motion=full]):not([data-dmd-motion=on]) #dmd-splash ::after{animation:none!important}
399
+ :root:not([data-dmd-motion=full]):not([data-dmd-motion=on]) .dmd-splash-progress::after{transform:none;width:60%;animation:none}
400
+ :root:not([data-dmd-motion=full]):not([data-dmd-motion=on]) .dmd-splash-bone::after{display:none}
286
401
  }
402
+ :root[data-dmd-motion=reduced] #dmd-splash,:root[data-dmd-motion=off] #dmd-splash{transition:none}
403
+ :root[data-dmd-motion=reduced] .dmd-splash-bone::after,:root[data-dmd-motion=off] .dmd-splash-bone::after{display:none}
404
+ :root[data-dmd-motion=reduced] .dmd-splash-progress::after,:root[data-dmd-motion=off] .dmd-splash-progress::after{animation:none}
405
+ </style>`,Vl=`<script>(function(){try{var h=document.documentElement,l=window.localStorage,m=l&&l.getItem("dmd-color-mode"),f=l&&l.getItem("dmd-theme-family"),n=l&&l.getItem("dmd-theme-density"),mot=l&&l.getItem("dmd-motion");if(m!=="light"&&m!=="dark"&&m!=="auto")m="auto";if(["atlas","blueprint","terminal","editorial"].indexOf(f)<0)f="atlas";if(n!=="comfortable"&&n!=="compact")n="comfortable";if(mot!=="reduced"&&mot!=="off")mot="full";var d=m==="dark"||(m==="auto"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches),v=d?"dark":"light";h.setAttribute("data-theme",v);h.setAttribute("data-dmd-mode",v);h.setAttribute("data-dmd-theme",f);h.setAttribute("data-dmd-density",n);h.setAttribute("data-dmd-motion",mot);h.style.colorScheme=v;var isMac=/^mac/i.test((navigator.userAgentData&&navigator.userAgentData.platform)||navigator.platform||navigator.userAgent||"");h.setAttribute("data-dmd-os",isMac?"mac":"other");h.className+=" ${nn}";window.${ql}=Date.now();window.setTimeout(function(){var s=document.getElementById("${Ar}");if(!s)return;s.className+=" ${oa}";s.setAttribute("aria-hidden","true");h.className=h.className.replace(" ${nn}","");window.setTimeout(function(){s.parentNode&&s.parentNode.removeChild(s)},450)},9000)}catch(e){}})();</script>`;function Zt(r={}){return`${Wl}${Gl(r.accent,r.accentDark)}${Vl}<noscript><style>#${Ar}{display:none!important}html.dmd-splash-active{overflow:auto!important}</style></noscript>`}function Xt({name:r="Documentation",tagline:e,version:t,logo:n,logoDark:a,logoAlt:s,searchPlaceholder:i}={}){let o=r.trim()||"Documentation",c=Ot(o),m=Gs(n),u=Gs(a),h=Ot((s??o).trim()||o),g=m?`<img class="dmd-splash-logo dmd-splash-logo-light" src="${Ot(m)}" alt="${h}" decoding="async" />`+(u?`<img class="dmd-splash-logo dmd-splash-logo-dark" src="${Ot(u)}" alt="${h}" decoding="async" />`:""):'<span class="dmd-splash-mark" aria-hidden="true"><svg viewBox="0 0 32 32" fill="none"><path d="M10 4.5h8.6c.4 0 .8.2 1.1.5l4.3 4.3c.3.3.5.7.5 1.1V25.5a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V6.5a2 2 0 0 1 2-2Z"/><path d="M18.7 4.7v3.6a2 2 0 0 0 2 2h3.6"/><path d="M12 15h8"/><path d="M12 19.5h8"/><path d="M12 24h5"/></svg></span>',b=t?.trim().replace(/^v/i,"").slice(0,24)??"",x=b?`<span class="dmd-splash-version">v${Ot(b)}</span>`:"",v=e?.trim().slice(0,220)??"",y=v?`<p class="dmd-splash-desc">${Ot(v)}</p>`:'<span class="dmd-splash-bone w70"></span>',k=i?.trim()||"Search docs\u2026",w=Ot(k.replace(/Ctrl\+?K/gi,"\u2318K")),A=Ot(k.replace(/⌘K/g,"Ctrl K").replace(/⌘/g,"Ctrl"));return`<div id="${Ar}" role="status" aria-live="polite" aria-busy="true" aria-label="Loading ${c}"><div class="dmd-splash-bar"><div class="dmd-splash-brand">${g}<span class="dmd-splash-name">${c}</span>${x}</div><div class="dmd-splash-search" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg><span class="dmd-splash-search-mac">${w}</span><span class="dmd-splash-search-win">${A}</span><kbd></kbd></div><div class="dmd-splash-actions" aria-hidden="true"><i></i><i></i><i class="dmd-splash-action-pill"></i><i class="dmd-splash-action-pill"></i><i></i></div><span class="dmd-splash-progress" aria-hidden="true"></span></div><div class="dmd-splash-body" aria-hidden="true"><div class="dmd-splash-nav"><span class="dmd-splash-nav-label">Documentation</span><span class="dmd-splash-nav-group"><span class="dmd-splash-nav-item dmd-splash-nav-active"><span class="dmd-splash-bone w70"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w80"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w60"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w80"></span></span></span><span class="dmd-splash-nav-group"><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w50"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w80"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w70"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w60"></span></span></span><span class="dmd-splash-nav-group"><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w40"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w70"></span></span><span class="dmd-splash-nav-item"><span class="dmd-splash-bone w60"></span></span></span></div><div class="dmd-splash-main-wrapper"><div class="dmd-splash-article"><div class="dmd-splash-crumb-row"><span class="dmd-splash-crumb" style="width:44px"></span><span class="dmd-splash-crumb-sep"></span><span class="dmd-splash-crumb current"></span></div><h1 class="dmd-splash-doc-title">${c}</h1>${y}<div class="dmd-splash-meta"><span class="dmd-splash-bone" style="width:72px"></span><span class="dmd-splash-bone" style="width:54px"></span></div><span class="dmd-splash-bone w90"></span><span class="dmd-splash-bone w80"></span><span class="dmd-splash-bone w70"></span><div class="dmd-splash-callout"><span class="dmd-splash-bone w30"></span><span class="dmd-splash-bone w70"></span></div><span class="dmd-splash-h2" style="width:38%"></span><span class="dmd-splash-bone w90"></span><span class="dmd-splash-bone w70"></span><div class="dmd-splash-code"><div class="dmd-splash-code-head"><i></i><i></i><i></i></div><div class="dmd-splash-code-body"><span class="dmd-splash-bone" style="width:45%"></span><span class="dmd-splash-bone" style="width:70%"></span><span class="dmd-splash-bone" style="width:55%"></span><span class="dmd-splash-bone" style="width:62%"></span></div></div></div><div class="dmd-splash-toc"><div class="dmd-splash-toc-header"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="8" x2="21" y1="6" y2="6"/><line x1="8" x2="21" y1="12" y2="12"/><line x1="8" x2="21" y1="18" y2="18"/><line x1="3" x2="3.01" y1="6" y2="6"/><line x1="3" x2="3.01" y1="12" y2="12"/><line x1="3" x2="3.01" y1="18" y2="18"/></svg><span class="dmd-splash-toc-label">On this page</span></div><div class="dmd-splash-toc-list"><span class="dmd-splash-bone dmd-splash-toc-active" style="width:72%"></span><span class="dmd-splash-bone w90"></span><span class="dmd-splash-bone w70"></span><span class="dmd-splash-bone w80"></span><span class="dmd-splash-bone w60"></span></div></div></div></div><span class="dmd-splash-sr">Loading documentation\u2026</span></div>`}var la=2;function Ws(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Vs(r,e,t={},n){let a=`(async()=>{try{const b=Uint8Array.from(atob(document.getElementById("d").textContent.trim()),c=>c.charCodeAt(0)),s=await new Response(new Blob([b]).stream().pipeThrough(new DecompressionStream("gzip"))).text(),e=JSON.parse(s);if(e.version!==${la})throw new Error("Unsupported offline format");window.__DOCMEDOWN_OFFLINE__=true;window.__DOCMEDOWN_DATA__=e.data;window.__DOCMEDOWN_CONFIG__=e.data.manifest.config;const u=URL.createObjectURL(new Blob([e.runtime],{type:"text/javascript"}));window.__DOCMEDOWN_RUNTIME_URL__=u;const j=document.createElement("script");j.src=u;j.onerror=()=>{URL.revokeObjectURL(u);throw new Error("Runtime bootstrap failed")};document.head.appendChild(j)}catch(e){var p=document.getElementById("${Ar}");if(p){p.className+=" ${oa}";p.setAttribute("aria-hidden","true");setTimeout(function(){p.parentNode&&p.parentNode.removeChild(p)},600)}var h=document.documentElement;h.className=h.className.replace(" ${nn}","");document.getElementById("dmd-app").textContent="Could not open this offline documentation copy: "+e.message}})();`,s=Ws(Ft(n)),i=' type="image/svg+xml"';return s.startsWith("data:image/png")||/\.png($|\?)/i.test(s)?i=' type="image/png"':(s.startsWith("data:image/x-icon")||/\.ico($|\?)/i.test(s))&&(i=' type="image/x-icon"'),`<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon"${i} href="${s}"><title>${Ws(e)}</title>${Zt(t)}</head><body>${Xt({name:e,...t})}<div id="dmd-app"></div><script id="d" type="application/octet-stream">${r}</script><script>${a}</script></body></html>`}sn();var Zs=X(require("fs")),Xs=X(require("path"));function Js(r){return r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").replace(/```[\s\S]*?```/g,e=>e.replace(/^```.*$/gm,"").split(`
406
+ `).map(t=>t.trim()?` ${t}`:t).join(`
407
+ `)).replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/[*_>|]/g,"").replace(/<[^>]+>/g," ").replace(/\n{3,}/g,`
287
408
 
288
- // src/runtime/config.ts
289
- var LEGACY_PRESET_FAMILIES = {
290
- indigo: "atlas",
291
- emerald: "atlas",
292
- sunset: "editorial",
293
- violet: "atlas",
294
- rose: "editorial",
295
- slate: "blueprint",
296
- cyberpunk: "terminal"
297
- };
298
- var DEFAULT_CONFIG = {
299
- name: "DocMeDown",
300
- tagline: "The simplest Markdown documenter yet",
301
- description: "Instant documentation site powered by DocMeDown",
302
- version: "1.0.0",
303
- rootDoc: "README.md",
304
- theme: {
305
- family: "atlas",
306
- density: "comfortable",
307
- defaultMode: "auto",
308
- codeTheme: "github"
309
- },
310
- autoIndex: {
311
- enabled: true,
312
- sort: "natural",
313
- defaultCollapsed: false,
314
- exclude: ["node_modules", ".git", ".dmd", "dist", "bin", "package.json", "tsconfig.json"]
315
- },
316
- search: {
317
- enabled: true,
318
- placeholder: "Search documentation...",
319
- maxResults: 10
320
- },
321
- offline: {
322
- embedNestedDocs: true
323
- },
324
- footer: {
325
- copyright: `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} DocMeDown. All rights reserved.`,
326
- showBuiltWith: true
327
- }
328
- };
329
- function normalizeConfig(userConfig = {}) {
330
- const parsedConfig = parseDocConfig(userConfig);
331
- const legacyPreset = parsedConfig.theme?.preset;
332
- const family = parsedConfig.theme?.family || (legacyPreset ? LEGACY_PRESET_FAMILIES[legacyPreset] : DEFAULT_CONFIG.theme?.family);
333
- const { preset: _legacyPreset, ...resolvedTheme } = parsedConfig.theme ?? {};
334
- void _legacyPreset;
335
- const mergedConfig = {
336
- ...DEFAULT_CONFIG,
337
- ...parsedConfig,
338
- theme: {
339
- ...DEFAULT_CONFIG.theme,
340
- ...resolvedTheme,
341
- family,
342
- logo: {
343
- ...DEFAULT_CONFIG.theme?.logo,
344
- ...parsedConfig.theme?.logo
345
- }
346
- },
347
- autoIndex: {
348
- ...DEFAULT_CONFIG.autoIndex,
349
- ...parsedConfig.autoIndex
350
- },
351
- search: {
352
- ...DEFAULT_CONFIG.search,
353
- ...parsedConfig.search
354
- },
355
- offline: {
356
- ...DEFAULT_CONFIG.offline,
357
- ...parsedConfig.offline
358
- },
359
- footer: {
360
- ...DEFAULT_CONFIG.footer,
361
- ...parsedConfig.footer
362
- }
363
- };
364
- return normalizedDocConfigSchema.parse(mergedConfig);
365
- }
366
- function parseDocConfigJson(json, source) {
367
- try {
368
- return parseDocConfig(JSON.parse(json));
369
- } catch (error) {
370
- throw new Error(`${source}: ${error instanceof Error ? error.message : String(error)}`);
371
- }
372
- }
409
+ `).trim()}function Xl(r){return r.url?r.url.replace(/\/+$/,""):null}function ca(r,e){let t=e==="README"?"":`${e}/`,n=Xl(r);return n?`${n}/${t}`:`/${t}`}function da(r){if(!r)return"";let e=r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"");for(let t of e.split(/\n{2,}/)){let n=t.trim();if(!n||n.startsWith("#")||n.startsWith("---")||n.startsWith("<"))continue;let a=Js(n).replace(/\s+/g," ");return a.length>200?`${a.slice(0,200).trimEnd()}\u2026`:a}return""}function Jl(r,e){let t=[`# ${e.name||"Documentation"}`];(e.description||e.tagline)&&t.push("",`> ${e.description||e.tagline}`),t.push("","## Docs","");for(let n of r.docs){if(n.frontmatter?.hidden===!0)continue;let a=n.frontmatter?.description||da(n.content);t.push(`- [${n.title}](${ca(e,n.slug)})${a?`: ${a}`:""}`)}return`${t.join(`
410
+ `)}
411
+ `}function Yl(r,e){let t=[`# ${e.name||"Documentation"}`];(e.description||e.tagline)&&t.push(`> ${e.description||e.tagline}`);for(let n of r.docs){if(n.frontmatter?.hidden===!0)continue;let a=(n.content||"").replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").trim();t.push(`## ${n.title}
373
412
 
374
- // src/runtime/offline-export.ts
375
- var OFFLINE_FORMAT_VERSION = 1;
376
- function escapeHtml(value) {
377
- return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
378
- }
379
- function createCompressedOfflineHtml(encodedGzip, title) {
380
- const bootstrap = `(async()=>{try{const b=Uint8Array.from(atob(document.getElementById("d").textContent.trim()),c=>c.charCodeAt(0)),s=await new Response(new Blob([b]).stream().pipeThrough(new DecompressionStream("gzip"))).text(),e=JSON.parse(s);if(e.version!==${OFFLINE_FORMAT_VERSION})throw new Error("Unsupported offline format");window.__DOCMEDOWN_OFFLINE__=true;window.__DOCMEDOWN_DATA__=e.data;window.__DOCMEDOWN_CONFIG__=e.data.manifest.config;const u=URL.createObjectURL(new Blob([e.runtime],{type:"text/javascript"}));window.__DOCMEDOWN_RUNTIME_URL__=u;const j=document.createElement("script");j.src=u;j.onerror=()=>{URL.revokeObjectURL(u);throw new Error("Runtime bootstrap failed")};document.head.appendChild(j)}catch(e){document.getElementById("dmd-app").textContent="Could not open this offline documentation copy: "+e.message}})();`;
381
- return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="data:,"><title>${escapeHtml(title)}</title></head><body><div id="dmd-app">Opening offline documentation\u2026</div><script id="d" type="application/octet-stream">${encodedGzip}</script><script>${bootstrap}</script></body></html>`;
382
- }
413
+ URL: ${ca(e,n.slug)}
383
414
 
384
- // src/cli/utils/scanner.ts
385
- var import_node_fs = __toESM(require("fs"));
386
- var import_node_path = __toESM(require("path"));
387
- var import_gray_matter = __toESM(require("gray-matter"));
415
+ ${a}`)}return`${t.join(`
388
416
 
389
- // src/runtime/loader/auto-indexer.ts
390
- function formatTitleFromFilename(name) {
391
- let clean = name.replace(/\.(md|mdx|html)$/i, "");
392
- clean = clean.replace(/^\d+[-_.]/, "");
393
- if (clean.toLowerCase() === "readme" || clean.toLowerCase() === "index") {
394
- return "Overview";
395
- }
396
- return clean.split(/[-_]+/).map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
397
- }
398
- function buildSidebarTree(files, frontmatters = {}, manualSidebar) {
399
- if (manualSidebar && manualSidebar.length > 0) {
400
- return mapManualSidebar(manualSidebar);
401
- }
402
- const rootNodes = [];
403
- const categoryMap = /* @__PURE__ */ new Map();
404
- for (const filePath of files) {
405
- const cleanPath = filePath.replace(/^\.?\//, "");
406
- const parts = cleanPath.split("/");
407
- const fm = frontmatters[cleanPath] || {};
408
- if (fm.hidden) continue;
409
- if (parts.length === 1) {
410
- const filename = parts[0];
411
- const slug = filename.replace(/\.(md|mdx)$/i, "");
412
- const isOverview = slug.toLowerCase() === "readme" || slug.toLowerCase() === "index";
413
- rootNodes.push({
414
- id: slug,
415
- title: fm.title || fm.sidebar_label || (isOverview ? "Overview" : formatTitleFromFilename(filename)),
416
- slug: isOverview ? "README" : slug,
417
- path: cleanPath,
418
- icon: fm.icon,
419
- badge: fm.badge,
420
- badgeType: fm.badge_type,
421
- order: fm.order ?? fm.sidebar_position ?? (isOverview ? -999 : 0),
422
- isCategory: false
423
- });
424
- } else {
425
- let currentCategory = "";
426
- let parentNodeList = rootNodes;
427
- for (let i = 0; i < parts.length - 1; i++) {
428
- const catSegment = parts[i];
429
- currentCategory = currentCategory ? `${currentCategory}/${catSegment}` : catSegment;
430
- let catNode = categoryMap.get(currentCategory);
431
- if (!catNode) {
432
- catNode = {
433
- id: currentCategory,
434
- title: formatTitleFromFilename(catSegment),
435
- order: 10,
436
- isCategory: true,
437
- collapsed: false,
438
- children: []
439
- };
440
- categoryMap.set(currentCategory, catNode);
441
- parentNodeList.push(catNode);
442
- }
443
- parentNodeList = catNode.children;
444
- }
445
- const filename = parts[parts.length - 1];
446
- const slug = cleanPath.replace(/\.(md|mdx)$/i, "");
447
- const isOverview = filename.replace(/\.(md|mdx)$/i, "").toLowerCase() === "readme" || filename.replace(/\.(md|mdx)$/i, "").toLowerCase() === "index";
448
- parentNodeList.push({
449
- id: slug,
450
- title: fm.title || fm.sidebar_label || (isOverview ? "Overview" : formatTitleFromFilename(filename)),
451
- slug,
452
- path: cleanPath,
453
- icon: fm.icon,
454
- badge: fm.badge,
455
- badgeType: fm.badge_type,
456
- order: fm.order ?? fm.sidebar_position ?? (isOverview ? -100 : 0),
457
- isCategory: false
458
- });
459
- }
460
- }
461
- sortTreeNodes(rootNodes);
462
- return rootNodes;
463
- }
464
- function sortTreeNodes(nodes) {
465
- nodes.sort((a, b) => {
466
- if (a.order !== b.order) {
467
- return a.order - b.order;
468
- }
469
- if (a.slug === "README") return -1;
470
- if (b.slug === "README") return 1;
471
- return a.title.localeCompare(b.title);
472
- });
473
- for (const node of nodes) {
474
- if (node.children && node.children.length > 0) {
475
- sortTreeNodes(node.children);
476
- }
477
- }
478
- }
479
- function mapManualSidebar(items) {
480
- return items.map((item, idx) => {
481
- const isCategory = Boolean(item.children && item.children.length > 0);
482
- const slug = item.slug || (item.path ? item.path.replace(/\.(md|mdx)$/i, "") : `item-${idx}`);
483
- return {
484
- id: slug,
485
- title: item.title || formatTitleFromFilename(slug),
486
- slug: isCategory ? void 0 : slug,
487
- path: item.path,
488
- icon: item.icon,
489
- badge: item.badge,
490
- badgeType: item.badgeType,
491
- order: idx,
492
- isCategory,
493
- collapsed: item.collapsed ?? false,
494
- children: item.children ? mapManualSidebar(item.children) : void 0
495
- };
496
- });
497
- }
417
+ ---
498
418
 
499
- // src/runtime/markdown/inline-text.ts
500
- var NAMED_HTML_ENTITIES = {
501
- amp: "&",
502
- lt: "<",
503
- gt: ">",
504
- quot: '"',
505
- apos: "'",
506
- nbsp: " ",
507
- copy: "\xA9",
508
- reg: "\xAE",
509
- trade: "\u2122",
510
- middot: "\xB7",
511
- hellip: "\u2026",
512
- mdash: "\u2014",
513
- ndash: "\u2013",
514
- bull: "\u2022",
515
- deg: "\xB0",
516
- times: "\xD7",
517
- plusmn: "\xB1",
518
- laquo: "\xAB",
519
- raquo: "\xBB",
520
- sect: "\xA7",
521
- para: "\xB6"
522
- };
523
- function codePointToChar(code) {
524
- return Number.isInteger(code) && code > 0 && code <= 1114111 ? String.fromCodePoint(code) : "";
525
- }
526
- function decodeHtmlEntities(value) {
527
- return value.replace(/&#x([0-9a-f]+);/gi, (_match, hex) => codePointToChar(parseInt(hex, 16))).replace(/&#([0-9]+);/g, (_match, dec) => codePointToChar(Number(dec))).replace(/&([a-z][a-z0-9]*);/gi, (match, name) => NAMED_HTML_ENTITIES[name.toLowerCase()] ?? match);
528
- }
529
- var IMAGE_PATTERN = /!\[([^\]]*)\]\([^)]*\)/g;
530
- var LINK_PATTERN = /\[([^\]]+)\]\([^)]*\)/g;
531
- var CODE_PATTERN = /`([^`]+)`/g;
532
- var BOLD_PATTERN = /\*\*([^*\n]+)\*\*/g;
533
- var UNDERSCORE_BOLD_PATTERN = /__([^_\n]+)__/g;
534
- var ITALIC_PATTERN = /\*([^*\n]+)\*/g;
535
- var STRIKETHROUGH_PATTERN = /~~([^~\n]+)~~/g;
536
- function inlineHeadingToPlainText(raw) {
537
- return decodeHtmlEntities(
538
- raw.replace(IMAGE_PATTERN, "$1").replace(LINK_PATTERN, "$1").replace(CODE_PATTERN, "$1").replace(BOLD_PATTERN, "$1").replace(UNDERSCORE_BOLD_PATTERN, "$1").replace(ITALIC_PATTERN, "$1").replace(STRIKETHROUGH_PATTERN, "$1")
539
- ).replace(/\s+/g, " ").trim();
540
- }
419
+ `)}
420
+ `}function Kl(r,e){let t=(e.name||"documentation").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)||"documentation",n=e.description||e.tagline||`Reference documentation for ${e.name}.`,a=["---",`name: ${t}`,`description: ${n.replace(/\n/g," ")}`,"---","",`# ${e.name||"Documentation"}`,"","This is a DocMeDown-generated documentation corpus. Use it to answer questions about the documented project.","","## How to use this skill","","1. Consult the document list below and read the most relevant documents in full.","2. Prefer quoting the document's own headings when citing.","3. If information is missing, say so instead of guessing.","","## Documents",""];for(let s of r.docs){if(s.frontmatter?.hidden===!0)continue;let i=s.frontmatter?.description||da(s.content);a.push(`- [${s.title}](${ca(e,s.slug)})${i?`: ${i}`:""}`)}return`${a.join(`
421
+ `)}
422
+ `}function Ql(r,e){let t={format:"docmedown-okf",version:1,generatedAt:r.generatedAt,site:{name:e.name,description:e.description||e.tagline||"",url:e.url??null,generator:"docmedown"},documents:r.docs.filter(n=>n.frontmatter?.hidden!==!0).map(n=>({slug:n.slug,path:n.path,title:n.title,category:n.category??null,description:n.frontmatter?.description??da(n.content)??"",headings:n.headings.map(a=>({level:a.level,text:a.text,id:a.id})),readingTimeMinutes:n.readingTimeMinutes??null,lastModified:n.lastModified??null,plainText:Js(n.content||"")}))};return`${JSON.stringify(t,null,2)}
423
+ `}function Ys(r,e,t){let n=[["llms.txt",Jl(e,t)],["llms-full.txt",Yl(e,t)],["SKILL.md",Kl(e,t)],["okf.json",Ql(e,t)]],a=[];for(let[s,i]of n){let o=Xs.default.join(r,s);Zs.default.writeFileSync(o,i,"utf-8"),a.push(o)}return a}var qt=X(require("fs")),Ut=X(require("path")),Hr=X(require("chalk"));Sr();function pa(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Yt=pa();function n0(r){Yt=r}var a0=/[&<>"']/,ec=new RegExp(a0.source,"g"),s0=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,tc=new RegExp(s0.source,"g"),rc={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ks=r=>rc[r];function Ge(r,e){if(e){if(a0.test(r))return r.replace(ec,Ks)}else if(s0.test(r))return r.replace(tc,Ks);return r}var nc=/(^|[^\[])\^/g;function le(r,e){let t=typeof r=="string"?r:r.source;e=e||"";let n={replace:(a,s)=>{let i=typeof s=="string"?s:s.source;return i=i.replace(nc,"$1"),t=t.replace(a,i),n},getRegex:()=>new RegExp(t,e)};return n}function Qs(r){try{r=encodeURI(r).replace(/%25/g,"%")}catch{return null}return r}var Dr={exec:()=>null};function e0(r,e){let t=r.replace(/\|/g,(s,i,o)=>{let c=!1,m=i;for(;--m>=0&&o[m]==="\\";)c=!c;return c?"|":" |"}),n=t.split(/ \|/),a=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;a<n.length;a++)n[a]=n[a].trim().replace(/\\\|/g,"|");return n}function Tr(r,e,t){let n=r.length;if(n===0)return"";let a=0;for(;a<n;){let s=r.charAt(n-a-1);if(s===e&&!t)a++;else if(s!==e&&t)a++;else break}return r.slice(0,n-a)}function ac(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<r.length;n++)if(r[n]==="\\")n++;else if(r[n]===e[0])t++;else if(r[n]===e[1]&&(t--,t<0))return n;return-1}function t0(r,e,t,n){let a=e.href,s=e.title?Ge(e.title):null,i=r[1].replace(/\\([\[\]])/g,"$1");if(r[0].charAt(0)!=="!"){n.state.inLink=!0;let o={type:"link",raw:t,href:a,title:s,text:i,tokens:n.inlineTokens(i)};return n.state.inLink=!1,o}return{type:"image",raw:t,href:a,title:s,text:Ge(i)}}function sc(r,e){let t=r.match(/^(\s+)(?:```)/);if(t===null)return e;let n=t[1];return e.split(`
424
+ `).map(a=>{let s=a.match(/^\s+/);if(s===null)return a;let[i]=s;return i.length>=n.length?a.slice(n.length):a}).join(`
425
+ `)}var lr=class{options;rules;lexer;constructor(e){this.options=e||Yt}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Tr(n,`
426
+ `)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],a=sc(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:a}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(/#$/.test(n)){let a=Tr(n,"#");(this.options.pedantic||!a||/ $/.test(a))&&(n=a.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Tr(t[0],`
427
+ `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=Tr(t[0],`
428
+ `).split(`
429
+ `),a="",s="",i=[];for(;n.length>0;){let o=!1,c=[],m;for(m=0;m<n.length;m++)if(/^ {0,3}>/.test(n[m]))c.push(n[m]),o=!0;else if(!o)c.push(n[m]);else break;n=n.slice(m);let u=c.join(`
430
+ `),h=u.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
431
+ $1`).replace(/^ {0,3}>[ \t]?/gm,"");a=a?`${a}
432
+ ${u}`:u,s=s?`${s}
433
+ ${h}`:h;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,i,!0),this.lexer.state.top=g,n.length===0)break;let b=i[i.length-1];if(b?.type==="code")break;if(b?.type==="blockquote"){let x=b,v=x.raw+`
434
+ `+n.join(`
435
+ `),y=this.blockquote(v);i[i.length-1]=y,a=a.substring(0,a.length-x.raw.length)+y.raw,s=s.substring(0,s.length-x.text.length)+y.text;break}else if(b?.type==="list"){let x=b,v=x.raw+`
436
+ `+n.join(`
437
+ `),y=this.list(v);i[i.length-1]=y,a=a.substring(0,a.length-b.raw.length)+y.raw,s=s.substring(0,s.length-x.raw.length)+y.raw,n=v.substring(i[i.length-1].raw.length).split(`
438
+ `);continue}}return{type:"blockquote",raw:a,tokens:i,text:s}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),a=n.length>1,s={type:"list",raw:"",ordered:a,start:a?+n.slice(0,-1):"",loose:!1,items:[]};n=a?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=a?n:"[*+-]");let i=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),o=!1;for(;e;){let c=!1,m="",u="";if(!(t=i.exec(e))||this.rules.block.hr.test(e))break;m=t[0],e=e.substring(m.length);let h=t[2].split(`
439
+ `,1)[0].replace(/^\t+/,k=>" ".repeat(3*k.length)),g=e.split(`
440
+ `,1)[0],b=!h.trim(),x=0;if(this.options.pedantic?(x=2,u=h.trimStart()):b?x=t[1].length+1:(x=t[2].search(/[^ ]/),x=x>4?1:x,u=h.slice(x),x+=t[1].length),b&&/^[ \t]*$/.test(g)&&(m+=g+`
441
+ `,e=e.substring(g.length+1),c=!0),!c){let k=new RegExp(`^ {0,${Math.min(3,x-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),w=new RegExp(`^ {0,${Math.min(3,x-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),A=new RegExp(`^ {0,${Math.min(3,x-1)}}(?:\`\`\`|~~~)`),$=new RegExp(`^ {0,${Math.min(3,x-1)}}#`),D=new RegExp(`^ {0,${Math.min(3,x-1)}}<(?:[a-z].*>|!--)`,"i");for(;e;){let M=e.split(`
442
+ `,1)[0],E;if(g=M,this.options.pedantic?(g=g.replace(/^ {1,4}(?=( {4})*[^ ])/g," "),E=g):E=g.replace(/\t/g," "),A.test(g)||$.test(g)||D.test(g)||k.test(g)||w.test(g))break;if(E.search(/[^ ]/)>=x||!g.trim())u+=`
443
+ `+E.slice(x);else{if(b||h.replace(/\t/g," ").search(/[^ ]/)>=4||A.test(h)||$.test(h)||w.test(h))break;u+=`
444
+ `+g}!b&&!g.trim()&&(b=!0),m+=M+`
445
+ `,e=e.substring(M.length+1),h=E.slice(x)}}s.loose||(o?s.loose=!0:/\n[ \t]*\n[ \t]*$/.test(m)&&(o=!0));let v=null,y;this.options.gfm&&(v=/^\[[ xX]\] /.exec(u),v&&(y=v[0]!=="[ ] ",u=u.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:m,task:!!v,checked:y,loose:!1,text:u,tokens:[]}),s.raw+=m}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let c=0;c<s.items.length;c++)if(this.lexer.state.top=!1,s.items[c].tokens=this.lexer.blockTokens(s.items[c].text,[]),!s.loose){let m=s.items[c].tokens.filter(h=>h.type==="space"),u=m.length>0&&m.some(h=>/\n.*\n/.test(h.raw));s.loose=u}if(s.loose)for(let c=0;c<s.items.length;c++)s.items[c].loose=!0;return s}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(/\s+/g," "),a=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:a,title:s}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let n=e0(t[1]),a=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(`
446
+ `):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===a.length){for(let o of a)/^ *-+: *$/.test(o)?i.align.push("right"):/^ *:-+: *$/.test(o)?i.align.push("center"):/^ *:-+ *$/.test(o)?i.align.push("left"):i.align.push(null);for(let o=0;o<n.length;o++)i.header.push({text:n[o],tokens:this.lexer.inline(n[o]),header:!0,align:i.align[o]});for(let o of s)i.rows.push(e0(o,i.header.length).map((c,m)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:i.align[m]})));return i}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`
447
+ `?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Ge(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;let i=Tr(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{let i=ac(t[2],"()");if(i>-1){let c=(t[0].indexOf("!")===0?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let a=t[2],s="";if(this.options.pedantic){let i=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);i&&(a=i[1],s=i[3])}else s=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^</.test(a)&&(this.options.pedantic&&!/>$/.test(n)?a=a.slice(1):a=a.slice(1,-1)),t0(t,{href:a&&a.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let a=(n[2]||n[1]).replace(/\s+/g," "),s=t[a.toLowerCase()];if(!s){let i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return t0(n,s,n[0],this.lexer)}}emStrong(e,t,n=""){let a=this.rules.inline.emStrongLDelim.exec(e);if(!a||a[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(a[1]||a[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let i=[...a[0]].length-1,o,c,m=i,u=0,h=a[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,t=t.slice(-1*e.length+i);(a=h.exec(t))!=null;){if(o=a[1]||a[2]||a[3]||a[4]||a[5]||a[6],!o)continue;if(c=[...o].length,a[3]||a[4]){m+=c;continue}else if((a[5]||a[6])&&i%3&&!((i+c)%3)){u+=c;continue}if(m-=c,m>0)continue;c=Math.min(c,c+m+u);let g=[...a[0]][0].length,b=e.slice(0,i+a.index+g+c);if(Math.min(i,c)%2){let v=b.slice(1,-1);return{type:"em",raw:b,text:v,tokens:this.lexer.inlineTokens(v)}}let x=b.slice(2,-2);return{type:"strong",raw:b,text:x,tokens:this.lexer.inlineTokens(x)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(/\n/g," "),a=/[^ ]/.test(n),s=/^ /.test(n)&&/ $/.test(n);return a&&s&&(n=n.substring(1,n.length-1)),n=Ge(n,!0),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,a;return t[2]==="@"?(n=Ge(t[1]),a="mailto:"+n):(n=Ge(t[1]),a=n),{type:"link",raw:t[0],text:n,href:a,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,a;if(t[2]==="@")n=Ge(t[0]),a="mailto:"+n;else{let s;do s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(s!==t[0]);n=Ge(t[0]),t[1]==="www."?a="http://"+t[0]:a=t[0]}return{type:"link",raw:t[0],text:n,href:a,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n;return this.lexer.state.inRawBlock?n=t[0]:n=Ge(t[0]),{type:"text",raw:t[0],text:n}}}},ic=/^(?:[ \t]*(?:\n|$))+/,oc=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,lc=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$r=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,cc=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,i0=/(?:[*+-]|\d{1,9}[.)])/,o0=le(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,i0).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),ha=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,dc=/^[^\n]+/,fa=/(?!\s*\])(?:\\.|[^\[\]\\])+/,uc=le(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",fa).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),mc=le(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,i0).getRegex(),cn="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ga=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,pc=le("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",ga).replace("tag",cn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),l0=le(ha).replace("hr",$r).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cn).getRegex(),hc=le(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",l0).getRegex(),va={blockquote:hc,code:oc,def:uc,fences:lc,heading:cc,hr:$r,html:pc,lheading:o0,list:mc,newline:ic,paragraph:l0,table:Dr,text:dc},r0=le("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$r).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cn).getRegex(),fc={...va,table:r0,paragraph:le(ha).replace("hr",$r).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",r0).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cn).getRegex()},gc={...va,html:le(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ga).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Dr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:le(ha).replace("hr",$r).replace("heading",` *#{1,6} *[^
448
+ ]`).replace("lheading",o0).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},c0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,vc=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,d0=/^( {2,}|\\)\n(?!\s*$)/,bc=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Er="\\p{P}\\p{S}",yc=le(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Er).getRegex(),wc=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,xc=le(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Er).getRegex(),kc=le("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Er).getRegex(),Sc=le("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Er).getRegex(),Ac=le(/\\([punct])/,"gu").replace(/punct/g,Er).getRegex(),Tc=le(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Cc=le(ga).replace("(?:-->|$)","-->").getRegex(),Dc=le("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Cc).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ln=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Mc=le(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ln).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),u0=le(/^!?\[(label)\]\[(ref)\]/).replace("label",ln).replace("ref",fa).getRegex(),m0=le(/^!?\[(ref)\](?:\[\])?/).replace("ref",fa).getRegex(),$c=le("reflink|nolink(?!\\()","g").replace("reflink",u0).replace("nolink",m0).getRegex(),ba={_backpedal:Dr,anyPunctuation:Ac,autolink:Tc,blockSkip:wc,br:d0,code:vc,del:Dr,emStrongLDelim:xc,emStrongRDelimAst:kc,emStrongRDelimUnd:Sc,escape:c0,link:Mc,nolink:m0,punctuation:yc,reflink:u0,reflinkSearch:$c,tag:Dc,text:bc,url:Dr},Ec={...ba,link:le(/^!?\[(label)\]\((.*?)\)/).replace("label",ln).getRegex(),reflink:le(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ln).getRegex()},ua={...ba,escape:le(c0).replace("])","~|])").getRegex(),url:le(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},zc={...ua,br:le(d0).replace("{2,}","*").getRegex(),text:le(ua.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},on={normal:va,gfm:fc,pedantic:gc},Cr={normal:ba,gfm:ua,breaks:zc,pedantic:Ec},et=class r{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Yt,this.options.tokenizer=this.options.tokenizer||new lr,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={block:on.normal,inline:Cr.normal};this.options.pedantic?(t.block=on.pedantic,t.inline=Cr.pedantic):this.options.gfm&&(t.block=on.gfm,this.options.breaks?t.inline=Cr.breaks:t.inline=Cr.gfm),this.tokenizer.rules=t}static get rules(){return{block:on,inline:Cr}}static lex(e,t){return new r(t).lex(e)}static lexInline(e,t){return new r(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,`
449
+ `),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.options.pedantic&&(e=e.replace(/\t/g," ").replace(/^ +$/gm,""));let a,s,i;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(o=>(a=o.call({lexer:this},e,t))?(e=e.substring(a.raw.length),t.push(a),!0):!1))){if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length),a.raw.length===1&&t.length>0?t[t.length-1].raw+=`
450
+ `:t.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length),s=t[t.length-1],s&&(s.type==="paragraph"||s.type==="text")?(s.raw+=`
451
+ `+a.raw,s.text+=`
452
+ `+a.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(a);continue}if(a=this.tokenizer.fences(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.heading(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.hr(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.blockquote(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.list(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.html(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.def(e)){e=e.substring(a.raw.length),s=t[t.length-1],s&&(s.type==="paragraph"||s.type==="text")?(s.raw+=`
453
+ `+a.raw,s.text+=`
454
+ `+a.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title});continue}if(a=this.tokenizer.table(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.lheading(e)){e=e.substring(a.raw.length),t.push(a);continue}if(i=e,this.options.extensions&&this.options.extensions.startBlock){let o=1/0,c=e.slice(1),m;this.options.extensions.startBlock.forEach(u=>{m=u.call({lexer:this},c),typeof m=="number"&&m>=0&&(o=Math.min(o,m))}),o<1/0&&o>=0&&(i=e.substring(0,o+1))}if(this.state.top&&(a=this.tokenizer.paragraph(i))){s=t[t.length-1],n&&s?.type==="paragraph"?(s.raw+=`
455
+ `+a.raw,s.text+=`
456
+ `+a.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(a),n=i.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length),s=t[t.length-1],s&&s.type==="text"?(s.raw+=`
457
+ `+a.raw,s.text+=`
458
+ `+a.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(a);continue}if(e){let o="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,a,s,i=e,o,c,m;if(this.tokens.links){let u=Object.keys(this.tokens.links);if(u.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)u.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,o.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(m=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(u=>(n=u.call({lexer:this},e,t))?(e=e.substring(n.raw.length),t.push(n),!0):!1))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),a=t[t.length-1],a&&n.type==="text"&&a.type==="text"?(a.raw+=n.raw,a.text+=n.text):t.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),a=t[t.length-1],a&&n.type==="text"&&a.type==="text"?(a.raw+=n.raw,a.text+=n.text):t.push(n);continue}if(n=this.tokenizer.emStrong(e,i,m)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),t.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),t.push(n);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline){let u=1/0,h=e.slice(1),g;this.options.extensions.startInline.forEach(b=>{g=b.call({lexer:this},h),typeof g=="number"&&g>=0&&(u=Math.min(u,g))}),u<1/0&&u>=0&&(s=e.substring(0,u+1))}if(n=this.tokenizer.inlineText(s)){e=e.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(m=n.raw.slice(-1)),c=!0,a=t[t.length-1],a&&a.type==="text"?(a.raw+=n.raw,a.text+=n.text):t.push(n);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}},cr=class{options;parser;constructor(e){this.options=e||Yt}space(e){return""}code({text:e,lang:t,escaped:n}){let a=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+`
459
+ `;return a?'<pre><code class="language-'+Ge(a)+'">'+(n?s:Ge(s,!0))+`</code></pre>
460
+ `:"<pre><code>"+(n?s:Ge(s,!0))+`</code></pre>
461
+ `}blockquote({tokens:e}){return`<blockquote>
462
+ ${this.parser.parse(e)}</blockquote>
463
+ `}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
464
+ `}hr(e){return`<hr>
465
+ `}list(e){let t=e.ordered,n=e.start,a="";for(let o=0;o<e.items.length;o++){let c=e.items[o];a+=this.listitem(c)}let s=t?"ol":"ul",i=t&&n!==1?' start="'+n+'"':"";return"<"+s+i+`>
466
+ `+a+"</"+s+`>
467
+ `}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>
468
+ `}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
469
+ `}table(e){let t="",n="";for(let s=0;s<e.header.length;s++)n+=this.tablecell(e.header[s]);t+=this.tablerow({text:n});let a="";for(let s=0;s<e.rows.length;s++){let i=e.rows[s];n="";for(let o=0;o<i.length;o++)n+=this.tablecell(i[o]);a+=this.tablerow({text:n})}return a&&(a=`<tbody>${a}</tbody>`),`<table>
470
+ <thead>
471
+ `+t+`</thead>
472
+ `+a+`</table>
473
+ `}tablerow({text:e}){return`<tr>
474
+ ${e}</tr>
475
+ `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
476
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let a=this.parser.parseInline(n),s=Qs(e);if(s===null)return a;e=s;let i='<a href="'+e+'"';return t&&(i+=' title="'+t+'"'),i+=">"+a+"</a>",i}image({href:e,title:t,text:n}){let a=Qs(e);if(a===null)return n;e=a;let s=`<img src="${e}" alt="${n}"`;return t&&(s+=` title="${t}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}},Mr=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},tt=class r{options;renderer;textRenderer;constructor(e){this.options=e||Yt,this.options.renderer=this.options.renderer||new cr,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Mr}static parse(e,t){return new r(t).parse(e)}static parseInline(e,t){return new r(t).parseInline(e)}parse(e,t=!0){let n="";for(let a=0;a<e.length;a++){let s=e[a];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){let o=s,c=this.options.extensions.renderers[o.type].call({parser:this},o);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(o.type)){n+=c||"";continue}}let i=s;switch(i.type){case"space":{n+=this.renderer.space(i);continue}case"hr":{n+=this.renderer.hr(i);continue}case"heading":{n+=this.renderer.heading(i);continue}case"code":{n+=this.renderer.code(i);continue}case"table":{n+=this.renderer.table(i);continue}case"blockquote":{n+=this.renderer.blockquote(i);continue}case"list":{n+=this.renderer.list(i);continue}case"html":{n+=this.renderer.html(i);continue}case"paragraph":{n+=this.renderer.paragraph(i);continue}case"text":{let o=i,c=this.renderer.text(o);for(;a+1<e.length&&e[a+1].type==="text";)o=e[++a],c+=`
477
+ `+this.renderer.text(o);t?n+=this.renderer.paragraph({type:"paragraph",raw:c,text:c,tokens:[{type:"text",raw:c,text:c}]}):n+=c;continue}default:{let o='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return n}parseInline(e,t){t=t||this.renderer;let n="";for(let a=0;a<e.length;a++){let s=e[a];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){let o=this.options.extensions.renderers[s.type].call({parser:this},s);if(o!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=o||"";continue}}let i=s;switch(i.type){case"escape":{n+=t.text(i);break}case"html":{n+=t.html(i);break}case"link":{n+=t.link(i);break}case"image":{n+=t.image(i);break}case"strong":{n+=t.strong(i);break}case"em":{n+=t.em(i);break}case"codespan":{n+=t.codespan(i);break}case"br":{n+=t.br(i);break}case"del":{n+=t.del(i);break}case"text":{n+=t.text(i);break}default:{let o='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return n}},or=class{options;block;constructor(e){this.options=e||Yt}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?et.lex:et.lexInline}provideParser(){return this.block?tt.parse:tt.parseInline}},ma=class{defaults=pa();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=tt;Renderer=cr;TextRenderer=Mr;Lexer=et;Tokenizer=lr;Hooks=or;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let a of e)switch(n=n.concat(t.call(this,a)),a.type){case"table":{let s=a;for(let i of s.header)n=n.concat(this.walkTokens(i.tokens,t));for(let i of s.rows)for(let o of i)n=n.concat(this.walkTokens(o.tokens,t));break}case"list":{let s=a;n=n.concat(this.walkTokens(s.items,t));break}default:{let s=a;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(i=>{let o=s[i].flat(1/0);n=n.concat(this.walkTokens(o,t))}):s.tokens&&(n=n.concat(this.walkTokens(s.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let a={...n};if(a.async=this.defaults.async||a.async||!1,n.extensions&&(n.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let i=t.renderers[s.name];i?t.renderers[s.name]=function(...o){let c=s.renderer.apply(this,o);return c===!1&&(c=i.apply(this,o)),c}:t.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=t[s.level];i?i.unshift(s.tokenizer):t[s.level]=[s.tokenizer],s.start&&(s.level==="block"?t.startBlock?t.startBlock.push(s.start):t.startBlock=[s.start]:s.level==="inline"&&(t.startInline?t.startInline.push(s.start):t.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(t.childTokens[s.name]=s.childTokens)}),a.extensions=t),n.renderer){let s=this.defaults.renderer||new cr(this.defaults);for(let i in n.renderer){if(!(i in s))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let o=i,c=n.renderer[o],m=s[o];s[o]=(...u)=>{let h=c.apply(s,u);return h===!1&&(h=m.apply(s,u)),h||""}}a.renderer=s}if(n.tokenizer){let s=this.defaults.tokenizer||new lr(this.defaults);for(let i in n.tokenizer){if(!(i in s))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let o=i,c=n.tokenizer[o],m=s[o];s[o]=(...u)=>{let h=c.apply(s,u);return h===!1&&(h=m.apply(s,u)),h}}a.tokenizer=s}if(n.hooks){let s=this.defaults.hooks||new or;for(let i in n.hooks){if(!(i in s))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let o=i,c=n.hooks[o],m=s[o];or.passThroughHooks.has(i)?s[o]=u=>{if(this.defaults.async)return Promise.resolve(c.call(s,u)).then(g=>m.call(s,g));let h=c.call(s,u);return m.call(s,h)}:s[o]=(...u)=>{let h=c.apply(s,u);return h===!1&&(h=m.apply(s,u)),h}}a.hooks=s}if(n.walkTokens){let s=this.defaults.walkTokens,i=n.walkTokens;a.walkTokens=function(o){let c=[];return c.push(i.call(this,o)),s&&(c=c.concat(s.call(this,o))),c}}this.defaults={...this.defaults,...a}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return et.lex(e,t??this.defaults)}parser(e,t){return tt.parse(e,t??this.defaults)}parseMarkdown(e){return(n,a)=>{let s={...a},i={...this.defaults,...s},o=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&s.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=e);let c=i.hooks?i.hooks.provideLexer():e?et.lex:et.lexInline,m=i.hooks?i.hooks.provideParser():e?tt.parse:tt.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then(u=>c(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>m(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(o);try{i.hooks&&(n=i.hooks.preprocess(n));let u=c(n,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let h=m(u,i);return i.hooks&&(h=i.hooks.postprocess(h)),h}catch(u){return o(u)}}}onError(e,t){return n=>{if(n.message+=`
478
+ Please report this to https://github.com/markedjs/marked.`,e){let a="<p>An error occurred:</p><pre>"+Ge(n.message+"",!0)+"</pre>";return t?Promise.resolve(a):a}if(t)return Promise.reject(n);throw n}}},Jt=new ma;function Q(r,e){return Jt.parse(r,e)}Q.options=Q.setOptions=function(r){return Jt.setOptions(r),Q.defaults=Jt.defaults,n0(Q.defaults),Q};Q.getDefaults=pa;Q.defaults=Yt;Q.use=function(...r){return Jt.use(...r),Q.defaults=Jt.defaults,n0(Q.defaults),Q};Q.walkTokens=function(r,e){return Jt.walkTokens(r,e)};Q.parseInline=Jt.parseInline;Q.Parser=tt;Q.parser=tt.parse;Q.Renderer=cr;Q.TextRenderer=Mr;Q.Lexer=et;Q.lexer=et.lex;Q.Tokenizer=lr;Q.Hooks=or;Q.parse=Q;var rm=Q.options,nm=Q.setOptions,am=Q.use,sm=Q.walkTokens,im=Q.parseInline;var om=tt.parse,lm=et.lex;var Rc={note:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg>',tip:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"/></svg>',important:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>',warning:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>',caution:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>'};function p0(r){let e=r.split(`
479
+ `),t=[],n=[],a=null,s=()=>{n.length&&t.push(Fc(n.join(`
480
+ `))),n=[]};for(let i of e){let o=/^ {0,3}(`{3,}|~{3,})/.exec(i);a?(t.push(i),o&&o[1][0]===a.char&&o[1].length>=a.len&&/^ {0,3}[`~]+\s*$/.test(i)&&(a=null)):o?(s(),a={char:o[1][0],len:o[1].length},t.push(i)):n.push(i)}return s(),t.join(`
481
+ `)}function Fc(r){return r.replace(/^((?:>[^\n]*\n?)+)/gm,e=>{let t=e.split(`
482
+ `),n=t[0],a=/^>\s*\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\](?:\s+(.*))?$/i.exec(n.trim());if(!a)return e;let s=a[1].toLowerCase(),o=a[2]?.trim()||s.toUpperCase(),m=t.slice(1).map(u=>u.replace(/^>\s?/,"")).join(`
483
+ `).trim();return`
484
+ <div class="dmd-callout dmd-callout-${s}">
485
+ <div class="dmd-callout-header">
486
+ <span class="dmd-callout-icon">${Rc[s]}</span>
487
+ <span class="dmd-callout-title">${o}</span>
488
+ </div>
489
+ <div class="dmd-callout-body">
541
490
 
542
- // src/cli/utils/scanner.ts
543
- function extractHeadings(content) {
544
- const headings = [];
545
- const lines = content.split("\n");
546
- for (const line of lines) {
547
- const match = line.match(/^(#{1,4})\s+(.+)$/);
548
- if (match) {
549
- const level = match[1].length;
550
- const rawHeading = match[2].trim();
551
- const text = inlineHeadingToPlainText(rawHeading);
552
- const id = rawHeading.replace(/[#*`_]/g, "").toLowerCase().replace(/[^\w\s-]/g, "").trim().replace(/[\s_-]+/g, "-");
553
- headings.push({ level, text, id });
554
- }
555
- }
556
- return headings;
557
- }
558
- function scanDirectory(dir, baseDir = dir, excludeList = ["node_modules", ".git", ".dmd", "dist", "bin"], stopAtNestedDocsRoots = true) {
559
- const results = [];
560
- if (!import_node_fs.default.existsSync(dir)) return results;
561
- const entries = import_node_fs.default.readdirSync(dir, { withFileTypes: true });
562
- for (const entry of entries) {
563
- if (excludeList.includes(entry.name) || entry.name.startsWith(".")) {
564
- continue;
565
- }
566
- const fullPath = import_node_path.default.join(dir, entry.name);
567
- const relPath = import_node_path.default.relative(baseDir, fullPath).replace(/\\/g, "/");
568
- if (entry.isDirectory()) {
569
- const isNestedDocsRoot = stopAtNestedDocsRoots && fullPath !== baseDir && import_node_fs.default.existsSync(import_node_path.default.join(fullPath, "docs.json"));
570
- if (!isNestedDocsRoot) {
571
- results.push(...scanDirectory(fullPath, baseDir, excludeList, stopAtNestedDocsRoots));
572
- }
573
- } else if (entry.isFile() && /\.(md|mdx)$/i.test(entry.name)) {
574
- results.push(relPath);
575
- }
576
- }
577
- return results;
578
- }
579
- function generateManifest(docDir, config) {
580
- const files = scanDirectory(docDir);
581
- const docItems = [];
582
- const frontmatters = {};
583
- for (const relFile of files) {
584
- const fullPath = import_node_path.default.join(docDir, relFile);
585
- const raw = import_node_fs.default.readFileSync(fullPath, "utf-8");
586
- const { data: fm, content } = (0, import_gray_matter.default)(raw);
587
- const cleanSlug = relFile.replace(/\.(md|mdx)$/i, "");
588
- const isOverview = cleanSlug.toLowerCase() === "readme" || cleanSlug.toLowerCase() === "index";
589
- const slug = isOverview ? "README" : cleanSlug;
590
- const title = fm.title || fm.sidebar_label || formatTitleFromFilename(import_node_path.default.basename(relFile));
591
- frontmatters[relFile] = fm;
592
- const headings = extractHeadings(content);
593
- const words = content.trim().split(/\s+/).length;
594
- const readingTimeMinutes = Math.max(1, Math.ceil(words / 200));
595
- docItems.push({
596
- slug,
597
- path: relFile,
598
- title,
599
- category: relFile.includes("/") ? relFile.substring(0, relFile.lastIndexOf("/")) : void 0,
600
- frontmatter: fm,
601
- headings,
602
- content,
603
- readingTimeMinutes,
604
- lastModified: import_node_fs.default.statSync(fullPath).mtime.toISOString()
605
- });
606
- }
607
- const tree = buildSidebarTree(files, frontmatters, config.sidebar);
608
- return {
609
- version: "1.0.0",
610
- generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
611
- config,
612
- docs: docItems,
613
- tree
614
- };
615
- }
491
+ ${m}
616
492
 
617
- // src/cli/commands/build.ts
618
- var DEFAULT_OFFLINE_OUTPUT_DIRECTORY = ".dist";
619
- function getBuildOutputPaths(targetDir, offlineOutDir) {
620
- return {
621
- onlineDir: targetDir,
622
- offlineDir: offlineOutDir ? import_node_path2.default.resolve(process.cwd(), offlineOutDir) : import_node_path2.default.join(targetDir, DEFAULT_OFFLINE_OUTPUT_DIRECTORY)
623
- };
624
- }
625
- function encodeCompressedOfflineEnvelope(envelope) {
626
- return (0, import_node_zlib.gzipSync)(Buffer.from(JSON.stringify(envelope), "utf-8"), { level: 9 }).toString("base64");
627
- }
628
- function bundleCustomComponents(componentsPath) {
629
- if (!import_node_fs2.default.existsSync(componentsPath)) return void 0;
630
- try {
631
- const result = (0, import_esbuild.buildSync)({
632
- entryPoints: [componentsPath],
633
- bundle: true,
634
- format: "esm",
635
- platform: "browser",
636
- target: "es2022",
637
- write: false,
638
- minify: true,
639
- legalComments: "none"
640
- });
641
- const bundledSource = result.outputFiles[0]?.text;
642
- if (!bundledSource) {
643
- throw new Error("esbuild did not produce an output module.");
644
- }
645
- return bundledSource;
646
- } catch (error) {
647
- throw new Error(
648
- `Could not bundle custom components from ${componentsPath}: ${error instanceof Error ? error.message : String(error)}`
649
- );
650
- }
651
- }
652
- var GENERATED_DOC_OUTPUTS = ["_manifest.json", "_docs.js", "docmedown.iife.js"];
653
- function findNestedDocumentationRoots(targetDir) {
654
- const roots = [];
655
- function visit(directory) {
656
- if (!import_node_fs2.default.existsSync(directory)) return;
657
- for (const entry of import_node_fs2.default.readdirSync(directory, { withFileTypes: true })) {
658
- if (!entry.isDirectory() || entry.name.startsWith(".") || ["node_modules", ".git", "dist", "bin"].includes(entry.name)) {
659
- continue;
660
- }
661
- const fullPath = import_node_path2.default.join(directory, entry.name);
662
- if (import_node_fs2.default.existsSync(import_node_path2.default.join(fullPath, "docs.json"))) {
663
- roots.push(fullPath);
664
- visit(fullPath);
665
- } else {
666
- visit(fullPath);
667
- }
668
- }
669
- }
670
- visit(targetDir);
671
- return roots;
672
- }
673
- function collectNestedOfflineSites(targetDir) {
674
- const sites = {};
675
- for (const nestedRoot of findNestedDocumentationRoots(targetDir)) {
676
- const key = import_node_path2.default.relative(targetDir, nestedRoot).replace(/\\/g, "/");
677
- const nestedConfigPath = import_node_path2.default.join(nestedRoot, "docs.json");
678
- let nestedConfig = normalizeConfig();
679
- if (import_node_fs2.default.existsSync(nestedConfigPath)) {
680
- nestedConfig = normalizeConfig(parseDocConfigJson(import_node_fs2.default.readFileSync(nestedConfigPath, "utf-8"), nestedConfigPath));
681
- }
682
- const nestedDocs = {};
683
- for (const file of scanDirectory(nestedRoot)) {
684
- const raw = import_node_fs2.default.readFileSync(import_node_path2.default.join(nestedRoot, file), "utf-8");
685
- const slug = file.replace(/\.(md|mdx)$/i, "");
686
- const cleanSlug = slug.toLowerCase() === "readme" || slug.toLowerCase() === "index" ? "README" : slug;
687
- nestedDocs[cleanSlug] = raw;
688
- nestedDocs[file] = raw;
689
- }
690
- sites[key] = {
691
- name: nestedConfig.name || key,
692
- manifest: generateManifest(nestedRoot, nestedConfig),
693
- docs: nestedDocs,
694
- componentsSource: bundleCustomComponents(import_node_path2.default.join(nestedRoot, ".dmd", "components.js"))
695
- };
696
- }
697
- return sites;
698
- }
699
- function shouldWatchDocumentationSource(rootDir, changedPath) {
700
- const relativePath = import_node_path2.default.relative(rootDir, changedPath).replace(/\\/g, "/");
701
- const firstSegment = relativePath.split("/")[0];
702
- const isCustomComponentModule = /(^|\/)\.dmd\/(components|index)\.js$/i.test(relativePath);
703
- return Boolean(relativePath) && !relativePath.startsWith("..") && (!relativePath.startsWith(".") || isCustomComponentModule) && !GENERATED_DOC_OUTPUTS.includes(relativePath) && firstSegment !== "node_modules" && firstSegment !== "dist";
704
- }
705
- async function buildCommand(targetDirArg = "./docs", options = {}) {
706
- const targetDir = import_node_path2.default.resolve(process.cwd(), targetDirArg);
707
- const { onlineDir, offlineDir } = getBuildOutputPaths(targetDir, options.outDir);
708
- const buildOfflineBundle = options.singleFile !== false;
709
- console.log(import_chalk.default.bold.magenta("\n\u26A1 DocMeDown Build\n"));
710
- if (!import_node_fs2.default.existsSync(targetDir)) {
711
- console.error(import_chalk.default.red(`\u2716 Directory not found: ${targetDir}`));
712
- process.exit(1);
713
- }
714
- if (!import_node_fs2.default.existsSync(onlineDir)) {
715
- import_node_fs2.default.mkdirSync(onlineDir, { recursive: true });
716
- }
717
- import_node_fs2.default.writeFileSync(import_node_path2.default.join(onlineDir, ".nojekyll"), "", "utf-8");
718
- if (buildOfflineBundle && !import_node_fs2.default.existsSync(offlineDir)) {
719
- import_node_fs2.default.mkdirSync(offlineDir, { recursive: true });
720
- }
721
- let config = normalizeConfig();
722
- const configPath = import_node_path2.default.join(targetDir, "docs.json");
723
- if (import_node_fs2.default.existsSync(configPath)) {
724
- try {
725
- config = normalizeConfig(parseDocConfigJson(import_node_fs2.default.readFileSync(configPath, "utf-8"), configPath));
726
- } catch (error) {
727
- throw new Error(`Could not validate ${configPath}: ${error instanceof Error ? error.message : String(error)}`);
728
- }
729
- }
730
- console.log(import_chalk.default.cyan(" Indexing documentation pages..."));
731
- const manifest = generateManifest(targetDir, config);
732
- const manifestPath = import_node_path2.default.join(onlineDir, "_manifest.json");
733
- import_node_fs2.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), "utf-8");
734
- console.log(import_chalk.default.green(` \u2714 Generated _manifest.json (${manifest.docs.length} pages indexed)`));
735
- const docsMap = {};
736
- const files = scanDirectory(targetDir);
737
- for (const file of files) {
738
- const full = import_node_path2.default.join(targetDir, file);
739
- const raw = import_node_fs2.default.readFileSync(full, "utf-8");
740
- const slug = file.replace(/\.(md|mdx)$/i, "");
741
- const cleanSlug = slug.toLowerCase() === "readme" || slug.toLowerCase() === "index" ? "README" : slug;
742
- docsMap[cleanSlug] = raw;
743
- docsMap[file] = raw;
744
- }
745
- const componentsPath = import_node_path2.default.join(targetDir, ".dmd", "components.js");
746
- const componentsSource = bundleCustomComponents(componentsPath);
747
- const docsJsContent = `window.__DOCMEDOWN_DATA__ = ${JSON.stringify({ manifest, docs: docsMap, componentsSource }, null, 2)};
748
- `;
749
- const docsJsPath = import_node_path2.default.join(onlineDir, "_docs.js");
750
- import_node_fs2.default.writeFileSync(docsJsPath, docsJsContent, "utf-8");
751
- console.log(import_chalk.default.green(` \u2714 Generated _docs.js for offline file:/// double-click usage`));
752
- if (buildOfflineBundle) {
753
- console.log(import_chalk.default.cyan("\n Compiling standalone single-file offline index.html..."));
754
- const candidates2 = [
755
- import_node_path2.default.resolve(__dirname, "docmedown.iife.js"),
756
- import_node_path2.default.resolve(__dirname, "../dist/docmedown.iife.js"),
757
- import_node_path2.default.resolve(__dirname, "../docmedown.iife.js")
758
- ];
759
- const distIifePath2 = candidates2.find((p) => import_node_fs2.default.existsSync(p));
760
- let bundleJs = "";
761
- if (distIifePath2) {
762
- bundleJs = import_node_fs2.default.readFileSync(distIifePath2, "utf-8");
763
- } else {
764
- console.warn(import_chalk.default.yellow(" \u26A0 Local runtime bundle not found, linking CDN script."));
765
- }
766
- const embedNestedDocs = config.offline?.embedNestedDocs !== false;
767
- const nestedSites = embedNestedDocs && options.buildNested !== false ? collectNestedOfflineSites(targetDir) : void 0;
768
- const nestedCount = nestedSites ? Object.keys(nestedSites).length : 0;
769
- if (nestedCount > 0) {
770
- console.log(
771
- import_chalk.default.green(
772
- ` \u2714 Embedded ${nestedCount} nested documentation site${nestedCount === 1 ? "" : "s"} into the offline bundle`
773
- )
774
- );
775
- }
776
- const envelope = {
777
- version: OFFLINE_FORMAT_VERSION,
778
- data: {
779
- manifest,
780
- docs: docsMap,
781
- componentsSource,
782
- ...nestedSites && nestedCount > 0 ? { nestedSites } : {}
783
- },
784
- runtime: bundleJs
785
- };
786
- const encodedEnvelope = encodeCompressedOfflineEnvelope(envelope);
787
- const singleFileHtml = createCompressedOfflineHtml(encodedEnvelope, config.name || "Documentation");
788
- const singleFilePath = import_node_path2.default.join(offlineDir, "index.html");
789
- import_node_fs2.default.writeFileSync(singleFilePath, singleFileHtml, "utf-8");
790
- console.log(import_chalk.default.bold.green(` \u2714 Built self-contained offline bundle: ${singleFilePath}`));
791
- console.log(
792
- import_chalk.default.dim(
793
- ` Compressed ${Buffer.byteLength(JSON.stringify(envelope), "utf-8").toLocaleString()} bytes to ${Buffer.byteLength(singleFileHtml, "utf-8").toLocaleString()} bytes.`
794
- )
795
- );
796
- console.log(import_chalk.default.dim(` You can now double-click index.html to view offline without any server!
797
- `));
798
- }
799
- const candidates = [
800
- import_node_path2.default.resolve(__dirname, "docmedown.iife.js"),
801
- import_node_path2.default.resolve(__dirname, "../dist/docmedown.iife.js"),
802
- import_node_path2.default.resolve(__dirname, "../docmedown.iife.js")
803
- ];
804
- const distIifePath = candidates.find((p) => import_node_fs2.default.existsSync(p));
805
- const targetBundlePath = import_node_path2.default.join(onlineDir, "docmedown.iife.js");
806
- if (distIifePath) {
807
- import_node_fs2.default.copyFileSync(distIifePath, targetBundlePath);
808
- console.log(import_chalk.default.green(` \u2714 Updated serveable runtime: ${targetBundlePath}`));
809
- }
810
- if (options.buildNested !== false) {
811
- const nestedRoots = findNestedDocumentationRoots(targetDir);
812
- for (const nestedRoot of nestedRoots) {
813
- console.log(import_chalk.default.cyan(`
814
- Building nested documentation site: ${import_node_path2.default.relative(targetDir, nestedRoot)}...`));
815
- await buildCommand(nestedRoot, { buildNested: false });
816
- }
817
- }
818
- console.log(import_chalk.default.bold.green("\u2728 Build completed successfully!\n"));
819
- }
820
- async function watchBuildCommand(targetDirArg = "./docs", options = {}) {
821
- const targetDir = import_node_path2.default.resolve(process.cwd(), targetDirArg);
822
- await buildCommand(targetDir, { ...options, watch: false });
823
- console.log(import_chalk.default.dim(` Watching source files in: ${targetDir}`));
824
- console.log(import_chalk.default.dim(" Source changes rebuild serveable files and .dist/index.html. Press Ctrl+C to stop.\n"));
825
- const watcher = import_chokidar.default.watch(targetDir, {
826
- ignored: [
827
- "**/node_modules/**",
828
- "**/.git/**",
829
- "**/dist/**",
830
- "**/.dist/**",
831
- "**/_manifest.json",
832
- "**/_docs.js",
833
- "**/docmedown.iife.js"
834
- ],
835
- ignoreInitial: true
836
- });
837
- let rebuildTimeout = null;
838
- watcher.on("all", (_event, changedPath) => {
839
- if (!shouldWatchDocumentationSource(targetDir, changedPath)) return;
840
- if (rebuildTimeout) clearTimeout(rebuildTimeout);
841
- rebuildTimeout = setTimeout(async () => {
842
- const relativePath = import_node_path2.default.relative(targetDir, changedPath);
843
- console.log(import_chalk.default.cyan(`[DocMeDown] Changed: ${relativePath} -> Rebuilding documentation...`));
844
- try {
845
- await buildCommand(targetDir, { ...options, watch: false });
846
- } catch (err) {
847
- console.error(import_chalk.default.red(`[DocMeDown] Rebuild failed: ${err.message}`));
848
- }
849
- }, 100);
850
- });
851
- return new Promise(() => void 0);
852
- }
493
+ </div>
494
+ </div>
495
+ `})}var lt=X(h0());Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(r){r.languages.typescript=r.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),r.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete r.languages.typescript.parameter,delete r.languages.typescript["literal-property"];var e=r.languages.extend("typescript",{});delete e["class-name"],r.languages.typescript["class-name"].inside=e,r.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e}}}}),r.languages.ts=r.languages.typescript})(Prism);(function(r){var e=r.util.clone(r.languages.javascript),t=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,n=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function s(c,m){return c=c.replace(/<S>/g,function(){return t}).replace(/<BRACES>/g,function(){return n}).replace(/<SPREAD>/g,function(){return a}),RegExp(c,m)}a=s(a).source,r.languages.jsx=r.languages.extend("markup",e),r.languages.jsx.tag.pattern=s(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),r.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,r.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,r.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,r.languages.jsx.tag.inside.comment=e.comment,r.languages.insertBefore("inside","attr-name",{spread:{pattern:s(/<SPREAD>/.source),inside:r.languages.jsx}},r.languages.jsx.tag),r.languages.insertBefore("inside","special-attr",{script:{pattern:s(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:r.languages.jsx}}},r.languages.jsx.tag);var i=function(c){return c?typeof c=="string"?c:typeof c.content=="string"?c.content:c.content.map(i).join(""):""},o=function(c){for(var m=[],u=0;u<c.length;u++){var h=c[u],g=!1;if(typeof h!="string"&&(h.type==="tag"&&h.content[0]&&h.content[0].type==="tag"?h.content[0].content[0].content==="</"?m.length>0&&m[m.length-1].tagName===i(h.content[0].content[1])&&m.pop():h.content[h.content.length-1].content==="/>"||m.push({tagName:i(h.content[0].content[1]),openedBraces:0}):m.length>0&&h.type==="punctuation"&&h.content==="{"?m[m.length-1].openedBraces++:m.length>0&&m[m.length-1].openedBraces>0&&h.type==="punctuation"&&h.content==="}"?m[m.length-1].openedBraces--:g=!0),(g||typeof h=="string")&&m.length>0&&m[m.length-1].openedBraces===0){var b=i(h);u<c.length-1&&(typeof c[u+1]=="string"||c[u+1].type==="plain-text")&&(b+=i(c[u+1]),c.splice(u+1,1)),u>0&&(typeof c[u-1]=="string"||c[u-1].type==="plain-text")&&(b=i(c[u-1])+b,c.splice(u-1,1),u--),c[u]=new r.Token("plain-text",b,null,b)}h.content&&typeof h.content!="string"&&o(h.content)}};r.hooks.add("after-tokenize",function(c){c.language!=="jsx"&&c.language!=="tsx"||o(c.tokens)})})(Prism);(function(r){var e=r.util.clone(r.languages.typescript);r.languages.tsx=r.languages.extend("jsx",e),delete r.languages.tsx.parameter,delete r.languages.tsx["literal-property"];var t=r.languages.tsx.tag;t.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0})(Prism);(function(r){var e="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",t={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:t,environment:{pattern:RegExp("\\$"+e),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+e),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};r.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+e),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:t}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+e),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},t.inside=r.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],s=n.variable[1].inside,i=0;i<a.length;i++)s[a[i]]=r.languages.bash[a[i]];r.languages.sh=r.languages.bash,r.languages.shell=r.languages.bash})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(r){var e=/[*&][^\s[\]{},]+/,t=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,n="(?:"+t.source+"(?:[ ]+"+e.source+")?|"+e.source+"(?:[ ]+"+t.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),s=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(o,c){c=(c||"").replace(/m/g,"")+"m";var m=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return n}).replace(/<<value>>/g,function(){return o});return RegExp(m,c)}r.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return n})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return n}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+s+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(s),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:t,important:e,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},r.languages.yml=r.languages.yaml})(Prism);(function(r){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+e.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css;var t=r.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))})(Prism);(function(r){var e=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function t(u){return u=u.replace(/<inner>/g,function(){return e}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+u+")")}var n=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return n}),s=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;r.languages.markdown=r.languages.extend("markup",{}),r.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:r.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+s+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+s+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:r.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+s+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(n),alias:"important",inside:r.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:t(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:t(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(u){["url","bold","italic","strike","code-snippet"].forEach(function(h){u!==h&&(r.languages.markdown[u].inside.content.inside[h]=r.languages.markdown[h])})}),r.hooks.add("after-tokenize",function(u){if(u.language!=="markdown"&&u.language!=="md")return;function h(g){if(!(!g||typeof g=="string"))for(var b=0,x=g.length;b<x;b++){var v=g[b];if(v.type!=="code"){h(v.content);continue}var y=v.content[1],k=v.content[3];if(y&&k&&y.type==="code-language"&&k.type==="code-block"&&typeof y.content=="string"){var w=y.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");w=(/[a-z][\w-]*/i.exec(w)||[""])[0].toLowerCase();var A="language-"+w;k.alias?typeof k.alias=="string"?k.alias=[k.alias,A]:k.alias.push(A):k.alias=[A]}}}h(u.tokens)}),r.hooks.add("wrap",function(u){if(u.type==="code-block"){for(var h="",g=0,b=u.classes.length;g<b;g++){var x=u.classes[g],v=/language-(.+)/.exec(x);if(v){h=v[1];break}}var y=r.languages[h];if(y)u.content=r.highlight(m(u.content),y,h);else if(h&&h!=="none"&&r.plugins.autoloader){var k="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);u.attributes.id=k,r.plugins.autoloader.loadLanguages(h,function(){var w=document.getElementById(k);w&&(w.innerHTML=r.highlight(w.textContent,r.languages[h],h))})}}});var i=RegExp(r.languages.markup.tag.pattern.source,"gi"),o={amp:"&",lt:"<",gt:">",quot:'"'},c=String.fromCodePoint||String.fromCharCode;function m(u){var h=u.replace(i,"");return h=h.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(g,b){if(b=b.toLowerCase(),b[0]==="#"){var x;return b[1]==="x"?x=parseInt(b.slice(2),16):x=Number(b.slice(1)),c(x)}else{var v=o[b];return v||g}}),h}r.languages.md=r.languages.markdown})(Prism);Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(r){r.type==="entity"&&(r.attributes.title=r.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]};var s={};s[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},Prism.languages.insertBefore("markup","cdata",s)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(r,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+r+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python;Prism.languages.py=Prism.languages.python;function wt(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function f0(r){let e=new TextEncoder().encode(r),t="";return e.forEach(n=>{t+=String.fromCharCode(n)}),btoa(t)}var gm=Promise.resolve();var Ic='<svg class="dmd-table-caption-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><path d="M3 9h18"/><path d="M3 15h18"/><path d="M9 3v18"/><path d="M15 3v18"/></svg>',_c='<svg class="copy-icon" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>',Nc='<svg class="check-icon" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg>',Bc='<svg class="dmd-table-copy-chevron" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>',jc=[{id:"markdown",label:"Markdown",badge:"MD",description:"For documents"},{id:"html",label:"HTML",badge:"&lt;&gt;",description:"For web pages"},{id:"csv",label:"CSV",badge:"CSV",description:"For spreadsheets"}];function g0(r){return r?` data-align="${r}"`:""}function mn(r){let{header:e,rows:t,caption:n}=r,a=e?.length?`<thead><tr>${e.map(m=>`<th${g0(m.align)}>${m.html}</th>`).join("")}</tr></thead>`:"",s=`<tbody>${t.map(m=>`<tr>${m.map(u=>`<td${g0(u.align)}>${u.html}</td>`).join("")}</tr>`).join("")}</tbody>`,i=jc.map(m=>`<button type="button" class="dmd-table-copy-item" role="menuitem" tabindex="-1" data-dmd-table-copy="${m.id}" title="Copy as ${m.label} (${m.description.toLowerCase()})"><span class="dmd-table-copy-format">${m.badge}</span><span class="dmd-table-copy-text"><span class="dmd-table-copy-name">${m.label}</span><span class="dmd-table-copy-description">${m.description}</span></span></button>`).join(""),o=Math.max(e?.length??0,...t.map(m=>m.length),0),c=`${t.length} ${t.length===1?"row":"rows"} \xB7 ${o} ${o===1?"column":"columns"}`;return`
496
+ <div class="dmd-table-block" data-dmd-table>
497
+ <div class="dmd-table-toolbar">
498
+ <span class="dmd-table-caption">${Ic}${n?`<span class="dmd-table-caption-text">${wt(n)}</span>`:""}<span class="dmd-table-dimensions">${c}</span></span>
499
+ <div class="dmd-table-copy">
500
+ <button type="button" class="dmd-table-copy-btn" data-dmd-table-toggle aria-haspopup="menu" aria-expanded="false" title="Copy table (Markdown, HTML, CSV)">${_c}${Nc}<span class="dmd-table-copy-btn-text">Copy</span><span class="dmd-table-copy-label dmd-sr-only">Copy table</span>${Bc}</button>
501
+ <div class="dmd-table-copy-menu" role="menu" aria-label="Copy table as" hidden>${i}</div>
502
+ <span class="dmd-sr-only" data-dmd-table-status role="status" aria-live="polite"></span>
503
+ </div>
504
+ </div>
505
+ <div class="dmd-table-wrapper">
506
+ <table class="dmd-table">
507
+ ${a}
508
+ ${s}
509
+ </table>
510
+ </div>
511
+ </div>
512
+ `}var Lc={comma:",",semicolon:";",tab:" ",pipe:"|"};function v0(r,e){if(!r)return e;let t=Lc[r.toLowerCase()];return t||(r==="\\t"?" ":r.length===1?r:e)}function Pc(r){let e=r.split(/\r?\n/).find(a=>a.trim()!=="")??"",t=",",n=0;for(let a of[",",";"," ","|"]){let s=e.split(a).length-1;s>n&&(t=a,n=s)}return t}function Hc(r,e=","){let t=[],n=[],a="",s=!1,i=!1,o=()=>{n.push(a),a=""},c=()=>{o(),(n.some(m=>m.trim()!=="")||n.length>1)&&t.push(n),n=[],i=!1};for(let m=0;m<r.length;m++){let u=r[m];if(s){u==='"'?r[m+1]==='"'?(a+='"',m++):s=!1:a+=u;continue}u==='"'&&a===""?(s=!0,i=!0):u===e?(o(),i=!0):u===`
513
+ `||u==="\r"?(u==="\r"&&r[m+1]===`
514
+ `&&m++,c()):(a+=u,i=!0)}return(i||a!==""||n.length>0)&&c(),t}function un(r,e){let t=new RegExp(`\\b${e}=(?:"([^"]*)"|'([^']*)')`).exec(r);return t?t[1]??t[2]:new RegExp(`\\b${e}=([^\\s"']+)`).exec(r)?.[1]}var qc=/^[-+]?(?:\d{1,3}(?:[,_]\d{3})+|\d+)?(?:\.\d+)?%?$/;function Uc(r){let e=r.map(t=>t.trim()).filter(t=>t!=="");return e.length>0&&e.every(t=>qc.test(t)&&/\d/.test(t))}function b0(r,e,t,n){let a=un(e,"delimiter"),s=t==="tsv"?v0(a," "):a?v0(a,","):Pc(r),i=Hc(r,s),o=un(e,"header")?.toLowerCase()!=="false",c=un(e,"markdown")?.toLowerCase()==="true",m=un(e,"title");if(i.length===0)return mn({header:null,rows:[],caption:m});let u=Math.max(...i.map(y=>y.length)),h=i.map(y=>[...y,...Array(u-y.length).fill("")]),g=o?h[0]??null:null,b=o?h.slice(1):h,x=Array.from({length:u},(y,k)=>Uc(b.map(w=>w[k]))?"right":null),v=y=>c?n(y):wt(y);return mn({header:g?g.map((y,k)=>({html:v(y),align:x[k]})):null,rows:b.map(y=>y.map((k,w)=>({html:v(k),align:x[w]}))),caption:m})}lt.default.languages.svelte={script:{pattern:/(<script\b[^>]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,greedy:!0,inside:lt.default.languages.javascript},style:{pattern:/(<style\b[^>]*>)[\s\S]*?(?=<\/style>)/i,lookbehind:!0,greedy:!0,inside:lt.default.languages.css},comment:/<!--[\s\S]*?-->/,"svelte-directive":{pattern:/<\/?svelte:[\w-]+(?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?\/?>(?=\s|$)/i,greedy:!0,inside:lt.default.languages.markup},tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s+(?:[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?))*\s*\/?>/,greedy:!0,inside:lt.default.languages.markup},interpolation:{pattern:/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,greedy:!0,inside:lt.default.languages.javascript}};function x0(r){return`<div class="dmd-diagram-host" data-dmd-diagram="${f0(r)}"></div>`}var Gc={js:"javascript",ts:"typescript",py:"python",sh:"bash",shell:"bash",zsh:"bash",yml:"yaml",md:"markdown",rs:"rust",golang:"go",kt:"kotlin",rb:"ruby",cs:"csharp","c++":"cpp","c#":"csharp",gql:"graphql"},fe={ts:"#3178c6",tsx:"#3178c6",js:"#f7df1e",jsx:"#f7df1e",mjs:"#f7df1e",cjs:"#f7df1e",css:"#a855f7",scss:"#a855f7",less:"#a855f7",html:"#f97316",htm:"#f97316",json:"#eab308",jsonc:"#eab308",yaml:"#ef4444",yml:"#ef4444",md:"#94a3b8",markdown:"#94a3b8",py:"#3b82f6",sh:"#22c55e",bash:"#22c55e",zsh:"#22c55e",rs:"#f97316",go:"#38bdf8",svelte:"#ff3e00",vue:"#42b883",svg:"#a855f7",xml:"#f97316",sql:"#a78bfa",graphql:"#a855f7",gql:"#a855f7",dockerfile:"#38bdf8",txt:"#64748b",toml:"#94a3b8",ini:"#94a3b8"},k0={typescript:fe.ts,javascript:fe.js,jsx:fe.jsx,tsx:fe.tsx,python:fe.py,bash:fe.sh,css:fe.css,scss:fe.scss,json:fe.json,jsonc:fe.json,yaml:fe.yaml,markdown:fe.md,html:fe.html,sql:fe.sql,svelte:fe.svelte,go:fe.go,rust:fe.rs,graphql:fe.graphql,xml:fe.xml,toml:fe.toml};function ya(r){let e=r.trim().toLowerCase();return Gc[e]||e}function S0(r,e,t){let n=ya(r);lt.default.languages[n]=e,t&&(k0[n]=t,fe[n]=t)}function Wc(r,e=""){let t=ya(e);if(t==="mermaid")return x0(r);if(!t||t==="text"||t==="plain"||t==="txt")return wt(r);let n=lt.default.languages[t];return n?lt.default.highlight(r,n,t):wt(r)}var y0='<svg class="dmd-code-file-icon" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>';function Vc(r){let e=r.replace(/\\/g,"/"),t=e.lastIndexOf("/");if(t===-1){let o=e.includes(".")?e.split(".").pop().toLowerCase():"";return`<span class="dmd-code-filename" style="color:${fe[o]||"#94a3b8"}">${y0}${wt(e)}</span>`}let n=e.slice(0,t+1),a=e.slice(t+1),s=a.includes(".")?a.split(".").pop().toLowerCase():"",i=fe[s]||"#94a3b8";return`<span class="dmd-code-path">${wt(n)}</span><span class="dmd-code-filename" style="color:${i}">${y0}${wt(a)}</span>`}var Zc='<svg class="copy-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>',Xc='<svg class="copy-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/><line x1="12" y1="12" x2="18" y2="12" stroke-width="2"/><line x1="12" y1="16" x2="16" y2="16" stroke-width="2"/></svg>',w0='<svg class="check-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg>';function pn(r,e=""){let n=e.trim().split(/\s+/)[0]||"text",a=ya(n)||"text",s="",i=e.match(/title=["']([^"']+)["']/);if(i&&(s=i[1]),a.toLowerCase()==="mermaid")return x0(r);if(a==="csv"||a==="tsv")return b0(r,e,a,b=>Q.parseInline(b));let o=Wc(r,a),c=`code-${Math.random().toString(36).substring(2,9)}`,m=Jc(e),u=m.size>0,h=k0[a],g=s?`<span class="dmd-code-title">${Vc(s)}</span>`:`<span class="dmd-code-lang"${h?` style="--dmd-lang-color:${h}"`:""}>${a.toUpperCase()}</span>`;return`
515
+ <div class="dmd-code-block-wrapper" data-lang="${a}">
516
+ <div class="dmd-code-header">
517
+ <div class="dmd-code-header-left">${g}</div>
518
+ <div class="dmd-code-header-right">
519
+ ${u?`<button type="button" class="dmd-copy-btn dmd-copy-selected-btn" data-dmd-copy-selected aria-label="Copy highlighted lines" title="Copy highlighted lines">${Xc}${w0}</button>`:""}
520
+ <button type="button" class="dmd-copy-btn" data-dmd-copy aria-label="Copy code" title="Copy code">${Zc}${w0}</button>
521
+ </div>
522
+ </div>
523
+ <pre class="language-${a}" tabindex="0"><code id="${c}" class="language-${a}">${Yc(o,m)}</code></pre>
524
+ </div>
525
+ `}function Jc(r){let e=new Set,t=/\{([\d\s,-]+)\}/.exec(r);if(!t)return e;for(let n of t[1].split(",")){let[a,s]=n.split("-").map(o=>Number.parseInt(o.trim(),10));if(Number.isNaN(a))continue;let i=s===void 0||Number.isNaN(s)?a:s;for(let o=Math.max(1,a);o<=i;o++)e.add(o)}return e}function Yc(r,e=new Set){let t=[],n="",a=!1,s=1,i=0,o=!1,c=[],m=()=>{i=t.length,a=!1,n="",o=c.length>0,t.push(`<span class="dmd-code-line${e.has(s)?" dmd-code-line-active":""}">`);for(let g of c)t.push(g)},u=()=>{o||(n=Kc(n));for(let g=0;g<c.length;g++)n+="</span>";t.push(n,"</span>"),s++};m();let h=0;for(;h<r.length;)if(r[h]==="<"){let g=r.indexOf(">",h);if(g===-1){n+=r.slice(h),a=!0;break}let b=r.slice(h,g+1);h=g+1,n+=b,b.startsWith("</")?c.pop():c.push(b)}else{let g=r.indexOf("<",h);g===-1&&(g=r.length);let b=r.slice(h,g).split(`
526
+ `);h=g;for(let x=0;x<b.length;x++)x>0&&(u(),m()),b[x]!==""&&(n+=b[x],a=!0)}return a||c.length>0?u():t.length=i,t.join("")}function Kc(r){let e=0,t="";for(;e<r.length;)if(r[e]===" ")t+='<span class="dmd-ws-space"> </span>',e++;else if(r[e]===" ")t+='<span class="dmd-ws-tab"> </span>',e++;else break;return e>0?t+r.slice(e):r}var fn=new Set(["badge","button","kbd"]),Qc=fn,A0=/<([A-Z][A-Za-z0-9]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)(\/?)>/g,T0=/<(\/?)([A-Z][A-Za-z0-9]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)(\/?)>/g,C0=/<\/([A-Z][A-Za-z0-9]*)\s*>/g;function wa(r,e){let t=e.flags.includes("g")?e.flags:`${e.flags}g`,n=new RegExp(e.source,t),a=[],s=n.exec(r);for(;s!==null;)a.push([s.index,s.index+s[0].length]),s=n.exec(r);return a}function ka(r,e){for(let t=0;t<e.length;t++)if(r>=e[t][0]&&r<e[t][1])return!0;return!1}function ed(r){return[...wa(r,/(`{3,})[\s\S]*?\1/g),...wa(r,/(~{3,})[\s\S]*?\1/g),...wa(r,/(`+)[\s\S]*?\1/g)]}function td(r,e,t){A0.lastIndex=e;let n;for(;;){if(n=A0.exec(r),n===null)return null;if(!ka(n.index,t)&&!fn.has(n[1].toLowerCase()))return{tag:n[1],full:n[0],start:n.index,end:n.index+n[0].length,selfClosing:n[3]==="/"}}}function rd(r,e,t){let n=1;T0.lastIndex=e.end;let a;for(;a=T0.exec(r),a!==null;)if(!ka(a.index,t)&&!(a[2]!==e.tag||a[4]==="/"))if(a[1]==="/"){if(n-=1,n===0)return{full:a[0],start:a.index,end:a.index+a[0].length}}else n+=1;for(C0.lastIndex=e.end;;){if(a=C0.exec(r),a===null)return null;if(!ka(a.index,t)&&a[1].toLowerCase()===e.tag.toLowerCase())return{full:a[0],start:a.index,end:a.index+a[0].length}}}function nd(r){let e=r.split(`
527
+ `),t=null;for(let a of e){if(a.trim()==="")continue;let s=/^( +)/.exec(a);if(!s){t=0;break}let i=s[1].length;t=t===null?i:Math.min(t,i)}if(!t)return r;let n=" ".repeat(t);return e.map(a=>a.startsWith(n)?a.slice(t):a).join(`
528
+ `)}function D0(r,e,t,n){if(!r?.trim())return r;let a=nd(r).trim(),s=Qc.has(e.toLowerCase()),i=g=>(s?Q.parseInline(g,{renderer:t,gfm:!0,breaks:!1}):Q.parse(g,{renderer:t,gfm:!0,breaks:!1})).replace(/\n{2,}/g,`
529
+ `).replace(/\n+$/,""),o=/(`{3,})[^\n]*\n[\s\S]*?\1|(~{3,})[^\n]*\n[\s\S]*?\2/g;if(!o.test(a))return i(a);let c=g=>{let b=/^(`{3,}|~{3,})([^\n]*)\n([\s\S]*?)\1\s*$/.exec(g);return b?pn(b[3].replace(/\n$/,""),b[2].trim()):g},m="",u=0;o.lastIndex=0;let h=o.exec(a);for(;h!==null;)m+=i(a.slice(u,h.index)),m+=`
530
+ @@DMD-FENCE-${n.length}@@
531
+ `,n.push(c(h[0])),u=h.index+h[0].length,h=o.exec(a);return m+=i(a.slice(u)),m}var ad=/(?:<p>)?\s*@@DMD-FENCE-(\d+)@@\s*(?:<\/p>)?/g;function M0(r,e){return e.length===0||!r?.includes("@@DMD-FENCE-")?r:r.replace(ad,(t,n)=>e[Number(n)]??"")}function $0(r,e,t,n){let a=ed(r),s="",i=0;for(;;){let o=td(r,i,a);if(o===null){let h=r.slice(i);s+=e===null?h:D0(h,e,t,n);break}let c=r.slice(i,o.start);if(s+=e===null?c:D0(c,e,t,n),o.selfClosing){s+=o.full,i=o.end;continue}let m=rd(r,o,a);if(m===null){s+=o.full,i=o.end;continue}let u=$0(r.slice(o.end,m.start),o.tag,t,n);s+=o.full+u+m.full,i=m.end}return s}function E0(r){if(!r?.includes("<")||!/<[A-Z][A-Za-z0-9]*\b/.test(r))return{html:r,fences:[]};let e=new Q.Renderer,t=[];return{html:$0(r,null,e,t),fences:t}}function z0(r){return r?.includes("/>")?r.replace(/<([A-Z][A-Za-z0-9]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\/>/g,(e,t,n)=>`<${t}${n}></${t}>`):r}var hn=/<p>\s*<([A-Z][A-Za-z0-9]*)\b/g,xa=/<p\b|<\/p>/g;function sd(r,e){xa.lastIndex=e;let t=1,n=xa.exec(r);for(;n;){if(t+=n[0]==="</p>"?-1:1,t===0)return n.index;n=xa.exec(r)}return-1}function id(r){let e="",t=0;hn.lastIndex=0;let n=hn.exec(r);for(;n;){if(fn.has(n[1].toLowerCase())){n=hn.exec(r);continue}let a=n.index+n[0].length,s=sd(r,a),i=s;for(;i>a&&/\s/.test(r[i-1]);)i--;if(e+=r.slice(t,n.index)+n[0].slice(n[0].length-n[1].length-1),s===-1)return e+=r.slice(a),e;e+=r.slice(a,i),t=s+4,n=hn.exec(r)}return e+r.slice(t)}function R0(r){if(!r?.includes("<"))return r;let e=id(r);return e=e.replace(/(<\/([A-Z][A-Za-z0-9]*)\s*>)\s*<\/p>/g,(t,n,a)=>fn.has(a.toLowerCase())?t:n),e}Sa();uo();function mo(r){let e=[],t="@@__DMD_KATEX_CODE_",n="__@@",a=o=>{let c=e.length;return e.push(o),`${t}${c}${n}`},s=r.replace(/(`{3,})[\s\S]*?\1/g,o=>a(o));s=s.replace(/(~{3,})[\s\S]*?\1/g,o=>a(o)),s=s.replace(/(`+)[\s\S]*?\1/g,o=>a(o));let i=s.replace(/\$\$([\s\S]+?)\$\$/g,(o,c)=>{try{return ws.renderToString(c.trim(),{displayMode:!0,throwOnError:!1})}catch{return`$$${c}$$`}});return i=i.replace(/(^|[^\\])\$([^$\n]+?)\$/g,(o,c,m)=>{if(!m.trim())return`${c}$${m}$`;try{let u=ws.renderToString(m.trim(),{displayMode:!1,throwOnError:!1});return`${c}${u}`}catch{return`${c}$${m}$`}}),e.forEach((o,c)=>{i=i.split(`${t}${c}${n}`).join(o)}),i}function d1(r){let e=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/,t=r.match(e);if(!t)return{frontmatter:{},content:r};let n=t[1],a=r.substring(t[0].length),s={},i=n.split(`
532
+ `);for(let o of i){let c=o.indexOf(":");if(c===-1)continue;let m=o.substring(0,c).trim(),u=o.substring(c+1).trim();u.startsWith('"')&&u.endsWith('"')||u.startsWith("'")&&u.endsWith("'")?u=u.substring(1,u.length-1):u==="true"?u=!0:u==="false"?u=!1:!Number.isNaN(Number(u))&&u!==""?u=Number(u):u.startsWith("[")&&u.endsWith("]")&&(u=u.substring(1,u.length-1).split(",").map(h=>h.trim().replace(/^['"]|['"]$/g,"")).filter(Boolean)),s[m]=u}return{frontmatter:s,content:a}}function u1(r){return r.toLowerCase().replace(/<[^>]*>/g,"").replace(/[^\w\s-]/g,"").trim().replace(/[\s_-]+/g,"-")}function m1(r){let e=r.trim().split(/\s+/).length;return Math.max(1,Math.ceil(e/200))}function po(r,e=""){let{frontmatter:t,content:n}=d1(r),a=m1(n),s=mo(n);s=p0(s);let i=E0(s);s=i.html;let o=[],c={},m=new Q.Renderer;m.heading=({tokens:x,depth:v})=>{let y=Q.parseInline(x.map(A=>A.raw).join("")),k=x.map(A=>A.text||A.raw).join(""),w=u1(k);return c[w]?(c[w]++,w=`${w}-${c[w]}`):c[w]=1,v<=3&&o.push({level:v,text:gn(k),html:y,id:w}),`
533
+ <h${v} id="${w}" class="dmd-heading dmd-h${v}">
534
+ <a href="#/${e}#${w}" class="dmd-heading-anchor" aria-hidden="true">#</a>
535
+ <span>${y}</span>
536
+ </h${v}>
537
+ `},m.code=({text:x,lang:v})=>pn(x,v||""),m.table=x=>mn({header:x.header.map((v,y)=>({html:Q.parseInline(v.text||""),align:v.align||x.align?.[y]||null})),rows:x.rows.map(v=>v.map((y,k)=>({html:Q.parseInline(y.text||""),align:y.align||x.align?.[k]||null})))}),m.link=({href:x,title:v,text:y})=>{let k=x.startsWith("http://")||x.startsWith("https://")||x.startsWith("mailto:"),w=x;if(!k){if(/\.html(?:#.*)?$/i.test(x)){let M=v?` title="${v}"`:"";return`<a href="${x}"${M} class="dmd-link">${y}</a>`}if(x.startsWith("#"))w=`#/${e}${x}`;else{let M=x.replace(/\.(md|mdx)$/i,"");if(M.startsWith("./")){let E=e.includes("/")?e.substring(0,e.lastIndexOf("/")):"";M=E?`${E}/${M.replace(/^\.\//,"")}`:M.replace(/^\.\//,"")}else if(!M.startsWith("/")){let E=e.includes("/")?e.substring(0,e.lastIndexOf("/")):"";M=E?`${E}/${M}`:M}w=`#/${M.replace(/^\//,"")}`}}let A=v?` title="${v}"`:"";return`<a href="${w}"${A}${k?' target="_blank" rel="noopener noreferrer"':""} class="dmd-link">${y}${k?'<svg class="dmd-ext-icon" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>':""}</a>`};let u=Q.parse(s,{renderer:m,gfm:!0,breaks:!1}),h=M0(u,i.fences),g=z0(h),b=R0(g);return{frontmatter:t,html:b,headings:o,readingTimeMinutes:a}}var tr=X(require("fs")),br=X(require("path")),ho=require("esbuild");function Pr(r){let e;if(tr.default.existsSync(r)&&(tr.default.statSync(r).isDirectory()?tr.default.existsSync(br.default.join(r,".dmd"))?e=br.default.join(r,".dmd"):e=r:e=br.default.dirname(r)),!e||!tr.default.existsSync(e))return;let t=["setup.js","setup.mjs","setup.cjs","setup.ts","languages.js","languages.ts","components.js","index.js"];for(let n of t){let a=br.default.join(e,n);if(tr.default.existsSync(a)&&tr.default.statSync(a).isFile())try{typeof globalThis.window>"u"&&(globalThis.window=globalThis),globalThis.DocMeDown={...globalThis.DocMeDown||{},registerLanguage:S0};let i=(0,ho.buildSync)({entryPoints:[a],bundle:!1,format:"cjs",platform:"node",target:"node18",write:!1,logLevel:"silent"}).outputFiles[0]?.text;if(i){let o=new Function("exports","require","module","__filename","__dirname",i),c={exports:{}};o(c.exports,require,c,a,br.default.dirname(a))}}catch{}}}var p1=160;function fo(r){return{name:r.name,tagline:r.tagline,version:r.version,logo:r.theme?.logo?.light,logoDark:r.theme?.logo?.dark,logoAlt:r.theme?.logo?.alt,accent:r.theme?.accentColor,accentDark:r.theme?.accentColorDark,searchPlaceholder:r.search?.placeholder}}function Le(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function h1(r){return r.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"").replace(/<[^>]+>/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim()}function f1(r,e=p1){if(r.length<=e)return r;let t=r.slice(0,e),n=t.lastIndexOf(" ");return`${(n>40?t.slice(0,n):t).trimEnd()}\u2026`}function g1(r){let e=r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"");for(let t of e.split(/\n{2,}/)){let n=t.trim();if(!(!n||n.startsWith("#")||n.startsWith("---")||n.startsWith("<")))return f1(h1(n.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/[*_`>]/g,"")))}return""}function v1(r,e){return e.frontmatter?.description||(e.content?g1(e.content):"")||r.description||r.tagline||""}function go(r,e){if(!r.url)return null;let t=r.url.replace(/\/+$/,"");return e==="README"?`${t}/`:`${t}/${e}/`}function b1(r){return r==="README"?"":"../".repeat(r.split("/").length)}function y1(r){return r==="README"?"index.html":`${r}/index.html`}function w1({config:r,doc:e,contentHtml:t}){let n=e.slug,a=b1(n),s=r.name||"Documentation",i=n==="README"?s:`${e.title} | ${s}`,o=v1(r,e),c=go(r,n),m=e.frontmatter?.noindex===!0||e.frontmatter?.hidden===!0,u=typeof e.frontmatter?.ogImage=="string"?e.frontmatter.ogImage:void 0,h=u?/^https?:\/\//i.test(u)?u:c?`${r.url?.replace(/\/+$/,"")}/${u.replace(/^\/+/,"")}`:u:void 0,g=['<meta charset="UTF-8" />','<meta name="viewport" content="width=device-width, initial-scale=1.0" />',`<title>${Le(i)}</title>`];o&&g.push(`<meta name="description" content="${Le(o)}" />`),m?g.push('<meta name="robots" content="noindex, nofollow" />'):c&&g.push(`<link rel="canonical" href="${Le(c)}" />`),g.push('<meta name="generator" content="DocMeDown" />');let b=Ft(r.theme?.favicon),x=' type="image/svg+xml"';if(b.startsWith("data:image/png")||/\.png($|\?)/i.test(b)?x=' type="image/png"':(b.startsWith("data:image/x-icon")||/\.ico($|\?)/i.test(b))&&(x=' type="image/x-icon"'),g.push(`<link rel="icon"${x} href="${Le(b)}" />`),r.theme?.accentColor&&g.push(`<meta name="theme-color" content="${Le(r.theme.accentColor)}" />`),g.push('<meta property="og:type" content="website" />'),g.push(`<meta property="og:site_name" content="${Le(s)}" />`),g.push(`<meta property="og:title" content="${Le(i)}" />`),o&&g.push(`<meta property="og:description" content="${Le(o)}" />`),c&&g.push(`<meta property="og:url" content="${Le(c)}" />`),h&&g.push(`<meta property="og:image" content="${Le(h)}" />`),g.push('<meta name="twitter:card" content="summary" />'),g.push(`<meta name="twitter:title" content="${Le(i)}" />`),o&&g.push(`<meta name="twitter:description" content="${Le(o)}" />`),h&&g.push(`<meta name="twitter:image" content="${Le(h)}" />`),c&&!m){let w={"@context":"https://schema.org","@graph":[{"@type":"WebSite",name:s,url:`${r.url?.replace(/\/+$/,"")}/`},{"@type":"TechArticle",headline:e.title,...o?{description:o}:{},url:c,...e.lastModified?{dateModified:e.lastModified}:{},...e.readingTimeMinutes?{timeRequired:`PT${e.readingTimeMinutes}M`}:{}}]};g.push(`<script type="application/ld+json">${JSON.stringify(w).replace(/</g,"\\u003c")}</script>`)}let v=`<script>window.__DOCMEDOWN_STATIC_SLUG__=${JSON.stringify(n)};window.__DOCMEDOWN_STATIC_BASE__=${JSON.stringify(a)};</script>`,y=a||"./",k=fo({...r,name:s});return`<!DOCTYPE html>
538
+ <html lang="en">
539
+ <head>
540
+ ${g.join(`
541
+ `)}
542
+ ${Zt(k)}
543
+ </head>
544
+ <body>
545
+ ${Xt(k)}
546
+ <div id="dmd-app"><article class="dmd-static-doc">${t}</article></div>
547
+ ${v}
548
+ <script src="${y}_docs.js"></script>
549
+ <script src="${y}docmedown.web.js" data-docmedown-runtime></script>
550
+ </body>
551
+ </html>
552
+ `}function x1(r){let e=r.name||"Documentation",t=fo({...r,name:e});return`<!DOCTYPE html>
553
+ <html lang="en">
554
+ <head>
555
+ <meta charset="UTF-8" />
556
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
557
+ <title>Page not found | ${Le(e)}</title>
558
+ <meta name="robots" content="noindex, nofollow" />
559
+ <meta name="generator" content="DocMeDown" />
560
+ <link rel="icon" href="data:," />
561
+ ${Zt(t)}
562
+ </head>
563
+ <body>
564
+ ${Xt(t)}
565
+ <div id="dmd-app"><article class="dmd-static-doc"><h1>Page not found</h1><p>The page you requested does not exist. <a href="./">Return to the documentation home page</a>.</p></article></div>
566
+ <script>window.__DOCMEDOWN_STATIC_SLUG__="README";window.__DOCMEDOWN_STATIC_BASE__="";</script>
567
+ <script src="./_docs.js"></script>
568
+ <script src="./docmedown.web.js" data-docmedown-runtime></script>
569
+ </body>
570
+ </html>
571
+ `}function k1(r,e){if(!e.url)return null;let t=[];for(let n of r.docs){if(n.frontmatter?.hidden||n.frontmatter?.noindex)continue;let a=go(e,n.slug);a&&t.push([" <url>",` <loc>${Le(a)}</loc>`,...n.lastModified?[` <lastmod>${n.lastModified}</lastmod>`]:[]," </url>"].join(`
572
+ `))}return`<?xml version="1.0" encoding="UTF-8"?>
573
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
574
+ ${t.join(`
575
+ `)}
576
+ </urlset>
577
+ `}function S1(r){return r.url?`User-agent: *
578
+ Allow: /
853
579
 
854
- // src/cli/commands/config-tui.ts
855
- var import_node_fs3 = __toESM(require("fs"));
856
- var import_node_path3 = __toESM(require("path"));
857
- var import_chalk2 = __toESM(require("chalk"));
858
- var import_prompts = __toESM(require("prompts"));
859
- async function configTuiCommand(configPathArg) {
860
- console.log(import_chalk2.default.bold.magenta("\n\u26A1 DocMeDown - Interactive Configuration Wizard\n"));
861
- let configPath = "";
862
- if (configPathArg) {
863
- configPath = import_node_path3.default.resolve(process.cwd(), configPathArg);
864
- if (import_node_fs3.default.existsSync(configPath) && import_node_fs3.default.statSync(configPath).isDirectory()) {
865
- configPath = import_node_path3.default.join(configPath, "docs.json");
866
- }
867
- } else {
868
- const candidates = [
869
- import_node_path3.default.resolve(process.cwd(), "docs.json"),
870
- import_node_path3.default.resolve(process.cwd(), "docs/docs.json"),
871
- import_node_path3.default.resolve(process.cwd(), "dmd.json")
872
- ];
873
- configPath = candidates.find((p) => import_node_fs3.default.existsSync(p)) || import_node_path3.default.resolve(process.cwd(), "docs/docs.json");
874
- }
875
- let existingConfig = normalizeConfig();
876
- if (import_node_fs3.default.existsSync(configPath)) {
877
- try {
878
- existingConfig = normalizeConfig(parseDocConfigJson(import_node_fs3.default.readFileSync(configPath, "utf-8"), configPath));
879
- console.log(import_chalk2.default.dim(` Loaded existing configuration from: ${configPath}
880
- `));
881
- } catch (error) {
882
- console.warn(import_chalk2.default.yellow(` \u26A0 ${error instanceof Error ? error.message : String(error)}
883
- `));
884
- }
885
- } else {
886
- console.log(import_chalk2.default.dim(` Creating new configuration at: ${configPath}
887
- `));
888
- }
889
- const response = await (0, import_prompts.default)([
890
- {
891
- type: "text",
892
- name: "name",
893
- message: "Project Name:",
894
- initial: existingConfig.name || "My Project Docs"
895
- },
896
- {
897
- type: "text",
898
- name: "tagline",
899
- message: "Tagline / Short description:",
900
- initial: existingConfig.tagline || "The simplest Markdown documenter yet"
901
- },
902
- {
903
- type: "select",
904
- name: "family",
905
- message: "Select Documentation Theme Family:",
906
- choices: [
907
- { title: "Atlas (Editorial technical reference)", value: "atlas" },
908
- { title: "Blueprint (Structured and schematic)", value: "blueprint" },
909
- { title: "Terminal (Compact operational console)", value: "terminal" },
910
- { title: "Editorial (Spacious publication reading)", value: "editorial" }
911
- ],
912
- initial: ["atlas", "blueprint", "terminal", "editorial"].indexOf(existingConfig.theme?.family || "atlas")
913
- },
914
- {
915
- type: "select",
916
- name: "defaultMode",
917
- message: "Default Color Mode:",
918
- choices: [
919
- { title: "Auto (Follows OS system preference)", value: "auto" },
920
- { title: "Dark (Default dark theme)", value: "dark" },
921
- { title: "Light (Default light theme)", value: "light" }
922
- ],
923
- initial: ["auto", "dark", "light"].indexOf(existingConfig.theme?.defaultMode || "auto")
924
- },
925
- {
926
- type: "select",
927
- name: "sourceType",
928
- message: "Documentation Source Mode:",
929
- choices: [
930
- { title: "Local Markdown Files (hosted together in folder)", value: "local" },
931
- { title: "Remote GitHub Repository (live dynamic fetch)", value: "github" },
932
- { title: "Remote GitLab Repository (live dynamic fetch)", value: "gitlab" }
933
- ],
934
- initial: existingConfig.source?.type ? existingConfig.source.type === "github" ? 1 : 2 : 0
935
- },
936
- {
937
- type: (prev) => prev === "github" ? "text" : null,
938
- name: "githubRepo",
939
- message: "GitHub Repository (owner/repo):",
940
- initial: existingConfig.source?.type === "raw" ? "facebook/react" : existingConfig.source?.repo || "facebook/react"
941
- },
942
- {
943
- type: (_prev, values) => values.sourceType === "github" ? "text" : null,
944
- name: "githubBranch",
945
- message: "GitHub Branch:",
946
- initial: existingConfig.source?.branch || "main"
947
- },
948
- {
949
- type: (_prev, values) => values.sourceType === "github" ? "text" : null,
950
- name: "githubDocsDir",
951
- message: "GitHub Docs Subfolder (leave empty for root):",
952
- initial: existingConfig.source?.docsDir || "docs"
953
- },
954
- {
955
- type: "text",
956
- name: "githubSocial",
957
- message: "GitHub Repository URL for Navbar link (optional):",
958
- initial: existingConfig.socials?.find((s) => s.type === "github")?.url || ""
959
- }
960
- ]);
961
- if (!response.name) {
962
- console.log(import_chalk2.default.yellow("\nConfiguration cancelled."));
963
- return;
964
- }
965
- const updatedConfig = normalizeConfig({
966
- ...existingConfig,
967
- name: response.name,
968
- tagline: response.tagline,
969
- theme: {
970
- ...existingConfig.theme,
971
- family: response.family,
972
- defaultMode: response.defaultMode
973
- },
974
- socials: response.githubSocial ? [{ type: "github", url: response.githubSocial }] : existingConfig.socials
975
- });
976
- if (response.sourceType === "github") {
977
- updatedConfig.source = {
978
- type: "github",
979
- repo: response.githubRepo,
980
- branch: response.githubBranch,
981
- docsDir: response.githubDocsDir
982
- };
983
- } else if (response.sourceType === "local") {
984
- delete updatedConfig.source;
985
- }
986
- const dir = import_node_path3.default.dirname(configPath);
987
- if (!import_node_fs3.default.existsSync(dir)) {
988
- import_node_fs3.default.mkdirSync(dir, { recursive: true });
989
- }
990
- const validatedConfig = normalizeConfig(updatedConfig);
991
- import_node_fs3.default.writeFileSync(configPath, JSON.stringify(validatedConfig, null, 2), "utf-8");
992
- console.log(import_chalk2.default.bold.green(`
993
- \u2714 Configuration successfully saved to: ${configPath}
994
- `));
995
- }
580
+ Sitemap: ${r.url.replace(/\/+$/,"")}/sitemap.xml
581
+ `:null}function vo(r,e,t,n){let a=[],s=!1;Pr(Ut.default.join(r,".dmd"));for(let c of e.docs){if(c.frontmatter?.hidden===!0)continue;let m=t[c.slug]??t[c.path]??c.content??"",u=po(m,c.slug),h=y1(c.slug);if(c.slug==="README"){let x=Ut.default.join(r,"index.html");if(qt.default.existsSync(x)&&!qt.default.readFileSync(x,"utf-8").includes("data-docmedown-runtime")){s=!0;continue}}let g=w1({config:n,doc:c,contentHtml:u.html}),b=Ut.default.join(r,h);qt.default.mkdirSync(Ut.default.dirname(b),{recursive:!0}),qt.default.writeFileSync(b,g,"utf-8"),a.push(h)}qt.default.writeFileSync(Ut.default.join(r,"404.html"),x1(n),"utf-8");let i=k1(e,n);i&&qt.default.writeFileSync(Ut.default.join(r,"sitemap.xml"),i,"utf-8");let o=S1(n);return o&&qt.default.writeFileSync(Ut.default.join(r,"robots.txt"),o,"utf-8"),console.log(Hr.default.green(` \u2714 Prerendered ${a.length} static page${a.length===1?"":"s"}`)),n.url?console.log(Hr.default.green(` \u2714 Generated sitemap.xml and robots.txt for ${n.url}`)):console.log(Hr.default.dim(' Set "url" in docs.json to also generate sitemap.xml, robots.txt, and canonical URLs.')),s&&console.log(Hr.default.yellow(" \u26A0 Skipped prerendering the home page: index.html is a custom shell without the standard DocMeDown runtime tag.")),{written:a,homeSkipped:s}}xs();Ur();var M1=".dist";function $1(r,e){return{onlineDir:r,offlineDir:e?j.default.resolve(process.cwd(),e):j.default.join(r,M1)}}function E1(r){return(0,Co.gzipSync)(Buffer.from(JSON.stringify(r),"utf-8"),{level:9}).toString("base64")}function Mo(r){let e,t;if(H.default.existsSync(r))H.default.statSync(r).isDirectory()?H.default.existsSync(j.default.join(r,".dmd"))?e=j.default.join(r,".dmd"):e=r:(t=r,e=j.default.dirname(r));else{let u=j.default.dirname(r);if(H.default.existsSync(u)&&H.default.statSync(u).isDirectory())e=u;else return}let n=e&&H.default.existsSync(e)?H.default.readdirSync(e):[],a=n.filter(u=>u.endsWith(".svelte")),s=n.filter(u=>(u.endsWith(".tsx")||u.endsWith(".jsx"))&&!u.startsWith(".")),i=["setup.js","setup.mjs","setup.ts","languages.js","languages.ts","components.js","index.js"],o=n.filter(u=>(u.endsWith(".ts")||u.endsWith(".js"))&&!i.includes(u)&&!u.endsWith(".d.ts"));if((a.length>0||s.length>0||o.length>0)&&e)try{let u=H.default.mkdtempSync(j.default.join(To.default.tmpdir(),"docmedown-components-bundle-"));try{for(let w of n){let A=j.default.join(e,w);H.default.statSync(A).isFile()&&H.default.copyFileSync(A,j.default.join(u,w))}let h=j.default.resolve(__dirname,"../../runtime/bridges/react-bridge.ts");H.default.existsSync(h)&&H.default.copyFileSync(h,j.default.join(u,"react-bridge-runtime.ts"));let g=[],b=[];for(let w of a){let A=H.default.readFileSync(j.default.join(e,w),"utf-8"),$=w.replace(/\.svelte$/,""),D=yt($),M=an(A,D),E=(0,As.compile)(M,{filename:w,customElement:!0}),z=`${$}.compiled.js`;H.default.writeFileSync(j.default.join(u,z),E.js.code,"utf-8"),g.push(`import "./${z}";`),b.push(`${JSON.stringify($)}: ${JSON.stringify(D)}`)}for(let w of s){let A=H.default.readFileSync(j.default.join(e,w),"utf-8"),$=j.default.basename(w,j.default.extname(w)),D=yt($),M=Xn(A,{name:$,tag:D,filename:w});if(M.success&&M.svelteSource){let E=(0,As.compile)(M.svelteSource,{filename:`${$}.svelte`,customElement:!0}),z=`${$}.compiled.js`;H.default.writeFileSync(j.default.join(u,z),E.js.code,"utf-8"),g.push(`import "./${z}";`),b.push(`${JSON.stringify($)}: ${JSON.stringify(D)}`)}else{let E=`${$}.bridge.js`,z=`
582
+ import React from "react";
583
+ import ReactDOM from "react-dom/client";
584
+ import ComponentModule from "./${w}";
585
+ import { createReactBridge } from "./react-bridge-runtime";
996
586
 
997
- // src/cli/commands/init.ts
998
- var import_node_fs5 = __toESM(require("fs"));
999
- var import_node_path5 = __toESM(require("path"));
1000
- var import_chalk4 = __toESM(require("chalk"));
1001
- var import_open = __toESM(require("open"));
1002
- var import_prompts2 = __toESM(require("prompts"));
587
+ const Component = ComponentModule.default || ComponentModule;
588
+ const BridgeClass = createReactBridge(Component, {
589
+ React,
590
+ ReactDOM,
591
+ createRoot: ReactDOM.createRoot,
592
+ createElement: React.createElement,
593
+ });
1003
594
 
1004
- // src/cli/utils/server.ts
1005
- var import_node_fs4 = __toESM(require("fs"));
1006
- var import_node_http = __toESM(require("http"));
1007
- var import_node_path4 = __toESM(require("path"));
1008
- var import_chalk3 = __toESM(require("chalk"));
1009
- var import_chokidar2 = __toESM(require("chokidar"));
1010
- var import_mime_types = __toESM(require("mime-types"));
1011
- var import_ws = require("ws");
1012
- function shouldRebuildDocumentation(rootDir, changedPath) {
1013
- return shouldWatchDocumentationSource(rootDir, changedPath);
595
+ if (typeof customElements !== "undefined" && !customElements.get(${JSON.stringify(D)})) {
596
+ customElements.define(${JSON.stringify(D)}, BridgeClass);
1014
597
  }
1015
- function startDevServer(options) {
1016
- const { rootDir, host = "localhost", port: initialPort = 3e3, onSourceChange } = options;
1017
- return new Promise((resolve, reject) => {
1018
- let port = initialPort;
1019
- const liveReloadScript = `
598
+ `;H.default.writeFileSync(j.default.join(u,E),z,"utf-8"),g.push(`import "./${E}";`),b.push(`${JSON.stringify($)}: ${JSON.stringify(D)}`)}}for(let w of o){let A=j.default.basename(w,j.default.extname(w)),$=yt(A);g.push(`import "./${w}";`),b.push(`${JSON.stringify(A)}: ${JSON.stringify($)}`)}for(let w of["setup.js","setup.mjs","setup.ts","languages.js","languages.ts"])H.default.existsSync(j.default.join(u,w))&&g.push(`import "./${w}";`);let x=`{ ${b.join(", ")} }`;H.default.existsSync(j.default.join(u,"components.js"))?(g.push('import legacyComponents from "./components.js";'),x=`{ ...(legacyComponents || {}), ${b.join(", ")} }`):H.default.existsSync(j.default.join(u,"index.js"))&&(g.push('import legacyComponents from "./index.js";'),x=`{ ...(legacyComponents || {}), ${b.join(", ")} }`);let v=j.default.join(u,"entry.js");H.default.writeFileSync(v,`${g.join(`
599
+ `)}
600
+ export default ${x};
601
+ `,"utf-8");let k=(0,Ss.buildSync)({entryPoints:[v],bundle:!0,format:"esm",platform:"browser",target:"es2022",write:!1,minify:!0,external:["svelte","svelte/*","docmedown/motion","motion","docmedown"],legalComments:"none"}).outputFiles[0]?.text;if(!k)throw new Error("esbuild did not produce an output module for custom components.");return k}finally{H.default.rmSync(u,{recursive:!0,force:!0})}}catch(u){throw new Error(`Could not bundle custom components from ${e}: ${u instanceof Error?u.message:String(u)}`)}let m=(t&&H.default.existsSync(t)&&!H.default.statSync(t).isDirectory()?t:void 0)||e&&[j.default.join(e,"setup.js"),j.default.join(e,"languages.js"),j.default.join(e,"components.js"),j.default.join(e,"index.js")].find(u=>H.default.existsSync(u));if(!(!m||!H.default.existsSync(m)))try{let h=(0,Ss.buildSync)({entryPoints:[m],bundle:!0,format:"esm",platform:"browser",target:"es2022",write:!1,minify:!0,legalComments:"none"}).outputFiles[0]?.text;if(!h)throw new Error("esbuild did not produce an output module.");return h}catch(u){throw new Error(`Could not bundle custom components from ${m}: ${u instanceof Error?u.message:String(u)}`)}}function z1(r,e){if(!r||r==="data:,")return Ft();let t=r.trim();if(kr(t)||t.startsWith("data:"))return Ft(t);if(e&&!/^(https?:|\/\/)/i.test(t)){let n=t.replace(/^\.?\/+/,""),a=[j.default.resolve(e,n),j.default.resolve(process.cwd(),n)];for(let s of a)if(H.default.existsSync(s)&&H.default.statSync(s).isFile())try{let i=j.default.extname(s).toLowerCase(),c={".svg":"image/svg+xml",".png":"image/png",".ico":"image/x-icon",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif"}[i]||"image/x-icon",m=H.default.readFileSync(s);return`data:${c};base64,${m.toString("base64")}`}catch{}}return Ft(t)}var Ao=["_manifest.json","_docs.js","docmedown.web.js","docmedown-mermaid.js","docmedown.iife.js","index.html","404.html","sitemap.xml","robots.txt","llms.txt","llms-full.txt","SKILL.md","okf.json"];function $o(r){let e=[];function t(n){if(H.default.existsSync(n))for(let a of H.default.readdirSync(n,{withFileTypes:!0})){if(!a.isDirectory()||a.name.startsWith(".")||["node_modules",".git","dist","bin"].includes(a.name))continue;let s=j.default.join(n,a.name);H.default.existsSync(j.default.join(s,"docs.json"))&&e.push(s),t(s)}}return t(r),e}async function Eo(r,e){let t=[],n=new Set,a=/<(?:Card|dmd-card)\b((?:[^>"']|"[^"]*"|'[^']*')*)\/?>/gi,s=/\bcontent\s*=\s*(?:"([^"]*)"|'([^']*)'|\{["']([^"']*)["']\})/i,i=!0;for(;i;){i=!1;let o=Object.entries(r);for(let[,c]of o)if(!(!c||typeof c!="string"))for(a.lastIndex=0;;){let m=a.exec(c);if(m===null)break;let u=m[1];if(!u)continue;let h=s.exec(u);if(!h)continue;let g=(h[1]??h[2]??h[3]??"").trim();if(!(!g||n.has(g))){if(n.add(g),/^https?:\/\//i.test(g))try{console.log(de.default.cyan(` \u2B07 Fetching Card online source: ${g}`));let b=await fetch(g);if(!b.ok){console.warn(de.default.yellow(` \u26A0 HTTP ${b.status} fetching Card online source "${g}"`));continue}let x=await b.text();r[g]=x,t.push(g);let v=g.replace(/\.(md|mdx)$/i,"");v!==g&&(r[v]=x),i=!0}catch(b){console.warn(de.default.yellow(` \u26A0 Could not fetch Card online source "${g}": ${b?.message||String(b)}`))}else if(e&&/\.(md|mdx)$/i.test(g)){let b=g.replace(/^\.?\//,""),x=[j.default.resolve(e,b),j.default.resolve(e,g)];for(let v of x)if(H.default.existsSync(v)&&H.default.statSync(v).isFile()){let y=H.default.readFileSync(v,"utf-8");r[g]=y,r[b]=y;let k=b.replace(/\.(md|mdx)$/i,"");r[k]=y;break}}}}}return t}async function zo(r,e,t){let n={},a=new Map,s=new Set,i=/<(?:Media|dmd-media)\b((?:[^>"']|"[^"]*"|'[^']*')*)\/?>/gi,o=v=>new RegExp(`\\b${v}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|\\{["']([^"']*)["']\\})`,"i"),c=/\bembed\s*=\s*(?:"([^"]*)"|'([^']*)'|\\{([^}]+)\\})/i,m=/\b(?:type|format)\s*=\s*(?:"([^"]*)"|'([^']*)'|\\{["']([^"']*)["']\\})/i,u=/!\[([^\]]*)\]\(([^)\s]+)(?:\s+"([^"]*)")?\)/g,h=/<img\b((?:[^>"']|"[^"]*"|'[^']*')*)\/?>/gi,g=/\bsrc\s*=\s*(?:"([^"]*)"|'([^']*)'|\\{["']([^"']*)["']\\})/i;async function b(v,y){let k=v.trim();if(!k)return null;if(ir(k))return k;if(a.has(k))return a.get(k);if(/^https?:\/\//i.test(k)){if(t?.fetchRemote!==!0)return null;try{let w=await fetch(k);if(w.ok){let A=await w.arrayBuffer(),$=Buffer.from(A),D=w.headers.get("content-type")?.split(";")[0]?.trim()||sa(k,y),M=ia($,D);return a.set(k,M),M}}catch{return null}}if(e){let w=k.replace(/^\.?\//,""),A=[j.default.resolve(e,w),j.default.resolve(e,k),j.default.resolve(process.cwd(),w),j.default.resolve(process.cwd(),k)];for(let $ of A)if(H.default.existsSync($)&&H.default.statSync($).isFile())try{let D=H.default.readFileSync($),M=sa($,y),E=ia(D,M);return a.set(k,E),E}catch{return null}}return null}let x=Object.entries(r);for(let[v,y]of x){if(!y||typeof y!="string")continue;let k=y;i.lastIndex=0;let w=[];for(;;){let D=i.exec(y);if(D===null)break;w.push({fullTag:D[0],attrs:D[1]||""})}for(let{fullTag:D,attrs:M}of w){let E=c.exec(M),z=(E?E[1]??E[2]??E[3]??"":"").trim().toLowerCase();if(z==="none"||z==="false")continue;let O=m.exec(M),B=(O?O[1]??O[2]??O[3]??"":"").trim(),U=D;for(let W of["src","fallback","poster"]){let ee=o(W).exec(M);if(ee){let Z=(ee[1]??ee[2]??ee[3]??"").trim();if(Z&&!ir(Z)){let ie=await b(Z,W==="src"?B:void 0);if(ie){n[Z]=ie;let ze=Z.replace(/^\.?\//,"");n[ze]=ie,n[`./${ze}`]=ie,s.add(Z),ie.length<=512*1024&&(U=U.replace(ee[0],`${W}="${ie}"`))}}}}U!==D&&(k=k.replace(D,U))}u.lastIndex=0;let A=[];for(;;){let D=u.exec(k);if(D===null)break;A.push({full:D[0],alt:D[1]||"",url:D[2],title:D[3]})}for(let{full:D,alt:M,url:E,title:z}of A)if(!ir(E)){let O=await b(E);if(O){n[E]=O;let B=E.replace(/^\.?\//,"");n[B]=O,s.add(E);let U=z?` "${z}"`:"";k=k.replace(D,`![${M}](${O}${U})`)}}h.lastIndex=0;let $=[];for(;;){let D=h.exec(k);if(D===null)break;$.push({full:D[0],attrs:D[1]||""})}for(let{full:D,attrs:M}of $){let E=g.exec(M);if(E){let z=(E[1]??E[2]??E[3]??"").trim();if(z&&!ir(z)){let O=await b(z);if(O){n[z]=O;let B=z.replace(/^\.?\//,"");n[B]=O,s.add(z);let U=D.replace(E[0],`src="${O}"`);k=k.replace(D,U)}}}}r[v]=k}return{inlinedCount:s.size,mediaMap:n}}async function R1(r){let e={};for(let t of $o(r)){let n=j.default.relative(r,t).replace(/\\/g,"/"),a=j.default.join(t,"docs.json"),s=Pe();H.default.existsSync(a)&&(s=Pe(Rt(H.default.readFileSync(a,"utf-8"),a)));let i={};for(let m of nt(t)){let u=H.default.readFileSync(j.default.join(t,m),"utf-8"),h=m.replace(/\.(md|mdx)$/i,""),g=h.toLowerCase()==="readme"||h.toLowerCase()==="index"?"README":h;i[g]=u,i[m]=u}await Eo(i,t);let{mediaMap:o}=await zo(i,t),c=j.default.join(t,".dmd");Pr(c),e[n]={name:s.name||n,manifest:qr(t,s),docs:i,componentsSource:Mo(c),...Object.keys(o).length>0?{media:o}:{}}}return e}function Ts(r,e){let t=j.default.relative(r,e).replace(/\\/g,"/"),n=t.split("/"),a=n[0],s=n[n.length-1],i=/(^|\/)\.dmd\/[^/]+\.(svelte|js|ts|tsx)$/i.test(t),o=s===".nojekyll"||Ao.includes(s)||n.includes(".dist");return!!t&&!t.startsWith("..")&&(!t.startsWith(".")||i)&&!o&&!Ao.includes(t)&&a!=="node_modules"&&a!=="dist"}async function gt(r="./docs",e={}){let t=j.default.resolve(process.cwd(),r),{onlineDir:n,offlineDir:a}=$1(t,e.outDir),s=e.singleFile!==!1;console.log(de.default.bold.magenta(`
602
+ \u26A1 DocMeDown Build
603
+ `)),H.default.existsSync(t)||(console.error(de.default.red(`\u2716 Directory not found: ${t}`)),process.exit(1)),H.default.existsSync(n)||H.default.mkdirSync(n,{recursive:!0}),H.default.writeFileSync(j.default.join(n,".nojekyll"),"","utf-8"),s&&!H.default.existsSync(a)&&H.default.mkdirSync(a,{recursive:!0});let i=Pe(),o=j.default.join(t,"docs.json");if(H.default.existsSync(o))try{i=Pe(Rt(H.default.readFileSync(o,"utf-8"),o))}catch(z){throw new Error(`Could not validate ${o}: ${z instanceof Error?z.message:String(z)}`)}console.log(de.default.cyan(" Indexing documentation pages..."));let c=qr(t,i),m=j.default.join(n,"_manifest.json");H.default.writeFileSync(m,JSON.stringify(c,null,2),"utf-8"),console.log(de.default.green(` \u2714 Generated _manifest.json (${c.docs.length} pages indexed)`));let u={},h=nt(t);for(let z of h){let O=j.default.join(t,z),B=H.default.readFileSync(O,"utf-8"),U=z.replace(/\.(md|mdx)$/i,""),W=U.toLowerCase()==="readme"||U.toLowerCase()==="index"?"README":U;u[W]=B,u[z]=B}let g=await Eo(u,t);g.length>0&&console.log(de.default.green(` \u2714 Inlined ${g.length} Card online source${g.length===1?"":"s"} into offline bundle`));let{inlinedCount:b,mediaMap:x}=await zo(u,t);b>0&&console.log(de.default.green(` \u2714 Embedded ${b} media asset${b===1?"":"s"} into offline bundle (lossless data URIs)`));let v=j.default.join(t,".dmd");Pr(v);let y=Mo(v),k=`window.__DOCMEDOWN_DATA__ = ${JSON.stringify({manifest:c,docs:u,componentsSource:y,...Object.keys(x).length>0?{media:x}:{}},null,2)};
604
+ `,w=j.default.join(n,"_docs.js");H.default.writeFileSync(w,k,"utf-8"),console.log(de.default.green(" \u2714 Generated _docs.js for offline file:/// double-click usage"));let A=Ys(n,c,i);if(console.log(de.default.green(` \u2714 Generated AI context files: ${A.map(z=>j.default.basename(z)).join(", ")}`)),e.static!==!1&&vo(t,c,u,i),s){console.log(de.default.cyan(`
605
+ Compiling standalone single-file offline index.html...`));let O=i.offline?.embedNestedDocs!==!1&&e.buildNested!==!1?await R1(t):void 0,B=O?Object.keys(O).length:0;B>0&&console.log(de.default.green(` \u2714 Embedded ${B} nested documentation site${B===1?"":"s"} into the offline bundle`));let W=Object.values(u).some(xe=>/(?:^|\n)[ \t]*(?:`{3,}|~{3,})[ \t]*mermaid\b/i.test(xe))||!!(O&&Object.values(O).some(xe=>Object.values(xe.docs).some($e=>/(?:^|\n)[ \t]*(?:`{3,}|~{3,})[ \t]*mermaid\b/i.test($e)))),re="";if(W){let $e=[j.default.resolve(__dirname,"docmedown.iife.js"),j.default.resolve(__dirname,"../dist/docmedown.iife.js"),j.default.resolve(__dirname,"../docmedown.iife.js")].find(ue=>H.default.existsSync(ue));if($e)re=H.default.readFileSync($e,"utf-8");else{let ue=[j.default.resolve(__dirname,"docmedown.web.js"),j.default.resolve(__dirname,"../dist/docmedown.web.js"),j.default.resolve(__dirname,"../docmedown.web.js")],Fe=[j.default.resolve(__dirname,"docmedown-mermaid.js"),j.default.resolve(__dirname,"../dist/docmedown-mermaid.js"),j.default.resolve(__dirname,"../docmedown-mermaid.js")],ke=ue.find(it=>H.default.existsSync(it)),Xe=Fe.find(it=>H.default.existsSync(it));ke&&Xe&&(re=`${H.default.readFileSync(ke,"utf-8")}
606
+ ;${H.default.readFileSync(Xe,"utf-8")}`)}}else{let $e=[j.default.resolve(__dirname,"docmedown.web.js"),j.default.resolve(__dirname,"../dist/docmedown.web.js"),j.default.resolve(__dirname,"../docmedown.web.js")].find(ue=>H.default.existsSync(ue));if($e)re=H.default.readFileSync($e,"utf-8");else{let Fe=[j.default.resolve(__dirname,"docmedown.iife.js"),j.default.resolve(__dirname,"../dist/docmedown.iife.js"),j.default.resolve(__dirname,"../docmedown.iife.js")].find(ke=>H.default.existsSync(ke));Fe&&(re=H.default.readFileSync(Fe,"utf-8"))}}re||console.warn(de.default.yellow(" \u26A0 Local runtime bundle not found, linking CDN script."));let ee={version:la,data:{manifest:c,docs:u,componentsSource:y,...Object.keys(x).length>0?{media:x}:{},...O&&B>0?{nestedSites:O}:{}},runtime:re},Z=E1(ee),ne=z1(i.theme?.favicon,t),ie=Vs(Z,i.name||"Documentation",{tagline:i.tagline,version:i.version,logo:i.theme?.logo?.light,logoDark:i.theme?.logo?.dark,logoAlt:i.theme?.logo?.alt,accent:i.theme?.accentColor,accentDark:i.theme?.accentColorDark},ne),ze=j.default.join(a,"index.html");H.default.writeFileSync(ze,ie,"utf-8"),console.log(de.default.bold.green(` \u2714 Built self-contained offline bundle: ${ze}`)),console.log(de.default.dim(` Compressed ${Buffer.byteLength(JSON.stringify(ee),"utf-8").toLocaleString()} bytes to ${Buffer.byteLength(ie,"utf-8").toLocaleString()} bytes.`)),console.log(de.default.dim(` You can now double-click index.html to view offline without any server!
607
+ `))}let $=j.default.resolve(__dirname,"../dist");if(H.default.existsSync(n))for(let z of H.default.readdirSync(n)){let O=/^(mermaid|katex|prism)-.+\.(mjs|js)$/.test(z)||/^chunk-.+\.(mjs|js)$/.test(z);(z==="docmedown.iife.js"||O)&&H.default.rmSync(j.default.join(n,z),{force:!0})}let M=Object.values(u).some(z=>/(?:^|\n)[ \t]*(?:`{3,}|~{3,})[ \t]*mermaid\b/i.test(z))?["docmedown.web.js","docmedown-mermaid.js"]:["docmedown.web.js"],E=[];for(let z of M){let O=[j.default.resolve(__dirname,z),j.default.resolve($,z)].find(U=>H.default.existsSync(U));if(!O)continue;let B=j.default.join(n,z);j.default.resolve(O)!==j.default.resolve(B)&&(H.default.copyFileSync(O,B),E.push(z))}if(E.length>0&&console.log(de.default.green(` \u2714 Updated serveable runtime: ${E.join(", ")}`)),M.includes("docmedown-mermaid.js")||H.default.rmSync(j.default.join(n,"docmedown-mermaid.js"),{force:!0}),e.buildNested!==!1){let z=$o(t);for(let O of z)console.log(de.default.cyan(`
608
+ Building nested documentation site: ${j.default.relative(t,O)}...`)),await gt(O,{buildNested:!1})}console.log(de.default.bold.green(`\u2728 Build completed successfully!
609
+ `))}async function Ro(r="./docs",e={}){let t=j.default.resolve(process.cwd(),r);await gt(t,{...e,watch:!1}),console.log(de.default.dim(` Watching source files in: ${t}`)),console.log(de.default.dim(` Source changes rebuild serveable files and .dist/index.html. Press Ctrl+C to stop.
610
+ `));let n=Do.default.watch(t,{ignored:["**/dist/**","**/.dist/**","**/node_modules/**","**/.git/**","**/.nojekyll","**/_manifest.json","**/_docs.js","**/docmedown.iife.js"],ignoreInitial:!0}),a=null;return n.on("all",(s,i)=>{Ts(t,i)&&(a&&clearTimeout(a),a=setTimeout(async()=>{let o=j.default.relative(t,i);console.log(de.default.cyan(`[DocMeDown] Changed: ${o} -> Rebuilding documentation...`));try{await gt(t,{...e,watch:!1})}catch(c){console.error(de.default.red(`[DocMeDown] Rebuild failed: ${c.message}`))}},100))}),new Promise(()=>{})}var Mt=X(require("fs")),Wt=X(require("path")),rr=X(require("chalk")),Fo=X(require("prompts"));tn();async function Oo(r){console.log(rr.default.bold.magenta(`
611
+ \u26A1 DocMeDown - Interactive Configuration Wizard
612
+ `));let e="";r?(e=Wt.default.resolve(process.cwd(),r),Mt.default.existsSync(e)&&Mt.default.statSync(e).isDirectory()&&(e=Wt.default.join(e,"docs.json"))):e=[Wt.default.resolve(process.cwd(),"docs.json"),Wt.default.resolve(process.cwd(),"docs/docs.json"),Wt.default.resolve(process.cwd(),"dmd.json")].find(c=>Mt.default.existsSync(c))||Wt.default.resolve(process.cwd(),"docs/docs.json");let t=Pe();if(Mt.default.existsSync(e))try{t=Pe(Rt(Mt.default.readFileSync(e,"utf-8"),e)),console.log(rr.default.dim(` Loaded existing configuration from: ${e}
613
+ `))}catch(o){console.warn(rr.default.yellow(` \u26A0 ${o instanceof Error?o.message:String(o)}
614
+ `))}else console.log(rr.default.dim(` Creating new configuration at: ${e}
615
+ `));let n=await(0,Fo.default)([{type:"text",name:"name",message:"Project Name:",initial:t.name||"My Project Docs"},{type:"text",name:"tagline",message:"Tagline / Short description:",initial:t.tagline||"The simplest Markdown documenter yet"},{type:"select",name:"family",message:"Select Documentation Theme Family:",choices:[{title:"Atlas (Editorial technical reference)",value:"atlas"},{title:"Blueprint (Structured and schematic)",value:"blueprint"},{title:"Terminal (Compact operational console)",value:"terminal"},{title:"Editorial (Spacious publication reading)",value:"editorial"}],initial:["atlas","blueprint","terminal","editorial"].indexOf(t.theme?.family||"atlas")},{type:"select",name:"defaultMode",message:"Default Color Mode:",choices:[{title:"Auto (Follows OS system preference)",value:"auto"},{title:"Dark (Default dark theme)",value:"dark"},{title:"Light (Default light theme)",value:"light"}],initial:["auto","dark","light"].indexOf(t.theme?.defaultMode||"auto")},{type:"select",name:"sourceType",message:"Documentation Source Mode:",choices:[{title:"Local Markdown Files (hosted together in folder)",value:"local"},{title:"Remote GitHub Repository (live dynamic fetch)",value:"github"},{title:"Remote GitLab Repository (live dynamic fetch)",value:"gitlab"}],initial:t.source?.type?t.source.type==="github"?1:2:0},{type:o=>o==="github"?"text":null,name:"githubRepo",message:"GitHub Repository (owner/repo):",initial:t.source?.type==="raw"?"facebook/react":t.source?.repo||"facebook/react"},{type:(o,c)=>c.sourceType==="github"?"text":null,name:"githubBranch",message:"GitHub Branch:",initial:t.source?.branch||"main"},{type:(o,c)=>c.sourceType==="github"?"text":null,name:"githubDocsDir",message:"GitHub Docs Subfolder (leave empty for root):",initial:t.source?.docsDir||"docs"},{type:"text",name:"githubSocial",message:"GitHub Repository URL for Navbar link (optional):",initial:t.socials?.find(o=>o.type==="github")?.url||""}]);if(!n.name){console.log(rr.default.yellow(`
616
+ Configuration cancelled.`));return}let a=Pe({...t,name:n.name,tagline:n.tagline,theme:{...t.theme,family:n.family,defaultMode:n.defaultMode},socials:n.githubSocial?[{type:"github",url:n.githubSocial}]:t.socials});n.sourceType==="github"?a.source={type:"github",repo:n.githubRepo,branch:n.githubBranch,docsDir:n.githubDocsDir}:n.sourceType==="local"&&delete a.source;let s=Wt.default.dirname(e);Mt.default.existsSync(s)||Mt.default.mkdirSync(s,{recursive:!0});let i=Pe(a);Mt.default.writeFileSync(e,JSON.stringify(i,null,2),"utf-8"),console.log(rr.default.bold.green(`
617
+ \u2714 Configuration successfully saved to: ${e}
618
+ `))}var oe=X(require("fs")),Te=X(require("path")),Me=X(require("chalk")),Po=X(require("open")),Ho=X(require("prompts"));var te=X(require("fs")),No=X(require("http")),he=X(require("path")),at=X(require("chalk")),Bo=X(require("chokidar")),jo=X(require("mime-types")),Jn=require("ws");function F1(r,e){return Ts(r,e)}function Io(r){return new Promise((e,t)=>{let n="";r.on("data",a=>{n+=a}),r.on("end",()=>{try{e(n?JSON.parse(n):{})}catch(a){t(a)}}),r.on("error",t)})}function _o(r){let e=r.replace(/\\/g,"/").replace(/\.(md|mdx)$/i,""),t=he.default.basename(e).toLowerCase();return t==="readme"||t==="index"?"README":e}function Lo(r,e){if(!te.default.existsSync(r))return;if(te.default.statSync(r).isDirectory()){te.default.existsSync(e)||te.default.mkdirSync(e,{recursive:!0});for(let n of te.default.readdirSync(r))Lo(he.default.join(r,n),he.default.join(e,n))}else{let n=he.default.dirname(e);te.default.existsSync(n)||te.default.mkdirSync(n,{recursive:!0}),te.default.copyFileSync(r,e)}}function Yn(r){let{rootDir:e,host:t="localhost",port:n=3e3,onSourceChange:a}=r;return new Promise((s,i)=>{let o=n,c=r.mode||"production",m=he.default.join(e,".preview"),u=new Set;function h(w){let A=typeof w=="string"?w:JSON.stringify(w);for(let $ of u)$.readyState===Jn.WebSocket.OPEN&&$.send(A)}let g=`
1020
619
  <script>
1021
620
  (function() {
1022
621
  const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
622
+ window.__DOCMEDOWN_DEV__ = {
623
+ mode: ${JSON.stringify(c)},
624
+ active: true
625
+ };
626
+
1023
627
  let ws = null;
1024
628
  function connect() {
1025
629
  ws = new WebSocket(protocol + '//' + window.location.host + '/__dmd_reload');
630
+ ws.onopen = function() {
631
+ console.log('[DocMeDown HMR] Connected to live dev server (Mode: ' + window.__DOCMEDOWN_DEV__.mode + ')');
632
+ };
1026
633
  ws.onmessage = function(e) {
1027
- if (e.data === 'reload') {
634
+ try {
635
+ const data = JSON.parse(e.data);
636
+ if (data.type === 'hmr:update') {
637
+ console.log('[DocMeDown HMR] Hot updating ' + data.slug + ' in-place without page reload');
638
+ if (window.__DOCMEDOWN_STORE__ && typeof window.__DOCMEDOWN_STORE__.applyHmrUpdate === 'function') {
639
+ window.__DOCMEDOWN_STORE__.applyHmrUpdate(data.slug, data.content);
640
+ window.dispatchEvent(new CustomEvent('dmd:hmr-update', { detail: data }));
641
+ return;
642
+ }
643
+ } else if (data.type === 'hmr:config') {
644
+ console.log('[DocMeDown HMR] Hot updating configuration in-place');
645
+ if (window.__DOCMEDOWN_STORE__ && typeof window.__DOCMEDOWN_STORE__.updateConfig === 'function') {
646
+ window.__DOCMEDOWN_STORE__.updateConfig(data.config);
647
+ window.dispatchEvent(new CustomEvent('dmd:hmr-config', { detail: data }));
648
+ return;
649
+ }
650
+ } else if (data.type === 'hmr:mode') {
651
+ window.__DOCMEDOWN_DEV__.mode = data.mode;
652
+ if (window.__DOCMEDOWN_STORE__) {
653
+ window.__DOCMEDOWN_STORE__.serverMode = data.mode;
654
+ }
655
+ window.dispatchEvent(new CustomEvent('dmd:mode-change', { detail: data }));
656
+ return;
657
+ }
658
+ } catch (err) {
659
+ // Fallback for non-JSON payloads
660
+ }
661
+
662
+ if (e.data === 'reload' || (typeof e.data === 'string' && e.data.includes('"type":"reload"'))) {
1028
663
  console.log('[DocMeDown] File changed, reloading...');
1029
664
  window.location.reload();
1030
665
  }
@@ -1036,302 +671,45 @@ function startDevServer(options) {
1036
671
  connect();
1037
672
  })();
1038
673
  </script>
1039
- `;
1040
- const server = import_node_http.default.createServer((req, res) => {
1041
- res.setHeader("Access-Control-Allow-Origin", "*");
1042
- res.setHeader("Access-Control-Allow-Methods", "GET, OPTIONS");
1043
- if (req.method === "OPTIONS") {
1044
- res.writeHead(204);
1045
- res.end();
1046
- return;
1047
- }
1048
- let reqPath = decodeURIComponent(req.url?.split("?")[0] || "/");
1049
- if (reqPath === "/" || reqPath === "") {
1050
- reqPath = "/index.html";
1051
- }
1052
- let filePath = import_node_path4.default.join(rootDir, reqPath);
1053
- if (!import_node_fs4.default.existsSync(filePath) || import_node_fs4.default.statSync(filePath).isDirectory()) {
1054
- const potentialIndex = import_node_path4.default.join(rootDir, "index.html");
1055
- if (import_node_fs4.default.existsSync(potentialIndex)) {
1056
- filePath = potentialIndex;
1057
- } else {
1058
- res.writeHead(200, { "Content-Type": "text/html" });
1059
- res.end(`
674
+ `,b=No.default.createServer(async(w,A)=>{if(A.setHeader("Access-Control-Allow-Origin","*"),A.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),A.setHeader("Access-Control-Allow-Headers","Content-Type, x-dmd-mode"),w.method==="OPTIONS"){A.writeHead(204),A.end();return}let $=new URL(w.url||"/",`http://${w.headers.host||"localhost"}`),D=$.pathname;if(D.startsWith("/__dmd_api__/")){if(A.setHeader("Content-Type","application/json"),w.method==="GET"&&D==="/__dmd_api__/mode"){let B=te.default.existsSync(m),U=[];if(B){let W=re=>{for(let ee of te.default.readdirSync(re,{withFileTypes:!0})){let Z=he.default.join(re,ee.name);ee.isDirectory()?W(Z):U.push(he.default.relative(m,Z).replace(/\\/g,"/"))}};W(m)}A.writeHead(200),A.end(JSON.stringify({mode:c,hasPreview:B,previewFiles:U}));return}if(w.method==="POST"&&D==="/__dmd_api__/mode"){try{let B=await Io(w);B.mode==="preview"||B.mode==="production"?(c=B.mode,h({type:"hmr:mode",mode:c}),A.writeHead(200),A.end(JSON.stringify({success:!0,mode:c}))):(A.writeHead(400),A.end(JSON.stringify({error:'Invalid mode: must be "preview" or "production"'})))}catch(B){A.writeHead(400),A.end(JSON.stringify({error:String(B)}))}return}if(w.method==="POST"&&D==="/__dmd_api__/save"){try{let B=await Io(w),{file:U,content:W,target:re=c==="preview"?"preview":"source"}=B;if(!U||typeof W!="string"){A.writeHead(400),A.end(JSON.stringify({error:"Missing required fields: file and content"}));return}let ee=U.replace(/^[/\\]+/,"").replace(/\\/g,"/"),Z=re==="preview"?m:e,ne=he.default.join(Z,ee);te.default.mkdirSync(he.default.dirname(ne),{recursive:!0}),te.default.writeFileSync(ne,W,"utf-8");let ie=_o(ee);h({type:"hmr:update",file:ee,slug:ie,content:W,target:re}),console.log(at.default.green(`[DocMeDown 2-Way Edit] Saved ${ee} to ${re}`)),A.writeHead(200),A.end(JSON.stringify({success:!0,file:ee,target:re,slug:ie}))}catch(B){A.writeHead(500),A.end(JSON.stringify({error:String(B)}))}return}if(w.method==="POST"&&D==="/__dmd_api__/publish-preview"){try{te.default.existsSync(m)&&(Lo(m,e),te.default.rmSync(m,{recursive:!0,force:!0}),h({type:"reload"}),console.log(at.default.green("[DocMeDown Preview] Published all preview changes to production source."))),A.writeHead(200),A.end(JSON.stringify({success:!0}))}catch(B){A.writeHead(500),A.end(JSON.stringify({error:String(B)}))}return}if(w.method==="POST"&&D==="/__dmd_api__/discard-preview"){try{te.default.existsSync(m)&&(te.default.rmSync(m,{recursive:!0,force:!0}),h({type:"reload"}),console.log(at.default.yellow("[DocMeDown Preview] Discarded preview staging directory."))),A.writeHead(200),A.end(JSON.stringify({success:!0}))}catch(B){A.writeHead(500),A.end(JSON.stringify({error:String(B)}))}return}if(w.method==="GET"&&D==="/__dmd_api__/raw"){let B=$.searchParams.get("file"),U=$.searchParams.get("slug"),W=null,re=[];B&&re.push(B),U&&re.push(`${U}.md`,`${U}.mdx`,`${U}/README.md`,`${U}/index.md`,U==="README"?"README.md":"");let ee=c==="preview"||$.searchParams.get("mode")==="preview";for(let Z of re.filter(Boolean)){if(ee){let ie=he.default.join(m,Z);if(te.default.existsSync(ie)&&te.default.statSync(ie).isFile()){W=ie;break}}let ne=he.default.join(e,Z);if(te.default.existsSync(ne)&&te.default.statSync(ne).isFile()){W=ne;break}}if(W){let Z=te.default.readFileSync(W,"utf-8");A.writeHead(200,{"Content-Type":"text/plain; charset=utf-8"}),A.end(Z)}else A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Document source not found"}));return}A.writeHead(404),A.end(JSON.stringify({error:"Unknown API endpoint"}));return}let M=decodeURIComponent($.pathname);(M==="/"||M==="")&&(M="/index.html");let E=c==="preview"||$.searchParams.get("mode")==="preview",z=he.default.join(e,M);if(E){let B=he.default.join(m,M);te.default.existsSync(B)&&te.default.statSync(B).isFile()&&(z=B)}if(!te.default.existsSync(z)||te.default.statSync(z).isDirectory())if(he.default.extname(M)){if(z=he.default.join(e,he.default.basename(M)),!te.default.existsSync(z)){A.writeHead(404,{"Content-Type":"text/plain"}),A.end("404 Not Found");return}}else{let U=he.default.join(e,"index.html");if(te.default.existsSync(U))z=U;else{A.writeHead(200,{"Content-Type":"text/html"}),A.end(`
1060
675
  <!DOCTYPE html>
1061
676
  <html>
1062
- <head><title>DocMeDown</title></head>
677
+ <head><title>DocMeDown</title>${Zt()}</head>
1063
678
  <body>
679
+ ${Xt({name:"DocMeDown"})}
1064
680
  <div id="dmd-app"></div>
1065
- <script src="/docmedown.iife.js"></script>
1066
- ${liveReloadScript}
681
+ <script src="/docmedown.web.js"></script>
682
+ ${g}
1067
683
  </body>
1068
684
  </html>
1069
- `);
1070
- return;
1071
- }
1072
- }
1073
- if (reqPath === "/docmedown.iife.js" && !import_node_fs4.default.existsSync(filePath)) {
1074
- const bundleCandidates = [
1075
- import_node_path4.default.resolve(__dirname, "docmedown.iife.js"),
1076
- import_node_path4.default.resolve(__dirname, "../dist/docmedown.iife.js"),
1077
- import_node_path4.default.resolve(__dirname, "../docmedown.iife.js")
1078
- ];
1079
- const distFile = bundleCandidates.find((p) => import_node_fs4.default.existsSync(p));
1080
- if (distFile) {
1081
- filePath = distFile;
1082
- }
1083
- }
1084
- try {
1085
- const stat = import_node_fs4.default.statSync(filePath);
1086
- if (stat.isDirectory()) {
1087
- filePath = import_node_path4.default.join(filePath, "index.html");
1088
- }
1089
- const mimeType = import_mime_types.default.lookup(filePath) || "application/octet-stream";
1090
- res.setHeader("Content-Type", mimeType);
1091
- if (mimeType.includes("html")) {
1092
- let content = import_node_fs4.default.readFileSync(filePath, "utf-8");
1093
- if (!content.includes("/__dmd_reload")) {
1094
- content = content.replace("</body>", `${liveReloadScript}</body>`);
1095
- }
1096
- res.writeHead(200);
1097
- res.end(content);
1098
- } else {
1099
- const stream = import_node_fs4.default.createReadStream(filePath);
1100
- res.writeHead(200);
1101
- stream.pipe(res);
1102
- }
1103
- } catch (_err) {
1104
- res.writeHead(404, { "Content-Type": "text/plain" });
1105
- res.end("404 Not Found");
1106
- }
1107
- });
1108
- const wss = new import_ws.WebSocketServer({ noServer: true });
1109
- const clients = /* @__PURE__ */ new Set();
1110
- server.on("upgrade", (request, socket, head) => {
1111
- if (request.url === "/__dmd_reload") {
1112
- wss.handleUpgrade(request, socket, head, (ws) => {
1113
- clients.add(ws);
1114
- ws.on("close", () => clients.delete(ws));
1115
- });
1116
- } else {
1117
- socket.destroy();
1118
- }
1119
- });
1120
- const watcher = import_chokidar2.default.watch(rootDir, {
1121
- ignored: [
1122
- "**/node_modules/**",
1123
- "**/.git/**",
1124
- "**/dist/**",
1125
- "**/.dist/**",
1126
- "**/_manifest.json",
1127
- "**/_docs.js",
1128
- "**/docmedown.iife.js"
1129
- ],
1130
- ignoreInitial: true
1131
- });
1132
- let reloadTimeout = null;
1133
- watcher.on("all", (event, changedPath) => {
1134
- if (!shouldRebuildDocumentation(rootDir, changedPath)) return;
1135
- if (reloadTimeout) clearTimeout(reloadTimeout);
1136
- reloadTimeout = setTimeout(async () => {
1137
- const rel = import_node_path4.default.relative(rootDir, changedPath);
1138
- try {
1139
- if (onSourceChange) {
1140
- console.log(import_chalk3.default.cyan(`[DocMeDown] Changed: ${rel} -> Rebuilding documentation...`));
1141
- await onSourceChange(event, changedPath);
1142
- } else {
1143
- console.log(import_chalk3.default.cyan(`[DocMeDown] Changed: ${rel} -> Reloading preview...`));
1144
- }
1145
- } catch (err) {
1146
- console.error(import_chalk3.default.red(`[DocMeDown] Rebuild failed: ${err.message}`));
1147
- }
1148
- clients.forEach((ws) => {
1149
- if (ws.readyState === import_ws.WebSocket.OPEN) {
1150
- ws.send("reload");
1151
- }
1152
- });
1153
- }, 100);
1154
- });
1155
- function tryListen() {
1156
- server.listen(port, host, () => {
1157
- resolve({
1158
- server,
1159
- port,
1160
- close: () => {
1161
- watcher.close();
1162
- wss.close();
1163
- server.close();
1164
- }
1165
- });
1166
- });
1167
- server.on("error", (err) => {
1168
- if (err.code === "EADDRINUSE") {
1169
- port++;
1170
- tryListen();
1171
- } else {
1172
- reject(err);
1173
- }
1174
- });
1175
- }
1176
- tryListen();
1177
- });
1178
- }
1179
-
1180
- // src/cli/commands/init.ts
1181
- async function initCommand(targetDirArg = "./docs", options = {}) {
1182
- const targetDir = import_node_path5.default.resolve(process.cwd(), targetDirArg);
1183
- console.log(import_chalk4.default.bold.magenta("\n\u26A1 DocMeDown - Instant Documentation Initializer\n"));
1184
- if (!import_node_fs5.default.existsSync(targetDir)) {
1185
- import_node_fs5.default.mkdirSync(targetDir, { recursive: true });
1186
- }
1187
- const templatesDir = import_node_path5.default.resolve(__dirname, "../../templates");
1188
- const fallbackTemplatesDir = import_node_path5.default.resolve(__dirname, "../templates");
1189
- const activeTemplateDir = import_node_fs5.default.existsSync(templatesDir) ? templatesDir : fallbackTemplatesDir;
1190
- const indexPath = import_node_path5.default.join(targetDir, "index.html");
1191
- if (!import_node_fs5.default.existsSync(indexPath)) {
1192
- const templateHtml = import_node_fs5.default.readFileSync(import_node_path5.default.join(activeTemplateDir, "index.html"), "utf-8");
1193
- import_node_fs5.default.writeFileSync(indexPath, templateHtml, "utf-8");
1194
- console.log(import_chalk4.default.green(" \u2714 Created index.html"));
1195
- }
1196
- const configPath = import_node_path5.default.join(targetDir, "docs.json");
1197
- if (!import_node_fs5.default.existsSync(configPath)) {
1198
- const templateConfig = import_node_fs5.default.readFileSync(import_node_path5.default.join(activeTemplateDir, "docs.json"), "utf-8");
1199
- import_node_fs5.default.writeFileSync(configPath, templateConfig, "utf-8");
1200
- console.log(import_chalk4.default.green(" \u2714 Created docs.json"));
1201
- }
1202
- const readmePath = import_node_path5.default.join(targetDir, "README.md");
1203
- if (!import_node_fs5.default.existsSync(readmePath)) {
1204
- const templateReadme = import_node_fs5.default.readFileSync(import_node_path5.default.join(activeTemplateDir, "README.md"), "utf-8");
1205
- import_node_fs5.default.writeFileSync(readmePath, templateReadme, "utf-8");
1206
- console.log(import_chalk4.default.green(" \u2714 Created README.md"));
1207
- }
1208
- const gsPath = import_node_path5.default.join(targetDir, "getting-started.md");
1209
- if (!import_node_fs5.default.existsSync(gsPath)) {
1210
- const templateGs = import_node_fs5.default.readFileSync(import_node_path5.default.join(activeTemplateDir, "getting-started.md"), "utf-8");
1211
- import_node_fs5.default.writeFileSync(gsPath, templateGs, "utf-8");
1212
- console.log(import_chalk4.default.green(" \u2714 Created getting-started.md"));
1213
- }
1214
- const guidesDir = import_node_path5.default.join(targetDir, "guides");
1215
- if (!import_node_fs5.default.existsSync(guidesDir)) {
1216
- import_node_fs5.default.mkdirSync(guidesDir, { recursive: true });
1217
- }
1218
- const guidePath = import_node_path5.default.join(guidesDir, "custom-components.md");
1219
- if (!import_node_fs5.default.existsSync(guidePath)) {
1220
- const templateGuide = import_node_fs5.default.readFileSync(import_node_path5.default.join(activeTemplateDir, "guides/custom-components.md"), "utf-8");
1221
- import_node_fs5.default.writeFileSync(guidePath, templateGuide, "utf-8");
1222
- console.log(import_chalk4.default.green(" \u2714 Created guides/custom-components.md"));
1223
- }
1224
- const dmdDir = import_node_path5.default.join(targetDir, ".dmd");
1225
- if (!import_node_fs5.default.existsSync(dmdDir)) {
1226
- import_node_fs5.default.mkdirSync(dmdDir, { recursive: true });
1227
- }
1228
- const dmdComponentPath = import_node_path5.default.join(dmdDir, "components.js");
1229
- if (!import_node_fs5.default.existsSync(dmdComponentPath)) {
1230
- const templateDmd = import_node_fs5.default.readFileSync(import_node_path5.default.join(activeTemplateDir, ".dmd/components.js"), "utf-8");
1231
- import_node_fs5.default.writeFileSync(dmdComponentPath, templateDmd, "utf-8");
1232
- console.log(import_chalk4.default.green(" \u2714 Created .dmd/components.js"));
1233
- }
1234
- await buildCommand(targetDir);
1235
- console.log(import_chalk4.default.bold.green("\n\u2728 DocMeDown site successfully initialized!\n"));
1236
- console.log(import_chalk4.default.dim(` Location: ${targetDir}
1237
- `));
1238
- console.log(import_chalk4.default.cyan(" To preview your docs:"));
1239
- console.log(import_chalk4.default.white(` npx docmedown serve ${targetDirArg}
1240
- `));
1241
- console.log(import_chalk4.default.cyan(" To customize settings:"));
1242
- console.log(import_chalk4.default.white(` npx docmedown config ${targetDirArg}/docs.json
1243
- `));
1244
- if (options.start !== false && process.stdout.isTTY) {
1245
- const response = await (0, import_prompts2.default)({
1246
- type: "confirm",
1247
- name: "startServer",
1248
- message: "Would you like to start the local preview server now?",
1249
- initial: true
1250
- });
1251
- if (response.startServer) {
1252
- console.log(import_chalk4.default.cyan("\n\u{1F680} Starting local live preview server..."));
1253
- const devServer = await startDevServer({ rootDir: targetDir, port: 3e3 });
1254
- const url = `http://localhost:${devServer.port}`;
1255
- console.log(import_chalk4.default.bold.green(`
1256
- \u2714 Documentation live at: ${import_chalk4.default.underline(url)}
1257
- `));
1258
- console.log(import_chalk4.default.dim(" Press Ctrl+C to stop the server\n"));
1259
- await (0, import_open.default)(url);
1260
- }
1261
- }
1262
- }
1263
-
1264
- // src/cli/commands/serve.ts
1265
- var import_node_fs6 = __toESM(require("fs"));
1266
- var import_node_path6 = __toESM(require("path"));
1267
- var import_chalk5 = __toESM(require("chalk"));
1268
- var import_open2 = __toESM(require("open"));
1269
- async function serveCommand(targetDirArg = "./docs", options = {}) {
1270
- let targetDir = import_node_path6.default.resolve(process.cwd(), targetDirArg);
1271
- if (!import_node_fs6.default.existsSync(targetDir)) {
1272
- if (import_node_fs6.default.existsSync(import_node_path6.default.resolve(process.cwd(), "docs"))) {
1273
- targetDir = import_node_path6.default.resolve(process.cwd(), "docs");
1274
- } else {
1275
- targetDir = process.cwd();
1276
- }
1277
- }
1278
- console.log(import_chalk5.default.bold.magenta("\n\u26A1 DocMeDown Dev Server\n"));
1279
- console.log(import_chalk5.default.dim(` Serving directory: ${targetDir}`));
1280
- try {
1281
- console.log(import_chalk5.default.dim(" Building serveable and offline documentation artifacts..."));
1282
- await buildCommand(targetDir);
1283
- const devServer = await startDevServer({
1284
- rootDir: targetDir,
1285
- host: options.host || "localhost",
1286
- port: options.port ? Number(options.port) : 3e3,
1287
- onSourceChange: () => buildCommand(targetDir)
1288
- });
1289
- const url = `http://${options.host || "localhost"}:${devServer.port}`;
1290
- console.log(import_chalk5.default.bold.green(`
1291
- \u2714 Live Documentation Server running at:`));
1292
- console.log(import_chalk5.default.bold.cyan(` \u279C Local: ${import_chalk5.default.underline(url)}`));
1293
- console.log(import_chalk5.default.dim(` \u279C Watch: Source changes rebuild preview and .dist/index.html`));
1294
- console.log(import_chalk5.default.dim(`
685
+ `);return}}let O=he.default.basename(M);if(["docmedown.web.js","docmedown-mermaid.js","docmedown-compiler.js"].includes(O)&&!te.default.existsSync(z)){let U=[he.default.resolve(__dirname,O),he.default.resolve(__dirname,"../dist",O),he.default.resolve(__dirname,"..",O)].find(W=>te.default.existsSync(W));U&&(z=U)}try{te.default.statSync(z).isDirectory()&&(z=he.default.join(z,"index.html"));let U=z.endsWith(".svelte")?"text/plain; charset=utf-8":jo.default.lookup(z)||"application/octet-stream";if(A.setHeader("Content-Type",U),A.setHeader("Cache-Control","no-cache, no-store, must-revalidate"),U.includes("html")){let W=te.default.readFileSync(z,"utf-8");W.includes("/__dmd_reload")||(W=W.replace("</body>",`${g}</body>`)),A.writeHead(200),A.end(W)}else{let W=te.default.createReadStream(z);A.writeHead(200),W.pipe(A)}}catch{A.writeHead(404,{"Content-Type":"text/plain"}),A.end("404 Not Found")}}),x=new Jn.WebSocketServer({noServer:!0});b.on("upgrade",(w,A,$)=>{w.url==="/__dmd_reload"?x.handleUpgrade(w,A,$,D=>{u.add(D),D.on("close",()=>u.delete(D))}):A.destroy()});let v=Bo.default.watch(e,{ignored:["**/node_modules/**","**/.git/**","**/dist/**","**/.dist/**","**/.nojekyll","**/_manifest.json","**/_docs.js","**/docmedown.web.js","**/docmedown-mermaid.js"],ignoreInitial:!0}),y=null;v.on("all",(w,A)=>{F1(e,A)&&(y&&clearTimeout(y),y=setTimeout(async()=>{let $=A.includes(".preview"),D=he.default.relative($?m:e,A).replace(/\\/g,"/");if(/\.(md|mdx)$/i.test(A)&&te.default.existsSync(A))try{let M=te.default.readFileSync(A,"utf-8"),E=_o(D);console.log(at.default.cyan(`[DocMeDown HMR] Document changed: ${D} -> Emitting in-place update for ${E}...`)),h({type:"hmr:update",file:D,slug:E,content:M,preview:$}),a&&await a(w,A);return}catch(M){console.error(at.default.red(`[DocMeDown HMR] Error reading changed markdown: ${M.message}`))}if((D==="docs.json"||D==="dmd.json")&&te.default.existsSync(A))try{let M=te.default.readFileSync(A,"utf-8"),E=JSON.parse(M);console.log(at.default.cyan(`[DocMeDown HMR] Configuration changed: ${D} -> Emitting in-place config update...`)),h({type:"hmr:config",config:E}),a&&await a(w,A);return}catch(M){console.error(at.default.red(`[DocMeDown HMR] Error reading changed config: ${M.message}`))}try{a?(console.log(at.default.cyan(`[DocMeDown] Changed: ${D} -> Rebuilding documentation...`)),await a(w,A)):console.log(at.default.cyan(`[DocMeDown] Changed: ${D} -> Reloading preview...`))}catch(M){console.error(at.default.red(`[DocMeDown] Rebuild failed: ${M.message}`))}h("reload")},100))});function k(){b.listen(o,t,()=>{s({server:b,port:o,close:()=>{v.close(),x.close(),b.close()},getMode:()=>c,setMode:w=>{c=w,h({type:"hmr:mode",mode:w})}})}),b.on("error",w=>{w.code==="EADDRINUSE"?(o++,k()):i(w)})}k()})}async function Cs(r="./docs",e={}){let t=Te.default.resolve(process.cwd(),r);console.log(Me.default.bold.magenta(`
686
+ \u26A1 DocMeDown - Instant Documentation Initializer
687
+ `)),oe.default.existsSync(t)||oe.default.mkdirSync(t,{recursive:!0});let n=Te.default.resolve(__dirname,"../../templates"),a=Te.default.resolve(__dirname,"../templates"),s=oe.default.existsSync(n)?n:a,i=Te.default.join(t,"index.html");if(!oe.default.existsSync(i)){let y=oe.default.readFileSync(Te.default.join(s,"index.html"),"utf-8");oe.default.writeFileSync(i,y,"utf-8"),console.log(Me.default.green(" \u2714 Created index.html"))}let o=Te.default.join(t,"favicon.svg"),c=Te.default.join(s,"favicon.svg");!oe.default.existsSync(o)&&oe.default.existsSync(c)&&(oe.default.copyFileSync(c,o),console.log(Me.default.green(" \u2714 Created favicon.svg")));let m=Te.default.join(t,"docs.json");if(!oe.default.existsSync(m)){let y=oe.default.readFileSync(Te.default.join(s,"docs.json"),"utf-8");oe.default.writeFileSync(m,y,"utf-8"),console.log(Me.default.green(" \u2714 Created docs.json"))}let u=Te.default.join(t,"README.md");if(!oe.default.existsSync(u)){let y=oe.default.readFileSync(Te.default.join(s,"README.md"),"utf-8");oe.default.writeFileSync(u,y,"utf-8"),console.log(Me.default.green(" \u2714 Created README.md"))}let h=Te.default.join(t,"getting-started.md");if(!oe.default.existsSync(h)){let y=oe.default.readFileSync(Te.default.join(s,"getting-started.md"),"utf-8");oe.default.writeFileSync(h,y,"utf-8"),console.log(Me.default.green(" \u2714 Created getting-started.md"))}let g=Te.default.join(t,"guides");oe.default.existsSync(g)||oe.default.mkdirSync(g,{recursive:!0});let b=Te.default.join(g,"custom-components.md");if(!oe.default.existsSync(b)){let y=oe.default.readFileSync(Te.default.join(s,"guides/custom-components.md"),"utf-8");oe.default.writeFileSync(b,y,"utf-8"),console.log(Me.default.green(" \u2714 Created guides/custom-components.md"))}let x=Te.default.join(t,".dmd");oe.default.existsSync(x)||oe.default.mkdirSync(x,{recursive:!0});let v=Te.default.join(x,"CounterWidget.svelte");if(!oe.default.existsSync(v)){let y=oe.default.readFileSync(Te.default.join(s,".dmd/CounterWidget.svelte"),"utf-8");oe.default.writeFileSync(v,y,"utf-8"),console.log(Me.default.green(" \u2714 Created .dmd/CounterWidget.svelte"))}if(await gt(t),console.log(Me.default.bold.green(`
688
+ \u2728 DocMeDown site successfully initialized!
689
+ `)),console.log(Me.default.dim(` Location: ${t}
690
+ `)),console.log(Me.default.cyan(" To preview your docs:")),console.log(Me.default.white(` npx docmedown serve ${r}
691
+ `)),console.log(Me.default.cyan(" To customize settings:")),console.log(Me.default.white(` npx docmedown config ${r}/docs.json
692
+ `)),e.start!==!1&&process.stdout.isTTY&&(await(0,Ho.default)({type:"confirm",name:"startServer",message:"Would you like to start the local preview server now?",initial:!0})).startServer){console.log(Me.default.cyan(`
693
+ \u{1F680} Starting local live preview server...`));let w=`http://localhost:${(await Yn({rootDir:t,port:3e3})).port}`;console.log(Me.default.bold.green(`
694
+ \u2714 Documentation live at: ${Me.default.underline(w)}
695
+ `)),console.log(Me.default.dim(` Press Ctrl+C to stop the server
696
+ `)),await(0,Po.default)(w)}}var Ds=X(require("fs")),Kn=X(require("path")),qe=X(require("chalk")),qo=X(require("open"));async function Ms(r="./docs",e={}){let t=Kn.default.resolve(process.cwd(),r);Ds.default.existsSync(t)||(Ds.default.existsSync(Kn.default.resolve(process.cwd(),"docs"))?t=Kn.default.resolve(process.cwd(),"docs"):t=process.cwd());let n=e.preview?"preview":e.mode||"production";console.log(qe.default.bold.magenta(`
697
+ \u26A1 DocMeDown Dev Server
698
+ `)),console.log(qe.default.dim(` Serving directory: ${t}`)),console.log(qe.default.dim(` Mode: ${n==="preview"?qe.default.yellow("Preview (.preview staging)"):qe.default.green("Production (direct source)")}`));try{console.log(qe.default.dim(" Building serveable and offline documentation artifacts...")),await gt(t);let a=await Yn({rootDir:t,host:e.host||"localhost",port:e.port?Number(e.port):3e3,mode:n,onSourceChange:()=>gt(t)}),s=`http://${e.host||"localhost"}:${a.port}`;console.log(qe.default.bold.green(`
699
+ \u2714 Live Documentation Server running at:`)),console.log(qe.default.bold.cyan(` \u279C Local: ${qe.default.underline(s)}`)),console.log(qe.default.dim(" \u279C HMR: In-place hot reloading active (no full page reload on markdown edits)")),console.log(qe.default.dim(" \u279C 2-Way: 2-Way Editor enabled (Ctrl+E on page to edit & save)")),console.log(qe.default.dim(`
1295
700
  Press Ctrl+C to stop.
1296
- `));
1297
- if (options.open !== false) {
1298
- await (0, import_open2.default)(url);
1299
- }
1300
- } catch (err) {
1301
- console.error(import_chalk5.default.red(`
1302
- \u2716 Error starting server: ${err.message}
1303
- `));
1304
- process.exit(1);
1305
- }
1306
- }
701
+ `)),e.open!==!1&&await(0,qo.default)(s)}catch(a){console.error(qe.default.red(`
702
+ \u2716 Error starting server: ${a.message}
703
+ `)),process.exit(1)}}var bt=new dl.Command;bt.name("docmedown").description("DocMeDown - The simplest MarkDown documenter yet. CLI, web runtime, and static-site compiler with AI-native distribution.").version(sr.version);bt.argument("[dir]","Documentation directory to initialize or serve","./docs").option("-p, --port <number>","Port for local dev server","3000").option("--no-open","Do not automatically open the browser").action(async(r,e)=>{let t=Wr.default.resolve(process.cwd(),r),n=Qn.default.existsSync(Wr.default.join(t,"index.html")),a=Qn.default.existsSync(Wr.default.join(t,"README.md"))||Qn.default.existsSync(Wr.default.join(t,"docs.json"));!n&&!a?await Cs(r,{start:e.open}):await Ms(r,{port:e.port,open:e.open})});bt.command("init [dir]").description("Scaffold a new DocMeDown documentation site").option("--no-start","Do not start the local preview server after initialization").action(async(r="./docs",e)=>{await Cs(r,{start:e.start})});bt.command("serve [dir]").alias("dev").description("Start local live-reload development server").option("-p, --port <number>","Port to listen on","3000").option("-H, --host <string>","Host to bind server to","localhost").option("--preview","Serve .preview staging directory with fallback to production source").option("--mode <mode>","Serving mode: preview or production","production").option("--no-open","Do not automatically open browser").action(async(r="./docs",e)=>{await Ms(r,e)});bt.command("build [dir]").description("Build serveable documentation, a static site, and a standalone offline bundle").option("-w, --watch","Watch source files and rebuild both outputs after changes").option("--no-single-file","Skip the default standalone offline index.html bundle").option("--no-static","Skip static page prerendering and SEO/AI context files").option("-o, --out-dir <path>","Offline bundle output directory (default: <dir>/.dist)").action(async(r="./docs",e)=>{e.watch?await Ro(r,e):await gt(r,e)});bt.command("mcp [dir]").description("Serve documentation as an MCP (Model Context Protocol) server").option("-t, --transport <type>","Transport type: stdio or sse","stdio").option("-p, --port <number>","Port for SSE transport (default: 3001)").option("-H, --host <string>","Host to bind SSE server to","localhost").option("--allow-origins <origins>","Allowed origins for SSE transport (comma-separated or '*')").action(async(r="./docs",e)=>{let{mcpCommand:t}=await Promise.resolve().then(()=>(tl(),el));await t(r,e)});bt.command("validate [dir]").description("Validate Markdown links, frontmatter, and docs.json schema").option("--json","Output validation report as JSON").action(async(r="./docs",e)=>{let{validateCommand:t}=await Promise.resolve().then(()=>(al(),nl));await t(r,{...e,exitOnError:!0})});bt.command("doctor [dir]").description("Diagnose Node environment, missing assets, and .dmd custom component compilation").option("--json","Output diagnostic report as JSON").action(async(r="./docs",e)=>{let{doctorCommand:t}=await Promise.resolve().then(()=>(cl(),ll));await t(r,{...e,exitOnError:!0})});bt.command("config [path]").description("Launch the interactive TUI configuration wizard for docs.json").action(async r=>{await Oo(r)});bt.parse(process.argv);
704
+ /*! Bundled license information:
1307
705
 
1308
- // src/cli/index.ts
1309
- var program = new import_commander.Command();
1310
- program.name("docmedown").description("DocMeDown - The simplest MarkDown documenter yet. CLI & Web Script React SPA.").version(package_default.version);
1311
- program.argument("[dir]", "Documentation directory to initialize or serve", "./docs").option("-p, --port <number>", "Port for local dev server", "3000").option("--no-open", "Do not automatically open the browser").action(async (dir, options) => {
1312
- const targetDir = import_node_path7.default.resolve(process.cwd(), dir);
1313
- const hasIndex = import_node_fs7.default.existsSync(import_node_path7.default.join(targetDir, "index.html"));
1314
- const hasDocs = import_node_fs7.default.existsSync(import_node_path7.default.join(targetDir, "README.md")) || import_node_fs7.default.existsSync(import_node_path7.default.join(targetDir, "docs.json"));
1315
- if (!hasIndex && !hasDocs) {
1316
- await initCommand(dir, { start: options.open });
1317
- } else {
1318
- await serveCommand(dir, { port: options.port, open: options.open });
1319
- }
1320
- });
1321
- program.command("init [dir]").description("Scaffold a new DocMeDown documentation site").option("--no-start", "Do not start the local preview server after initialization").action(async (dir = "./docs", options) => {
1322
- await initCommand(dir, { start: options.start });
1323
- });
1324
- program.command("serve [dir]").alias("dev").description("Start local live-reload development server").option("-p, --port <number>", "Port to listen on", "3000").option("-H, --host <string>", "Host to bind server to", "localhost").option("--no-open", "Do not automatically open browser").action(async (dir = "./docs", options) => {
1325
- await serveCommand(dir, options);
1326
- });
1327
- program.command("build [dir]").description("Build serveable documentation and a standalone offline bundle").option("-w, --watch", "Watch source files and rebuild both outputs after changes").option("--no-single-file", "Skip the default standalone offline index.html bundle").option("-o, --out-dir <path>", "Offline bundle output directory (default: <dir>/.dist)").action(async (dir = "./docs", options) => {
1328
- if (options.watch) {
1329
- await watchBuildCommand(dir, options);
1330
- } else {
1331
- await buildCommand(dir, options);
1332
- }
1333
- });
1334
- program.command("config [path]").description("Launch the interactive TUI configuration wizard for docs.json").action(async (configPath) => {
1335
- await configTuiCommand(configPath);
1336
- });
1337
- program.parse(process.argv);
706
+ prismjs/prism.js:
707
+ (**
708
+ * Prism: Lightweight, robust, elegant syntax highlighting
709
+ *
710
+ * @license MIT <https://opensource.org/licenses/MIT>
711
+ * @author Lea Verou <https://lea.verou.me>
712
+ * @namespace
713
+ * @public
714
+ *)
715
+ */